{
  "1": "{0}",
  "2": "{0}",
  "3": "{0}",
  "4": "{0}",
  "5": "{0}",
  "6": "{0}",
  "7": "{0}",
  "8": "{0}",
  "9": "{0}",
  "10": "{0}",
  "11": "{0}",
  "12": "{0}",
  "13": "{0}",
  "14": "{0}",
  "15": "{0}",
  "16": "{0}",
  "17": "{0}",
  "18": "{0}",
  "19": "{0}",
  "20": "{0}",
  "0.api.dast.api.common.7369.match.attack.s0.o0": "To check the server-side template injection vulnerability, the {0} in the request has been replaced with the following payload.",
  "0.api.dast.api.common.7369.match.attack.s1.o0": "{0}",
  "0.api.dast.api.common.7369.match.attack.s2.o0": "Then, the request has been sent to the server.",
  "0.api.dast.api.common.7369.match.attack.s3.o0": "{0}",
  "0.api.dast.api.common.7369.match.attack.s3.o1": "{0}",
  "0.api.dast.api.common.7369.match.result.s0.o0": "As a result of the analysis, the server has returned a normal response without an error, and execution results of the payload has been found in the body.",
  "0.api.dast.api.common.7369.match.result.s0.o1": "The analysis confirms that the server-side template injection vulnerability is present.",
  "0.api.dast.api.common.7369.match.result.s1.o0": "{0}",
  "0.api.dast.api.common.7369.match.solution.s0.o0": "The best way to mitigate server-side template injection vulnerabilities is to apply multiple layers of sanitization and input value validation.",
  "0.api.dast.api.common.7369.match.solution.s1.o0": "Sanitization is a way to prevent parameter values of user input from being interpreted as template syntax.",
  "0.api.dast.api.common.7369.match.solution.s1.o1": "To do this, template files should be kept in a predefined state, and user input should be treated as safe variables provided by the template.",
  "0.api.dast.api.common.7369.match.solution.s2.o0": "The user input should be filtered to prevent key special characters such as `{`, `[`, `<`, `>`, `%`, `#`, `@`, `$`, which are commonly used in server-side template injection attack syntax.",
  "0.api.dast.api.common.7369.match.solution.s2.o1": "For example, if `{{7*7}}` is entered, the special characters should be filtered out and become `77` instead of `49`.",
  "0.api.dast.api.common.7370.match.attack.s0.o0": "To check the LDAP injection vulnerability, the {0} in the request has been replaced with the following payload.",
  "0.api.dast.api.common.7370.match.attack.s1.o0": "{0}",
  "0.api.dast.api.common.7370.match.attack.s2.o0": "Then, the request has been sent to the server.",
  "0.api.dast.api.common.7370.match.attack.s3.o0": "{0}",
  "0.api.dast.api.common.7370.match.attack.s3.o1": "{0}",
  "0.api.dast.api.common.7370.match.result.s0.o0": "As a result of the analysis, a string inferred to be an LDAP error message has been found in the body.",
  "0.api.dast.api.common.7370.match.result.s0.o1": "As the user input is not properly validated from the server, the attack strings are inserted to the LDAP query which may lead to the error message.",
  "0.api.dast.api.common.7370.match.result.s1.o0": "{0}",
  "0.api.dast.api.common.7370.match.solution.s0.o0": "To prevent LDAP injection vulnerabilities, special characters in user input, such as `, ', \", ), (, #, *, &, +, =, <, >, |, ;, should be validated and filtered.",
  "0.api.dast.api.common.7370.match.solution.s0.o1": "Additionally, use Prepared Statements to ensure that user input does not affect LDAP queries.",
  "0.api.dast.api.common.7370.match.solution.s1.o0": "If a server exposes error messages due to LDAP injection attacks, attackers can use these error messages to gain insights into server configuration information or the structure of LDAP queries.",
  "0.api.dast.api.common.7370.match.solution.s1.o1": "Therefore, error messages containing internal system information should be restricted from being exposed to clients, and only generic error messages should be returned to prevent information leakage.",
  "0.api.dast.api.common.7371.match.attack.s0.o0": "To check the code injection vulnerability, the {0} in the request has been replaced with the following payload.",
  "0.api.dast.api.common.7371.match.attack.s1.o0": "{0}",
  "0.api.dast.api.common.7371.match.attack.s2.o0": "Then, the request has been sent to the server.",
  "0.api.dast.api.common.7371.match.attack.s3.o0": "{0}",
  "0.api.dast.api.common.7371.match.attack.s3.o1": "{0}",
  "0.api.dast.api.common.7371.match.result.s0.o0": "As a result of the analysis, the server has returned a normal response without an error, and execution results of the payload has been found in the body.",
  "0.api.dast.api.common.7371.match.result.s0.o1": "The analysis confirms that the code injection vulnerability is present.",
  "0.api.dast.api.common.7371.match.result.s1.o0": "{0}",
  "0.api.dast.api.common.7371.match.solution.s0.o0": "To prevent code injection vulnerabilities, it is essential to properly filter strings passed as user input to ensure they are not executed as code.",
  "0.api.dast.api.common.7371.match.solution.s0.o1": "In particular, dynamic code execution functions like `eval()` should not be used, and if necessary, whitelist-based validation should be applied to the input values.",
  "0.api.dast.api.common.7372.match.attack.s0.o0": "To check the path minipulation vulnerability, the {0} in the request has been replaced with the following payload.",
  "0.api.dast.api.common.7372.match.attack.s1.o0": "{0}",
  "0.api.dast.api.common.7372.match.attack.s2.o0": "Then, the request has been sent to the server.",
  "0.api.dast.api.common.7372.match.attack.s3.o0": "{0}",
  "0.api.dast.api.common.7372.match.attack.s3.o1": "{0}",
  "0.api.dast.api.common.7372.match.result.s0.o0": "As a result of the analysis, the server has returned a normal response without an error, and execution results of the payload has been found in the body.",
  "0.api.dast.api.common.7372.match.result.s0.o1": "The analysis confirms that the path manipulation vulnerability is present.",
  "0.api.dast.api.common.7372.match.result.s1.o0": "{0}",
  "0.api.dast.api.common.7372.match.solution.s0.o0": "To prevent path manipulation vulnerabilities, user input must be properly validated.",
  "0.api.dast.api.common.7372.match.solution.s0.o1": "If the input contains characters that can be used in directory traversal attacks, such as .., /, or \\, these should be removed or filtered to allow only permitted paths.",
  "0.api.dast.api.common.7376.match.attack.s0.o0": "To check the XXE injection vulnerability, the {0} in the request has been replaced with the following payload.",
  "0.api.dast.api.common.7376.match.attack.s1.o0": "{0}",
  "0.api.dast.api.common.7376.match.attack.s2.o0": "Then, the request has been sent to the server.",
  "0.api.dast.api.common.7376.match.attack.s3.o0": "{0}",
  "0.api.dast.api.common.7376.match.attack.s3.o1": "{0}",
  "0.api.dast.api.common.7376.match.result.s0.o0": "As a result of the analysis, the server has returned a normal response without an error, and execution results of the payload has been found in the body.",
  "0.api.dast.api.common.7376.match.result.s0.o1": "The analysis confirms that the XXE injection vulnerability is present.",
  "0.api.dast.api.common.7376.match.result.s1.o0": "{0}",
  "0.api.dast.api.common.7376.match.solution.s0.o0": "To mitigate this, configure the XML parser to disable external entity references and securely validate and filter XML input to block malicious XML structures.",
  "0.api.dast.api.common.7377.match.attack.s0.o0": "To check the OS command injection vulnerability, the {0} in the request has been replaced with the following payload.",
  "0.api.dast.api.common.7377.match.attack.s1.o0": "{0}",
  "0.api.dast.api.common.7377.match.attack.s2.o0": "Then, the request has been sent to the server.",
  "0.api.dast.api.common.7377.match.attack.s3.o0": "{0}",
  "0.api.dast.api.common.7377.match.attack.s3.o1": "{0}",
  "0.api.dast.api.common.7377.match.result.s0.o0": "As a result of the analysis, the server has returned a normal response without an error, and execution results of the payload has been found in the body.",
  "0.api.dast.api.common.7377.match.result.s0.o1": "The analysis confirms that the OS command injection vulnerability is present.",
  "0.api.dast.api.common.7377.match.result.s1.o0": "{0}",
  "0.api.dast.api.common.7377.match.solution.s0.o0": "Implement the application to avoid directly invoking operating system commands.",
  "0.api.dast.api.common.7377.match.solution.s0.o1": "If necessary, apply a whitelist to ensure that only allowed commands can be executed.",
  "0.api.dast.api.common.7377.match.solution.s1.o0": "Additionally, proper validation must be performed on user input before it is passed to the command interpreter.",
  "0.api.dast.api.common.7377.match.solution.s1.o1": "Special characters that could be used in an attack [{, }, (, ), <, >, @, &, *, ‘, |, =, ?, ;, [, ], $, –, #, ~, !, ., ”, %, /, \\, :, +, ,, `] should be appropriately filtered.",
  "0.api.dast.api.common.7378.injected.attack.s0.o0": "To check the XXS vulnerability, the {0} in the request has been replaced with the following payload.",
  "0.api.dast.api.common.7378.injected.attack.s1.o0": "{0}",
  "0.api.dast.api.common.7378.injected.attack.s2.o0": "Then, the request has been sent to the server.",
  "0.api.dast.api.common.7378.injected.attack.s3.o0": "{0}",
  "0.api.dast.api.common.7378.injected.attack.s3.o1": "{0}",
  "0.api.dast.api.common.7378.injected.result.s0.o0": "As a result of the request, the analysis has confirmed that the payload sent to the body has been returned without proper escaping.",
  "0.api.dast.api.common.7378.injected.result.s0.o1": "When the server returns a response containing unescaped user input, the browser may render that value as HTML, potentially leading to cross-site scripting (XSS).",
  "0.api.dast.api.common.7378.injected.result.s1.o0": "{0}",
  "0.api.dast.api.common.7378.injected.solution.s0.o0": "To prevent the cross-site scripting vulnerabilities, validate user inputs by filtering out HTML tags or special characters `<`, `>`, `&`, ```, `\"`.",
  "0.api.dast.api.common.7378.injected.solution.s0.o1": "When including the user inputs in an HTML page, print out them as plain text or escape those characters as HTML entities to avoid executing any embedded scripts.",
  "0.api.dast.api.common.7379.match.attack.s0.o0": "To check the SQL injection vulnerability, the {0} in the request has been replaced with the following payload.",
  "0.api.dast.api.common.7379.match.attack.s1.o0": "{0}",
  "0.api.dast.api.common.7379.match.attack.s2.o0": "Then, the request has been sent to the server.",
  "0.api.dast.api.common.7379.match.attack.s3.o0": "{0}",
  "0.api.dast.api.common.7379.match.attack.s3.o1": "{0}",
  "0.api.dast.api.common.7379.match.result.s0.o0": "As a result of the analysis, a string inferred to be an SQL error message has been found in the body.",
  "0.api.dast.api.common.7379.match.result.s0.o1": "As the user input is not properly validated from the server, the attack payloads are inserted to the SQL query which may lead to the error message.",
  "0.api.dast.api.common.7379.match.result.s1.o0": "{0}",
  "0.api.dast.api.common.7379.match.solution.s0.o0": "To prevent SQL injection vulnerabilities, special characters in user input such as  ', \", ;, #, --, //, %, /*, */ should be validated and filtered.",
  "0.api.dast.api.common.7379.match.solution.s0.o1": "Additionally, using Prepared Statements or ORM (Object-Relational Mapping) ensures that user input does not affect SQL queries.",
  "0.api.dast.api.common.7379.match.solution.s1.o0": "If a server exposes error messages due to SQL injection attacks, attackers can use these messages to gain insights into server configuration or SQL query structure.",
  "0.api.dast.api.common.7379.match.solution.s1.o1": "Therefore, error messages containing internal system information should be restricted from being exposed to clients, and only generic error messages should be returned to prevent information leakage.",
  "0.api.dast.api.common.7380.match.attack.s0.o0": "To check the path manipulation vulnerability, the {0} in the request has been replaced with the following payload.",
  "0.api.dast.api.common.7380.match.attack.s1.o0": "{0}",
  "0.api.dast.api.common.7380.match.attack.s2.o0": "Then, the request has been sent to the server.",
  "0.api.dast.api.common.7380.match.attack.s3.o0": "{0}",
  "0.api.dast.api.common.7380.match.attack.s3.o1": "{0}",
  "0.api.dast.api.common.7380.match.result.s0.o0": "As a result of the analysis, the server has returned a normal response without an error, and execution results of the payload has been found in the body.",
  "0.api.dast.api.common.7380.match.result.s0.o1": "The analysis confirms that the path manipulation vulnerability is present.",
  "0.api.dast.api.common.7380.match.result.s1.o0": "{0}",
  "0.api.dast.api.common.7380.match.solution.s0.o0": "To prevent path manipulation vulnerabilities, user input must be properly validated.",
  "0.api.dast.api.common.7380.match.solution.s0.o1": "If the input contains characters that can be used in directory traversal attacks, such as .., /, or \\, these should be removed or filtered to allow only permitted paths.",
  "0.api.dast.api.common.7394.injected.attack.s0.o0": "To check the XXS vulnerability, the {0} in the request has been replaced with the following payload.",
  "0.api.dast.api.common.7394.injected.attack.s1.o0": "{0}",
  "0.api.dast.api.common.7394.injected.attack.s2.o0": "Then, the request has been sent to the server.",
  "0.api.dast.api.common.7394.injected.attack.s3.o0": "{0}",
  "0.api.dast.api.common.7394.injected.attack.s3.o1": "{0}",
  "0.api.dast.api.common.7394.injected.result.s0.o0": "As a result of the request, the analysis has confirmed that the payload sent to the body has been returned without proper escaping.",
  "0.api.dast.api.common.7394.injected.result.s0.o1": "When the server returns a response containing unescaped user input, the browser may render that value as HTML, potentially leading to cross-site scripting (XSS).",
  "0.api.dast.api.common.7394.injected.result.s1.o0": "{0}",
  "0.api.dast.api.common.7394.injected.solution.s0.o0": "To prevent the cross-site scripting vulnerabilities, validate user inputs by filtering out HTML tags or special characters `<`, `>`, `&`, ```, `\"`.",
  "0.api.dast.api.common.7394.injected.solution.s0.o1": "When including the user inputs in an HTML page, print out them as plain text or escape those characters as HTML entities to avoid executing any embedded scripts.",
  "0.api.dast.api.common.7395.match.attack.s0.o0": "To check the OS command injection vulnerability, the {0} in the request has been replaced with the following payload.",
  "0.api.dast.api.common.7395.match.attack.s1.o0": "{0}",
  "0.api.dast.api.common.7395.match.attack.s2.o0": "Then, the request has been sent to the server.",
  "0.api.dast.api.common.7395.match.attack.s3.o0": "{0}",
  "0.api.dast.api.common.7395.match.attack.s3.o1": "{0}",
  "0.api.dast.api.common.7395.match.result.s0.o0": "As a result of the analysis, the server has returned a normal response without an error, and execution results of the payload has been found in the body.",
  "0.api.dast.api.common.7395.match.result.s0.o1": "The analysis confirms that the OS command injection vulnerability is present.",
  "0.api.dast.api.common.7395.match.result.s1.o0": "{0}",
  "0.api.dast.api.common.7395.match.solution.s0.o0": "Implement the application to avoid directly invoking operating system commands.",
  "0.api.dast.api.common.7395.match.solution.s0.o1": "If necessary, apply a whitelist to ensure that only permitted commands can be executed.",
  "0.api.dast.api.common.7395.match.solution.s1.o0": "Additionally, appropriate validation must be performed on user input before it is passed to the command interpreter.",
  "0.api.dast.api.common.7395.match.solution.s1.o1": "Special characters that could be used in an attack [{, }, (, ), <, >, @, &, *, ‘, |, =, ?, ;, [, ], $, –, #, ~, !, ., ”, %, /, \\, :, +, ,, `] should be properly filtered.",
  "0.api.dast.api.common.7396.match.attack.s0.o0": "To check the SQL injection vulnerability, the {0} in the request has been replaced with the following payload.",
  "0.api.dast.api.common.7396.match.attack.s1.o0": "{0}",
  "0.api.dast.api.common.7396.match.attack.s2.o0": "Then, the request has been sent to the server.",
  "0.api.dast.api.common.7396.match.attack.s3.o0": "{0}",
  "0.api.dast.api.common.7396.match.attack.s3.o1": "{0}",
  "0.api.dast.api.common.7396.match.result.s0.o0": "As a result of the analysis, a string inferred to be an SQL error message has been found in the body.",
  "0.api.dast.api.common.7396.match.result.s0.o1": "As the user input is not properly validated from the server, the attack payloads are inserted to the SQL query which may lead to the error message.",
  "0.api.dast.api.common.7396.match.result.s1.o0": "{0}",
  "0.api.dast.api.common.7396.match.solution.s0.o0": "To prevent SQL injection vulnerabilities, special characters in user input such as ', \", ;, #, --, //, %, /*, */ should be validated and filtered.",
  "0.api.dast.api.common.7396.match.solution.s0.o1": "Additionally, use Prepared Statements or ORM (Object-Relational Mapping) to ensure that user input does not affect SQL queries.",
  "0.api.dast.api.common.7396.match.solution.s1.o0": "When the SQL injection exposes an error message from the server, an attacker might use the message to reveal server configuration or SQL query structure.",
  "0.api.dast.api.common.7396.match.solution.s1.o1": "To prevent information leak, keep the error messages with system information from being exposed, and return generic error messages.",
  "0.api.dast.api.common.7397.match.attack.s0.o0": "To check that debugging mode or stack tracing is enabled in the GraphQL, a malformed query has been submitted.",
  "0.api.dast.api.common.7397.match.attack.s0.o1": "And, the following request has been sent to the GraphQL endpoint.",
  "0.api.dast.api.common.7397.match.attack.s1.o0": "{0}",
  "0.api.dast.api.common.7397.match.attack.s1.o1": "{0}",
  "0.api.dast.api.common.7397.match.result.s0.o0": "As a result of the request, the analysis confirms that the server has returned too many errors for an improper query.",
  "0.api.dast.api.common.7397.match.result.s0.o1": "The analysis confirms that the debugging mode or stack tracing is enabled on the server.",
  "0.api.dast.api.common.7397.match.result.s1.o0": "{0}",
  "0.api.dast.api.common.7397.match.result.s1.o1": "{0}",
  "0.api.dast.api.common.7397.match.solution.s0.o0": "In production environments, the debug mode and stack trace feature of GraphQL should be disabled.",
  "0.api.dast.api.common.7397.match.solution.s0.o1": "Additionally, the server should return only generic messages containing minimal information, even in the event of an error.",
  "0.api.dast.api.common.7398.match.attack.s0.o0": "To check that GraphQL IDE is exposed, a GET request has been sent to {0} path.",
  "0.api.dast.api.common.7398.match.attack.s1.o0": "{0}",
  "0.api.dast.api.common.7398.match.result.s0.o0": "As a result of the GET request, the server has returned the body of HTML format without an error.",
  "0.api.dast.api.common.7398.match.result.s0.o1": "The analysis confirms that the GraphQL IDE has exposed on the path.",
  "0.api.dast.api.common.7398.match.solution.s0.o0": "It is recommended to disable the GraphQL IDE in production environments and, if necessary, configure it to allow access only to authorized users.",
  "0.api.dast.api.common.7399.match.attack.s0.o0": "To check that GraphQL structure is exposed, the following Introspection query has been sent.",
  "0.api.dast.api.common.7399.match.attack.s1.o0": "{0}",
  "0.api.dast.api.common.7399.match.attack.s1.o1": "{0}",
  "0.api.dast.api.common.7399.match.result.s0.o0": "As a result of the Introspection query, the server has returned a normal GraphQL scheme without an error.",
  "0.api.dast.api.common.7399.match.result.s0.o1": "The analysis confirms that the Introspection of GraphQL is enabled.",
  "0.api.dast.api.common.7399.match.result.s1.o0": "{0}",
  "0.api.dast.api.common.7399.match.result.s1.o1": "{0}",
  "0.api.dast.api.common.7399.match.solution.s0.o0": "It is recommended to disable the Introspection feature in production environments, and if necessary, configure it to be accessible only to authorized users.",
  "0.api.dast.api.common.7436.match.attack.s0.o0": "To check that field suggestion is enabled in the GraphQL, a malformed query has been submitted.",
  "0.api.dast.api.common.7436.match.attack.s0.o1": "And, the following request has been sent to the GraphQL endpoint.",
  "0.api.dast.api.common.7436.match.attack.s1.o0": "{0}",
  "0.api.dast.api.common.7436.match.attack.s1.o1": "{0}",
  "0.api.dast.api.common.7436.match.result.s0.o0": "As a result of the request, the server has returned an error for an invalid field name and suggested a similar name.",
  "0.api.dast.api.common.7436.match.result.s0.o1": "The analysis confirms that the field suggestion is enabled on the server.",
  "0.api.dast.api.common.7436.match.result.s1.o0": "{0}",
  "0.api.dast.api.common.7436.match.result.s1.o1": "{0}",
  "0.api.dast.api.common.7436.match.solution.s0.o0": "It is recommended to disable the GraphQL field suggestion feature in production environments and to provide minimal error information for non-existent fields.",
  "0.api.dast.api.common.7436.match.solution.s0.o1": "For example, it is safer to provide error messages like `Unable to find the field.` or `Unable to convey your request.` instead of an error message like `Are you looking for the query?`.",
  "0.api.dast.api.common.7437.cloud.attack.s0.o0": "To check the SSRF attacks in the GraphQL, the request that replaced values of external resources with the cloud metadata addresses has been sent.",
  "0.api.dast.api.common.7437.cloud.attack.s1.o0": "{0}",
  "0.api.dast.api.common.7437.cloud.attack.s1.o1": "{0}",
  "0.api.dast.api.common.7437.cloud.result.s0.o0": "As a result of the request, the server has returned information about the cloud metadata service.",
  "0.api.dast.api.common.7437.cloud.result.s0.o1": "The analysis confirms that the server does not properly validate values in the request for external resources.",
  "0.api.dast.api.common.7437.cloud.result.s1.o0": "{0}",
  "0.api.dast.api.common.7437.cloud.solution.s0.o0": "To prevent Server-Side Request Forgery vulnerabilities, it is essential to properly validate the URL input values that are the target of requests.",
  "0.api.dast.api.common.7437.cloud.solution.s0.o1": "The server should implement a whitelist to allow access only to permitted domains or IPs, and blacklist internal addresses like `localhost` or `127.0.0.1`, and schemes commonly used in attacks, such as `file://` and `gopher://`, to block them.",
  "0.api.dast.api.common.7437.file.attack.s0.o0": "To check the SSRF attacks in the GraphQL, the request that replaced values of external resources with the local file paths has been sent.",
  "0.api.dast.api.common.7437.file.attack.s1.o0": "{0}",
  "0.api.dast.api.common.7437.file.attack.s1.o1": "{0}",
  "0.api.dast.api.common.7437.file.result.s0.o0": "As a result of the request, the server has read the local files and returned them in the response.",
  "0.api.dast.api.common.7437.file.result.s0.o1": "The analysis confirms that the server does not properly validate values in the request for external resources.",
  "0.api.dast.api.common.7437.file.result.s1.o0": "{0}",
  "0.api.dast.api.common.7437.file.solution.s0.o0": "To prevent Server-Side Request Forgery vulnerabilities, it is essential to properly validate the URL input values that are the target of requests.",
  "0.api.dast.api.common.7437.file.solution.s0.o1": "The server should implement a whitelist to allow access only to permitted domains or IPs, and blacklist internal addresses like `localhost` or `127.0.0.1`, and schemes commonly used in attacks, such as `file://` and `gopher://`, to block them.",
  "0.api.dast.api.common.7438.match.attack.s0.o0": "To check the field duplication attacks in GraphQL, the following two requests have been sent.",
  "0.api.dast.api.common.7438.match.attack.s1.o0": "In the first request, a query including single __typename field has been sent to the GraphQL endpoint.",
  "0.api.dast.api.common.7438.match.attack.s2.o0": "{0}",
  "0.api.dast.api.common.7438.match.attack.s2.o1": "{0}",
  "0.api.dast.api.common.7438.match.attack.s3.o0": "The second request has submitted a query that duplicated 2,000 times of __typename fields.",
  "0.api.dast.api.common.7438.match.result.s0.o0": "As a result of the first request, the server has returned a normal response without an error.",
  "0.api.dast.api.common.7438.match.result.s1.o0": "{0}",
  "0.api.dast.api.common.7438.match.result.s1.o1": "{0}",
  "0.api.dast.api.common.7438.match.result.s2.o0": "As a result of the second request, the server has returned a normal response without an error, but there was a delay in the response time.",
  "0.api.dast.api.common.7438.match.result.s2.o1": "The analysis confirms that the server does not restrict duplicate fields.",
  "0.api.dast.api.common.7438.match.result.s3.o0": "{0}",
  "0.api.dast.api.common.7438.match.result.s3.o1": "{0}",
  "0.api.dast.api.common.7438.match.solution.s0.o0": "To prevent field duplication attacks in GraphQL, it is necessary to detect duplicate fields and limit the number of unique fields and root fields allowed in a single query. ",
  "0.api.dast.api.common.7438.match.solution.s0.o1": "Additionally, considering limits on query depth and the size of requests and responses can also be beneficial.",
  "0.api.dast.api.common.7438.match.solution.s1.o0": "Furthermore, applying cost analysis techniques can be an effective countermeasure.",
  "0.api.dast.api.common.7438.match.solution.s1.o1": "This technique defines resource costs for each field and calculates the execution cost of the entire query.",
  "0.api.dast.api.common.7438.match.solution.s1.o2": "If the calculated cost exceeds a predefined threshold, the request is blocked.",
  "0.api.dast.api.common.7439.match.attack.s0.o0": "To check the directive overloading attacks in GraphQL, the following two requests have been sent.",
  "0.api.dast.api.common.7439.match.attack.s1.o0": "In the first request, a query including __typename field with 1,000 directives has been sent to the GraphQL endpoint.",
  "0.api.dast.api.common.7439.match.attack.s2.o0": "{0}",
  "0.api.dast.api.common.7439.match.attack.s2.o1": "{0}",
  "0.api.dast.api.common.7439.match.attack.s3.o0": "The second request has submitted a query that added 10,000 directives to __typename field.",
  "0.api.dast.api.common.7439.match.result.s0.o0": "As a result of the first request, the server has returned an error on the improper directives.",
  "0.api.dast.api.common.7439.match.result.s1.o0": "{0}",
  "0.api.dast.api.common.7439.match.result.s1.o1": "{0}",
  "0.api.dast.api.common.7439.match.result.s2.o0": "As a result of the second request, the same error has been occurred, but there was a delay in the response time.",
  "0.api.dast.api.common.7439.match.result.s2.o1": "The analysis confirms that the server spends resource to interpret directives and does not restrict the number of directives.",
  "0.api.dast.api.common.7439.match.solution.s0.o0": "To prevent directive overloading attacks in GraphQL, it is essential to appropriately limit the number of directives allowed in a single query.",
  "0.api.dast.api.common.7439.match.solution.s0.o1": "Additionally, if directives are repeatedly included on a single field, returning an error or rejecting the request can also be considered.",
  "0.api.dast.api.common.7439.match.solution.s0.o2": "Furthermore, limiting the depth of queries and the size of requests and responses can be effective countermeasures.",
  "0.api.dast.api.common.7440.match.attack.s0.o0": "To check the circular query attacks in GraphQL, a circular query with Introspection has been created and the following two requests have been sent.",
  "0.api.dast.api.common.7440.match.attack.s0.o1": "In the first request, a query including single fields → type structure has been sent to the GraphQL endpoint.",
  "0.api.dast.api.common.7440.match.attack.s1.o0": "{0}",
  "0.api.dast.api.common.7440.match.attack.s1.o1": "{0}",
  "0.api.dast.api.common.7440.match.attack.s2.o0": "The second request has submitted a query that duplicated 20 times of fields → type → fields structures.",
  "0.api.dast.api.common.7440.match.result.s0.o0": "As a result of the first request, the server has returned a normal response without an error.",
  "0.api.dast.api.common.7440.match.result.s1.o0": "{0}",
  "0.api.dast.api.common.7440.match.result.s1.o1": "{0}",
  "0.api.dast.api.common.7440.match.result.s2.o0": "As a result of the second request, the server has returned a normal response without an error, but there was a delay in the response time.",
  "0.api.dast.api.common.7440.match.result.s2.o1": "The analysis confirms that the server does not restrict query depths.",
  "0.api.dast.api.common.7440.match.result.s3.o0": "{0}",
  "0.api.dast.api.common.7440.match.result.s3.o1": "{0}",
  "0.api.dast.api.common.7440.match.solution.s0.o0": "To prevent circular query attacks in GraphQL, it is necessary to limit the depth of queries and the size of requests and responses.",
  "0.api.dast.api.common.7440.match.solution.s0.o1": "Additionally, setting query timeouts to monitor query execution time and blocking requests that exceed the configured limit can also be considered.",
  "0.api.dast.api.common.7440.match.solution.s1.o0": "Furthermore, applying cost analysis techniques can be an effective countermeasure.",
  "0.api.dast.api.common.7440.match.solution.s1.o1": "This technique defines resource costs per field and calculates the total execution cost of the query.",
  "0.api.dast.api.common.7440.match.solution.s1.o2": "If the calculated cost exceeds a predefined threshold, the request is blocked.",
  "0.api.dast.api.common.7441.match.attack.s0.o0": "To check the batching attacks in GraphQL, 50 queries with __typename field was created in JSON array formats.",
  "0.api.dast.api.common.7441.match.attack.s0.o1": "And, the following request has been sent to the GraphQL endpoint.",
  "0.api.dast.api.common.7441.match.attack.s1.o0": "{0}",
  "0.api.dast.api.common.7441.match.attack.s1.o1": "{0}",
  "0.api.dast.api.common.7441.match.result.s0.o0": "As a result of the request, the server has returned all names of object type without an error.",
  "0.api.dast.api.common.7441.match.result.s0.o1": "The analysis confirms that the server does not restrict the number of queries within a batch.",
  "0.api.dast.api.common.7441.match.result.s1.o0": "{0}",
  "0.api.dast.api.common.7441.match.result.s1.o1": "{0}",
  "0.api.dast.api.common.7441.match.solution.s0.o0": "To prevent batching attacks in GraphQL, it is essential to limit the number of queries allowed in a single request.",
  "0.api.dast.api.common.7441.match.solution.s0.o1": "Additionally, methods to restrict the depth of queries or the size of requests and responses should also be considered.",
  "0.api.dast.api.common.7441.match.solution.s1.o0": "Furthermore, applying cost analysis techniques can be an effective countermeasure.",
  "0.api.dast.api.common.7441.match.solution.s1.o1": "This technique defines resource costs for each field and calculates the execution cost of the entire query.",
  "0.api.dast.api.common.7441.match.solution.s1.o2": "If the calculated cost exceeds a predefined threshold, the request is blocked.",
  "0.api.dast.api.common.7442.match.attack.s0.o0": "To check the alias overloading attacks in GraphQL, a query that added 500 aliases to __typename field was created.",
  "0.api.dast.api.common.7442.match.attack.s0.o1": "And, the following request has been sent to the GraphQL endpoint.",
  "0.api.dast.api.common.7442.match.attack.s1.o0": "{0}",
  "0.api.dast.api.common.7442.match.attack.s1.o1": "{0}",
  "0.api.dast.api.common.7442.match.result.s0.o0": "As a result of the request, the server has returned a name of the object type without an error.",
  "0.api.dast.api.common.7442.match.result.s0.o1": "The analysis confirms that the server does not restrict the number of aliases.",
  "0.api.dast.api.common.7442.match.result.s1.o0": "{0}",
  "0.api.dast.api.common.7442.match.result.s1.o1": "{0}",
  "0.api.dast.api.common.7442.match.solution.s0.o0": "To prevent alias overloading attacks in GraphQL, it is essential to appropriately limit the number of unique fields, aliases, and root fields allowed in a single query.",
  "0.api.dast.api.common.7442.match.solution.s0.o1": "Additionally, considering limits on query depth and the size of requests and responses can also be beneficial.",
  "0.api.dast.api.common.7442.match.solution.s1.o0": "Furthermore, applying cost analysis techniques can be an effective countermeasure.",
  "0.api.dast.api.common.7442.match.solution.s1.o1": "This technique defines resource costs for each field and calculates the execution cost of the entire query.",
  "0.api.dast.api.common.7442.match.solution.s1.o2": "If the calculated cost exceeds a predefined threshold, the request is blocked.",
  "0.api.dast.api.common.7443.auto_modification.attack.s0.o0": "To identify the Broken Object Property Level Authorization (BOPLA) vulnerability, an administrative API endpoint was first identified using both admin and regular user accounts.",
  "0.api.dast.api.common.7443.auto_modification.attack.s0.o1": "Then, the following steps were carried out.",
  "0.api.dast.api.common.7443.auto_modification.attack.s1.o0": "After logging-in with an administrative account, the following request has been sent to the identified administrative API endpoint.",
  "0.api.dast.api.common.7443.auto_modification.attack.s2.o0": "{0}",
  "0.api.dast.api.common.7443.auto_modification.attack.s2.o1": "{0}",
  "0.api.dast.api.common.7443.auto_modification.attack.s3.o0": "To attempt privilege escalation, a field value in the body was changed as follows while logged-in with a user account.",
  "0.api.dast.api.common.7443.auto_modification.attack.s4.o0": "{0}",
  "0.api.dast.api.common.7443.auto_modification.attack.s4.o1": "{0}",
  "0.api.dast.api.common.7443.auto_modification.attack.s5.o0": "After logging-in with the modified request, a request has been sent to the same administrative API endpoint.",
  "0.api.dast.api.common.7443.auto_modification.result.s0.o0": "After attempting privilege escalation, the following request has been sent to the same administrative API endpoint. Then, the response shows high-level of similarity with the response from the administrative account.",
  "0.api.dast.api.common.7443.auto_modification.result.s0.o1": "The analysis confirms that the server does not properly validate the permission for the individual properties of the objects while processing APIs.",
  "0.api.dast.api.common.7443.auto_modification.solution.s0.o0": "To prevent Broken Object Property Level Authorization (BOPLA) vulnerabilities, the server must clearly define permissions for each property of the object and ensure that sensitive or unnecessary properties are not included in the response.",
  "0.api.dast.api.common.7443.auto_modification.solution.s0.o1": "Additionally, the data structure of requests and responses should be predefined to block requests that contain tampered structures or unauthorized properties.",
  "0.api.dast.api.common.7443.jwt_modification.attack.s0.o0": "To verify the Broken Object Property Level Authorization (BOPLA) vulnerability, log-ins are performed using both admin and regular user accounts with privilege escalation attempted.",
  "0.api.dast.api.common.7443.jwt_modification.attack.s0.o1": "After decoding the issued JWT, the role and permission-related key is detected in the payload.",
  "0.api.dast.api.common.7443.jwt_modification.attack.s1.o0": "The decoding result of the issued JWT after successfully logging in with the administrative account is as follows.",
  "0.api.dast.api.common.7443.jwt_modification.attack.s2.o0": "{0}",
  "0.api.dast.api.common.7443.jwt_modification.attack.s3.o0": "To attempt privilege escalation, a field value in the body was changed as follows while logged-in with a user account.",
  "0.api.dast.api.common.7443.jwt_modification.attack.s4.o0": "{0}",
  "0.api.dast.api.common.7443.jwt_modification.attack.s4.o1": "{0}",
  "0.api.dast.api.common.7443.jwt_modification.attack.s5.o0": "The decoding result of the issued JWT after successfully logging in with the modified request is as follows.",
  "0.api.dast.api.common.7443.jwt_modification.attack.s6.o0": "{0}",
  "0.api.dast.api.common.7443.jwt_modification.result.s0.o0": "After decoding the user account JWT that attempted privilege escalation, the role and permission fields in the payload were identical to those of the administrative account.",
  "0.api.dast.api.common.7443.jwt_modification.result.s0.o1": "The analysis confirms that the server does not properly validate the permission for the property of the object.",
  "0.api.dast.api.common.7443.jwt_modification.solution.s0.o0": "To prevent Broken Object Property Level Authorization (BOPLA) vulnerabilities, the server must clearly define permissions for each property of the object and ensure that sensitive or unnecessary properties are not included in the response.",
  "0.api.dast.api.common.7443.jwt_modification.solution.s0.o1": "Additionally, the data structure of requests and responses should be predefined to block requests that contain tampered structures or unauthorized properties.",
  "0.api.dast.api.common.7443.manual_modification.attack.s0.o0": "To verify the Broken Object Property Level Authorization (BOPLA) vulnerability, the following analysis is performed using the manually-entered administrative API endpoint.",
  "0.api.dast.api.common.7443.manual_modification.attack.s1.o0": "After logging-in with an administrative account, the following request has been sent to the identified administrative API endpoint.",
  "0.api.dast.api.common.7443.manual_modification.attack.s2.o0": "{0}",
  "0.api.dast.api.common.7443.manual_modification.attack.s2.o1": "{0}",
  "0.api.dast.api.common.7443.manual_modification.attack.s3.o0": "To attempt privilege escalation, a field value in the body is changed as follows while logged-in with a user account.",
  "0.api.dast.api.common.7443.manual_modification.attack.s4.o0": "{0}",
  "0.api.dast.api.common.7443.manual_modification.attack.s4.o1": "{0}",
  "0.api.dast.api.common.7443.manual_modification.attack.s5.o0": "After logging-in with the modified request, a request has been sent to the same administrative API endpoint.",
  "0.api.dast.api.common.7443.manual_modification.result.s0.o0": "After attempting privilege escalation, the following request has been sent to the same administrative API endpoint. Then, the response shows high-level of similarity with the response from the administrative account.",
  "0.api.dast.api.common.7443.manual_modification.result.s0.o1": "The analysis confirms that the server does not properly validate the permission for the individual properties of the objects while processing APIs.",
  "0.api.dast.api.common.7443.manual_modification.solution.s0.o0": "To prevent Broken Object Property Level Authorization (BOPLA) vulnerabilities, the server must clearly define permissions for each property of the object and ensure that sensitive or unnecessary properties are not included in the response.",
  "0.api.dast.api.common.7443.manual_modification.solution.s0.o1": "Additionally, the data structure of requests and responses should be predefined to block requests that contain tampered structures or unauthorized properties.",
  "0.api.dast.api.common.7444.match.attack.s0.o0": "To check the Broken Object Level Authorization (BOLA) vulnerability, two user account were used.",
  "0.api.dast.api.common.7444.match.attack.s0.o1": "An API endpoint containing the user identifier was first identified, then, the following steps were carried out.",
  "0.api.dast.api.common.7444.match.attack.s1.o0": "After logging-in with the first user account, the following request has been sent to the selected API endpoint.",
  "0.api.dast.api.common.7444.match.attack.s2.o0": "{0}",
  "0.api.dast.api.common.7444.match.attack.s2.o1": "{0}",
  "0.api.dast.api.common.7444.match.attack.s3.o0": "After logging-in with the second user account, the request has been sent to the same API endpoint.",
  "0.api.dast.api.common.7444.match.attack.s3.o1": "In the request, the user identifier has been replaced with one of the first user account.",
  "0.api.dast.api.common.7444.match.attack.s4.o0": "{0}",
  "0.api.dast.api.common.7444.match.attack.s4.o1": "{0}",
  "0.api.dast.api.common.7444.match.result.s0.o0": "After modifying the user identifier, the request has been sent to the same API endpoint. Then, the response shows high-level of similarity with the response from the first user account.",
  "0.api.dast.api.common.7444.match.result.s0.o1": "The analysis confirms that the server does not properly validate object-level permissions when processing API requests.",
  "0.api.dast.api.common.7444.match.solution.s0.o0": "To prevent Broken Object Level Authorization (BOLA) vulnerabilities, the server must verify that the requesting user has the appropriate permissions to access the object identifier (ID, UUID, etc.).",
  "0.api.dast.api.common.7444.match.solution.s0.o1": "Additionally, object identifiers should be generated in a way that makes them difficult to predict, preventing attackers from easily guessing or manipulating them.",
  "0.api.dast.api.common.7445.access.attack.s0.o0": "To check the Improper inventory management in API, a request that replaced its endpoint to {0} has been sent to the server.",
  "0.api.dast.api.common.7445.access.attack.s1.o0": "{0}",
  "0.api.dast.api.common.7445.access.attack.s1.o1": "{0}",
  "0.api.dast.api.common.7445.access.result.s0.o0": "As a result of the request, the server has returned a normal response as it is for the replaced endpoint without an error.",
  "0.api.dast.api.common.7445.access.result.s0.o1": "The analysis confirms that part of enabled APIs are unnecessary in the production environments.",
  "0.api.dast.api.common.7445.access.solution.s0.o0": "All API endpoints used in the production environment must be identified and documented, and development, testing, or legacy APIs should be removed.",
  "0.api.dast.api.common.7445.access.solution.s0.o1": "Additionally, API documentation, such as Swagger, should implement access control policies to ensure that only authorized users can access it.",
  "0.api.dast.api.common.7445.access.solution.s0.o2": "Furthermore, to prevent unnecessary exposure, internal APIs or APIs handling sensitive information should be restricted to calls from trusted networks only.",
  "0.api.dast.api.common.7446.cloud.attack.s0.o0": "To check the SSRF attacks in the REST API, the request that replaced values of external resources with the cloud metadata addresses has been sent.",
  "0.api.dast.api.common.7446.cloud.attack.s1.o0": "{0}",
  "0.api.dast.api.common.7446.cloud.attack.s1.o1": "{0}",
  "0.api.dast.api.common.7446.cloud.result.s0.o0": "As a result of the request, the server has returned information about the cloud metadata service.",
  "0.api.dast.api.common.7446.cloud.result.s0.o1": "The analysis confirms that the server does not properly validate values in the request for external resources.",
  "0.api.dast.api.common.7446.cloud.result.s1.o0": "{0}",
  "0.api.dast.api.common.7446.cloud.solution.s0.o0": "To prevent Server-Side Request Forgery vulnerabilities, it is essential to properly validate the URL input values that are the target of requests.",
  "0.api.dast.api.common.7446.cloud.solution.s0.o1": "The server should implement a whitelist to allow access only to permitted domains or IPs, and block internal addresses or schemes commonly used in attacks, such as localhost, 127.0.0.1, and file://.",
  "0.api.dast.api.common.7446.file.attack.s0.o0": "To check the SSRF attacks in the REST API, the request that replaced values of external resources with the local file paths has been sent.",
  "0.api.dast.api.common.7446.file.attack.s1.o0": "{0}",
  "0.api.dast.api.common.7446.file.attack.s1.o1": "{0}",
  "0.api.dast.api.common.7446.file.result.s0.o0": "As a result of the request, the server has read the local files and returned them in the body.",
  "0.api.dast.api.common.7446.file.result.s0.o1": "The analysis confirms that the server does not properly validate values in the request for external resources.",
  "0.api.dast.api.common.7446.file.result.s1.o0": "{0}",
  "0.api.dast.api.common.7446.file.solution.s0.o0": "To prevent Server-Side Request Forgery vulnerabilities, it is essential to properly validate the URL input values that are the target of requests.",
  "0.api.dast.api.common.7446.file.solution.s0.o1": "The server should implement a whitelist to allow access only to permitted domains or IPs, and block internal addresses or schemes commonly used in attacks, such as localhost, 127.0.0.1, and file://.",
  "0.api.dast.api.common.7447.match_auto.attack.s0.o0": "To check the Compromised Function Level Authorization (BFLA) vulnerability, an administrative API endpoint was first identified. Then, the following steps were carried out.",
  "0.api.dast.api.common.7447.match_auto.attack.s1.o0": "After logging-in with an administrative account, the following request has been sent to the identified administrative API endpoint.",
  "0.api.dast.api.common.7447.match_auto.attack.s2.o0": "{0}",
  "0.api.dast.api.common.7447.match_auto.attack.s2.o1": "{0}",
  "0.api.dast.api.common.7447.match_auto.attack.s3.o0": "After logging-in with a user account, the following request has been sent to the same administrative API endpoint.",
  "0.api.dast.api.common.7447.match_auto.attack.s4.o0": "{0}",
  "0.api.dast.api.common.7447.match_auto.attack.s4.o1": "{0}",
  "0.api.dast.api.common.7447.match_auto.result.s0.o0": "After logging-in with a user account, the following request has been sent to the same administrative API endpoint. Then, the response shows high-level of similarity with the response from the administrative account.",
  "0.api.dast.api.common.7447.match_auto.result.s0.o1": "The analysis confirms that the server does not properly validate the permission for the API feature.",
  "0.api.dast.api.common.7447.match_auto.solution.s0.o0": "To prevent Broken Function Level Authorization vulnerabilities, the server must clearly define the minimum permissions based on the API's functions and implement Role-Based Access Control (RBAC) or Attribute-Based Access Control (ABAC).",
  "0.api.dast.api.common.7447.match_auto.solution.s0.o1": "In particular, strict server-side permission validation should be applied to sensitive functions such as creation, modification, deletion, and access to administrative pages.",
  "0.api.dast.api.common.7447.match_manual.attack.s0.o0": "To check the Compromised Function Level Authorization (BFLA) vulnerability, an administrative API endpoint was manually entered to run the following analysis.",
  "0.api.dast.api.common.7447.match_manual.attack.s1.o0": "After logging-in with the administrative account, the following request has been sent to the identified administrative API endpoint.",
  "0.api.dast.api.common.7447.match_manual.attack.s2.o0": "{0}",
  "0.api.dast.api.common.7447.match_manual.attack.s2.o1": "{0}",
  "0.api.dast.api.common.7447.match_manual.attack.s3.o0": "After logging-in with a user account, the following request has been sent to the same administrative API endpoint.",
  "0.api.dast.api.common.7447.match_manual.attack.s4.o0": "{0}",
  "0.api.dast.api.common.7447.match_manual.attack.s4.o1": "{0}",
  "0.api.dast.api.common.7447.match_manual.result.s0.o0": "After logging-in with a user account, the following request has been sent to the same administrative API endpoint. Then, the response shows high-level of similarity with the response from the administrative account.",
  "0.api.dast.api.common.7447.match_manual.result.s0.o1": "The analysis confirms that the server does not properly validate the permission for the API feature.",
  "0.api.dast.api.common.7447.match_manual.solution.s0.o0": "To prevent Broken Function Level Authorization vulnerabilities, the server must clearly define the minimum permissions based on the API's functions and implement Role-Based Access Control (RBAC) or Attribute-Based Access Control (ABAC).",
  "0.api.dast.api.common.7447.match_manual.solution.s0.o1": "In particular, strict server-side permission validation should be applied to sensitive functions such as creation, modification, deletion, and access to administrative pages.",
  "0.api.dast.api.common.7449.auto_insertion.attack.s0.o0": "To identify the Broken Object Property Level Authorization (BOPLA) vulnerability, an administrative API endpoint was first identified using both admin and regular user accounts.",
  "0.api.dast.api.common.7449.auto_insertion.attack.s0.o1": "Then, the following steps were carried out.",
  "0.api.dast.api.common.7449.auto_insertion.attack.s1.o0": "After logging-in with an administrative account, the following request has been sent to the identified administrative API endpoint.",
  "0.api.dast.api.common.7449.auto_insertion.attack.s2.o0": "{0}",
  "0.api.dast.api.common.7449.auto_insertion.attack.s2.o1": "{0}",
  "0.api.dast.api.common.7449.auto_insertion.attack.s3.o0": "To attempt privilege escalation, the following fields were added to the request body when logging in with the user account.",
  "0.api.dast.api.common.7449.auto_insertion.attack.s4.o0": "{0}",
  "0.api.dast.api.common.7449.auto_insertion.attack.s4.o1": "{0}",
  "0.api.dast.api.common.7449.auto_insertion.attack.s5.o0": "After logging-in with the request including the added field, a request has been sent to the same administrative API endpoint.",
  "0.api.dast.api.common.7449.auto_insertion.result.s0.o0": "After attempting privilege escalation, the following request has been sent to the same administrative API endpoint. Then, the response shows high-level of similarity with the response from the administrative account.",
  "0.api.dast.api.common.7449.auto_insertion.result.s0.o1": "The analysis confirms that the server does not properly validate the permission for the individual properties of the objects while processing APIs.",
  "0.api.dast.api.common.7449.auto_insertion.solution.s0.o0": "To prevent Broken Object Property Level Authorization (BOPLA) vulnerabilities, the server must clearly define permissions for each property of the object and ensure that sensitive or unnecessary properties are not included in the response.",
  "0.api.dast.api.common.7449.auto_insertion.solution.s0.o1": "Additionally, the data structure of requests and responses should be predefined to block requests that contain tampered structures or unauthorized properties.",
  "0.api.dast.api.common.7449.auto_modification.attack.s0.o0": "To identify the Broken Object Property Level Authorization (BOPLA) vulnerability, an administrative API endpoint was first identified using both admin and regular user accounts.",
  "0.api.dast.api.common.7449.auto_modification.attack.s0.o1": "Then, the following steps were carried out.",
  "0.api.dast.api.common.7449.auto_modification.attack.s1.o0": "After logging-in with an administrative account, the following request has been sent to the identified administrative API endpoint.",
  "0.api.dast.api.common.7449.auto_modification.attack.s2.o0": "{0}",
  "0.api.dast.api.common.7449.auto_modification.attack.s2.o1": "{0}",
  "0.api.dast.api.common.7449.auto_modification.attack.s3.o0": "To attempt privilege escalation, a field value in the body is changed as follows while logged-in with a user account.",
  "0.api.dast.api.common.7449.auto_modification.attack.s4.o0": "{0}",
  "0.api.dast.api.common.7449.auto_modification.attack.s4.o1": "{0}",
  "0.api.dast.api.common.7449.auto_modification.attack.s5.o0": "After logging-in with the modified request, a request has been sent to the same administrative API endpoint.",
  "0.api.dast.api.common.7449.auto_modification.result.s0.o0": "After attempting privilege escalation, the following request has been sent to the same administrative API endpoint. Then, the response shows high-level of similarity with the response from the administrative account.",
  "0.api.dast.api.common.7449.auto_modification.result.s0.o1": "The analysis confirms that the server does not properly validate the permission for the individual properties of the objects while processing APIs.",
  "0.api.dast.api.common.7449.auto_modification.solution.s0.o0": "To prevent Broken Object Property Level Authorization (BOPLA) vulnerabilities, the server must clearly define permissions for each property of the object and ensure that sensitive or unnecessary properties are not included in the response.",
  "0.api.dast.api.common.7449.auto_modification.solution.s0.o1": "Additionally, the data structure of requests and responses should be predefined to block requests that contain tampered structures or unauthorized properties.",
  "0.api.dast.api.common.7449.jwt_insertion.attack.s0.o0": "To verify the Broken Object Property Level Authorization (BOPLA) vulnerability, log-ins are performed using both admin and regular user accounts with privilege escalation attempted.",
  "0.api.dast.api.common.7449.jwt_insertion.attack.s0.o1": "After decoding the issued JWT, the role and permission-related key is detected in the payload.",
  "0.api.dast.api.common.7449.jwt_insertion.attack.s1.o0": "The decoding result of the issued JWT after successfully logging in with the administrative account is as follows.",
  "0.api.dast.api.common.7449.jwt_insertion.attack.s2.o0": "{0}",
  "0.api.dast.api.common.7449.jwt_insertion.attack.s3.o0": "To attempt privilege escalation, the following fields were added to the request body when logging in with the user account.",
  "0.api.dast.api.common.7449.jwt_insertion.attack.s4.o0": "{0}",
  "0.api.dast.api.common.7449.jwt_insertion.attack.s4.o1": "{0}",
  "0.api.dast.api.common.7449.jwt_insertion.attack.s5.o0": "The decoding result of the issued JWT after successfully logging in with a request that includes the added fields is as follows.",
  "0.api.dast.api.common.7449.jwt_insertion.attack.s6.o0": "{0}",
  "0.api.dast.api.common.7449.jwt_insertion.result.s0.o0": "After logging in with the user account that attempted privilege escalation, the decoded JWT shows that the role and permission fields in the payload were identical to those of the administrative account.",
  "0.api.dast.api.common.7449.jwt_insertion.result.s0.o1": "The analysis confirms that the server does not properly validate the permission for the property of the object.",
  "0.api.dast.api.common.7449.jwt_insertion.solution.s0.o0": "To prevent Broken Object Property Level Authorization (BOPLA) vulnerabilities, the server must clearly define permissions for each property of the object and ensure that sensitive or unnecessary properties are not included in the response.",
  "0.api.dast.api.common.7449.jwt_insertion.solution.s0.o1": "Additionally, the data structure of requests and responses should be predefined to block requests that contain tampered structures or unauthorized properties.",
  "0.api.dast.api.common.7449.jwt_modification.attack.s0.o0": "To verify the Broken Object Property Level Authorization (BOPLA) vulnerability, log-ins are performed using both admin and regular user accounts with privilege escalation attempted.",
  "0.api.dast.api.common.7449.jwt_modification.attack.s1.o0": "The decoding result of the issued JWT after successfully logging in with the administrative account is as follows.",
  "0.api.dast.api.common.7449.jwt_modification.attack.s2.o0": "{0}",
  "0.api.dast.api.common.7449.jwt_modification.attack.s3.o0": "To attempt privilege escalation, a field value in the body is changed as follows while logged-in with a user account.",
  "0.api.dast.api.common.7449.jwt_modification.attack.s4.o0": "{0}",
  "0.api.dast.api.common.7449.jwt_modification.attack.s4.o1": "{0}",
  "0.api.dast.api.common.7449.jwt_modification.attack.s5.o0": "The decoding result of the issued JWT after successfully logging in with the modified request is as follows.",
  "0.api.dast.api.common.7449.jwt_modification.attack.s6.o0": "{0}",
  "0.api.dast.api.common.7449.jwt_modification.result.s0.o0": "After logging in with the user account that attempted privilege escalation, the decoded JWT shows that the role and permission fields in the payload were identical to those of the administrative account.",
  "0.api.dast.api.common.7449.jwt_modification.result.s0.o1": "The analysis confirms that the server does not properly validate the permission for the property of the object.",
  "0.api.dast.api.common.7449.jwt_modification.solution.s0.o0": "To prevent Broken Object Property Level Authorization (BOPLA) vulnerabilities, the server must clearly define permissions for each property of the object and ensure that sensitive or unnecessary properties are not included in the response.",
  "0.api.dast.api.common.7449.jwt_modification.solution.s0.o1": "Additionally, the data structure of requests and responses should be predefined to block requests that contain tampered structures or unauthorized properties.",
  "0.api.dast.api.common.7449.manual_insertion.attack.s0.o0": "To verify the Broken Object Property Level Authorization (BOPLA) vulnerability, the following analysis is performed using the manually-entered administrative API endpoint.",
  "0.api.dast.api.common.7449.manual_insertion.attack.s1.o0": "After logging-in with an administrative account, the following request has been sent to the identified administrative API endpoint.",
  "0.api.dast.api.common.7449.manual_insertion.attack.s2.o0": "{0}",
  "0.api.dast.api.common.7449.manual_insertion.attack.s2.o1": "{0}",
  "0.api.dast.api.common.7449.manual_insertion.attack.s3.o0": "To attempt privilege escalation, the following fields were added to the request body when logging in with the user account.",
  "0.api.dast.api.common.7449.manual_insertion.attack.s4.o0": "{0}",
  "0.api.dast.api.common.7449.manual_insertion.attack.s4.o1": "{0}",
  "0.api.dast.api.common.7449.manual_insertion.attack.s5.o0": "After logging-in with the request including the added field, a request has been sent to the same administrative API endpoint.",
  "0.api.dast.api.common.7449.manual_insertion.result.s0.o0": "After attempting privilege escalation, the following request has been sent to the same administrative API endpoint. Then, the response shows high-level of similarity with the response from the administrative account.",
  "0.api.dast.api.common.7449.manual_insertion.result.s0.o1": "The analysis confirms that the server does not properly validate the permission for the individual properties of the objects while processing APIs.",
  "0.api.dast.api.common.7449.manual_insertion.solution.s0.o0": "To prevent Broken Object Property Level Authorization (BOPLA) vulnerabilities, the server must clearly define permissions for each property of the object and ensure that sensitive or unnecessary properties are not included in the response.",
  "0.api.dast.api.common.7449.manual_insertion.solution.s0.o1": "Additionally, the data structure of requests and responses should be predefined to block requests that contain tampered structures or unauthorized properties.",
  "0.api.dast.api.common.7449.manual_modification.attack.s0.o0": "To verify the Broken Object Property Level Authorization (BOPLA) vulnerability, the following analysis is performed using the manually-entered administrative API endpoint.",
  "0.api.dast.api.common.7449.manual_modification.attack.s1.o0": "After logging-in with an administrative account, the following request has been sent to the identified administrative API endpoint.",
  "0.api.dast.api.common.7449.manual_modification.attack.s2.o0": "{0}",
  "0.api.dast.api.common.7449.manual_modification.attack.s2.o1": "{0}",
  "0.api.dast.api.common.7449.manual_modification.attack.s3.o0": "To attempt privilege escalation, a field value in the body is changed as follows while logged-in with a user account.",
  "0.api.dast.api.common.7449.manual_modification.attack.s4.o0": "{0}",
  "0.api.dast.api.common.7449.manual_modification.attack.s4.o1": "{0}",
  "0.api.dast.api.common.7449.manual_modification.attack.s5.o0": "After logging-in with the modified request, a request has been sent to the same administrative API endpoint.",
  "0.api.dast.api.common.7449.manual_modification.result.s0.o0": "After attempting privilege escalation, the following request has been sent to the same administrative API endpoint. Then, the response shows high-level of similarity with the response from the administrative account.",
  "0.api.dast.api.common.7449.manual_modification.result.s0.o1": "The analysis confirms that the server does not properly validate the permission for the individual properties of the objects while processing APIs.",
  "0.api.dast.api.common.7449.manual_modification.solution.s0.o0": "To prevent Broken Object Property Level Authorization (BOPLA) vulnerabilities, the server must clearly define permissions for each property of the object and ensure that sensitive or unnecessary properties are not included in the response.",
  "0.api.dast.api.common.7449.manual_modification.solution.s0.o1": "Additionally, the data structure of requests and responses should be predefined to block requests that contain tampered structures or unauthorized properties.",
  "0.api.dast.api.common.7454.missing.attack.s0.o0": "To check for improper expiration times in the JWT, the JWT in the browser was decoded from Base64, and its exp claim was checked in the payload.",
  "0.api.dast.api.common.7454.missing.attack.s1.o0": "{0}",
  "0.api.dast.api.common.7454.missing.result.s0.o0": "As a result of decoding, the exp claim was not included in the JWT.",
  "0.api.dast.api.common.7454.missing.result.s0.o1": "The analysis confirms that the server does not specify expiration on the token.",
  "0.api.dast.api.common.7454.missing.result.s1.o0": "{0}",
  "0.api.dast.api.common.7454.missing.solution.s0.o0": "When issuing a JWT, it is essential to set an expiration time (exp) that aligns with the service's characteristics, and the server must validate it appropriately.",
  "0.api.dast.api.common.7454.missing.solution.s0.o1": "If an expired token is used, the server should block the request.",
  "0.api.dast.api.common.7454.missing.solution.s1.o0": "Generally, it is recommended to use Access Tokens and Refresh Tokens together.",
  "0.api.dast.api.common.7454.missing.solution.s1.o1": "The Access Token should have a short expiration time, and when the token expires, a new Access Token is issued through the Refresh Token.",
  "0.api.dast.api.common.7454.missing.solution.s2.o0": "Additionally, a revocation strategy can be applied to prevent token reuse.",
  "0.api.dast.api.common.7454.missing.solution.s2.o1": "For example, including a TokenVersion or an encrypted IP address in the JWT's payload, and having the server validate these values.",
  "0.api.dast.api.common.7454.missing.solution.s2.o2": "The TokenVersion can be incremented during specific events such as password changes or logouts to invalidate previous tokens.",
  "0.api.dast.api.common.7454.missing.solution.s2.o3": "IP address validation can block requests from unregistered IPs, preventing the reuse of stolen tokens.",
  "0.api.dast.api.common.7454.too_long.attack.s0.o0": "To check for improper expiration times in the JWT, the JWT in the browser was decoded from Base64, and its exp claim was checked in the payload.",
  "0.api.dast.api.common.7454.too_long.attack.s1.o0": "{0}",
  "0.api.dast.api.common.7454.too_long.result.s0.o0": "The decoding results confirms that expiration time of the JWT is longer than 24 hours.",
  "0.api.dast.api.common.7454.too_long.result.s0.o1": "It is recommended to set short expiration times for authentication tokens, such as access tokens, rather than very long ones.",
  "0.api.dast.api.common.7454.too_long.result.s1.o0": "{0}",
  "0.api.dast.api.common.7454.too_long.solution.s0.o0": "When issuing a JWT, it is essential to set an expiration time (exp) that aligns with the service's characteristics, and the server must validate it appropriately.",
  "0.api.dast.api.common.7454.too_long.solution.s0.o1": "If an expired token is used, the server should block the request.",
  "0.api.dast.api.common.7454.too_long.solution.s1.o0": "Generally, it is recommended to use Access Tokens and Refresh Tokens together.",
  "0.api.dast.api.common.7454.too_long.solution.s1.o1": "The Access Token should have a short expiration time, and when the token expires, a new Access Token is issued through the Refresh Token.",
  "0.api.dast.api.common.7454.too_long.solution.s2.o0": "Additionally, a revocation strategy can be applied to prevent token reuse.",
  "0.api.dast.api.common.7454.too_long.solution.s2.o1": "For example, including a TokenVersion or an encrypted IP address in the JWT's payload, and having the server validate these values.",
  "0.api.dast.api.common.7454.too_long.solution.s2.o2": "The TokenVersion can be incremented during specific events such as password changes or logouts to invalidate previous tokens.",
  "0.api.dast.api.common.7454.too_long.solution.s2.o3": "IP address validation can block requests from unregistered IPs, preventing the reuse of stolen tokens.",
  "0.api.dast.api.common.7455.match.attack.s0.o0": "To check that an improper JWT is created, the following steps were carried out.",
  "0.api.dast.api.common.7455.match.attack.s1.o0": "Login The event clipboard is used to succeed two times of log-ins.",
  "0.api.dast.api.common.7455.match.result.s0.o0": "As a result of comparing the JWTs issued for the first and second login requests, they were found to be identical.",
  "0.api.dast.api.common.7455.match.result.s0.o1": "The analysis confirms that the server improperly generates the JWT.",
  "0.api.dast.api.common.7455.match.result.s1.o0": "{0}",
  "0.api.dast.api.common.7455.match.solution.s0.o0": "Tokens must be implemented to be generated with new values each time.",
  "0.api.dast.api.common.7455.match.solution.s0.o1": "To achieve this, unique identifiers (jti), issuance time (iat), expiration time (ext), and other elements should be included in the payload to distinguish the tokens and make prediction difficult.",
  "0.api.dast.api.common.7456.match.attack.s0.o0": "To check the Broken Object Level Authorization (BOLA) vulnerability, two user account were used.",
  "0.api.dast.api.common.7456.match.attack.s0.o1": "An API endpoint containing the user identifier was first identified, then, the following steps were carried out.",
  "0.api.dast.api.common.7456.match.attack.s1.o0": "After logging-in with the first user account, the following request has been sent to the selected API endpoint.",
  "0.api.dast.api.common.7456.match.attack.s2.o0": "{0}",
  "0.api.dast.api.common.7456.match.attack.s3.o0": "After logging-in with the second user account, the request has been sent to the same API endpoint.",
  "0.api.dast.api.common.7456.match.attack.s3.o1": "In the request, the user identifier of the first user account is used to the URL path or query strings, while its authentication info belongs to the second user account.",
  "0.api.dast.api.common.7456.match.attack.s4.o0": "{0}",
  "0.api.dast.api.common.7456.match.result.s0.o0": "After logging-in with the second user account, the request has been sent to the same API endpoint. Then, the response shows high-level of similarity with the response from the first user account.",
  "0.api.dast.api.common.7456.match.result.s0.o1": "The analysis confirms that the server does not properly validate object-level permissions when processing API requests.",
  "0.api.dast.api.common.7456.match.solution.s0.o0": "To prevent Broken Object Level Authorization (BOLA) vulnerabilities, the server must verify that the requesting user has the appropriate permissions to access the object identifier (ID, UUID, etc.).",
  "0.api.dast.api.common.7456.match.solution.s0.o1": "Additionally, object identifiers should be generated in a way that makes them difficult to predict, preventing attackers from easily guessing or manipulating them.",
  "0.api.dast.api.common.7457.match.attack.s0.o0": "To check the Broken Object Level Authorization (BOLA) vulnerability, two user account were used.",
  "0.api.dast.api.common.7457.match.attack.s0.o1": "An API endpoint containing the user identifier was first identified, then, the following steps were carried out.",
  "0.api.dast.api.common.7457.match.attack.s1.o0": "After logging-in with the first user account, the following request has been sent to the selected API endpoint.",
  "0.api.dast.api.common.7457.match.attack.s2.o0": "{0}",
  "0.api.dast.api.common.7457.match.attack.s2.o1": "{0}",
  "0.api.dast.api.common.7457.match.attack.s3.o0": "After logging-in with the second user account, the request has been sent to the same API endpoint.",
  "0.api.dast.api.common.7457.match.attack.s3.o1": "In the request, the user identifier has been replaced with one of the first user account.",
  "0.api.dast.api.common.7457.match.attack.s4.o0": "{0}",
  "0.api.dast.api.common.7457.match.attack.s4.o1": "{0}",
  "0.api.dast.api.common.7457.match.result.s0.o0": "After modifying the user identifier, the request has been sent to the same API endpoint. Then, the response shows high-level of similarity with the response from the first user account.",
  "0.api.dast.api.common.7457.match.result.s0.o1": "The analysis confirms that the server does not properly validate object-level permissions when processing API requests.",
  "0.api.dast.api.common.7457.match.solution.s0.o0": "To prevent Broken Object Level Authorization (BOLA) vulnerabilities, the server must verify that the requesting user has the appropriate permissions to access the object identifier (ID, UUID, etc.).",
  "0.api.dast.api.common.7457.match.solution.s0.o1": "Additionally, object identifiers should be generated in a way that makes them difficult to predict, preventing attackers from easily guessing or manipulating them.",
  "0.api.dast.api.common.7458.match.attack.s0.o0": "To check the JWT signature bypass (None Algorithm) vulnerability, a request that replaced the algorithm of the JWT header with {0} has been sent to the server.",
  "0.api.dast.api.common.7458.match.attack.s1.o0": "{0}",
  "0.api.dast.api.common.7458.match.attack.s1.o1": "{0}",
  "0.api.dast.api.common.7458.match.result.s0.o0": "As a result of the request, the server has returned a normal response as it is.",
  "0.api.dast.api.common.7458.match.result.s0.o1": "The analysis confirms that the server allows the non algorithm.",
  "0.api.dast.api.common.7458.match.solution.s0.o0": "To prevent JWT signature bypass vulnerabilities, the server must not allow the none algorithm.",
  "0.api.dast.api.common.7458.match.solution.s0.o1": "Additionally, during the signature verification step, if the signature is missing or not correctly set, the request should be blocked.",
  "0.api.dast.api.common.7458.match.solution.s1.o0": "Most modern JWT libraries do not support the none algorithm.",
  "0.api.dast.api.common.7458.match.solution.s1.o1": "However, some older versions do allow it, so it is essential to apply the latest version.",
  "0.api.dast.api.common.7459.match.attack.s0.o0": "To check the JWT signature bypass (Blank Secret) vulnerability, a request that replaced the secret of the JWT signature with {0} has been sent to the server.",
  "0.api.dast.api.common.7459.match.attack.s1.o0": "{0}",
  "0.api.dast.api.common.7459.match.attack.s1.o1": "{0}",
  "0.api.dast.api.common.7459.match.result.s0.o0": "As a result of the request, the server has returned a normal response as it is.",
  "0.api.dast.api.common.7459.match.result.s0.o1": "The analysis confirms that the server does not properly validate the signature of the JWT or uses an empty string as secret key.",
  "0.api.dast.api.common.7459.match.solution.s0.o0": "When validating a JWT, the server must check that the token contains a valid signature and verify its value.",
  "0.api.dast.api.common.7459.match.solution.s0.o1": "The secret key used for the signature must be sufficiently complex, and empty strings or easily guessable values should not be used.",
  "0.api.dast.api.common.7459.match.solution.s0.o2": "Additionally, the server should restrict the use of only allowed algorithms and block any requests if a token with a missing or tampered signature is detected.",
  "0.api.dast.api.common.7460.match.attack.s0.o0": "To check that the server properly validate the signature of JWT, a request without the signature has been sent to the server.",
  "0.api.dast.api.common.7460.match.attack.s1.o0": "{0}",
  "0.api.dast.api.common.7460.match.attack.s1.o1": "{0}",
  "0.api.dast.api.common.7460.match.result.s0.o0": "As a result of the request, the server has returned a normal response as it is.",
  "0.api.dast.api.common.7460.match.result.s0.o1": "The analysis confirms that the server does not properly validate the signature of the JWT.",
  "0.api.dast.api.common.7460.match.solution.s0.o0": "When validating a JWT, the server must check that the token contains a valid signature and verify its value.",
  "0.api.dast.api.common.7460.match.solution.s0.o1": "Additionally, the server should restrict the use of only allowed algorithms and block any requests if a token is detected to be missing a signature or has been tampered with.",
  "0.api.dast.api.common.7461.match.attack.s0.o0": "To check the JWT reuse vulnerability, an API endpoint requesting the JWT authentication was first identified, then, the following steps were carried out.",
  "0.api.dast.api.common.7461.match.attack.s1.o0": "1. After normal log-in, a valid JWT was created, then, the following request has been submitted to the endpoint that is identified with the JWT.",
  "0.api.dast.api.common.7461.match.attack.s2.o0": "{0}",
  "0.api.dast.api.common.7461.match.attack.s2.o1": "{0}",
  "0.api.dast.api.common.7461.match.attack.s3.o0": "2. Logout The event clipboard is used to succeed log-outs.",
  "0.api.dast.api.common.7461.match.attack.s4.o0": "3. After log-out, the request from step 1 has been submitted to the same endpoint to check that the JWT is added to the blacklist.",
  "0.api.dast.api.common.7461.match.result.s0.o0": "As a result of sending the same request after log-out, the server has returned a normal response as it is.",
  "0.api.dast.api.common.7461.match.result.s0.o1": "The analysis confirms that the server does not add the JWT to the blacklist after logout.",
  "0.api.dast.api.common.7461.match.solution.s0.o0": "The server should register the Access Token in a blacklist when a logout, session termination, or abnormal behavior is detected, ensuring it is no longer used for authentication. ",
  "0.api.dast.api.common.7461.match.solution.s0.o1": "It is recommended to store tokens managed in the blacklist in an in-memory store (e.g., Redis) that has faster lookup speeds than a regular database, and configure it to automatically delete tokens when their expiration time (exp) is reached.",
  "0.api.dast.api.common.7461.match.solution.s0.o2": "Subsequently, when an authentication request is received, the server should check whether the token included in the request is registered in the blacklist, and if so, deny the request.",
  "0.api.dast.api.common.7461.match.solution.s1.o0": "Additionally, the validity period of the Access Token should be set short, and by using a Refresh Token to periodically reissue new Access Tokens, the possibility of reusing stolen tokens should be minimized.",
  "0.event.absolute_path_disclosure.path.attack.s0.o0": "The Absolute Path Exposure vulnerability is caused by exposing absolute file paths.",
  "0.event.absolute_path_disclosure.path.attack.s1.o0": "To check the Absolute Path Exposure vulnerability, the following process has been performed.",
  "0.event.absolute_path_disclosure.path.attack.s2.o0": "Checked texts within the page for absolute paths.",
  "0.event.absolute_path_disclosure.path.result.s0.o0": "The test results are shown as follows.",
  "0.event.absolute_path_disclosure.path.result.s1.o0": "Possible absolute path information has been found from the page text  as follow.",
  "0.event.absolute_path_disclosure.path.result.s2.o0": "{0}",
  "0.event.absolute_path_disclosure.path.result.s3.o0": "As a result of the test, the Absolute Path Exposure vulnerability has been found to exist.",
  "0.event.absolute_path_disclosure.path.solution.s0.o0": "The solution is shown as follow.",
  "0.event.absolute_path_disclosure.path.solution.s1.o0": "Please delete the following information to prevent exposing absolute path information in the page.",
  "0.event.blind_ldap_injection.conditional.apiReqInfo": "{0}",
  "0.event.blind_ldap_injection.conditional.apiReqMsg": "The following API request has been occurred as a result of executing {0} event during attempted attack.",
  "0.event.blind_ldap_injection.conditional.apireqinfo": "{0}",
  "0.event.blind_ldap_injection.conditional.apireqmsg": "The following API request has occurred as a result of executing {0} event during attempted attack.",
  "0.event.blind_ldap_injection.error.attack.s0.o0": "To reach an attack target page, the following process has been performed.",
  "0.event.blind_ldap_injection.error.attack.s0.o1": "{0}",
  "0.event.blind_ldap_injection.error.attack.s1.o0": "The following string has been entered in all {0} elements of the attack target page:",
  "0.event.blind_ldap_injection.error.attack.s1.o1": "{0}",
  "0.event.blind_ldap_injection.error.attack.s2.o0": "{1} event has been performed in elements with XPath {0}.",
  "0.event.blind_ldap_injection.error.result.s0.o0": "After executing an event, the following string has been found in DOM of the attack target page.",
  "0.event.blind_ldap_injection.error.result.s0.o1": "{0}",
  "0.event.blind_ldap_injection.error.result.s1.o0": "As a result of the analysis, a string inferred to be an error message of the LDAP statement has been found.",
  "0.event.blind_ldap_injection.error.result.s1.o1": "Therefore, information about the LDAP queries used by the target page can be gathered through the error messages generated by the triggered event.",
  "0.event.blind_ldap_injection.error.result.s2.o0": "The issue has been found in the following page.",
  "0.event.blind_ldap_injection.error.result.s2.o1": "{0}",
  "0.event.blind_ldap_injection.error.solution.s0.o0": "When an error occurs due to the processing of an LDAP statement, an appropriate level of error message must be printed.",
  "0.event.blind_ldap_injection.error.solution.s0.o1": "An error message needs to allow end users to be aware of an error condition without inferring operation information within a server.",
  "0.event.blind_sql_injection.conditional.apiReqInfo": "{0}",
  "0.event.blind_sql_injection.conditional.apiReqMsg": "The following API request has been occurred as a result of executing {0} event during attempted attack.",
  "0.event.blind_sql_injection.conditional.apireqinfo": "{0}",
  "0.event.blind_sql_injection.conditional.apireqmsg": "The following API request has occurred as a result of executing {0} event during attempted attack.",
  "0.event.blind_sql_injection.error.attack.s0.o0": "To reach an attack target page, the following process has been performed.",
  "0.event.blind_sql_injection.error.attack.s0.o1": "{0}",
  "0.event.blind_sql_injection.error.attack.s1.o0": "The following string has been entered in all {0} elements of the attack target page:",
  "0.event.blind_sql_injection.error.attack.s1.o1": "{0}",
  "0.event.blind_sql_injection.error.attack.s2.o0": "{1} event has been performed in elements with XPath {0}.",
  "0.event.blind_sql_injection.error.result.s0.o0": "After executing an event, the following string has been found in DOM of the attack target page.",
  "0.event.blind_sql_injection.error.result.s0.o1": "{0}",
  "0.event.blind_sql_injection.error.result.s1.o0": "As a result of the analysis, a string inferred to be a DBMS error message has been found.",
  "0.event.blind_sql_injection.error.result.s1.o1": "Therefore, information about DB and SQL statement, which is used to attack a target page through an error message generated by an malicious event, can be collected.",
  "0.event.blind_sql_injection.error.result.s2.o0": "The issue has been found in the following page.",
  "0.event.blind_sql_injection.error.result.s2.o1": "{0}",
  "0.event.blind_sql_injection.error.solution.s0.o0": "If an error occurs due to the processing of an SQL statement, an appropriate level of error message must be printed.",
  "0.event.blind_sql_injection.error.solution.s0.o1": "An error message needs to allow end users to be aware of an error condition without inferring operation information within a server.",
  "0.event.blind_xpath_injection.conditional.apiReqInfo": "{0}",
  "0.event.blind_xpath_injection.conditional.apiReqMsg": "The following API request has been occurred as a result of executing {0} event during attempted attack.",
  "0.event.blind_xpath_injection.conditional.apireqinfo": "{0}",
  "0.event.blind_xpath_injection.conditional.apireqmsg": "The following API request has occurred as a result of executing {0} event during attempted attack.",
  "0.event.blind_xpath_injection.error.attack.s0.o0": "To reach an attack target page, the following process has been performed.",
  "0.event.blind_xpath_injection.error.attack.s0.o1": "{0}",
  "0.event.blind_xpath_injection.error.attack.s1.o0": "The following string has been entered in all {0} elements of the attack target page:",
  "0.event.blind_xpath_injection.error.attack.s1.o1": "{0}",
  "0.event.blind_xpath_injection.error.attack.s2.o0": "{1} event has been performed in elements with XPath {0}.",
  "0.event.blind_xpath_injection.error.result.s0.o0": "After executing an event, the following string has been found in DOM of the attack target page.",
  "0.event.blind_xpath_injection.error.result.s0.o1": "{0}",
  "0.event.blind_xpath_injection.error.result.s1.o0": "As a result of the analysis, a string inferred to be an error message of an XPath expression has been found.",
  "0.event.blind_xpath_injection.error.result.s1.o1": "Therefore, information about the XPath expression, which is used to attack a target page through an error message generated by an malicious event, can be collected.",
  "0.event.blind_xpath_injection.error.result.s2.o0": "The issue has been found in the following page.",
  "0.event.blind_xpath_injection.error.result.s2.o1": "{0}",
  "0.event.blind_xpath_injection.error.solution.s0.o0": "If an XPath expression causes an error, its error message need to be adjusted not to be shown whether XPath expression is used.",
  "0.event.blind_xpath_injection.error.solution.s0.o1": "An error message needs to allow end users to be aware of an error condition without inferring operation information within a server.",
  "0.event.broken_skip_link.broken.attack.s0.o0": "You have accessed to the analysis target page with the following process.",
  "0.event.broken_skip_link.broken.attack.s0.o1": "{0}",
  "0.event.broken_skip_link.broken.attack.s2.o0": "The analysis target page has been checked for HTML document.",
  "0.event.broken_skip_link.broken.attack.s3.o0": "The skip link has been searched in an analysis target page.",
  "0.event.broken_skip_link.broken.attack.s4.o0": "The element connected with the skip link has been searched.",
  "0.event.broken_skip_link.broken.result.s0.o0": "The HTML document is the analysis target page.",
  "0.event.broken_skip_link.broken.result.s1.o0": "{0} element, a skip link to an analysis target page, has been found. An XPath of the element is shown as follow.",
  "0.event.broken_skip_link.broken.result.s1.o1": "{0}",
  "0.event.broken_skip_link.broken.result.s2.o0": "{0} attribute of the element is shown as follow.",
  "0.event.broken_skip_link.broken.result.s2.o1": "{0}",
  "0.event.broken_skip_link.broken.result.s3.o0": "The following element has not been found in {0} or {1} attribute of the analysis target page.",
  "0.event.broken_skip_link.broken.result.s3.o1": "{0}",
  "0.event.broken_skip_link.broken.result.s4.o0": "Without the element, its element connected to a skip link to the analysis target page has not been found.",
  "0.event.broken_skip_link.broken.solution.s0.o0": "Set the following for {0} or {1} attribute of the element to be connected to a skip link.",
  "0.event.broken_skip_link.broken.solution.s0.o1": "{0}",
  "0.event.command_injection.conditional.apiReqInfo": "{0}",
  "0.event.command_injection.conditional.apiReqMsg": "In addition, the following API request has been occurred as a result of executing {0} event during attempted attack.",
  "0.event.command_injection.conditional.apireqinfo": "{0}",
  "0.event.command_injection.conditional.apireqmsg": "In addition, the following API request has been occurred as a result of executing {0} event during attempted attack.",
  "0.event.command_injection.os.attack.s0.o0": "The OS Command Injection vulnerability is caused by using user inputs ​​in operating system statements, which allows an attacker to execute malicious and dangerous OS commands.",
  "0.event.command_injection.os.attack.s1.o0": "The following attempted attack has been executed to check the OS command injection vulnerability:",
  "0.event.command_injection.os.attack.s2.o0": "To check all {0} elements for the attack targets, the following process has been performed.",
  "0.event.command_injection.os.attack.s3.o0": "{0}",
  "0.event.command_injection.os.attack.s4.o0": "The following has been entered in the attack target:",
  "0.event.command_injection.os.attack.s5.o0": "{0}",
  "0.event.command_injection.os.attack.s6.o0": "{0} event has been performed on the following elements:",
  "0.event.command_injection.os.attack.s7.o0": "{0}",
  "0.event.command_injection.os.result.s0.o0": "The attack results are shown as follows.",
  "0.event.command_injection.os.result.s1.o0": "As a result of executing the event, the following command execution result has been found in the DOM.",
  "0.event.command_injection.os.result.s2.o0": "{0}",
  "0.event.command_injection.os.result.s3.o0": "This confirms that {0} command has been executed.",
  "0.event.command_injection.os.result.s4.o0": "As a result of the execution, the attempted attack has been succeeded and the OS Command Injection vulnerability has been found to exist.",
  "0.event.command_injection.os.solution.s0.o0": "The solution is shown as follow.",
  "0.event.command_injection.os.solution.s1.o0": "Validation of external input values ​​is required when using APIs that execute operating system statements that contain external input values.",
  "0.event.command_injection.os.solution.s2.o0": "For the external input value, the following verification and filtering must be performed based on each operating system.",
  "0.event.command_injection.os.solution.s3.o0": "The following validation and filtering need to be performed for {0} affiliated operating systems:",
  "0.event.command_injection.os.solution.s4.o0": "{0}",
  "0.event.command_injection.os.solution.s5.o0": "The following validation and filtering need to be performed for {0} affiliated operating systems:",
  "0.event.command_injection.os.solution.s6.o0": "{0}",
  "0.event.command_injection.os.solution.s7.o0": "Also, for unauthorized users, APIs for executing statements must be restricted to use.",
  "0.event.controllable_form_action.action.attack.s0.o0": "The Controllable Form Action vulnerability is caused when a user input is ​directly used ​to configure action property values ​​in form tags without filtering.",
  "0.event.controllable_form_action.action.attack.s1.o0": "The following attempted attack has been executed to check the Controllable Form Action vulnerability:",
  "0.event.controllable_form_action.action.attack.s2.o0": "To check all {0} elements for the attack targets, the following process has been performed.",
  "0.event.controllable_form_action.action.attack.s3.o0": "{0}",
  "0.event.controllable_form_action.action.attack.s4.o0": "As a search result, the following attack target element has been identified.",
  "0.event.controllable_form_action.action.attack.s5.o0": "{0}",
  "0.event.controllable_form_action.action.attack.s6.o0": "The following string has been entered to the attack target.",
  "0.event.controllable_form_action.action.attack.s7.o0": "{0}",
  "0.event.controllable_form_action.action.attack.s8.o0": "{0} event has been performed on the following elements:",
  "0.event.controllable_form_action.action.attack.s9.o0": "{0}",
  "0.event.controllable_form_action.action.result.s0.o0": "The attack results are shown as follows.",
  "0.event.controllable_form_action.action.result.s1.o0": "As a result of the event, a form tag with {0} property has been found in the DOM and its property values are as follow.",
  "0.event.controllable_form_action.action.result.s2.o0": "{0}",
  "0.event.controllable_form_action.action.result.s3.o0": "The {0} property value matches with an input during an attempted attack. Therefore, the user input is used directly to configure {1} property in form tags.",
  "0.event.controllable_form_action.action.result.s4.o0": "As a result of the execution, the attempted attack has been succeeded and the Controllable Form Action vulnerability has been found to exist.",
  "0.event.controllable_form_action.action.solution.s0.o0": "The solution is shown as follow.",
  "0.event.controllable_form_action.action.solution.s1.o0": "Do not use the user input to configure the action tag in form tags.",
  "0.event.controllable_form_action.action.solution.s2.o0": "If you need to use the user input, ensure to verify or filter out before using it.",
  "0.event.controllable_form_action.conditional.apiReqInfo": "{0}",
  "0.event.controllable_form_action.conditional.apiReqMsg": "In addition, the following API request has been occurred as a result of executing {0} event during attempted attack.",
  "0.event.controllable_form_action.conditional.apireqinfo": "{0}",
  "0.event.controllable_form_action.conditional.apireqmsg": "In addition, the following API request has been occurred as a result of executing {0} event during attempted attack.",
  "0.event.controllable_reference.attr.attack.s0.o0": "The Controllable Reference vulnerability is caused by using a user input​ without filtering to configure reference location properties of specific tags.",
  "0.event.controllable_reference.attr.attack.s0.o1": "This can happen when using the {2}, {3} property values, which are reference location properties such as the {0}, {1} tags.",
  "0.event.controllable_reference.attr.attack.s1.o0": "The following attempted attack has been executed to check the Controllable Reference vulnerability exists:",
  "0.event.controllable_reference.attr.attack.s2.o0": "To check all {0} elements for the attack targets, the following process has been performed.",
  "0.event.controllable_reference.attr.attack.s3.o0": "{0}",
  "0.event.controllable_reference.attr.attack.s4.o0": "As a search result, the following attack target element has been identified.",
  "0.event.controllable_reference.attr.attack.s5.o0": "{0}",
  "0.event.controllable_reference.attr.attack.s6.o0": "The following string has been entered to the attack target.",
  "0.event.controllable_reference.attr.attack.s7.o0": "{0}",
  "0.event.controllable_reference.attr.attack.s8.o0": "{0} event has been performed on the following elements:",
  "0.event.controllable_reference.attr.attack.s9.o0": "{0}",
  "0.event.controllable_reference.attr.result.s0.o0": "The attack results are shown as follows.",
  "0.event.controllable_reference.attr.result.s1.o0": "As a result of the event, the {1} tag with the {0} property in the DOM has been found, and its property value ​​is as follow.",
  "0.event.controllable_reference.attr.result.s2.o0": "{0}",
  "0.event.controllable_reference.attr.result.s3.o0": "The property value matches with the input value during the attempted attack. Therefore, the property value of the tag is configured by using user input.",
  "0.event.controllable_reference.attr.result.s4.o0": "As a result of the execution, the attempted attack has been succeeded and the Controllable Reference vulnerability has been found to exist.",
  "0.event.controllable_reference.attr.solution.s0.o0": "The solution is shown as follow.",
  "0.event.controllable_reference.attr.solution.s1.o0": "Do not use the user input to configure reference properties in tags.",
  "0.event.controllable_reference.attr.solution.s2.o0": "If you need to use the user input, ensure to verify or filter out before using it.",
  "0.event.controllable_reference.conditional.apiReqInfo": "{0}",
  "0.event.controllable_reference.conditional.apiReqMsg": "In addition, the following API request has been occurred as a result of executing {0} event during attempted attack.",
  "0.event.controllable_reference.conditional.apireqmsg": "In addition, the following API request has been occurred as a result of executing {0} event during attempted attack.",
  "0.event.cookie_missing_httponly_attribute.missing.attack.s0.o0": "Check HttpOnly attribute from the session cookies after log-in.",
  "0.event.cookie_missing_httponly_attribute.missing.result.s0.o0": "The following value is checked in the session cookies.",
  "0.event.cookie_missing_httponly_attribute.missing.result.s0.o1": "{0}",
  "0.event.cookie_missing_httponly_attribute.missing.solution.s0.o0": "You must add the HttpOnly attribute to session cookies to protect against potential XSS attacks by preventing client-side scripts from accessing the cookie.",
  "0.event.csrf.formWithoutToken.attack.s0.o0": "The Cross-site HTTP Request Forgery vulnerability exploits user permissions on their browsers to send HTTP requests for an action desired by attackers.",
  "0.event.csrf.formWithoutToken.attack.s0.o1": "If any form tag does not have a synchronization token to prevent cross-site request forgery vulnerabilities, an attacker can attempt to cross-site request forged attacks using that form tag.",
  "0.event.csrf.formWithoutToken.attack.s1.o0": "To check the Cross-site HTTP Request Forgery vulnerability, the following process has been performed.",
  "0.event.csrf.formWithoutToken.attack.s2.o0": "A valid CSRF token for a particular {0} element has been checked on the elements of the page.",
  "0.event.csrf.formWithoutToken.result.s0.o0": "The test results are shown as follows.",
  "0.event.csrf.formWithoutToken.result.s1.o0": "The test element {0} is shown as follow.",
  "0.event.csrf.formWithoutToken.result.s2.o0": "{0}",
  "0.event.csrf.formWithoutToken.result.s3.o0": "The following element {1} contained in target element {0} has been found.",
  "0.event.csrf.formWithoutToken.result.s4.o0": "{0}",
  "0.event.csrf.formWithoutToken.result.s5.o0": "The proper CSRF token can not be found in any of the {0} elements above.",
  "0.event.csrf.formWithoutToken.result.s6.o0": "As a result of the test, the cross-site request forgery vulnerability has been found to exist.",
  "0.event.csrf.formWithoutToken.solution.s0.o0": "The solution is shown as follow.",
  "0.event.csrf.formWithoutToken.solution.s1.o0": "In order to prevent cross-site request forgery, it is important to add a CSRF token when using the {0} element.",
  "0.event.csrf.formWithoutToken.solution.s1.o1": "With the CSRF token, the server can perform verification on every request.",
  "0.event.csrf.formWithoutToken.solution.s2.o0": "Please see the following to create and use appropriate CSRF tokens.",
  "0.event.csrf.formWithoutToken.solution.s3.o0": "The generation of the CSRF token must occur on a session-by-session basis, and use a random number that is difficult to predict as the value of the token.",
  "0.event.csrf.formWithoutToken.solution.s4.o0": "CSRF tokens must be added as {2} fields with common names, such as {1}, to the {0} element.",
  "0.event.csrf.formWithoutToken.solution.s5.o0": "Exposure of the CSRF token is not good for security, and should only be used for HTTP {0} method requests. It is therefore recommended that all possible HTTP {1} method requests be diverted to HTTP {2} method requests.",
  "0.event.csrf.formWithoutToken.solution.s6.o0": "The example of CSRF token is shown as follow.",
  "0.event.csrf.formWithoutToken.solution.s7.o0": "{0}",
  "0.event.csrf.formwithouttoken.attack.s0.o0": "The Cross-site HTTP Request Forgery vulnerability exploits user permissions on their browsers to send HTTP requests for an action desired by attackers.",
  "0.event.csrf.formwithouttoken.attack.s0.o1": "If any form tag does not have a synchronization token to prevent cross-site request forgery vulnerabilities, an attacker can attempt to cross-site request forged attacks using that form tag.",
  "0.event.csrf.formwithouttoken.attack.s1.o0": "To check the Cross-site HTTP Request Forgery vulnerability, the following process has been performed.",
  "0.event.csrf.formwithouttoken.attack.s2.o0": "A valid CSRF token for a particular {0} element has been checked on the elements of the page.",
  "0.event.csrf.formwithouttoken.result.s0.o0": "The test results are shown as follows.",
  "0.event.csrf.formwithouttoken.result.s1.o0": "The test element {0} is shown as follow.",
  "0.event.csrf.formwithouttoken.result.s2.o0": "{0}",
  "0.event.csrf.formwithouttoken.result.s3.o0": "The following element {1} contained in target element {0} has been found.",
  "0.event.csrf.formwithouttoken.result.s4.o0": "{0}",
  "0.event.csrf.formwithouttoken.result.s5.o0": "The proper CSRF token can not be found in any of the {0} elements above.",
  "0.event.csrf.formwithouttoken.result.s6.o0": "As a result of the test, the cross-site request forgery vulnerability has been found to exist.",
  "0.event.csrf.formwithouttoken.solution.s0.o0": "The solution is shown as follow.",
  "0.event.csrf.formwithouttoken.solution.s1.o0": "In order to prevent cross-site request forgery, it is important to add a CSRF token when using the {0} element.",
  "0.event.csrf.formwithouttoken.solution.s1.o1": "With the CSRF token, the server can perform verification on every request.",
  "0.event.csrf.formwithouttoken.solution.s2.o0": "Please see the following to create and use appropriate CSRF tokens.",
  "0.event.csrf.formwithouttoken.solution.s3.o0": "The generation of the CSRF token must occur on a session-by-session basis, and use a random number that is difficult to predict as the value of the token.",
  "0.event.csrf.formwithouttoken.solution.s4.o0": "CSRF tokens must be added as {2} fields with common names, such as {1}, to the {0} element.",
  "0.event.csrf.formwithouttoken.solution.s5.o0": "Exposure of the CSRF token is not good for security, and should only be used for HTTP {0} method requests. It is therefore recommended that all possible HTTP {1} method requests be diverted to HTTP {2} method requests.",
  "0.event.csrf.formwithouttoken.solution.s6.o0": "The example of CSRF token is shown as follow.",
  "0.event.csrf.formwithouttoken.solution.s7.o0": "{0}",
  "0.event.custom.active_custom.attack.s0.o0": "To reach an attack target page, the following process has been performed.",
  "0.event.custom.active_custom.attack.s0.o1": "{0}",
  "0.event.custom.active_custom.attack.s1.o0": "The following string has been entered in all {0} elements of the attack target page:",
  "0.event.custom.active_custom.attack.s1.o1": "{0}",
  "0.event.custom.active_custom.attack.s1.o2": "The attack string entered corresponds to a custom attack string.",
  "0.event.custom.active_custom.attack.s2.o0": "{1} event has been performed in elements with XPath {0}.",
  "0.event.custom.active_custom.result.s0.o0": "After executing an event, the following string has been found in DOM of the attack target page.",
  "0.event.custom.active_custom.result.s0.o1": "{0}",
  "0.event.custom.active_custom.result.s0.o2": "The string is located to {0} in the DOM of the attack target page.",
  "0.event.custom.active_custom.result.s1.o0": "As a result of the analysis, a string complied with the custom detection rule {0} has been found.",
  "0.event.custom.conditional.apiReqInfo": "{0}",
  "0.event.custom.conditional.apiReqMsg": "In addition, the following API request has been occurred as a result of executing {0} event during attempted attack.",
  "0.event.custom.conditional.apireqinfo": "{0}",
  "0.event.custom.conditional.apireqmsg": "In addition, the following API request has been occurred as a result of executing {0} event during attempted attack.",
  "0.event.custom.passive_custom.attack.s0.o0": "To reach an attack target page, the following process has been performed.",
  "0.event.custom.passive_custom.attack.s0.o1": "{0}",
  "0.event.custom.passive_custom.result.s0.o0": "The following string has been found in the DOM of the attack target page.",
  "0.event.custom.passive_custom.result.s0.o1": "{0}",
  "0.event.custom.passive_custom.result.s0.o2": "The string is located to {0} in the DOM of the attack target page.",
  "0.event.custom.passive_custom.result.s1.o0": "As a result of the analysis, a string complied with the custom detection rule {0} has been found.",
  "0.event.dacg_npm.conditional.alternative": "Do not use a different library other than the one already in use, and do not use any of the features that can cause the vulnerability in the library.",
  "0.event.dacg_npm.conditional.authentication_bypass": "This version of the library contains the authorization bypass vulnerability.",
  "0.event.dacg_npm.conditional.authentication_bypass_description": "Authentication bypass vulnerabilities can bypass a required authentication process.",
  "0.event.dacg_npm.conditional.authentication_bypass_effect": "An attacker can exploit the vulnerability to access and manipulate unauthorized information.",
  "0.event.dacg_npm.conditional.authorization_bypass": "This version of the library contains the authorization bypass vulnerability.",
  "0.event.dacg_npm.conditional.authorization_bypass_description": "Authentication bypass vulnerabilities can bypass a required authentication process.",
  "0.event.dacg_npm.conditional.authorization_bypass_effect": "An attacker can exploit the vulnerability to execute an unauthorized action.",
  "0.event.dacg_npm.conditional.buffer_overflow": "This version of the library contains the buffer overflow vulnerability.",
  "0.event.dacg_npm.conditional.buffer_overflow_description": "The buffer overflow vulnerability is caused by accessing and modifying a location out of specified buffer location.",
  "0.event.dacg_npm.conditional.buffer_overflow_effect": "By exploiting the vulnerability, an attacker can overwrite unintended data in a buffer and manipulate a specific value or flow control of the target application.",
  "0.event.dacg_npm.conditional.clickjacking": "This version of the library contains the click-jacking vulnerability.",
  "0.event.dacg_npm.conditional.clickjacking_description": "The Click-jacking vulnerability is caused by clicking unintended features by a user, which allows an attacker to execute embedded desired codes or scripts .",
  "0.event.dacg_npm.conditional.clickjacking_effect": "An attacker can exploit the vulnerability to gain sensitive information or control of the computer.",
  "0.event.dacg_npm.conditional.code_injection": "This version of the library contains the code injection vulnerability.",
  "0.event.dacg_npm.conditional.code_injection_description": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm.conditional.code_injection_effect": "An attacker can exploit the vulnerability to gain and manipulate sensitive information.",
  "0.event.dacg_npm.conditional.command_injection": "This version of the library contains the command injection vulnerability.",
  "0.event.dacg_npm.conditional.command_injection_description": "The OS Command Injection vulnerability is caused by executing user commands without any verification process.",
  "0.event.dacg_npm.conditional.command_injection_effect": "An attacker can exploit the vulnerability to gain important information of a server or execute unintended behavior.",
  "0.event.dacg_npm.conditional.cors_bypass": "This version of the library contains cross-origin resource sharing(CORS) policy bypass vulnerabilities.",
  "0.event.dacg_npm.conditional.cors_bypass_description": "The Cross-Origin Resource Sharing (CORS) Policy bypassing vulnerability is caused by bypassing Cross-Origin Resource Sharing (CORS) policy.",
  "0.event.dacg_npm.conditional.cors_bypass_effect": "An attacker can exploit the vulnerability to bypass the cross-origin resource sharing (CORS) policy, or insert insecure external code.",
  "0.event.dacg_npm.conditional.crlf_injection": "This version of the library contains the CRLF injection vulnerability.",
  "0.event.dacg_npm.conditional.crlf_injection_description": "The CRLF injection vulnerability is caused by injecting CRLFs through parameters of certain requests.",
  "0.event.dacg_npm.conditional.crlf_injection_effect": "An attacker can exploit the vulnerability to manipulate responses from a server or gain and manipulate user information, such as session, cookie, etc.",
  "0.event.dacg_npm.conditional.csp_bypass": "This version of the library contains the content security policy (CSP) bypass vulnerability.",
  "0.event.dacg_npm.conditional.csp_bypass_description": "Content Security Policy (CSP) bypassing vulnerability is caused by bypassing Content Security Policy which restricts resource location and type retrievable from a site.",
  "0.event.dacg_npm.conditional.csp_bypass_effect": "An attacker can exploit the vulnerability to import manipulate unauthorized types or locations of resources or gain and manipulate user information, such as session, cookie, etc.",
  "0.event.dacg_npm.conditional.csrf": "This version of the library contains the cross-site request forgery (CSRF) vulnerability.",
  "0.event.dacg_npm.conditional.csrf_description": "The Cross-Site Request Forgery (CSRF) vulnerability is caused by forcing unintended actions to a user accessing to a web page by using his permission.",
  "0.event.dacg_npm.conditional.csrf_effect": "The attacker can exploit the privileges of the user accessing the target web page by utilizing the vulnerability, and can forge identity and bypass authentication, view and manipulate important information.",
  "0.event.dacg_npm.conditional.deserialization_of_untrusted_data": "This version of the library contains the Deserialization of Untrusted Data vulnerability.",
  "0.event.dacg_npm.conditional.deserialization_of_untrusted_data_description": "The Deserialization of Untrusted Data vulnerability is caused by deserializing certain data without sufficient verification.",
  "0.event.dacg_npm.conditional.deserialization_of_untrusted_data_effect": "An attacker can exploit the vulnerability to deserialize the wrong type of data, which can lead to unintended behaviors in an application.",
  "0.event.dacg_npm.conditional.directory_traversal": "This version of the library contains the Directory Traversal vulnerability.",
  "0.event.dacg_npm.conditional.directory_traversal_description": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm.conditional.directory_traversal_effect": "An attacker can exploit the vulnerability to access and manipulate files or directories on restricted paths.",
  "0.event.dacg_npm.conditional.dos": "This version of the library contains the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm.conditional.dos_description": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm.conditional.dos_effect": "An attacker can exploit the vulnerability to make a service unavailable for other normal users.",
  "0.event.dacg_npm.conditional.embedded_malicious_code": "This library version includes the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm.conditional.embedded_malicious_code_description": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm.conditional.embedded_malicious_code_effect": "An attacker can use the vulnerability to exploit or manipulate sensitive information about the user.",
  "0.event.dacg_npm.conditional.eval_injection": "This version of the library contains the Eval Injection vulnerability.",
  "0.event.dacg_npm.conditional.eval_injection_description": "The Eval Injection vulnerability is caused when a user input is used for an argument of Eval() function without any verification.",
  "0.event.dacg_npm.conditional.eval_injection_effect": "An attacker can exploit the vulnerability to execute desired scripts and unintended behaviors, or gain key information of a server.",
  "0.event.dacg_npm.conditional.file_upload": "This version of the library contains the File Upload vulnerability.",
  "0.event.dacg_npm.conditional.file_upload_description": "The File Upload vulnerability is caused by uploading files without any verification process.",
  "0.event.dacg_npm.conditional.file_upload_effect": "An attacker can use the vulnerability to upload files that can adversely affect the server.",
  "0.event.dacg_npm.conditional.heap_based_buffer_overflow": "This version of the library contains the Heap-Based Buffer Overflow vulnerability.",
  "0.event.dacg_npm.conditional.heap_based_buffer_overflow_description": "The Heap-Based Buffer Overflow vulnerability is caused by accessing and modifying a heap location out of a specified buffer location.",
  "0.event.dacg_npm.conditional.heap_based_buffer_overflow_effect": "By exploiting the vulnerability, an attacker can overwrite unintended data in a buffer and manipulate a specific value or flow control of the target application.",
  "0.event.dacg_npm.conditional.http_whitelist_bypass": "This version of the library contains the HTTP Whitelist Bypass vulnerability.",
  "0.event.dacg_npm.conditional.http_whitelist_bypass_description": "The HTTP Whitelist Bypass vulnerability disables whitelist-based access restriction policy.",
  "0.event.dacg_npm.conditional.http_whitelist_bypass_effect": "An attacker can use the vulnerability to access specific addresses with limited access, and access to dangerous sites allows the capture and manipulation of user information (sessions, cookies, etc.).",
  "0.event.dacg_npm.conditional.improper_certificate_validation": "This version of the library contains the Improper Certificate Validation vulnerability.",
  "0.event.dacg_npm.conditional.improper_certificate_validation_description": "The Improper Certificate Validation vulnerability is caused by lacking sufficient verification for certificates.",
  "0.event.dacg_npm.conditional.improper_certificate_validation_effect": "An attacker can use the vulnerability to bypass authentication and authorization or to steal and manipulate communication data.",
  "0.event.dacg_npm.conditional.improper_input_validation": "This version of the library contains the Improper Input Validation vulnerability.",
  "0.event.dacg_npm.conditional.improper_input_validation_description": "The Improper Input Validation vulnerability is caused by lacking verification on a user input.",
  "0.event.dacg_npm.conditional.improper_input_validation_effect": "An attacker can exploit the vulnerability to gain key information of a server or execute unintended actions.",
  "0.event.dacg_npm.conditional.improper_privilege_management": "This version of the library contains the Invalid Privilege Management vulnerability.",
  "0.event.dacg_npm.conditional.improper_privilege_management_description": "The Improper Privilege Management vulnerability is caused by lacking sufficient privilege management for specific users.",
  "0.event.dacg_npm.conditional.improper_privilege_management_effect": "An attacker can use the vulnerability to access and manipulate restricted information.",
  "0.event.dacg_npm.conditional.improper_verification_of_cryptographic_signature": "This version of the library contains the Improper Verification of Digital Signature vulnerability.",
  "0.event.dacg_npm.conditional.improper_verification_of_cryptographic_signature_description": "The Improper Verification of Digital Signature vulnerability is caused by lacking sufficient digital signature verification for particular files.",
  "0.event.dacg_npm.conditional.improper_verification_of_cryptographic_signature_effect": "An attacker can use the vulnerability to upload dangerous files and to steal and manipulate sensitive information through the file.",
  "0.event.dacg_npm.conditional.improperly_implemented_security_check_for_standard": "This version of the library contains the Implemented Security Check for Standards vulnerability.",
  "0.event.dacg_npm.conditional.improperly_implemented_security_check_for_standard_description": "The Implemented Security Check for Standards vulnerability is caused by implementing improper security-related logics for standard algorithms, protocols, and technical designs.",
  "0.event.dacg_npm.conditional.improperly_implemented_security_check_for_standard_effect": "An attacker can exploit the vulnerability to gain access to sensitive information, execute abnormal actions on a server, or bypass authentication and authorization.",
  "0.event.dacg_npm.conditional.information_exposure": "This version of the library contains the Information Exposure vulnerability.",
  "0.event.dacg_npm.conditional.information_exposure_description": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm.conditional.information_exposure_effect": "An attacker can exploit the vulnerability to gain access or steal sensitive information.",
  "0.event.dacg_npm.conditional.information_exposure_through_log_files": "This version of the library contains the Information Exposure through Log Files vulnerability.",
  "0.event.dacg_npm.conditional.information_exposure_through_log_files_description": "The Information Exposure through Log Files vulnerability is caused by disclosing log files, which exposes sensitive information.",
  "0.event.dacg_npm.conditional.information_exposure_through_log_files_effect": "An attacker can exploit the vulnerability to gain access or steal sensitive information.",
  "0.event.dacg_npm.conditional.insecure_configuration": "This version of the library contains the Insecure Configuration vulnerability.",
  "0.event.dacg_npm.conditional.insecure_configuration_description": "The Insecure Configuration vulnerability allows external attacks by server or application settings.",
  "0.event.dacg_npm.conditional.insecure_configuration_effect": "An attacker can exploit the vulnerability to gain control of a server or an application operation, and steal or manipulate sensitive information.",
  "0.event.dacg_npm.conditional.insecure_credential_usage": "This version of the library contains the Insecure Credential Usage vulnerability.",
  "0.event.dacg_npm.conditional.insecure_credential_usage_description": "The Insecure Credential Usage vulnerability is caused when a user saves or transmits certificates.",
  "0.event.dacg_npm.conditional.insecure_credential_usage_effect": "An attacker can use the vulnerability to gain access and take over the certificate.",
  "0.event.dacg_npm.conditional.insecure_hashing_algorithm": "This version of the library contains the Insecure Hashing Algorithm vulnerability.",
  "0.event.dacg_npm.conditional.insecure_hashing_algorithm_description": "The Insecure Hashing Algorithm vulnerability is cased by creating duplicate hash values in a hashing function used by a library.",
  "0.event.dacg_npm.conditional.insecure_hashing_algorithm_effect": "An attacker can exploit the vulnerability to replace values with other same hash value, which allows him to get through authentication process.",
  "0.event.dacg_npm.conditional.insecure_temporary_file": "This version of the library contains the Insecure Temporary File vulnerability.",
  "0.event.dacg_npm.conditional.insecure_temporary_file_description": "The Insecure Temporary File vulnerability is caused by misusing temporary files with sensitive information of a server.",
  "0.event.dacg_npm.conditional.insecure_temporary_file_effect": "An attacker can exploit the vulnerability to view sensitive information in temporary files, which can lead to additional attacks.",
  "0.event.dacg_npm.conditional.insufficient_comparison": "This version of the library contains the Insufficient Comparison vulnerability.",
  "0.event.dacg_npm.conditional.insufficient_comparison_description": "The Insufficient Comparison vulnerability can lead to unintended consequences through inadequate comparison operations.",
  "0.event.dacg_npm.conditional.insufficient_comparison_effect": "An attacker can exploit the vulnerability to bypass verification with comparison operations.",
  "0.event.dacg_npm.conditional.jsonp_callback": "This version of the library contains the JSONP Callback vulnerability.",
  "0.event.dacg_npm.conditional.jsonp_callback_description": "The JSONP Callback vulnerability is caused by using a JSONP callback to gain an access permission to a user's browser or JavaScript contexts.",
  "0.event.dacg_npm.conditional.jsonp_callback_effect": "An attacker can exploit and manipulate user information (session, cookie, etc.) by exploiting the vulnerability.",
  "0.event.dacg_npm.conditional.ldap_injection": "This version of the library contains the LDAP Injection vulnerability.",
  "0.event.dacg_npm.conditional.ldap_injection_description": "The LDAP Injection vulnerability is caused by using user inputs to construct LDAP statements without any verification.",
  "0.event.dacg_npm.conditional.ldap_injection_effect": "An attacker can exploit the vulnerability to manipulate LDAP structures within an application and to gain sensitive information.",
  "0.event.dacg_npm.conditional.link_following": "This version of the library contains the Link Following vulnerability.",
  "0.event.dacg_npm.conditional.link_following_description": "The Link Following vulnerability is caused by using links to access specific files.",
  "0.event.dacg_npm.conditional.link_following_effect": "An attacker can use the vulnerability to view and manipulate the contents of restricted files.",
  "0.event.dacg_npm.conditional.mitm": "This version of the library contains the Man in the Middle (MitM) vulnerability.",
  "0.event.dacg_npm.conditional.mitm_description": "The Man in the Middle (MitM) vulnerability is caused by stealing external network communications.",
  "0.event.dacg_npm.conditional.mitm_effect": "An attacker can use the vulnerability to eavesdrop on or manipulate communications.",
  "0.event.dacg_npm.conditional.open_redirect": "This version of the library contains the URL Redirection to Untrusted Site vulnerability.",
  "0.event.dacg_npm.conditional.open_redirect_description": "The URL Redirection to Untrusted Site vulnerability is caused by using unreliable user inputs to construct URLs and perform a redirection to them.",
  "0.event.dacg_npm.conditional.open_redirect_effect": "An attacker can use the vulnerability to force a user to connect to a malicious site, such as a phishing site.",
  "0.event.dacg_npm.conditional.prototype_pollution": "This version of the library contains the Prototype Pollution vulnerability.",
  "0.event.dacg_npm.conditional.prototype_pollution_description": "The Prototype Pollution vulnerability is caused by using JavaScript to manipulate object prototypes.",
  "0.event.dacg_npm.conditional.prototype_pollution_effect": "An attacker can exploit the vulnerability to modify and gain property information in all objects.",
  "0.event.dacg_npm.conditional.redos": "This version of the library contains the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm.conditional.redos_description": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm.conditional.redos_effect": "An attacker can exploit the vulnerability to make a service unavailable for other normal users.",
  "0.event.dacg_npm.conditional.resources_downloaded_over_insecure_protocol": "This version of the library contains the Resource Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm.conditional.resources_downloaded_over_insecure_protocol_description": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm.conditional.resources_downloaded_over_insecure_protocol_effect": "An attacker can use the vulnerability to exploit or manipulate the target resource for download from outside.",
  "0.event.dacg_npm.conditional.sandbox_bypass": "This version of the library contains the Sandbox Bypass vulnerability.",
  "0.event.dacg_npm.conditional.sandbox_bypass_description": "The Sandbox Bypass vulnerability is caused by escaping from a limited sandbox environment.",
  "0.event.dacg_npm.conditional.sandbox_bypass_effect": "An attacker can exploit the vulnerability to access and manipulate information outside a sandbox.",
  "0.event.dacg_npm.conditional.sql_injection": "This version of the library contains the SQL Injection vulnerability.",
  "0.event.dacg_npm.conditional.sql_injection_description": "The SQL Injection vulnerability is caused by manipulating SQL queries or executing unintended SQL statements.",
  "0.event.dacg_npm.conditional.sql_injection_effect": "An attacker can exploit and manipulate sensitive information within the database by exploiting the vulnerability.",
  "0.event.dacg_npm.conditional.symlink_following": "This version of the library contains the Symbolic Link Following vulnerability.",
  "0.event.dacg_npm.conditional.symlink_following_description": "The Symbolic Link Following vulnerability is caused by using symbolic links to access specific files.",
  "0.event.dacg_npm.conditional.symlink_following_effect": "An attacker can use the vulnerability to view and manipulate the contents of restricted files.",
  "0.event.dacg_npm.conditional.timing_attack": "This version of the library contains the Timing Attack vulnerability.",
  "0.event.dacg_npm.conditional.timing_attack_description": "The Timing Attack vulnerability causes comparisons to be stopped as soon as different part is found in the comparisons such as strings.",
  "0.event.dacg_npm.conditional.timing_attack_effect": "An attacker can use the vulnerability to calculate spending times, and estimate sensitive information such as passwords.",
  "0.event.dacg_npm.conditional.upgrade": "Your current version of library is required to update into later version than {0}.",
  "0.event.dacg_npm.conditional.use_of_insufficiently_random_values": "This version of the library contains the Use of Insufficient Random Number vulnerability.",
  "0.event.dacg_npm.conditional.use_of_insufficiently_random_values_description": "The Use of Insufficient Random Number vulnerability is caused by using predictable random numbers.",
  "0.event.dacg_npm.conditional.use_of_insufficiently_random_values_effect": "An attacker can exploit the vulnerability to infer a random number value of a password or decryption key.",
  "0.event.dacg_npm.conditional.version_eq": "The {0} version library with contains the vulnerability.",
  "0.event.dacg_npm.conditional.version_ge_le": "Library with version that is less than or equal to {0} and greater than or equal to {1} contains the vulnerability.",
  "0.event.dacg_npm.conditional.version_ge_lt": "Library with version that is less than {0} and greater than or equal to {1} contains the vulnerability.",
  "0.event.dacg_npm.conditional.version_gt_le": "Library with version that is less than or equal to {0} and greater than {1} contains the vulnerability.",
  "0.event.dacg_npm.conditional.version_gt_lt": "Library with version that is less than {0} and greater than {1} contains the vulnerability.",
  "0.event.dacg_npm.conditional.xas": "This version of the library contains the Cross-Application Script (XAS) vulnerability.",
  "0.event.dacg_npm.conditional.xas_description": "The Cross-Application Script (XAS) vulnerability is caused by entering any values in a web application.",
  "0.event.dacg_npm.conditional.xas_effect": "An attacker can exploit the vulnerability to execute unintended actions, and access or manipulate important information with high privileges in application environment.",
  "0.event.dacg_npm.conditional.xml_injection": "This version of the library contains the XML Injection vulnerability.",
  "0.event.dacg_npm.conditional.xml_injection_description": "The XML Injection vulnerability is caused by injecting unintended XML tags into existing XML structures.",
  "0.event.dacg_npm.conditional.xml_injection_effect": "An attacker can exploit the vulnerability to manipulate XML structures and access or manipulate unauthorized information.",
  "0.event.dacg_npm.conditional.xss": "This version of the library contains the Cross-Site Scripting (XSS) vulnerability.",
  "0.event.dacg_npm.conditional.xss_description": "The Cross-Site Scripting (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm.conditional.xss_effect": "An attacker can use the vulnerability to inject and execute a malicious script, and to steal and manipulate user information (session, cookie, etc.).",
  "0.event.dacg_npm.conditional.xxe_injection": "This version of the library contains the XML External Entity (XXE) Injection vulnerability.",
  "0.event.dacg_npm.conditional.xxe_injection_description": "The XML External Entity (XXE) Injection vulnerability is caused by using external URL resources, such as objects, in XML documents without verification process.",
  "0.event.dacg_npm.conditional.xxe_injection_effect": "An attacker can exploit the vulnerability to gain sensitive information, and execute the resource consumption or DoS attacks such as Billion Laughs.",
  "0.event.dacg_npm.version.attack.s0.o0": "To reach an attack target page, the following process has been performed.",
  "0.event.dacg_npm.version.attack.s0.o1": "{0}",
  "0.event.dacg_npm.version.result.s0.o0": "The following string has been found in {2} property value of {0} element {1} of the attack target page.",
  "0.event.dacg_npm.version.result.s0.o1": "{0}",
  "0.event.dacg_npm.version.result.s1.o0": "As a result of the analysis, the {0} version of {1} library has been found to use on the attack target page.",
  "0.event.dacg_npm__11xiaoli__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__11xiaoli__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__11xiaoli__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__11xiaoli__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__11xiaoli__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__11xiaoli__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__11xiaoli__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__11xiaoli__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__11xiaoli__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__11xiaoli__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__11xiaoli__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__11xiaoli__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__11xiaoli__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__11xiaoli__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__11xiaoli__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__11xiaoli__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__22lixian__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__22lixian__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__22lixian__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__22lixian__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__22lixian__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__22lixian__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__22lixian__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__22lixian__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__22lixian__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__22lixian__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__22lixian__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__22lixian__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__22lixian__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__22lixian__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__22lixian__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__22lixian__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__626__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__626__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__626__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__626__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__626__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__626__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__626__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__626__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__626__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__626__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__626__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__626__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__626__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__626__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__626__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__626__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__abaaso__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__abaaso__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__abaaso__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__abaaso__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__abaaso__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__abaaso__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__abaaso__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__abaaso__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__abaaso__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__abaaso__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__abaaso__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__abaaso__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__abaaso__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__abaaso__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__abaaso__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__abaaso__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__actionhero__ge_13_0_0_lt_15_1_2__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__actionhero__ge_13_0_0_lt_15_1_2__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__actionhero__ge_13_0_0_lt_15_1_2__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__actionhero__ge_13_0_0_lt_15_1_2__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__actionhero__ge_13_0_0_lt_15_1_2__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__actionhero__ge_13_0_0_lt_15_1_2__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__actionhero__ge_13_0_0_lt_15_1_2__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__actionhero__ge_13_0_0_lt_15_1_2__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__actionhero__ge_13_0_0_lt_15_1_2__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__actionhero__ge_13_0_0_lt_15_1_2__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__actionhero__ge_13_0_0_lt_15_1_2__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__actionhero__ge_13_0_0_lt_15_1_2__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__actionhero__ge_13_0_0_lt_15_1_2__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__actionhero__ge_13_0_0_lt_15_1_2__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__actionhero__ge_13_0_0_lt_15_1_2__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__actionhero__ge_13_0_0_lt_15_1_2__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__actionhero__ge_1_0_2_lt_4_0_0__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__actionhero__ge_1_0_2_lt_4_0_0__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__actionhero__ge_1_0_2_lt_4_0_0__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__actionhero__ge_1_0_2_lt_4_0_0__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__actionhero__ge_1_0_2_lt_4_0_0__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__actionhero__ge_1_0_2_lt_4_0_0__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__actionhero__ge_1_0_2_lt_4_0_0__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__actionhero__ge_1_0_2_lt_4_0_0__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__actionhero__ge_1_0_2_lt_4_0_0__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__actionhero__ge_1_0_2_lt_4_0_0__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__actionhero__ge_1_0_2_lt_4_0_0__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__actionhero__ge_1_0_2_lt_4_0_0__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__actionhero__ge_1_0_2_lt_4_0_0__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__actionhero__ge_1_0_2_lt_4_0_0__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__actionhero__ge_1_0_2_lt_4_0_0__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__actionhero__ge_1_0_2_lt_4_0_0__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__adamvr_geoip_lite__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__adamvr_geoip_lite__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__adamvr_geoip_lite__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__adamvr_geoip_lite__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__adamvr_geoip_lite__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__adamvr_geoip_lite__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__adamvr_geoip_lite__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__adamvr_geoip_lite__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__adamvr_geoip_lite__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__adamvr_geoip_lite__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__adamvr_geoip_lite__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__adamvr_geoip_lite__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__adamvr_geoip_lite__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__adamvr_geoip_lite__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__adamvr_geoip_lite__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__adamvr_geoip_lite__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__address_rfc2822__lt_2_0_2__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__address_rfc2822__lt_2_0_2__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__address_rfc2822__lt_2_0_2__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__address_rfc2822__lt_2_0_2__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__address_rfc2822__lt_2_0_2__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__address_rfc2822__lt_2_0_2__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__address_rfc2822__lt_2_0_2__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__address_rfc2822__lt_2_0_2__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__address_rfc2822__lt_2_0_2__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__address_rfc2822__lt_2_0_2__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__address_rfc2822__lt_2_0_2__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__address_rfc2822__lt_2_0_2__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__address_rfc2822__lt_2_0_2__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__address_rfc2822__lt_2_0_2__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__address_rfc2822__lt_2_0_2__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__address_rfc2822__lt_2_0_2__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__adm_zip__lt_0_4_11__arbitrary_file_write_via_archive_extraction__zip_slip_.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__adm_zip__lt_0_4_11__arbitrary_file_write_via_archive_extraction__zip_slip_.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__adm_zip__lt_0_4_11__arbitrary_file_write_via_archive_extraction__zip_slip_.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__adm_zip__lt_0_4_11__arbitrary_file_write_via_archive_extraction__zip_slip_.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__adm_zip__lt_0_4_11__arbitrary_file_write_via_archive_extraction__zip_slip_.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__adm_zip__lt_0_4_11__arbitrary_file_write_via_archive_extraction__zip_slip_.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__adm_zip__lt_0_4_11__arbitrary_file_write_via_archive_extraction__zip_slip_.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__adm_zip__lt_0_4_11__arbitrary_file_write_via_archive_extraction__zip_slip_.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__adm_zip__lt_0_4_11__arbitrary_file_write_via_archive_extraction__zip_slip_.dacg.result.s2.o0": "The library is known to include the Arbitrary File Write via Archive Extraction (Zip Slip) vulnerability.",
  "0.event.dacg_npm__adm_zip__lt_0_4_11__arbitrary_file_write_via_archive_extraction__zip_slip_.dacg.result.s3.o0": "The Arbitrary File Write via Archive Extraction (Zip Slip) vulnerability is NO_VULNERABILITY_DESCRIPTION",
  "0.event.dacg_npm__adm_zip__lt_0_4_11__arbitrary_file_write_via_archive_extraction__zip_slip_.dacg.result.s4.o0": "Using the Arbitrary File Write via Archive Extraction (Zip Slip) vulnerability, an attacker can use NO_RESULT_DESCRIPTION",
  "0.event.dacg_npm__adm_zip__lt_0_4_11__arbitrary_file_write_via_archive_extraction__zip_slip_.dacg.result.s5.o0": "As a result of the test, the Arbitrary File Write via Archive Extraction (Zip Slip) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__adm_zip__lt_0_4_11__arbitrary_file_write_via_archive_extraction__zip_slip_.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__adm_zip__lt_0_4_11__arbitrary_file_write_via_archive_extraction__zip_slip_.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__adm_zip__lt_0_4_11__arbitrary_file_write_via_archive_extraction__zip_slip_.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__adm_zip__lt_0_4_11__arbitrary_file_write_via_archive_extraction__zip_slip_.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__aegir__ge_12_0_0_lt_12_0_8__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__aegir__ge_12_0_0_lt_12_0_8__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__aegir__ge_12_0_0_lt_12_0_8__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__aegir__ge_12_0_0_lt_12_0_8__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__aegir__ge_12_0_0_lt_12_0_8__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__aegir__ge_12_0_0_lt_12_0_8__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__aegir__ge_12_0_0_lt_12_0_8__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__aegir__ge_12_0_0_lt_12_0_8__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__aegir__ge_12_0_0_lt_12_0_8__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__aegir__ge_12_0_0_lt_12_0_8__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__aegir__ge_12_0_0_lt_12_0_8__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__aegir__ge_12_0_0_lt_12_0_8__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__aegir__ge_12_0_0_lt_12_0_8__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__aegir__ge_12_0_0_lt_12_0_8__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__aegir__ge_12_0_0_lt_12_0_8__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__aegir__ge_12_0_0_lt_12_0_8__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__aerospike__lt_2_4_2__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__aerospike__lt_2_4_2__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__aerospike__lt_2_4_2__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__aerospike__lt_2_4_2__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__aerospike__lt_2_4_2__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__aerospike__lt_2_4_2__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__aerospike__lt_2_4_2__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__aerospike__lt_2_4_2__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__aerospike__lt_2_4_2__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__aerospike__lt_2_4_2__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__aerospike__lt_2_4_2__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__aerospike__lt_2_4_2__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__aerospike__lt_2_4_2__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__aerospike__lt_2_4_2__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__aerospike__lt_2_4_2__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__aerospike__lt_2_4_2__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ag_grid__ge_13_0_0_lt_14_0_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ag_grid__ge_13_0_0_lt_14_0_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ag_grid__ge_13_0_0_lt_14_0_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ag_grid__ge_13_0_0_lt_14_0_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ag_grid__ge_13_0_0_lt_14_0_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ag_grid__ge_13_0_0_lt_14_0_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ag_grid__ge_13_0_0_lt_14_0_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ag_grid__ge_13_0_0_lt_14_0_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ag_grid__ge_13_0_0_lt_14_0_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__ag_grid__ge_13_0_0_lt_14_0_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__ag_grid__ge_13_0_0_lt_14_0_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__ag_grid__ge_13_0_0_lt_14_0_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ag_grid__ge_13_0_0_lt_14_0_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ag_grid__ge_13_0_0_lt_14_0_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ag_grid__ge_13_0_0_lt_14_0_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ag_grid__ge_13_0_0_lt_14_0_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ag_grid__ge_3_3_0_lt_5_0_0_alpha_0__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ag_grid__ge_3_3_0_lt_5_0_0_alpha_0__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ag_grid__ge_3_3_0_lt_5_0_0_alpha_0__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ag_grid__ge_3_3_0_lt_5_0_0_alpha_0__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ag_grid__ge_3_3_0_lt_5_0_0_alpha_0__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ag_grid__ge_3_3_0_lt_5_0_0_alpha_0__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ag_grid__ge_3_3_0_lt_5_0_0_alpha_0__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ag_grid__ge_3_3_0_lt_5_0_0_alpha_0__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ag_grid__ge_3_3_0_lt_5_0_0_alpha_0__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__ag_grid__ge_3_3_0_lt_5_0_0_alpha_0__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__ag_grid__ge_3_3_0_lt_5_0_0_alpha_0__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__ag_grid__ge_3_3_0_lt_5_0_0_alpha_0__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ag_grid__ge_3_3_0_lt_5_0_0_alpha_0__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ag_grid__ge_3_3_0_lt_5_0_0_alpha_0__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ag_grid__ge_3_3_0_lt_5_0_0_alpha_0__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ag_grid__ge_3_3_0_lt_5_0_0_alpha_0__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ag_grid__lt_0_0_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ag_grid__lt_0_0_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ag_grid__lt_0_0_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ag_grid__lt_0_0_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ag_grid__lt_0_0_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ag_grid__lt_0_0_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ag_grid__lt_0_0_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ag_grid__lt_0_0_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ag_grid__lt_0_0_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__ag_grid__lt_0_0_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__ag_grid__lt_0_0_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__ag_grid__lt_0_0_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ag_grid__lt_0_0_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ag_grid__lt_0_0_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ag_grid__lt_0_0_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ag_grid__lt_0_0_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__air_sdk__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__air_sdk__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__air_sdk__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__air_sdk__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__air_sdk__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__air_sdk__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__air_sdk__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__air_sdk__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__air_sdk__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__air_sdk__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__air_sdk__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__air_sdk__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__air_sdk__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__air_sdk__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__air_sdk__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__air_sdk__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__airbrake__le_0_3_8__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__airbrake__le_0_3_8__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__airbrake__le_0_3_8__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__airbrake__le_0_3_8__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__airbrake__le_0_3_8__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__airbrake__le_0_3_8__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__airbrake__le_0_3_8__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__airbrake__le_0_3_8__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__airbrake__le_0_3_8__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__airbrake__le_0_3_8__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__airbrake__le_0_3_8__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__airbrake__le_0_3_8__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__airbrake__le_0_3_8__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__airbrake__le_0_3_8__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__airbrake__le_0_3_8__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__airbrake__le_0_3_8__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__alto_saxophone__lt_2_25_1__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__alto_saxophone__lt_2_25_1__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__alto_saxophone__lt_2_25_1__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__alto_saxophone__lt_2_25_1__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__alto_saxophone__lt_2_25_1__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__alto_saxophone__lt_2_25_1__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__alto_saxophone__lt_2_25_1__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__alto_saxophone__lt_2_25_1__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__alto_saxophone__lt_2_25_1__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__alto_saxophone__lt_2_25_1__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__alto_saxophone__lt_2_25_1__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__alto_saxophone__lt_2_25_1__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__alto_saxophone__lt_2_25_1__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__alto_saxophone__lt_2_25_1__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__alto_saxophone__lt_2_25_1__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__alto_saxophone__lt_2_25_1__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__amqp_match__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__amqp_match__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__amqp_match__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__amqp_match__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__amqp_match__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__amqp_match__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__amqp_match__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__amqp_match__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__amqp_match__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__amqp_match__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__amqp_match__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__amqp_match__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__amqp_match__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__amqp_match__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__amqp_match__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__amqp_match__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__anarchy__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__anarchy__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__anarchy__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__anarchy__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__anarchy__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__anarchy__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__anarchy__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__anarchy__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__anarchy__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__anarchy__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__anarchy__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__anarchy__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__anarchy__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__anarchy__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__anarchy__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__anarchy__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_2_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_2_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_2_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_2_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_2_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_2_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_2_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_2_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_2_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_2_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_2_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_2_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_2_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_2_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_2_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_2_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_2_30__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_2_30__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_2_30__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_2_30__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_2_30__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_2_30__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_2_30__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_2_30__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_2_30__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_2_30__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_2_30__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_2_30__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_2_30__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_2_30__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_2_30__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_2_30__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_5_0_beta_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_5_0_beta_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_5_0_beta_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_5_0_beta_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_5_0_beta_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_5_0_beta_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_5_0_beta_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_5_0_beta_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_5_0_beta_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_5_0_beta_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_5_0_beta_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_5_0_beta_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_5_0_beta_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_5_0_beta_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_5_0_beta_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__angular__ge_1_0_0_lt_1_5_0_beta_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__angular__ge_1_2_19_lt_1_2_24__deserialization_of_untrusted_data.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__angular__ge_1_2_19_lt_1_2_24__deserialization_of_untrusted_data.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__angular__ge_1_2_19_lt_1_2_24__deserialization_of_untrusted_data.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__angular__ge_1_2_19_lt_1_2_24__deserialization_of_untrusted_data.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__angular__ge_1_2_19_lt_1_2_24__deserialization_of_untrusted_data.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__angular__ge_1_2_19_lt_1_2_24__deserialization_of_untrusted_data.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__angular__ge_1_2_19_lt_1_2_24__deserialization_of_untrusted_data.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__angular__ge_1_2_19_lt_1_2_24__deserialization_of_untrusted_data.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__angular__ge_1_2_19_lt_1_2_24__deserialization_of_untrusted_data.dacg.result.s2.o0": "The library is known to include the Deserialization of Untrusted Data vulnerability.",
  "0.event.dacg_npm__angular__ge_1_2_19_lt_1_2_24__deserialization_of_untrusted_data.dacg.result.s3.o0": "The Deserialization of Untrusted Data vulnerability is caused by deserializing data without verification.",
  "0.event.dacg_npm__angular__ge_1_2_19_lt_1_2_24__deserialization_of_untrusted_data.dacg.result.s4.o0": "Using the Deserialization of Untrusted Data vulnerability, an attacker can force the target application to deserialize the wrong type of data, which can lead to unintended behavior of the application.",
  "0.event.dacg_npm__angular__ge_1_2_19_lt_1_2_24__deserialization_of_untrusted_data.dacg.result.s5.o0": "As a result of the test, the Deserialization of Untrusted Data vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__angular__ge_1_2_19_lt_1_2_24__deserialization_of_untrusted_data.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__angular__ge_1_2_19_lt_1_2_24__deserialization_of_untrusted_data.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__angular__ge_1_2_19_lt_1_2_24__deserialization_of_untrusted_data.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__angular__ge_1_2_19_lt_1_2_24__deserialization_of_untrusted_data.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__angular__ge_1_3_0_lt_1_5_0_rc_2__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__angular__ge_1_3_0_lt_1_5_0_rc_2__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__angular__ge_1_3_0_lt_1_5_0_rc_2__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__angular__ge_1_3_0_lt_1_5_0_rc_2__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__angular__ge_1_3_0_lt_1_5_0_rc_2__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__angular__ge_1_3_0_lt_1_5_0_rc_2__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__angular__ge_1_3_0_lt_1_5_0_rc_2__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__angular__ge_1_3_0_lt_1_5_0_rc_2__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__angular__ge_1_3_0_lt_1_5_0_rc_2__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__angular__ge_1_3_0_lt_1_5_0_rc_2__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__angular__ge_1_3_0_lt_1_5_0_rc_2__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__angular__ge_1_3_0_lt_1_5_0_rc_2__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__angular__ge_1_3_0_lt_1_5_0_rc_2__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__angular__ge_1_3_0_lt_1_5_0_rc_2__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__angular__ge_1_3_0_lt_1_5_0_rc_2__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__angular__ge_1_3_0_lt_1_5_0_rc_2__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__angular__ge_1_3_1_lt_1_5_0_beta_0__clickjacking.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__angular__ge_1_3_1_lt_1_5_0_beta_0__clickjacking.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__angular__ge_1_3_1_lt_1_5_0_beta_0__clickjacking.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__angular__ge_1_3_1_lt_1_5_0_beta_0__clickjacking.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__angular__ge_1_3_1_lt_1_5_0_beta_0__clickjacking.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__angular__ge_1_3_1_lt_1_5_0_beta_0__clickjacking.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__angular__ge_1_3_1_lt_1_5_0_beta_0__clickjacking.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__angular__ge_1_3_1_lt_1_5_0_beta_0__clickjacking.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__angular__ge_1_3_1_lt_1_5_0_beta_0__clickjacking.dacg.result.s2.o0": "The library is known to include the Click-jacking vulnerability.",
  "0.event.dacg_npm__angular__ge_1_3_1_lt_1_5_0_beta_0__clickjacking.dacg.result.s3.o0": "The Click-jacking vulnerability is caused by clicking unintended features by a user, which allows an attacker to execute embedded desired codes or scripts .",
  "0.event.dacg_npm__angular__ge_1_3_1_lt_1_5_0_beta_0__clickjacking.dacg.result.s4.o0": "Using the Click-jacking vulnerability, an attacker can gain sensitive information or control of the computer.",
  "0.event.dacg_npm__angular__ge_1_3_1_lt_1_5_0_beta_0__clickjacking.dacg.result.s5.o0": "As a result of the test, the Clickjacking vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__angular__ge_1_3_1_lt_1_5_0_beta_0__clickjacking.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__angular__ge_1_3_1_lt_1_5_0_beta_0__clickjacking.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__angular__ge_1_3_1_lt_1_5_0_beta_0__clickjacking.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__angular__ge_1_3_1_lt_1_5_0_beta_0__clickjacking.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__angular__ge_1_5_0_lt_1_5_9__csp_bypass.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__angular__ge_1_5_0_lt_1_5_9__csp_bypass.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__angular__ge_1_5_0_lt_1_5_9__csp_bypass.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__angular__ge_1_5_0_lt_1_5_9__csp_bypass.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__angular__ge_1_5_0_lt_1_5_9__csp_bypass.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__angular__ge_1_5_0_lt_1_5_9__csp_bypass.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__angular__ge_1_5_0_lt_1_5_9__csp_bypass.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__angular__ge_1_5_0_lt_1_5_9__csp_bypass.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__angular__ge_1_5_0_lt_1_5_9__csp_bypass.dacg.result.s2.o0": "The library is known to include the Content Security Policy (CSP) Bypass vulnerability.",
  "0.event.dacg_npm__angular__ge_1_5_0_lt_1_5_9__csp_bypass.dacg.result.s3.o0": "Content Security Policy (CSP) bypassing vulnerability is caused by bypassing Content Security Policy which restricts resource location and type retrievable from a site.",
  "0.event.dacg_npm__angular__ge_1_5_0_lt_1_5_9__csp_bypass.dacg.result.s4.o0": "Using the CSP Bypass vulnerability, an attacker can call resources in restricted type or location to the target site, and steal or manipulate user information (such as session, cookie).",
  "0.event.dacg_npm__angular__ge_1_5_0_lt_1_5_9__csp_bypass.dacg.result.s5.o0": "As a result of the test, the Content Security Policy (CSP) Bypass vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__angular__ge_1_5_0_lt_1_5_9__csp_bypass.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__angular__ge_1_5_0_lt_1_5_9__csp_bypass.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__angular__ge_1_5_0_lt_1_5_9__csp_bypass.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__angular__ge_1_5_0_lt_1_5_9__csp_bypass.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__angular__le_1_1_5__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__angular__le_1_1_5__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__angular__le_1_1_5__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__angular__le_1_1_5__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__angular__le_1_1_5__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__angular__le_1_1_5__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__angular__le_1_1_5__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__angular__le_1_1_5__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__angular__le_1_1_5__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__angular__le_1_1_5__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__angular__le_1_1_5__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__angular__le_1_1_5__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__angular__le_1_1_5__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__angular__le_1_1_5__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__angular__le_1_1_5__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__angular__le_1_1_5__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__angular__lt_1_1_5__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__angular__lt_1_1_5__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__angular__lt_1_1_5__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__angular__lt_1_1_5__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__angular__lt_1_1_5__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__angular__lt_1_1_5__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__angular__lt_1_1_5__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__angular__lt_1_1_5__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__angular__lt_1_1_5__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__angular__lt_1_1_5__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__angular__lt_1_1_5__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__angular__lt_1_1_5__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__angular__lt_1_1_5__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__angular__lt_1_1_5__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__angular__lt_1_1_5__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__angular__lt_1_1_5__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__angular__lt_1_2_2__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__angular__lt_1_2_2__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__angular__lt_1_2_2__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__angular__lt_1_2_2__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__angular__lt_1_2_2__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__angular__lt_1_2_2__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__angular__lt_1_2_2__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__angular__lt_1_2_2__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__angular__lt_1_2_2__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__angular__lt_1_2_2__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__angular__lt_1_2_2__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__angular__lt_1_2_2__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__angular__lt_1_2_2__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__angular__lt_1_2_2__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__angular__lt_1_2_2__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__angular__lt_1_2_2__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__angular__lt_1_3_0__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__angular__lt_1_3_0__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__angular__lt_1_3_0__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__angular__lt_1_3_0__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__angular__lt_1_3_0__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__angular__lt_1_3_0__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__angular__lt_1_3_0__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__angular__lt_1_3_0__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__angular__lt_1_3_0__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__angular__lt_1_3_0__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__angular__lt_1_3_0__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__angular__lt_1_3_0__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__angular__lt_1_3_0__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__angular__lt_1_3_0__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__angular__lt_1_3_0__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__angular__lt_1_3_0__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__angular__lt_1_3_0_rc_4__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__angular__lt_1_3_0_rc_4__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__angular__lt_1_3_0_rc_4__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__angular__lt_1_3_0_rc_4__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__angular__lt_1_3_0_rc_4__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__angular__lt_1_3_0_rc_4__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__angular__lt_1_3_0_rc_4__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__angular__lt_1_3_0_rc_4__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__angular__lt_1_3_0_rc_4__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__angular__lt_1_3_0_rc_4__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__angular__lt_1_3_0_rc_4__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__angular__lt_1_3_0_rc_4__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__angular__lt_1_3_0_rc_4__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__angular__lt_1_3_0_rc_4__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__angular__lt_1_3_0_rc_4__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__angular__lt_1_3_0_rc_4__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__angular__lt_1_3_2__command_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__angular__lt_1_3_2__command_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__angular__lt_1_3_2__command_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__angular__lt_1_3_2__command_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__angular__lt_1_3_2__command_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__angular__lt_1_3_2__command_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__angular__lt_1_3_2__command_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__angular__lt_1_3_2__command_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__angular__lt_1_3_2__command_injection.dacg.result.s2.o0": "The library is known to include the OS Command Injection vulnerability.",
  "0.event.dacg_npm__angular__lt_1_3_2__command_injection.dacg.result.s3.o0": "The OS Command Injection vulnerability is caused by executing user commands without any verification process.",
  "0.event.dacg_npm__angular__lt_1_3_2__command_injection.dacg.result.s4.o0": "Using the OS Command Injection vulnerability, an attacker can steal key information of the server and force to perform unintended behaviors.",
  "0.event.dacg_npm__angular__lt_1_3_2__command_injection.dacg.result.s5.o0": "As a result of the test, the OS Command Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__angular__lt_1_3_2__command_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__angular__lt_1_3_2__command_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__angular__lt_1_3_2__command_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__angular__lt_1_3_2__command_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__angular__lt_1_4_10__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__angular__lt_1_4_10__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__angular__lt_1_4_10__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__angular__lt_1_4_10__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__angular__lt_1_4_10__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__angular__lt_1_4_10__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__angular__lt_1_4_10__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__angular__lt_1_4_10__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__angular__lt_1_4_10__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__angular__lt_1_4_10__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__angular__lt_1_4_10__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__angular__lt_1_4_10__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__angular__lt_1_4_10__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__angular__lt_1_4_10__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__angular__lt_1_4_10__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__angular__lt_1_4_10__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__angular__lt_1_5_0_beta_2__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__angular__lt_1_5_0_beta_2__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__angular__lt_1_5_0_beta_2__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__angular__lt_1_5_0_beta_2__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__angular__lt_1_5_0_beta_2__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__angular__lt_1_5_0_beta_2__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__angular__lt_1_5_0_beta_2__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__angular__lt_1_5_0_beta_2__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__angular__lt_1_5_0_beta_2__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__angular__lt_1_5_0_beta_2__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__angular__lt_1_5_0_beta_2__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__angular__lt_1_5_0_beta_2__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__angular__lt_1_5_0_beta_2__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__angular__lt_1_5_0_beta_2__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__angular__lt_1_5_0_beta_2__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__angular__lt_1_5_0_beta_2__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__angular__lt_1_5_0_beta_2__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__angular__lt_1_5_0_beta_2__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__angular__lt_1_5_0_beta_2__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__angular__lt_1_5_0_beta_2__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__angular__lt_1_5_0_beta_2__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__angular__lt_1_5_0_beta_2__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__angular__lt_1_5_0_beta_2__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__angular__lt_1_5_0_beta_2__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__angular__lt_1_5_0_beta_2__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__angular__lt_1_5_0_beta_2__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__angular__lt_1_5_0_beta_2__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__angular__lt_1_5_0_beta_2__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__angular__lt_1_5_0_beta_2__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__angular__lt_1_5_0_beta_2__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__angular__lt_1_5_0_beta_2__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__angular__lt_1_5_0_beta_2__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__angular__lt_1_5_0_rc_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__angular__lt_1_5_0_rc_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__angular__lt_1_5_0_rc_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__angular__lt_1_5_0_rc_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__angular__lt_1_5_0_rc_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__angular__lt_1_5_0_rc_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__angular__lt_1_5_0_rc_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__angular__lt_1_5_0_rc_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__angular__lt_1_5_0_rc_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__angular__lt_1_5_0_rc_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__angular__lt_1_5_0_rc_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__angular__lt_1_5_0_rc_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__angular__lt_1_5_0_rc_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__angular__lt_1_5_0_rc_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__angular__lt_1_5_0_rc_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__angular__lt_1_5_0_rc_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__angular__lt_1_6_1__jsonp_callback.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__angular__lt_1_6_1__jsonp_callback.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__angular__lt_1_6_1__jsonp_callback.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__angular__lt_1_6_1__jsonp_callback.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__angular__lt_1_6_1__jsonp_callback.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__angular__lt_1_6_1__jsonp_callback.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__angular__lt_1_6_1__jsonp_callback.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__angular__lt_1_6_1__jsonp_callback.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__angular__lt_1_6_1__jsonp_callback.dacg.result.s2.o0": "The library is known to include the JSONP Callback vulnerability.",
  "0.event.dacg_npm__angular__lt_1_6_1__jsonp_callback.dacg.result.s3.o0": "The JSONP Callback vulnerability is caused by using a JSONP callback to gain an access permission to a user's browser or JavaScript contexts.",
  "0.event.dacg_npm__angular__lt_1_6_1__jsonp_callback.dacg.result.s4.o0": "Using the JSONP Callback vulnerability, an attacker can steal and manipulate user information (such as session, cookie).",
  "0.event.dacg_npm__angular__lt_1_6_1__jsonp_callback.dacg.result.s5.o0": "As a result of the test, the JSONP Callback vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__angular__lt_1_6_1__jsonp_callback.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__angular__lt_1_6_1__jsonp_callback.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__angular__lt_1_6_1__jsonp_callback.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__angular__lt_1_6_1__jsonp_callback.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__angular__lt_1_6_7__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__angular__lt_1_6_7__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__angular__lt_1_6_7__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__angular__lt_1_6_7__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__angular__lt_1_6_7__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__angular__lt_1_6_7__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__angular__lt_1_6_7__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__angular__lt_1_6_7__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__angular__lt_1_6_7__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__angular__lt_1_6_7__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__angular__lt_1_6_7__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__angular__lt_1_6_7__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__angular__lt_1_6_7__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__angular__lt_1_6_7__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__angular__lt_1_6_7__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__angular__lt_1_6_7__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__angular__lt_1_6_9__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__angular__lt_1_6_9__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__angular__lt_1_6_9__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__angular__lt_1_6_9__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__angular__lt_1_6_9__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__angular__lt_1_6_9__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__angular__lt_1_6_9__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__angular__lt_1_6_9__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__angular__lt_1_6_9__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__angular__lt_1_6_9__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__angular__lt_1_6_9__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__angular__lt_1_6_9__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__angular__lt_1_6_9__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__angular__lt_1_6_9__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__angular__lt_1_6_9__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__angular__lt_1_6_9__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__angular_gettext__le_0_4_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__angular_gettext__le_0_4_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__angular_gettext__le_0_4_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__angular_gettext__le_0_4_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__angular_gettext__le_0_4_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__angular_gettext__le_0_4_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__angular_gettext__le_0_4_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__angular_gettext__le_0_4_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__angular_gettext__le_0_4_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__angular_gettext__le_0_4_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__angular_gettext__le_0_4_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__angular_gettext__le_0_4_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__angular_gettext__le_0_4_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__angular_gettext__le_0_4_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__angular_gettext__le_0_4_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__angular_gettext__le_0_4_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__angular_http_server__lt_1_4_3__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__angular_http_server__lt_1_4_3__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__angular_http_server__lt_1_4_3__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__angular_http_server__lt_1_4_3__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__angular_http_server__lt_1_4_3__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__angular_http_server__lt_1_4_3__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__angular_http_server__lt_1_4_3__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__angular_http_server__lt_1_4_3__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__angular_http_server__lt_1_4_3__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__angular_http_server__lt_1_4_3__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__angular_http_server__lt_1_4_3__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__angular_http_server__lt_1_4_3__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__angular_http_server__lt_1_4_3__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__angular_http_server__lt_1_4_3__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__angular_http_server__lt_1_4_3__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__angular_http_server__lt_1_4_3__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__angular_http_server__lt_1_4_4__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__angular_http_server__lt_1_4_4__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__angular_http_server__lt_1_4_4__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__angular_http_server__lt_1_4_4__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__angular_http_server__lt_1_4_4__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__angular_http_server__lt_1_4_4__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__angular_http_server__lt_1_4_4__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__angular_http_server__lt_1_4_4__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__angular_http_server__lt_1_4_4__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__angular_http_server__lt_1_4_4__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__angular_http_server__lt_1_4_4__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__angular_http_server__lt_1_4_4__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__angular_http_server__lt_1_4_4__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__angular_http_server__lt_1_4_4__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__angular_http_server__lt_1_4_4__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__angular_http_server__lt_1_4_4__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__angular_redactor__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__angular_redactor__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__angular_redactor__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__angular_redactor__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__angular_redactor__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__angular_redactor__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__angular_redactor__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__angular_redactor__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__angular_redactor__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__angular_redactor__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__angular_redactor__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__angular_redactor__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__angular_redactor__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__angular_redactor__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__angular_redactor__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__angular_redactor__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ansi2html__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ansi2html__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ansi2html__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ansi2html__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ansi2html__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ansi2html__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ansi2html__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ansi2html__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ansi2html__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__ansi2html__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__ansi2html__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__ansi2html__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ansi2html__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ansi2html__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ansi2html__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ansi2html__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__anywhere__lt_1_5_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__anywhere__lt_1_5_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__anywhere__lt_1_5_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__anywhere__lt_1_5_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__anywhere__lt_1_5_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__anywhere__lt_1_5_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__anywhere__lt_1_5_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__anywhere__lt_1_5_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__anywhere__lt_1_5_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__anywhere__lt_1_5_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__anywhere__lt_1_5_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__anywhere__lt_1_5_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__anywhere__lt_1_5_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__anywhere__lt_1_5_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__anywhere__lt_1_5_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__anywhere__lt_1_5_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__api_proxy__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__api_proxy__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__api_proxy__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__api_proxy__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__api_proxy__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__api_proxy__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__api_proxy__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__api_proxy__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__api_proxy__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__api_proxy__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__api_proxy__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__api_proxy__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__api_proxy__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__api_proxy__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__api_proxy__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__api_proxy__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__apk_parser2__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__apk_parser2__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__apk_parser2__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__apk_parser2__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__apk_parser2__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__apk_parser2__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__apk_parser2__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__apk_parser2__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__apk_parser2__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__apk_parser2__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__apk_parser2__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__apk_parser2__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__apk_parser2__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__apk_parser2__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__apk_parser2__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__apk_parser2__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__apk_parser3__lt_0_1_3__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__apk_parser3__lt_0_1_3__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__apk_parser3__lt_0_1_3__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__apk_parser3__lt_0_1_3__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__apk_parser3__lt_0_1_3__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__apk_parser3__lt_0_1_3__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__apk_parser3__lt_0_1_3__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__apk_parser3__lt_0_1_3__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__apk_parser3__lt_0_1_3__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__apk_parser3__lt_0_1_3__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__apk_parser3__lt_0_1_3__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__apk_parser3__lt_0_1_3__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__apk_parser3__lt_0_1_3__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__apk_parser3__lt_0_1_3__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__apk_parser3__lt_0_1_3__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__apk_parser3__lt_0_1_3__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__apk_parser__lt_0_1_6__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__apk_parser__lt_0_1_6__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__apk_parser__lt_0_1_6__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__apk_parser__lt_0_1_6__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__apk_parser__lt_0_1_6__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__apk_parser__lt_0_1_6__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__apk_parser__lt_0_1_6__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__apk_parser__lt_0_1_6__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__apk_parser__lt_0_1_6__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__apk_parser__lt_0_1_6__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__apk_parser__lt_0_1_6__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__apk_parser__lt_0_1_6__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__apk_parser__lt_0_1_6__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__apk_parser__lt_0_1_6__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__apk_parser__lt_0_1_6__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__apk_parser__lt_0_1_6__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__appium_chromedriver__lt_2_9_4__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__appium_chromedriver__lt_2_9_4__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__appium_chromedriver__lt_2_9_4__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__appium_chromedriver__lt_2_9_4__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__appium_chromedriver__lt_2_9_4__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__appium_chromedriver__lt_2_9_4__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__appium_chromedriver__lt_2_9_4__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__appium_chromedriver__lt_2_9_4__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__appium_chromedriver__lt_2_9_4__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__appium_chromedriver__lt_2_9_4__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__appium_chromedriver__lt_2_9_4__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__appium_chromedriver__lt_2_9_4__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__appium_chromedriver__lt_2_9_4__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__appium_chromedriver__lt_2_9_4__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__appium_chromedriver__lt_2_9_4__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__appium_chromedriver__lt_2_9_4__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__arcanist__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__arcanist__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__arcanist__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__arcanist__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__arcanist__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__arcanist__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__arcanist__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__arcanist__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__arcanist__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__arcanist__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__arcanist__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__arcanist__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__arcanist__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__arcanist__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__arcanist__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__arcanist__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__arrayfire_js__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__arrayfire_js__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__arrayfire_js__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__arrayfire_js__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__arrayfire_js__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__arrayfire_js__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__arrayfire_js__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__arrayfire_js__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__arrayfire_js__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__arrayfire_js__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__arrayfire_js__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__arrayfire_js__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__arrayfire_js__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__arrayfire_js__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__arrayfire_js__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__arrayfire_js__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__aso_server__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__aso_server__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__aso_server__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__aso_server__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__aso_server__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__aso_server__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__aso_server__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__aso_server__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__aso_server__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__aso_server__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__aso_server__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__aso_server__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__aso_server__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__aso_server__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__aso_server__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__aso_server__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__asset_cache__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__asset_cache__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__asset_cache__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__asset_cache__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__asset_cache__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__asset_cache__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__asset_cache__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__asset_cache__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__asset_cache__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__asset_cache__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__asset_cache__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__asset_cache__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__asset_cache__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__asset_cache__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__asset_cache__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__asset_cache__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__assign_deep__lt_0_4_7__prototype_pollution.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__assign_deep__lt_0_4_7__prototype_pollution.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__assign_deep__lt_0_4_7__prototype_pollution.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__assign_deep__lt_0_4_7__prototype_pollution.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__assign_deep__lt_0_4_7__prototype_pollution.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__assign_deep__lt_0_4_7__prototype_pollution.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__assign_deep__lt_0_4_7__prototype_pollution.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__assign_deep__lt_0_4_7__prototype_pollution.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__assign_deep__lt_0_4_7__prototype_pollution.dacg.result.s2.o0": "The library is known to include the Prototype Pollution vulnerability.",
  "0.event.dacg_npm__assign_deep__lt_0_4_7__prototype_pollution.dacg.result.s3.o0": "The Prototype Pollution vulnerability is caused by manipulating prototypes of JavaScript objects.",
  "0.event.dacg_npm__assign_deep__lt_0_4_7__prototype_pollution.dacg.result.s4.o0": "Using the Prototype Pollution vulnerability, an attacker can modify and capture property information for all objects.",
  "0.event.dacg_npm__assign_deep__lt_0_4_7__prototype_pollution.dacg.result.s5.o0": "As a result of the test, the Prototype Pollution vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__assign_deep__lt_0_4_7__prototype_pollution.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__assign_deep__lt_0_4_7__prototype_pollution.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__assign_deep__lt_0_4_7__prototype_pollution.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__assign_deep__lt_0_4_7__prototype_pollution.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__astronomia__lt_1_3_9__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__astronomia__lt_1_3_9__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__astronomia__lt_1_3_9__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__astronomia__lt_1_3_9__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__astronomia__lt_1_3_9__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__astronomia__lt_1_3_9__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__astronomia__lt_1_3_9__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__astronomia__lt_1_3_9__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__astronomia__lt_1_3_9__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__astronomia__lt_1_3_9__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__astronomia__lt_1_3_9__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__astronomia__lt_1_3_9__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__astronomia__lt_1_3_9__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__astronomia__lt_1_3_9__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__astronomia__lt_1_3_9__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__astronomia__lt_1_3_9__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__atob__lt_2_1_0__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__atob__lt_2_1_0__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__atob__lt_2_1_0__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__atob__lt_2_1_0__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__atob__lt_2_1_0__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__atob__lt_2_1_0__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__atob__lt_2_1_0__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__atob__lt_2_1_0__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__atob__lt_2_1_0__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__atob__lt_2_1_0__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__atob__lt_2_1_0__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__atob__lt_2_1_0__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__atob__lt_2_1_0__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__atob__lt_2_1_0__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__atob__lt_2_1_0__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__atob__lt_2_1_0__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__atom_node_module_installer__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__atom_node_module_installer__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__atom_node_module_installer__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__atom_node_module_installer__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__atom_node_module_installer__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__atom_node_module_installer__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__atom_node_module_installer__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__atom_node_module_installer__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__atom_node_module_installer__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__atom_node_module_installer__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__atom_node_module_installer__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__atom_node_module_installer__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__atom_node_module_installer__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__atom_node_module_installer__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__atom_node_module_installer__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__atom_node_module_installer__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__atropa_ide__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__atropa_ide__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__atropa_ide__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__atropa_ide__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__atropa_ide__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__atropa_ide__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__atropa_ide__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__atropa_ide__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__atropa_ide__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__atropa_ide__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__atropa_ide__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__atropa_ide__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__atropa_ide__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__atropa_ide__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__atropa_ide__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__atropa_ide__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__atropa_server__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__atropa_server__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__atropa_server__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__atropa_server__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__atropa_server__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__atropa_server__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__atropa_server__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__atropa_server__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__atropa_server__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__atropa_server__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__atropa_server__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__atropa_server__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__atropa_server__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__atropa_server__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__atropa_server__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__atropa_server__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__augustine__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__augustine__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__augustine__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__augustine__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__augustine__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__augustine__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__augustine__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__augustine__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__augustine__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__augustine__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__augustine__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__augustine__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__augustine__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__augustine__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__augustine__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__augustine__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__auth0_js__lt_8_12__1__improper_privilege_management.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__auth0_js__lt_8_12__1__improper_privilege_management.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__auth0_js__lt_8_12__1__improper_privilege_management.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__auth0_js__lt_8_12__1__improper_privilege_management.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__auth0_js__lt_8_12__1__improper_privilege_management.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__auth0_js__lt_8_12__1__improper_privilege_management.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__auth0_js__lt_8_12__1__improper_privilege_management.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__auth0_js__lt_8_12__1__improper_privilege_management.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__auth0_js__lt_8_12__1__improper_privilege_management.dacg.result.s2.o0": "The library is known to include the Improper Privilege Management vulnerability.",
  "0.event.dacg_npm__auth0_js__lt_8_12__1__improper_privilege_management.dacg.result.s3.o0": "The Improper Privilege Management vulnerability is caused by lacking sufficient privilege management for specific users.",
  "0.event.dacg_npm__auth0_js__lt_8_12__1__improper_privilege_management.dacg.result.s4.o0": "Using the Improper Privilege Management vulnerability, an attacker can access to and manipulation of limited information.",
  "0.event.dacg_npm__auth0_js__lt_8_12__1__improper_privilege_management.dacg.result.s5.o0": "As a result of the test, the Improper Privilege Management vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__auth0_js__lt_8_12__1__improper_privilege_management.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__auth0_js__lt_8_12__1__improper_privilege_management.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__auth0_js__lt_8_12__1__improper_privilege_management.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__auth0_js__lt_8_12__1__improper_privilege_management.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__auth0_js__lt_9_0_0__csrf.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__auth0_js__lt_9_0_0__csrf.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__auth0_js__lt_9_0_0__csrf.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__auth0_js__lt_9_0_0__csrf.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__auth0_js__lt_9_0_0__csrf.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__auth0_js__lt_9_0_0__csrf.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__auth0_js__lt_9_0_0__csrf.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__auth0_js__lt_9_0_0__csrf.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__auth0_js__lt_9_0_0__csrf.dacg.result.s2.o0": "The library is known to include the Cross-site Request Forgery (CSRF) vulnerability.",
  "0.event.dacg_npm__auth0_js__lt_9_0_0__csrf.dacg.result.s3.o0": "The Cross-site Request Forgery (CSRF) vulnerability forces a user to perform unintended action by accessing to a web page with his permission.",
  "0.event.dacg_npm__auth0_js__lt_9_0_0__csrf.dacg.result.s4.o0": "Using the Cross-site Request Forgery (CSRF) vulnerability, an attacker can acquire a user permission to access the target web page for identity forgery, authentication bypassing, and view or manipulation of important information.",
  "0.event.dacg_npm__auth0_js__lt_9_0_0__csrf.dacg.result.s5.o0": "As a result of the test, the Cross-site Request Forgery (CSRF) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__auth0_js__lt_9_0_0__csrf.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__auth0_js__lt_9_0_0__csrf.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__auth0_js__lt_9_0_0__csrf.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__auth0_js__lt_9_0_0__csrf.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__auth0_js__lt_9_3__1__csrf.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__auth0_js__lt_9_3__1__csrf.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__auth0_js__lt_9_3__1__csrf.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__auth0_js__lt_9_3__1__csrf.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__auth0_js__lt_9_3__1__csrf.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__auth0_js__lt_9_3__1__csrf.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__auth0_js__lt_9_3__1__csrf.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__auth0_js__lt_9_3__1__csrf.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__auth0_js__lt_9_3__1__csrf.dacg.result.s2.o0": "The library is known to include the Cross-site Request Forgery (CSRF) vulnerability.",
  "0.event.dacg_npm__auth0_js__lt_9_3__1__csrf.dacg.result.s3.o0": "The Cross-site Request Forgery (CSRF) vulnerability forces a user to perform unintended action by accessing to a web page with his permission.",
  "0.event.dacg_npm__auth0_js__lt_9_3__1__csrf.dacg.result.s4.o0": "Using the Cross-site Request Forgery (CSRF) vulnerability, an attacker can acquire a user permission to access the target web page for identity forgery, authentication bypassing, and view or manipulation of important information.",
  "0.event.dacg_npm__auth0_js__lt_9_3__1__csrf.dacg.result.s5.o0": "As a result of the test, the Cross-site Request Forgery (CSRF) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__auth0_js__lt_9_3__1__csrf.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__auth0_js__lt_9_3__1__csrf.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__auth0_js__lt_9_3__1__csrf.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__auth0_js__lt_9_3__1__csrf.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__auth0_lock__lt_11_0_0__csrf.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__auth0_lock__lt_11_0_0__csrf.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__auth0_lock__lt_11_0_0__csrf.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__auth0_lock__lt_11_0_0__csrf.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__auth0_lock__lt_11_0_0__csrf.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__auth0_lock__lt_11_0_0__csrf.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__auth0_lock__lt_11_0_0__csrf.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__auth0_lock__lt_11_0_0__csrf.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__auth0_lock__lt_11_0_0__csrf.dacg.result.s2.o0": "The library is known to include the Cross-site Request Forgery (CSRF) vulnerability.",
  "0.event.dacg_npm__auth0_lock__lt_11_0_0__csrf.dacg.result.s3.o0": "The Cross-site Request Forgery (CSRF) vulnerability forces a user to perform unintended action by accessing to a web page with his permission.",
  "0.event.dacg_npm__auth0_lock__lt_11_0_0__csrf.dacg.result.s4.o0": "Using the Cross-site Request Forgery (CSRF) vulnerability, an attacker can acquire a user permission to access the target web page for identity forgery, authentication bypassing, and view or manipulation of important information.",
  "0.event.dacg_npm__auth0_lock__lt_11_0_0__csrf.dacg.result.s5.o0": "As a result of the test, the Cross-site Request Forgery (CSRF) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__auth0_lock__lt_11_0_0__csrf.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__auth0_lock__lt_11_0_0__csrf.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__auth0_lock__lt_11_0_0__csrf.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__auth0_lock__lt_11_0_0__csrf.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__awning__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__awning__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__awning__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__awning__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__awning__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__awning__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__awning__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__awning__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__awning__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__awning__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__awning__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__awning__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__awning__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__awning__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__awning__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__awning__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__aws_lambda_multipart_parser__lt_0_1_2__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__aws_lambda_multipart_parser__lt_0_1_2__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__aws_lambda_multipart_parser__lt_0_1_2__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__aws_lambda_multipart_parser__lt_0_1_2__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__aws_lambda_multipart_parser__lt_0_1_2__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__aws_lambda_multipart_parser__lt_0_1_2__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__aws_lambda_multipart_parser__lt_0_1_2__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__aws_lambda_multipart_parser__lt_0_1_2__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__aws_lambda_multipart_parser__lt_0_1_2__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__aws_lambda_multipart_parser__lt_0_1_2__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__aws_lambda_multipart_parser__lt_0_1_2__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__aws_lambda_multipart_parser__lt_0_1_2__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__aws_lambda_multipart_parser__lt_0_1_2__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__aws_lambda_multipart_parser__lt_0_1_2__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__aws_lambda_multipart_parser__lt_0_1_2__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__aws_lambda_multipart_parser__lt_0_1_2__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__babelcli__le_1_0_0__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__babelcli__le_1_0_0__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__babelcli__le_1_0_0__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__babelcli__le_1_0_0__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__babelcli__le_1_0_0__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__babelcli__le_1_0_0__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__babelcli__le_1_0_0__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__babelcli__le_1_0_0__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__babelcli__le_1_0_0__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__babelcli__le_1_0_0__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__babelcli__le_1_0_0__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__babelcli__le_1_0_0__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__babelcli__le_1_0_0__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__babelcli__le_1_0_0__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__babelcli__le_1_0_0__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__babelcli__le_1_0_0__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__backbone__le_0_3_3__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__backbone__le_0_3_3__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__backbone__le_0_3_3__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__backbone__le_0_3_3__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__backbone__le_0_3_3__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__backbone__le_0_3_3__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__backbone__le_0_3_3__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__backbone__le_0_3_3__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__backbone__le_0_3_3__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__backbone__le_0_3_3__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__backbone__le_0_3_3__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__backbone__le_0_3_3__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__backbone__le_0_3_3__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__backbone__le_0_3_3__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__backbone__le_0_3_3__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__backbone__le_0_3_3__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__backbone__lt_0_5_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__backbone__lt_0_5_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__backbone__lt_0_5_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__backbone__lt_0_5_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__backbone__lt_0_5_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__backbone__lt_0_5_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__backbone__lt_0_5_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__backbone__lt_0_5_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__backbone__lt_0_5_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__backbone__lt_0_5_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__backbone__lt_0_5_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__backbone__lt_0_5_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__backbone__lt_0_5_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__backbone__lt_0_5_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__backbone__lt_0_5_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__backbone__lt_0_5_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__badjs_sourcemap_server__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__badjs_sourcemap_server__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__badjs_sourcemap_server__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__badjs_sourcemap_server__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__badjs_sourcemap_server__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__badjs_sourcemap_server__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__badjs_sourcemap_server__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__badjs_sourcemap_server__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__badjs_sourcemap_server__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__badjs_sourcemap_server__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__badjs_sourcemap_server__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__badjs_sourcemap_server__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__badjs_sourcemap_server__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__badjs_sourcemap_server__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__badjs_sourcemap_server__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__badjs_sourcemap_server__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__bae_nodejs__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__bae_nodejs__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__bae_nodejs__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__bae_nodejs__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__bae_nodejs__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__bae_nodejs__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__bae_nodejs__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__bae_nodejs__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__bae_nodejs__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__bae_nodejs__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__bae_nodejs__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__bae_nodejs__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__bae_nodejs__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__bae_nodejs__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__bae_nodejs__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__bae_nodejs__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__baryton_saxophone__lt_3_0_1__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__baryton_saxophone__lt_3_0_1__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__baryton_saxophone__lt_3_0_1__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__baryton_saxophone__lt_3_0_1__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__baryton_saxophone__lt_3_0_1__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__baryton_saxophone__lt_3_0_1__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__baryton_saxophone__lt_3_0_1__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__baryton_saxophone__lt_3_0_1__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__baryton_saxophone__lt_3_0_1__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__baryton_saxophone__lt_3_0_1__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__baryton_saxophone__lt_3_0_1__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__baryton_saxophone__lt_3_0_1__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__baryton_saxophone__lt_3_0_1__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__baryton_saxophone__lt_3_0_1__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__baryton_saxophone__lt_3_0_1__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__baryton_saxophone__lt_3_0_1__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__base64_url__lt_2_0_0__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__base64_url__lt_2_0_0__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__base64_url__lt_2_0_0__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__base64_url__lt_2_0_0__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__base64_url__lt_2_0_0__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__base64_url__lt_2_0_0__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__base64_url__lt_2_0_0__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__base64_url__lt_2_0_0__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__base64_url__lt_2_0_0__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__base64_url__lt_2_0_0__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__base64_url__lt_2_0_0__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__base64_url__lt_2_0_0__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__base64_url__lt_2_0_0__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__base64_url__lt_2_0_0__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__base64_url__lt_2_0_0__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__base64_url__lt_2_0_0__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__base64url__lt_3_0_0__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__base64url__lt_3_0_0__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__base64url__lt_3_0_0__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__base64url__lt_3_0_0__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__base64url__lt_3_0_0__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__base64url__lt_3_0_0__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__base64url__lt_3_0_0__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__base64url__lt_3_0_0__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__base64url__lt_3_0_0__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__base64url__lt_3_0_0__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__base64url__lt_3_0_0__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__base64url__lt_3_0_0__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__base64url__lt_3_0_0__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__base64url__lt_3_0_0__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__base64url__lt_3_0_0__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__base64url__lt_3_0_0__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__basic_static__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__basic_static__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__basic_static__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__basic_static__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__basic_static__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__basic_static__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__basic_static__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__basic_static__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__basic_static__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__basic_static__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__basic_static__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__basic_static__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__basic_static__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__basic_static__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__basic_static__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__basic_static__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__bassmaster__le_1_5_1__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__bassmaster__le_1_5_1__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__bassmaster__le_1_5_1__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__bassmaster__le_1_5_1__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__bassmaster__le_1_5_1__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__bassmaster__le_1_5_1__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__bassmaster__le_1_5_1__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__bassmaster__le_1_5_1__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__bassmaster__le_1_5_1__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__bassmaster__le_1_5_1__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__bassmaster__le_1_5_1__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__bassmaster__le_1_5_1__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__bassmaster__le_1_5_1__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__bassmaster__le_1_5_1__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__bassmaster__le_1_5_1__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__bassmaster__le_1_5_1__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__binocular_lamp__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__binocular_lamp__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__binocular_lamp__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__binocular_lamp__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__binocular_lamp__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__binocular_lamp__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__binocular_lamp__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__binocular_lamp__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__binocular_lamp__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__binocular_lamp__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__binocular_lamp__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__binocular_lamp__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__binocular_lamp__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__binocular_lamp__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__binocular_lamp__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__binocular_lamp__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__bionode_sra__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__bionode_sra__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__bionode_sra__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__bionode_sra__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__bionode_sra__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__bionode_sra__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__bionode_sra__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__bionode_sra__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__bionode_sra__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__bionode_sra__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__bionode_sra__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__bionode_sra__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__bionode_sra__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__bionode_sra__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__bionode_sra__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__bionode_sra__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__bittorrent_dht__lt_5_1_3__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__bittorrent_dht__lt_5_1_3__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__bittorrent_dht__lt_5_1_3__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__bittorrent_dht__lt_5_1_3__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__bittorrent_dht__lt_5_1_3__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__bittorrent_dht__lt_5_1_3__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__bittorrent_dht__lt_5_1_3__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__bittorrent_dht__lt_5_1_3__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__bittorrent_dht__lt_5_1_3__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__bittorrent_dht__lt_5_1_3__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__bittorrent_dht__lt_5_1_3__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__bittorrent_dht__lt_5_1_3__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__bittorrent_dht__lt_5_1_3__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__bittorrent_dht__lt_5_1_3__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__bittorrent_dht__lt_5_1_3__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__bittorrent_dht__lt_5_1_3__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__bitty__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__bitty__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__bitty__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__bitty__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__bitty__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__bitty__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__bitty__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__bitty__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__bitty__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__bitty__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__bitty__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__bitty__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__bitty__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__bitty__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__bitty__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__bitty__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__bkjs_wand__lt_0_3_2__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__bkjs_wand__lt_0_3_2__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__bkjs_wand__lt_0_3_2__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__bkjs_wand__lt_0_3_2__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__bkjs_wand__lt_0_3_2__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__bkjs_wand__lt_0_3_2__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__bkjs_wand__lt_0_3_2__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__bkjs_wand__lt_0_3_2__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__bkjs_wand__lt_0_3_2__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__bkjs_wand__lt_0_3_2__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__bkjs_wand__lt_0_3_2__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__bkjs_wand__lt_0_3_2__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__bkjs_wand__lt_0_3_2__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__bkjs_wand__lt_0_3_2__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__bkjs_wand__lt_0_3_2__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__bkjs_wand__lt_0_3_2__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__bl__ge_1_0_0_lt_1_0_1__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__bl__ge_1_0_0_lt_1_0_1__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__bl__ge_1_0_0_lt_1_0_1__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__bl__ge_1_0_0_lt_1_0_1__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__bl__ge_1_0_0_lt_1_0_1__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__bl__ge_1_0_0_lt_1_0_1__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__bl__ge_1_0_0_lt_1_0_1__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__bl__ge_1_0_0_lt_1_0_1__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__bl__ge_1_0_0_lt_1_0_1__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__bl__ge_1_0_0_lt_1_0_1__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__bl__ge_1_0_0_lt_1_0_1__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__bl__ge_1_0_0_lt_1_0_1__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__bl__ge_1_0_0_lt_1_0_1__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__bl__ge_1_0_0_lt_1_0_1__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__bl__ge_1_0_0_lt_1_0_1__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__bl__ge_1_0_0_lt_1_0_1__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__bl__lt_0_9_5__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__bl__lt_0_9_5__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__bl__lt_0_9_5__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__bl__lt_0_9_5__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__bl__lt_0_9_5__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__bl__lt_0_9_5__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__bl__lt_0_9_5__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__bl__lt_0_9_5__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__bl__lt_0_9_5__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__bl__lt_0_9_5__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__bl__lt_0_9_5__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__bl__lt_0_9_5__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__bl__lt_0_9_5__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__bl__lt_0_9_5__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__bl__lt_0_9_5__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__bl__lt_0_9_5__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__bleach__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__bleach__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__bleach__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__bleach__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__bleach__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__bleach__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__bleach__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__bleach__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__bleach__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__bleach__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__bleach__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__bleach__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__bleach__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__bleach__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__bleach__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__bleach__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__blocks__lt_0_3_5__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__blocks__lt_0_3_5__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__blocks__lt_0_3_5__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__blocks__lt_0_3_5__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__blocks__lt_0_3_5__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__blocks__lt_0_3_5__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__blocks__lt_0_3_5__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__blocks__lt_0_3_5__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__blocks__lt_0_3_5__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__blocks__lt_0_3_5__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__blocks__lt_0_3_5__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__blocks__lt_0_3_5__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__blocks__lt_0_3_5__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__blocks__lt_0_3_5__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__blocks__lt_0_3_5__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__blocks__lt_0_3_5__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__boom__lt_0_3_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__boom__lt_0_3_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__boom__lt_0_3_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__boom__lt_0_3_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__boom__lt_0_3_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__boom__lt_0_3_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__boom__lt_0_3_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__boom__lt_0_3_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__boom__lt_0_3_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__boom__lt_0_3_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__boom__lt_0_3_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__boom__lt_0_3_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__boom__lt_0_3_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__boom__lt_0_3_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__boom__lt_0_3_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__boom__lt_0_3_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__bootstrap__ge_4_0_0_alpha_lt_4_0_0_beta_2__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__bootstrap__ge_4_0_0_alpha_lt_4_0_0_beta_2__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__bootstrap__ge_4_0_0_alpha_lt_4_0_0_beta_2__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__bootstrap__ge_4_0_0_alpha_lt_4_0_0_beta_2__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__bootstrap__ge_4_0_0_alpha_lt_4_0_0_beta_2__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__bootstrap__ge_4_0_0_alpha_lt_4_0_0_beta_2__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__bootstrap__ge_4_0_0_alpha_lt_4_0_0_beta_2__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__bootstrap__ge_4_0_0_alpha_lt_4_0_0_beta_2__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__bootstrap__ge_4_0_0_alpha_lt_4_0_0_beta_2__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__bootstrap__ge_4_0_0_alpha_lt_4_0_0_beta_2__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__bootstrap__ge_4_0_0_alpha_lt_4_0_0_beta_2__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__bootstrap__ge_4_0_0_alpha_lt_4_0_0_beta_2__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__bootstrap__ge_4_0_0_alpha_lt_4_0_0_beta_2__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__bootstrap__ge_4_0_0_alpha_lt_4_0_0_beta_2__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__bootstrap__ge_4_0_0_alpha_lt_4_0_0_beta_2__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__bootstrap__ge_4_0_0_alpha_lt_4_0_0_beta_2__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__bootstrap__ge_4_0_0_lt_4_1_2__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__bootstrap__ge_4_0_0_lt_4_1_2__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__bootstrap__ge_4_0_0_lt_4_1_2__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__bootstrap__ge_4_0_0_lt_4_1_2__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__bootstrap__ge_4_0_0_lt_4_1_2__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__bootstrap__ge_4_0_0_lt_4_1_2__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__bootstrap__ge_4_0_0_lt_4_1_2__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__bootstrap__ge_4_0_0_lt_4_1_2__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__bootstrap__ge_4_0_0_lt_4_1_2__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__bootstrap__ge_4_0_0_lt_4_1_2__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__bootstrap__ge_4_0_0_lt_4_1_2__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__bootstrap__ge_4_0_0_lt_4_1_2__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__bootstrap__ge_4_0_0_lt_4_1_2__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__bootstrap__ge_4_0_0_lt_4_1_2__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__bootstrap__ge_4_0_0_lt_4_1_2__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__bootstrap__ge_4_0_0_lt_4_1_2__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__bootstrap__lt_2_1_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__bootstrap__lt_2_1_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__bootstrap__lt_2_1_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__bootstrap__lt_2_1_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__bootstrap__lt_2_1_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__bootstrap__lt_2_1_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__bootstrap__lt_2_1_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__bootstrap__lt_2_1_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__bootstrap__lt_2_1_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__bootstrap__lt_2_1_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__bootstrap__lt_2_1_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__bootstrap__lt_2_1_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__bootstrap__lt_2_1_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__bootstrap__lt_2_1_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__bootstrap__lt_2_1_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__bootstrap__lt_2_1_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__bootstrap__lt_3_4_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__bootstrap__lt_3_4_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__bootstrap__lt_3_4_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__bootstrap__lt_3_4_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__bootstrap__lt_3_4_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__bootstrap__lt_3_4_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__bootstrap__lt_3_4_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__bootstrap__lt_3_4_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__bootstrap__lt_3_4_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__bootstrap__lt_3_4_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__bootstrap__lt_3_4_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__bootstrap__lt_3_4_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__bootstrap__lt_3_4_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__bootstrap__lt_3_4_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__bootstrap__lt_3_4_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__bootstrap__lt_3_4_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__bootstrap_markdown__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__bootstrap_markdown__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__bootstrap_markdown__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__bootstrap_markdown__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__bootstrap_markdown__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__bootstrap_markdown__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__bootstrap_markdown__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__bootstrap_markdown__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__bootstrap_markdown__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__bootstrap_markdown__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__bootstrap_markdown__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__bootstrap_markdown__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__bootstrap_markdown__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__bootstrap_markdown__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__bootstrap_markdown__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__bootstrap_markdown__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__bootstrap_tagsinput__le_0_8_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__bootstrap_tagsinput__le_0_8_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__bootstrap_tagsinput__le_0_8_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__bootstrap_tagsinput__le_0_8_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__bootstrap_tagsinput__le_0_8_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__bootstrap_tagsinput__le_0_8_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__bootstrap_tagsinput__le_0_8_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__bootstrap_tagsinput__le_0_8_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__bootstrap_tagsinput__le_0_8_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__bootstrap_tagsinput__le_0_8_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__bootstrap_tagsinput__le_0_8_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__bootstrap_tagsinput__le_0_8_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__bootstrap_tagsinput__le_0_8_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__bootstrap_tagsinput__le_0_8_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__bootstrap_tagsinput__le_0_8_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__bootstrap_tagsinput__le_0_8_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__botbait__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__botbait__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__botbait__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__botbait__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__botbait__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__botbait__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__botbait__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__botbait__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__botbait__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__botbait__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__botbait__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__botbait__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__botbait__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__botbait__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__botbait__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__botbait__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__botkit__lt_0_4_4__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__botkit__lt_0_4_4__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__botkit__lt_0_4_4__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__botkit__lt_0_4_4__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__botkit__lt_0_4_4__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__botkit__lt_0_4_4__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__botkit__lt_0_4_4__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__botkit__lt_0_4_4__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__botkit__lt_0_4_4__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__botkit__lt_0_4_4__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__botkit__lt_0_4_4__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__botkit__lt_0_4_4__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__botkit__lt_0_4_4__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__botkit__lt_0_4_4__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__botkit__lt_0_4_4__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__botkit__lt_0_4_4__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__box2d_native__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__box2d_native__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__box2d_native__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__box2d_native__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__box2d_native__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__box2d_native__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__box2d_native__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__box2d_native__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__box2d_native__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__box2d_native__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__box2d_native__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__box2d_native__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__box2d_native__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__box2d_native__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__box2d_native__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__box2d_native__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__brace_expansion__lt_1_1_7__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__brace_expansion__lt_1_1_7__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__brace_expansion__lt_1_1_7__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__brace_expansion__lt_1_1_7__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__brace_expansion__lt_1_1_7__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__brace_expansion__lt_1_1_7__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__brace_expansion__lt_1_1_7__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__brace_expansion__lt_1_1_7__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__brace_expansion__lt_1_1_7__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__brace_expansion__lt_1_1_7__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__brace_expansion__lt_1_1_7__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__brace_expansion__lt_1_1_7__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__brace_expansion__lt_1_1_7__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__brace_expansion__lt_1_1_7__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__brace_expansion__lt_1_1_7__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__brace_expansion__lt_1_1_7__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__braces__lt_2_3_1__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__braces__lt_2_3_1__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__braces__lt_2_3_1__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__braces__lt_2_3_1__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__braces__lt_2_3_1__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__braces__lt_2_3_1__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__braces__lt_2_3_1__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__braces__lt_2_3_1__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__braces__lt_2_3_1__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__braces__lt_2_3_1__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__braces__lt_2_3_1__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__braces__lt_2_3_1__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__braces__lt_2_3_1__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__braces__lt_2_3_1__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__braces__lt_2_3_1__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__braces__lt_2_3_1__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__bracket_template__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__bracket_template__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__bracket_template__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__bracket_template__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__bracket_template__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__bracket_template__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__bracket_template__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__bracket_template__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__bracket_template__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__bracket_template__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__bracket_template__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__bracket_template__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__bracket_template__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__bracket_template__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__bracket_template__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__bracket_template__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__brisket__le_0_33_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__brisket__le_0_33_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__brisket__le_0_33_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__brisket__le_0_33_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__brisket__le_0_33_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__brisket__le_0_33_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__brisket__le_0_33_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__brisket__le_0_33_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__brisket__le_0_33_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__brisket__le_0_33_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__brisket__le_0_33_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__brisket__le_0_33_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__brisket__le_0_33_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__brisket__le_0_33_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__brisket__le_0_33_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__brisket__le_0_33_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__broccoli_closure__lt_1_3_1__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__broccoli_closure__lt_1_3_1__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__broccoli_closure__lt_1_3_1__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__broccoli_closure__lt_1_3_1__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__broccoli_closure__lt_1_3_1__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__broccoli_closure__lt_1_3_1__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__broccoli_closure__lt_1_3_1__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__broccoli_closure__lt_1_3_1__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__broccoli_closure__lt_1_3_1__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__broccoli_closure__lt_1_3_1__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__broccoli_closure__lt_1_3_1__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__broccoli_closure__lt_1_3_1__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__broccoli_closure__lt_1_3_1__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__broccoli_closure__lt_1_3_1__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__broccoli_closure__lt_1_3_1__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__broccoli_closure__lt_1_3_1__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__brunch__ge_1_7_0_lt_1_7_7__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__brunch__ge_1_7_0_lt_1_7_7__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__brunch__ge_1_7_0_lt_1_7_7__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__brunch__ge_1_7_0_lt_1_7_7__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__brunch__ge_1_7_0_lt_1_7_7__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__brunch__ge_1_7_0_lt_1_7_7__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__brunch__ge_1_7_0_lt_1_7_7__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__brunch__ge_1_7_0_lt_1_7_7__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__brunch__ge_1_7_0_lt_1_7_7__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__brunch__ge_1_7_0_lt_1_7_7__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__brunch__ge_1_7_0_lt_1_7_7__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__brunch__ge_1_7_0_lt_1_7_7__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__brunch__ge_1_7_0_lt_1_7_7__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__brunch__ge_1_7_0_lt_1_7_7__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__brunch__ge_1_7_0_lt_1_7_7__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__brunch__ge_1_7_0_lt_1_7_7__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__bruteser__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__bruteser__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__bruteser__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__bruteser__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__bruteser__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__bruteser__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__bruteser__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__bruteser__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__bruteser__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__bruteser__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__bruteser__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__bruteser__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__bruteser__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__bruteser__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__bruteser__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__bruteser__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__bson__lt_1_0_5__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__bson__lt_1_0_5__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__bson__lt_1_0_5__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__bson__lt_1_0_5__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__bson__lt_1_0_5__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__bson__lt_1_0_5__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__bson__lt_1_0_5__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__bson__lt_1_0_5__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__bson__lt_1_0_5__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__bson__lt_1_0_5__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__bson__lt_1_0_5__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__bson__lt_1_0_5__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__bson__lt_1_0_5__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__bson__lt_1_0_5__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__bson__lt_1_0_5__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__bson__lt_1_0_5__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__btnode__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__btnode__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__btnode__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__btnode__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__btnode__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__btnode__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__btnode__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__btnode__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__btnode__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__btnode__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__btnode__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__btnode__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__btnode__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__btnode__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__btnode__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__btnode__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__bui__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__bui__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__bui__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__bui__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__bui__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__bui__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__bui__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__bui__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__bui__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__bui__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__bui__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__bui__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__bui__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__bui__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__bui__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__bui__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__butler_server__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__butler_server__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__butler_server__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__butler_server__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__butler_server__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__butler_server__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__butler_server__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__butler_server__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__butler_server__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__butler_server__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__butler_server__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__butler_server__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__butler_server__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__butler_server__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__butler_server__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__butler_server__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__buttle__command_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__buttle__command_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__buttle__command_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__buttle__command_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__buttle__command_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__buttle__command_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__buttle__command_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__buttle__command_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__buttle__command_injection.dacg.result.s2.o0": "The library is known to include the OS Command Injection vulnerability.",
  "0.event.dacg_npm__buttle__command_injection.dacg.result.s3.o0": "The OS Command Injection vulnerability is caused by executing user commands without any verification process.",
  "0.event.dacg_npm__buttle__command_injection.dacg.result.s4.o0": "Using the OS Command Injection vulnerability, an attacker can steal key information of the server and force to perform unintended behaviors.",
  "0.event.dacg_npm__buttle__command_injection.dacg.result.s5.o0": "As a result of the test, the OS Command Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__buttle__command_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__buttle__command_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__buttle__command_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__buttle__command_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__buttle__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__buttle__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__buttle__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__buttle__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__buttle__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__buttle__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__buttle__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__buttle__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__buttle__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__buttle__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__buttle__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__buttle__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__buttle__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__buttle__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__buttle__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__buttle__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__byte__lt_1_4_1__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__byte__lt_1_4_1__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__byte__lt_1_4_1__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__byte__lt_1_4_1__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__byte__lt_1_4_1__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__byte__lt_1_4_1__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__byte__lt_1_4_1__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__byte__lt_1_4_1__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__byte__lt_1_4_1__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__byte__lt_1_4_1__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__byte__lt_1_4_1__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__byte__lt_1_4_1__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__byte__lt_1_4_1__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__byte__lt_1_4_1__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__byte__lt_1_4_1__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__byte__lt_1_4_1__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__byucslabsix__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__byucslabsix__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__byucslabsix__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__byucslabsix__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__byucslabsix__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__byucslabsix__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__byucslabsix__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__byucslabsix__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__byucslabsix__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__byucslabsix__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__byucslabsix__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__byucslabsix__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__byucslabsix__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__byucslabsix__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__byucslabsix__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__byucslabsix__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__c3__le_0_4_10__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__c3__le_0_4_10__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__c3__le_0_4_10__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__c3__le_0_4_10__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__c3__le_0_4_10__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__c3__le_0_4_10__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__c3__le_0_4_10__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__c3__le_0_4_10__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__c3__le_0_4_10__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__c3__le_0_4_10__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__c3__le_0_4_10__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__c3__le_0_4_10__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__c3__le_0_4_10__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__c3__le_0_4_10__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__c3__le_0_4_10__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__c3__le_0_4_10__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__caihong__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__caihong__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__caihong__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__caihong__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__caihong__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__caihong__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__caihong__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__caihong__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__caihong__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__caihong__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__caihong__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__caihong__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__caihong__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__caihong__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__caihong__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__caihong__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__call__ge_2_0_1_lt_3_0_2__improper_input_validation.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__call__ge_2_0_1_lt_3_0_2__improper_input_validation.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__call__ge_2_0_1_lt_3_0_2__improper_input_validation.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__call__ge_2_0_1_lt_3_0_2__improper_input_validation.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__call__ge_2_0_1_lt_3_0_2__improper_input_validation.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__call__ge_2_0_1_lt_3_0_2__improper_input_validation.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__call__ge_2_0_1_lt_3_0_2__improper_input_validation.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__call__ge_2_0_1_lt_3_0_2__improper_input_validation.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__call__ge_2_0_1_lt_3_0_2__improper_input_validation.dacg.result.s2.o0": "The library is known to include the Improper Input Validation vulnerability.",
  "0.event.dacg_npm__call__ge_2_0_1_lt_3_0_2__improper_input_validation.dacg.result.s3.o0": "The Improper Input Validation vulnerability is caused by lacking verification on a user input.",
  "0.event.dacg_npm__call__ge_2_0_1_lt_3_0_2__improper_input_validation.dacg.result.s4.o0": "An attacker can use the Improper Input Validation vulnerability to steal key information of the server and force to perform unintended behaviors.",
  "0.event.dacg_npm__call__ge_2_0_1_lt_3_0_2__improper_input_validation.dacg.result.s5.o0": "As a result of the test, the Improper Input Validation vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__call__ge_2_0_1_lt_3_0_2__improper_input_validation.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__call__ge_2_0_1_lt_3_0_2__improper_input_validation.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__call__ge_2_0_1_lt_3_0_2__improper_input_validation.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__call__ge_2_0_1_lt_3_0_2__improper_input_validation.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__calmquist_static_server__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__calmquist_static_server__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__calmquist_static_server__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__calmquist_static_server__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__calmquist_static_server__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__calmquist_static_server__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__calmquist_static_server__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__calmquist_static_server__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__calmquist_static_server__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__calmquist_static_server__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__calmquist_static_server__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__calmquist_static_server__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__calmquist_static_server__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__calmquist_static_server__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__calmquist_static_server__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__calmquist_static_server__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__canvas_designer__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__canvas_designer__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__canvas_designer__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__canvas_designer__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__canvas_designer__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__canvas_designer__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__canvas_designer__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__canvas_designer__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__canvas_designer__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__canvas_designer__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__canvas_designer__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__canvas_designer__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__canvas_designer__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__canvas_designer__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__canvas_designer__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__canvas_designer__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__caolilinode1__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__caolilinode1__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__caolilinode1__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__caolilinode1__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__caolilinode1__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__caolilinode1__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__caolilinode1__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__caolilinode1__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__caolilinode1__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__caolilinode1__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__caolilinode1__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__caolilinode1__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__caolilinode1__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__caolilinode1__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__caolilinode1__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__caolilinode1__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__caolilinode__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__caolilinode__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__caolilinode__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__caolilinode__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__caolilinode__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__caolilinode__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__caolilinode__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__caolilinode__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__caolilinode__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__caolilinode__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__caolilinode__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__caolilinode__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__caolilinode__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__caolilinode__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__caolilinode__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__caolilinode__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__cejs__lt_2_0_20180219__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__cejs__lt_2_0_20180219__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__cejs__lt_2_0_20180219__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__cejs__lt_2_0_20180219__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__cejs__lt_2_0_20180219__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__cejs__lt_2_0_20180219__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__cejs__lt_2_0_20180219__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__cejs__lt_2_0_20180219__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__cejs__lt_2_0_20180219__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__cejs__lt_2_0_20180219__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__cejs__lt_2_0_20180219__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__cejs__lt_2_0_20180219__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__cejs__lt_2_0_20180219__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__cejs__lt_2_0_20180219__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__cejs__lt_2_0_20180219__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__cejs__lt_2_0_20180219__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__censorify_matt_shurtz__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__censorify_matt_shurtz__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__censorify_matt_shurtz__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__censorify_matt_shurtz__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__censorify_matt_shurtz__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__censorify_matt_shurtz__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__censorify_matt_shurtz__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__censorify_matt_shurtz__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__censorify_matt_shurtz__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__censorify_matt_shurtz__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__censorify_matt_shurtz__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__censorify_matt_shurtz__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__censorify_matt_shurtz__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__censorify_matt_shurtz__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__censorify_matt_shurtz__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__censorify_matt_shurtz__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__censorify_tanisjr__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__censorify_tanisjr__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__censorify_tanisjr__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__censorify_tanisjr__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__censorify_tanisjr__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__censorify_tanisjr__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__censorify_tanisjr__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__censorify_tanisjr__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__censorify_tanisjr__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__censorify_tanisjr__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__censorify_tanisjr__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__censorify_tanisjr__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__censorify_tanisjr__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__censorify_tanisjr__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__censorify_tanisjr__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__censorify_tanisjr__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__charset__lt_1_0_1__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__charset__lt_1_0_1__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__charset__lt_1_0_1__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__charset__lt_1_0_1__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__charset__lt_1_0_1__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__charset__lt_1_0_1__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__charset__lt_1_0_1__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__charset__lt_1_0_1__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__charset__lt_1_0_1__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__charset__lt_1_0_1__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__charset__lt_1_0_1__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__charset__lt_1_0_1__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__charset__lt_1_0_1__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__charset__lt_1_0_1__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__charset__lt_1_0_1__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__charset__lt_1_0_1__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__chatbyvista__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__chatbyvista__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__chatbyvista__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__chatbyvista__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__chatbyvista__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__chatbyvista__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__chatbyvista__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__chatbyvista__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__chatbyvista__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__chatbyvista__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__chatbyvista__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__chatbyvista__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__chatbyvista__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__chatbyvista__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__chatbyvista__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__chatbyvista__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__checkit__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__checkit__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__checkit__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__checkit__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__checkit__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__checkit__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__checkit__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__checkit__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__checkit__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__checkit__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__checkit__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__checkit__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__checkit__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__checkit__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__checkit__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__checkit__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__cheerio__le_0_8_3__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__cheerio__le_0_8_3__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__cheerio__le_0_8_3__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__cheerio__le_0_8_3__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__cheerio__le_0_8_3__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__cheerio__le_0_8_3__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__cheerio__le_0_8_3__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__cheerio__le_0_8_3__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__cheerio__le_0_8_3__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__cheerio__le_0_8_3__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__cheerio__le_0_8_3__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__cheerio__le_0_8_3__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__cheerio__le_0_8_3__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__cheerio__le_0_8_3__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__cheerio__le_0_8_3__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__cheerio__le_0_8_3__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__chromedriver126__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__chromedriver126__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__chromedriver126__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__chromedriver126__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__chromedriver126__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__chromedriver126__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__chromedriver126__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__chromedriver126__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__chromedriver126__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__chromedriver126__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__chromedriver126__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__chromedriver126__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__chromedriver126__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__chromedriver126__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__chromedriver126__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__chromedriver126__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__chromedriver__lt_2_25_2__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__chromedriver__lt_2_25_2__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__chromedriver__lt_2_25_2__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__chromedriver__lt_2_25_2__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__chromedriver__lt_2_25_2__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__chromedriver__lt_2_25_2__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__chromedriver__lt_2_25_2__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__chromedriver__lt_2_25_2__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__chromedriver__lt_2_25_2__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__chromedriver__lt_2_25_2__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__chromedriver__lt_2_25_2__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__chromedriver__lt_2_25_2__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__chromedriver__lt_2_25_2__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__chromedriver__lt_2_25_2__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__chromedriver__lt_2_25_2__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__chromedriver__lt_2_25_2__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__citation_js__lt_0_4_0_7__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__citation_js__lt_0_4_0_7__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__citation_js__lt_0_4_0_7__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__citation_js__lt_0_4_0_7__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__citation_js__lt_0_4_0_7__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__citation_js__lt_0_4_0_7__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__citation_js__lt_0_4_0_7__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__citation_js__lt_0_4_0_7__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__citation_js__lt_0_4_0_7__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__citation_js__lt_0_4_0_7__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__citation_js__lt_0_4_0_7__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__citation_js__lt_0_4_0_7__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__citation_js__lt_0_4_0_7__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__citation_js__lt_0_4_0_7__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__citation_js__lt_0_4_0_7__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__citation_js__lt_0_4_0_7__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__citeproc__lt_2_1_184__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__citeproc__lt_2_1_184__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__citeproc__lt_2_1_184__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__citeproc__lt_2_1_184__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__citeproc__lt_2_1_184__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__citeproc__lt_2_1_184__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__citeproc__lt_2_1_184__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__citeproc__lt_2_1_184__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__citeproc__lt_2_1_184__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__citeproc__lt_2_1_184__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__citeproc__lt_2_1_184__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__citeproc__lt_2_1_184__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__citeproc__lt_2_1_184__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__citeproc__lt_2_1_184__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__citeproc__lt_2_1_184__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__citeproc__lt_2_1_184__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__city_weather_abe__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__city_weather_abe__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__city_weather_abe__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__city_weather_abe__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__city_weather_abe__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__city_weather_abe__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__city_weather_abe__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__city_weather_abe__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__city_weather_abe__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__city_weather_abe__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__city_weather_abe__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__city_weather_abe__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__city_weather_abe__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__city_weather_abe__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__city_weather_abe__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__city_weather_abe__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__citypredict_whauwiller__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__citypredict_whauwiller__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__citypredict_whauwiller__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__citypredict_whauwiller__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__citypredict_whauwiller__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__citypredict_whauwiller__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__citypredict_whauwiller__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__citypredict_whauwiller__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__citypredict_whauwiller__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__citypredict_whauwiller__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__citypredict_whauwiller__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__citypredict_whauwiller__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__citypredict_whauwiller__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__citypredict_whauwiller__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__citypredict_whauwiller__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__citypredict_whauwiller__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ckeditor_dev__ge_4_5_11_lt_4_9_2__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ckeditor_dev__ge_4_5_11_lt_4_9_2__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ckeditor_dev__ge_4_5_11_lt_4_9_2__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ckeditor_dev__ge_4_5_11_lt_4_9_2__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ckeditor_dev__ge_4_5_11_lt_4_9_2__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ckeditor_dev__ge_4_5_11_lt_4_9_2__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ckeditor_dev__ge_4_5_11_lt_4_9_2__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ckeditor_dev__ge_4_5_11_lt_4_9_2__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ckeditor_dev__ge_4_5_11_lt_4_9_2__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__ckeditor_dev__ge_4_5_11_lt_4_9_2__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__ckeditor_dev__ge_4_5_11_lt_4_9_2__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__ckeditor_dev__ge_4_5_11_lt_4_9_2__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ckeditor_dev__ge_4_5_11_lt_4_9_2__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ckeditor_dev__ge_4_5_11_lt_4_9_2__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ckeditor_dev__ge_4_5_11_lt_4_9_2__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ckeditor_dev__ge_4_5_11_lt_4_9_2__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_3__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_3__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_3__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_3__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_3__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_3__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_3__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_3__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_3__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_3__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_3__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_3__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_3__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_3__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_3__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_3__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_6__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_6__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_6__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_6__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_6__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_6__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_6__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_6__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_6__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_6__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_6__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_6__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_6__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_6__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_6__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_6__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_8__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_8__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_8__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_8__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_8__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_8__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_8__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_8__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_8__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_8__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_8__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_8__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_8__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_8__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_8__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_4_8__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_5_11__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ckeditor_dev__lt_4_5_11__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_5_11__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_5_11__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_5_11__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_5_11__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_5_11__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_5_11__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_5_11__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_5_11__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_5_11__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_5_11__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_5_11__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_5_11__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_5_11__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ckeditor_dev__lt_4_5_11__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__clamscan__lt_0_8_2__command_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__clamscan__lt_0_8_2__command_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__clamscan__lt_0_8_2__command_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__clamscan__lt_0_8_2__command_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__clamscan__lt_0_8_2__command_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__clamscan__lt_0_8_2__command_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__clamscan__lt_0_8_2__command_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__clamscan__lt_0_8_2__command_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__clamscan__lt_0_8_2__command_injection.dacg.result.s2.o0": "The library is known to include the OS Command Injection vulnerability.",
  "0.event.dacg_npm__clamscan__lt_0_8_2__command_injection.dacg.result.s3.o0": "The OS Command Injection vulnerability is caused by executing user commands without any verification process.",
  "0.event.dacg_npm__clamscan__lt_0_8_2__command_injection.dacg.result.s4.o0": "Using the OS Command Injection vulnerability, an attacker can steal key information of the server and force to perform unintended behaviors.",
  "0.event.dacg_npm__clamscan__lt_0_8_2__command_injection.dacg.result.s5.o0": "As a result of the test, the OS Command Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__clamscan__lt_0_8_2__command_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__clamscan__lt_0_8_2__command_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__clamscan__lt_0_8_2__command_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__clamscan__lt_0_8_2__command_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__clang_extra__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__clang_extra__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__clang_extra__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__clang_extra__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__clang_extra__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__clang_extra__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__clang_extra__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__clang_extra__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__clang_extra__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__clang_extra__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__clang_extra__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__clang_extra__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__clang_extra__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__clang_extra__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__clang_extra__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__clang_extra__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__clean_css__lt_4_1_11__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__clean_css__lt_4_1_11__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__clean_css__lt_4_1_11__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__clean_css__lt_4_1_11__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__clean_css__lt_4_1_11__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__clean_css__lt_4_1_11__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__clean_css__lt_4_1_11__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__clean_css__lt_4_1_11__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__clean_css__lt_4_1_11__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__clean_css__lt_4_1_11__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__clean_css__lt_4_1_11__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__clean_css__lt_4_1_11__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__clean_css__lt_4_1_11__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__clean_css__lt_4_1_11__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__clean_css__lt_4_1_11__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__clean_css__lt_4_1_11__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__cli__lt_1_0_0__link_following.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__cli__lt_1_0_0__link_following.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__cli__lt_1_0_0__link_following.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__cli__lt_1_0_0__link_following.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__cli__lt_1_0_0__link_following.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__cli__lt_1_0_0__link_following.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__cli__lt_1_0_0__link_following.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__cli__lt_1_0_0__link_following.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__cli__lt_1_0_0__link_following.dacg.result.s2.o0": "The library is known to include the Link Following vulnerability.",
  "0.event.dacg_npm__cli__lt_1_0_0__link_following.dacg.result.s3.o0": "The Link Following vulnerability is caused by using links to access specific files.",
  "0.event.dacg_npm__cli__lt_1_0_0__link_following.dacg.result.s4.o0": "Using the Link Following vulnerability, an attacker can view and manipulate the contents of restricted access files.",
  "0.event.dacg_npm__cli__lt_1_0_0__link_following.dacg.result.s5.o0": "As a result of the test, the Link Following vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__cli__lt_1_0_0__link_following.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__cli__lt_1_0_0__link_following.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__cli__lt_1_0_0__link_following.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__cli__lt_1_0_0__link_following.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__closure_util__lt_1_19_0__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__closure_util__lt_1_19_0__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__closure_util__lt_1_19_0__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__closure_util__lt_1_19_0__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__closure_util__lt_1_19_0__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__closure_util__lt_1_19_0__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__closure_util__lt_1_19_0__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__closure_util__lt_1_19_0__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__closure_util__lt_1_19_0__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__closure_util__lt_1_19_0__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__closure_util__lt_1_19_0__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__closure_util__lt_1_19_0__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__closure_util__lt_1_19_0__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__closure_util__lt_1_19_0__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__closure_util__lt_1_19_0__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__closure_util__lt_1_19_0__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__closurecompiler__lt_1_6_1__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__closurecompiler__lt_1_6_1__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__closurecompiler__lt_1_6_1__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__closurecompiler__lt_1_6_1__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__closurecompiler__lt_1_6_1__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__closurecompiler__lt_1_6_1__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__closurecompiler__lt_1_6_1__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__closurecompiler__lt_1_6_1__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__closurecompiler__lt_1_6_1__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__closurecompiler__lt_1_6_1__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__closurecompiler__lt_1_6_1__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__closurecompiler__lt_1_6_1__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__closurecompiler__lt_1_6_1__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__closurecompiler__lt_1_6_1__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__closurecompiler__lt_1_6_1__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__closurecompiler__lt_1_6_1__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__cloudcmd__lt_9_1_6__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__cloudcmd__lt_9_1_6__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__cloudcmd__lt_9_1_6__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__cloudcmd__lt_9_1_6__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__cloudcmd__lt_9_1_6__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__cloudcmd__lt_9_1_6__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__cloudcmd__lt_9_1_6__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__cloudcmd__lt_9_1_6__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__cloudcmd__lt_9_1_6__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__cloudcmd__lt_9_1_6__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__cloudcmd__lt_9_1_6__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__cloudcmd__lt_9_1_6__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__cloudcmd__lt_9_1_6__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__cloudcmd__lt_9_1_6__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__cloudcmd__lt_9_1_6__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__cloudcmd__lt_9_1_6__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__cloudpub_redis__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__cloudpub_redis__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__cloudpub_redis__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__cloudpub_redis__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__cloudpub_redis__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__cloudpub_redis__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__cloudpub_redis__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__cloudpub_redis__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__cloudpub_redis__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__cloudpub_redis__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__cloudpub_redis__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__cloudpub_redis__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__cloudpub_redis__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__cloudpub_redis__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__cloudpub_redis__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__cloudpub_redis__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__clusterize_js__lt_0_3_1__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__clusterize_js__lt_0_3_1__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__clusterize_js__lt_0_3_1__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__clusterize_js__lt_0_3_1__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__clusterize_js__lt_0_3_1__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__clusterize_js__lt_0_3_1__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__clusterize_js__lt_0_3_1__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__clusterize_js__lt_0_3_1__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__clusterize_js__lt_0_3_1__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__clusterize_js__lt_0_3_1__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__clusterize_js__lt_0_3_1__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__clusterize_js__lt_0_3_1__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__clusterize_js__lt_0_3_1__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__clusterize_js__lt_0_3_1__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__clusterize_js__lt_0_3_1__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__clusterize_js__lt_0_3_1__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__cmake__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__cmake__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__cmake__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__cmake__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__cmake__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__cmake__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__cmake__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__cmake__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__cmake__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__cmake__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__cmake__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__cmake__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__cmake__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__cmake__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__cmake__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__cmake__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__co_cli_installer__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__co_cli_installer__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__co_cli_installer__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__co_cli_installer__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__co_cli_installer__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__co_cli_installer__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__co_cli_installer__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__co_cli_installer__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__co_cli_installer__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__co_cli_installer__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__co_cli_installer__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__co_cli_installer__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__co_cli_installer__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__co_cli_installer__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__co_cli_installer__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__co_cli_installer__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__cobalt_cli__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__cobalt_cli__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__cobalt_cli__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__cobalt_cli__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__cobalt_cli__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__cobalt_cli__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__cobalt_cli__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__cobalt_cli__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__cobalt_cli__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__cobalt_cli__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__cobalt_cli__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__cobalt_cli__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__cobalt_cli__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__cobalt_cli__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__cobalt_cli__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__cobalt_cli__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__codem_transcode__lt_0_5_0__command_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__codem_transcode__lt_0_5_0__command_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__codem_transcode__lt_0_5_0__command_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__codem_transcode__lt_0_5_0__command_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__codem_transcode__lt_0_5_0__command_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__codem_transcode__lt_0_5_0__command_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__codem_transcode__lt_0_5_0__command_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__codem_transcode__lt_0_5_0__command_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__codem_transcode__lt_0_5_0__command_injection.dacg.result.s2.o0": "The library is known to include the OS Command Injection vulnerability.",
  "0.event.dacg_npm__codem_transcode__lt_0_5_0__command_injection.dacg.result.s3.o0": "The OS Command Injection vulnerability is caused by executing user commands without any verification process.",
  "0.event.dacg_npm__codem_transcode__lt_0_5_0__command_injection.dacg.result.s4.o0": "Using the OS Command Injection vulnerability, an attacker can steal key information of the server and force to perform unintended behaviors.",
  "0.event.dacg_npm__codem_transcode__lt_0_5_0__command_injection.dacg.result.s5.o0": "As a result of the test, the OS Command Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__codem_transcode__lt_0_5_0__command_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__codem_transcode__lt_0_5_0__command_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__codem_transcode__lt_0_5_0__command_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__codem_transcode__lt_0_5_0__command_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__cofee_script__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__cofee_script__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__cofee_script__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__cofee_script__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__cofee_script__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__cofee_script__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__cofee_script__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__cofee_script__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__cofee_script__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__cofee_script__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__cofee_script__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__cofee_script__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__cofee_script__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__cofee_script__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__cofee_script__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__cofee_script__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__cofeescript__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__cofeescript__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__cofeescript__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__cofeescript__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__cofeescript__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__cofeescript__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__cofeescript__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__cofeescript__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__cofeescript__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__cofeescript__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__cofeescript__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__cofeescript__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__cofeescript__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__cofeescript__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__cofeescript__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__cofeescript__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__coffe_script__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__coffe_script__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__coffe_script__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__coffe_script__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__coffe_script__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__coffe_script__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__coffe_script__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__coffe_script__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__coffe_script__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__coffe_script__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__coffe_script__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__coffe_script__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__coffe_script__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__coffe_script__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__coffe_script__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__coffe_script__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__coffescript__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__coffescript__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__coffescript__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__coffescript__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__coffescript__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__coffescript__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__coffescript__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__coffescript__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__coffescript__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__coffescript__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__coffescript__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__coffescript__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__coffescript__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__coffescript__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__coffescript__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__coffescript__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__command_exists__lt_1_2_4__command_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__command_exists__lt_1_2_4__command_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__command_exists__lt_1_2_4__command_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__command_exists__lt_1_2_4__command_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__command_exists__lt_1_2_4__command_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__command_exists__lt_1_2_4__command_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__command_exists__lt_1_2_4__command_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__command_exists__lt_1_2_4__command_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__command_exists__lt_1_2_4__command_injection.dacg.result.s2.o0": "The library is known to include the OS Command Injection vulnerability.",
  "0.event.dacg_npm__command_exists__lt_1_2_4__command_injection.dacg.result.s3.o0": "The OS Command Injection vulnerability is caused by executing user commands without any verification process.",
  "0.event.dacg_npm__command_exists__lt_1_2_4__command_injection.dacg.result.s4.o0": "Using the OS Command Injection vulnerability, an attacker can steal key information of the server and force to perform unintended behaviors.",
  "0.event.dacg_npm__command_exists__lt_1_2_4__command_injection.dacg.result.s5.o0": "As a result of the test, the OS Command Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__command_exists__lt_1_2_4__command_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__command_exists__lt_1_2_4__command_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__command_exists__lt_1_2_4__command_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__command_exists__lt_1_2_4__command_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__commentapp_stetsonwood__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__commentapp_stetsonwood__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__commentapp_stetsonwood__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__commentapp_stetsonwood__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__commentapp_stetsonwood__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__commentapp_stetsonwood__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__commentapp_stetsonwood__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__commentapp_stetsonwood__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__commentapp_stetsonwood__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__commentapp_stetsonwood__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__commentapp_stetsonwood__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__commentapp_stetsonwood__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__commentapp_stetsonwood__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__commentapp_stetsonwood__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__commentapp_stetsonwood__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__commentapp_stetsonwood__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__compromise__lt_11_5_1__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__compromise__lt_11_5_1__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__compromise__lt_11_5_1__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__compromise__lt_11_5_1__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__compromise__lt_11_5_1__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__compromise__lt_11_5_1__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__compromise__lt_11_5_1__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__compromise__lt_11_5_1__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__compromise__lt_11_5_1__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__compromise__lt_11_5_1__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__compromise__lt_11_5_1__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__compromise__lt_11_5_1__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__compromise__lt_11_5_1__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__compromise__lt_11_5_1__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__compromise__lt_11_5_1__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__compromise__lt_11_5_1__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__concat_stream__ge_1_4_0_lt_1_4_11__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__concat_stream__ge_1_4_0_lt_1_4_11__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__concat_stream__ge_1_4_0_lt_1_4_11__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__concat_stream__ge_1_4_0_lt_1_4_11__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__concat_stream__ge_1_4_0_lt_1_4_11__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__concat_stream__ge_1_4_0_lt_1_4_11__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__concat_stream__ge_1_4_0_lt_1_4_11__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__concat_stream__ge_1_4_0_lt_1_4_11__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__concat_stream__ge_1_4_0_lt_1_4_11__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__concat_stream__ge_1_4_0_lt_1_4_11__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__concat_stream__ge_1_4_0_lt_1_4_11__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__concat_stream__ge_1_4_0_lt_1_4_11__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__concat_stream__ge_1_4_0_lt_1_4_11__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__concat_stream__ge_1_4_0_lt_1_4_11__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__concat_stream__ge_1_4_0_lt_1_4_11__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__concat_stream__ge_1_4_0_lt_1_4_11__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__concat_stream__ge_1_5_0_lt_1_5_2__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__concat_stream__ge_1_5_0_lt_1_5_2__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__concat_stream__ge_1_5_0_lt_1_5_2__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__concat_stream__ge_1_5_0_lt_1_5_2__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__concat_stream__ge_1_5_0_lt_1_5_2__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__concat_stream__ge_1_5_0_lt_1_5_2__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__concat_stream__ge_1_5_0_lt_1_5_2__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__concat_stream__ge_1_5_0_lt_1_5_2__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__concat_stream__ge_1_5_0_lt_1_5_2__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__concat_stream__ge_1_5_0_lt_1_5_2__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__concat_stream__ge_1_5_0_lt_1_5_2__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__concat_stream__ge_1_5_0_lt_1_5_2__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__concat_stream__ge_1_5_0_lt_1_5_2__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__concat_stream__ge_1_5_0_lt_1_5_2__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__concat_stream__ge_1_5_0_lt_1_5_2__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__concat_stream__ge_1_5_0_lt_1_5_2__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__concat_stream__lt_1_3_2__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__concat_stream__lt_1_3_2__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__concat_stream__lt_1_3_2__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__concat_stream__lt_1_3_2__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__concat_stream__lt_1_3_2__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__concat_stream__lt_1_3_2__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__concat_stream__lt_1_3_2__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__concat_stream__lt_1_3_2__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__concat_stream__lt_1_3_2__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__concat_stream__lt_1_3_2__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__concat_stream__lt_1_3_2__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__concat_stream__lt_1_3_2__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__concat_stream__lt_1_3_2__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__concat_stream__lt_1_3_2__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__concat_stream__lt_1_3_2__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__concat_stream__lt_1_3_2__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__concat_with_sourcemaps__lt_1_0_6__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__concat_with_sourcemaps__lt_1_0_6__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__concat_with_sourcemaps__lt_1_0_6__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__concat_with_sourcemaps__lt_1_0_6__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__concat_with_sourcemaps__lt_1_0_6__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__concat_with_sourcemaps__lt_1_0_6__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__concat_with_sourcemaps__lt_1_0_6__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__concat_with_sourcemaps__lt_1_0_6__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__concat_with_sourcemaps__lt_1_0_6__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__concat_with_sourcemaps__lt_1_0_6__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__concat_with_sourcemaps__lt_1_0_6__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__concat_with_sourcemaps__lt_1_0_6__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__concat_with_sourcemaps__lt_1_0_6__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__concat_with_sourcemaps__lt_1_0_6__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__concat_with_sourcemaps__lt_1_0_6__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__concat_with_sourcemaps__lt_1_0_6__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__connect__ge_1_4_0_lt_2_0_0__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__connect__ge_1_4_0_lt_2_0_0__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__connect__ge_1_4_0_lt_2_0_0__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__connect__ge_1_4_0_lt_2_0_0__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__connect__ge_1_4_0_lt_2_0_0__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__connect__ge_1_4_0_lt_2_0_0__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__connect__ge_1_4_0_lt_2_0_0__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__connect__ge_1_4_0_lt_2_0_0__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__connect__ge_1_4_0_lt_2_0_0__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__connect__ge_1_4_0_lt_2_0_0__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__connect__ge_1_4_0_lt_2_0_0__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__connect__ge_1_4_0_lt_2_0_0__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__connect__ge_1_4_0_lt_2_0_0__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__connect__ge_1_4_0_lt_2_0_0__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__connect__ge_1_4_0_lt_2_0_0__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__connect__ge_1_4_0_lt_2_0_0__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__connect__le_2_8_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__connect__le_2_8_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__connect__le_2_8_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__connect__le_2_8_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__connect__le_2_8_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__connect__le_2_8_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__connect__le_2_8_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__connect__le_2_8_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__connect__le_2_8_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__connect__le_2_8_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__connect__le_2_8_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__connect__le_2_8_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__connect__le_2_8_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__connect__le_2_8_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__connect__le_2_8_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__connect__le_2_8_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__connect_parse_php__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__connect_parse_php__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__connect_parse_php__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__connect_parse_php__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__connect_parse_php__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__connect_parse_php__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__connect_parse_php__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__connect_parse_php__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__connect_parse_php__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__connect_parse_php__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__connect_parse_php__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__connect_parse_php__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__connect_parse_php__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__connect_parse_php__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__connect_parse_php__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__connect_parse_php__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__console_io__le_2_2_13__authentication_bypass.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__console_io__le_2_2_13__authentication_bypass.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__console_io__le_2_2_13__authentication_bypass.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__console_io__le_2_2_13__authentication_bypass.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__console_io__le_2_2_13__authentication_bypass.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__console_io__le_2_2_13__authentication_bypass.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__console_io__le_2_2_13__authentication_bypass.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__console_io__le_2_2_13__authentication_bypass.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__console_io__le_2_2_13__authentication_bypass.dacg.result.s2.o0": "The library is known to include the Authentication Bypass vulnerability.",
  "0.event.dacg_npm__console_io__le_2_2_13__authentication_bypass.dacg.result.s3.o0": "Authentication bypass vulnerabilities can bypass a required authentication process.",
  "0.event.dacg_npm__console_io__le_2_2_13__authentication_bypass.dacg.result.s4.o0": "Using the Authentication Bypass vulnerability, an attacker can access to and manipulation of limited information.",
  "0.event.dacg_npm__console_io__le_2_2_13__authentication_bypass.dacg.result.s5.o0": "As a result of the test, the Authentication Bypass vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__console_io__le_2_2_13__authentication_bypass.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__console_io__le_2_2_13__authentication_bypass.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__console_io__le_2_2_13__authentication_bypass.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__console_io__le_2_2_13__authentication_bypass.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__constantinople__lt_3_1_1__sandbox_bypass.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__constantinople__lt_3_1_1__sandbox_bypass.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__constantinople__lt_3_1_1__sandbox_bypass.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__constantinople__lt_3_1_1__sandbox_bypass.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__constantinople__lt_3_1_1__sandbox_bypass.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__constantinople__lt_3_1_1__sandbox_bypass.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__constantinople__lt_3_1_1__sandbox_bypass.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__constantinople__lt_3_1_1__sandbox_bypass.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__constantinople__lt_3_1_1__sandbox_bypass.dacg.result.s2.o0": "The library is known to include the Sandbox Bypass vulnerability.",
  "0.event.dacg_npm__constantinople__lt_3_1_1__sandbox_bypass.dacg.result.s3.o0": "The Sandbox Bypass vulnerability is caused by escaping from a limited sandbox environment.",
  "0.event.dacg_npm__constantinople__lt_3_1_1__sandbox_bypass.dacg.result.s4.o0": "Using the Sandbox Bypass vulnerability, an attacker can affect the outside of the sandbox and access and manipulate information outside the sandbox.",
  "0.event.dacg_npm__constantinople__lt_3_1_1__sandbox_bypass.dacg.result.s5.o0": "As a result of the test, the Sandbox Bypass vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__constantinople__lt_3_1_1__sandbox_bypass.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__constantinople__lt_3_1_1__sandbox_bypass.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__constantinople__lt_3_1_1__sandbox_bypass.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__constantinople__lt_3_1_1__sandbox_bypass.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__content__ge_4_0_0_lt_4_0_4__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__content__ge_4_0_0_lt_4_0_4__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__content__ge_4_0_0_lt_4_0_4__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__content__ge_4_0_0_lt_4_0_4__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__content__ge_4_0_0_lt_4_0_4__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__content__ge_4_0_0_lt_4_0_4__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__content__ge_4_0_0_lt_4_0_4__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__content__ge_4_0_0_lt_4_0_4__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__content__ge_4_0_0_lt_4_0_4__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__content__ge_4_0_0_lt_4_0_4__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__content__ge_4_0_0_lt_4_0_4__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__content__ge_4_0_0_lt_4_0_4__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__content__ge_4_0_0_lt_4_0_4__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__content__ge_4_0_0_lt_4_0_4__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__content__ge_4_0_0_lt_4_0_4__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__content__ge_4_0_0_lt_4_0_4__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__content__lt_3_0_6__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__content__lt_3_0_6__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__content__lt_3_0_6__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__content__lt_3_0_6__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__content__lt_3_0_6__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__content__lt_3_0_6__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__content__lt_3_0_6__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__content__lt_3_0_6__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__content__lt_3_0_6__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__content__lt_3_0_6__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__content__lt_3_0_6__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__content__lt_3_0_6__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__content__lt_3_0_6__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__content__lt_3_0_6__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__content__lt_3_0_6__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__content__lt_3_0_6__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__content__lt_3_0_7__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__content__lt_3_0_7__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__content__lt_3_0_7__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__content__lt_3_0_7__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__content__lt_3_0_7__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__content__lt_3_0_7__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__content__lt_3_0_7__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__content__lt_3_0_7__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__content__lt_3_0_7__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__content__lt_3_0_7__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__content__lt_3_0_7__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__content__lt_3_0_7__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__content__lt_3_0_7__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__content__lt_3_0_7__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__content__lt_3_0_7__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__content__lt_3_0_7__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__content_type_parser__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__content_type_parser__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__content_type_parser__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__content_type_parser__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__content_type_parser__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__content_type_parser__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__content_type_parser__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__content_type_parser__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__content_type_parser__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__content_type_parser__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__content_type_parser__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__content_type_parser__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__content_type_parser__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__content_type_parser__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__content_type_parser__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__content_type_parser__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__contwidgetor__insecure_hashing_algorithm.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__contwidgetor__insecure_hashing_algorithm.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__contwidgetor__insecure_hashing_algorithm.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__contwidgetor__insecure_hashing_algorithm.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__contwidgetor__insecure_hashing_algorithm.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__contwidgetor__insecure_hashing_algorithm.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__contwidgetor__insecure_hashing_algorithm.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__contwidgetor__insecure_hashing_algorithm.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__contwidgetor__insecure_hashing_algorithm.dacg.result.s2.o0": "The library is known to include the Insecure Hashing Algorithm vulnerability.",
  "0.event.dacg_npm__contwidgetor__insecure_hashing_algorithm.dacg.result.s3.o0": "The Insecure Hashing Algorithm vulnerability is cased by creating duplicate hash values in a hashing function used by a library.",
  "0.event.dacg_npm__contwidgetor__insecure_hashing_algorithm.dacg.result.s4.o0": "Using the Insecure Hashing Algorithm vulnerability, an attacker can assign another value with the same hash value instead of entering a specific value, which enable to pass the authentication process.",
  "0.event.dacg_npm__contwidgetor__insecure_hashing_algorithm.dacg.result.s5.o0": "As a result of the test, the Insecure Hashing Algorithm vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__contwidgetor__insecure_hashing_algorithm.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__contwidgetor__insecure_hashing_algorithm.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__contwidgetor__insecure_hashing_algorithm.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__contwidgetor__insecure_hashing_algorithm.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__converse_js__lt_3_3_3__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__converse_js__lt_3_3_3__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__converse_js__lt_3_3_3__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__converse_js__lt_3_3_3__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__converse_js__lt_3_3_3__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__converse_js__lt_3_3_3__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__converse_js__lt_3_3_3__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__converse_js__lt_3_3_3__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__converse_js__lt_3_3_3__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__converse_js__lt_3_3_3__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__converse_js__lt_3_3_3__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__converse_js__lt_3_3_3__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__converse_js__lt_3_3_3__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__converse_js__lt_3_3_3__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__converse_js__lt_3_3_3__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__converse_js__lt_3_3_3__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__cookie_signature__lt_1_0_4__timing_attack.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__cookie_signature__lt_1_0_4__timing_attack.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__cookie_signature__lt_1_0_4__timing_attack.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__cookie_signature__lt_1_0_4__timing_attack.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__cookie_signature__lt_1_0_4__timing_attack.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__cookie_signature__lt_1_0_4__timing_attack.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__cookie_signature__lt_1_0_4__timing_attack.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__cookie_signature__lt_1_0_4__timing_attack.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__cookie_signature__lt_1_0_4__timing_attack.dacg.result.s2.o0": "The library is known to include the Timing Attack vulnerability.",
  "0.event.dacg_npm__cookie_signature__lt_1_0_4__timing_attack.dacg.result.s3.o0": "The Timing Attack vulnerability causes comparisons to be stopped as soon as different part is found in the comparisons such as strings.",
  "0.event.dacg_npm__cookie_signature__lt_1_0_4__timing_attack.dacg.result.s4.o0": "An attacker can use Timing Attack vulnerability to calculate spending times, and estimate sensitive information such as passwords.",
  "0.event.dacg_npm__cookie_signature__lt_1_0_4__timing_attack.dacg.result.s5.o0": "As a result of the test, the Timing Attack vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__cookie_signature__lt_1_0_4__timing_attack.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__cookie_signature__lt_1_0_4__timing_attack.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__cookie_signature__lt_1_0_4__timing_attack.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__cookie_signature__lt_1_0_4__timing_attack.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__cordova_android__ge_4_0_0_lt_4_0_2__command_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__cordova_android__ge_4_0_0_lt_4_0_2__command_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__cordova_android__ge_4_0_0_lt_4_0_2__command_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__cordova_android__ge_4_0_0_lt_4_0_2__command_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__cordova_android__ge_4_0_0_lt_4_0_2__command_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__cordova_android__ge_4_0_0_lt_4_0_2__command_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__cordova_android__ge_4_0_0_lt_4_0_2__command_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__cordova_android__ge_4_0_0_lt_4_0_2__command_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__cordova_android__ge_4_0_0_lt_4_0_2__command_injection.dacg.result.s2.o0": "The library is known to include the OS Command Injection vulnerability.",
  "0.event.dacg_npm__cordova_android__ge_4_0_0_lt_4_0_2__command_injection.dacg.result.s3.o0": "The OS Command Injection vulnerability is caused by executing user commands without any verification process.",
  "0.event.dacg_npm__cordova_android__ge_4_0_0_lt_4_0_2__command_injection.dacg.result.s4.o0": "Using the OS Command Injection vulnerability, an attacker can steal key information of the server and force to perform unintended behaviors.",
  "0.event.dacg_npm__cordova_android__ge_4_0_0_lt_4_0_2__command_injection.dacg.result.s5.o0": "As a result of the test, the OS Command Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__cordova_android__ge_4_0_0_lt_4_0_2__command_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__cordova_android__ge_4_0_0_lt_4_0_2__command_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__cordova_android__ge_4_0_0_lt_4_0_2__command_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__cordova_android__ge_4_0_0_lt_4_0_2__command_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__cordova_android__le_3_6_4__use_of_insufficiently_random_values.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__cordova_android__le_3_6_4__use_of_insufficiently_random_values.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__cordova_android__le_3_6_4__use_of_insufficiently_random_values.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__cordova_android__le_3_6_4__use_of_insufficiently_random_values.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__cordova_android__le_3_6_4__use_of_insufficiently_random_values.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__cordova_android__le_3_6_4__use_of_insufficiently_random_values.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__cordova_android__le_3_6_4__use_of_insufficiently_random_values.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__cordova_android__le_3_6_4__use_of_insufficiently_random_values.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__cordova_android__le_3_6_4__use_of_insufficiently_random_values.dacg.result.s2.o0": "This library is known to include a Use of Insufficiently Random Values vulnerability.",
  "0.event.dacg_npm__cordova_android__le_3_6_4__use_of_insufficiently_random_values.dacg.result.s3.o0": "The Use of Insufficient Random Number vulnerability is caused by using predictable random numbers.",
  "0.event.dacg_npm__cordova_android__le_3_6_4__use_of_insufficiently_random_values.dacg.result.s4.o0": "An attacker can use Insufficiently Random Values vulnerability to infer a random number value of a password or decryption key.",
  "0.event.dacg_npm__cordova_android__le_3_6_4__use_of_insufficiently_random_values.dacg.result.s5.o0": "As a result of the test, the Use of Insufficiently Random Values vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__cordova_android__le_3_6_4__use_of_insufficiently_random_values.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__cordova_android__le_3_6_4__use_of_insufficiently_random_values.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__cordova_android__le_3_6_4__use_of_insufficiently_random_values.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__cordova_android__le_3_6_4__use_of_insufficiently_random_values.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__http_whitelist_bypass.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__http_whitelist_bypass.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__http_whitelist_bypass.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__http_whitelist_bypass.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__http_whitelist_bypass.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__http_whitelist_bypass.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__http_whitelist_bypass.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__http_whitelist_bypass.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__http_whitelist_bypass.dacg.result.s2.o0": "The library is known to include the HTTP Whitelist Bypass vulnerability.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__http_whitelist_bypass.dacg.result.s3.o0": "The HTTP Whitelist Bypass vulnerability disables whitelist-based access restriction policy.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__http_whitelist_bypass.dacg.result.s4.o0": "Using the HTTP Whitelist Bypass vulnerability, an attacker can connect to specific addresses with restricted access, and steal or manipulate user information (such as sessions, cookies) by accessing to dangerous sites.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__http_whitelist_bypass.dacg.result.s5.o0": "As a result of the test, the HTTP Whitelist Bypass vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__http_whitelist_bypass.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__http_whitelist_bypass.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__http_whitelist_bypass.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__http_whitelist_bypass.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__xas.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__xas.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__xas.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__xas.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__xas.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__xas.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__xas.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__xas.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__xas.dacg.result.s2.o0": "The library is known to include the Cross-Application Script (XAS) vulnerability.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__xas.dacg.result.s3.o0": "The Cross-Application Script (XAS) vulnerability is caused by entering any values in a web application.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__xas.dacg.result.s4.o0": "Using the Cross-application script (XAS) vulnerability, an attacker can use The target application can be forced to perform unintended operation and furthermore, it can enable to access and manipulate main information with a high level privilege of the environment in which the application operates.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__xas.dacg.result.s5.o0": "As a result of the test, the Cross-Application Script (XAS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__xas.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__xas.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__xas.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__cordova_android__lt_3_5_1__xas.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__cordova_android__lt_3_7_2__command_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__cordova_android__lt_3_7_2__command_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__cordova_android__lt_3_7_2__command_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__cordova_android__lt_3_7_2__command_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__cordova_android__lt_3_7_2__command_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__cordova_android__lt_3_7_2__command_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__cordova_android__lt_3_7_2__command_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__cordova_android__lt_3_7_2__command_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__cordova_android__lt_3_7_2__command_injection.dacg.result.s2.o0": "The library is known to include the OS Command Injection vulnerability.",
  "0.event.dacg_npm__cordova_android__lt_3_7_2__command_injection.dacg.result.s3.o0": "The OS Command Injection vulnerability is caused by executing user commands without any verification process.",
  "0.event.dacg_npm__cordova_android__lt_3_7_2__command_injection.dacg.result.s4.o0": "Using the OS Command Injection vulnerability, an attacker can steal key information of the server and force to perform unintended behaviors.",
  "0.event.dacg_npm__cordova_android__lt_3_7_2__command_injection.dacg.result.s5.o0": "As a result of the test, the OS Command Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__cordova_android__lt_3_7_2__command_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__cordova_android__lt_3_7_2__command_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__cordova_android__lt_3_7_2__command_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__cordova_android__lt_3_7_2__command_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__cordova_android__lt_4_1_1__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__cordova_android__lt_4_1_1__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__cordova_android__lt_4_1_1__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__cordova_android__lt_4_1_1__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__cordova_android__lt_4_1_1__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__cordova_android__lt_4_1_1__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__cordova_android__lt_4_1_1__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__cordova_android__lt_4_1_1__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__cordova_android__lt_4_1_1__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__cordova_android__lt_4_1_1__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__cordova_android__lt_4_1_1__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__cordova_android__lt_4_1_1__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__cordova_android__lt_4_1_1__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__cordova_android__lt_4_1_1__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__cordova_android__lt_4_1_1__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__cordova_android__lt_4_1_1__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__cordova_android__lt_6_1_2__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__cordova_android__lt_6_1_2__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__cordova_android__lt_6_1_2__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__cordova_android__lt_6_1_2__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__cordova_android__lt_6_1_2__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__cordova_android__lt_6_1_2__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__cordova_android__lt_6_1_2__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__cordova_android__lt_6_1_2__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__cordova_android__lt_6_1_2__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__cordova_android__lt_6_1_2__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__cordova_android__lt_6_1_2__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__cordova_android__lt_6_1_2__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__cordova_android__lt_6_1_2__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__cordova_android__lt_6_1_2__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__cordova_android__lt_6_1_2__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__cordova_android__lt_6_1_2__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__cordova_ios__ge_3_5_0_lt_4_0_0__authorization_bypass.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__cordova_ios__ge_3_5_0_lt_4_0_0__authorization_bypass.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__cordova_ios__ge_3_5_0_lt_4_0_0__authorization_bypass.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__cordova_ios__ge_3_5_0_lt_4_0_0__authorization_bypass.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__cordova_ios__ge_3_5_0_lt_4_0_0__authorization_bypass.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__cordova_ios__ge_3_5_0_lt_4_0_0__authorization_bypass.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__cordova_ios__ge_3_5_0_lt_4_0_0__authorization_bypass.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__cordova_ios__ge_3_5_0_lt_4_0_0__authorization_bypass.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__cordova_ios__ge_3_5_0_lt_4_0_0__authorization_bypass.dacg.result.s2.o0": "The library is known to include the Authorization Bypass vulnerability.",
  "0.event.dacg_npm__cordova_ios__ge_3_5_0_lt_4_0_0__authorization_bypass.dacg.result.s3.o0": "Authentication bypass vulnerabilities can bypass a required authentication process.",
  "0.event.dacg_npm__cordova_ios__ge_3_5_0_lt_4_0_0__authorization_bypass.dacg.result.s4.o0": "An attacker can use Authorization Bypass vulnerability to perform unauthorized activities.",
  "0.event.dacg_npm__cordova_ios__ge_3_5_0_lt_4_0_0__authorization_bypass.dacg.result.s5.o0": "As a result of the test, the Authorization Bypass vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__cordova_ios__ge_3_5_0_lt_4_0_0__authorization_bypass.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__cordova_ios__ge_3_5_0_lt_4_0_0__authorization_bypass.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__cordova_ios__ge_3_5_0_lt_4_0_0__authorization_bypass.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__cordova_ios__ge_3_5_0_lt_4_0_0__authorization_bypass.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__cordova_ios__ge_3_5_0_lt_4_0_0__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__cordova_ios__ge_3_5_0_lt_4_0_0__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__cordova_ios__ge_3_5_0_lt_4_0_0__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__cordova_ios__ge_3_5_0_lt_4_0_0__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__cordova_ios__ge_3_5_0_lt_4_0_0__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__cordova_ios__ge_3_5_0_lt_4_0_0__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__cordova_ios__ge_3_5_0_lt_4_0_0__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__cordova_ios__ge_3_5_0_lt_4_0_0__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__cordova_ios__ge_3_5_0_lt_4_0_0__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__cordova_ios__ge_3_5_0_lt_4_0_0__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__cordova_ios__ge_3_5_0_lt_4_0_0__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__cordova_ios__ge_3_5_0_lt_4_0_0__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__cordova_ios__ge_3_5_0_lt_4_0_0__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__cordova_ios__ge_3_5_0_lt_4_0_0__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__cordova_ios__ge_3_5_0_lt_4_0_0__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__cordova_ios__ge_3_5_0_lt_4_0_0__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__cordova_ios__open_redirect.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__cordova_ios__open_redirect.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__cordova_ios__open_redirect.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__cordova_ios__open_redirect.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__cordova_ios__open_redirect.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__cordova_ios__open_redirect.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__cordova_ios__open_redirect.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__cordova_ios__open_redirect.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__cordova_ios__open_redirect.dacg.result.s2.o0": "The library is known to include the URL Redirection to Untrusted Site vulnerability.",
  "0.event.dacg_npm__cordova_ios__open_redirect.dacg.result.s3.o0": "The URL Redirection to Untrusted Site vulnerability is caused by using unreliable user inputs to construct URLs and perform a redirection to them.",
  "0.event.dacg_npm__cordova_ios__open_redirect.dacg.result.s4.o0": "By using the URL Redirection to Untrusted Site vulnerability, an attacker can force users to access malicious sites, such as phishing sites.",
  "0.event.dacg_npm__cordova_ios__open_redirect.dacg.result.s5.o0": "As a result of the test, the URL Redirection to Untrusted Site vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__cordova_ios__open_redirect.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__cordova_ios__open_redirect.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__cordova_ios__open_redirect.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__cordova_ios__open_redirect.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__cordova_plugin_file_transfer__lt_0_4_2__insecure_configuration.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__cordova_plugin_file_transfer__lt_0_4_2__insecure_configuration.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__cordova_plugin_file_transfer__lt_0_4_2__insecure_configuration.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__cordova_plugin_file_transfer__lt_0_4_2__insecure_configuration.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__cordova_plugin_file_transfer__lt_0_4_2__insecure_configuration.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__cordova_plugin_file_transfer__lt_0_4_2__insecure_configuration.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__cordova_plugin_file_transfer__lt_0_4_2__insecure_configuration.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__cordova_plugin_file_transfer__lt_0_4_2__insecure_configuration.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__cordova_plugin_file_transfer__lt_0_4_2__insecure_configuration.dacg.result.s2.o0": "The library is known to include the Insecure Configuration vulnerability.",
  "0.event.dacg_npm__cordova_plugin_file_transfer__lt_0_4_2__insecure_configuration.dacg.result.s3.o0": "The Insecure Configuration vulnerability allows external attacks by server or application settings.",
  "0.event.dacg_npm__cordova_plugin_file_transfer__lt_0_4_2__insecure_configuration.dacg.result.s4.o0": "Using the Insecure Configuration vulnerability, an attacker can control the operation of the server or application, or take and manipulate sensitive information.",
  "0.event.dacg_npm__cordova_plugin_file_transfer__lt_0_4_2__insecure_configuration.dacg.result.s5.o0": "As a result of the test, the Insecure Configuration vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__cordova_plugin_file_transfer__lt_0_4_2__insecure_configuration.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__cordova_plugin_file_transfer__lt_0_4_2__insecure_configuration.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__cordova_plugin_file_transfer__lt_0_4_2__insecure_configuration.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__cordova_plugin_file_transfer__lt_0_4_2__insecure_configuration.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__cordova_plugin_file_transfer__lt_1_3_0__crlf_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__cordova_plugin_file_transfer__lt_1_3_0__crlf_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__cordova_plugin_file_transfer__lt_1_3_0__crlf_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__cordova_plugin_file_transfer__lt_1_3_0__crlf_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__cordova_plugin_file_transfer__lt_1_3_0__crlf_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__cordova_plugin_file_transfer__lt_1_3_0__crlf_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__cordova_plugin_file_transfer__lt_1_3_0__crlf_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__cordova_plugin_file_transfer__lt_1_3_0__crlf_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__cordova_plugin_file_transfer__lt_1_3_0__crlf_injection.dacg.result.s2.o0": "This library is known to include a CRLF injection vulnerability.",
  "0.event.dacg_npm__cordova_plugin_file_transfer__lt_1_3_0__crlf_injection.dacg.result.s3.o0": "The CRLF Injection vulnerability is caused by injecting a CRLF into a HTTP request parameter, for example.",
  "0.event.dacg_npm__cordova_plugin_file_transfer__lt_1_3_0__crlf_injection.dacg.result.s4.o0": "Using the CRLF Injection vulnerability, an attacker can manipulate server responses and steal or manipulate user information (such as session, cookie).",
  "0.event.dacg_npm__cordova_plugin_file_transfer__lt_1_3_0__crlf_injection.dacg.result.s5.o0": "As a result of the test, the CRLF Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__cordova_plugin_file_transfer__lt_1_3_0__crlf_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__cordova_plugin_file_transfer__lt_1_3_0__crlf_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__cordova_plugin_file_transfer__lt_1_3_0__crlf_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__cordova_plugin_file_transfer__lt_1_3_0__crlf_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__cordova_plugin_inappbrowser__lt_0_3_2__improper_privilege_management.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__cordova_plugin_inappbrowser__lt_0_3_2__improper_privilege_management.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__cordova_plugin_inappbrowser__lt_0_3_2__improper_privilege_management.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__cordova_plugin_inappbrowser__lt_0_3_2__improper_privilege_management.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__cordova_plugin_inappbrowser__lt_0_3_2__improper_privilege_management.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__cordova_plugin_inappbrowser__lt_0_3_2__improper_privilege_management.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__cordova_plugin_inappbrowser__lt_0_3_2__improper_privilege_management.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__cordova_plugin_inappbrowser__lt_0_3_2__improper_privilege_management.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__cordova_plugin_inappbrowser__lt_0_3_2__improper_privilege_management.dacg.result.s2.o0": "The library is known to include the Improper Privilege Management vulnerability.",
  "0.event.dacg_npm__cordova_plugin_inappbrowser__lt_0_3_2__improper_privilege_management.dacg.result.s3.o0": "The Improper Privilege Management vulnerability is caused by lacking sufficient privilege management for specific users.",
  "0.event.dacg_npm__cordova_plugin_inappbrowser__lt_0_3_2__improper_privilege_management.dacg.result.s4.o0": "Using the Improper Privilege Management vulnerability, an attacker can access to and manipulation of limited information.",
  "0.event.dacg_npm__cordova_plugin_inappbrowser__lt_0_3_2__improper_privilege_management.dacg.result.s5.o0": "As a result of the test, the Improper Privilege Management vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__cordova_plugin_inappbrowser__lt_0_3_2__improper_privilege_management.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__cordova_plugin_inappbrowser__lt_0_3_2__improper_privilege_management.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__cordova_plugin_inappbrowser__lt_0_3_2__improper_privilege_management.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__cordova_plugin_inappbrowser__lt_0_3_2__improper_privilege_management.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__cordova_plugin_ios_keychain__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__cordova_plugin_ios_keychain__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__cordova_plugin_ios_keychain__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__cordova_plugin_ios_keychain__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__cordova_plugin_ios_keychain__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__cordova_plugin_ios_keychain__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__cordova_plugin_ios_keychain__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__cordova_plugin_ios_keychain__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__cordova_plugin_ios_keychain__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__cordova_plugin_ios_keychain__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__cordova_plugin_ios_keychain__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__cordova_plugin_ios_keychain__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__cordova_plugin_ios_keychain__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__cordova_plugin_ios_keychain__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__cordova_plugin_ios_keychain__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__cordova_plugin_ios_keychain__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__craft_ai_icons__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__craft_ai_icons__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__craft_ai_icons__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__craft_ai_icons__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__craft_ai_icons__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__craft_ai_icons__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__craft_ai_icons__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__craft_ai_icons__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__craft_ai_icons__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__craft_ai_icons__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__craft_ai_icons__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__craft_ai_icons__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__craft_ai_icons__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__craft_ai_icons__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__craft_ai_icons__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__craft_ai_icons__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__crossbow_lang__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__crossbow_lang__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__crossbow_lang__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__crossbow_lang__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__crossbow_lang__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__crossbow_lang__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__crossbow_lang__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__crossbow_lang__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__crossbow_lang__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__crossbow_lang__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__crossbow_lang__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__crossbow_lang__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__crossbow_lang__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__crossbow_lang__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__crossbow_lang__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__crossbow_lang__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__crossenv__le_1_0_1__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__crossenv__le_1_0_1__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__crossenv__le_1_0_1__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__crossenv__le_1_0_1__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__crossenv__le_1_0_1__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__crossenv__le_1_0_1__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__crossenv__le_1_0_1__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__crossenv__le_1_0_1__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__crossenv__le_1_0_1__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__crossenv__le_1_0_1__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__crossenv__le_1_0_1__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__crossenv__le_1_0_1__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__crossenv__le_1_0_1__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__crossenv__le_1_0_1__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__crossenv__le_1_0_1__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__crossenv__le_1_0_1__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__crud_file_server__lt_0_9_0__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__crud_file_server__lt_0_9_0__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__crud_file_server__lt_0_9_0__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__crud_file_server__lt_0_9_0__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__crud_file_server__lt_0_9_0__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__crud_file_server__lt_0_9_0__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__crud_file_server__lt_0_9_0__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__crud_file_server__lt_0_9_0__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__crud_file_server__lt_0_9_0__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__crud_file_server__lt_0_9_0__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__crud_file_server__lt_0_9_0__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__crud_file_server__lt_0_9_0__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__crud_file_server__lt_0_9_0__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__crud_file_server__lt_0_9_0__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__crud_file_server__lt_0_9_0__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__crud_file_server__lt_0_9_0__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__crud_file_server__lt_0_9_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__crud_file_server__lt_0_9_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__crud_file_server__lt_0_9_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__crud_file_server__lt_0_9_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__crud_file_server__lt_0_9_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__crud_file_server__lt_0_9_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__crud_file_server__lt_0_9_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__crud_file_server__lt_0_9_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__crud_file_server__lt_0_9_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__crud_file_server__lt_0_9_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__crud_file_server__lt_0_9_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__crud_file_server__lt_0_9_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__crud_file_server__lt_0_9_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__crud_file_server__lt_0_9_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__crud_file_server__lt_0_9_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__crud_file_server__lt_0_9_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__crumb__lt_3_0_0__cors_bypass.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__crumb__lt_3_0_0__cors_bypass.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__crumb__lt_3_0_0__cors_bypass.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__crumb__lt_3_0_0__cors_bypass.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__crumb__lt_3_0_0__cors_bypass.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__crumb__lt_3_0_0__cors_bypass.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__crumb__lt_3_0_0__cors_bypass.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__crumb__lt_3_0_0__cors_bypass.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__crumb__lt_3_0_0__cors_bypass.dacg.result.s2.o0": "The library is known to include the CORS Bypass vulnerability.",
  "0.event.dacg_npm__crumb__lt_3_0_0__cors_bypass.dacg.result.s3.o0": "The Cross-Origin Resource Sharing (CORS) Policy bypassing vulnerability is caused by bypassing Cross-Origin Resource Sharing (CORS) policy.",
  "0.event.dacg_npm__crumb__lt_3_0_0__cors_bypass.dacg.result.s4.o0": "Using the CORS Bypass vulnerability, an attacker can insert dangerous code by bypassing cross-origin resource sharing policy.",
  "0.event.dacg_npm__crumb__lt_3_0_0__cors_bypass.dacg.result.s5.o0": "As a result of the test, the CORS Bypass vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__crumb__lt_3_0_0__cors_bypass.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__crumb__lt_3_0_0__cors_bypass.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__crumb__lt_3_0_0__cors_bypass.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__crumb__lt_3_0_0__cors_bypass.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__crumb__lt_4_0_2__authentication_bypass.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__crumb__lt_4_0_2__authentication_bypass.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__crumb__lt_4_0_2__authentication_bypass.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__crumb__lt_4_0_2__authentication_bypass.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__crumb__lt_4_0_2__authentication_bypass.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__crumb__lt_4_0_2__authentication_bypass.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__crumb__lt_4_0_2__authentication_bypass.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__crumb__lt_4_0_2__authentication_bypass.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__crumb__lt_4_0_2__authentication_bypass.dacg.result.s2.o0": "The library is known to include the Authentication Bypass vulnerability.",
  "0.event.dacg_npm__crumb__lt_4_0_2__authentication_bypass.dacg.result.s3.o0": "Authentication bypass vulnerabilities can bypass a required authentication process.",
  "0.event.dacg_npm__crumb__lt_4_0_2__authentication_bypass.dacg.result.s4.o0": "Using the Authentication Bypass vulnerability, an attacker can access to and manipulation of limited information.",
  "0.event.dacg_npm__crumb__lt_4_0_2__authentication_bypass.dacg.result.s5.o0": "As a result of the test, the Authentication Bypass vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__crumb__lt_4_0_2__authentication_bypass.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__crumb__lt_4_0_2__authentication_bypass.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__crumb__lt_4_0_2__authentication_bypass.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__crumb__lt_4_0_2__authentication_bypass.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__cryptiles__lt_4_1_2__use_of_insufficiently_random_values.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__cryptiles__lt_4_1_2__use_of_insufficiently_random_values.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__cryptiles__lt_4_1_2__use_of_insufficiently_random_values.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__cryptiles__lt_4_1_2__use_of_insufficiently_random_values.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__cryptiles__lt_4_1_2__use_of_insufficiently_random_values.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__cryptiles__lt_4_1_2__use_of_insufficiently_random_values.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__cryptiles__lt_4_1_2__use_of_insufficiently_random_values.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__cryptiles__lt_4_1_2__use_of_insufficiently_random_values.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__cryptiles__lt_4_1_2__use_of_insufficiently_random_values.dacg.result.s2.o0": "This library is known to include a Use of Insufficiently Random Values vulnerability.",
  "0.event.dacg_npm__cryptiles__lt_4_1_2__use_of_insufficiently_random_values.dacg.result.s3.o0": "The Use of Insufficient Random Number vulnerability is caused by using predictable random numbers.",
  "0.event.dacg_npm__cryptiles__lt_4_1_2__use_of_insufficiently_random_values.dacg.result.s4.o0": "An attacker can use Insufficiently Random Values vulnerability to infer a random number value of a password or decryption key.",
  "0.event.dacg_npm__cryptiles__lt_4_1_2__use_of_insufficiently_random_values.dacg.result.s5.o0": "As a result of the test, the Use of Insufficiently Random Values vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__cryptiles__lt_4_1_2__use_of_insufficiently_random_values.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__cryptiles__lt_4_1_2__use_of_insufficiently_random_values.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__cryptiles__lt_4_1_2__use_of_insufficiently_random_values.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__cryptiles__lt_4_1_2__use_of_insufficiently_random_values.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__crypto_browserify__lt_2_1_11__use_of_insufficiently_random_values.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__crypto_browserify__lt_2_1_11__use_of_insufficiently_random_values.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__crypto_browserify__lt_2_1_11__use_of_insufficiently_random_values.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__crypto_browserify__lt_2_1_11__use_of_insufficiently_random_values.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__crypto_browserify__lt_2_1_11__use_of_insufficiently_random_values.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__crypto_browserify__lt_2_1_11__use_of_insufficiently_random_values.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__crypto_browserify__lt_2_1_11__use_of_insufficiently_random_values.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__crypto_browserify__lt_2_1_11__use_of_insufficiently_random_values.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__crypto_browserify__lt_2_1_11__use_of_insufficiently_random_values.dacg.result.s2.o0": "This library is known to include a Use of Insufficiently Random Values vulnerability.",
  "0.event.dacg_npm__crypto_browserify__lt_2_1_11__use_of_insufficiently_random_values.dacg.result.s3.o0": "The Use of Insufficient Random Number vulnerability is caused by using predictable random numbers.",
  "0.event.dacg_npm__crypto_browserify__lt_2_1_11__use_of_insufficiently_random_values.dacg.result.s4.o0": "An attacker can use Insufficiently Random Values vulnerability to infer a random number value of a password or decryption key.",
  "0.event.dacg_npm__crypto_browserify__lt_2_1_11__use_of_insufficiently_random_values.dacg.result.s5.o0": "As a result of the test, the Use of Insufficiently Random Values vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__crypto_browserify__lt_2_1_11__use_of_insufficiently_random_values.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__crypto_browserify__lt_2_1_11__use_of_insufficiently_random_values.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__crypto_browserify__lt_2_1_11__use_of_insufficiently_random_values.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__crypto_browserify__lt_2_1_11__use_of_insufficiently_random_values.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__cs360getcity__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__cs360getcity__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__cs360getcity__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__cs360getcity__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__cs360getcity__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__cs360getcity__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__cs360getcity__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__cs360getcity__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__cs360getcity__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__cs360getcity__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__cs360getcity__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__cs360getcity__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__cs360getcity__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__cs360getcity__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__cs360getcity__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__cs360getcity__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__csrf_lite__le_0_1_1__timing_attack.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__csrf_lite__le_0_1_1__timing_attack.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__csrf_lite__le_0_1_1__timing_attack.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__csrf_lite__le_0_1_1__timing_attack.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__csrf_lite__le_0_1_1__timing_attack.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__csrf_lite__le_0_1_1__timing_attack.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__csrf_lite__le_0_1_1__timing_attack.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__csrf_lite__le_0_1_1__timing_attack.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__csrf_lite__le_0_1_1__timing_attack.dacg.result.s2.o0": "The library is known to include the Timing Attack vulnerability.",
  "0.event.dacg_npm__csrf_lite__le_0_1_1__timing_attack.dacg.result.s3.o0": "The Timing Attack vulnerability causes comparisons to be stopped as soon as different part is found in the comparisons such as strings.",
  "0.event.dacg_npm__csrf_lite__le_0_1_1__timing_attack.dacg.result.s4.o0": "An attacker can use Timing Attack vulnerability to calculate spending times, and estimate sensitive information such as passwords.",
  "0.event.dacg_npm__csrf_lite__le_0_1_1__timing_attack.dacg.result.s5.o0": "As a result of the test, the Timing Attack vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__csrf_lite__le_0_1_1__timing_attack.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__csrf_lite__le_0_1_1__timing_attack.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__csrf_lite__le_0_1_1__timing_attack.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__csrf_lite__le_0_1_1__timing_attack.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__cuciuci__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__cuciuci__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__cuciuci__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__cuciuci__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__cuciuci__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__cuciuci__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__cuciuci__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__cuciuci__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__cuciuci__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__cuciuci__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__cuciuci__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__cuciuci__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__cuciuci__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__cuciuci__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__cuciuci__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__cuciuci__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__cue_sdk_node__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__cue_sdk_node__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__cue_sdk_node__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__cue_sdk_node__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__cue_sdk_node__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__cue_sdk_node__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__cue_sdk_node__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__cue_sdk_node__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__cue_sdk_node__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__cue_sdk_node__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__cue_sdk_node__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__cue_sdk_node__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__cue_sdk_node__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__cue_sdk_node__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__cue_sdk_node__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__cue_sdk_node__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__cuiaiguang__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__cuiaiguang__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__cuiaiguang__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__cuiaiguang__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__cuiaiguang__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__cuiaiguang__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__cuiaiguang__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__cuiaiguang__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__cuiaiguang__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__cuiaiguang__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__cuiaiguang__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__cuiaiguang__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__cuiaiguang__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__cuiaiguang__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__cuiaiguang__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__cuiaiguang__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__curses__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__curses__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__curses__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__curses__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__curses__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__curses__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__curses__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__curses__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__curses__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__curses__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__curses__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__curses__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__curses__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__curses__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__curses__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__curses__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__cxy__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__cxy__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__cxy__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__cxy__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__cxy__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__cxy__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__cxy__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__cxy__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__cxy__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__cxy__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__cxy__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__cxy__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__cxy__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__cxy__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__cxy__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__cxy__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__cyber_js__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__cyber_js__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__cyber_js__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__cyber_js__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__cyber_js__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__cyber_js__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__cyber_js__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__cyber_js__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__cyber_js__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__cyber_js__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__cyber_js__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__cyber_js__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__cyber_js__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__cyber_js__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__cyber_js__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__cyber_js__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__cypserver__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__cypserver__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__cypserver__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__cypserver__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__cypserver__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__cypserver__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__cypserver__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__cypserver__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__cypserver__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__cypserver__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__cypserver__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__cypserver__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__cypserver__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__cypserver__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__cypserver__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__cypserver__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__cyro__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__cyro__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__cyro__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__cyro__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__cyro__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__cyro__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__cyro__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__cyro__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__cyro__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__cyro__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__cyro__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__cyro__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__cyro__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__cyro__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__cyro__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__cyro__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__d3_js__le_1_0_2__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__d3_js__le_1_0_2__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__d3_js__le_1_0_2__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__d3_js__le_1_0_2__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__d3_js__le_1_0_2__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__d3_js__le_1_0_2__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__d3_js__le_1_0_2__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__d3_js__le_1_0_2__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__d3_js__le_1_0_2__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__d3_js__le_1_0_2__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__d3_js__le_1_0_2__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__d3_js__le_1_0_2__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__d3_js__le_1_0_2__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__d3_js__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__d3_js__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__d3_js__le_1_0_2__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__dalek_browser_chrome__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__dalek_browser_chrome__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__dalek_browser_chrome__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__dalek_browser_chrome__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__dalek_browser_chrome__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__dalek_browser_chrome__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__dalek_browser_chrome__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__dalek_browser_chrome__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__dalek_browser_chrome__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__dalek_browser_chrome__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__dalek_browser_chrome__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__dalek_browser_chrome__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__dalek_browser_chrome__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__dalek_browser_chrome__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__dalek_browser_chrome__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__dalek_browser_chrome__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__dalek_browser_chrome_canary__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__dalek_browser_chrome_canary__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__dalek_browser_chrome_canary__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__dalek_browser_chrome_canary__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__dalek_browser_chrome_canary__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__dalek_browser_chrome_canary__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__dalek_browser_chrome_canary__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__dalek_browser_chrome_canary__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__dalek_browser_chrome_canary__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__dalek_browser_chrome_canary__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__dalek_browser_chrome_canary__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__dalek_browser_chrome_canary__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__dalek_browser_chrome_canary__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__dalek_browser_chrome_canary__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__dalek_browser_chrome_canary__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__dalek_browser_chrome_canary__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__dalek_browser_ie__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__dalek_browser_ie__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__dalek_browser_ie__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__dalek_browser_ie__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__dalek_browser_ie__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__dalek_browser_ie__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__dalek_browser_ie__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__dalek_browser_ie__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__dalek_browser_ie__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__dalek_browser_ie__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__dalek_browser_ie__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__dalek_browser_ie__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__dalek_browser_ie__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__dalek_browser_ie__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__dalek_browser_ie__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__dalek_browser_ie__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__dalek_browser_ie_canary__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__dalek_browser_ie_canary__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__dalek_browser_ie_canary__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__dalek_browser_ie_canary__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__dalek_browser_ie_canary__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__dalek_browser_ie_canary__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__dalek_browser_ie_canary__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__dalek_browser_ie_canary__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__dalek_browser_ie_canary__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__dalek_browser_ie_canary__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__dalek_browser_ie_canary__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__dalek_browser_ie_canary__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__dalek_browser_ie_canary__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__dalek_browser_ie_canary__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__dalek_browser_ie_canary__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__dalek_browser_ie_canary__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__dasafio__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__dasafio__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__dasafio__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__dasafio__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__dasafio__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__dasafio__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__dasafio__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__dasafio__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__dasafio__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__dasafio__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__dasafio__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__dasafio__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__dasafio__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__dasafio__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__dasafio__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__dasafio__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__datachannel_client__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__datachannel_client__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__datachannel_client__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__datachannel_client__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__datachannel_client__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__datachannel_client__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__datachannel_client__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__datachannel_client__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__datachannel_client__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__datachannel_client__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__datachannel_client__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__datachannel_client__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__datachannel_client__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__datachannel_client__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__datachannel_client__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__datachannel_client__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__datatables__ge_1_10_1_lt_1_10_10__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__datatables__ge_1_10_1_lt_1_10_10__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__datatables__ge_1_10_1_lt_1_10_10__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__datatables__ge_1_10_1_lt_1_10_10__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__datatables__ge_1_10_1_lt_1_10_10__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__datatables__ge_1_10_1_lt_1_10_10__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__datatables__ge_1_10_1_lt_1_10_10__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__datatables__ge_1_10_1_lt_1_10_10__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__datatables__ge_1_10_1_lt_1_10_10__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__datatables__ge_1_10_1_lt_1_10_10__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__datatables__ge_1_10_1_lt_1_10_10__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__datatables__ge_1_10_1_lt_1_10_10__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__datatables__ge_1_10_1_lt_1_10_10__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__datatables__ge_1_10_1_lt_1_10_10__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__datatables__ge_1_10_1_lt_1_10_10__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__datatables__ge_1_10_1_lt_1_10_10__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__datatables__le_1_10_8__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__datatables__le_1_10_8__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__datatables__le_1_10_8__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__datatables__le_1_10_8__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__datatables__le_1_10_8__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__datatables__le_1_10_8__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__datatables__le_1_10_8__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__datatables__le_1_10_8__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__datatables__le_1_10_8__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__datatables__le_1_10_8__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__datatables__le_1_10_8__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__datatables__le_1_10_8__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__datatables__le_1_10_8__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__datatables__le_1_10_8__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__datatables__le_1_10_8__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__datatables__le_1_10_8__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__datatype_expansion__lt_0_3_1__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__datatype_expansion__lt_0_3_1__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__datatype_expansion__lt_0_3_1__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__datatype_expansion__lt_0_3_1__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__datatype_expansion__lt_0_3_1__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__datatype_expansion__lt_0_3_1__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__datatype_expansion__lt_0_3_1__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__datatype_expansion__lt_0_3_1__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__datatype_expansion__lt_0_3_1__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__datatype_expansion__lt_0_3_1__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__datatype_expansion__lt_0_3_1__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__datatype_expansion__lt_0_3_1__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__datatype_expansion__lt_0_3_1__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__datatype_expansion__lt_0_3_1__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__datatype_expansion__lt_0_3_1__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__datatype_expansion__lt_0_3_1__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__dcdcdcdcdc__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__dcdcdcdcdc__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__dcdcdcdcdc__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__dcdcdcdcdc__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__dcdcdcdcdc__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__dcdcdcdcdc__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__dcdcdcdcdc__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__dcdcdcdcdc__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__dcdcdcdcdc__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__dcdcdcdcdc__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__dcdcdcdcdc__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__dcdcdcdcdc__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__dcdcdcdcdc__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__dcdcdcdcdc__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__dcdcdcdcdc__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__dcdcdcdcdc__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__dcserver__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__dcserver__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__dcserver__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__dcserver__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__dcserver__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__dcserver__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__dcserver__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__dcserver__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__dcserver__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__dcserver__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__dcserver__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__dcserver__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__dcserver__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__dcserver__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__dcserver__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__dcserver__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__deap__lt_1_0_1__prototype_pollution.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__deap__lt_1_0_1__prototype_pollution.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__deap__lt_1_0_1__prototype_pollution.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__deap__lt_1_0_1__prototype_pollution.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__deap__lt_1_0_1__prototype_pollution.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__deap__lt_1_0_1__prototype_pollution.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__deap__lt_1_0_1__prototype_pollution.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__deap__lt_1_0_1__prototype_pollution.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__deap__lt_1_0_1__prototype_pollution.dacg.result.s2.o0": "The library is known to include the Prototype Pollution vulnerability.",
  "0.event.dacg_npm__deap__lt_1_0_1__prototype_pollution.dacg.result.s3.o0": "The Prototype Pollution vulnerability is caused by manipulating prototypes of JavaScript objects.",
  "0.event.dacg_npm__deap__lt_1_0_1__prototype_pollution.dacg.result.s4.o0": "Using the Prototype Pollution vulnerability, an attacker can modify and capture property information for all objects.",
  "0.event.dacg_npm__deap__lt_1_0_1__prototype_pollution.dacg.result.s5.o0": "As a result of the test, the Prototype Pollution vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__deap__lt_1_0_1__prototype_pollution.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__deap__lt_1_0_1__prototype_pollution.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__deap__lt_1_0_1__prototype_pollution.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__deap__lt_1_0_1__prototype_pollution.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__deasyncp__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__deasyncp__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__deasyncp__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__deasyncp__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__deasyncp__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__deasyncp__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__deasyncp__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__deasyncp__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__deasyncp__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__deasyncp__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__deasyncp__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__deasyncp__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__deasyncp__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__deasyncp__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__deasyncp__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__deasyncp__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__debug__ge_3_0_0_lt_3_1_0__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__debug__ge_3_0_0_lt_3_1_0__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__debug__ge_3_0_0_lt_3_1_0__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__debug__ge_3_0_0_lt_3_1_0__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__debug__ge_3_0_0_lt_3_1_0__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__debug__ge_3_0_0_lt_3_1_0__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__debug__ge_3_0_0_lt_3_1_0__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__debug__ge_3_0_0_lt_3_1_0__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__debug__ge_3_0_0_lt_3_1_0__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__debug__ge_3_0_0_lt_3_1_0__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__debug__ge_3_0_0_lt_3_1_0__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__debug__ge_3_0_0_lt_3_1_0__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__debug__ge_3_0_0_lt_3_1_0__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__debug__ge_3_0_0_lt_3_1_0__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__debug__ge_3_0_0_lt_3_1_0__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__debug__ge_3_0_0_lt_3_1_0__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__debug__lt_2_6_9__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__debug__lt_2_6_9__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__debug__lt_2_6_9__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__debug__lt_2_6_9__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__debug__lt_2_6_9__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__debug__lt_2_6_9__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__debug__lt_2_6_9__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__debug__lt_2_6_9__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__debug__lt_2_6_9__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__debug__lt_2_6_9__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__debug__lt_2_6_9__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__debug__lt_2_6_9__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__debug__lt_2_6_9__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__debug__lt_2_6_9__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__debug__lt_2_6_9__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__debug__lt_2_6_9__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__decamelize__ge_1_1_0_lt_1_1_2__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__decamelize__ge_1_1_0_lt_1_1_2__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__decamelize__ge_1_1_0_lt_1_1_2__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__decamelize__ge_1_1_0_lt_1_1_2__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__decamelize__ge_1_1_0_lt_1_1_2__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__decamelize__ge_1_1_0_lt_1_1_2__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__decamelize__ge_1_1_0_lt_1_1_2__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__decamelize__ge_1_1_0_lt_1_1_2__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__decamelize__ge_1_1_0_lt_1_1_2__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__decamelize__ge_1_1_0_lt_1_1_2__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__decamelize__ge_1_1_0_lt_1_1_2__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__decamelize__ge_1_1_0_lt_1_1_2__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__decamelize__ge_1_1_0_lt_1_1_2__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__decamelize__ge_1_1_0_lt_1_1_2__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__decamelize__ge_1_1_0_lt_1_1_2__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__decamelize__ge_1_1_0_lt_1_1_2__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__deckardcain__lt_0_3_4__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__deckardcain__lt_0_3_4__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__deckardcain__lt_0_3_4__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__deckardcain__lt_0_3_4__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__deckardcain__lt_0_3_4__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__deckardcain__lt_0_3_4__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__deckardcain__lt_0_3_4__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__deckardcain__lt_0_3_4__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__deckardcain__lt_0_3_4__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__deckardcain__lt_0_3_4__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__deckardcain__lt_0_3_4__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__deckardcain__lt_0_3_4__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__deckardcain__lt_0_3_4__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__deckardcain__lt_0_3_4__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__deckardcain__lt_0_3_4__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__deckardcain__lt_0_3_4__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__deep_extend__lt_0_5_1__prototype_pollution.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__deep_extend__lt_0_5_1__prototype_pollution.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__deep_extend__lt_0_5_1__prototype_pollution.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__deep_extend__lt_0_5_1__prototype_pollution.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__deep_extend__lt_0_5_1__prototype_pollution.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__deep_extend__lt_0_5_1__prototype_pollution.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__deep_extend__lt_0_5_1__prototype_pollution.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__deep_extend__lt_0_5_1__prototype_pollution.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__deep_extend__lt_0_5_1__prototype_pollution.dacg.result.s2.o0": "The library is known to include the Prototype Pollution vulnerability.",
  "0.event.dacg_npm__deep_extend__lt_0_5_1__prototype_pollution.dacg.result.s3.o0": "The Prototype Pollution vulnerability is caused by manipulating prototypes of JavaScript objects.",
  "0.event.dacg_npm__deep_extend__lt_0_5_1__prototype_pollution.dacg.result.s4.o0": "Using the Prototype Pollution vulnerability, an attacker can modify and capture property information for all objects.",
  "0.event.dacg_npm__deep_extend__lt_0_5_1__prototype_pollution.dacg.result.s5.o0": "As a result of the test, the Prototype Pollution vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__deep_extend__lt_0_5_1__prototype_pollution.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__deep_extend__lt_0_5_1__prototype_pollution.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__deep_extend__lt_0_5_1__prototype_pollution.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__deep_extend__lt_0_5_1__prototype_pollution.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__defaults_deep__lt_0_2_4__prototype_pollution.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__defaults_deep__lt_0_2_4__prototype_pollution.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__defaults_deep__lt_0_2_4__prototype_pollution.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__defaults_deep__lt_0_2_4__prototype_pollution.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__defaults_deep__lt_0_2_4__prototype_pollution.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__defaults_deep__lt_0_2_4__prototype_pollution.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__defaults_deep__lt_0_2_4__prototype_pollution.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__defaults_deep__lt_0_2_4__prototype_pollution.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__defaults_deep__lt_0_2_4__prototype_pollution.dacg.result.s2.o0": "The library is known to include the Prototype Pollution vulnerability.",
  "0.event.dacg_npm__defaults_deep__lt_0_2_4__prototype_pollution.dacg.result.s3.o0": "The Prototype Pollution vulnerability is caused by manipulating prototypes of JavaScript objects.",
  "0.event.dacg_npm__defaults_deep__lt_0_2_4__prototype_pollution.dacg.result.s4.o0": "Using the Prototype Pollution vulnerability, an attacker can modify and capture property information for all objects.",
  "0.event.dacg_npm__defaults_deep__lt_0_2_4__prototype_pollution.dacg.result.s5.o0": "As a result of the test, the Prototype Pollution vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__defaults_deep__lt_0_2_4__prototype_pollution.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__defaults_deep__lt_0_2_4__prototype_pollution.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__defaults_deep__lt_0_2_4__prototype_pollution.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__defaults_deep__lt_0_2_4__prototype_pollution.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__der_server__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__der_server__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__der_server__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__der_server__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__der_server__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__der_server__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__der_server__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__der_server__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__der_server__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__der_server__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__der_server__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__der_server__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__der_server__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__der_server__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__der_server__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__der_server__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__desafio__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__desafio__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__desafio__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__desafio__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__desafio__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__desafio__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__desafio__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__desafio__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__desafio__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__desafio__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__desafio__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__desafio__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__desafio__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__desafio__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__desafio__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__desafio__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__dgard8_lab6__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__dgard8_lab6__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__dgard8_lab6__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__dgard8_lab6__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__dgard8_lab6__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__dgard8_lab6__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__dgard8_lab6__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__dgard8_lab6__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__dgard8_lab6__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__dgard8_lab6__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__dgard8_lab6__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__dgard8_lab6__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__dgard8_lab6__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__dgard8_lab6__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__dgard8_lab6__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__dgard8_lab6__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__diff__ge_3_0_0_lt_3_5_0__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__diff__ge_3_0_0_lt_3_5_0__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__diff__ge_3_0_0_lt_3_5_0__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__diff__ge_3_0_0_lt_3_5_0__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__diff__ge_3_0_0_lt_3_5_0__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__diff__ge_3_0_0_lt_3_5_0__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__diff__ge_3_0_0_lt_3_5_0__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__diff__ge_3_0_0_lt_3_5_0__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__diff__ge_3_0_0_lt_3_5_0__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__diff__ge_3_0_0_lt_3_5_0__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__diff__ge_3_0_0_lt_3_5_0__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__diff__ge_3_0_0_lt_3_5_0__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__diff__ge_3_0_0_lt_3_5_0__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__diff__ge_3_0_0_lt_3_5_0__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__diff__ge_3_0_0_lt_3_5_0__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__diff__ge_3_0_0_lt_3_5_0__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__dijit__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__dijit__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__dijit__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__dijit__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__dijit__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__dijit__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__dijit__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__dijit__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__dijit__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__dijit__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__dijit__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__dijit__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__dijit__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__dijit__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__dijit__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__dijit__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__dilu__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__dilu__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__dilu__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__dilu__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__dilu__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__dilu__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__dilu__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__dilu__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__dilu__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__dilu__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__dilu__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__dilu__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__dilu__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__dilu__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__dilu__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__dilu__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__dirty_json__lt_0_5_2__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__dirty_json__lt_0_5_2__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__dirty_json__lt_0_5_2__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__dirty_json__lt_0_5_2__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__dirty_json__lt_0_5_2__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__dirty_json__lt_0_5_2__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__dirty_json__lt_0_5_2__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__dirty_json__lt_0_5_2__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__dirty_json__lt_0_5_2__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__dirty_json__lt_0_5_2__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__dirty_json__lt_0_5_2__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__dirty_json__lt_0_5_2__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__dirty_json__lt_0_5_2__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__dirty_json__lt_0_5_2__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__dirty_json__lt_0_5_2__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__dirty_json__lt_0_5_2__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__discordi_js__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__discordi_js__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__discordi_js__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__discordi_js__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__discordi_js__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__discordi_js__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__discordi_js__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__discordi_js__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__discordi_js__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__discordi_js__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__discordi_js__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__discordi_js__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__discordi_js__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__discordi_js__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__discordi_js__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__discordi_js__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__dmmcquay_lab6__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__dmmcquay_lab6__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__dmmcquay_lab6__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__dmmcquay_lab6__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__dmmcquay_lab6__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__dmmcquay_lab6__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__dmmcquay_lab6__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__dmmcquay_lab6__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__dmmcquay_lab6__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__dmmcquay_lab6__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__dmmcquay_lab6__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__dmmcquay_lab6__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__dmmcquay_lab6__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__dmmcquay_lab6__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__dmmcquay_lab6__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__dmmcquay_lab6__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__dns_sync__lt_0_1_1__command_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__dns_sync__lt_0_1_1__command_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__dns_sync__lt_0_1_1__command_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__dns_sync__lt_0_1_1__command_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__dns_sync__lt_0_1_1__command_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__dns_sync__lt_0_1_1__command_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__dns_sync__lt_0_1_1__command_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__dns_sync__lt_0_1_1__command_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__dns_sync__lt_0_1_1__command_injection.dacg.result.s2.o0": "The library is known to include the OS Command Injection vulnerability.",
  "0.event.dacg_npm__dns_sync__lt_0_1_1__command_injection.dacg.result.s3.o0": "The OS Command Injection vulnerability is caused by executing user commands without any verification process.",
  "0.event.dacg_npm__dns_sync__lt_0_1_1__command_injection.dacg.result.s4.o0": "Using the OS Command Injection vulnerability, an attacker can steal key information of the server and force to perform unintended behaviors.",
  "0.event.dacg_npm__dns_sync__lt_0_1_1__command_injection.dacg.result.s5.o0": "As a result of the test, the OS Command Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__dns_sync__lt_0_1_1__command_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__dns_sync__lt_0_1_1__command_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__dns_sync__lt_0_1_1__command_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__dns_sync__lt_0_1_1__command_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__dns_sync__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__dns_sync__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__dns_sync__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__dns_sync__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__dns_sync__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__dns_sync__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__dns_sync__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__dns_sync__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__dns_sync__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__dns_sync__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__dns_sync__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__dns_sync__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__dns_sync__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__dns_sync__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__dns_sync__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__dns_sync__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__dojo__ge_0_4__1_lt_0_4_4__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__dojo__ge_0_4__1_lt_0_4_4__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__dojo__ge_0_4__1_lt_0_4_4__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__dojo__ge_0_4__1_lt_0_4_4__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__dojo__ge_0_4__1_lt_0_4_4__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__dojo__ge_0_4__1_lt_0_4_4__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__dojo__ge_0_4__1_lt_0_4_4__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__dojo__ge_0_4__1_lt_0_4_4__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__dojo__ge_0_4__1_lt_0_4_4__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__dojo__ge_0_4__1_lt_0_4_4__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__dojo__ge_0_4__1_lt_0_4_4__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__dojo__ge_0_4__1_lt_0_4_4__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__dojo__ge_0_4__1_lt_0_4_4__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__dojo__ge_0_4__1_lt_0_4_4__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__dojo__ge_0_4__1_lt_0_4_4__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__dojo__ge_0_4__1_lt_0_4_4__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__dojo__ge_1_0__1_lt_1_0_3__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__dojo__ge_1_0__1_lt_1_0_3__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__dojo__ge_1_0__1_lt_1_0_3__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__dojo__ge_1_0__1_lt_1_0_3__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__dojo__ge_1_0__1_lt_1_0_3__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__dojo__ge_1_0__1_lt_1_0_3__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__dojo__ge_1_0__1_lt_1_0_3__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__dojo__ge_1_0__1_lt_1_0_3__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__dojo__ge_1_0__1_lt_1_0_3__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__dojo__ge_1_0__1_lt_1_0_3__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__dojo__ge_1_0__1_lt_1_0_3__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__dojo__ge_1_0__1_lt_1_0_3__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__dojo__ge_1_0__1_lt_1_0_3__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__dojo__ge_1_0__1_lt_1_0_3__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__dojo__ge_1_0__1_lt_1_0_3__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__dojo__ge_1_0__1_lt_1_0_3__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__dojo__ge_1_1__1_lt_1_1_2__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__dojo__ge_1_1__1_lt_1_1_2__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__dojo__ge_1_1__1_lt_1_1_2__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__dojo__ge_1_1__1_lt_1_1_2__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__dojo__ge_1_1__1_lt_1_1_2__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__dojo__ge_1_1__1_lt_1_1_2__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__dojo__ge_1_1__1_lt_1_1_2__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__dojo__ge_1_1__1_lt_1_1_2__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__dojo__ge_1_1__1_lt_1_1_2__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__dojo__ge_1_1__1_lt_1_1_2__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__dojo__ge_1_1__1_lt_1_1_2__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__dojo__ge_1_1__1_lt_1_1_2__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__dojo__ge_1_1__1_lt_1_1_2__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__dojo__ge_1_1__1_lt_1_1_2__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__dojo__ge_1_1__1_lt_1_1_2__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__dojo__ge_1_1__1_lt_1_1_2__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__dojo__ge_1_2__1_lt_1_2_4__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__dojo__ge_1_2__1_lt_1_2_4__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__dojo__ge_1_2__1_lt_1_2_4__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__dojo__ge_1_2__1_lt_1_2_4__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__dojo__ge_1_2__1_lt_1_2_4__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__dojo__ge_1_2__1_lt_1_2_4__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__dojo__ge_1_2__1_lt_1_2_4__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__dojo__ge_1_2__1_lt_1_2_4__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__dojo__ge_1_2__1_lt_1_2_4__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__dojo__ge_1_2__1_lt_1_2_4__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__dojo__ge_1_2__1_lt_1_2_4__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__dojo__ge_1_2__1_lt_1_2_4__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__dojo__ge_1_2__1_lt_1_2_4__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__dojo__ge_1_2__1_lt_1_2_4__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__dojo__ge_1_2__1_lt_1_2_4__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__dojo__ge_1_2__1_lt_1_2_4__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__dojo__ge_1_3__1_lt_1_3_3__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__dojo__ge_1_3__1_lt_1_3_3__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__dojo__ge_1_3__1_lt_1_3_3__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__dojo__ge_1_3__1_lt_1_3_3__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__dojo__ge_1_3__1_lt_1_3_3__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__dojo__ge_1_3__1_lt_1_3_3__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__dojo__ge_1_3__1_lt_1_3_3__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__dojo__ge_1_3__1_lt_1_3_3__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__dojo__ge_1_3__1_lt_1_3_3__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__dojo__ge_1_3__1_lt_1_3_3__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__dojo__ge_1_3__1_lt_1_3_3__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__dojo__ge_1_3__1_lt_1_3_3__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__dojo__ge_1_3__1_lt_1_3_3__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__dojo__ge_1_3__1_lt_1_3_3__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__dojo__ge_1_3__1_lt_1_3_3__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__dojo__ge_1_3__1_lt_1_3_3__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__dojo__ge_1_4__1_lt_1_4_2__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__dojo__ge_1_4__1_lt_1_4_2__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__dojo__ge_1_4__1_lt_1_4_2__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__dojo__ge_1_4__1_lt_1_4_2__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__dojo__ge_1_4__1_lt_1_4_2__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__dojo__ge_1_4__1_lt_1_4_2__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__dojo__ge_1_4__1_lt_1_4_2__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__dojo__ge_1_4__1_lt_1_4_2__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__dojo__ge_1_4__1_lt_1_4_2__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__dojo__ge_1_4__1_lt_1_4_2__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__dojo__ge_1_4__1_lt_1_4_2__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__dojo__ge_1_4__1_lt_1_4_2__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__dojo__ge_1_4__1_lt_1_4_2__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__dojo__ge_1_4__1_lt_1_4_2__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__dojo__ge_1_4__1_lt_1_4_2__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__dojo__ge_1_4__1_lt_1_4_2__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__dojo__le_1_0_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__dojo__le_1_0_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__dojo__le_1_0_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__dojo__le_1_0_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__dojo__le_1_0_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__dojo__le_1_0_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__dojo__le_1_0_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__dojo__le_1_0_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__dojo__le_1_0_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__dojo__le_1_0_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__dojo__le_1_0_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__dojo__le_1_0_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__dojo__le_1_0_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__dojo__le_1_0_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__dojo__le_1_0_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__dojo__le_1_0_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__dojo__lt_1_1__1__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__dojo__lt_1_1__1__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__dojo__lt_1_1__1__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__dojo__lt_1_1__1__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__dojo__lt_1_1__1__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__dojo__lt_1_1__1__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__dojo__lt_1_1__1__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__dojo__lt_1_1__1__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__dojo__lt_1_1__1__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__dojo__lt_1_1__1__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__dojo__lt_1_1__1__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__dojo__lt_1_1__1__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__dojo__lt_1_1__1__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__dojo__lt_1_1__1__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__dojo__lt_1_1__1__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__dojo__lt_1_1__1__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__dojo__lt_1_4_2__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__dojo__lt_1_4_2__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__dojo__lt_1_4_2__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__dojo__lt_1_4_2__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__dojo__lt_1_4_2__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__dojo__lt_1_4_2__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__dojo__lt_1_4_2__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__dojo__lt_1_4_2__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__dojo__lt_1_4_2__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__dojo__lt_1_4_2__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__dojo__lt_1_4_2__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__dojo__lt_1_4_2__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__dojo__lt_1_4_2__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__dojo__lt_1_4_2__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__dojo__lt_1_4_2__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__dojo__lt_1_4_2__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__dompurify__ge_0_4_0_lt_0_6_1__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__dompurify__ge_0_4_0_lt_0_6_1__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__dompurify__ge_0_4_0_lt_0_6_1__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__dompurify__ge_0_4_0_lt_0_6_1__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__dompurify__ge_0_4_0_lt_0_6_1__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__dompurify__ge_0_4_0_lt_0_6_1__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__dompurify__ge_0_4_0_lt_0_6_1__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__dompurify__ge_0_4_0_lt_0_6_1__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__dompurify__ge_0_4_0_lt_0_6_1__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__dompurify__ge_0_4_0_lt_0_6_1__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__dompurify__ge_0_4_0_lt_0_6_1__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__dompurify__ge_0_4_0_lt_0_6_1__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__dompurify__ge_0_4_0_lt_0_6_1__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__dompurify__ge_0_4_0_lt_0_6_1__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__dompurify__ge_0_4_0_lt_0_6_1__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__dompurify__ge_0_4_0_lt_0_6_1__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__dompurify__ge_0_7_3_lt_0_8_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__dompurify__ge_0_7_3_lt_0_8_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__dompurify__ge_0_7_3_lt_0_8_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__dompurify__ge_0_7_3_lt_0_8_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__dompurify__ge_0_7_3_lt_0_8_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__dompurify__ge_0_7_3_lt_0_8_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__dompurify__ge_0_7_3_lt_0_8_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__dompurify__ge_0_7_3_lt_0_8_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__dompurify__ge_0_7_3_lt_0_8_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__dompurify__ge_0_7_3_lt_0_8_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__dompurify__ge_0_7_3_lt_0_8_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__dompurify__ge_0_7_3_lt_0_8_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__dompurify__ge_0_7_3_lt_0_8_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__dompurify__ge_0_7_3_lt_0_8_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__dompurify__ge_0_7_3_lt_0_8_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__dompurify__ge_0_7_3_lt_0_8_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__dompurify__lt_0_3__1__insecure_configuration.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__dompurify__lt_0_3__1__insecure_configuration.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__dompurify__lt_0_3__1__insecure_configuration.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__dompurify__lt_0_3__1__insecure_configuration.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__dompurify__lt_0_3__1__insecure_configuration.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__dompurify__lt_0_3__1__insecure_configuration.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__dompurify__lt_0_3__1__insecure_configuration.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__dompurify__lt_0_3__1__insecure_configuration.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__dompurify__lt_0_3__1__insecure_configuration.dacg.result.s2.o0": "The library is known to include the Insecure Configuration vulnerability.",
  "0.event.dacg_npm__dompurify__lt_0_3__1__insecure_configuration.dacg.result.s3.o0": "The Insecure Configuration vulnerability allows external attacks by server or application settings.",
  "0.event.dacg_npm__dompurify__lt_0_3__1__insecure_configuration.dacg.result.s4.o0": "Using the Insecure Configuration vulnerability, an attacker can control the operation of the server or application, or take and manipulate sensitive information.",
  "0.event.dacg_npm__dompurify__lt_0_3__1__insecure_configuration.dacg.result.s5.o0": "As a result of the test, the Insecure Configuration vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__dompurify__lt_0_3__1__insecure_configuration.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__dompurify__lt_0_3__1__insecure_configuration.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__dompurify__lt_0_3__1__insecure_configuration.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__dompurify__lt_0_3__1__insecure_configuration.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__dompurify__lt_0_4_4__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__dompurify__lt_0_4_4__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__dompurify__lt_0_4_4__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__dompurify__lt_0_4_4__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__dompurify__lt_0_4_4__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__dompurify__lt_0_4_4__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__dompurify__lt_0_4_4__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__dompurify__lt_0_4_4__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__dompurify__lt_0_4_4__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__dompurify__lt_0_4_4__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__dompurify__lt_0_4_4__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__dompurify__lt_0_4_4__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__dompurify__lt_0_4_4__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__dompurify__lt_0_4_4__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__dompurify__lt_0_4_4__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__dompurify__lt_0_4_4__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__dompurify__lt_0_8_6__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__dompurify__lt_0_8_6__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__dompurify__lt_0_8_6__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__dompurify__lt_0_8_6__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__dompurify__lt_0_8_6__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__dompurify__lt_0_8_6__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__dompurify__lt_0_8_6__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__dompurify__lt_0_8_6__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__dompurify__lt_0_8_6__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__dompurify__lt_0_8_6__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__dompurify__lt_0_8_6__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__dompurify__lt_0_8_6__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__dompurify__lt_0_8_6__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__dompurify__lt_0_8_6__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__dompurify__lt_0_8_6__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__dompurify__lt_0_8_6__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__droppy__lt_3_5_0__csrf.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__droppy__lt_3_5_0__csrf.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__droppy__lt_3_5_0__csrf.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__droppy__lt_3_5_0__csrf.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__droppy__lt_3_5_0__csrf.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__droppy__lt_3_5_0__csrf.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__droppy__lt_3_5_0__csrf.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__droppy__lt_3_5_0__csrf.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__droppy__lt_3_5_0__csrf.dacg.result.s2.o0": "The library is known to include the Cross-site Request Forgery (CSRF) vulnerability.",
  "0.event.dacg_npm__droppy__lt_3_5_0__csrf.dacg.result.s3.o0": "The Cross-site Request Forgery (CSRF) vulnerability forces a user to perform unintended action by accessing to a web page with his permission.",
  "0.event.dacg_npm__droppy__lt_3_5_0__csrf.dacg.result.s4.o0": "Using the Cross-site Request Forgery (CSRF) vulnerability, an attacker can acquire a user permission to access the target web page for identity forgery, authentication bypassing, and view or manipulation of important information.",
  "0.event.dacg_npm__droppy__lt_3_5_0__csrf.dacg.result.s5.o0": "As a result of the test, the Cross-site Request Forgery (CSRF) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__droppy__lt_3_5_0__csrf.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__droppy__lt_3_5_0__csrf.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__droppy__lt_3_5_0__csrf.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__droppy__lt_3_5_0__csrf.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ducktype__lt_1_2_1__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ducktype__lt_1_2_1__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ducktype__lt_1_2_1__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ducktype__lt_1_2_1__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ducktype__lt_1_2_1__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ducktype__lt_1_2_1__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ducktype__lt_1_2_1__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ducktype__lt_1_2_1__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ducktype__lt_1_2_1__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__ducktype__lt_1_2_1__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__ducktype__lt_1_2_1__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__ducktype__lt_1_2_1__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ducktype__lt_1_2_1__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ducktype__lt_1_2_1__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ducktype__lt_1_2_1__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ducktype__lt_1_2_1__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__dustjs_linkedin__le_2_5_1__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__dustjs_linkedin__le_2_5_1__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__dustjs_linkedin__le_2_5_1__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__dustjs_linkedin__le_2_5_1__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__dustjs_linkedin__le_2_5_1__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__dustjs_linkedin__le_2_5_1__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__dustjs_linkedin__le_2_5_1__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__dustjs_linkedin__le_2_5_1__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__dustjs_linkedin__le_2_5_1__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__dustjs_linkedin__le_2_5_1__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__dustjs_linkedin__le_2_5_1__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__dustjs_linkedin__le_2_5_1__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__dustjs_linkedin__le_2_5_1__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__dustjs_linkedin__le_2_5_1__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__dustjs_linkedin__le_2_5_1__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__dustjs_linkedin__le_2_5_1__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__dwebp_bin__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__dwebp_bin__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__dwebp_bin__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__dwebp_bin__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__dwebp_bin__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__dwebp_bin__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__dwebp_bin__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__dwebp_bin__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__dwebp_bin__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__dwebp_bin__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__dwebp_bin__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__dwebp_bin__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__dwebp_bin__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__dwebp_bin__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__dwebp_bin__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__dwebp_bin__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__dylmomo__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__dylmomo__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__dylmomo__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__dylmomo__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__dylmomo__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__dylmomo__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__dylmomo__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__dylmomo__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__dylmomo__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__dylmomo__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__dylmomo__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__dylmomo__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__dylmomo__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__dylmomo__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__dylmomo__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__dylmomo__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__earlybird__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__earlybird__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__earlybird__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__earlybird__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__earlybird__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__earlybird__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__earlybird__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__earlybird__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__earlybird__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__earlybird__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__earlybird__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__earlybird__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__earlybird__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__earlybird__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__earlybird__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__earlybird__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__easy_node_server__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__easy_node_server__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__easy_node_server__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__easy_node_server__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__easy_node_server__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__easy_node_server__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__easy_node_server__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__easy_node_server__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__easy_node_server__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__easy_node_server__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__easy_node_server__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__easy_node_server__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__easy_node_server__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__easy_node_server__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__easy_node_server__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__easy_node_server__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__easy_router__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__easy_router__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__easy_router__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__easy_router__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__easy_router__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__easy_router__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__easy_router__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__easy_router__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__easy_router__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__easy_router__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__easy_router__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__easy_router__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__easy_router__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__easy_router__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__easy_router__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__easy_router__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__easyquick__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__easyquick__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__easyquick__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__easyquick__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__easyquick__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__easyquick__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__easyquick__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__easyquick__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__easyquick__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__easyquick__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__easyquick__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__easyquick__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__easyquick__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__easyquick__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__easyquick__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__easyquick__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__easyxdm__lt_2_4_19__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__easyxdm__lt_2_4_19__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__easyxdm__lt_2_4_19__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__easyxdm__lt_2_4_19__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__easyxdm__lt_2_4_19__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__easyxdm__lt_2_4_19__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__easyxdm__lt_2_4_19__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__easyxdm__lt_2_4_19__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__easyxdm__lt_2_4_19__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__easyxdm__lt_2_4_19__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__easyxdm__lt_2_4_19__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__easyxdm__lt_2_4_19__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__easyxdm__lt_2_4_19__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__easyxdm__lt_2_4_19__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__easyxdm__lt_2_4_19__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__easyxdm__lt_2_4_19__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ec2_price__lt_0_5_0__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ec2_price__lt_0_5_0__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ec2_price__lt_0_5_0__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ec2_price__lt_0_5_0__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ec2_price__lt_0_5_0__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ec2_price__lt_0_5_0__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ec2_price__lt_0_5_0__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ec2_price__lt_0_5_0__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ec2_price__lt_0_5_0__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__ec2_price__lt_0_5_0__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__ec2_price__lt_0_5_0__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__ec2_price__lt_0_5_0__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ec2_price__lt_0_5_0__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ec2_price__lt_0_5_0__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ec2_price__lt_0_5_0__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ec2_price__lt_0_5_0__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ecstatic__lt_1_4_0__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ecstatic__lt_1_4_0__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ecstatic__lt_1_4_0__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ecstatic__lt_1_4_0__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ecstatic__lt_1_4_0__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ecstatic__lt_1_4_0__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ecstatic__lt_1_4_0__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ecstatic__lt_1_4_0__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ecstatic__lt_1_4_0__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__ecstatic__lt_1_4_0__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__ecstatic__lt_1_4_0__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__ecstatic__lt_1_4_0__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ecstatic__lt_1_4_0__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ecstatic__lt_1_4_0__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ecstatic__lt_1_4_0__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ecstatic__lt_1_4_0__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ecstatic__lt_2_0_0__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ecstatic__lt_2_0_0__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ecstatic__lt_2_0_0__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ecstatic__lt_2_0_0__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ecstatic__lt_2_0_0__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ecstatic__lt_2_0_0__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ecstatic__lt_2_0_0__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ecstatic__lt_2_0_0__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ecstatic__lt_2_0_0__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__ecstatic__lt_2_0_0__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__ecstatic__lt_2_0_0__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__ecstatic__lt_2_0_0__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ecstatic__lt_2_0_0__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ecstatic__lt_2_0_0__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ecstatic__lt_2_0_0__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ecstatic__lt_2_0_0__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__edp_package__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__edp_package__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__edp_package__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__edp_package__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__edp_package__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__edp_package__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__edp_package__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__edp_package__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__edp_package__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__edp_package__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__edp_package__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__edp_package__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__edp_package__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__edp_package__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__edp_package__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__edp_package__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ejs__lt_2_5_3__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ejs__lt_2_5_3__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ejs__lt_2_5_3__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ejs__lt_2_5_3__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ejs__lt_2_5_3__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ejs__lt_2_5_3__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ejs__lt_2_5_3__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ejs__lt_2_5_3__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ejs__lt_2_5_3__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__ejs__lt_2_5_3__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__ejs__lt_2_5_3__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__ejs__lt_2_5_3__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ejs__lt_2_5_3__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ejs__lt_2_5_3__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ejs__lt_2_5_3__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ejs__lt_2_5_3__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ejs__lt_2_5_5__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ejs__lt_2_5_5__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ejs__lt_2_5_5__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ejs__lt_2_5_5__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ejs__lt_2_5_5__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ejs__lt_2_5_5__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ejs__lt_2_5_5__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ejs__lt_2_5_5__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ejs__lt_2_5_5__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__ejs__lt_2_5_5__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__ejs__lt_2_5_5__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__ejs__lt_2_5_5__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ejs__lt_2_5_5__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ejs__lt_2_5_5__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ejs__lt_2_5_5__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ejs__lt_2_5_5__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ejs__lt_2_5_5__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ejs__lt_2_5_5__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ejs__lt_2_5_5__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ejs__lt_2_5_5__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ejs__lt_2_5_5__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ejs__lt_2_5_5__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ejs__lt_2_5_5__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ejs__lt_2_5_5__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ejs__lt_2_5_5__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__ejs__lt_2_5_5__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__ejs__lt_2_5_5__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__ejs__lt_2_5_5__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ejs__lt_2_5_5__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ejs__lt_2_5_5__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ejs__lt_2_5_5__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ejs__lt_2_5_5__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__elding__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__elding__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__elding__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__elding__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__elding__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__elding__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__elding__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__elding__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__elding__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__elding__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__elding__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__elding__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__elding__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__elding__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__elding__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__elding__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__electron__ge_0_8__1_lt_1_8_4__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__electron__ge_0_8__1_lt_1_8_4__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__electron__ge_0_8__1_lt_1_8_4__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__electron__ge_0_8__1_lt_1_8_4__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__electron__ge_0_8__1_lt_1_8_4__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__electron__ge_0_8__1_lt_1_8_4__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__electron__ge_0_8__1_lt_1_8_4__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__electron__ge_0_8__1_lt_1_8_4__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__electron__ge_0_8__1_lt_1_8_4__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__electron__ge_0_8__1_lt_1_8_4__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__electron__ge_0_8__1_lt_1_8_4__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__electron__ge_0_8__1_lt_1_8_4__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__electron__ge_0_8__1_lt_1_8_4__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__electron__ge_0_8__1_lt_1_8_4__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__electron__ge_0_8__1_lt_1_8_4__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__electron__ge_0_8__1_lt_1_8_4__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__electron__ge_1_3_0_lt_1_3_13__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__electron__ge_1_3_0_lt_1_3_13__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__electron__ge_1_3_0_lt_1_3_13__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__electron__ge_1_3_0_lt_1_3_13__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__electron__ge_1_3_0_lt_1_3_13__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__electron__ge_1_3_0_lt_1_3_13__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__electron__ge_1_3_0_lt_1_3_13__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__electron__ge_1_3_0_lt_1_3_13__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__electron__ge_1_3_0_lt_1_3_13__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__electron__ge_1_3_0_lt_1_3_13__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__electron__ge_1_3_0_lt_1_3_13__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__electron__ge_1_3_0_lt_1_3_13__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__electron__ge_1_3_0_lt_1_3_13__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__electron__ge_1_3_0_lt_1_3_13__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__electron__ge_1_3_0_lt_1_3_13__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__electron__ge_1_3_0_lt_1_3_13__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__electron__ge_1_4_0_lt_1_4_11__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__electron__ge_1_4_0_lt_1_4_11__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__electron__ge_1_4_0_lt_1_4_11__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__electron__ge_1_4_0_lt_1_4_11__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__electron__ge_1_4_0_lt_1_4_11__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__electron__ge_1_4_0_lt_1_4_11__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__electron__ge_1_4_0_lt_1_4_11__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__electron__ge_1_4_0_lt_1_4_11__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__electron__ge_1_4_0_lt_1_4_11__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__electron__ge_1_4_0_lt_1_4_11__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__electron__ge_1_4_0_lt_1_4_11__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__electron__ge_1_4_0_lt_1_4_11__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__electron__ge_1_4_0_lt_1_4_11__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__electron__ge_1_4_0_lt_1_4_11__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__electron__ge_1_4_0_lt_1_4_11__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__electron__ge_1_4_0_lt_1_4_11__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__electron__ge_1_4_0_lt_1_4_12__mitm.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__electron__ge_1_4_0_lt_1_4_12__mitm.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__electron__ge_1_4_0_lt_1_4_12__mitm.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__electron__ge_1_4_0_lt_1_4_12__mitm.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__electron__ge_1_4_0_lt_1_4_12__mitm.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__electron__ge_1_4_0_lt_1_4_12__mitm.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__electron__ge_1_4_0_lt_1_4_12__mitm.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__electron__ge_1_4_0_lt_1_4_12__mitm.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__electron__ge_1_4_0_lt_1_4_12__mitm.dacg.result.s2.o0": "The library is known to include the Man in the Middle (MitM) vulnerability.",
  "0.event.dacg_npm__electron__ge_1_4_0_lt_1_4_12__mitm.dacg.result.s3.o0": "The Man in the Middle (MitM) vulnerability is caused by stealing external network communications.",
  "0.event.dacg_npm__electron__ge_1_4_0_lt_1_4_12__mitm.dacg.result.s4.o0": "Using the MitM vulnerability, an attacker can eavesdrop or manipulate communication.",
  "0.event.dacg_npm__electron__ge_1_4_0_lt_1_4_12__mitm.dacg.result.s5.o0": "As a result of the test, the Man in the Middle (MitM) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__electron__ge_1_4_0_lt_1_4_12__mitm.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__electron__ge_1_4_0_lt_1_4_12__mitm.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__electron__ge_1_4_0_lt_1_4_12__mitm.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__electron__ge_1_4_0_lt_1_4_12__mitm.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__electron__ge_1_7_0_lt_1_7_8__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__electron__ge_1_7_0_lt_1_7_8__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__electron__ge_1_7_0_lt_1_7_8__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__electron__ge_1_7_0_lt_1_7_8__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__electron__ge_1_7_0_lt_1_7_8__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__electron__ge_1_7_0_lt_1_7_8__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__electron__ge_1_7_0_lt_1_7_8__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__electron__ge_1_7_0_lt_1_7_8__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__electron__ge_1_7_0_lt_1_7_8__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__electron__ge_1_7_0_lt_1_7_8__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__electron__ge_1_7_0_lt_1_7_8__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__electron__ge_1_7_0_lt_1_7_8__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__electron__ge_1_7_0_lt_1_7_8__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__electron__ge_1_7_0_lt_1_7_8__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__electron__ge_1_7_0_lt_1_7_8__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__electron__ge_1_7_0_lt_1_7_8__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__electron__ge_1_7__1_lt_1_7_11__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__electron__ge_1_7__1_lt_1_7_11__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__electron__ge_1_7__1_lt_1_7_11__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__electron__ge_1_7__1_lt_1_7_11__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__electron__ge_1_7__1_lt_1_7_11__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__electron__ge_1_7__1_lt_1_7_11__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__electron__ge_1_7__1_lt_1_7_11__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__electron__ge_1_7__1_lt_1_7_11__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__electron__ge_1_7__1_lt_1_7_11__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__electron__ge_1_7__1_lt_1_7_11__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__electron__ge_1_7__1_lt_1_7_11__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__electron__ge_1_7__1_lt_1_7_11__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__electron__ge_1_7__1_lt_1_7_11__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__electron__ge_1_7__1_lt_1_7_11__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__electron__ge_1_7__1_lt_1_7_11__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__electron__ge_1_7__1_lt_1_7_11__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__electron__ge_1_7__1_lt_1_7_13__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__electron__ge_1_7__1_lt_1_7_13__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__electron__ge_1_7__1_lt_1_7_13__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__electron__ge_1_7__1_lt_1_7_13__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__electron__ge_1_7__1_lt_1_7_13__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__electron__ge_1_7__1_lt_1_7_13__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__electron__ge_1_7__1_lt_1_7_13__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__electron__ge_1_7__1_lt_1_7_13__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__electron__ge_1_7__1_lt_1_7_13__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__electron__ge_1_7__1_lt_1_7_13__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__electron__ge_1_7__1_lt_1_7_13__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__electron__ge_1_7__1_lt_1_7_13__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__electron__ge_1_7__1_lt_1_7_13__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__electron__ge_1_7__1_lt_1_7_13__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__electron__ge_1_7__1_lt_1_7_13__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__electron__ge_1_7__1_lt_1_7_13__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__electron__ge_1_8_0_lt_1_8_1__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__electron__ge_1_8_0_lt_1_8_1__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__electron__ge_1_8_0_lt_1_8_1__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__electron__ge_1_8_0_lt_1_8_1__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__electron__ge_1_8_0_lt_1_8_1__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__electron__ge_1_8_0_lt_1_8_1__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__electron__ge_1_8_0_lt_1_8_1__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__electron__ge_1_8_0_lt_1_8_1__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__electron__ge_1_8_0_lt_1_8_1__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__electron__ge_1_8_0_lt_1_8_1__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__electron__ge_1_8_0_lt_1_8_1__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__electron__ge_1_8_0_lt_1_8_1__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__electron__ge_1_8_0_lt_1_8_1__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__electron__ge_1_8_0_lt_1_8_1__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__electron__ge_1_8_0_lt_1_8_1__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__electron__ge_1_8_0_lt_1_8_1__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__electron__ge_1_8__1_lt_1_8_2_beta_4__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__electron__ge_1_8__1_lt_1_8_2_beta_4__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__electron__ge_1_8__1_lt_1_8_2_beta_4__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__electron__ge_1_8__1_lt_1_8_2_beta_4__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__electron__ge_1_8__1_lt_1_8_2_beta_4__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__electron__ge_1_8__1_lt_1_8_2_beta_4__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__electron__ge_1_8__1_lt_1_8_2_beta_4__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__electron__ge_1_8__1_lt_1_8_2_beta_4__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__electron__ge_1_8__1_lt_1_8_2_beta_4__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__electron__ge_1_8__1_lt_1_8_2_beta_4__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__electron__ge_1_8__1_lt_1_8_2_beta_4__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__electron__ge_1_8__1_lt_1_8_2_beta_4__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__electron__ge_1_8__1_lt_1_8_2_beta_4__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__electron__ge_1_8__1_lt_1_8_2_beta_4__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__electron__ge_1_8__1_lt_1_8_2_beta_4__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__electron__ge_1_8__1_lt_1_8_2_beta_4__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__electron__ge_2_0_0_lt_2_0_0_beta_4__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__electron__ge_2_0_0_lt_2_0_0_beta_4__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__electron__ge_2_0_0_lt_2_0_0_beta_4__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__electron__ge_2_0_0_lt_2_0_0_beta_4__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__electron__ge_2_0_0_lt_2_0_0_beta_4__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__electron__ge_2_0_0_lt_2_0_0_beta_4__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__electron__ge_2_0_0_lt_2_0_0_beta_4__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__electron__ge_2_0_0_lt_2_0_0_beta_4__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__electron__ge_2_0_0_lt_2_0_0_beta_4__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__electron__ge_2_0_0_lt_2_0_0_beta_4__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__electron__ge_2_0_0_lt_2_0_0_beta_4__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__electron__ge_2_0_0_lt_2_0_0_beta_4__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__electron__ge_2_0_0_lt_2_0_0_beta_4__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__electron__ge_2_0_0_lt_2_0_0_beta_4__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__electron__ge_2_0_0_lt_2_0_0_beta_4__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__electron__ge_2_0_0_lt_2_0_0_beta_4__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__electron__lt_1_4_15__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__electron__lt_1_4_15__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__electron__lt_1_4_15__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__electron__lt_1_4_15__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__electron__lt_1_4_15__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__electron__lt_1_4_15__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__electron__lt_1_4_15__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__electron__lt_1_4_15__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__electron__lt_1_4_15__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__electron__lt_1_4_15__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__electron__lt_1_4_15__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__electron__lt_1_4_15__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__electron__lt_1_4_15__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__electron__lt_1_4_15__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__electron__lt_1_4_15__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__electron__lt_1_4_15__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__electron__lt_1_6_14__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__electron__lt_1_6_14__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__electron__lt_1_6_14__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__electron__lt_1_6_14__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__electron__lt_1_6_14__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__electron__lt_1_6_14__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__electron__lt_1_6_14__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__electron__lt_1_6_14__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__electron__lt_1_6_14__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__electron__lt_1_6_14__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__electron__lt_1_6_14__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__electron__lt_1_6_14__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__electron__lt_1_6_14__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__electron__lt_1_6_14__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__electron__lt_1_6_14__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__electron__lt_1_6_14__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__electron__lt_1_6_16__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__electron__lt_1_6_16__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__electron__lt_1_6_16__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__electron__lt_1_6_16__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__electron__lt_1_6_16__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__electron__lt_1_6_16__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__electron__lt_1_6_16__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__electron__lt_1_6_16__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__electron__lt_1_6_16__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__electron__lt_1_6_16__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__electron__lt_1_6_16__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__electron__lt_1_6_16__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__electron__lt_1_6_16__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__electron__lt_1_6_16__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__electron__lt_1_6_16__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__electron__lt_1_6_16__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__electron__lt_1_6_1__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__electron__lt_1_6_1__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__electron__lt_1_6_1__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__electron__lt_1_6_1__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__electron__lt_1_6_1__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__electron__lt_1_6_1__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__electron__lt_1_6_1__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__electron__lt_1_6_1__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__electron__lt_1_6_1__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__electron__lt_1_6_1__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__electron__lt_1_6_1__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__electron__lt_1_6_1__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__electron__lt_1_6_1__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__electron__lt_1_6_1__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__electron__lt_1_6_1__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__electron__lt_1_6_1__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__electron__lt_1_6_8__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__electron__lt_1_6_8__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__electron__lt_1_6_8__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__electron__lt_1_6_8__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__electron__lt_1_6_8__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__electron__lt_1_6_8__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__electron__lt_1_6_8__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__electron__lt_1_6_8__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__electron__lt_1_6_8__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__electron__lt_1_6_8__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__electron__lt_1_6_8__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__electron__lt_1_6_8__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__electron__lt_1_6_8__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__electron__lt_1_6_8__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__electron__lt_1_6_8__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__electron__lt_1_6_8__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__electron__lt_1_6_8__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__electron__lt_1_6_8__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__electron__lt_1_6_8__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__electron__lt_1_6_8__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__electron__lt_1_6_8__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__electron__lt_1_6_8__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__electron__lt_1_6_8__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__electron__lt_1_6_8__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__electron__lt_1_6_8__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__electron__lt_1_6_8__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__electron__lt_1_6_8__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__electron__lt_1_6_8__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__electron__lt_1_6_8__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__electron__lt_1_6_8__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__electron__lt_1_6_8__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__electron__lt_1_6_8__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__electron__lt_1_7_6__improper_input_validation.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__electron__lt_1_7_6__improper_input_validation.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__electron__lt_1_7_6__improper_input_validation.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__electron__lt_1_7_6__improper_input_validation.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__electron__lt_1_7_6__improper_input_validation.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__electron__lt_1_7_6__improper_input_validation.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__electron__lt_1_7_6__improper_input_validation.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__electron__lt_1_7_6__improper_input_validation.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__electron__lt_1_7_6__improper_input_validation.dacg.result.s2.o0": "The library is known to include the Improper Input Validation vulnerability.",
  "0.event.dacg_npm__electron__lt_1_7_6__improper_input_validation.dacg.result.s3.o0": "The Improper Input Validation vulnerability is caused by lacking verification on a user input.",
  "0.event.dacg_npm__electron__lt_1_7_6__improper_input_validation.dacg.result.s4.o0": "An attacker can use the Improper Input Validation vulnerability to steal key information of the server and force to perform unintended behaviors.",
  "0.event.dacg_npm__electron__lt_1_7_6__improper_input_validation.dacg.result.s5.o0": "As a result of the test, the Improper Input Validation vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__electron__lt_1_7_6__improper_input_validation.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__electron__lt_1_7_6__improper_input_validation.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__electron__lt_1_7_6__improper_input_validation.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__electron__lt_1_7_6__improper_input_validation.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__electron__lt_1_8_2_beta_5__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__electron__lt_1_8_2_beta_5__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__electron__lt_1_8_2_beta_5__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__electron__lt_1_8_2_beta_5__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__electron__lt_1_8_2_beta_5__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__electron__lt_1_8_2_beta_5__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__electron__lt_1_8_2_beta_5__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__electron__lt_1_8_2_beta_5__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__electron__lt_1_8_2_beta_5__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__electron__lt_1_8_2_beta_5__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__electron__lt_1_8_2_beta_5__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__electron__lt_1_8_2_beta_5__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__electron__lt_1_8_2_beta_5__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__electron__lt_1_8_2_beta_5__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__electron__lt_1_8_2_beta_5__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__electron__lt_1_8_2_beta_5__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__electron_markdownify__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__electron_markdownify__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__electron_markdownify__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__electron_markdownify__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__electron_markdownify__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__electron_markdownify__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__electron_markdownify__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__electron_markdownify__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__electron_markdownify__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__electron_markdownify__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__electron_markdownify__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__electron_markdownify__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__electron_markdownify__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__electron_markdownify__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__electron_markdownify__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__electron_markdownify__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__electron_packager__ge_5_2_1_le_6_0_2__improper_certificate_validation.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__electron_packager__ge_5_2_1_le_6_0_2__improper_certificate_validation.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__electron_packager__ge_5_2_1_le_6_0_2__improper_certificate_validation.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__electron_packager__ge_5_2_1_le_6_0_2__improper_certificate_validation.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__electron_packager__ge_5_2_1_le_6_0_2__improper_certificate_validation.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__electron_packager__ge_5_2_1_le_6_0_2__improper_certificate_validation.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__electron_packager__ge_5_2_1_le_6_0_2__improper_certificate_validation.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__electron_packager__ge_5_2_1_le_6_0_2__improper_certificate_validation.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__electron_packager__ge_5_2_1_le_6_0_2__improper_certificate_validation.dacg.result.s2.o0": "The library is known to include the Improper Certificate Validation vulnerability.",
  "0.event.dacg_npm__electron_packager__ge_5_2_1_le_6_0_2__improper_certificate_validation.dacg.result.s3.o0": "The Improper Certificate Validation vulnerability is caused by lacking sufficient verification for certificates.",
  "0.event.dacg_npm__electron_packager__ge_5_2_1_le_6_0_2__improper_certificate_validation.dacg.result.s4.o0": "Using the Improper Certificate Validation vulnerability, an attacker can bypass authentication or authorization, hi-jack or manipulate communication data.",
  "0.event.dacg_npm__electron_packager__ge_5_2_1_le_6_0_2__improper_certificate_validation.dacg.result.s5.o0": "As a result of the test, the Improper Certificate Validation vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__electron_packager__ge_5_2_1_le_6_0_2__improper_certificate_validation.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__electron_packager__ge_5_2_1_le_6_0_2__improper_certificate_validation.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__electron_packager__ge_5_2_1_le_6_0_2__improper_certificate_validation.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__electron_packager__ge_5_2_1_le_6_0_2__improper_certificate_validation.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__email_existence__lt_0_1_6__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__email_existence__lt_0_1_6__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__email_existence__lt_0_1_6__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__email_existence__lt_0_1_6__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__email_existence__lt_0_1_6__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__email_existence__lt_0_1_6__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__email_existence__lt_0_1_6__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__email_existence__lt_0_1_6__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__email_existence__lt_0_1_6__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__email_existence__lt_0_1_6__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__email_existence__lt_0_1_6__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__email_existence__lt_0_1_6__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__email_existence__lt_0_1_6__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__email_existence__lt_0_1_6__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__email_existence__lt_0_1_6__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__email_existence__lt_0_1_6__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__emailjs_mime_codec__lt_2_0_5__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__emailjs_mime_codec__lt_2_0_5__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__emailjs_mime_codec__lt_2_0_5__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__emailjs_mime_codec__lt_2_0_5__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__emailjs_mime_codec__lt_2_0_5__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__emailjs_mime_codec__lt_2_0_5__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__emailjs_mime_codec__lt_2_0_5__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__emailjs_mime_codec__lt_2_0_5__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__emailjs_mime_codec__lt_2_0_5__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__emailjs_mime_codec__lt_2_0_5__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__emailjs_mime_codec__lt_2_0_5__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__emailjs_mime_codec__lt_2_0_5__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__emailjs_mime_codec__lt_2_0_5__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__emailjs_mime_codec__lt_2_0_5__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__emailjs_mime_codec__lt_2_0_5__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__emailjs_mime_codec__lt_2_0_5__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__emailjs_mime_parser__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__emailjs_mime_parser__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__emailjs_mime_parser__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__emailjs_mime_parser__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__emailjs_mime_parser__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__emailjs_mime_parser__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__emailjs_mime_parser__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__emailjs_mime_parser__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__emailjs_mime_parser__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__emailjs_mime_parser__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__emailjs_mime_parser__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__emailjs_mime_parser__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__emailjs_mime_parser__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__emailjs_mime_parser__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__emailjs_mime_parser__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__emailjs_mime_parser__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__embedza__lt_1_2_4__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__embedza__lt_1_2_4__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__embedza__lt_1_2_4__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__embedza__lt_1_2_4__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__embedza__lt_1_2_4__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__embedza__lt_1_2_4__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__embedza__lt_1_2_4__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__embedza__lt_1_2_4__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__embedza__lt_1_2_4__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__embedza__lt_1_2_4__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__embedza__lt_1_2_4__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__embedza__lt_1_2_4__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__embedza__lt_1_2_4__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__embedza__lt_1_2_4__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__embedza__lt_1_2_4__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__embedza__lt_1_2_4__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ember__eq_1_2_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ember__eq_1_2_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ember__eq_1_2_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ember__eq_1_2_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ember__eq_1_2_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ember__eq_1_2_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ember__eq_1_2_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ember__eq_1_2_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ember__eq_1_2_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__ember__eq_1_2_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__ember__eq_1_2_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__ember__eq_1_2_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ember__eq_1_2_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ember__eq_1_2_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ember__eq_1_2_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ember__eq_1_2_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ember__eq_1_2_1__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ember__eq_1_2_1__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ember__eq_1_2_1__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ember__eq_1_2_1__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ember__eq_1_2_1__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ember__eq_1_2_1__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ember__eq_1_2_1__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ember__eq_1_2_1__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ember__eq_1_2_1__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__ember__eq_1_2_1__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__ember__eq_1_2_1__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__ember__eq_1_2_1__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ember__eq_1_2_1__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ember__eq_1_2_1__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ember__eq_1_2_1__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ember__eq_1_2_1__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ember__eq_1_3_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ember__eq_1_3_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ember__eq_1_3_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ember__eq_1_3_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ember__eq_1_3_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ember__eq_1_3_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ember__eq_1_3_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ember__eq_1_3_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ember__eq_1_3_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__ember__eq_1_3_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__ember__eq_1_3_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__ember__eq_1_3_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ember__eq_1_3_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ember__eq_1_3_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ember__eq_1_3_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ember__eq_1_3_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ember__eq_1_3_1__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ember__eq_1_3_1__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ember__eq_1_3_1__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ember__eq_1_3_1__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ember__eq_1_3_1__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ember__eq_1_3_1__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ember__eq_1_3_1__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ember__eq_1_3_1__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ember__eq_1_3_1__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__ember__eq_1_3_1__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__ember__eq_1_3_1__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__ember__eq_1_3_1__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ember__eq_1_3_1__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ember__eq_1_3_1__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ember__eq_1_3_1__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ember__eq_1_3_1__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ember__ge_1_0_0_lt_1_0_1__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ember__ge_1_0_0_lt_1_0_1__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ember__ge_1_0_0_lt_1_0_1__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ember__ge_1_0_0_lt_1_0_1__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ember__ge_1_0_0_lt_1_0_1__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ember__ge_1_0_0_lt_1_0_1__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ember__ge_1_0_0_lt_1_0_1__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ember__ge_1_0_0_lt_1_0_1__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ember__ge_1_0_0_lt_1_0_1__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__ember__ge_1_0_0_lt_1_0_1__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__ember__ge_1_0_0_lt_1_0_1__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__ember__ge_1_0_0_lt_1_0_1__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ember__ge_1_0_0_lt_1_0_1__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ember__ge_1_0_0_lt_1_0_1__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ember__ge_1_0_0_lt_1_0_1__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ember__ge_1_0_0_lt_1_0_1__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_1_lt_1_0_0_rc_1_1__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_1_lt_1_0_0_rc_1_1__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_1_lt_1_0_0_rc_1_1__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_1_lt_1_0_0_rc_1_1__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_1_lt_1_0_0_rc_1_1__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_1_lt_1_0_0_rc_1_1__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_1_lt_1_0_0_rc_1_1__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_1_lt_1_0_0_rc_1_1__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_1_lt_1_0_0_rc_1_1__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_1_lt_1_0_0_rc_1_1__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_1_lt_1_0_0_rc_1_1__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_1_lt_1_0_0_rc_1_1__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_1_lt_1_0_0_rc_1_1__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_1_lt_1_0_0_rc_1_1__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_1_lt_1_0_0_rc_1_1__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_1_lt_1_0_0_rc_1_1__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_2_lt_1_0_0_rc_2_1__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_2_lt_1_0_0_rc_2_1__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_2_lt_1_0_0_rc_2_1__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_2_lt_1_0_0_rc_2_1__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_2_lt_1_0_0_rc_2_1__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_2_lt_1_0_0_rc_2_1__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_2_lt_1_0_0_rc_2_1__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_2_lt_1_0_0_rc_2_1__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_2_lt_1_0_0_rc_2_1__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_2_lt_1_0_0_rc_2_1__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_2_lt_1_0_0_rc_2_1__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_2_lt_1_0_0_rc_2_1__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_2_lt_1_0_0_rc_2_1__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_2_lt_1_0_0_rc_2_1__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_2_lt_1_0_0_rc_2_1__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_2_lt_1_0_0_rc_2_1__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_3_lt_1_0_0_rc_3_1__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_3_lt_1_0_0_rc_3_1__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_3_lt_1_0_0_rc_3_1__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_3_lt_1_0_0_rc_3_1__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_3_lt_1_0_0_rc_3_1__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_3_lt_1_0_0_rc_3_1__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_3_lt_1_0_0_rc_3_1__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_3_lt_1_0_0_rc_3_1__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_3_lt_1_0_0_rc_3_1__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_3_lt_1_0_0_rc_3_1__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_3_lt_1_0_0_rc_3_1__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_3_lt_1_0_0_rc_3_1__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_3_lt_1_0_0_rc_3_1__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_3_lt_1_0_0_rc_3_1__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_3_lt_1_0_0_rc_3_1__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_3_lt_1_0_0_rc_3_1__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_4_lt_1_0_0_rc_4_1__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_4_lt_1_0_0_rc_4_1__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_4_lt_1_0_0_rc_4_1__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_4_lt_1_0_0_rc_4_1__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_4_lt_1_0_0_rc_4_1__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_4_lt_1_0_0_rc_4_1__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_4_lt_1_0_0_rc_4_1__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_4_lt_1_0_0_rc_4_1__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_4_lt_1_0_0_rc_4_1__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_4_lt_1_0_0_rc_4_1__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_4_lt_1_0_0_rc_4_1__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_4_lt_1_0_0_rc_4_1__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_4_lt_1_0_0_rc_4_1__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_4_lt_1_0_0_rc_4_1__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_4_lt_1_0_0_rc_4_1__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_4_lt_1_0_0_rc_4_1__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_5_lt_1_0_0_rc_5_1__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_5_lt_1_0_0_rc_5_1__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_5_lt_1_0_0_rc_5_1__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_5_lt_1_0_0_rc_5_1__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_5_lt_1_0_0_rc_5_1__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_5_lt_1_0_0_rc_5_1__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_5_lt_1_0_0_rc_5_1__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_5_lt_1_0_0_rc_5_1__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_5_lt_1_0_0_rc_5_1__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_5_lt_1_0_0_rc_5_1__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_5_lt_1_0_0_rc_5_1__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_5_lt_1_0_0_rc_5_1__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_5_lt_1_0_0_rc_5_1__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_5_lt_1_0_0_rc_5_1__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_5_lt_1_0_0_rc_5_1__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_5_lt_1_0_0_rc_5_1__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_6_lt_1_0_0_rc_6_1__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_6_lt_1_0_0_rc_6_1__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_6_lt_1_0_0_rc_6_1__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_6_lt_1_0_0_rc_6_1__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_6_lt_1_0_0_rc_6_1__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_6_lt_1_0_0_rc_6_1__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_6_lt_1_0_0_rc_6_1__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_6_lt_1_0_0_rc_6_1__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_6_lt_1_0_0_rc_6_1__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_6_lt_1_0_0_rc_6_1__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_6_lt_1_0_0_rc_6_1__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_6_lt_1_0_0_rc_6_1__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_6_lt_1_0_0_rc_6_1__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_6_lt_1_0_0_rc_6_1__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_6_lt_1_0_0_rc_6_1__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ember__ge_1_0_0_rc_6_lt_1_0_0_rc_6_1__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ember__ge_1_1_0_lt_1_1_3__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ember__ge_1_1_0_lt_1_1_3__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ember__ge_1_1_0_lt_1_1_3__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ember__ge_1_1_0_lt_1_1_3__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ember__ge_1_1_0_lt_1_1_3__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ember__ge_1_1_0_lt_1_1_3__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ember__ge_1_1_0_lt_1_1_3__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ember__ge_1_1_0_lt_1_1_3__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ember__ge_1_1_0_lt_1_1_3__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__ember__ge_1_1_0_lt_1_1_3__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__ember__ge_1_1_0_lt_1_1_3__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__ember__ge_1_1_0_lt_1_1_3__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ember__ge_1_1_0_lt_1_1_3__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ember__ge_1_1_0_lt_1_1_3__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ember__ge_1_1_0_lt_1_1_3__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ember__ge_1_1_0_lt_1_1_3__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ember__ge_1_2_0_lt_1_2_1__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ember__ge_1_2_0_lt_1_2_1__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ember__ge_1_2_0_lt_1_2_1__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ember__ge_1_2_0_lt_1_2_1__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ember__ge_1_2_0_lt_1_2_1__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ember__ge_1_2_0_lt_1_2_1__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ember__ge_1_2_0_lt_1_2_1__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ember__ge_1_2_0_lt_1_2_1__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ember__ge_1_2_0_lt_1_2_1__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__ember__ge_1_2_0_lt_1_2_1__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__ember__ge_1_2_0_lt_1_2_1__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__ember__ge_1_2_0_lt_1_2_1__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ember__ge_1_2_0_lt_1_2_1__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ember__ge_1_2_0_lt_1_2_1__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ember__ge_1_2_0_lt_1_2_1__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ember__ge_1_2_0_lt_1_2_1__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ember__ge_1_3_0_lt_1_3_1__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ember__ge_1_3_0_lt_1_3_1__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ember__ge_1_3_0_lt_1_3_1__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ember__ge_1_3_0_lt_1_3_1__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ember__ge_1_3_0_lt_1_3_1__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ember__ge_1_3_0_lt_1_3_1__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ember__ge_1_3_0_lt_1_3_1__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ember__ge_1_3_0_lt_1_3_1__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ember__ge_1_3_0_lt_1_3_1__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__ember__ge_1_3_0_lt_1_3_1__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__ember__ge_1_3_0_lt_1_3_1__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__ember__ge_1_3_0_lt_1_3_1__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ember__ge_1_3_0_lt_1_3_1__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ember__ge_1_3_0_lt_1_3_1__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ember__ge_1_3_0_lt_1_3_1__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ember__ge_1_3_0_lt_1_3_1__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ember__ge_1_4_0_lt_1_4_0_beta2__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ember__ge_1_4_0_lt_1_4_0_beta2__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ember__ge_1_4_0_lt_1_4_0_beta2__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ember__ge_1_4_0_lt_1_4_0_beta2__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ember__ge_1_4_0_lt_1_4_0_beta2__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ember__ge_1_4_0_lt_1_4_0_beta2__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ember__ge_1_4_0_lt_1_4_0_beta2__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ember__ge_1_4_0_lt_1_4_0_beta2__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ember__ge_1_4_0_lt_1_4_0_beta2__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__ember__ge_1_4_0_lt_1_4_0_beta2__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__ember__ge_1_4_0_lt_1_4_0_beta2__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__ember__ge_1_4_0_lt_1_4_0_beta2__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ember__ge_1_4_0_lt_1_4_0_beta2__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ember__ge_1_4_0_lt_1_4_0_beta2__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ember__ge_1_4_0_lt_1_4_0_beta2__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ember__ge_1_4_0_lt_1_4_0_beta2__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__emojione__le_1_3_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__emojione__le_1_3_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__emojione__le_1_3_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__emojione__le_1_3_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__emojione__le_1_3_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__emojione__le_1_3_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__emojione__le_1_3_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__emojione__le_1_3_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__emojione__le_1_3_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__emojione__le_1_3_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__emojione__le_1_3_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__emojione__le_1_3_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__emojione__le_1_3_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__emojione__le_1_3_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__emojione__le_1_3_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__emojione__le_1_3_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ep_imageconvert__le_0_0_2__command_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ep_imageconvert__le_0_0_2__command_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ep_imageconvert__le_0_0_2__command_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ep_imageconvert__le_0_0_2__command_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ep_imageconvert__le_0_0_2__command_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ep_imageconvert__le_0_0_2__command_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ep_imageconvert__le_0_0_2__command_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ep_imageconvert__le_0_0_2__command_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ep_imageconvert__le_0_0_2__command_injection.dacg.result.s2.o0": "The library is known to include the OS Command Injection vulnerability.",
  "0.event.dacg_npm__ep_imageconvert__le_0_0_2__command_injection.dacg.result.s3.o0": "The OS Command Injection vulnerability is caused by executing user commands without any verification process.",
  "0.event.dacg_npm__ep_imageconvert__le_0_0_2__command_injection.dacg.result.s4.o0": "Using the OS Command Injection vulnerability, an attacker can steal key information of the server and force to perform unintended behaviors.",
  "0.event.dacg_npm__ep_imageconvert__le_0_0_2__command_injection.dacg.result.s5.o0": "As a result of the test, the OS Command Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ep_imageconvert__le_0_0_2__command_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ep_imageconvert__le_0_0_2__command_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ep_imageconvert__le_0_0_2__command_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ep_imageconvert__le_0_0_2__command_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__eslint__lt_4_18_2__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__eslint__lt_4_18_2__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__eslint__lt_4_18_2__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__eslint__lt_4_18_2__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__eslint__lt_4_18_2__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__eslint__lt_4_18_2__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__eslint__lt_4_18_2__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__eslint__lt_4_18_2__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__eslint__lt_4_18_2__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__eslint__lt_4_18_2__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__eslint__lt_4_18_2__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__eslint__lt_4_18_2__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__eslint__lt_4_18_2__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__eslint__lt_4_18_2__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__eslint__lt_4_18_2__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__eslint__lt_4_18_2__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__eslint_config_airbnb_standard__ge_2_0_0_lt_2_1_2__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__eslint_config_airbnb_standard__ge_2_0_0_lt_2_1_2__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__eslint_config_airbnb_standard__ge_2_0_0_lt_2_1_2__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__eslint_config_airbnb_standard__ge_2_0_0_lt_2_1_2__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__eslint_config_airbnb_standard__ge_2_0_0_lt_2_1_2__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__eslint_config_airbnb_standard__ge_2_0_0_lt_2_1_2__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__eslint_config_airbnb_standard__ge_2_0_0_lt_2_1_2__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__eslint_config_airbnb_standard__ge_2_0_0_lt_2_1_2__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__eslint_config_airbnb_standard__ge_2_0_0_lt_2_1_2__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__eslint_config_airbnb_standard__ge_2_0_0_lt_2_1_2__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__eslint_config_airbnb_standard__ge_2_0_0_lt_2_1_2__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__eslint_config_airbnb_standard__ge_2_0_0_lt_2_1_2__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__eslint_config_airbnb_standard__ge_2_0_0_lt_2_1_2__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__eslint_config_airbnb_standard__ge_2_0_0_lt_2_1_2__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__eslint_config_airbnb_standard__ge_2_0_0_lt_2_1_2__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__eslint_config_airbnb_standard__ge_2_0_0_lt_2_1_2__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__eslint_d__ge_4_0_0_lt_4_0_1__csrf.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__eslint_d__ge_4_0_0_lt_4_0_1__csrf.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__eslint_d__ge_4_0_0_lt_4_0_1__csrf.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__eslint_d__ge_4_0_0_lt_4_0_1__csrf.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__eslint_d__ge_4_0_0_lt_4_0_1__csrf.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__eslint_d__ge_4_0_0_lt_4_0_1__csrf.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__eslint_d__ge_4_0_0_lt_4_0_1__csrf.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__eslint_d__ge_4_0_0_lt_4_0_1__csrf.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__eslint_d__ge_4_0_0_lt_4_0_1__csrf.dacg.result.s2.o0": "The library is known to include the Cross-site Request Forgery (CSRF) vulnerability.",
  "0.event.dacg_npm__eslint_d__ge_4_0_0_lt_4_0_1__csrf.dacg.result.s3.o0": "The Cross-site Request Forgery (CSRF) vulnerability forces a user to perform unintended action by accessing to a web page with his permission.",
  "0.event.dacg_npm__eslint_d__ge_4_0_0_lt_4_0_1__csrf.dacg.result.s4.o0": "Using the Cross-site Request Forgery (CSRF) vulnerability, an attacker can acquire a user permission to access the target web page for identity forgery, authentication bypassing, and view or manipulation of important information.",
  "0.event.dacg_npm__eslint_d__ge_4_0_0_lt_4_0_1__csrf.dacg.result.s5.o0": "As a result of the test, the Cross-site Request Forgery (CSRF) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__eslint_d__ge_4_0_0_lt_4_0_1__csrf.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__eslint_d__ge_4_0_0_lt_4_0_1__csrf.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__eslint_d__ge_4_0_0_lt_4_0_1__csrf.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__eslint_d__ge_4_0_0_lt_4_0_1__csrf.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__eslint_d__lt_3_1_2__csrf.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__eslint_d__lt_3_1_2__csrf.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__eslint_d__lt_3_1_2__csrf.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__eslint_d__lt_3_1_2__csrf.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__eslint_d__lt_3_1_2__csrf.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__eslint_d__lt_3_1_2__csrf.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__eslint_d__lt_3_1_2__csrf.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__eslint_d__lt_3_1_2__csrf.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__eslint_d__lt_3_1_2__csrf.dacg.result.s2.o0": "The library is known to include the Cross-site Request Forgery (CSRF) vulnerability.",
  "0.event.dacg_npm__eslint_d__lt_3_1_2__csrf.dacg.result.s3.o0": "The Cross-site Request Forgery (CSRF) vulnerability forces a user to perform unintended action by accessing to a web page with his permission.",
  "0.event.dacg_npm__eslint_d__lt_3_1_2__csrf.dacg.result.s4.o0": "Using the Cross-site Request Forgery (CSRF) vulnerability, an attacker can acquire a user permission to access the target web page for identity forgery, authentication bypassing, and view or manipulation of important information.",
  "0.event.dacg_npm__eslint_d__lt_3_1_2__csrf.dacg.result.s5.o0": "As a result of the test, the Cross-site Request Forgery (CSRF) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__eslint_d__lt_3_1_2__csrf.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__eslint_d__lt_3_1_2__csrf.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__eslint_d__lt_3_1_2__csrf.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__eslint_d__lt_3_1_2__csrf.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__eslint_scope__eq_3_7_2__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__eslint_scope__eq_3_7_2__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__eslint_scope__eq_3_7_2__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__eslint_scope__eq_3_7_2__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__eslint_scope__eq_3_7_2__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__eslint_scope__eq_3_7_2__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__eslint_scope__eq_3_7_2__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__eslint_scope__eq_3_7_2__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__eslint_scope__eq_3_7_2__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__eslint_scope__eq_3_7_2__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__eslint_scope__eq_3_7_2__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__eslint_scope__eq_3_7_2__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__eslint_scope__eq_3_7_2__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__eslint_scope__eq_3_7_2__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__eslint_scope__eq_3_7_2__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__eslint_scope__eq_3_7_2__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ewgaddis_lab6__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ewgaddis_lab6__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ewgaddis_lab6__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ewgaddis_lab6__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ewgaddis_lab6__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ewgaddis_lab6__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ewgaddis_lab6__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ewgaddis_lab6__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ewgaddis_lab6__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__ewgaddis_lab6__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__ewgaddis_lab6__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__ewgaddis_lab6__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ewgaddis_lab6__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ewgaddis_lab6__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ewgaddis_lab6__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ewgaddis_lab6__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ex_http_frame__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ex_http_frame__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ex_http_frame__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ex_http_frame__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ex_http_frame__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ex_http_frame__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ex_http_frame__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ex_http_frame__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ex_http_frame__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__ex_http_frame__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__ex_http_frame__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__ex_http_frame__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ex_http_frame__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ex_http_frame__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ex_http_frame__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ex_http_frame__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__express__ge_4__1__1_lt_4_5__1__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__express__ge_4__1__1_lt_4_5__1__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__express__ge_4__1__1_lt_4_5__1__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__express__ge_4__1__1_lt_4_5__1__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__express__ge_4__1__1_lt_4_5__1__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__express__ge_4__1__1_lt_4_5__1__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__express__ge_4__1__1_lt_4_5__1__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__express__ge_4__1__1_lt_4_5__1__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__express__ge_4__1__1_lt_4_5__1__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__express__ge_4__1__1_lt_4_5__1__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__express__ge_4__1__1_lt_4_5__1__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__express__ge_4__1__1_lt_4_5__1__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__express__ge_4__1__1_lt_4_5__1__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__express__ge_4__1__1_lt_4_5__1__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__express__ge_4__1__1_lt_4_5__1__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__express__ge_4__1__1_lt_4_5__1__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__express__lt_3_11__1__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__express__lt_3_11__1__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__express__lt_3_11__1__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__express__lt_3_11__1__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__express__lt_3_11__1__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__express__lt_3_11__1__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__express__lt_3_11__1__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__express__lt_3_11__1__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__express__lt_3_11__1__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__express__lt_3_11__1__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__express__lt_3_11__1__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__express__lt_3_11__1__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__express__lt_3_11__1__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__express__lt_3_11__1__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__express__lt_3_11__1__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__express__lt_3_11__1__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__express_blinker__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__express_blinker__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__express_blinker__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__express_blinker__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__express_blinker__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__express_blinker__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__express_blinker__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__express_blinker__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__express_blinker__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__express_blinker__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__express_blinker__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__express_blinker__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__express_blinker__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__express_blinker__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__express_blinker__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__express_blinker__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__express_cart__lt_1_1_7__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__express_cart__lt_1_1_7__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__express_cart__lt_1_1_7__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__express_cart__lt_1_1_7__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__express_cart__lt_1_1_7__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__express_cart__lt_1_1_7__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__express_cart__lt_1_1_7__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__express_cart__lt_1_1_7__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__express_cart__lt_1_1_7__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__express_cart__lt_1_1_7__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__express_cart__lt_1_1_7__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__express_cart__lt_1_1_7__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__express_cart__lt_1_1_7__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__express_cart__lt_1_1_7__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__express_cart__lt_1_1_7__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__express_cart__lt_1_1_7__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__express_cookies__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__express_cookies__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__express_cookies__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__express_cookies__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__express_cookies__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__express_cookies__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__express_cookies__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__express_cookies__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__express_cookies__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__express_cookies__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__express_cookies__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__express_cookies__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__express_cookies__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__express_cookies__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__express_cookies__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__express_cookies__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__express_graphql__ge_0_4_0_lt_0_4_11__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__express_graphql__ge_0_4_0_lt_0_4_11__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__express_graphql__ge_0_4_0_lt_0_4_11__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__express_graphql__ge_0_4_0_lt_0_4_11__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__express_graphql__ge_0_4_0_lt_0_4_11__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__express_graphql__ge_0_4_0_lt_0_4_11__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__express_graphql__ge_0_4_0_lt_0_4_11__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__express_graphql__ge_0_4_0_lt_0_4_11__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__express_graphql__ge_0_4_0_lt_0_4_11__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__express_graphql__ge_0_4_0_lt_0_4_11__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__express_graphql__ge_0_4_0_lt_0_4_11__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__express_graphql__ge_0_4_0_lt_0_4_11__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__express_graphql__ge_0_4_0_lt_0_4_11__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__express_graphql__ge_0_4_0_lt_0_4_11__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__express_graphql__ge_0_4_0_lt_0_4_11__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__express_graphql__ge_0_4_0_lt_0_4_11__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__express_restify_mongoose__ge_3_0_0_lt_3_1_0__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__express_restify_mongoose__ge_3_0_0_lt_3_1_0__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__express_restify_mongoose__ge_3_0_0_lt_3_1_0__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__express_restify_mongoose__ge_3_0_0_lt_3_1_0__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__express_restify_mongoose__ge_3_0_0_lt_3_1_0__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__express_restify_mongoose__ge_3_0_0_lt_3_1_0__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__express_restify_mongoose__ge_3_0_0_lt_3_1_0__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__express_restify_mongoose__ge_3_0_0_lt_3_1_0__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__express_restify_mongoose__ge_3_0_0_lt_3_1_0__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__express_restify_mongoose__ge_3_0_0_lt_3_1_0__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__express_restify_mongoose__ge_3_0_0_lt_3_1_0__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__express_restify_mongoose__ge_3_0_0_lt_3_1_0__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__express_restify_mongoose__ge_3_0_0_lt_3_1_0__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__express_restify_mongoose__ge_3_0_0_lt_3_1_0__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__express_restify_mongoose__ge_3_0_0_lt_3_1_0__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__express_restify_mongoose__ge_3_0_0_lt_3_1_0__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__express_restify_mongoose__lt_2_5_0__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__express_restify_mongoose__lt_2_5_0__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__express_restify_mongoose__lt_2_5_0__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__express_restify_mongoose__lt_2_5_0__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__express_restify_mongoose__lt_2_5_0__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__express_restify_mongoose__lt_2_5_0__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__express_restify_mongoose__lt_2_5_0__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__express_restify_mongoose__lt_2_5_0__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__express_restify_mongoose__lt_2_5_0__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__express_restify_mongoose__lt_2_5_0__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__express_restify_mongoose__lt_2_5_0__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__express_restify_mongoose__lt_2_5_0__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__express_restify_mongoose__lt_2_5_0__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__express_restify_mongoose__lt_2_5_0__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__express_restify_mongoose__lt_2_5_0__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__express_restify_mongoose__lt_2_5_0__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__express_saml2__xml_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__express_saml2__xml_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__express_saml2__xml_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__express_saml2__xml_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__express_saml2__xml_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__express_saml2__xml_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__express_saml2__xml_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__express_saml2__xml_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__express_saml2__xml_injection.dacg.result.s2.o0": "The library is known to include the XML Injection vulnerability.",
  "0.event.dacg_npm__express_saml2__xml_injection.dacg.result.s3.o0": "The XML Injection vulnerability is caused by injecting unintended XML tags into existing XML structures.",
  "0.event.dacg_npm__express_saml2__xml_injection.dacg.result.s4.o0": "Using the XML Injection vulnerability, an attacker can access and manipulate the XML structure and restricted information.",
  "0.event.dacg_npm__express_saml2__xml_injection.dacg.result.s5.o0": "As a result of the test, the XML Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__express_saml2__xml_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__express_saml2__xml_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__express_saml2__xml_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__express_saml2__xml_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__exxxxxxxxxxx__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__exxxxxxxxxxx__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__exxxxxxxxxxx__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__exxxxxxxxxxx__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__exxxxxxxxxxx__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__exxxxxxxxxxx__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__exxxxxxxxxxx__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__exxxxxxxxxxx__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__exxxxxxxxxxx__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__exxxxxxxxxxx__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__exxxxxxxxxxx__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__exxxxxxxxxxx__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__exxxxxxxxxxx__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__exxxxxxxxxxx__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__exxxxxxxxxxx__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__exxxxxxxxxxx__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ezseed_transmission__ge_0_0_10_le_0_0_14__mitm.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ezseed_transmission__ge_0_0_10_le_0_0_14__mitm.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ezseed_transmission__ge_0_0_10_le_0_0_14__mitm.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ezseed_transmission__ge_0_0_10_le_0_0_14__mitm.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ezseed_transmission__ge_0_0_10_le_0_0_14__mitm.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ezseed_transmission__ge_0_0_10_le_0_0_14__mitm.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ezseed_transmission__ge_0_0_10_le_0_0_14__mitm.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ezseed_transmission__ge_0_0_10_le_0_0_14__mitm.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ezseed_transmission__ge_0_0_10_le_0_0_14__mitm.dacg.result.s2.o0": "The library is known to include the Man in the Middle (MitM) vulnerability.",
  "0.event.dacg_npm__ezseed_transmission__ge_0_0_10_le_0_0_14__mitm.dacg.result.s3.o0": "The Man in the Middle (MitM) vulnerability is caused by stealing external network communications.",
  "0.event.dacg_npm__ezseed_transmission__ge_0_0_10_le_0_0_14__mitm.dacg.result.s4.o0": "Using the MitM vulnerability, an attacker can eavesdrop or manipulate communication.",
  "0.event.dacg_npm__ezseed_transmission__ge_0_0_10_le_0_0_14__mitm.dacg.result.s5.o0": "As a result of the test, the Man in the Middle (MitM) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ezseed_transmission__ge_0_0_10_le_0_0_14__mitm.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ezseed_transmission__ge_0_0_10_le_0_0_14__mitm.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ezseed_transmission__ge_0_0_10_le_0_0_14__mitm.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ezseed_transmission__ge_0_0_10_le_0_0_14__mitm.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__f2e_server__lt_1_12_13__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__f2e_server__lt_1_12_13__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__f2e_server__lt_1_12_13__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__f2e_server__lt_1_12_13__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__f2e_server__lt_1_12_13__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__f2e_server__lt_1_12_13__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__f2e_server__lt_1_12_13__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__f2e_server__lt_1_12_13__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__f2e_server__lt_1_12_13__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__f2e_server__lt_1_12_13__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__f2e_server__lt_1_12_13__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__f2e_server__lt_1_12_13__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__f2e_server__lt_1_12_13__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__f2e_server__lt_1_12_13__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__f2e_server__lt_1_12_13__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__f2e_server__lt_1_12_13__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__fabric_js__le_1_0_2__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__fabric_js__le_1_0_2__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__fabric_js__le_1_0_2__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__fabric_js__le_1_0_2__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__fabric_js__le_1_0_2__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__fabric_js__le_1_0_2__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__fabric_js__le_1_0_2__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__fabric_js__le_1_0_2__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__fabric_js__le_1_0_2__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__fabric_js__le_1_0_2__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__fabric_js__le_1_0_2__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__fabric_js__le_1_0_2__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__fabric_js__le_1_0_2__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__fabric_js__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__fabric_js__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__fabric_js__le_1_0_2__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__fakelearnnodejs__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__fakelearnnodejs__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__fakelearnnodejs__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__fakelearnnodejs__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__fakelearnnodejs__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__fakelearnnodejs__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__fakelearnnodejs__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__fakelearnnodejs__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__fakelearnnodejs__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__fakelearnnodejs__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__fakelearnnodejs__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__fakelearnnodejs__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__fakelearnnodejs__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__fakelearnnodejs__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__fakelearnnodejs__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__fakelearnnodejs__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__fancy_server__lt_0_1_4__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__fancy_server__lt_0_1_4__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__fancy_server__lt_0_1_4__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__fancy_server__lt_0_1_4__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__fancy_server__lt_0_1_4__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__fancy_server__lt_0_1_4__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__fancy_server__lt_0_1_4__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__fancy_server__lt_0_1_4__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__fancy_server__lt_0_1_4__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__fancy_server__lt_0_1_4__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__fancy_server__lt_0_1_4__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__fancy_server__lt_0_1_4__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__fancy_server__lt_0_1_4__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__fancy_server__lt_0_1_4__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__fancy_server__lt_0_1_4__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__fancy_server__lt_0_1_4__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__fast_http__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__fast_http__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__fast_http__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__fast_http__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__fast_http__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__fast_http__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__fast_http__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__fast_http__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__fast_http__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__fast_http__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__fast_http__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__fast_http__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__fast_http__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__fast_http__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__fast_http__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__fast_http__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__fast_http_cli__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__fast_http_cli__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__fast_http_cli__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__fast_http_cli__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__fast_http_cli__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__fast_http_cli__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__fast_http_cli__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__fast_http_cli__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__fast_http_cli__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__fast_http_cli__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__fast_http_cli__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__fast_http_cli__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__fast_http_cli__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__fast_http_cli__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__fast_http_cli__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__fast_http_cli__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__fastify__lt_0_38_0__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__fastify__lt_0_38_0__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__fastify__lt_0_38_0__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__fastify__lt_0_38_0__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__fastify__lt_0_38_0__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__fastify__lt_0_38_0__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__fastify__lt_0_38_0__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__fastify__lt_0_38_0__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__fastify__lt_0_38_0__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__fastify__lt_0_38_0__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__fastify__lt_0_38_0__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__fastify__lt_0_38_0__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__fastify__lt_0_38_0__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__fastify__lt_0_38_0__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__fastify__lt_0_38_0__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__fastify__lt_0_38_0__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__favico_js__lt_0_3_10__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__favico_js__lt_0_3_10__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__favico_js__lt_0_3_10__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__favico_js__lt_0_3_10__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__favico_js__lt_0_3_10__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__favico_js__lt_0_3_10__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__favico_js__lt_0_3_10__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__favico_js__lt_0_3_10__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__favico_js__lt_0_3_10__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__favico_js__lt_0_3_10__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__favico_js__lt_0_3_10__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__favico_js__lt_0_3_10__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__favico_js__lt_0_3_10__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__favico_js__lt_0_3_10__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__favico_js__lt_0_3_10__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__favico_js__lt_0_3_10__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__faye__ge_0_5_0_lt_0_8_9__insecure_configuration.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__faye__ge_0_5_0_lt_0_8_9__insecure_configuration.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__faye__ge_0_5_0_lt_0_8_9__insecure_configuration.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__faye__ge_0_5_0_lt_0_8_9__insecure_configuration.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__faye__ge_0_5_0_lt_0_8_9__insecure_configuration.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__faye__ge_0_5_0_lt_0_8_9__insecure_configuration.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__faye__ge_0_5_0_lt_0_8_9__insecure_configuration.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__faye__ge_0_5_0_lt_0_8_9__insecure_configuration.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__faye__ge_0_5_0_lt_0_8_9__insecure_configuration.dacg.result.s2.o0": "The library is known to include the Insecure Configuration vulnerability.",
  "0.event.dacg_npm__faye__ge_0_5_0_lt_0_8_9__insecure_configuration.dacg.result.s3.o0": "The Insecure Configuration vulnerability allows external attacks by server or application settings.",
  "0.event.dacg_npm__faye__ge_0_5_0_lt_0_8_9__insecure_configuration.dacg.result.s4.o0": "Using the Insecure Configuration vulnerability, an attacker can control the operation of the server or application, or take and manipulate sensitive information.",
  "0.event.dacg_npm__faye__ge_0_5_0_lt_0_8_9__insecure_configuration.dacg.result.s5.o0": "As a result of the test, the Insecure Configuration vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__faye__ge_0_5_0_lt_0_8_9__insecure_configuration.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__faye__ge_0_5_0_lt_0_8_9__insecure_configuration.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__faye__ge_0_5_0_lt_0_8_9__insecure_configuration.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__faye__ge_0_5_0_lt_0_8_9__insecure_configuration.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__fbr_client__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__fbr_client__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__fbr_client__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__fbr_client__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__fbr_client__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__fbr_client__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__fbr_client__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__fbr_client__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__fbr_client__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__fbr_client__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__fbr_client__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__fbr_client__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__fbr_client__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__fbr_client__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__fbr_client__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__fbr_client__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__featurebook__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__featurebook__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__featurebook__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__featurebook__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__featurebook__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__featurebook__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__featurebook__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__featurebook__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__featurebook__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__featurebook__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__featurebook__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__featurebook__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__featurebook__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__featurebook__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__featurebook__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__featurebook__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__fernet__ge_0_0_1_lt_0_1_0__timing_attack.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__fernet__ge_0_0_1_lt_0_1_0__timing_attack.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__fernet__ge_0_0_1_lt_0_1_0__timing_attack.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__fernet__ge_0_0_1_lt_0_1_0__timing_attack.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__fernet__ge_0_0_1_lt_0_1_0__timing_attack.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__fernet__ge_0_0_1_lt_0_1_0__timing_attack.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__fernet__ge_0_0_1_lt_0_1_0__timing_attack.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__fernet__ge_0_0_1_lt_0_1_0__timing_attack.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__fernet__ge_0_0_1_lt_0_1_0__timing_attack.dacg.result.s2.o0": "The library is known to include the Timing Attack vulnerability.",
  "0.event.dacg_npm__fernet__ge_0_0_1_lt_0_1_0__timing_attack.dacg.result.s3.o0": "The Timing Attack vulnerability causes comparisons to be stopped as soon as different part is found in the comparisons such as strings.",
  "0.event.dacg_npm__fernet__ge_0_0_1_lt_0_1_0__timing_attack.dacg.result.s4.o0": "An attacker can use Timing Attack vulnerability to calculate spending times, and estimate sensitive information such as passwords.",
  "0.event.dacg_npm__fernet__ge_0_0_1_lt_0_1_0__timing_attack.dacg.result.s5.o0": "As a result of the test, the Timing Attack vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__fernet__ge_0_0_1_lt_0_1_0__timing_attack.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__fernet__ge_0_0_1_lt_0_1_0__timing_attack.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__fernet__ge_0_0_1_lt_0_1_0__timing_attack.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__fernet__ge_0_0_1_lt_0_1_0__timing_attack.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ffmepg__le_1_0_2__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ffmepg__le_1_0_2__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ffmepg__le_1_0_2__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ffmepg__le_1_0_2__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ffmepg__le_1_0_2__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ffmepg__le_1_0_2__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ffmepg__le_1_0_2__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ffmepg__le_1_0_2__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ffmepg__le_1_0_2__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__ffmepg__le_1_0_2__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__ffmepg__le_1_0_2__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__ffmepg__le_1_0_2__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ffmepg__le_1_0_2__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ffmepg__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ffmepg__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ffmepg__le_1_0_2__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__fibjs__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__fibjs__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__fibjs__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__fibjs__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__fibjs__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__fibjs__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__fibjs__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__fibjs__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__fibjs__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__fibjs__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__fibjs__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__fibjs__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__fibjs__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__fibjs__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__fibjs__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__fibjs__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__fis_parser_sass_bin__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__fis_parser_sass_bin__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__fis_parser_sass_bin__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__fis_parser_sass_bin__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__fis_parser_sass_bin__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__fis_parser_sass_bin__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__fis_parser_sass_bin__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__fis_parser_sass_bin__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__fis_parser_sass_bin__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__fis_parser_sass_bin__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__fis_parser_sass_bin__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__fis_parser_sass_bin__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__fis_parser_sass_bin__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__fis_parser_sass_bin__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__fis_parser_sass_bin__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__fis_parser_sass_bin__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__fis_sass_all__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__fis_sass_all__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__fis_sass_all__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__fis_sass_all__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__fis_sass_all__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__fis_sass_all__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__fis_sass_all__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__fis_sass_all__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__fis_sass_all__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__fis_sass_all__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__fis_sass_all__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__fis_sass_all__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__fis_sass_all__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__fis_sass_all__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__fis_sass_all__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__fis_sass_all__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__floody__lt_0_1_1__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__floody__lt_0_1_1__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__floody__lt_0_1_1__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__floody__lt_0_1_1__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__floody__lt_0_1_1__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__floody__lt_0_1_1__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__floody__lt_0_1_1__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__floody__lt_0_1_1__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__floody__lt_0_1_1__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__floody__lt_0_1_1__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__floody__lt_0_1_1__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__floody__lt_0_1_1__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__floody__lt_0_1_1__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__floody__lt_0_1_1__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__floody__lt_0_1_1__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__floody__lt_0_1_1__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__foreman__lt_3_0_1__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__foreman__lt_3_0_1__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__foreman__lt_3_0_1__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__foreman__lt_3_0_1__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__foreman__lt_3_0_1__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__foreman__lt_3_0_1__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__foreman__lt_3_0_1__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__foreman__lt_3_0_1__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__foreman__lt_3_0_1__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__foreman__lt_3_0_1__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__foreman__lt_3_0_1__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__foreman__lt_3_0_1__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__foreman__lt_3_0_1__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__foreman__lt_3_0_1__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__foreman__lt_3_0_1__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__foreman__lt_3_0_1__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__forms__lt_1_3_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__forms__lt_1_3_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__forms__lt_1_3_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__forms__lt_1_3_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__forms__lt_1_3_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__forms__lt_1_3_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__forms__lt_1_3_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__forms__lt_1_3_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__forms__lt_1_3_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__forms__lt_1_3_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__forms__lt_1_3_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__forms__lt_1_3_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__forms__lt_1_3_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__forms__lt_1_3_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__forms__lt_1_3_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__forms__lt_1_3_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__forwarded__lt_0_1_2__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__forwarded__lt_0_1_2__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__forwarded__lt_0_1_2__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__forwarded__lt_0_1_2__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__forwarded__lt_0_1_2__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__forwarded__lt_0_1_2__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__forwarded__lt_0_1_2__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__forwarded__lt_0_1_2__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__forwarded__lt_0_1_2__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__forwarded__lt_0_1_2__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__forwarded__lt_0_1_2__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__forwarded__lt_0_1_2__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__forwarded__lt_0_1_2__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__forwarded__lt_0_1_2__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__forwarded__lt_0_1_2__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__forwarded__lt_0_1_2__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__foundation_sites__ge_3_0_0_lt_3_0_6__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__foundation_sites__ge_3_0_0_lt_3_0_6__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__foundation_sites__ge_3_0_0_lt_3_0_6__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__foundation_sites__ge_3_0_0_lt_3_0_6__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__foundation_sites__ge_3_0_0_lt_3_0_6__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__foundation_sites__ge_3_0_0_lt_3_0_6__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__foundation_sites__ge_3_0_0_lt_3_0_6__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__foundation_sites__ge_3_0_0_lt_3_0_6__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__foundation_sites__ge_3_0_0_lt_3_0_6__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__foundation_sites__ge_3_0_0_lt_3_0_6__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__foundation_sites__ge_3_0_0_lt_3_0_6__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__foundation_sites__ge_3_0_0_lt_3_0_6__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__foundation_sites__ge_3_0_0_lt_3_0_6__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__foundation_sites__ge_3_0_0_lt_3_0_6__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__foundation_sites__ge_3_0_0_lt_3_0_6__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__foundation_sites__ge_3_0_0_lt_3_0_6__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__foundation_sites__lt_5_5_3__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__foundation_sites__lt_5_5_3__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__foundation_sites__lt_5_5_3__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__foundation_sites__lt_5_5_3__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__foundation_sites__lt_5_5_3__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__foundation_sites__lt_5_5_3__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__foundation_sites__lt_5_5_3__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__foundation_sites__lt_5_5_3__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__foundation_sites__lt_5_5_3__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__foundation_sites__lt_5_5_3__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__foundation_sites__lt_5_5_3__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__foundation_sites__lt_5_5_3__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__foundation_sites__lt_5_5_3__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__foundation_sites__lt_5_5_3__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__foundation_sites__lt_5_5_3__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__foundation_sites__lt_5_5_3__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__foundation_sites__lt_6_0_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__foundation_sites__lt_6_0_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__foundation_sites__lt_6_0_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__foundation_sites__lt_6_0_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__foundation_sites__lt_6_0_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__foundation_sites__lt_6_0_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__foundation_sites__lt_6_0_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__foundation_sites__lt_6_0_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__foundation_sites__lt_6_0_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__foundation_sites__lt_6_0_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__foundation_sites__lt_6_0_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__foundation_sites__lt_6_0_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__foundation_sites__lt_6_0_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__foundation_sites__lt_6_0_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__foundation_sites__lt_6_0_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__foundation_sites__lt_6_0_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__frames_compiler__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__frames_compiler__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__frames_compiler__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__frames_compiler__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__frames_compiler__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__frames_compiler__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__frames_compiler__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__frames_compiler__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__frames_compiler__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__frames_compiler__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__frames_compiler__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__frames_compiler__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__frames_compiler__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__frames_compiler__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__frames_compiler__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__frames_compiler__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__fresh__lt_0_5_2__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__fresh__lt_0_5_2__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__fresh__lt_0_5_2__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__fresh__lt_0_5_2__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__fresh__lt_0_5_2__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__fresh__lt_0_5_2__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__fresh__lt_0_5_2__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__fresh__lt_0_5_2__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__fresh__lt_0_5_2__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__fresh__lt_0_5_2__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__fresh__lt_0_5_2__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__fresh__lt_0_5_2__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__fresh__lt_0_5_2__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__fresh__lt_0_5_2__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__fresh__lt_0_5_2__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__fresh__lt_0_5_2__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__frvr__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__frvr__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__frvr__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__frvr__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__frvr__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__frvr__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__frvr__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__frvr__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__frvr__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__frvr__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__frvr__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__frvr__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__frvr__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__frvr__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__frvr__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__frvr__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__fs_git__lt_1_0_2__command_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__fs_git__lt_1_0_2__command_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__fs_git__lt_1_0_2__command_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__fs_git__lt_1_0_2__command_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__fs_git__lt_1_0_2__command_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__fs_git__lt_1_0_2__command_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__fs_git__lt_1_0_2__command_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__fs_git__lt_1_0_2__command_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__fs_git__lt_1_0_2__command_injection.dacg.result.s2.o0": "The library is known to include the OS Command Injection vulnerability.",
  "0.event.dacg_npm__fs_git__lt_1_0_2__command_injection.dacg.result.s3.o0": "The OS Command Injection vulnerability is caused by executing user commands without any verification process.",
  "0.event.dacg_npm__fs_git__lt_1_0_2__command_injection.dacg.result.s4.o0": "Using the OS Command Injection vulnerability, an attacker can steal key information of the server and force to perform unintended behaviors.",
  "0.event.dacg_npm__fs_git__lt_1_0_2__command_injection.dacg.result.s5.o0": "As a result of the test, the OS Command Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__fs_git__lt_1_0_2__command_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__fs_git__lt_1_0_2__command_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__fs_git__lt_1_0_2__command_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__fs_git__lt_1_0_2__command_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__fs_path__command_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__fs_path__command_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__fs_path__command_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__fs_path__command_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__fs_path__command_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__fs_path__command_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__fs_path__command_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__fs_path__command_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__fs_path__command_injection.dacg.result.s2.o0": "The library is known to include the OS Command Injection vulnerability.",
  "0.event.dacg_npm__fs_path__command_injection.dacg.result.s3.o0": "The OS Command Injection vulnerability is caused by executing user commands without any verification process.",
  "0.event.dacg_npm__fs_path__command_injection.dacg.result.s4.o0": "Using the OS Command Injection vulnerability, an attacker can steal key information of the server and force to perform unintended behaviors.",
  "0.event.dacg_npm__fs_path__command_injection.dacg.result.s5.o0": "As a result of the test, the OS Command Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__fs_path__command_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__fs_path__command_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__fs_path__command_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__fs_path__command_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__fsk_server__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__fsk_server__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__fsk_server__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__fsk_server__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__fsk_server__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__fsk_server__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__fsk_server__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__fsk_server__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__fsk_server__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__fsk_server__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__fsk_server__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__fsk_server__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__fsk_server__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__fsk_server__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__fsk_server__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__fsk_server__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__fuelux__lt_3_15_7__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__fuelux__lt_3_15_7__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__fuelux__lt_3_15_7__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__fuelux__lt_3_15_7__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__fuelux__lt_3_15_7__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__fuelux__lt_3_15_7__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__fuelux__lt_3_15_7__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__fuelux__lt_3_15_7__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__fuelux__lt_3_15_7__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__fuelux__lt_3_15_7__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__fuelux__lt_3_15_7__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__fuelux__lt_3_15_7__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__fuelux__lt_3_15_7__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__fuelux__lt_3_15_7__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__fuelux__lt_3_15_7__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__fuelux__lt_3_15_7__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__fullpage_js__lt_2_7_6__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__fullpage_js__lt_2_7_6__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__fullpage_js__lt_2_7_6__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__fullpage_js__lt_2_7_6__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__fullpage_js__lt_2_7_6__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__fullpage_js__lt_2_7_6__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__fullpage_js__lt_2_7_6__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__fullpage_js__lt_2_7_6__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__fullpage_js__lt_2_7_6__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__fullpage_js__lt_2_7_6__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__fullpage_js__lt_2_7_6__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__fullpage_js__lt_2_7_6__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__fullpage_js__lt_2_7_6__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__fullpage_js__lt_2_7_6__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__fullpage_js__lt_2_7_6__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__fullpage_js__lt_2_7_6__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__fury_adapter_swagger__ge_0_2_0_lt_0_9_7__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__fury_adapter_swagger__ge_0_2_0_lt_0_9_7__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__fury_adapter_swagger__ge_0_2_0_lt_0_9_7__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__fury_adapter_swagger__ge_0_2_0_lt_0_9_7__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__fury_adapter_swagger__ge_0_2_0_lt_0_9_7__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__fury_adapter_swagger__ge_0_2_0_lt_0_9_7__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__fury_adapter_swagger__ge_0_2_0_lt_0_9_7__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__fury_adapter_swagger__ge_0_2_0_lt_0_9_7__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__fury_adapter_swagger__ge_0_2_0_lt_0_9_7__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__fury_adapter_swagger__ge_0_2_0_lt_0_9_7__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__fury_adapter_swagger__ge_0_2_0_lt_0_9_7__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__fury_adapter_swagger__ge_0_2_0_lt_0_9_7__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__fury_adapter_swagger__ge_0_2_0_lt_0_9_7__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__fury_adapter_swagger__ge_0_2_0_lt_0_9_7__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__fury_adapter_swagger__ge_0_2_0_lt_0_9_7__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__fury_adapter_swagger__ge_0_2_0_lt_0_9_7__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__fury_adapter_swagger__le_0_8_0_pre__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__fury_adapter_swagger__le_0_8_0_pre__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__fury_adapter_swagger__le_0_8_0_pre__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__fury_adapter_swagger__le_0_8_0_pre__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__fury_adapter_swagger__le_0_8_0_pre__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__fury_adapter_swagger__le_0_8_0_pre__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__fury_adapter_swagger__le_0_8_0_pre__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__fury_adapter_swagger__le_0_8_0_pre__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__fury_adapter_swagger__le_0_8_0_pre__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__fury_adapter_swagger__le_0_8_0_pre__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__fury_adapter_swagger__le_0_8_0_pre__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__fury_adapter_swagger__le_0_8_0_pre__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__fury_adapter_swagger__le_0_8_0_pre__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__fury_adapter_swagger__le_0_8_0_pre__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__fury_adapter_swagger__le_0_8_0_pre__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__fury_adapter_swagger__le_0_8_0_pre__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__fuseki__lt_1_0_1__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__fuseki__lt_1_0_1__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__fuseki__lt_1_0_1__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__fuseki__lt_1_0_1__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__fuseki__lt_1_0_1__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__fuseki__lt_1_0_1__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__fuseki__lt_1_0_1__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__fuseki__lt_1_0_1__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__fuseki__lt_1_0_1__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__fuseki__lt_1_0_1__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__fuseki__lt_1_0_1__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__fuseki__lt_1_0_1__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__fuseki__lt_1_0_1__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__fuseki__lt_1_0_1__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__fuseki__lt_1_0_1__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__fuseki__lt_1_0_1__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__galenframework_cli__lt_2_3_1__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__galenframework_cli__lt_2_3_1__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__galenframework_cli__lt_2_3_1__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__galenframework_cli__lt_2_3_1__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__galenframework_cli__lt_2_3_1__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__galenframework_cli__lt_2_3_1__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__galenframework_cli__lt_2_3_1__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__galenframework_cli__lt_2_3_1__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__galenframework_cli__lt_2_3_1__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__galenframework_cli__lt_2_3_1__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__galenframework_cli__lt_2_3_1__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__galenframework_cli__lt_2_3_1__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__galenframework_cli__lt_2_3_1__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__galenframework_cli__lt_2_3_1__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__galenframework_cli__lt_2_3_1__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__galenframework_cli__lt_2_3_1__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__gamebutler__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__gamebutler__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__gamebutler__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__gamebutler__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__gamebutler__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__gamebutler__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__gamebutler__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__gamebutler__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__gamebutler__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__gamebutler__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__gamebutler__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__gamebutler__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__gamebutler__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__gamebutler__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__gamebutler__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__gamebutler__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__gaoxiaotingtingting__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__gaoxiaotingtingting__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__gaoxiaotingtingting__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__gaoxiaotingtingting__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__gaoxiaotingtingting__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__gaoxiaotingtingting__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__gaoxiaotingtingting__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__gaoxiaotingtingting__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__gaoxiaotingtingting__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__gaoxiaotingtingting__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__gaoxiaotingtingting__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__gaoxiaotingtingting__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__gaoxiaotingtingting__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__gaoxiaotingtingting__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__gaoxiaotingtingting__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__gaoxiaotingtingting__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__gaoxuyan__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__gaoxuyan__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__gaoxuyan__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__gaoxuyan__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__gaoxuyan__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__gaoxuyan__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__gaoxuyan__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__gaoxuyan__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__gaoxuyan__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__gaoxuyan__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__gaoxuyan__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__gaoxuyan__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__gaoxuyan__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__gaoxuyan__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__gaoxuyan__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__gaoxuyan__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__gatsby_cli__lt_1_0_9__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__gatsby_cli__lt_1_0_9__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__gatsby_cli__lt_1_0_9__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__gatsby_cli__lt_1_0_9__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__gatsby_cli__lt_1_0_9__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__gatsby_cli__lt_1_0_9__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__gatsby_cli__lt_1_0_9__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__gatsby_cli__lt_1_0_9__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__gatsby_cli__lt_1_0_9__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__gatsby_cli__lt_1_0_9__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__gatsby_cli__lt_1_0_9__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__gatsby_cli__lt_1_0_9__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__gatsby_cli__lt_1_0_9__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__gatsby_cli__lt_1_0_9__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__gatsby_cli__lt_1_0_9__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__gatsby_cli__lt_1_0_9__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__geddy__lt_13_0_8__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__geddy__lt_13_0_8__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__geddy__lt_13_0_8__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__geddy__lt_13_0_8__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__geddy__lt_13_0_8__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__geddy__lt_13_0_8__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__geddy__lt_13_0_8__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__geddy__lt_13_0_8__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__geddy__lt_13_0_8__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__geddy__lt_13_0_8__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__geddy__lt_13_0_8__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__geddy__lt_13_0_8__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__geddy__lt_13_0_8__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__geddy__lt_13_0_8__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__geddy__lt_13_0_8__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__geddy__lt_13_0_8__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__general_file_server__le_1_1_8__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__general_file_server__le_1_1_8__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__general_file_server__le_1_1_8__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__general_file_server__le_1_1_8__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__general_file_server__le_1_1_8__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__general_file_server__le_1_1_8__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__general_file_server__le_1_1_8__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__general_file_server__le_1_1_8__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__general_file_server__le_1_1_8__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__general_file_server__le_1_1_8__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__general_file_server__le_1_1_8__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__general_file_server__le_1_1_8__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__general_file_server__le_1_1_8__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__general_file_server__le_1_1_8__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__general_file_server__le_1_1_8__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__general_file_server__le_1_1_8__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__generate_pincode__lt_5_0_2__use_of_insufficiently_random_values.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__generate_pincode__lt_5_0_2__use_of_insufficiently_random_values.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__generate_pincode__lt_5_0_2__use_of_insufficiently_random_values.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__generate_pincode__lt_5_0_2__use_of_insufficiently_random_values.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__generate_pincode__lt_5_0_2__use_of_insufficiently_random_values.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__generate_pincode__lt_5_0_2__use_of_insufficiently_random_values.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__generate_pincode__lt_5_0_2__use_of_insufficiently_random_values.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__generate_pincode__lt_5_0_2__use_of_insufficiently_random_values.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__generate_pincode__lt_5_0_2__use_of_insufficiently_random_values.dacg.result.s2.o0": "This library is known to include a Use of Insufficiently Random Values vulnerability.",
  "0.event.dacg_npm__generate_pincode__lt_5_0_2__use_of_insufficiently_random_values.dacg.result.s3.o0": "The Use of Insufficient Random Number vulnerability is caused by using predictable random numbers.",
  "0.event.dacg_npm__generate_pincode__lt_5_0_2__use_of_insufficiently_random_values.dacg.result.s4.o0": "An attacker can use Insufficiently Random Values vulnerability to infer a random number value of a password or decryption key.",
  "0.event.dacg_npm__generate_pincode__lt_5_0_2__use_of_insufficiently_random_values.dacg.result.s5.o0": "As a result of the test, the Use of Insufficiently Random Values vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__generate_pincode__lt_5_0_2__use_of_insufficiently_random_values.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__generate_pincode__lt_5_0_2__use_of_insufficiently_random_values.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__generate_pincode__lt_5_0_2__use_of_insufficiently_random_values.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__generate_pincode__lt_5_0_2__use_of_insufficiently_random_values.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__generator_jhipster__ge_0_3_1_lt_0_14_0__authentication_bypass.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__generator_jhipster__ge_0_3_1_lt_0_14_0__authentication_bypass.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__generator_jhipster__ge_0_3_1_lt_0_14_0__authentication_bypass.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__generator_jhipster__ge_0_3_1_lt_0_14_0__authentication_bypass.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__generator_jhipster__ge_0_3_1_lt_0_14_0__authentication_bypass.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__generator_jhipster__ge_0_3_1_lt_0_14_0__authentication_bypass.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__generator_jhipster__ge_0_3_1_lt_0_14_0__authentication_bypass.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__generator_jhipster__ge_0_3_1_lt_0_14_0__authentication_bypass.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__generator_jhipster__ge_0_3_1_lt_0_14_0__authentication_bypass.dacg.result.s2.o0": "The library is known to include the Authentication Bypass vulnerability.",
  "0.event.dacg_npm__generator_jhipster__ge_0_3_1_lt_0_14_0__authentication_bypass.dacg.result.s3.o0": "Authentication bypass vulnerabilities can bypass a required authentication process.",
  "0.event.dacg_npm__generator_jhipster__ge_0_3_1_lt_0_14_0__authentication_bypass.dacg.result.s4.o0": "Using the Authentication Bypass vulnerability, an attacker can access to and manipulation of limited information.",
  "0.event.dacg_npm__generator_jhipster__ge_0_3_1_lt_0_14_0__authentication_bypass.dacg.result.s5.o0": "As a result of the test, the Authentication Bypass vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__generator_jhipster__ge_0_3_1_lt_0_14_0__authentication_bypass.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__generator_jhipster__ge_0_3_1_lt_0_14_0__authentication_bypass.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__generator_jhipster__ge_0_3_1_lt_0_14_0__authentication_bypass.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__generator_jhipster__ge_0_3_1_lt_0_14_0__authentication_bypass.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__generator_jhipster__gt_2_0_0_lt_2_23_0__timing_attack.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__generator_jhipster__gt_2_0_0_lt_2_23_0__timing_attack.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__generator_jhipster__gt_2_0_0_lt_2_23_0__timing_attack.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__generator_jhipster__gt_2_0_0_lt_2_23_0__timing_attack.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__generator_jhipster__gt_2_0_0_lt_2_23_0__timing_attack.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__generator_jhipster__gt_2_0_0_lt_2_23_0__timing_attack.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__generator_jhipster__gt_2_0_0_lt_2_23_0__timing_attack.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__generator_jhipster__gt_2_0_0_lt_2_23_0__timing_attack.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__generator_jhipster__gt_2_0_0_lt_2_23_0__timing_attack.dacg.result.s2.o0": "The library is known to include the Timing Attack vulnerability.",
  "0.event.dacg_npm__generator_jhipster__gt_2_0_0_lt_2_23_0__timing_attack.dacg.result.s3.o0": "The Timing Attack vulnerability causes comparisons to be stopped as soon as different part is found in the comparisons such as strings.",
  "0.event.dacg_npm__generator_jhipster__gt_2_0_0_lt_2_23_0__timing_attack.dacg.result.s4.o0": "An attacker can use Timing Attack vulnerability to calculate spending times, and estimate sensitive information such as passwords.",
  "0.event.dacg_npm__generator_jhipster__gt_2_0_0_lt_2_23_0__timing_attack.dacg.result.s5.o0": "As a result of the test, the Timing Attack vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__generator_jhipster__gt_2_0_0_lt_2_23_0__timing_attack.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__generator_jhipster__gt_2_0_0_lt_2_23_0__timing_attack.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__generator_jhipster__gt_2_0_0_lt_2_23_0__timing_attack.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__generator_jhipster__gt_2_0_0_lt_2_23_0__timing_attack.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__geoip_lite_country__lt_1_1_4__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__geoip_lite_country__lt_1_1_4__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__geoip_lite_country__lt_1_1_4__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__geoip_lite_country__lt_1_1_4__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__geoip_lite_country__lt_1_1_4__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__geoip_lite_country__lt_1_1_4__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__geoip_lite_country__lt_1_1_4__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__geoip_lite_country__lt_1_1_4__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__geoip_lite_country__lt_1_1_4__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__geoip_lite_country__lt_1_1_4__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__geoip_lite_country__lt_1_1_4__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__geoip_lite_country__lt_1_1_4__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__geoip_lite_country__lt_1_1_4__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__geoip_lite_country__lt_1_1_4__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__geoip_lite_country__lt_1_1_4__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__geoip_lite_country__lt_1_1_4__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__getcityapi_yoehoehne__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__getcityapi_yoehoehne__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__getcityapi_yoehoehne__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__getcityapi_yoehoehne__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__getcityapi_yoehoehne__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__getcityapi_yoehoehne__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__getcityapi_yoehoehne__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__getcityapi_yoehoehne__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__getcityapi_yoehoehne__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__getcityapi_yoehoehne__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__getcityapi_yoehoehne__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__getcityapi_yoehoehne__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__getcityapi_yoehoehne__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__getcityapi_yoehoehne__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__getcityapi_yoehoehne__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__getcityapi_yoehoehne__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__getcookies__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__getcookies__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__getcookies__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__getcookies__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__getcookies__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__getcookies__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__getcookies__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__getcookies__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__getcookies__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__getcookies__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__getcookies__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__getcookies__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__getcookies__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__getcookies__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__getcookies__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__getcookies__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__getstats__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__getstats__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__getstats__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__getstats__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__getstats__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__getstats__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__getstats__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__getstats__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__getstats__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__getstats__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__getstats__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__getstats__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__getstats__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__getstats__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__getstats__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__getstats__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__gettext_parser__lt_1_3_1__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__gettext_parser__lt_1_3_1__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__gettext_parser__lt_1_3_1__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__gettext_parser__lt_1_3_1__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__gettext_parser__lt_1_3_1__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__gettext_parser__lt_1_3_1__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__gettext_parser__lt_1_3_1__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__gettext_parser__lt_1_3_1__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__gettext_parser__lt_1_3_1__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__gettext_parser__lt_1_3_1__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__gettext_parser__lt_1_3_1__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__gettext_parser__lt_1_3_1__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__gettext_parser__lt_1_3_1__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__gettext_parser__lt_1_3_1__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__gettext_parser__lt_1_3_1__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__gettext_parser__lt_1_3_1__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__gfe_sass__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__gfe_sass__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__gfe_sass__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__gfe_sass__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__gfe_sass__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__gfe_sass__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__gfe_sass__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__gfe_sass__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__gfe_sass__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__gfe_sass__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__gfe_sass__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__gfe_sass__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__gfe_sass__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__gfe_sass__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__gfe_sass__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__gfe_sass__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__gfm_srv__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__gfm_srv__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__gfm_srv__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__gfm_srv__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__gfm_srv__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__gfm_srv__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__gfm_srv__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__gfm_srv__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__gfm_srv__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__gfm_srv__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__gfm_srv__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__gfm_srv__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__gfm_srv__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__gfm_srv__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__gfm_srv__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__gfm_srv__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ghod5servercs360__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ghod5servercs360__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ghod5servercs360__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ghod5servercs360__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ghod5servercs360__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ghod5servercs360__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ghod5servercs360__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ghod5servercs360__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ghod5servercs360__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__ghod5servercs360__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__ghod5servercs360__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__ghod5servercs360__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ghod5servercs360__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ghod5servercs360__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ghod5servercs360__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ghod5servercs360__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ghost__ge_0_8_0_lt_0_11_2__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ghost__ge_0_8_0_lt_0_11_2__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ghost__ge_0_8_0_lt_0_11_2__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ghost__ge_0_8_0_lt_0_11_2__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ghost__ge_0_8_0_lt_0_11_2__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ghost__ge_0_8_0_lt_0_11_2__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ghost__ge_0_8_0_lt_0_11_2__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ghost__ge_0_8_0_lt_0_11_2__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ghost__ge_0_8_0_lt_0_11_2__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__ghost__ge_0_8_0_lt_0_11_2__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__ghost__ge_0_8_0_lt_0_11_2__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__ghost__ge_0_8_0_lt_0_11_2__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ghost__ge_0_8_0_lt_0_11_2__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ghost__ge_0_8_0_lt_0_11_2__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ghost__ge_0_8_0_lt_0_11_2__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ghost__ge_0_8_0_lt_0_11_2__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ghost__ge_0_8_0_lt_0_11_4__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ghost__ge_0_8_0_lt_0_11_4__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ghost__ge_0_8_0_lt_0_11_4__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ghost__ge_0_8_0_lt_0_11_4__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ghost__ge_0_8_0_lt_0_11_4__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ghost__ge_0_8_0_lt_0_11_4__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ghost__ge_0_8_0_lt_0_11_4__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ghost__ge_0_8_0_lt_0_11_4__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ghost__ge_0_8_0_lt_0_11_4__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__ghost__ge_0_8_0_lt_0_11_4__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__ghost__ge_0_8_0_lt_0_11_4__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__ghost__ge_0_8_0_lt_0_11_4__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ghost__ge_0_8_0_lt_0_11_4__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ghost__ge_0_8_0_lt_0_11_4__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ghost__ge_0_8_0_lt_0_11_4__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ghost__ge_0_8_0_lt_0_11_4__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ghost__ge_1_0_0_alpha_1_lt_1_0_0_alpha_5__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ghost__ge_1_0_0_alpha_1_lt_1_0_0_alpha_5__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ghost__ge_1_0_0_alpha_1_lt_1_0_0_alpha_5__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ghost__ge_1_0_0_alpha_1_lt_1_0_0_alpha_5__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ghost__ge_1_0_0_alpha_1_lt_1_0_0_alpha_5__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ghost__ge_1_0_0_alpha_1_lt_1_0_0_alpha_5__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ghost__ge_1_0_0_alpha_1_lt_1_0_0_alpha_5__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ghost__ge_1_0_0_alpha_1_lt_1_0_0_alpha_5__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ghost__ge_1_0_0_alpha_1_lt_1_0_0_alpha_5__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__ghost__ge_1_0_0_alpha_1_lt_1_0_0_alpha_5__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__ghost__ge_1_0_0_alpha_1_lt_1_0_0_alpha_5__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__ghost__ge_1_0_0_alpha_1_lt_1_0_0_alpha_5__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ghost__ge_1_0_0_alpha_1_lt_1_0_0_alpha_5__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ghost__ge_1_0_0_alpha_1_lt_1_0_0_alpha_5__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ghost__ge_1_0_0_alpha_1_lt_1_0_0_alpha_5__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ghost__ge_1_0_0_alpha_1_lt_1_0_0_alpha_5__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ghost__lt_0_10_0__open_redirect.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ghost__lt_0_10_0__open_redirect.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ghost__lt_0_10_0__open_redirect.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ghost__lt_0_10_0__open_redirect.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ghost__lt_0_10_0__open_redirect.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ghost__lt_0_10_0__open_redirect.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ghost__lt_0_10_0__open_redirect.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ghost__lt_0_10_0__open_redirect.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ghost__lt_0_10_0__open_redirect.dacg.result.s2.o0": "The library is known to include the URL Redirection to Untrusted Site vulnerability.",
  "0.event.dacg_npm__ghost__lt_0_10_0__open_redirect.dacg.result.s3.o0": "The URL Redirection to Untrusted Site vulnerability is caused by using unreliable user inputs to construct URLs and perform a redirection to them.",
  "0.event.dacg_npm__ghost__lt_0_10_0__open_redirect.dacg.result.s4.o0": "By using the URL Redirection to Untrusted Site vulnerability, an attacker can force users to access malicious sites, such as phishing sites.",
  "0.event.dacg_npm__ghost__lt_0_10_0__open_redirect.dacg.result.s5.o0": "As a result of the test, the URL Redirection to Untrusted Site vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ghost__lt_0_10_0__open_redirect.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ghost__lt_0_10_0__open_redirect.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ghost__lt_0_10_0__open_redirect.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ghost__lt_0_10_0__open_redirect.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ghost__lt_0_5_9__authentication_bypass.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ghost__lt_0_5_9__authentication_bypass.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ghost__lt_0_5_9__authentication_bypass.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ghost__lt_0_5_9__authentication_bypass.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ghost__lt_0_5_9__authentication_bypass.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ghost__lt_0_5_9__authentication_bypass.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ghost__lt_0_5_9__authentication_bypass.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ghost__lt_0_5_9__authentication_bypass.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ghost__lt_0_5_9__authentication_bypass.dacg.result.s2.o0": "The library is known to include the Authentication Bypass vulnerability.",
  "0.event.dacg_npm__ghost__lt_0_5_9__authentication_bypass.dacg.result.s3.o0": "Authentication bypass vulnerabilities can bypass a required authentication process.",
  "0.event.dacg_npm__ghost__lt_0_5_9__authentication_bypass.dacg.result.s4.o0": "Using the Authentication Bypass vulnerability, an attacker can access to and manipulation of limited information.",
  "0.event.dacg_npm__ghost__lt_0_5_9__authentication_bypass.dacg.result.s5.o0": "As a result of the test, the Authentication Bypass vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ghost__lt_0_5_9__authentication_bypass.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ghost__lt_0_5_9__authentication_bypass.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ghost__lt_0_5_9__authentication_bypass.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ghost__lt_0_5_9__authentication_bypass.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ghost__lt_0_5_9__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ghost__lt_0_5_9__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ghost__lt_0_5_9__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ghost__lt_0_5_9__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ghost__lt_0_5_9__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ghost__lt_0_5_9__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ghost__lt_0_5_9__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ghost__lt_0_5_9__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ghost__lt_0_5_9__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__ghost__lt_0_5_9__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__ghost__lt_0_5_9__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__ghost__lt_0_5_9__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ghost__lt_0_5_9__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ghost__lt_0_5_9__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ghost__lt_0_5_9__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ghost__lt_0_5_9__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ghost__lt_0_5_9__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ghost__lt_0_5_9__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ghost__lt_0_5_9__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ghost__lt_0_5_9__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ghost__lt_0_5_9__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ghost__lt_0_5_9__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ghost__lt_0_5_9__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ghost__lt_0_5_9__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ghost__lt_0_5_9__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__ghost__lt_0_5_9__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__ghost__lt_0_5_9__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__ghost__lt_0_5_9__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ghost__lt_0_5_9__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ghost__lt_0_5_9__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ghost__lt_0_5_9__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ghost__lt_0_5_9__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ghost__lt_0_5_9__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ghost__lt_0_5_9__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ghost__lt_0_5_9__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ghost__lt_0_5_9__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ghost__lt_0_5_9__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ghost__lt_0_5_9__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ghost__lt_0_5_9__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ghost__lt_0_5_9__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ghost__lt_0_5_9__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__ghost__lt_0_5_9__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__ghost__lt_0_5_9__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__ghost__lt_0_5_9__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ghost__lt_0_5_9__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ghost__lt_0_5_9__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ghost__lt_0_5_9__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ghost__lt_0_5_9__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__gifsicle__lt_1_90__1__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__gifsicle__lt_1_90__1__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__gifsicle__lt_1_90__1__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__gifsicle__lt_1_90__1__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__gifsicle__lt_1_90__1__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__gifsicle__lt_1_90__1__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__gifsicle__lt_1_90__1__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__gifsicle__lt_1_90__1__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__gifsicle__lt_1_90__1__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__gifsicle__lt_1_90__1__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__gifsicle__lt_1_90__1__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__gifsicle__lt_1_90__1__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__gifsicle__lt_1_90__1__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__gifsicle__lt_1_90__1__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__gifsicle__lt_1_90__1__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__gifsicle__lt_1_90__1__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__git_dummy_commit__command_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__git_dummy_commit__command_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__git_dummy_commit__command_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__git_dummy_commit__command_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__git_dummy_commit__command_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__git_dummy_commit__command_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__git_dummy_commit__command_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__git_dummy_commit__command_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__git_dummy_commit__command_injection.dacg.result.s2.o0": "The library is known to include the OS Command Injection vulnerability.",
  "0.event.dacg_npm__git_dummy_commit__command_injection.dacg.result.s3.o0": "The OS Command Injection vulnerability is caused by executing user commands without any verification process.",
  "0.event.dacg_npm__git_dummy_commit__command_injection.dacg.result.s4.o0": "Using the OS Command Injection vulnerability, an attacker can steal key information of the server and force to perform unintended behaviors.",
  "0.event.dacg_npm__git_dummy_commit__command_injection.dacg.result.s5.o0": "As a result of the test, the OS Command Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__git_dummy_commit__command_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__git_dummy_commit__command_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__git_dummy_commit__command_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__git_dummy_commit__command_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__git_ls_remote__lt_0_2_0__command_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__git_ls_remote__lt_0_2_0__command_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__git_ls_remote__lt_0_2_0__command_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__git_ls_remote__lt_0_2_0__command_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__git_ls_remote__lt_0_2_0__command_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__git_ls_remote__lt_0_2_0__command_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__git_ls_remote__lt_0_2_0__command_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__git_ls_remote__lt_0_2_0__command_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__git_ls_remote__lt_0_2_0__command_injection.dacg.result.s2.o0": "The library is known to include the OS Command Injection vulnerability.",
  "0.event.dacg_npm__git_ls_remote__lt_0_2_0__command_injection.dacg.result.s3.o0": "The OS Command Injection vulnerability is caused by executing user commands without any verification process.",
  "0.event.dacg_npm__git_ls_remote__lt_0_2_0__command_injection.dacg.result.s4.o0": "Using the OS Command Injection vulnerability, an attacker can steal key information of the server and force to perform unintended behaviors.",
  "0.event.dacg_npm__git_ls_remote__lt_0_2_0__command_injection.dacg.result.s5.o0": "As a result of the test, the OS Command Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__git_ls_remote__lt_0_2_0__command_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__git_ls_remote__lt_0_2_0__command_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__git_ls_remote__lt_0_2_0__command_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__git_ls_remote__lt_0_2_0__command_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__git_username__ge_0_5_1__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__git_username__ge_0_5_1__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__git_username__ge_0_5_1__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__git_username__ge_0_5_1__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__git_username__ge_0_5_1__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__git_username__ge_0_5_1__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__git_username__ge_0_5_1__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__git_username__ge_0_5_1__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__git_username__ge_0_5_1__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__git_username__ge_0_5_1__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__git_username__ge_0_5_1__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__git_username__ge_0_5_1__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__git_username__ge_0_5_1__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__git_username__ge_0_5_1__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__git_username__ge_0_5_1__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__git_username__ge_0_5_1__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__github_url_to_object__lt_4_0_4__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__github_url_to_object__lt_4_0_4__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__github_url_to_object__lt_4_0_4__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__github_url_to_object__lt_4_0_4__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__github_url_to_object__lt_4_0_4__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__github_url_to_object__lt_4_0_4__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__github_url_to_object__lt_4_0_4__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__github_url_to_object__lt_4_0_4__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__github_url_to_object__lt_4_0_4__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__github_url_to_object__lt_4_0_4__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__github_url_to_object__lt_4_0_4__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__github_url_to_object__lt_4_0_4__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__github_url_to_object__lt_4_0_4__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__github_url_to_object__lt_4_0_4__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__github_url_to_object__lt_4_0_4__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__github_url_to_object__lt_4_0_4__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__given_html_report__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__given_html_report__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__given_html_report__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__given_html_report__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__given_html_report__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__given_html_report__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__given_html_report__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__given_html_report__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__given_html_report__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__given_html_report__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__given_html_report__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__given_html_report__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__given_html_report__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__given_html_report__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__given_html_report__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__given_html_report__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__glance__lt_3_0_4__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__glance__lt_3_0_4__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__glance__lt_3_0_4__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__glance__lt_3_0_4__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__glance__lt_3_0_4__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__glance__lt_3_0_4__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__glance__lt_3_0_4__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__glance__lt_3_0_4__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__glance__lt_3_0_4__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__glance__lt_3_0_4__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__glance__lt_3_0_4__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__glance__lt_3_0_4__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__glance__lt_3_0_4__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__glance__lt_3_0_4__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__glance__lt_3_0_4__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__glance__lt_3_0_4__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__glance__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__glance__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__glance__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__glance__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__glance__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__glance__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__glance__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__glance__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__glance__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__glance__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__glance__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__glance__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__glance__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__glance__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__glance__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__glance__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__glurp__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__glurp__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__glurp__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__glurp__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__glurp__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__glurp__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__glurp__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__glurp__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__glurp__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__glurp__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__glurp__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__glurp__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__glurp__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__glurp__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__glurp__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__glurp__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__gm__le_1_20_0__command_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__gm__le_1_20_0__command_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__gm__le_1_20_0__command_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__gm__le_1_20_0__command_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__gm__le_1_20_0__command_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__gm__le_1_20_0__command_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__gm__le_1_20_0__command_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__gm__le_1_20_0__command_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__gm__le_1_20_0__command_injection.dacg.result.s2.o0": "The library is known to include the OS Command Injection vulnerability.",
  "0.event.dacg_npm__gm__le_1_20_0__command_injection.dacg.result.s3.o0": "The OS Command Injection vulnerability is caused by executing user commands without any verification process.",
  "0.event.dacg_npm__gm__le_1_20_0__command_injection.dacg.result.s4.o0": "Using the OS Command Injection vulnerability, an attacker can steal key information of the server and force to perform unintended behaviors.",
  "0.event.dacg_npm__gm__le_1_20_0__command_injection.dacg.result.s5.o0": "As a result of the test, the OS Command Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__gm__le_1_20_0__command_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__gm__le_1_20_0__command_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__gm__le_1_20_0__command_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__gm__le_1_20_0__command_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__gmail_js__lt_0_6_5__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__gmail_js__lt_0_6_5__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__gmail_js__lt_0_6_5__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__gmail_js__lt_0_6_5__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__gmail_js__lt_0_6_5__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__gmail_js__lt_0_6_5__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__gmail_js__lt_0_6_5__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__gmail_js__lt_0_6_5__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__gmail_js__lt_0_6_5__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__gmail_js__lt_0_6_5__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__gmail_js__lt_0_6_5__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__gmail_js__lt_0_6_5__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__gmail_js__lt_0_6_5__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__gmail_js__lt_0_6_5__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__gmail_js__lt_0_6_5__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__gmail_js__lt_0_6_5__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__go_ipfs_dep__lt_0_4_4__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__go_ipfs_dep__lt_0_4_4__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__go_ipfs_dep__lt_0_4_4__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__go_ipfs_dep__lt_0_4_4__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__go_ipfs_dep__lt_0_4_4__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__go_ipfs_dep__lt_0_4_4__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__go_ipfs_dep__lt_0_4_4__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__go_ipfs_dep__lt_0_4_4__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__go_ipfs_dep__lt_0_4_4__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__go_ipfs_dep__lt_0_4_4__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__go_ipfs_dep__lt_0_4_4__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__go_ipfs_dep__lt_0_4_4__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__go_ipfs_dep__lt_0_4_4__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__go_ipfs_dep__lt_0_4_4__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__go_ipfs_dep__lt_0_4_4__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__go_ipfs_dep__lt_0_4_4__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__gomeplus_h5_proxy__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__gomeplus_h5_proxy__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__gomeplus_h5_proxy__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__gomeplus_h5_proxy__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__gomeplus_h5_proxy__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__gomeplus_h5_proxy__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__gomeplus_h5_proxy__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__gomeplus_h5_proxy__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__gomeplus_h5_proxy__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__gomeplus_h5_proxy__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__gomeplus_h5_proxy__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__gomeplus_h5_proxy__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__gomeplus_h5_proxy__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__gomeplus_h5_proxy__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__gomeplus_h5_proxy__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__gomeplus_h5_proxy__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__google_closure_tools_latest__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__google_closure_tools_latest__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__google_closure_tools_latest__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__google_closure_tools_latest__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__google_closure_tools_latest__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__google_closure_tools_latest__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__google_closure_tools_latest__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__google_closure_tools_latest__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__google_closure_tools_latest__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__google_closure_tools_latest__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__google_closure_tools_latest__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__google_closure_tools_latest__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__google_closure_tools_latest__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__google_closure_tools_latest__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__google_closure_tools_latest__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__google_closure_tools_latest__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__goserv__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__goserv__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__goserv__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__goserv__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__goserv__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__goserv__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__goserv__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__goserv__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__goserv__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__goserv__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__goserv__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__goserv__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__goserv__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__goserv__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__goserv__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__goserv__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__growl__lt_1_10_0__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__growl__lt_1_10_0__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__growl__lt_1_10_0__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__growl__lt_1_10_0__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__growl__lt_1_10_0__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__growl__lt_1_10_0__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__growl__lt_1_10_0__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__growl__lt_1_10_0__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__growl__lt_1_10_0__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__growl__lt_1_10_0__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__growl__lt_1_10_0__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__growl__lt_1_10_0__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__growl__lt_1_10_0__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__growl__lt_1_10_0__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__growl__lt_1_10_0__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__growl__lt_1_10_0__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__grunt_ccompiler__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__grunt_ccompiler__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__grunt_ccompiler__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__grunt_ccompiler__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__grunt_ccompiler__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__grunt_ccompiler__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__grunt_ccompiler__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__grunt_ccompiler__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__grunt_ccompiler__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__grunt_ccompiler__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__grunt_ccompiler__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__grunt_ccompiler__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__grunt_ccompiler__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__grunt_ccompiler__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__grunt_ccompiler__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__grunt_ccompiler__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__grunt_fileserver__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__grunt_fileserver__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__grunt_fileserver__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__grunt_fileserver__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__grunt_fileserver__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__grunt_fileserver__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__grunt_fileserver__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__grunt_fileserver__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__grunt_fileserver__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__grunt_fileserver__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__grunt_fileserver__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__grunt_fileserver__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__grunt_fileserver__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__grunt_fileserver__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__grunt_fileserver__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__grunt_fileserver__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__grunt_gh_pages__le_0_9_1__information_exposure_through_log_files.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__grunt_gh_pages__le_0_9_1__information_exposure_through_log_files.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__grunt_gh_pages__le_0_9_1__information_exposure_through_log_files.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__grunt_gh_pages__le_0_9_1__information_exposure_through_log_files.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__grunt_gh_pages__le_0_9_1__information_exposure_through_log_files.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__grunt_gh_pages__le_0_9_1__information_exposure_through_log_files.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__grunt_gh_pages__le_0_9_1__information_exposure_through_log_files.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__grunt_gh_pages__le_0_9_1__information_exposure_through_log_files.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__grunt_gh_pages__le_0_9_1__information_exposure_through_log_files.dacg.result.s2.o0": "The library is known to include the Information Exposure Through Log Files vulnerability.",
  "0.event.dacg_npm__grunt_gh_pages__le_0_9_1__information_exposure_through_log_files.dacg.result.s3.o0": "The Information Exposure through Log Files vulnerability is caused by disclosing log files, which exposes sensitive information.",
  "0.event.dacg_npm__grunt_gh_pages__le_0_9_1__information_exposure_through_log_files.dacg.result.s4.o0": "Using the Information Exposure Through Log Files vulnerability, an attacker can access to or steal sensitive information.",
  "0.event.dacg_npm__grunt_gh_pages__le_0_9_1__information_exposure_through_log_files.dacg.result.s5.o0": "As a result of the test, the Information Exposure Through Log Files vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__grunt_gh_pages__le_0_9_1__information_exposure_through_log_files.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__grunt_gh_pages__le_0_9_1__information_exposure_through_log_files.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__grunt_gh_pages__le_0_9_1__information_exposure_through_log_files.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__grunt_gh_pages__le_0_9_1__information_exposure_through_log_files.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__grunt_images__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__grunt_images__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__grunt_images__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__grunt_images__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__grunt_images__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__grunt_images__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__grunt_images__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__grunt_images__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__grunt_images__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__grunt_images__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__grunt_images__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__grunt_images__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__grunt_images__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__grunt_images__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__grunt_images__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__grunt_images__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__grunt_serve__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__grunt_serve__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__grunt_serve__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__grunt_serve__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__grunt_serve__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__grunt_serve__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__grunt_serve__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__grunt_serve__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__grunt_serve__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__grunt_serve__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__grunt_serve__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__grunt_serve__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__grunt_serve__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__grunt_serve__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__grunt_serve__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__grunt_serve__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__grunt_webdriver_qunit__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__grunt_webdriver_qunit__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__grunt_webdriver_qunit__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__grunt_webdriver_qunit__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__grunt_webdriver_qunit__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__grunt_webdriver_qunit__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__grunt_webdriver_qunit__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__grunt_webdriver_qunit__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__grunt_webdriver_qunit__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__grunt_webdriver_qunit__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__grunt_webdriver_qunit__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__grunt_webdriver_qunit__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__grunt_webdriver_qunit__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__grunt_webdriver_qunit__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__grunt_webdriver_qunit__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__grunt_webdriver_qunit__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__gruntcli__le_1_0_2__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__gruntcli__le_1_0_2__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__gruntcli__le_1_0_2__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__gruntcli__le_1_0_2__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__gruntcli__le_1_0_2__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__gruntcli__le_1_0_2__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__gruntcli__le_1_0_2__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__gruntcli__le_1_0_2__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__gruntcli__le_1_0_2__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__gruntcli__le_1_0_2__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__gruntcli__le_1_0_2__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__gruntcli__le_1_0_2__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__gruntcli__le_1_0_2__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__gruntcli__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__gruntcli__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__gruntcli__le_1_0_2__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__guaycuru__lt_0_2_4__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__guaycuru__lt_0_2_4__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__guaycuru__lt_0_2_4__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__guaycuru__lt_0_2_4__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__guaycuru__lt_0_2_4__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__guaycuru__lt_0_2_4__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__guaycuru__lt_0_2_4__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__guaycuru__lt_0_2_4__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__guaycuru__lt_0_2_4__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__guaycuru__lt_0_2_4__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__guaycuru__lt_0_2_4__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__guaycuru__lt_0_2_4__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__guaycuru__lt_0_2_4__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__guaycuru__lt_0_2_4__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__guaycuru__lt_0_2_4__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__guaycuru__lt_0_2_4__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__gyfserver__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__gyfserver__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__gyfserver__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__gyfserver__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__gyfserver__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__gyfserver__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__gyfserver__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__gyfserver__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__gyfserver__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__gyfserver__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__gyfserver__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__gyfserver__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__gyfserver__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__gyfserver__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__gyfserver__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__gyfserver__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__handlebars__le_1_0_0_beta_3__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__handlebars__le_1_0_0_beta_3__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__handlebars__le_1_0_0_beta_3__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__handlebars__le_1_0_0_beta_3__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__handlebars__le_1_0_0_beta_3__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__handlebars__le_1_0_0_beta_3__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__handlebars__le_1_0_0_beta_3__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__handlebars__le_1_0_0_beta_3__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__handlebars__le_1_0_0_beta_3__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__handlebars__le_1_0_0_beta_3__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__handlebars__le_1_0_0_beta_3__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__handlebars__le_1_0_0_beta_3__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__handlebars__le_1_0_0_beta_3__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__handlebars__le_1_0_0_beta_3__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__handlebars__le_1_0_0_beta_3__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__handlebars__le_1_0_0_beta_3__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__handlebars__lt_4_0_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__handlebars__lt_4_0_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__handlebars__lt_4_0_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__handlebars__lt_4_0_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__handlebars__lt_4_0_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__handlebars__lt_4_0_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__handlebars__lt_4_0_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__handlebars__lt_4_0_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__handlebars__lt_4_0_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__handlebars__lt_4_0_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__handlebars__lt_4_0_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__handlebars__lt_4_0_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__handlebars__lt_4_0_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__handlebars__lt_4_0_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__handlebars__lt_4_0_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__handlebars__lt_4_0_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__hapi__eq_2_0__1__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__hapi__eq_2_0__1__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__hapi__eq_2_0__1__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__hapi__eq_2_0__1__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__hapi__eq_2_0__1__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__hapi__eq_2_0__1__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__hapi__eq_2_0__1__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__hapi__eq_2_0__1__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__hapi__eq_2_0__1__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__hapi__eq_2_0__1__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__hapi__eq_2_0__1__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__hapi__eq_2_0__1__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__hapi__eq_2_0__1__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__hapi__eq_2_0__1__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__hapi__eq_2_0__1__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__hapi__eq_2_0__1__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__hapi__eq_2_1__1__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__hapi__eq_2_1__1__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__hapi__eq_2_1__1__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__hapi__eq_2_1__1__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__hapi__eq_2_1__1__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__hapi__eq_2_1__1__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__hapi__eq_2_1__1__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__hapi__eq_2_1__1__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__hapi__eq_2_1__1__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__hapi__eq_2_1__1__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__hapi__eq_2_1__1__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__hapi__eq_2_1__1__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__hapi__eq_2_1__1__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__hapi__eq_2_1__1__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__hapi__eq_2_1__1__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__hapi__eq_2_1__1__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__hapi__ge_15_0_0_lt_16_1_1__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__hapi__ge_15_0_0_lt_16_1_1__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__hapi__ge_15_0_0_lt_16_1_1__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__hapi__ge_15_0_0_lt_16_1_1__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__hapi__ge_15_0_0_lt_16_1_1__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__hapi__ge_15_0_0_lt_16_1_1__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__hapi__ge_15_0_0_lt_16_1_1__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__hapi__ge_15_0_0_lt_16_1_1__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__hapi__ge_15_0_0_lt_16_1_1__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__hapi__ge_15_0_0_lt_16_1_1__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__hapi__ge_15_0_0_lt_16_1_1__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__hapi__ge_15_0_0_lt_16_1_1__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__hapi__ge_15_0_0_lt_16_1_1__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__hapi__ge_15_0_0_lt_16_1_1__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__hapi__ge_15_0_0_lt_16_1_1__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__hapi__ge_15_0_0_lt_16_1_1__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__hapi__lt_0_16_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__hapi__lt_0_16_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__hapi__lt_0_16_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__hapi__lt_0_16_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__hapi__lt_0_16_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__hapi__lt_0_16_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__hapi__lt_0_16_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__hapi__lt_0_16_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__hapi__lt_0_16_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__hapi__lt_0_16_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__hapi__lt_0_16_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__hapi__lt_0_16_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__hapi__lt_0_16_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__hapi__lt_0_16_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__hapi__lt_0_16_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__hapi__lt_0_16_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__hapi__lt_11_0_0__cors_bypass.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__hapi__lt_11_0_0__cors_bypass.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__hapi__lt_11_0_0__cors_bypass.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__hapi__lt_11_0_0__cors_bypass.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__hapi__lt_11_0_0__cors_bypass.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__hapi__lt_11_0_0__cors_bypass.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__hapi__lt_11_0_0__cors_bypass.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__hapi__lt_11_0_0__cors_bypass.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__hapi__lt_11_0_0__cors_bypass.dacg.result.s2.o0": "The library is known to include the CORS Bypass vulnerability.",
  "0.event.dacg_npm__hapi__lt_11_0_0__cors_bypass.dacg.result.s3.o0": "The Cross-Origin Resource Sharing (CORS) Policy bypassing vulnerability is caused by bypassing Cross-Origin Resource Sharing (CORS) policy.",
  "0.event.dacg_npm__hapi__lt_11_0_0__cors_bypass.dacg.result.s4.o0": "Using the CORS Bypass vulnerability, an attacker can insert dangerous code by bypassing cross-origin resource sharing policy.",
  "0.event.dacg_npm__hapi__lt_11_0_0__cors_bypass.dacg.result.s5.o0": "As a result of the test, the CORS Bypass vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__hapi__lt_11_0_0__cors_bypass.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__hapi__lt_11_0_0__cors_bypass.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__hapi__lt_11_0_0__cors_bypass.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__hapi__lt_11_0_0__cors_bypass.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__hapi__lt_11_1_3__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__hapi__lt_11_1_3__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__hapi__lt_11_1_3__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__hapi__lt_11_1_3__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__hapi__lt_11_1_3__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__hapi__lt_11_1_3__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__hapi__lt_11_1_3__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__hapi__lt_11_1_3__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__hapi__lt_11_1_3__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__hapi__lt_11_1_3__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__hapi__lt_11_1_3__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__hapi__lt_11_1_3__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__hapi__lt_11_1_3__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__hapi__lt_11_1_3__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__hapi__lt_11_1_3__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__hapi__lt_11_1_3__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__hapi__lt_11_1_4__improperly_implemented_security_check_for_standard.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__hapi__lt_11_1_4__improperly_implemented_security_check_for_standard.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__hapi__lt_11_1_4__improperly_implemented_security_check_for_standard.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__hapi__lt_11_1_4__improperly_implemented_security_check_for_standard.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__hapi__lt_11_1_4__improperly_implemented_security_check_for_standard.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__hapi__lt_11_1_4__improperly_implemented_security_check_for_standard.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__hapi__lt_11_1_4__improperly_implemented_security_check_for_standard.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__hapi__lt_11_1_4__improperly_implemented_security_check_for_standard.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__hapi__lt_11_1_4__improperly_implemented_security_check_for_standard.dacg.result.s2.o0": "The library is known to include the Improperly Implemented Security Check for Standard vulnerability.",
  "0.event.dacg_npm__hapi__lt_11_1_4__improperly_implemented_security_check_for_standard.dacg.result.s3.o0": "The Implemented Security Check for Standards vulnerability is caused by implementing improper security-related logics for standard algorithms, protocols, and technical designs.",
  "0.event.dacg_npm__hapi__lt_11_1_4__improperly_implemented_security_check_for_standard.dacg.result.s4.o0": "Using the Improperly Implemented Security Check for Standard vulnerability, an attacker can access to or steal sensitive information, force abnormal actions on a server, and bypass authentication or authorization.",
  "0.event.dacg_npm__hapi__lt_11_1_4__improperly_implemented_security_check_for_standard.dacg.result.s5.o0": "As a result of the test, the Improperly Implemented Security Check for Standard vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__hapi__lt_11_1_4__improperly_implemented_security_check_for_standard.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__hapi__lt_11_1_4__improperly_implemented_security_check_for_standard.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__hapi__lt_11_1_4__improperly_implemented_security_check_for_standard.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__hapi__lt_11_1_4__improperly_implemented_security_check_for_standard.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__hapi__lt_6_1_0__jsonp_callback.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__hapi__lt_6_1_0__jsonp_callback.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__hapi__lt_6_1_0__jsonp_callback.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__hapi__lt_6_1_0__jsonp_callback.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__hapi__lt_6_1_0__jsonp_callback.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__hapi__lt_6_1_0__jsonp_callback.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__hapi__lt_6_1_0__jsonp_callback.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__hapi__lt_6_1_0__jsonp_callback.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__hapi__lt_6_1_0__jsonp_callback.dacg.result.s2.o0": "The library is known to include the JSONP Callback vulnerability.",
  "0.event.dacg_npm__hapi__lt_6_1_0__jsonp_callback.dacg.result.s3.o0": "The JSONP Callback vulnerability is caused by using a JSONP callback to gain an access permission to a user's browser or JavaScript contexts.",
  "0.event.dacg_npm__hapi__lt_6_1_0__jsonp_callback.dacg.result.s4.o0": "Using the JSONP Callback vulnerability, an attacker can steal and manipulate user information (such as session, cookie).",
  "0.event.dacg_npm__hapi__lt_6_1_0__jsonp_callback.dacg.result.s5.o0": "As a result of the test, the JSONP Callback vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__hapi__lt_6_1_0__jsonp_callback.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__hapi__lt_6_1_0__jsonp_callback.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__hapi__lt_6_1_0__jsonp_callback.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__hapi__lt_6_1_0__jsonp_callback.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__hapi_auth_jwt2__eq_5_1_1__authentication_bypass.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__hapi_auth_jwt2__eq_5_1_1__authentication_bypass.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__hapi_auth_jwt2__eq_5_1_1__authentication_bypass.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__hapi_auth_jwt2__eq_5_1_1__authentication_bypass.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__hapi_auth_jwt2__eq_5_1_1__authentication_bypass.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__hapi_auth_jwt2__eq_5_1_1__authentication_bypass.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__hapi_auth_jwt2__eq_5_1_1__authentication_bypass.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__hapi_auth_jwt2__eq_5_1_1__authentication_bypass.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__hapi_auth_jwt2__eq_5_1_1__authentication_bypass.dacg.result.s2.o0": "The library is known to include the Authentication Bypass vulnerability.",
  "0.event.dacg_npm__hapi_auth_jwt2__eq_5_1_1__authentication_bypass.dacg.result.s3.o0": "Authentication bypass vulnerabilities can bypass a required authentication process.",
  "0.event.dacg_npm__hapi_auth_jwt2__eq_5_1_1__authentication_bypass.dacg.result.s4.o0": "Using the Authentication Bypass vulnerability, an attacker can access to and manipulation of limited information.",
  "0.event.dacg_npm__hapi_auth_jwt2__eq_5_1_1__authentication_bypass.dacg.result.s5.o0": "As a result of the test, the Authentication Bypass vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__hapi_auth_jwt2__eq_5_1_1__authentication_bypass.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__hapi_auth_jwt2__eq_5_1_1__authentication_bypass.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__hapi_auth_jwt2__eq_5_1_1__authentication_bypass.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__hapi_auth_jwt2__eq_5_1_1__authentication_bypass.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__haraka__lt_2_8_19__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__haraka__lt_2_8_19__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__haraka__lt_2_8_19__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__haraka__lt_2_8_19__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__haraka__lt_2_8_19__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__haraka__lt_2_8_19__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__haraka__lt_2_8_19__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__haraka__lt_2_8_19__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__haraka__lt_2_8_19__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__haraka__lt_2_8_19__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__haraka__lt_2_8_19__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__haraka__lt_2_8_19__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__haraka__lt_2_8_19__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__haraka__lt_2_8_19__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__haraka__lt_2_8_19__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__haraka__lt_2_8_19__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__harb__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__harb__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__harb__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__harb__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__harb__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__harb__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__harb__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__harb__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__harb__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__harb__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__harb__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__harb__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__harb__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__harb__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__harb__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__harb__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__harmlesspackage__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__harmlesspackage__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__harmlesspackage__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__harmlesspackage__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__harmlesspackage__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__harmlesspackage__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__harmlesspackage__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__harmlesspackage__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__harmlesspackage__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__harmlesspackage__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__harmlesspackage__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__harmlesspackage__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__harmlesspackage__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__harmlesspackage__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__harmlesspackage__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__harmlesspackage__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__hawk__ge_4_0_0_lt_4_1_1__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__hawk__ge_4_0_0_lt_4_1_1__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__hawk__ge_4_0_0_lt_4_1_1__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__hawk__ge_4_0_0_lt_4_1_1__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__hawk__ge_4_0_0_lt_4_1_1__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__hawk__ge_4_0_0_lt_4_1_1__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__hawk__ge_4_0_0_lt_4_1_1__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__hawk__ge_4_0_0_lt_4_1_1__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__hawk__ge_4_0_0_lt_4_1_1__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__hawk__ge_4_0_0_lt_4_1_1__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__hawk__ge_4_0_0_lt_4_1_1__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__hawk__ge_4_0_0_lt_4_1_1__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__hawk__ge_4_0_0_lt_4_1_1__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__hawk__ge_4_0_0_lt_4_1_1__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__hawk__ge_4_0_0_lt_4_1_1__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__hawk__ge_4_0_0_lt_4_1_1__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__hawk__le_3_1_2__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__hawk__le_3_1_2__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__hawk__le_3_1_2__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__hawk__le_3_1_2__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__hawk__le_3_1_2__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__hawk__le_3_1_2__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__hawk__le_3_1_2__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__hawk__le_3_1_2__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__hawk__le_3_1_2__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__hawk__le_3_1_2__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__hawk__le_3_1_2__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__hawk__le_3_1_2__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__hawk__le_3_1_2__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__hawk__le_3_1_2__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__hawk__le_3_1_2__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__hawk__le_3_1_2__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__haxe3__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__haxe3__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__haxe3__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__haxe3__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__haxe3__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__haxe3__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__haxe3__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__haxe3__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__haxe3__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__haxe3__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__haxe3__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__haxe3__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__haxe3__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__haxe3__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__haxe3__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__haxe3__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__haxe__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__haxe__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__haxe__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__haxe__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__haxe__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__haxe__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__haxe__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__haxe__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__haxe__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__haxe__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__haxe__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__haxe__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__haxe__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__haxe__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__haxe__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__haxe__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__haxe_dev__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__haxe_dev__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__haxe_dev__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__haxe_dev__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__haxe_dev__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__haxe_dev__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__haxe_dev__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__haxe_dev__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__haxe_dev__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__haxe_dev__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__haxe_dev__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__haxe_dev__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__haxe_dev__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__haxe_dev__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__haxe_dev__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__haxe_dev__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__haxeshim__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__haxeshim__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__haxeshim__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__haxeshim__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__haxeshim__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__haxeshim__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__haxeshim__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__haxeshim__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__haxeshim__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__haxeshim__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__haxeshim__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__haxeshim__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__haxeshim__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__haxeshim__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__haxeshim__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__haxeshim__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__hcbserver__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__hcbserver__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__hcbserver__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__hcbserver__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__hcbserver__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__hcbserver__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__hcbserver__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__hcbserver__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__hcbserver__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__hcbserver__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__hcbserver__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__hcbserver__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__hcbserver__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__hcbserver__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__hcbserver__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__hcbserver__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__hdsdhhksjd__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__hdsdhhksjd__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__hdsdhhksjd__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__hdsdhhksjd__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__hdsdhhksjd__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__hdsdhhksjd__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__hdsdhhksjd__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__hdsdhhksjd__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__hdsdhhksjd__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__hdsdhhksjd__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__hdsdhhksjd__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__hdsdhhksjd__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__hdsdhhksjd__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__hdsdhhksjd__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__hdsdhhksjd__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__hdsdhhksjd__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__headless_browser_lite__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__headless_browser_lite__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__headless_browser_lite__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__headless_browser_lite__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__headless_browser_lite__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__headless_browser_lite__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__headless_browser_lite__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__headless_browser_lite__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__headless_browser_lite__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__headless_browser_lite__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__headless_browser_lite__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__headless_browser_lite__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__headless_browser_lite__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__headless_browser_lite__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__headless_browser_lite__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__headless_browser_lite__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__healthcenter__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__healthcenter__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__healthcenter__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__healthcenter__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__healthcenter__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__healthcenter__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__healthcenter__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__healthcenter__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__healthcenter__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__healthcenter__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__healthcenter__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__healthcenter__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__healthcenter__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__healthcenter__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__healthcenter__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__healthcenter__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__hechatroom__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__hechatroom__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__hechatroom__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__hechatroom__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__hechatroom__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__hechatroom__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__hechatroom__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__hechatroom__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__hechatroom__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__hechatroom__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__hechatroom__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__hechatroom__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__hechatroom__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__hechatroom__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__hechatroom__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__hechatroom__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__hekto__lt_0_2_3__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__hekto__lt_0_2_3__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__hekto__lt_0_2_3__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__hekto__lt_0_2_3__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__hekto__lt_0_2_3__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__hekto__lt_0_2_3__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__hekto__lt_0_2_3__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__hekto__lt_0_2_3__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__hekto__lt_0_2_3__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__hekto__lt_0_2_3__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__hekto__lt_0_2_3__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__hekto__lt_0_2_3__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__hekto__lt_0_2_3__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__hekto__lt_0_2_3__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__hekto__lt_0_2_3__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__hekto__lt_0_2_3__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__hekto__lt_0_2_4__open_redirect.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__hekto__lt_0_2_4__open_redirect.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__hekto__lt_0_2_4__open_redirect.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__hekto__lt_0_2_4__open_redirect.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__hekto__lt_0_2_4__open_redirect.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__hekto__lt_0_2_4__open_redirect.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__hekto__lt_0_2_4__open_redirect.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__hekto__lt_0_2_4__open_redirect.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__hekto__lt_0_2_4__open_redirect.dacg.result.s2.o0": "The library is known to include the URL Redirection to Untrusted Site vulnerability.",
  "0.event.dacg_npm__hekto__lt_0_2_4__open_redirect.dacg.result.s3.o0": "The URL Redirection to Untrusted Site vulnerability is caused by using unreliable user inputs to construct URLs and perform a redirection to them.",
  "0.event.dacg_npm__hekto__lt_0_2_4__open_redirect.dacg.result.s4.o0": "By using the URL Redirection to Untrusted Site vulnerability, an attacker can force users to access malicious sites, such as phishing sites.",
  "0.event.dacg_npm__hekto__lt_0_2_4__open_redirect.dacg.result.s5.o0": "As a result of the test, the URL Redirection to Untrusted Site vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__hekto__lt_0_2_4__open_redirect.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__hekto__lt_0_2_4__open_redirect.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__hekto__lt_0_2_4__open_redirect.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__hekto__lt_0_2_4__open_redirect.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__herbivore__le_0_0_3__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__herbivore__le_0_0_3__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__herbivore__le_0_0_3__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__herbivore__le_0_0_3__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__herbivore__le_0_0_3__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__herbivore__le_0_0_3__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__herbivore__le_0_0_3__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__herbivore__le_0_0_3__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__herbivore__le_0_0_3__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__herbivore__le_0_0_3__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__herbivore__le_0_0_3__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__herbivore__le_0_0_3__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__herbivore__le_0_0_3__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__herbivore__le_0_0_3__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__herbivore__le_0_0_3__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__herbivore__le_0_0_3__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__hexo_editor__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__hexo_editor__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__hexo_editor__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__hexo_editor__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__hexo_editor__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__hexo_editor__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__hexo_editor__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__hexo_editor__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__hexo_editor__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__hexo_editor__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__hexo_editor__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__hexo_editor__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__hexo_editor__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__hexo_editor__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__hexo_editor__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__hexo_editor__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__hftp__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__hftp__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__hftp__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__hftp__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__hftp__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__hftp__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__hftp__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__hftp__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__hftp__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__hftp__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__hftp__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__hftp__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__hftp__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__hftp__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__hftp__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__hftp__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__highcharts__lt_6_1_0__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__highcharts__lt_6_1_0__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__highcharts__lt_6_1_0__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__highcharts__lt_6_1_0__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__highcharts__lt_6_1_0__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__highcharts__lt_6_1_0__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__highcharts__lt_6_1_0__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__highcharts__lt_6_1_0__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__highcharts__lt_6_1_0__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__highcharts__lt_6_1_0__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__highcharts__lt_6_1_0__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__highcharts__lt_6_1_0__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__highcharts__lt_6_1_0__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__highcharts__lt_6_1_0__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__highcharts__lt_6_1_0__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__highcharts__lt_6_1_0__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__hoek__ge_5_0_0_lt_5_0_3__prototype_pollution.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__hoek__ge_5_0_0_lt_5_0_3__prototype_pollution.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__hoek__ge_5_0_0_lt_5_0_3__prototype_pollution.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__hoek__ge_5_0_0_lt_5_0_3__prototype_pollution.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__hoek__ge_5_0_0_lt_5_0_3__prototype_pollution.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__hoek__ge_5_0_0_lt_5_0_3__prototype_pollution.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__hoek__ge_5_0_0_lt_5_0_3__prototype_pollution.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__hoek__ge_5_0_0_lt_5_0_3__prototype_pollution.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__hoek__ge_5_0_0_lt_5_0_3__prototype_pollution.dacg.result.s2.o0": "The library is known to include the Prototype Pollution vulnerability.",
  "0.event.dacg_npm__hoek__ge_5_0_0_lt_5_0_3__prototype_pollution.dacg.result.s3.o0": "The Prototype Pollution vulnerability is caused by manipulating prototypes of JavaScript objects.",
  "0.event.dacg_npm__hoek__ge_5_0_0_lt_5_0_3__prototype_pollution.dacg.result.s4.o0": "Using the Prototype Pollution vulnerability, an attacker can modify and capture property information for all objects.",
  "0.event.dacg_npm__hoek__ge_5_0_0_lt_5_0_3__prototype_pollution.dacg.result.s5.o0": "As a result of the test, the Prototype Pollution vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__hoek__ge_5_0_0_lt_5_0_3__prototype_pollution.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__hoek__ge_5_0_0_lt_5_0_3__prototype_pollution.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__hoek__ge_5_0_0_lt_5_0_3__prototype_pollution.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__hoek__ge_5_0_0_lt_5_0_3__prototype_pollution.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__hoek__lt_0_7_3__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__hoek__lt_0_7_3__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__hoek__lt_0_7_3__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__hoek__lt_0_7_3__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__hoek__lt_0_7_3__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__hoek__lt_0_7_3__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__hoek__lt_0_7_3__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__hoek__lt_0_7_3__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__hoek__lt_0_7_3__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__hoek__lt_0_7_3__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__hoek__lt_0_7_3__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__hoek__lt_0_7_3__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__hoek__lt_0_7_3__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__hoek__lt_0_7_3__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__hoek__lt_0_7_3__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__hoek__lt_0_7_3__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__hoek__lt_4_2_1__prototype_pollution.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__hoek__lt_4_2_1__prototype_pollution.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__hoek__lt_4_2_1__prototype_pollution.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__hoek__lt_4_2_1__prototype_pollution.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__hoek__lt_4_2_1__prototype_pollution.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__hoek__lt_4_2_1__prototype_pollution.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__hoek__lt_4_2_1__prototype_pollution.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__hoek__lt_4_2_1__prototype_pollution.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__hoek__lt_4_2_1__prototype_pollution.dacg.result.s2.o0": "The library is known to include the Prototype Pollution vulnerability.",
  "0.event.dacg_npm__hoek__lt_4_2_1__prototype_pollution.dacg.result.s3.o0": "The Prototype Pollution vulnerability is caused by manipulating prototypes of JavaScript objects.",
  "0.event.dacg_npm__hoek__lt_4_2_1__prototype_pollution.dacg.result.s4.o0": "Using the Prototype Pollution vulnerability, an attacker can modify and capture property information for all objects.",
  "0.event.dacg_npm__hoek__lt_4_2_1__prototype_pollution.dacg.result.s5.o0": "As a result of the test, the Prototype Pollution vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__hoek__lt_4_2_1__prototype_pollution.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__hoek__lt_4_2_1__prototype_pollution.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__hoek__lt_4_2_1__prototype_pollution.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__hoek__lt_4_2_1__prototype_pollution.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__hooka_tools__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__hooka_tools__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__hooka_tools__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__hooka_tools__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__hooka_tools__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__hooka_tools__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__hooka_tools__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__hooka_tools__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__hooka_tools__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__hooka_tools__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__hooka_tools__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__hooka_tools__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__hooka_tools__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__hooka_tools__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__hooka_tools__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__hooka_tools__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__hostr__lt_2_3_6__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__hostr__lt_2_3_6__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__hostr__lt_2_3_6__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__hostr__lt_2_3_6__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__hostr__lt_2_3_6__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__hostr__lt_2_3_6__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__hostr__lt_2_3_6__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__hostr__lt_2_3_6__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__hostr__lt_2_3_6__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__hostr__lt_2_3_6__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__hostr__lt_2_3_6__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__hostr__lt_2_3_6__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__hostr__lt_2_3_6__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__hostr__lt_2_3_6__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__hostr__lt_2_3_6__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__hostr__lt_2_3_6__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__hotel__mitm.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__hotel__mitm.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__hotel__mitm.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__hotel__mitm.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__hotel__mitm.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__hotel__mitm.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__hotel__mitm.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__hotel__mitm.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__hotel__mitm.dacg.result.s2.o0": "The library is known to include the Man in the Middle (MitM) vulnerability.",
  "0.event.dacg_npm__hotel__mitm.dacg.result.s3.o0": "The Man in the Middle (MitM) vulnerability is caused by stealing external network communications.",
  "0.event.dacg_npm__hotel__mitm.dacg.result.s4.o0": "Using the MitM vulnerability, an attacker can eavesdrop or manipulate communication.",
  "0.event.dacg_npm__hotel__mitm.dacg.result.s5.o0": "As a result of the test, the Man in the Middle (MitM) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__hotel__mitm.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__hotel__mitm.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__hotel__mitm.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__hotel__mitm.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__hserver_static__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__hserver_static__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__hserver_static__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__hserver_static__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__hserver_static__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__hserver_static__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__hserver_static__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__hserver_static__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__hserver_static__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__hserver_static__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__hserver_static__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__hserver_static__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__hserver_static__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__hserver_static__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__hserver_static__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__hserver_static__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__html_dom_parser__lt_1_4_0__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__html_dom_parser__lt_1_4_0__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__html_dom_parser__lt_1_4_0__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__html_dom_parser__lt_1_4_0__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__html_dom_parser__lt_1_4_0__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__html_dom_parser__lt_1_4_0__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__html_dom_parser__lt_1_4_0__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__html_dom_parser__lt_1_4_0__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__html_dom_parser__lt_1_4_0__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__html_dom_parser__lt_1_4_0__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__html_dom_parser__lt_1_4_0__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__html_dom_parser__lt_1_4_0__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__html_dom_parser__lt_1_4_0__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__html_dom_parser__lt_1_4_0__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__html_dom_parser__lt_1_4_0__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__html_dom_parser__lt_1_4_0__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__html_pages__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__html_pages__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__html_pages__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__html_pages__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__html_pages__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__html_pages__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__html_pages__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__html_pages__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__html_pages__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__html_pages__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__html_pages__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__html_pages__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__html_pages__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__html_pages__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__html_pages__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__html_pages__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__html_pages__lt_2_1_0__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__html_pages__lt_2_1_0__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__html_pages__lt_2_1_0__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__html_pages__lt_2_1_0__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__html_pages__lt_2_1_0__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__html_pages__lt_2_1_0__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__html_pages__lt_2_1_0__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__html_pages__lt_2_1_0__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__html_pages__lt_2_1_0__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__html_pages__lt_2_1_0__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__html_pages__lt_2_1_0__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__html_pages__lt_2_1_0__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__html_pages__lt_2_1_0__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__html_pages__lt_2_1_0__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__html_pages__lt_2_1_0__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__html_pages__lt_2_1_0__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__htmllint__lt_0_7_2__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__htmllint__lt_0_7_2__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__htmllint__lt_0_7_2__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__htmllint__lt_0_7_2__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__htmllint__lt_0_7_2__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__htmllint__lt_0_7_2__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__htmllint__lt_0_7_2__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__htmllint__lt_0_7_2__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__htmllint__lt_0_7_2__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__htmllint__lt_0_7_2__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__htmllint__lt_0_7_2__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__htmllint__lt_0_7_2__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__htmllint__lt_0_7_2__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__htmllint__lt_0_7_2__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__htmllint__lt_0_7_2__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__htmllint__lt_0_7_2__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__http_fetch_cookies__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__http_fetch_cookies__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__http_fetch_cookies__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__http_fetch_cookies__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__http_fetch_cookies__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__http_fetch_cookies__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__http_fetch_cookies__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__http_fetch_cookies__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__http_fetch_cookies__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__http_fetch_cookies__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__http_fetch_cookies__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__http_fetch_cookies__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__http_fetch_cookies__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__http_fetch_cookies__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__http_fetch_cookies__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__http_fetch_cookies__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__http_proxy__lt_0_7_0__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__http_proxy__lt_0_7_0__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__http_proxy__lt_0_7_0__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__http_proxy__lt_0_7_0__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__http_proxy__lt_0_7_0__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__http_proxy__lt_0_7_0__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__http_proxy__lt_0_7_0__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__http_proxy__lt_0_7_0__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__http_proxy__lt_0_7_0__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__http_proxy__lt_0_7_0__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__http_proxy__lt_0_7_0__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__http_proxy__lt_0_7_0__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__http_proxy__lt_0_7_0__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__http_proxy__lt_0_7_0__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__http_proxy__lt_0_7_0__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__http_proxy__lt_0_7_0__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__http_proxy_agent__lt_2_0_0__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__http_proxy_agent__lt_2_0_0__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__http_proxy_agent__lt_2_0_0__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__http_proxy_agent__lt_2_0_0__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__http_proxy_agent__lt_2_0_0__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__http_proxy_agent__lt_2_0_0__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__http_proxy_agent__lt_2_0_0__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__http_proxy_agent__lt_2_0_0__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__http_proxy_agent__lt_2_0_0__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__http_proxy_agent__lt_2_0_0__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__http_proxy_agent__lt_2_0_0__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__http_proxy_agent__lt_2_0_0__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__http_proxy_agent__lt_2_0_0__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__http_proxy_agent__lt_2_0_0__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__http_proxy_agent__lt_2_0_0__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__http_proxy_agent__lt_2_0_0__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__http_proxy_js__le_1_0_2__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__http_proxy_js__le_1_0_2__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__http_proxy_js__le_1_0_2__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__http_proxy_js__le_1_0_2__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__http_proxy_js__le_1_0_2__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__http_proxy_js__le_1_0_2__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__http_proxy_js__le_1_0_2__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__http_proxy_js__le_1_0_2__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__http_proxy_js__le_1_0_2__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__http_proxy_js__le_1_0_2__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__http_proxy_js__le_1_0_2__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__http_proxy_js__le_1_0_2__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__http_proxy_js__le_1_0_2__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__http_proxy_js__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__http_proxy_js__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__http_proxy_js__le_1_0_2__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__http_signature__ge_0_9_0_lt_0_10_0__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__http_signature__ge_0_9_0_lt_0_10_0__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__http_signature__ge_0_9_0_lt_0_10_0__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__http_signature__ge_0_9_0_lt_0_10_0__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__http_signature__ge_0_9_0_lt_0_10_0__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__http_signature__ge_0_9_0_lt_0_10_0__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__http_signature__ge_0_9_0_lt_0_10_0__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__http_signature__ge_0_9_0_lt_0_10_0__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__http_signature__ge_0_9_0_lt_0_10_0__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__http_signature__ge_0_9_0_lt_0_10_0__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__http_signature__ge_0_9_0_lt_0_10_0__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__http_signature__ge_0_9_0_lt_0_10_0__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__http_signature__ge_0_9_0_lt_0_10_0__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__http_signature__ge_0_9_0_lt_0_10_0__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__http_signature__ge_0_9_0_lt_0_10_0__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__http_signature__ge_0_9_0_lt_0_10_0__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__http_signature__lt_1_0_0__timing_attack.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__http_signature__lt_1_0_0__timing_attack.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__http_signature__lt_1_0_0__timing_attack.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__http_signature__lt_1_0_0__timing_attack.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__http_signature__lt_1_0_0__timing_attack.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__http_signature__lt_1_0_0__timing_attack.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__http_signature__lt_1_0_0__timing_attack.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__http_signature__lt_1_0_0__timing_attack.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__http_signature__lt_1_0_0__timing_attack.dacg.result.s2.o0": "The library is known to include the Timing Attack vulnerability.",
  "0.event.dacg_npm__http_signature__lt_1_0_0__timing_attack.dacg.result.s3.o0": "The Timing Attack vulnerability causes comparisons to be stopped as soon as different part is found in the comparisons such as strings.",
  "0.event.dacg_npm__http_signature__lt_1_0_0__timing_attack.dacg.result.s4.o0": "An attacker can use Timing Attack vulnerability to calculate spending times, and estimate sensitive information such as passwords.",
  "0.event.dacg_npm__http_signature__lt_1_0_0__timing_attack.dacg.result.s5.o0": "As a result of the test, the Timing Attack vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__http_signature__lt_1_0_0__timing_attack.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__http_signature__lt_1_0_0__timing_attack.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__http_signature__lt_1_0_0__timing_attack.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__http_signature__lt_1_0_0__timing_attack.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__http_static_simple__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__http_static_simple__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__http_static_simple__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__http_static_simple__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__http_static_simple__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__http_static_simple__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__http_static_simple__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__http_static_simple__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__http_static_simple__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__http_static_simple__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__http_static_simple__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__http_static_simple__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__http_static_simple__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__http_static_simple__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__http_static_simple__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__http_static_simple__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__httpea__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__httpea__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__httpea__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__httpea__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__httpea__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__httpea__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__httpea__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__httpea__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__httpea__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__httpea__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__httpea__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__httpea__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__httpea__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__httpea__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__httpea__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__httpea__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__https_proxy_agent__lt_2_2_0__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__https_proxy_agent__lt_2_2_0__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__https_proxy_agent__lt_2_2_0__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__https_proxy_agent__lt_2_2_0__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__https_proxy_agent__lt_2_2_0__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__https_proxy_agent__lt_2_2_0__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__https_proxy_agent__lt_2_2_0__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__https_proxy_agent__lt_2_2_0__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__https_proxy_agent__lt_2_2_0__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__https_proxy_agent__lt_2_2_0__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__https_proxy_agent__lt_2_2_0__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__https_proxy_agent__lt_2_2_0__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__https_proxy_agent__lt_2_2_0__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__https_proxy_agent__lt_2_2_0__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__https_proxy_agent__lt_2_2_0__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__https_proxy_agent__lt_2_2_0__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__httpsync__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__httpsync__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__httpsync__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__httpsync__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__httpsync__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__httpsync__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__httpsync__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__httpsync__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__httpsync__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__httpsync__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__httpsync__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__httpsync__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__httpsync__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__httpsync__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__httpsync__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__httpsync__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__hubl_server__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__hubl_server__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__hubl_server__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__hubl_server__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__hubl_server__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__hubl_server__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__hubl_server__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__hubl_server__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__hubl_server__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__hubl_server__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__hubl_server__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__hubl_server__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__hubl_server__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__hubl_server__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__hubl_server__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__hubl_server__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__hubot_scripts__le_2_4_3__command_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__hubot_scripts__le_2_4_3__command_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__hubot_scripts__le_2_4_3__command_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__hubot_scripts__le_2_4_3__command_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__hubot_scripts__le_2_4_3__command_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__hubot_scripts__le_2_4_3__command_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__hubot_scripts__le_2_4_3__command_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__hubot_scripts__le_2_4_3__command_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__hubot_scripts__le_2_4_3__command_injection.dacg.result.s2.o0": "The library is known to include the OS Command Injection vulnerability.",
  "0.event.dacg_npm__hubot_scripts__le_2_4_3__command_injection.dacg.result.s3.o0": "The OS Command Injection vulnerability is caused by executing user commands without any verification process.",
  "0.event.dacg_npm__hubot_scripts__le_2_4_3__command_injection.dacg.result.s4.o0": "Using the OS Command Injection vulnerability, an attacker can steal key information of the server and force to perform unintended behaviors.",
  "0.event.dacg_npm__hubot_scripts__le_2_4_3__command_injection.dacg.result.s5.o0": "As a result of the test, the OS Command Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__hubot_scripts__le_2_4_3__command_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__hubot_scripts__le_2_4_3__command_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__hubot_scripts__le_2_4_3__command_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__hubot_scripts__le_2_4_3__command_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__i18n_node_angular__lt_1_4_0__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__i18n_node_angular__lt_1_4_0__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__i18n_node_angular__lt_1_4_0__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__i18n_node_angular__lt_1_4_0__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__i18n_node_angular__lt_1_4_0__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__i18n_node_angular__lt_1_4_0__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__i18n_node_angular__lt_1_4_0__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__i18n_node_angular__lt_1_4_0__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__i18n_node_angular__lt_1_4_0__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__i18n_node_angular__lt_1_4_0__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__i18n_node_angular__lt_1_4_0__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__i18n_node_angular__lt_1_4_0__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__i18n_node_angular__lt_1_4_0__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__i18n_node_angular__lt_1_4_0__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__i18n_node_angular__lt_1_4_0__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__i18n_node_angular__lt_1_4_0__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__i18next__ge_2_0_0_lt_3_4_4__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__i18next__ge_2_0_0_lt_3_4_4__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__i18next__ge_2_0_0_lt_3_4_4__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__i18next__ge_2_0_0_lt_3_4_4__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__i18next__ge_2_0_0_lt_3_4_4__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__i18next__ge_2_0_0_lt_3_4_4__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__i18next__ge_2_0_0_lt_3_4_4__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__i18next__ge_2_0_0_lt_3_4_4__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__i18next__ge_2_0_0_lt_3_4_4__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__i18next__ge_2_0_0_lt_3_4_4__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__i18next__ge_2_0_0_lt_3_4_4__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__i18next__ge_2_0_0_lt_3_4_4__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__i18next__ge_2_0_0_lt_3_4_4__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__i18next__ge_2_0_0_lt_3_4_4__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__i18next__ge_2_0_0_lt_3_4_4__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__i18next__ge_2_0_0_lt_3_4_4__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__i18next__lt_1_10_3__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__i18next__lt_1_10_3__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__i18next__lt_1_10_3__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__i18next__lt_1_10_3__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__i18next__lt_1_10_3__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__i18next__lt_1_10_3__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__i18next__lt_1_10_3__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__i18next__lt_1_10_3__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__i18next__lt_1_10_3__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__i18next__lt_1_10_3__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__i18next__lt_1_10_3__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__i18next__lt_1_10_3__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__i18next__lt_1_10_3__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__i18next__lt_1_10_3__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__i18next__lt_1_10_3__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__i18next__lt_1_10_3__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ibapi__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ibapi__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ibapi__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ibapi__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ibapi__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ibapi__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ibapi__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ibapi__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ibapi__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__ibapi__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__ibapi__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__ibapi__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ibapi__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ibapi__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ibapi__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ibapi__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ibm_db__lt_1_0_2__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ibm_db__lt_1_0_2__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ibm_db__lt_1_0_2__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ibm_db__lt_1_0_2__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ibm_db__lt_1_0_2__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ibm_db__lt_1_0_2__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ibm_db__lt_1_0_2__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ibm_db__lt_1_0_2__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ibm_db__lt_1_0_2__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__ibm_db__lt_1_0_2__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__ibm_db__lt_1_0_2__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__ibm_db__lt_1_0_2__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ibm_db__lt_1_0_2__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ibm_db__lt_1_0_2__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ibm_db__lt_1_0_2__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ibm_db__lt_1_0_2__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__iceman178_weather_cs360__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__iceman178_weather_cs360__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__iceman178_weather_cs360__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__iceman178_weather_cs360__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__iceman178_weather_cs360__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__iceman178_weather_cs360__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__iceman178_weather_cs360__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__iceman178_weather_cs360__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__iceman178_weather_cs360__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__iceman178_weather_cs360__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__iceman178_weather_cs360__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__iceman178_weather_cs360__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__iceman178_weather_cs360__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__iceman178_weather_cs360__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__iceman178_weather_cs360__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__iceman178_weather_cs360__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__iedriver__lt_3_0_0__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__iedriver__lt_3_0_0__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__iedriver__lt_3_0_0__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__iedriver__lt_3_0_0__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__iedriver__lt_3_0_0__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__iedriver__lt_3_0_0__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__iedriver__lt_3_0_0__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__iedriver__lt_3_0_0__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__iedriver__lt_3_0_0__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__iedriver__lt_3_0_0__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__iedriver__lt_3_0_0__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__iedriver__lt_3_0_0__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__iedriver__lt_3_0_0__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__iedriver__lt_3_0_0__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__iedriver__lt_3_0_0__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__iedriver__lt_3_0_0__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__igniteui__le_0_0_5__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__igniteui__le_0_0_5__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__igniteui__le_0_0_5__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__igniteui__le_0_0_5__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__igniteui__le_0_0_5__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__igniteui__le_0_0_5__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__igniteui__le_0_0_5__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__igniteui__le_0_0_5__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__igniteui__le_0_0_5__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__igniteui__le_0_0_5__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__igniteui__le_0_0_5__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__igniteui__le_0_0_5__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__igniteui__le_0_0_5__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__igniteui__le_0_0_5__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__igniteui__le_0_0_5__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__igniteui__le_0_0_5__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ikst__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ikst__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ikst__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ikst__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ikst__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ikst__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ikst__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ikst__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ikst__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__ikst__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__ikst__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__ikst__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ikst__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ikst__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ikst__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ikst__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ikst__lt_1_1_2__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ikst__lt_1_1_2__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ikst__lt_1_1_2__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ikst__lt_1_1_2__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ikst__lt_1_1_2__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ikst__lt_1_1_2__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ikst__lt_1_1_2__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ikst__lt_1_1_2__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ikst__lt_1_1_2__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__ikst__lt_1_1_2__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__ikst__lt_1_1_2__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__ikst__lt_1_1_2__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ikst__lt_1_1_2__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ikst__lt_1_1_2__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ikst__lt_1_1_2__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ikst__lt_1_1_2__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__imageoptim__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__imageoptim__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__imageoptim__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__imageoptim__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__imageoptim__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__imageoptim__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__imageoptim__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__imageoptim__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__imageoptim__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__imageoptim__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__imageoptim__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__imageoptim__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__imageoptim__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__imageoptim__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__imageoptim__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__imageoptim__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__inert__lt_1_1_1__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__inert__lt_1_1_1__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__inert__lt_1_1_1__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__inert__lt_1_1_1__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__inert__lt_1_1_1__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__inert__lt_1_1_1__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__inert__lt_1_1_1__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__inert__lt_1_1_1__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__inert__lt_1_1_1__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__inert__lt_1_1_1__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__inert__lt_1_1_1__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__inert__lt_1_1_1__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__inert__lt_1_1_1__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__inert__lt_1_1_1__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__inert__lt_1_1_1__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__inert__lt_1_1_1__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__infraserver__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__infraserver__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__infraserver__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__infraserver__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__infraserver__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__infraserver__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__infraserver__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__infraserver__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__infraserver__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__infraserver__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__infraserver__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__infraserver__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__infraserver__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__infraserver__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__infraserver__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__infraserver__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__innomon__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__innomon__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__innomon__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__innomon__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__innomon__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__innomon__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__innomon__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__innomon__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__innomon__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__innomon__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__innomon__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__innomon__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__innomon__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__innomon__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__innomon__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__innomon__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__insight_api__improper_input_validation.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__insight_api__improper_input_validation.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__insight_api__improper_input_validation.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__insight_api__improper_input_validation.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__insight_api__improper_input_validation.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__insight_api__improper_input_validation.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__insight_api__improper_input_validation.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__insight_api__improper_input_validation.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__insight_api__improper_input_validation.dacg.result.s2.o0": "The library is known to include the Improper Input Validation vulnerability.",
  "0.event.dacg_npm__insight_api__improper_input_validation.dacg.result.s3.o0": "The Improper Input Validation vulnerability is caused by lacking verification on a user input.",
  "0.event.dacg_npm__insight_api__improper_input_validation.dacg.result.s4.o0": "An attacker can use the Improper Input Validation vulnerability to steal key information of the server and force to perform unintended behaviors.",
  "0.event.dacg_npm__insight_api__improper_input_validation.dacg.result.s5.o0": "As a result of the test, the Improper Input Validation vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__insight_api__improper_input_validation.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__insight_api__improper_input_validation.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__insight_api__improper_input_validation.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__insight_api__improper_input_validation.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__install_g_test__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__install_g_test__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__install_g_test__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__install_g_test__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__install_g_test__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__install_g_test__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__install_g_test__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__install_g_test__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__install_g_test__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__install_g_test__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__install_g_test__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__install_g_test__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__install_g_test__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__install_g_test__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__install_g_test__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__install_g_test__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__install_nw__lt_1_1_5__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__install_nw__lt_1_1_5__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__install_nw__lt_1_1_5__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__install_nw__lt_1_1_5__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__install_nw__lt_1_1_5__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__install_nw__lt_1_1_5__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__install_nw__lt_1_1_5__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__install_nw__lt_1_1_5__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__install_nw__lt_1_1_5__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__install_nw__lt_1_1_5__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__install_nw__lt_1_1_5__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__install_nw__lt_1_1_5__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__install_nw__lt_1_1_5__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__install_nw__lt_1_1_5__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__install_nw__lt_1_1_5__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__install_nw__lt_1_1_5__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__intsol_package__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__intsol_package__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__intsol_package__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__intsol_package__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__intsol_package__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__intsol_package__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__intsol_package__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__intsol_package__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__intsol_package__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__intsol_package__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__intsol_package__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__intsol_package__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__intsol_package__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__intsol_package__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__intsol_package__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__intsol_package__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ip__lt_1_1_5__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ip__lt_1_1_5__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ip__lt_1_1_5__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ip__lt_1_1_5__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ip__lt_1_1_5__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ip__lt_1_1_5__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ip__lt_1_1_5__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ip__lt_1_1_5__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ip__lt_1_1_5__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__ip__lt_1_1_5__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__ip__lt_1_1_5__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__ip__lt_1_1_5__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ip__lt_1_1_5__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ip__lt_1_1_5__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ip__lt_1_1_5__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ip__lt_1_1_5__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ipip__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ipip__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ipip__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ipip__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ipip__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ipip__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ipip__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ipip__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ipip__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__ipip__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__ipip__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__ipip__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ipip__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ipip__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ipip__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ipip__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ipip_coffee__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ipip_coffee__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ipip_coffee__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ipip_coffee__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ipip_coffee__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ipip_coffee__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ipip_coffee__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ipip_coffee__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ipip_coffee__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__ipip_coffee__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__ipip_coffee__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__ipip_coffee__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ipip_coffee__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ipip_coffee__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ipip_coffee__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ipip_coffee__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__is_mobile__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__is_mobile__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__is_mobile__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__is_mobile__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__is_mobile__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__is_mobile__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__is_mobile__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__is_mobile__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__is_mobile__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__is_mobile__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__is_mobile__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__is_mobile__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__is_mobile__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__is_mobile__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__is_mobile__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__is_mobile__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__is_my_json_valid__ge_2_0_0_lt_2_17_2__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__is_my_json_valid__ge_2_0_0_lt_2_17_2__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__is_my_json_valid__ge_2_0_0_lt_2_17_2__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__is_my_json_valid__ge_2_0_0_lt_2_17_2__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__is_my_json_valid__ge_2_0_0_lt_2_17_2__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__is_my_json_valid__ge_2_0_0_lt_2_17_2__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__is_my_json_valid__ge_2_0_0_lt_2_17_2__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__is_my_json_valid__ge_2_0_0_lt_2_17_2__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__is_my_json_valid__ge_2_0_0_lt_2_17_2__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__is_my_json_valid__ge_2_0_0_lt_2_17_2__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__is_my_json_valid__ge_2_0_0_lt_2_17_2__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__is_my_json_valid__ge_2_0_0_lt_2_17_2__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__is_my_json_valid__ge_2_0_0_lt_2_17_2__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__is_my_json_valid__ge_2_0_0_lt_2_17_2__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__is_my_json_valid__ge_2_0_0_lt_2_17_2__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__is_my_json_valid__ge_2_0_0_lt_2_17_2__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__is_my_json_valid__le_2_12_3__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__is_my_json_valid__le_2_12_3__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__is_my_json_valid__le_2_12_3__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__is_my_json_valid__le_2_12_3__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__is_my_json_valid__le_2_12_3__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__is_my_json_valid__le_2_12_3__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__is_my_json_valid__le_2_12_3__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__is_my_json_valid__le_2_12_3__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__is_my_json_valid__le_2_12_3__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__is_my_json_valid__le_2_12_3__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__is_my_json_valid__le_2_12_3__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__is_my_json_valid__le_2_12_3__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__is_my_json_valid__le_2_12_3__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__is_my_json_valid__le_2_12_3__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__is_my_json_valid__le_2_12_3__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__is_my_json_valid__le_2_12_3__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__is_my_json_valid__lt_1_4_1__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__is_my_json_valid__lt_1_4_1__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__is_my_json_valid__lt_1_4_1__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__is_my_json_valid__lt_1_4_1__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__is_my_json_valid__lt_1_4_1__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__is_my_json_valid__lt_1_4_1__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__is_my_json_valid__lt_1_4_1__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__is_my_json_valid__lt_1_4_1__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__is_my_json_valid__lt_1_4_1__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__is_my_json_valid__lt_1_4_1__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__is_my_json_valid__lt_1_4_1__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__is_my_json_valid__lt_1_4_1__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__is_my_json_valid__lt_1_4_1__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__is_my_json_valid__lt_1_4_1__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__is_my_json_valid__lt_1_4_1__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__is_my_json_valid__lt_1_4_1__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__is_url__lt_1_2_4__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__is_url__lt_1_2_4__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__is_url__lt_1_2_4__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__is_url__lt_1_2_4__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__is_url__lt_1_2_4__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__is_url__lt_1_2_4__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__is_url__lt_1_2_4__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__is_url__lt_1_2_4__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__is_url__lt_1_2_4__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__is_url__lt_1_2_4__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__is_url__lt_1_2_4__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__is_url__lt_1_2_4__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__is_url__lt_1_2_4__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__is_url__lt_1_2_4__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__is_url__lt_1_2_4__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__is_url__lt_1_2_4__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__isv_http__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__isv_http__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__isv_http__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__isv_http__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__isv_http__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__isv_http__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__isv_http__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__isv_http__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__isv_http__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__isv_http__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__isv_http__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__isv_http__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__isv_http__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__isv_http__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__isv_http__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__isv_http__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__iter_http__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__iter_http__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__iter_http__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__iter_http__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__iter_http__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__iter_http__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__iter_http__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__iter_http__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__iter_http__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__iter_http__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__iter_http__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__iter_http__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__iter_http__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__iter_http__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__iter_http__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__iter_http__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__iter_server__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__iter_server__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__iter_server__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__iter_server__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__iter_server__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__iter_server__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__iter_server__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__iter_server__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__iter_server__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__iter_server__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__iter_server__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__iter_server__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__iter_server__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__iter_server__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__iter_server__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__iter_server__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__jdf_sass__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__jdf_sass__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__jdf_sass__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__jdf_sass__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__jdf_sass__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__jdf_sass__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__jdf_sass__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__jdf_sass__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__jdf_sass__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__jdf_sass__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__jdf_sass__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__jdf_sass__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__jdf_sass__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__jdf_sass__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__jdf_sass__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__jdf_sass__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__jiazhipeng__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__jiazhipeng__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__jiazhipeng__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__jiazhipeng__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__jiazhipeng__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__jiazhipeng__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__jiazhipeng__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__jiazhipeng__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__jiazhipeng__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__jiazhipeng__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__jiazhipeng__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__jiazhipeng__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__jiazhipeng__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__jiazhipeng__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__jiazhipeng__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__jiazhipeng__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__jikes__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__jikes__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__jikes__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__jikes__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__jikes__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__jikes__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__jikes__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__jikes__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__jikes__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__jikes__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__jikes__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__jikes__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__jikes__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__jikes__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__jikes__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__jikes__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__jn_jj_server__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__jn_jj_server__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__jn_jj_server__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__jn_jj_server__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__jn_jj_server__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__jn_jj_server__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__jn_jj_server__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__jn_jj_server__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__jn_jj_server__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__jn_jj_server__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__jn_jj_server__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__jn_jj_server__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__jn_jj_server__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__jn_jj_server__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__jn_jj_server__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__jn_jj_server__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__jqtree__le_1_3_3__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__jqtree__le_1_3_3__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__jqtree__le_1_3_3__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__jqtree__le_1_3_3__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__jqtree__le_1_3_3__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__jqtree__le_1_3_3__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__jqtree__le_1_3_3__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__jqtree__le_1_3_3__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__jqtree__le_1_3_3__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__jqtree__le_1_3_3__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__jqtree__le_1_3_3__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__jqtree__le_1_3_3__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__jqtree__le_1_3_3__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__jqtree__le_1_3_3__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__jqtree__le_1_3_3__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__jqtree__le_1_3_3__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__jquery__eq_3_0_0_rc_1__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__jquery__eq_3_0_0_rc_1__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__jquery__eq_3_0_0_rc_1__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__jquery__eq_3_0_0_rc_1__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__jquery__eq_3_0_0_rc_1__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__jquery__eq_3_0_0_rc_1__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__jquery__eq_3_0_0_rc_1__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__jquery__eq_3_0_0_rc_1__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__jquery__eq_3_0_0_rc_1__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__jquery__eq_3_0_0_rc_1__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__jquery__eq_3_0_0_rc_1__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__jquery__eq_3_0_0_rc_1__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__jquery__eq_3_0_0_rc_1__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__jquery__eq_3_0_0_rc_1__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__jquery__eq_3_0_0_rc_1__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__jquery__eq_3_0_0_rc_1__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__jquery__ge_1_4_0_lt_1_12_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__jquery__ge_1_4_0_lt_1_12_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__jquery__ge_1_4_0_lt_1_12_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__jquery__ge_1_4_0_lt_1_12_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__jquery__ge_1_4_0_lt_1_12_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__jquery__ge_1_4_0_lt_1_12_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__jquery__ge_1_4_0_lt_1_12_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__jquery__ge_1_4_0_lt_1_12_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__jquery__ge_1_4_0_lt_1_12_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__jquery__ge_1_4_0_lt_1_12_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__jquery__ge_1_4_0_lt_1_12_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__jquery__ge_1_4_0_lt_1_12_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__jquery__ge_1_4_0_lt_1_12_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__jquery__ge_1_4_0_lt_1_12_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__jquery__ge_1_4_0_lt_1_12_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__jquery__ge_1_4_0_lt_1_12_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__jquery__ge_1_4_2_le_1_5_1__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__jquery__ge_1_4_2_le_1_5_1__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__jquery__ge_1_4_2_le_1_5_1__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__jquery__ge_1_4_2_le_1_5_1__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__jquery__ge_1_4_2_le_1_5_1__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__jquery__ge_1_4_2_le_1_5_1__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__jquery__ge_1_4_2_le_1_5_1__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__jquery__ge_1_4_2_le_1_5_1__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__jquery__ge_1_4_2_le_1_5_1__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__jquery__ge_1_4_2_le_1_5_1__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__jquery__ge_1_4_2_le_1_5_1__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__jquery__ge_1_4_2_le_1_5_1__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__jquery__ge_1_4_2_le_1_5_1__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__jquery__ge_1_4_2_le_1_5_1__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__jquery__ge_1_4_2_le_1_5_1__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__jquery__ge_1_4_2_le_1_5_1__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__jquery__ge_1_7_1_lt_1_9_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__jquery__ge_1_7_1_lt_1_9_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__jquery__ge_1_7_1_lt_1_9_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__jquery__ge_1_7_1_lt_1_9_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__jquery__ge_1_7_1_lt_1_9_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__jquery__ge_1_7_1_lt_1_9_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__jquery__ge_1_7_1_lt_1_9_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__jquery__ge_1_7_1_lt_1_9_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__jquery__ge_1_7_1_lt_1_9_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__jquery__ge_1_7_1_lt_1_9_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__jquery__ge_1_7_1_lt_1_9_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__jquery__ge_1_7_1_lt_1_9_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__jquery__ge_1_7_1_lt_1_9_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__jquery__ge_1_7_1_lt_1_9_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__jquery__ge_1_7_1_lt_1_9_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__jquery__ge_1_7_1_lt_1_9_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__jquery__gt_1_12_3_lt_3_0_0_beta1__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__jquery__gt_1_12_3_lt_3_0_0_beta1__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__jquery__gt_1_12_3_lt_3_0_0_beta1__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__jquery__gt_1_12_3_lt_3_0_0_beta1__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__jquery__gt_1_12_3_lt_3_0_0_beta1__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__jquery__gt_1_12_3_lt_3_0_0_beta1__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__jquery__gt_1_12_3_lt_3_0_0_beta1__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__jquery__gt_1_12_3_lt_3_0_0_beta1__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__jquery__gt_1_12_3_lt_3_0_0_beta1__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__jquery__gt_1_12_3_lt_3_0_0_beta1__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__jquery__gt_1_12_3_lt_3_0_0_beta1__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__jquery__gt_1_12_3_lt_3_0_0_beta1__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__jquery__gt_1_12_3_lt_3_0_0_beta1__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__jquery__gt_1_12_3_lt_3_0_0_beta1__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__jquery__gt_1_12_3_lt_3_0_0_beta1__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__jquery__gt_1_12_3_lt_3_0_0_beta1__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__jquery__lt_1_6_3__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__jquery__lt_1_6_3__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__jquery__lt_1_6_3__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__jquery__lt_1_6_3__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__jquery__lt_1_6_3__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__jquery__lt_1_6_3__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__jquery__lt_1_6_3__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__jquery__lt_1_6_3__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__jquery__lt_1_6_3__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__jquery__lt_1_6_3__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__jquery__lt_1_6_3__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__jquery__lt_1_6_3__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__jquery__lt_1_6_3__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__jquery__lt_1_6_3__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__jquery__lt_1_6_3__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__jquery__lt_1_6_3__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__jquery_colorbox__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__jquery_colorbox__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__jquery_colorbox__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__jquery_colorbox__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__jquery_colorbox__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__jquery_colorbox__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__jquery_colorbox__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__jquery_colorbox__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__jquery_colorbox__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__jquery_colorbox__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__jquery_colorbox__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__jquery_colorbox__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__jquery_colorbox__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__jquery_colorbox__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__jquery_colorbox__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__jquery_colorbox__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__jquery_csssr_validation__lt_0_0_26__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__jquery_csssr_validation__lt_0_0_26__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__jquery_csssr_validation__lt_0_0_26__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__jquery_csssr_validation__lt_0_0_26__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__jquery_csssr_validation__lt_0_0_26__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__jquery_csssr_validation__lt_0_0_26__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__jquery_csssr_validation__lt_0_0_26__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__jquery_csssr_validation__lt_0_0_26__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__jquery_csssr_validation__lt_0_0_26__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__jquery_csssr_validation__lt_0_0_26__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__jquery_csssr_validation__lt_0_0_26__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__jquery_csssr_validation__lt_0_0_26__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__jquery_csssr_validation__lt_0_0_26__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__jquery_csssr_validation__lt_0_0_26__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__jquery_csssr_validation__lt_0_0_26__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__jquery_csssr_validation__lt_0_0_26__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__jquery_js__le_1_0_2__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__jquery_js__le_1_0_2__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__jquery_js__le_1_0_2__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__jquery_js__le_1_0_2__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__jquery_js__le_1_0_2__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__jquery_js__le_1_0_2__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__jquery_js__le_1_0_2__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__jquery_js__le_1_0_2__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__jquery_js__le_1_0_2__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__jquery_js__le_1_0_2__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__jquery_js__le_1_0_2__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__jquery_js__le_1_0_2__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__jquery_js__le_1_0_2__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__jquery_js__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__jquery_js__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__jquery_js__le_1_0_2__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__jquery_migrate__lt_1_2_1__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__jquery_migrate__lt_1_2_1__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__jquery_migrate__lt_1_2_1__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__jquery_migrate__lt_1_2_1__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__jquery_migrate__lt_1_2_1__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__jquery_migrate__lt_1_2_1__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__jquery_migrate__lt_1_2_1__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__jquery_migrate__lt_1_2_1__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__jquery_migrate__lt_1_2_1__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__jquery_migrate__lt_1_2_1__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__jquery_migrate__lt_1_2_1__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__jquery_migrate__lt_1_2_1__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__jquery_migrate__lt_1_2_1__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__jquery_migrate__lt_1_2_1__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__jquery_migrate__lt_1_2_1__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__jquery_migrate__lt_1_2_1__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__jquery_mobile__lt_1_2_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__jquery_mobile__lt_1_2_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__jquery_mobile__lt_1_2_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__jquery_mobile__lt_1_2_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__jquery_mobile__lt_1_2_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__jquery_mobile__lt_1_2_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__jquery_mobile__lt_1_2_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__jquery_mobile__lt_1_2_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__jquery_mobile__lt_1_2_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__jquery_mobile__lt_1_2_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__jquery_mobile__lt_1_2_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__jquery_mobile__lt_1_2_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__jquery_mobile__lt_1_2_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__jquery_mobile__lt_1_2_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__jquery_mobile__lt_1_2_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__jquery_mobile__lt_1_2_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__jquery_ui__le_1_11_4__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__jquery_ui__le_1_11_4__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__jquery_ui__le_1_11_4__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__jquery_ui__le_1_11_4__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__jquery_ui__le_1_11_4__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__jquery_ui__le_1_11_4__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__jquery_ui__le_1_11_4__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__jquery_ui__le_1_11_4__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__jquery_ui__le_1_11_4__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__jquery_ui__le_1_11_4__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__jquery_ui__le_1_11_4__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__jquery_ui__le_1_11_4__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__jquery_ui__le_1_11_4__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__jquery_ui__le_1_11_4__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__jquery_ui__le_1_11_4__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__jquery_ui__le_1_11_4__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__jquery_ui__lt_1_10_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__jquery_ui__lt_1_10_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__jquery_ui__lt_1_10_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__jquery_ui__lt_1_10_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__jquery_ui__lt_1_10_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__jquery_ui__lt_1_10_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__jquery_ui__lt_1_10_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__jquery_ui__lt_1_10_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__jquery_ui__lt_1_10_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__jquery_ui__lt_1_10_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__jquery_ui__lt_1_10_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__jquery_ui__lt_1_10_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__jquery_ui__lt_1_10_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__jquery_ui__lt_1_10_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__jquery_ui__lt_1_10_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__jquery_ui__lt_1_10_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__jquery_ujs__le_1_0_3__csrf.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__jquery_ujs__le_1_0_3__csrf.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__jquery_ujs__le_1_0_3__csrf.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__jquery_ujs__le_1_0_3__csrf.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__jquery_ujs__le_1_0_3__csrf.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__jquery_ujs__le_1_0_3__csrf.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__jquery_ujs__le_1_0_3__csrf.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__jquery_ujs__le_1_0_3__csrf.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__jquery_ujs__le_1_0_3__csrf.dacg.result.s2.o0": "The library is known to include the Cross-site Request Forgery (CSRF) vulnerability.",
  "0.event.dacg_npm__jquery_ujs__le_1_0_3__csrf.dacg.result.s3.o0": "The Cross-site Request Forgery (CSRF) vulnerability forces a user to perform unintended action by accessing to a web page with his permission.",
  "0.event.dacg_npm__jquery_ujs__le_1_0_3__csrf.dacg.result.s4.o0": "Using the Cross-site Request Forgery (CSRF) vulnerability, an attacker can acquire a user permission to access the target web page for identity forgery, authentication bypassing, and view or manipulation of important information.",
  "0.event.dacg_npm__jquery_ujs__le_1_0_3__csrf.dacg.result.s5.o0": "As a result of the test, the Cross-site Request Forgery (CSRF) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__jquery_ujs__le_1_0_3__csrf.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__jquery_ujs__le_1_0_3__csrf.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__jquery_ujs__le_1_0_3__csrf.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__jquery_ujs__le_1_0_3__csrf.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__jquey__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__jquey__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__jquey__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__jquey__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__jquey__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__jquey__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__jquey__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__jquey__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__jquey__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__jquey__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__jquey__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__jquey__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__jquey__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__jquey__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__jquey__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__jquey__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__js_given__lt_0_0_18__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__js_given__lt_0_0_18__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__js_given__lt_0_0_18__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__js_given__lt_0_0_18__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__js_given__lt_0_0_18__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__js_given__lt_0_0_18__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__js_given__lt_0_0_18__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__js_given__lt_0_0_18__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__js_given__lt_0_0_18__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__js_given__lt_0_0_18__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__js_given__lt_0_0_18__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__js_given__lt_0_0_18__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__js_given__lt_0_0_18__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__js_given__lt_0_0_18__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__js_given__lt_0_0_18__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__js_given__lt_0_0_18__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__js_quantities__lt_1_6_4__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__js_quantities__lt_1_6_4__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__js_quantities__lt_1_6_4__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__js_quantities__lt_1_6_4__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__js_quantities__lt_1_6_4__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__js_quantities__lt_1_6_4__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__js_quantities__lt_1_6_4__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__js_quantities__lt_1_6_4__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__js_quantities__lt_1_6_4__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__js_quantities__lt_1_6_4__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__js_quantities__lt_1_6_4__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__js_quantities__lt_1_6_4__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__js_quantities__lt_1_6_4__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__js_quantities__lt_1_6_4__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__js_quantities__lt_1_6_4__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__js_quantities__lt_1_6_4__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__js_quantities__lt_1_7_0__buffer_overflow.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__js_quantities__lt_1_7_0__buffer_overflow.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__js_quantities__lt_1_7_0__buffer_overflow.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__js_quantities__lt_1_7_0__buffer_overflow.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__js_quantities__lt_1_7_0__buffer_overflow.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__js_quantities__lt_1_7_0__buffer_overflow.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__js_quantities__lt_1_7_0__buffer_overflow.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__js_quantities__lt_1_7_0__buffer_overflow.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__js_quantities__lt_1_7_0__buffer_overflow.dacg.result.s2.o0": "The library is known to include the Buffer Overflow vulnerability.",
  "0.event.dacg_npm__js_quantities__lt_1_7_0__buffer_overflow.dacg.result.s3.o0": "The buffer overflow vulnerability is caused by accessing and modifying a location out of specified buffer location.",
  "0.event.dacg_npm__js_quantities__lt_1_7_0__buffer_overflow.dacg.result.s4.o0": "Using the Buffer Overflow vulnerability, an attacker can overwrite unintended data in the heap buffer and manipulate specific values of the target application, or control flow.",
  "0.event.dacg_npm__js_quantities__lt_1_7_0__buffer_overflow.dacg.result.s5.o0": "As a result of the test, the Buffer Overflow vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__js_quantities__lt_1_7_0__buffer_overflow.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__js_quantities__lt_1_7_0__buffer_overflow.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__js_quantities__lt_1_7_0__buffer_overflow.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__js_quantities__lt_1_7_0__buffer_overflow.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__js_xss__lt_0_2_7__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__js_xss__lt_0_2_7__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__js_xss__lt_0_2_7__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__js_xss__lt_0_2_7__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__js_xss__lt_0_2_7__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__js_xss__lt_0_2_7__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__js_xss__lt_0_2_7__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__js_xss__lt_0_2_7__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__js_xss__lt_0_2_7__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__js_xss__lt_0_2_7__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__js_xss__lt_0_2_7__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__js_xss__lt_0_2_7__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__js_xss__lt_0_2_7__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__js_xss__lt_0_2_7__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__js_xss__lt_0_2_7__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__js_xss__lt_0_2_7__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__js_yaml__lt_2_0_5__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__js_yaml__lt_2_0_5__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__js_yaml__lt_2_0_5__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__js_yaml__lt_2_0_5__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__js_yaml__lt_2_0_5__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__js_yaml__lt_2_0_5__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__js_yaml__lt_2_0_5__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__js_yaml__lt_2_0_5__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__js_yaml__lt_2_0_5__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__js_yaml__lt_2_0_5__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__js_yaml__lt_2_0_5__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__js_yaml__lt_2_0_5__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__js_yaml__lt_2_0_5__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__js_yaml__lt_2_0_5__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__js_yaml__lt_2_0_5__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__js_yaml__lt_2_0_5__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__jser_stat__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__jser_stat__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__jser_stat__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__jser_stat__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__jser_stat__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__jser_stat__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__jser_stat__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__jser_stat__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__jser_stat__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__jser_stat__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__jser_stat__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__jser_stat__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__jser_stat__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__jser_stat__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__jser_stat__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__jser_stat__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__jshamcrest__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__jshamcrest__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__jshamcrest__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__jshamcrest__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__jshamcrest__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__jshamcrest__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__jshamcrest__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__jshamcrest__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__jshamcrest__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__jshamcrest__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__jshamcrest__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__jshamcrest__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__jshamcrest__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__jshamcrest__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__jshamcrest__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__jshamcrest__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__jsjws__lt_2_0_0__authentication_bypass.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__jsjws__lt_2_0_0__authentication_bypass.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__jsjws__lt_2_0_0__authentication_bypass.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__jsjws__lt_2_0_0__authentication_bypass.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__jsjws__lt_2_0_0__authentication_bypass.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__jsjws__lt_2_0_0__authentication_bypass.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__jsjws__lt_2_0_0__authentication_bypass.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__jsjws__lt_2_0_0__authentication_bypass.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__jsjws__lt_2_0_0__authentication_bypass.dacg.result.s2.o0": "The library is known to include the Authentication Bypass vulnerability.",
  "0.event.dacg_npm__jsjws__lt_2_0_0__authentication_bypass.dacg.result.s3.o0": "Authentication bypass vulnerabilities can bypass a required authentication process.",
  "0.event.dacg_npm__jsjws__lt_2_0_0__authentication_bypass.dacg.result.s4.o0": "Using the Authentication Bypass vulnerability, an attacker can access to and manipulation of limited information.",
  "0.event.dacg_npm__jsjws__lt_2_0_0__authentication_bypass.dacg.result.s5.o0": "As a result of the test, the Authentication Bypass vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__jsjws__lt_2_0_0__authentication_bypass.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__jsjws__lt_2_0_0__authentication_bypass.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__jsjws__lt_2_0_0__authentication_bypass.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__jsjws__lt_2_0_0__authentication_bypass.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__jsonwebtoken__lt_4_2_2__authentication_bypass.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__jsonwebtoken__lt_4_2_2__authentication_bypass.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__jsonwebtoken__lt_4_2_2__authentication_bypass.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__jsonwebtoken__lt_4_2_2__authentication_bypass.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__jsonwebtoken__lt_4_2_2__authentication_bypass.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__jsonwebtoken__lt_4_2_2__authentication_bypass.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__jsonwebtoken__lt_4_2_2__authentication_bypass.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__jsonwebtoken__lt_4_2_2__authentication_bypass.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__jsonwebtoken__lt_4_2_2__authentication_bypass.dacg.result.s2.o0": "The library is known to include the Authentication Bypass vulnerability.",
  "0.event.dacg_npm__jsonwebtoken__lt_4_2_2__authentication_bypass.dacg.result.s3.o0": "Authentication bypass vulnerabilities can bypass a required authentication process.",
  "0.event.dacg_npm__jsonwebtoken__lt_4_2_2__authentication_bypass.dacg.result.s4.o0": "Using the Authentication Bypass vulnerability, an attacker can access to and manipulation of limited information.",
  "0.event.dacg_npm__jsonwebtoken__lt_4_2_2__authentication_bypass.dacg.result.s5.o0": "As a result of the test, the Authentication Bypass vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__jsonwebtoken__lt_4_2_2__authentication_bypass.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__jsonwebtoken__lt_4_2_2__authentication_bypass.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__jsonwebtoken__lt_4_2_2__authentication_bypass.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__jsonwebtoken__lt_4_2_2__authentication_bypass.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__jspdf__lt_1_1_135__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__jspdf__lt_1_1_135__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__jspdf__lt_1_1_135__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__jspdf__lt_1_1_135__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__jspdf__lt_1_1_135__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__jspdf__lt_1_1_135__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__jspdf__lt_1_1_135__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__jspdf__lt_1_1_135__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__jspdf__lt_1_1_135__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__jspdf__lt_1_1_135__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__jspdf__lt_1_1_135__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__jspdf__lt_1_1_135__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__jspdf__lt_1_1_135__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__jspdf__lt_1_1_135__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__jspdf__lt_1_1_135__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__jspdf__lt_1_1_135__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__jsrender__le_0_9_73__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__jsrender__le_0_9_73__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__jsrender__le_0_9_73__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__jsrender__le_0_9_73__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__jsrender__le_0_9_73__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__jsrender__le_0_9_73__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__jsrender__le_0_9_73__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__jsrender__le_0_9_73__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__jsrender__le_0_9_73__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__jsrender__le_0_9_73__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__jsrender__le_0_9_73__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__jsrender__le_0_9_73__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__jsrender__le_0_9_73__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__jsrender__le_0_9_73__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__jsrender__le_0_9_73__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__jsrender__le_0_9_73__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__jstestdriver__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__jstestdriver__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__jstestdriver__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__jstestdriver__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__jstestdriver__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__jstestdriver__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__jstestdriver__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__jstestdriver__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__jstestdriver__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__jstestdriver__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__jstestdriver__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__jstestdriver__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__jstestdriver__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__jstestdriver__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__jstestdriver__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__jstestdriver__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__jstree__lt_3_0_3__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__jstree__lt_3_0_3__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__jstree__lt_3_0_3__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__jstree__lt_3_0_3__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__jstree__lt_3_0_3__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__jstree__lt_3_0_3__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__jstree__lt_3_0_3__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__jstree__lt_3_0_3__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__jstree__lt_3_0_3__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__jstree__lt_3_0_3__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__jstree__lt_3_0_3__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__jstree__lt_3_0_3__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__jstree__lt_3_0_3__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__jstree__lt_3_0_3__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__jstree__lt_3_0_3__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__jstree__lt_3_0_3__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__jsviews__lt_0_9_74__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__jsviews__lt_0_9_74__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__jsviews__lt_0_9_74__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__jsviews__lt_0_9_74__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__jsviews__lt_0_9_74__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__jsviews__lt_0_9_74__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__jsviews__lt_0_9_74__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__jsviews__lt_0_9_74__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__jsviews__lt_0_9_74__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__jsviews__lt_0_9_74__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__jsviews__lt_0_9_74__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__jsviews__lt_0_9_74__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__jsviews__lt_0_9_74__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__jsviews__lt_0_9_74__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__jsviews__lt_0_9_74__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__jsviews__lt_0_9_74__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__jvminstall__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__jvminstall__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__jvminstall__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__jvminstall__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__jvminstall__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__jvminstall__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__jvminstall__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__jvminstall__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__jvminstall__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__jvminstall__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__jvminstall__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__jvminstall__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__jvminstall__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__jvminstall__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__jvminstall__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__jvminstall__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__jws__lt_3_0_0__authentication_bypass.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__jws__lt_3_0_0__authentication_bypass.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__jws__lt_3_0_0__authentication_bypass.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__jws__lt_3_0_0__authentication_bypass.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__jws__lt_3_0_0__authentication_bypass.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__jws__lt_3_0_0__authentication_bypass.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__jws__lt_3_0_0__authentication_bypass.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__jws__lt_3_0_0__authentication_bypass.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__jws__lt_3_0_0__authentication_bypass.dacg.result.s2.o0": "The library is known to include the Authentication Bypass vulnerability.",
  "0.event.dacg_npm__jws__lt_3_0_0__authentication_bypass.dacg.result.s3.o0": "Authentication bypass vulnerabilities can bypass a required authentication process.",
  "0.event.dacg_npm__jws__lt_3_0_0__authentication_bypass.dacg.result.s4.o0": "Using the Authentication Bypass vulnerability, an attacker can access to and manipulation of limited information.",
  "0.event.dacg_npm__jws__lt_3_0_0__authentication_bypass.dacg.result.s5.o0": "As a result of the test, the Authentication Bypass vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__jws__lt_3_0_0__authentication_bypass.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__jws__lt_3_0_0__authentication_bypass.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__jws__lt_3_0_0__authentication_bypass.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__jws__lt_3_0_0__authentication_bypass.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__jwt_simple__lt_0_3_0__authentication_bypass.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__jwt_simple__lt_0_3_0__authentication_bypass.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__jwt_simple__lt_0_3_0__authentication_bypass.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__jwt_simple__lt_0_3_0__authentication_bypass.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__jwt_simple__lt_0_3_0__authentication_bypass.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__jwt_simple__lt_0_3_0__authentication_bypass.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__jwt_simple__lt_0_3_0__authentication_bypass.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__jwt_simple__lt_0_3_0__authentication_bypass.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__jwt_simple__lt_0_3_0__authentication_bypass.dacg.result.s2.o0": "The library is known to include the Authentication Bypass vulnerability.",
  "0.event.dacg_npm__jwt_simple__lt_0_3_0__authentication_bypass.dacg.result.s3.o0": "Authentication bypass vulnerabilities can bypass a required authentication process.",
  "0.event.dacg_npm__jwt_simple__lt_0_3_0__authentication_bypass.dacg.result.s4.o0": "Using the Authentication Bypass vulnerability, an attacker can access to and manipulation of limited information.",
  "0.event.dacg_npm__jwt_simple__lt_0_3_0__authentication_bypass.dacg.result.s5.o0": "As a result of the test, the Authentication Bypass vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__jwt_simple__lt_0_3_0__authentication_bypass.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__jwt_simple__lt_0_3_0__authentication_bypass.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__jwt_simple__lt_0_3_0__authentication_bypass.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__jwt_simple__lt_0_3_0__authentication_bypass.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__keycloak_auth_utils__ge_2_5_0_lt_3_1_0__authentication_bypass.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__keycloak_auth_utils__ge_2_5_0_lt_3_1_0__authentication_bypass.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__keycloak_auth_utils__ge_2_5_0_lt_3_1_0__authentication_bypass.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__keycloak_auth_utils__ge_2_5_0_lt_3_1_0__authentication_bypass.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__keycloak_auth_utils__ge_2_5_0_lt_3_1_0__authentication_bypass.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__keycloak_auth_utils__ge_2_5_0_lt_3_1_0__authentication_bypass.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__keycloak_auth_utils__ge_2_5_0_lt_3_1_0__authentication_bypass.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__keycloak_auth_utils__ge_2_5_0_lt_3_1_0__authentication_bypass.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__keycloak_auth_utils__ge_2_5_0_lt_3_1_0__authentication_bypass.dacg.result.s2.o0": "The library is known to include the Authentication Bypass vulnerability.",
  "0.event.dacg_npm__keycloak_auth_utils__ge_2_5_0_lt_3_1_0__authentication_bypass.dacg.result.s3.o0": "Authentication bypass vulnerabilities can bypass a required authentication process.",
  "0.event.dacg_npm__keycloak_auth_utils__ge_2_5_0_lt_3_1_0__authentication_bypass.dacg.result.s4.o0": "Using the Authentication Bypass vulnerability, an attacker can access to and manipulation of limited information.",
  "0.event.dacg_npm__keycloak_auth_utils__ge_2_5_0_lt_3_1_0__authentication_bypass.dacg.result.s5.o0": "As a result of the test, the Authentication Bypass vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__keycloak_auth_utils__ge_2_5_0_lt_3_1_0__authentication_bypass.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__keycloak_auth_utils__ge_2_5_0_lt_3_1_0__authentication_bypass.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__keycloak_auth_utils__ge_2_5_0_lt_3_1_0__authentication_bypass.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__keycloak_auth_utils__ge_2_5_0_lt_3_1_0__authentication_bypass.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__keystone__ge_0_2_7_lt_0_3_6__open_redirect.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__keystone__ge_0_2_7_lt_0_3_6__open_redirect.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__keystone__ge_0_2_7_lt_0_3_6__open_redirect.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__keystone__ge_0_2_7_lt_0_3_6__open_redirect.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__keystone__ge_0_2_7_lt_0_3_6__open_redirect.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__keystone__ge_0_2_7_lt_0_3_6__open_redirect.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__keystone__ge_0_2_7_lt_0_3_6__open_redirect.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__keystone__ge_0_2_7_lt_0_3_6__open_redirect.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__keystone__ge_0_2_7_lt_0_3_6__open_redirect.dacg.result.s2.o0": "The library is known to include the URL Redirection to Untrusted Site vulnerability.",
  "0.event.dacg_npm__keystone__ge_0_2_7_lt_0_3_6__open_redirect.dacg.result.s3.o0": "The URL Redirection to Untrusted Site vulnerability is caused by using unreliable user inputs to construct URLs and perform a redirection to them.",
  "0.event.dacg_npm__keystone__ge_0_2_7_lt_0_3_6__open_redirect.dacg.result.s4.o0": "By using the URL Redirection to Untrusted Site vulnerability, an attacker can force users to access malicious sites, such as phishing sites.",
  "0.event.dacg_npm__keystone__ge_0_2_7_lt_0_3_6__open_redirect.dacg.result.s5.o0": "As a result of the test, the URL Redirection to Untrusted Site vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__keystone__ge_0_2_7_lt_0_3_6__open_redirect.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__keystone__ge_0_2_7_lt_0_3_6__open_redirect.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__keystone__ge_0_2_7_lt_0_3_6__open_redirect.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__keystone__ge_0_2_7_lt_0_3_6__open_redirect.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__keystone__lt_0_2_34__csrf.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__keystone__lt_0_2_34__csrf.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__keystone__lt_0_2_34__csrf.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__keystone__lt_0_2_34__csrf.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__keystone__lt_0_2_34__csrf.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__keystone__lt_0_2_34__csrf.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__keystone__lt_0_2_34__csrf.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__keystone__lt_0_2_34__csrf.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__keystone__lt_0_2_34__csrf.dacg.result.s2.o0": "The library is known to include the Cross-site Request Forgery (CSRF) vulnerability.",
  "0.event.dacg_npm__keystone__lt_0_2_34__csrf.dacg.result.s3.o0": "The Cross-site Request Forgery (CSRF) vulnerability forces a user to perform unintended action by accessing to a web page with his permission.",
  "0.event.dacg_npm__keystone__lt_0_2_34__csrf.dacg.result.s4.o0": "Using the Cross-site Request Forgery (CSRF) vulnerability, an attacker can acquire a user permission to access the target web page for identity forgery, authentication bypassing, and view or manipulation of important information.",
  "0.event.dacg_npm__keystone__lt_0_2_34__csrf.dacg.result.s5.o0": "As a result of the test, the Cross-site Request Forgery (CSRF) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__keystone__lt_0_2_34__csrf.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__keystone__lt_0_2_34__csrf.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__keystone__lt_0_2_34__csrf.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__keystone__lt_0_2_34__csrf.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__keystone__lt_0_3_16__authentication_bypass.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__keystone__lt_0_3_16__authentication_bypass.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__keystone__lt_0_3_16__authentication_bypass.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__keystone__lt_0_3_16__authentication_bypass.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__keystone__lt_0_3_16__authentication_bypass.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__keystone__lt_0_3_16__authentication_bypass.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__keystone__lt_0_3_16__authentication_bypass.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__keystone__lt_0_3_16__authentication_bypass.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__keystone__lt_0_3_16__authentication_bypass.dacg.result.s2.o0": "The library is known to include the Authentication Bypass vulnerability.",
  "0.event.dacg_npm__keystone__lt_0_3_16__authentication_bypass.dacg.result.s3.o0": "Authentication bypass vulnerabilities can bypass a required authentication process.",
  "0.event.dacg_npm__keystone__lt_0_3_16__authentication_bypass.dacg.result.s4.o0": "Using the Authentication Bypass vulnerability, an attacker can access to and manipulation of limited information.",
  "0.event.dacg_npm__keystone__lt_0_3_16__authentication_bypass.dacg.result.s5.o0": "As a result of the test, the Authentication Bypass vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__keystone__lt_0_3_16__authentication_bypass.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__keystone__lt_0_3_16__authentication_bypass.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__keystone__lt_0_3_16__authentication_bypass.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__keystone__lt_0_3_16__authentication_bypass.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__keystone__lt_4_0_0_beta_7__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__keystone__lt_4_0_0_beta_7__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__keystone__lt_4_0_0_beta_7__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__keystone__lt_4_0_0_beta_7__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__keystone__lt_4_0_0_beta_7__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__keystone__lt_4_0_0_beta_7__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__keystone__lt_4_0_0_beta_7__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__keystone__lt_4_0_0_beta_7__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__keystone__lt_4_0_0_beta_7__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__keystone__lt_4_0_0_beta_7__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__keystone__lt_4_0_0_beta_7__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__keystone__lt_4_0_0_beta_7__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__keystone__lt_4_0_0_beta_7__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__keystone__lt_4_0_0_beta_7__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__keystone__lt_4_0_0_beta_7__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__keystone__lt_4_0_0_beta_7__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__keystone__lt_4_0_0_beta_7__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__keystone__lt_4_0_0_beta_7__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__keystone__lt_4_0_0_beta_7__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__keystone__lt_4_0_0_beta_7__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__keystone__lt_4_0_0_beta_7__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__keystone__lt_4_0_0_beta_7__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__keystone__lt_4_0_0_beta_7__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__keystone__lt_4_0_0_beta_7__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__keystone__lt_4_0_0_beta_7__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__keystone__lt_4_0_0_beta_7__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__keystone__lt_4_0_0_beta_7__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__keystone__lt_4_0_0_beta_7__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__keystone__lt_4_0_0_beta_7__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__keystone__lt_4_0_0_beta_7__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__keystone__lt_4_0_0_beta_7__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__keystone__lt_4_0_0_beta_7__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_6__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_6__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_6__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_6__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_6__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_6__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_6__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_6__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_6__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_6__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_6__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_6__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_6__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_6__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_6__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_6__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_7__open_redirect.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_7__open_redirect.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_7__open_redirect.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_7__open_redirect.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_7__open_redirect.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_7__open_redirect.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_7__open_redirect.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_7__open_redirect.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_7__open_redirect.dacg.result.s2.o0": "The library is known to include the URL Redirection to Untrusted Site vulnerability.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_7__open_redirect.dacg.result.s3.o0": "The URL Redirection to Untrusted Site vulnerability is caused by using unreliable user inputs to construct URLs and perform a redirection to them.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_7__open_redirect.dacg.result.s4.o0": "By using the URL Redirection to Untrusted Site vulnerability, an attacker can force users to access malicious sites, such as phishing sites.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_7__open_redirect.dacg.result.s5.o0": "As a result of the test, the URL Redirection to Untrusted Site vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_7__open_redirect.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_7__open_redirect.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_7__open_redirect.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_7__open_redirect.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_7__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_7__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_7__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_7__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_7__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_7__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_7__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_7__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_7__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_7__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_7__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_7__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_7__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_7__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_7__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__kibana__ge_5_1_1_lt_5_6_7__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__kibana__ge_5_3_0_lt_5_3_3__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__kibana__ge_5_3_0_lt_5_3_3__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__kibana__ge_5_3_0_lt_5_3_3__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__kibana__ge_5_3_0_lt_5_3_3__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__kibana__ge_5_3_0_lt_5_3_3__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__kibana__ge_5_3_0_lt_5_3_3__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__kibana__ge_5_3_0_lt_5_3_3__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__kibana__ge_5_3_0_lt_5_3_3__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__kibana__ge_5_3_0_lt_5_3_3__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__kibana__ge_5_3_0_lt_5_3_3__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__kibana__ge_5_3_0_lt_5_3_3__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__kibana__ge_5_3_0_lt_5_3_3__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__kibana__ge_5_3_0_lt_5_3_3__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__kibana__ge_5_3_0_lt_5_3_3__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__kibana__ge_5_3_0_lt_5_3_3__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__kibana__ge_5_3_0_lt_5_3_3__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__kibana__ge_5_4_0_lt_5_4_1__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__kibana__ge_5_4_0_lt_5_4_1__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__kibana__ge_5_4_0_lt_5_4_1__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__kibana__ge_5_4_0_lt_5_4_1__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__kibana__ge_5_4_0_lt_5_4_1__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__kibana__ge_5_4_0_lt_5_4_1__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__kibana__ge_5_4_0_lt_5_4_1__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__kibana__ge_5_4_0_lt_5_4_1__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__kibana__ge_5_4_0_lt_5_4_1__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__kibana__ge_5_4_0_lt_5_4_1__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__kibana__ge_5_4_0_lt_5_4_1__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__kibana__ge_5_4_0_lt_5_4_1__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__kibana__ge_5_4_0_lt_5_4_1__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__kibana__ge_5_4_0_lt_5_4_1__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__kibana__ge_5_4_0_lt_5_4_1__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__kibana__ge_5_4_0_lt_5_4_1__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_2__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_2__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_2__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_2__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_2__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_2__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_2__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_2__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_2__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_2__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_2__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_2__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_2__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_2__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_2__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_2__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_3__open_redirect.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_3__open_redirect.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_3__open_redirect.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_3__open_redirect.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_3__open_redirect.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_3__open_redirect.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_3__open_redirect.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_3__open_redirect.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_3__open_redirect.dacg.result.s2.o0": "The library is known to include the URL Redirection to Untrusted Site vulnerability.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_3__open_redirect.dacg.result.s3.o0": "The URL Redirection to Untrusted Site vulnerability is caused by using unreliable user inputs to construct URLs and perform a redirection to them.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_3__open_redirect.dacg.result.s4.o0": "By using the URL Redirection to Untrusted Site vulnerability, an attacker can force users to access malicious sites, such as phishing sites.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_3__open_redirect.dacg.result.s5.o0": "As a result of the test, the URL Redirection to Untrusted Site vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_3__open_redirect.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_3__open_redirect.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_3__open_redirect.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_3__open_redirect.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_3__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_3__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_3__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_3__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_3__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_3__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_3__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_3__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_3__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_3__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_3__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_3__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_3__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_3__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_3__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__kibana__ge_6_0_0_lt_6_1_3__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__kibana__ge_6_1_0_lt_6_1_3__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__kibana__ge_6_1_0_lt_6_1_3__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__kibana__ge_6_1_0_lt_6_1_3__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__kibana__ge_6_1_0_lt_6_1_3__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__kibana__ge_6_1_0_lt_6_1_3__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__kibana__ge_6_1_0_lt_6_1_3__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__kibana__ge_6_1_0_lt_6_1_3__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__kibana__ge_6_1_0_lt_6_1_3__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__kibana__ge_6_1_0_lt_6_1_3__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__kibana__ge_6_1_0_lt_6_1_3__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__kibana__ge_6_1_0_lt_6_1_3__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__kibana__ge_6_1_0_lt_6_1_3__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__kibana__ge_6_1_0_lt_6_1_3__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__kibana__ge_6_1_0_lt_6_1_3__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__kibana__ge_6_1_0_lt_6_1_3__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__kibana__ge_6_1_0_lt_6_1_3__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__kibana__ge_6__1__1_lt_6_0_1__open_redirect.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__kibana__ge_6__1__1_lt_6_0_1__open_redirect.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__kibana__ge_6__1__1_lt_6_0_1__open_redirect.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__kibana__ge_6__1__1_lt_6_0_1__open_redirect.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__kibana__ge_6__1__1_lt_6_0_1__open_redirect.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__kibana__ge_6__1__1_lt_6_0_1__open_redirect.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__kibana__ge_6__1__1_lt_6_0_1__open_redirect.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__kibana__ge_6__1__1_lt_6_0_1__open_redirect.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__kibana__ge_6__1__1_lt_6_0_1__open_redirect.dacg.result.s2.o0": "The library is known to include the URL Redirection to Untrusted Site vulnerability.",
  "0.event.dacg_npm__kibana__ge_6__1__1_lt_6_0_1__open_redirect.dacg.result.s3.o0": "The URL Redirection to Untrusted Site vulnerability is caused by using unreliable user inputs to construct URLs and perform a redirection to them.",
  "0.event.dacg_npm__kibana__ge_6__1__1_lt_6_0_1__open_redirect.dacg.result.s4.o0": "By using the URL Redirection to Untrusted Site vulnerability, an attacker can force users to access malicious sites, such as phishing sites.",
  "0.event.dacg_npm__kibana__ge_6__1__1_lt_6_0_1__open_redirect.dacg.result.s5.o0": "As a result of the test, the URL Redirection to Untrusted Site vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__kibana__ge_6__1__1_lt_6_0_1__open_redirect.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__kibana__ge_6__1__1_lt_6_0_1__open_redirect.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__kibana__ge_6__1__1_lt_6_0_1__open_redirect.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__kibana__ge_6__1__1_lt_6_0_1__open_redirect.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__kibana__ge_6__1__1_lt_6_0_1__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__kibana__ge_6__1__1_lt_6_0_1__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__kibana__ge_6__1__1_lt_6_0_1__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__kibana__ge_6__1__1_lt_6_0_1__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__kibana__ge_6__1__1_lt_6_0_1__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__kibana__ge_6__1__1_lt_6_0_1__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__kibana__ge_6__1__1_lt_6_0_1__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__kibana__ge_6__1__1_lt_6_0_1__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__kibana__ge_6__1__1_lt_6_0_1__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__kibana__ge_6__1__1_lt_6_0_1__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__kibana__ge_6__1__1_lt_6_0_1__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__kibana__ge_6__1__1_lt_6_0_1__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__kibana__ge_6__1__1_lt_6_0_1__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__kibana__ge_6__1__1_lt_6_0_1__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__kibana__ge_6__1__1_lt_6_0_1__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__kibana__ge_6__1__1_lt_6_0_1__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__kibana__lt_5_0_0_alpha5__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__kibana__lt_5_0_0_alpha5__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__kibana__lt_5_0_0_alpha5__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__kibana__lt_5_0_0_alpha5__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__kibana__lt_5_0_0_alpha5__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__kibana__lt_5_0_0_alpha5__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__kibana__lt_5_0_0_alpha5__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__kibana__lt_5_0_0_alpha5__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__kibana__lt_5_0_0_alpha5__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__kibana__lt_5_0_0_alpha5__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__kibana__lt_5_0_0_alpha5__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__kibana__lt_5_0_0_alpha5__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__kibana__lt_5_0_0_alpha5__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__kibana__lt_5_0_0_alpha5__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__kibana__lt_5_0_0_alpha5__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__kibana__lt_5_0_0_alpha5__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__kibana__lt_5_2_1__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__kibana__lt_5_2_1__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__kibana__lt_5_2_1__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__kibana__lt_5_2_1__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__kibana__lt_5_2_1__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__kibana__lt_5_2_1__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__kibana__lt_5_2_1__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__kibana__lt_5_2_1__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__kibana__lt_5_2_1__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__kibana__lt_5_2_1__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__kibana__lt_5_2_1__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__kibana__lt_5_2_1__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__kibana__lt_5_2_1__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__kibana__lt_5_2_1__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__kibana__lt_5_2_1__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__kibana__lt_5_2_1__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__kibana__lt_5_3_1__open_redirect.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__kibana__lt_5_3_1__open_redirect.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__kibana__lt_5_3_1__open_redirect.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__kibana__lt_5_3_1__open_redirect.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__kibana__lt_5_3_1__open_redirect.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__kibana__lt_5_3_1__open_redirect.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__kibana__lt_5_3_1__open_redirect.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__kibana__lt_5_3_1__open_redirect.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__kibana__lt_5_3_1__open_redirect.dacg.result.s2.o0": "The library is known to include the URL Redirection to Untrusted Site vulnerability.",
  "0.event.dacg_npm__kibana__lt_5_3_1__open_redirect.dacg.result.s3.o0": "The URL Redirection to Untrusted Site vulnerability is caused by using unreliable user inputs to construct URLs and perform a redirection to them.",
  "0.event.dacg_npm__kibana__lt_5_3_1__open_redirect.dacg.result.s4.o0": "By using the URL Redirection to Untrusted Site vulnerability, an attacker can force users to access malicious sites, such as phishing sites.",
  "0.event.dacg_npm__kibana__lt_5_3_1__open_redirect.dacg.result.s5.o0": "As a result of the test, the URL Redirection to Untrusted Site vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__kibana__lt_5_3_1__open_redirect.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__kibana__lt_5_3_1__open_redirect.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__kibana__lt_5_3_1__open_redirect.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__kibana__lt_5_3_1__open_redirect.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__kibana__lt_5_4_1__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__kibana__lt_5_4_1__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__kibana__lt_5_4_1__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__kibana__lt_5_4_1__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__kibana__lt_5_4_1__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__kibana__lt_5_4_1__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__kibana__lt_5_4_1__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__kibana__lt_5_4_1__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__kibana__lt_5_4_1__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__kibana__lt_5_4_1__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__kibana__lt_5_4_1__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__kibana__lt_5_4_1__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__kibana__lt_5_4_1__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__kibana__lt_5_4_1__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__kibana__lt_5_4_1__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__kibana__lt_5_4_1__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__kibana__lt_5_4_3__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__kibana__lt_5_4_3__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__kibana__lt_5_4_3__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__kibana__lt_5_4_3__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__kibana__lt_5_4_3__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__kibana__lt_5_4_3__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__kibana__lt_5_4_3__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__kibana__lt_5_4_3__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__kibana__lt_5_4_3__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__kibana__lt_5_4_3__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__kibana__lt_5_4_3__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__kibana__lt_5_4_3__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__kibana__lt_5_4_3__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__kibana__lt_5_4_3__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__kibana__lt_5_4_3__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__kibana__lt_5_4_3__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__kibana__lt_5_6_1__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__kibana__lt_5_6_1__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__kibana__lt_5_6_1__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__kibana__lt_5_6_1__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__kibana__lt_5_6_1__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__kibana__lt_5_6_1__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__kibana__lt_5_6_1__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__kibana__lt_5_6_1__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__kibana__lt_5_6_1__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__kibana__lt_5_6_1__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__kibana__lt_5_6_1__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__kibana__lt_5_6_1__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__kibana__lt_5_6_1__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__kibana__lt_5_6_1__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__kibana__lt_5_6_1__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__kibana__lt_5_6_1__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__kibana__lt_5_6_5__open_redirect.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__kibana__lt_5_6_5__open_redirect.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__kibana__lt_5_6_5__open_redirect.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__kibana__lt_5_6_5__open_redirect.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__kibana__lt_5_6_5__open_redirect.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__kibana__lt_5_6_5__open_redirect.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__kibana__lt_5_6_5__open_redirect.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__kibana__lt_5_6_5__open_redirect.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__kibana__lt_5_6_5__open_redirect.dacg.result.s2.o0": "The library is known to include the URL Redirection to Untrusted Site vulnerability.",
  "0.event.dacg_npm__kibana__lt_5_6_5__open_redirect.dacg.result.s3.o0": "The URL Redirection to Untrusted Site vulnerability is caused by using unreliable user inputs to construct URLs and perform a redirection to them.",
  "0.event.dacg_npm__kibana__lt_5_6_5__open_redirect.dacg.result.s4.o0": "By using the URL Redirection to Untrusted Site vulnerability, an attacker can force users to access malicious sites, such as phishing sites.",
  "0.event.dacg_npm__kibana__lt_5_6_5__open_redirect.dacg.result.s5.o0": "As a result of the test, the URL Redirection to Untrusted Site vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__kibana__lt_5_6_5__open_redirect.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__kibana__lt_5_6_5__open_redirect.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__kibana__lt_5_6_5__open_redirect.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__kibana__lt_5_6_5__open_redirect.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__kibana__lt_5_6_5__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__kibana__lt_5_6_5__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__kibana__lt_5_6_5__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__kibana__lt_5_6_5__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__kibana__lt_5_6_5__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__kibana__lt_5_6_5__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__kibana__lt_5_6_5__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__kibana__lt_5_6_5__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__kibana__lt_5_6_5__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__kibana__lt_5_6_5__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__kibana__lt_5_6_5__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__kibana__lt_5_6_5__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__kibana__lt_5_6_5__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__kibana__lt_5_6_5__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__kibana__lt_5_6_5__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__kibana__lt_5_6_5__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__kindlegen__lt_1_1_0__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__kindlegen__lt_1_1_0__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__kindlegen__lt_1_1_0__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__kindlegen__lt_1_1_0__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__kindlegen__lt_1_1_0__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__kindlegen__lt_1_1_0__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__kindlegen__lt_1_1_0__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__kindlegen__lt_1_1_0__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__kindlegen__lt_1_1_0__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__kindlegen__lt_1_1_0__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__kindlegen__lt_1_1_0__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__kindlegen__lt_1_1_0__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__kindlegen__lt_1_1_0__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__kindlegen__lt_1_1_0__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__kindlegen__lt_1_1_0__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__kindlegen__lt_1_1_0__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__kmc__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__kmc__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__kmc__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__kmc__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__kmc__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__kmc__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__kmc__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__kmc__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__kmc__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__kmc__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__kmc__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__kmc__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__kmc__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__kmc__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__kmc__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__kmc__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__knex__ge_0_7_0_lt_0_7_6__sql_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__knex__ge_0_7_0_lt_0_7_6__sql_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__knex__ge_0_7_0_lt_0_7_6__sql_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__knex__ge_0_7_0_lt_0_7_6__sql_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__knex__ge_0_7_0_lt_0_7_6__sql_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__knex__ge_0_7_0_lt_0_7_6__sql_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__knex__ge_0_7_0_lt_0_7_6__sql_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__knex__ge_0_7_0_lt_0_7_6__sql_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__knex__ge_0_7_0_lt_0_7_6__sql_injection.dacg.result.s2.o0": "The library is known to include the SQL Injection vulnerability.",
  "0.event.dacg_npm__knex__ge_0_7_0_lt_0_7_6__sql_injection.dacg.result.s3.o0": "The SQL Injection vulnerability is caused by manipulating SQL queries or executing unintended SQL statements.",
  "0.event.dacg_npm__knex__ge_0_7_0_lt_0_7_6__sql_injection.dacg.result.s4.o0": "Using the SQL Injection vulnerability, an attacker can steal and manipulate important information in the database.",
  "0.event.dacg_npm__knex__ge_0_7_0_lt_0_7_6__sql_injection.dacg.result.s5.o0": "As a result of the test, the SQL Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__knex__ge_0_7_0_lt_0_7_6__sql_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__knex__ge_0_7_0_lt_0_7_6__sql_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__knex__ge_0_7_0_lt_0_7_6__sql_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__knex__ge_0_7_0_lt_0_7_6__sql_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__knex__lt_0_6_23__sql_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__knex__lt_0_6_23__sql_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__knex__lt_0_6_23__sql_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__knex__lt_0_6_23__sql_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__knex__lt_0_6_23__sql_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__knex__lt_0_6_23__sql_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__knex__lt_0_6_23__sql_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__knex__lt_0_6_23__sql_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__knex__lt_0_6_23__sql_injection.dacg.result.s2.o0": "The library is known to include the SQL Injection vulnerability.",
  "0.event.dacg_npm__knex__lt_0_6_23__sql_injection.dacg.result.s3.o0": "The SQL Injection vulnerability is caused by manipulating SQL queries or executing unintended SQL statements.",
  "0.event.dacg_npm__knex__lt_0_6_23__sql_injection.dacg.result.s4.o0": "Using the SQL Injection vulnerability, an attacker can steal and manipulate important information in the database.",
  "0.event.dacg_npm__knex__lt_0_6_23__sql_injection.dacg.result.s5.o0": "As a result of the test, the SQL Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__knex__lt_0_6_23__sql_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__knex__lt_0_6_23__sql_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__knex__lt_0_6_23__sql_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__knex__lt_0_6_23__sql_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__knockout__ge_2_1_0_pre_lt_3_0_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__knockout__ge_2_1_0_pre_lt_3_0_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__knockout__ge_2_1_0_pre_lt_3_0_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__knockout__ge_2_1_0_pre_lt_3_0_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__knockout__ge_2_1_0_pre_lt_3_0_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__knockout__ge_2_1_0_pre_lt_3_0_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__knockout__ge_2_1_0_pre_lt_3_0_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__knockout__ge_2_1_0_pre_lt_3_0_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__knockout__ge_2_1_0_pre_lt_3_0_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__knockout__ge_2_1_0_pre_lt_3_0_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__knockout__ge_2_1_0_pre_lt_3_0_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__knockout__ge_2_1_0_pre_lt_3_0_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__knockout__ge_2_1_0_pre_lt_3_0_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__knockout__ge_2_1_0_pre_lt_3_0_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__knockout__ge_2_1_0_pre_lt_3_0_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__knockout__ge_2_1_0_pre_lt_3_0_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__knockout__lt_3_5_0_beta__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__knockout__lt_3_5_0_beta__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__knockout__lt_3_5_0_beta__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__knockout__lt_3_5_0_beta__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__knockout__lt_3_5_0_beta__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__knockout__lt_3_5_0_beta__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__knockout__lt_3_5_0_beta__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__knockout__lt_3_5_0_beta__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__knockout__lt_3_5_0_beta__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__knockout__lt_3_5_0_beta__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__knockout__lt_3_5_0_beta__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__knockout__lt_3_5_0_beta__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__knockout__lt_3_5_0_beta__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__knockout__lt_3_5_0_beta__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__knockout__lt_3_5_0_beta__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__knockout__lt_3_5_0_beta__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__koa_body__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__koa_body__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__koa_body__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__koa_body__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__koa_body__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__koa_body__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__koa_body__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__koa_body__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__koa_body__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__koa_body__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__koa_body__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__koa_body__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__koa_body__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__koa_body__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__koa_body__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__koa_body__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__koa_static_cache__ge_5_0_0_lt_5_1_1__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__koa_static_cache__ge_5_0_0_lt_5_1_1__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__koa_static_cache__ge_5_0_0_lt_5_1_1__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__koa_static_cache__ge_5_0_0_lt_5_1_1__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__koa_static_cache__ge_5_0_0_lt_5_1_1__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__koa_static_cache__ge_5_0_0_lt_5_1_1__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__koa_static_cache__ge_5_0_0_lt_5_1_1__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__koa_static_cache__ge_5_0_0_lt_5_1_1__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__koa_static_cache__ge_5_0_0_lt_5_1_1__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__koa_static_cache__ge_5_0_0_lt_5_1_1__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__koa_static_cache__ge_5_0_0_lt_5_1_1__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__koa_static_cache__ge_5_0_0_lt_5_1_1__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__koa_static_cache__ge_5_0_0_lt_5_1_1__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__koa_static_cache__ge_5_0_0_lt_5_1_1__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__koa_static_cache__ge_5_0_0_lt_5_1_1__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__koa_static_cache__ge_5_0_0_lt_5_1_1__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__koa_static_cache__lt_4_1_1__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__koa_static_cache__lt_4_1_1__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__koa_static_cache__lt_4_1_1__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__koa_static_cache__lt_4_1_1__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__koa_static_cache__lt_4_1_1__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__koa_static_cache__lt_4_1_1__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__koa_static_cache__lt_4_1_1__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__koa_static_cache__lt_4_1_1__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__koa_static_cache__lt_4_1_1__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__koa_static_cache__lt_4_1_1__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__koa_static_cache__lt_4_1_1__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__koa_static_cache__lt_4_1_1__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__koa_static_cache__lt_4_1_1__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__koa_static_cache__lt_4_1_1__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__koa_static_cache__lt_4_1_1__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__koa_static_cache__lt_4_1_1__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__lab6_1__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__lab6_1__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__lab6_1__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__lab6_1__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__lab6_1__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__lab6_1__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__lab6_1__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__lab6_1__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__lab6_1__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__lab6_1__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__lab6_1__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__lab6_1__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__lab6_1__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__lab6_1__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__lab6_1__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__lab6_1__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__lab6_agolotin__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__lab6_agolotin__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__lab6_agolotin__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__lab6_agolotin__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__lab6_agolotin__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__lab6_agolotin__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__lab6_agolotin__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__lab6_agolotin__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__lab6_agolotin__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__lab6_agolotin__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__lab6_agolotin__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__lab6_agolotin__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__lab6_agolotin__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__lab6_agolotin__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__lab6_agolotin__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__lab6_agolotin__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__lab6_brit95__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__lab6_brit95__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__lab6_brit95__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__lab6_brit95__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__lab6_brit95__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__lab6_brit95__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__lab6_brit95__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__lab6_brit95__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__lab6_brit95__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__lab6_brit95__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__lab6_brit95__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__lab6_brit95__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__lab6_brit95__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__lab6_brit95__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__lab6_brit95__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__lab6_brit95__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__lab6_wclaibor__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__lab6_wclaibor__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__lab6_wclaibor__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__lab6_wclaibor__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__lab6_wclaibor__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__lab6_wclaibor__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__lab6_wclaibor__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__lab6_wclaibor__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__lab6_wclaibor__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__lab6_wclaibor__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__lab6_wclaibor__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__lab6_wclaibor__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__lab6_wclaibor__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__lab6_wclaibor__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__lab6_wclaibor__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__lab6_wclaibor__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__lab6drewfusbyu__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__lab6drewfusbyu__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__lab6drewfusbyu__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__lab6drewfusbyu__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__lab6drewfusbyu__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__lab6drewfusbyu__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__lab6drewfusbyu__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__lab6drewfusbyu__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__lab6drewfusbyu__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__lab6drewfusbyu__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__lab6drewfusbyu__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__lab6drewfusbyu__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__lab6drewfusbyu__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__lab6drewfusbyu__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__lab6drewfusbyu__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__lab6drewfusbyu__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__lactate__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__lactate__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__lactate__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__lactate__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__lactate__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__lactate__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__lactate__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__lactate__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__lactate__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__lactate__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__lactate__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__lactate__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__lactate__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__lactate__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__lactate__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__lactate__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ladder_text_js__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ladder_text_js__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ladder_text_js__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ladder_text_js__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ladder_text_js__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ladder_text_js__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ladder_text_js__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ladder_text_js__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ladder_text_js__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__ladder_text_js__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__ladder_text_js__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__ladder_text_js__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ladder_text_js__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ladder_text_js__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ladder_text_js__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ladder_text_js__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__lam__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__lam__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__lam__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__lam__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__lam__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__lam__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__lam__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__lam__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__lam__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__lam__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__lam__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__lam__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__lam__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__lam__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__lam__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__lam__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__lander__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__lander__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__lander__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__lander__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__lander__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__lander__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__lander__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__lander__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__lander__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__lander__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__lander__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__lander__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__lander__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__lander__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__lander__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__lander__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ldapauth__le_2_2_4__ldap_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ldapauth__le_2_2_4__ldap_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ldapauth__le_2_2_4__ldap_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ldapauth__le_2_2_4__ldap_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ldapauth__le_2_2_4__ldap_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ldapauth__le_2_2_4__ldap_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ldapauth__le_2_2_4__ldap_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ldapauth__le_2_2_4__ldap_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ldapauth__le_2_2_4__ldap_injection.dacg.result.s2.o0": "The library is known to include the LDAP Injection vulnerability.",
  "0.event.dacg_npm__ldapauth__le_2_2_4__ldap_injection.dacg.result.s3.o0": "The LDAP Injection vulnerability is caused by using user inputs to construct LDAP statements without any verification.",
  "0.event.dacg_npm__ldapauth__le_2_2_4__ldap_injection.dacg.result.s4.o0": "Using the LDAP Injection vulnerability, an attacker can manipulate the LDAP structure within the target application and capture important information.",
  "0.event.dacg_npm__ldapauth__le_2_2_4__ldap_injection.dacg.result.s5.o0": "As a result of the test, the LDAP Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ldapauth__le_2_2_4__ldap_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ldapauth__le_2_2_4__ldap_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ldapauth__le_2_2_4__ldap_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ldapauth__le_2_2_4__ldap_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ldapauth_fork__lt_2_3_3__ldap_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ldapauth_fork__lt_2_3_3__ldap_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ldapauth_fork__lt_2_3_3__ldap_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ldapauth_fork__lt_2_3_3__ldap_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ldapauth_fork__lt_2_3_3__ldap_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ldapauth_fork__lt_2_3_3__ldap_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ldapauth_fork__lt_2_3_3__ldap_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ldapauth_fork__lt_2_3_3__ldap_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ldapauth_fork__lt_2_3_3__ldap_injection.dacg.result.s2.o0": "The library is known to include the LDAP Injection vulnerability.",
  "0.event.dacg_npm__ldapauth_fork__lt_2_3_3__ldap_injection.dacg.result.s3.o0": "The LDAP Injection vulnerability is caused by using user inputs to construct LDAP statements without any verification.",
  "0.event.dacg_npm__ldapauth_fork__lt_2_3_3__ldap_injection.dacg.result.s4.o0": "Using the LDAP Injection vulnerability, an attacker can manipulate the LDAP structure within the target application and capture important information.",
  "0.event.dacg_npm__ldapauth_fork__lt_2_3_3__ldap_injection.dacg.result.s5.o0": "As a result of the test, the LDAP Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ldapauth_fork__lt_2_3_3__ldap_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ldapauth_fork__lt_2_3_3__ldap_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ldapauth_fork__lt_2_3_3__ldap_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ldapauth_fork__lt_2_3_3__ldap_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__less_livereload__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__less_livereload__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__less_livereload__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__less_livereload__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__less_livereload__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__less_livereload__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__less_livereload__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__less_livereload__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__less_livereload__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__less_livereload__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__less_livereload__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__less_livereload__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__less_livereload__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__less_livereload__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__less_livereload__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__less_livereload__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__lessindex__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__lessindex__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__lessindex__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__lessindex__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__lessindex__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__lessindex__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__lessindex__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__lessindex__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__lessindex__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__lessindex__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__lessindex__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__lessindex__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__lessindex__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__lessindex__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__lessindex__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__lessindex__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__lets_chat__ge_0_3_10_lt_0_4_8__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__lets_chat__ge_0_3_10_lt_0_4_8__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__lets_chat__ge_0_3_10_lt_0_4_8__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__lets_chat__ge_0_3_10_lt_0_4_8__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__lets_chat__ge_0_3_10_lt_0_4_8__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__lets_chat__ge_0_3_10_lt_0_4_8__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__lets_chat__ge_0_3_10_lt_0_4_8__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__lets_chat__ge_0_3_10_lt_0_4_8__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__lets_chat__ge_0_3_10_lt_0_4_8__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__lets_chat__ge_0_3_10_lt_0_4_8__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__lets_chat__ge_0_3_10_lt_0_4_8__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__lets_chat__ge_0_3_10_lt_0_4_8__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__lets_chat__ge_0_3_10_lt_0_4_8__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__lets_chat__ge_0_3_10_lt_0_4_8__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__lets_chat__ge_0_3_10_lt_0_4_8__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__lets_chat__ge_0_3_10_lt_0_4_8__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__libnotify__le_1_0_3__command_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__libnotify__le_1_0_3__command_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__libnotify__le_1_0_3__command_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__libnotify__le_1_0_3__command_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__libnotify__le_1_0_3__command_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__libnotify__le_1_0_3__command_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__libnotify__le_1_0_3__command_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__libnotify__le_1_0_3__command_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__libnotify__le_1_0_3__command_injection.dacg.result.s2.o0": "The library is known to include the OS Command Injection vulnerability.",
  "0.event.dacg_npm__libnotify__le_1_0_3__command_injection.dacg.result.s3.o0": "The OS Command Injection vulnerability is caused by executing user commands without any verification process.",
  "0.event.dacg_npm__libnotify__le_1_0_3__command_injection.dacg.result.s4.o0": "Using the OS Command Injection vulnerability, an attacker can steal key information of the server and force to perform unintended behaviors.",
  "0.event.dacg_npm__libnotify__le_1_0_3__command_injection.dacg.result.s5.o0": "As a result of the test, the OS Command Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__libnotify__le_1_0_3__command_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__libnotify__le_1_0_3__command_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__libnotify__le_1_0_3__command_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__libnotify__le_1_0_3__command_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__libp2p_secio__le_0_8_1__authentication_bypass.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__libp2p_secio__le_0_8_1__authentication_bypass.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__libp2p_secio__le_0_8_1__authentication_bypass.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__libp2p_secio__le_0_8_1__authentication_bypass.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__libp2p_secio__le_0_8_1__authentication_bypass.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__libp2p_secio__le_0_8_1__authentication_bypass.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__libp2p_secio__le_0_8_1__authentication_bypass.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__libp2p_secio__le_0_8_1__authentication_bypass.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__libp2p_secio__le_0_8_1__authentication_bypass.dacg.result.s2.o0": "The library is known to include the Authentication Bypass vulnerability.",
  "0.event.dacg_npm__libp2p_secio__le_0_8_1__authentication_bypass.dacg.result.s3.o0": "Authentication bypass vulnerabilities can bypass a required authentication process.",
  "0.event.dacg_npm__libp2p_secio__le_0_8_1__authentication_bypass.dacg.result.s4.o0": "Using the Authentication Bypass vulnerability, an attacker can access to and manipulation of limited information.",
  "0.event.dacg_npm__libp2p_secio__le_0_8_1__authentication_bypass.dacg.result.s5.o0": "As a result of the test, the Authentication Bypass vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__libp2p_secio__le_0_8_1__authentication_bypass.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__libp2p_secio__le_0_8_1__authentication_bypass.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__libp2p_secio__le_0_8_1__authentication_bypass.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__libp2p_secio__le_0_8_1__authentication_bypass.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__libsbml__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__libsbml__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__libsbml__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__libsbml__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__libsbml__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__libsbml__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__libsbml__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__libsbml__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__libsbml__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__libsbml__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__libsbml__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__libsbml__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__libsbml__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__libsbml__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__libsbml__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__libsbml__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__libsbmlsim__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__libsbmlsim__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__libsbmlsim__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__libsbmlsim__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__libsbmlsim__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__libsbmlsim__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__libsbmlsim__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__libsbmlsim__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__libsbmlsim__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__libsbmlsim__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__libsbmlsim__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__libsbmlsim__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__libsbmlsim__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__libsbmlsim__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__libsbmlsim__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__libsbmlsim__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__libxl__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__libxl__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__libxl__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__libxl__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__libxl__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__libxl__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__libxl__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__libxl__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__libxl__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__libxl__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__libxl__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__libxl__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__libxl__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__libxl__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__libxl__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__libxl__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__libxmljs__le_0_16_1__xxe_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__libxmljs__le_0_16_1__xxe_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__libxmljs__le_0_16_1__xxe_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__libxmljs__le_0_16_1__xxe_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__libxmljs__le_0_16_1__xxe_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__libxmljs__le_0_16_1__xxe_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__libxmljs__le_0_16_1__xxe_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__libxmljs__le_0_16_1__xxe_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__libxmljs__le_0_16_1__xxe_injection.dacg.result.s2.o0": "The library is known to include the XML External Entity (XXE) Injection vulnerability.",
  "0.event.dacg_npm__libxmljs__le_0_16_1__xxe_injection.dacg.result.s3.o0": "The XML External Entity (XXE) Injection vulnerability is caused by using external URL resources, such as objects, in XML documents without verification process.",
  "0.event.dacg_npm__libxmljs__le_0_16_1__xxe_injection.dacg.result.s4.o0": "Using the XML External Entity (XXE) Injection vulnerability, an attacker can steal sensitive information or perform resource depletion or denial of service attacks such as 'Billion Laughs'.",
  "0.event.dacg_npm__libxmljs__le_0_16_1__xxe_injection.dacg.result.s5.o0": "As a result of the test, the XML External Entity (XXE) Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__libxmljs__le_0_16_1__xxe_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__libxmljs__le_0_16_1__xxe_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__libxmljs__le_0_16_1__xxe_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__libxmljs__le_0_16_1__xxe_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__libyaml__lt_0_2_3__heap_based_buffer_overflow.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__libyaml__lt_0_2_3__heap_based_buffer_overflow.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__libyaml__lt_0_2_3__heap_based_buffer_overflow.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__libyaml__lt_0_2_3__heap_based_buffer_overflow.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__libyaml__lt_0_2_3__heap_based_buffer_overflow.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__libyaml__lt_0_2_3__heap_based_buffer_overflow.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__libyaml__lt_0_2_3__heap_based_buffer_overflow.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__libyaml__lt_0_2_3__heap_based_buffer_overflow.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__libyaml__lt_0_2_3__heap_based_buffer_overflow.dacg.result.s2.o0": "The library is known to include the Heap-based Buffer Overflow vulnerability.",
  "0.event.dacg_npm__libyaml__lt_0_2_3__heap_based_buffer_overflow.dacg.result.s3.o0": "The Heap-Based Buffer Overflow vulnerability is caused by accessing and modifying a heap location out of a specified buffer location.",
  "0.event.dacg_npm__libyaml__lt_0_2_3__heap_based_buffer_overflow.dacg.result.s4.o0": "Using the Heap-based Buffer Overflow vulnerability, an attacker can overwrite unintended data in the heap buffer and manipulate specific values of the target application, or control flow.",
  "0.event.dacg_npm__libyaml__lt_0_2_3__heap_based_buffer_overflow.dacg.result.s5.o0": "As a result of the test, the Heap-based Buffer Overflow vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__libyaml__lt_0_2_3__heap_based_buffer_overflow.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__libyaml__lt_0_2_3__heap_based_buffer_overflow.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__libyaml__lt_0_2_3__heap_based_buffer_overflow.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__libyaml__lt_0_2_3__heap_based_buffer_overflow.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__life_star__le_0_8_4__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__life_star__le_0_8_4__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__life_star__le_0_8_4__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__life_star__le_0_8_4__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__life_star__le_0_8_4__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__life_star__le_0_8_4__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__life_star__le_0_8_4__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__life_star__le_0_8_4__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__life_star__le_0_8_4__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__life_star__le_0_8_4__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__life_star__le_0_8_4__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__life_star__le_0_8_4__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__life_star__le_0_8_4__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__life_star__le_0_8_4__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__life_star__le_0_8_4__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__life_star__le_0_8_4__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__lihuini__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__lihuini__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__lihuini__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__lihuini__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__lihuini__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__lihuini__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__lihuini__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__lihuini__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__lihuini__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__lihuini__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__lihuini__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__lihuini__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__lihuini__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__lihuini__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__lihuini__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__lihuini__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__limbus_buildgen__lt_0_1_1__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__limbus_buildgen__lt_0_1_1__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__limbus_buildgen__lt_0_1_1__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__limbus_buildgen__lt_0_1_1__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__limbus_buildgen__lt_0_1_1__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__limbus_buildgen__lt_0_1_1__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__limbus_buildgen__lt_0_1_1__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__limbus_buildgen__lt_0_1_1__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__limbus_buildgen__lt_0_1_1__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__limbus_buildgen__lt_0_1_1__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__limbus_buildgen__lt_0_1_1__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__limbus_buildgen__lt_0_1_1__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__limbus_buildgen__lt_0_1_1__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__limbus_buildgen__lt_0_1_1__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__limbus_buildgen__lt_0_1_1__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__limbus_buildgen__lt_0_1_1__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__list_n_stream__lt_0_0_11__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__list_n_stream__lt_0_0_11__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__list_n_stream__lt_0_0_11__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__list_n_stream__lt_0_0_11__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__list_n_stream__lt_0_0_11__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__list_n_stream__lt_0_0_11__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__list_n_stream__lt_0_0_11__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__list_n_stream__lt_0_0_11__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__list_n_stream__lt_0_0_11__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__list_n_stream__lt_0_0_11__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__list_n_stream__lt_0_0_11__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__list_n_stream__lt_0_0_11__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__list_n_stream__lt_0_0_11__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__list_n_stream__lt_0_0_11__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__list_n_stream__lt_0_0_11__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__list_n_stream__lt_0_0_11__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__litedoc__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__litedoc__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__litedoc__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__litedoc__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__litedoc__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__litedoc__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__litedoc__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__litedoc__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__litedoc__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__litedoc__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__litedoc__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__litedoc__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__litedoc__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__litedoc__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__litedoc__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__litedoc__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__liuyaserver__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__liuyaserver__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__liuyaserver__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__liuyaserver__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__liuyaserver__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__liuyaserver__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__liuyaserver__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__liuyaserver__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__liuyaserver__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__liuyaserver__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__liuyaserver__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__liuyaserver__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__liuyaserver__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__liuyaserver__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__liuyaserver__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__liuyaserver__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__liyujing__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__liyujing__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__liyujing__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__liyujing__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__liyujing__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__liyujing__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__liyujing__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__liyujing__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__liyujing__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__liyujing__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__liyujing__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__liyujing__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__liyujing__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__liyujing__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__liyujing__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__liyujing__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ljjnodeserve__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ljjnodeserve__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ljjnodeserve__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ljjnodeserve__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ljjnodeserve__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ljjnodeserve__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ljjnodeserve__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ljjnodeserve__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ljjnodeserve__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__ljjnodeserve__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__ljjnodeserve__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__ljjnodeserve__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ljjnodeserve__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ljjnodeserve__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ljjnodeserve__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ljjnodeserve__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__localhost_now__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__localhost_now__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__localhost_now__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__localhost_now__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__localhost_now__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__localhost_now__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__localhost_now__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__localhost_now__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__localhost_now__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__localhost_now__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__localhost_now__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__localhost_now__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__localhost_now__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__localhost_now__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__localhost_now__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__localhost_now__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__localhost_now__lt_1_0_2__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__localhost_now__lt_1_0_2__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__localhost_now__lt_1_0_2__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__localhost_now__lt_1_0_2__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__localhost_now__lt_1_0_2__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__localhost_now__lt_1_0_2__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__localhost_now__lt_1_0_2__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__localhost_now__lt_1_0_2__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__localhost_now__lt_1_0_2__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__localhost_now__lt_1_0_2__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__localhost_now__lt_1_0_2__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__localhost_now__lt_1_0_2__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__localhost_now__lt_1_0_2__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__localhost_now__lt_1_0_2__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__localhost_now__lt_1_0_2__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__localhost_now__lt_1_0_2__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__lodash__lt_4_17_5__prototype_pollution.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__lodash__lt_4_17_5__prototype_pollution.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__lodash__lt_4_17_5__prototype_pollution.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__lodash__lt_4_17_5__prototype_pollution.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__lodash__lt_4_17_5__prototype_pollution.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__lodash__lt_4_17_5__prototype_pollution.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__lodash__lt_4_17_5__prototype_pollution.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__lodash__lt_4_17_5__prototype_pollution.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__lodash__lt_4_17_5__prototype_pollution.dacg.result.s2.o0": "The library is known to include the Prototype Pollution vulnerability.",
  "0.event.dacg_npm__lodash__lt_4_17_5__prototype_pollution.dacg.result.s3.o0": "The Prototype Pollution vulnerability is caused by manipulating prototypes of JavaScript objects.",
  "0.event.dacg_npm__lodash__lt_4_17_5__prototype_pollution.dacg.result.s4.o0": "Using the Prototype Pollution vulnerability, an attacker can modify and capture property information for all objects.",
  "0.event.dacg_npm__lodash__lt_4_17_5__prototype_pollution.dacg.result.s5.o0": "As a result of the test, the Prototype Pollution vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__lodash__lt_4_17_5__prototype_pollution.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__lodash__lt_4_17_5__prototype_pollution.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__lodash__lt_4_17_5__prototype_pollution.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__lodash__lt_4_17_5__prototype_pollution.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__loopback__lt_3_16_2__authentication_bypass.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__loopback__lt_3_16_2__authentication_bypass.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__loopback__lt_3_16_2__authentication_bypass.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__loopback__lt_3_16_2__authentication_bypass.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__loopback__lt_3_16_2__authentication_bypass.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__loopback__lt_3_16_2__authentication_bypass.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__loopback__lt_3_16_2__authentication_bypass.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__loopback__lt_3_16_2__authentication_bypass.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__loopback__lt_3_16_2__authentication_bypass.dacg.result.s2.o0": "The library is known to include the Authentication Bypass vulnerability.",
  "0.event.dacg_npm__loopback__lt_3_16_2__authentication_bypass.dacg.result.s3.o0": "Authentication bypass vulnerabilities can bypass a required authentication process.",
  "0.event.dacg_npm__loopback__lt_3_16_2__authentication_bypass.dacg.result.s4.o0": "Using the Authentication Bypass vulnerability, an attacker can access to and manipulation of limited information.",
  "0.event.dacg_npm__loopback__lt_3_16_2__authentication_bypass.dacg.result.s5.o0": "As a result of the test, the Authentication Bypass vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__loopback__lt_3_16_2__authentication_bypass.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__loopback__lt_3_16_2__authentication_bypass.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__loopback__lt_3_16_2__authentication_bypass.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__loopback__lt_3_16_2__authentication_bypass.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__loopback_connector_mssql__lt_1_3_0__sql_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__loopback_connector_mssql__lt_1_3_0__sql_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__loopback_connector_mssql__lt_1_3_0__sql_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__loopback_connector_mssql__lt_1_3_0__sql_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__loopback_connector_mssql__lt_1_3_0__sql_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__loopback_connector_mssql__lt_1_3_0__sql_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__loopback_connector_mssql__lt_1_3_0__sql_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__loopback_connector_mssql__lt_1_3_0__sql_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__loopback_connector_mssql__lt_1_3_0__sql_injection.dacg.result.s2.o0": "The library is known to include the SQL Injection vulnerability.",
  "0.event.dacg_npm__loopback_connector_mssql__lt_1_3_0__sql_injection.dacg.result.s3.o0": "The SQL Injection vulnerability is caused by manipulating SQL queries or executing unintended SQL statements.",
  "0.event.dacg_npm__loopback_connector_mssql__lt_1_3_0__sql_injection.dacg.result.s4.o0": "Using the SQL Injection vulnerability, an attacker can steal and manipulate important information in the database.",
  "0.event.dacg_npm__loopback_connector_mssql__lt_1_3_0__sql_injection.dacg.result.s5.o0": "As a result of the test, the SQL Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__loopback_connector_mssql__lt_1_3_0__sql_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__loopback_connector_mssql__lt_1_3_0__sql_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__loopback_connector_mssql__lt_1_3_0__sql_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__loopback_connector_mssql__lt_1_3_0__sql_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__loopback_connector_mysql__lt_1_5_0__sql_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__loopback_connector_mysql__lt_1_5_0__sql_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__loopback_connector_mysql__lt_1_5_0__sql_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__loopback_connector_mysql__lt_1_5_0__sql_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__loopback_connector_mysql__lt_1_5_0__sql_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__loopback_connector_mysql__lt_1_5_0__sql_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__loopback_connector_mysql__lt_1_5_0__sql_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__loopback_connector_mysql__lt_1_5_0__sql_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__loopback_connector_mysql__lt_1_5_0__sql_injection.dacg.result.s2.o0": "The library is known to include the SQL Injection vulnerability.",
  "0.event.dacg_npm__loopback_connector_mysql__lt_1_5_0__sql_injection.dacg.result.s3.o0": "The SQL Injection vulnerability is caused by manipulating SQL queries or executing unintended SQL statements.",
  "0.event.dacg_npm__loopback_connector_mysql__lt_1_5_0__sql_injection.dacg.result.s4.o0": "Using the SQL Injection vulnerability, an attacker can steal and manipulate important information in the database.",
  "0.event.dacg_npm__loopback_connector_mysql__lt_1_5_0__sql_injection.dacg.result.s5.o0": "As a result of the test, the SQL Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__loopback_connector_mysql__lt_1_5_0__sql_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__loopback_connector_mysql__lt_1_5_0__sql_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__loopback_connector_mysql__lt_1_5_0__sql_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__loopback_connector_mysql__lt_1_5_0__sql_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__loopback_connector_oracle__lt_1_5_0__sql_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__loopback_connector_oracle__lt_1_5_0__sql_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__loopback_connector_oracle__lt_1_5_0__sql_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__loopback_connector_oracle__lt_1_5_0__sql_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__loopback_connector_oracle__lt_1_5_0__sql_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__loopback_connector_oracle__lt_1_5_0__sql_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__loopback_connector_oracle__lt_1_5_0__sql_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__loopback_connector_oracle__lt_1_5_0__sql_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__loopback_connector_oracle__lt_1_5_0__sql_injection.dacg.result.s2.o0": "The library is known to include the SQL Injection vulnerability.",
  "0.event.dacg_npm__loopback_connector_oracle__lt_1_5_0__sql_injection.dacg.result.s3.o0": "The SQL Injection vulnerability is caused by manipulating SQL queries or executing unintended SQL statements.",
  "0.event.dacg_npm__loopback_connector_oracle__lt_1_5_0__sql_injection.dacg.result.s4.o0": "Using the SQL Injection vulnerability, an attacker can steal and manipulate important information in the database.",
  "0.event.dacg_npm__loopback_connector_oracle__lt_1_5_0__sql_injection.dacg.result.s5.o0": "As a result of the test, the SQL Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__loopback_connector_oracle__lt_1_5_0__sql_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__loopback_connector_oracle__lt_1_5_0__sql_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__loopback_connector_oracle__lt_1_5_0__sql_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__loopback_connector_oracle__lt_1_5_0__sql_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__loopback_connector_postgresql__lt_1_3_0__sql_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__loopback_connector_postgresql__lt_1_3_0__sql_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__loopback_connector_postgresql__lt_1_3_0__sql_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__loopback_connector_postgresql__lt_1_3_0__sql_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__loopback_connector_postgresql__lt_1_3_0__sql_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__loopback_connector_postgresql__lt_1_3_0__sql_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__loopback_connector_postgresql__lt_1_3_0__sql_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__loopback_connector_postgresql__lt_1_3_0__sql_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__loopback_connector_postgresql__lt_1_3_0__sql_injection.dacg.result.s2.o0": "The library is known to include the SQL Injection vulnerability.",
  "0.event.dacg_npm__loopback_connector_postgresql__lt_1_3_0__sql_injection.dacg.result.s3.o0": "The SQL Injection vulnerability is caused by manipulating SQL queries or executing unintended SQL statements.",
  "0.event.dacg_npm__loopback_connector_postgresql__lt_1_3_0__sql_injection.dacg.result.s4.o0": "Using the SQL Injection vulnerability, an attacker can steal and manipulate important information in the database.",
  "0.event.dacg_npm__loopback_connector_postgresql__lt_1_3_0__sql_injection.dacg.result.s5.o0": "As a result of the test, the SQL Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__loopback_connector_postgresql__lt_1_3_0__sql_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__loopback_connector_postgresql__lt_1_3_0__sql_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__loopback_connector_postgresql__lt_1_3_0__sql_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__loopback_connector_postgresql__lt_1_3_0__sql_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__looppake__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__looppake__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__looppake__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__looppake__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__looppake__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__looppake__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__looppake__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__looppake__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__looppake__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__looppake__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__looppake__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__looppake__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__looppake__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__looppake__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__looppake__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__looppake__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ltt__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ltt__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ltt__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ltt__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ltt__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ltt__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ltt__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ltt__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ltt__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__ltt__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__ltt__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__ltt__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ltt__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ltt__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ltt__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ltt__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ltt_js__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ltt_js__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ltt_js__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ltt_js__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ltt_js__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ltt_js__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ltt_js__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ltt_js__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ltt_js__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__ltt_js__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__ltt_js__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__ltt_js__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ltt_js__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ltt_js__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ltt_js__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ltt_js__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__lzl123__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__lzl123__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__lzl123__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__lzl123__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__lzl123__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__lzl123__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__lzl123__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__lzl123__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__lzl123__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__lzl123__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__lzl123__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__lzl123__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__lzl123__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__lzl123__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__lzl123__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__lzl123__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__m2m_supervisor__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__m2m_supervisor__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__m2m_supervisor__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__m2m_supervisor__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__m2m_supervisor__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__m2m_supervisor__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__m2m_supervisor__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__m2m_supervisor__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__m2m_supervisor__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__m2m_supervisor__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__m2m_supervisor__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__m2m_supervisor__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__m2m_supervisor__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__m2m_supervisor__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__m2m_supervisor__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__m2m_supervisor__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__m_log__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__m_log__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__m_log__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__m_log__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__m_log__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__m_log__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__m_log__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__m_log__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__m_log__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__m_log__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__m_log__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__m_log__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__m_log__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__m_log__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__m_log__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__m_log__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__m_server__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__m_server__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__m_server__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__m_server__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__m_server__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__m_server__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__m_server__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__m_server__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__m_server__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__m_server__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__m_server__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__m_server__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__m_server__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__m_server__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__m_server__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__m_server__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__macaca_chromedriver__lt_1_0_27__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__macaca_chromedriver__lt_1_0_27__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__macaca_chromedriver__lt_1_0_27__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__macaca_chromedriver__lt_1_0_27__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__macaca_chromedriver__lt_1_0_27__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__macaca_chromedriver__lt_1_0_27__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__macaca_chromedriver__lt_1_0_27__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__macaca_chromedriver__lt_1_0_27__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__macaca_chromedriver__lt_1_0_27__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__macaca_chromedriver__lt_1_0_27__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__macaca_chromedriver__lt_1_0_27__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__macaca_chromedriver__lt_1_0_27__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__macaca_chromedriver__lt_1_0_27__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__macaca_chromedriver__lt_1_0_27__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__macaca_chromedriver__lt_1_0_27__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__macaca_chromedriver__lt_1_0_27__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__macaca_chromedriver_zxa__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__macaca_chromedriver_zxa__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__macaca_chromedriver_zxa__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__macaca_chromedriver_zxa__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__macaca_chromedriver_zxa__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__macaca_chromedriver_zxa__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__macaca_chromedriver_zxa__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__macaca_chromedriver_zxa__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__macaca_chromedriver_zxa__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__macaca_chromedriver_zxa__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__macaca_chromedriver_zxa__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__macaca_chromedriver_zxa__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__macaca_chromedriver_zxa__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__macaca_chromedriver_zxa__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__macaca_chromedriver_zxa__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__macaca_chromedriver_zxa__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__macaddress__lt_0_2_9__command_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__macaddress__lt_0_2_9__command_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__macaddress__lt_0_2_9__command_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__macaddress__lt_0_2_9__command_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__macaddress__lt_0_2_9__command_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__macaddress__lt_0_2_9__command_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__macaddress__lt_0_2_9__command_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__macaddress__lt_0_2_9__command_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__macaddress__lt_0_2_9__command_injection.dacg.result.s2.o0": "The library is known to include the OS Command Injection vulnerability.",
  "0.event.dacg_npm__macaddress__lt_0_2_9__command_injection.dacg.result.s3.o0": "The OS Command Injection vulnerability is caused by executing user commands without any verification process.",
  "0.event.dacg_npm__macaddress__lt_0_2_9__command_injection.dacg.result.s4.o0": "Using the OS Command Injection vulnerability, an attacker can steal key information of the server and force to perform unintended behaviors.",
  "0.event.dacg_npm__macaddress__lt_0_2_9__command_injection.dacg.result.s5.o0": "As a result of the test, the OS Command Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__macaddress__lt_0_2_9__command_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__macaddress__lt_0_2_9__command_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__macaddress__lt_0_2_9__command_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__macaddress__lt_0_2_9__command_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mailparser__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mailparser__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mailparser__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mailparser__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mailparser__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mailparser__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mailparser__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mailparser__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mailparser__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__mailparser__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__mailparser__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__mailparser__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mailparser__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mailparser__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mailparser__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mailparser__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mailparser_mit__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mailparser_mit__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mailparser_mit__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mailparser_mit__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mailparser_mit__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mailparser_mit__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mailparser_mit__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mailparser_mit__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mailparser_mit__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__mailparser_mit__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__mailparser_mit__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__mailparser_mit__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mailparser_mit__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mailparser_mit__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mailparser_mit__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mailparser_mit__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mailsplit__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mailsplit__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mailsplit__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mailsplit__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mailsplit__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mailsplit__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mailsplit__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mailsplit__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mailsplit__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__mailsplit__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__mailsplit__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__mailsplit__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mailsplit__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mailsplit__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mailsplit__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mailsplit__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mapbox_js__gt_2_0_0_lt_2_1_7__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mapbox_js__gt_2_0_0_lt_2_1_7__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mapbox_js__gt_2_0_0_lt_2_1_7__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mapbox_js__gt_2_0_0_lt_2_1_7__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mapbox_js__gt_2_0_0_lt_2_1_7__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mapbox_js__gt_2_0_0_lt_2_1_7__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mapbox_js__gt_2_0_0_lt_2_1_7__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mapbox_js__gt_2_0_0_lt_2_1_7__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mapbox_js__gt_2_0_0_lt_2_1_7__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__mapbox_js__gt_2_0_0_lt_2_1_7__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__mapbox_js__gt_2_0_0_lt_2_1_7__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__mapbox_js__gt_2_0_0_lt_2_1_7__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mapbox_js__gt_2_0_0_lt_2_1_7__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mapbox_js__gt_2_0_0_lt_2_1_7__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mapbox_js__gt_2_0_0_lt_2_1_7__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mapbox_js__gt_2_0_0_lt_2_1_7__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mapbox_js__gt_2_0_0_lt_2_2_4__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mapbox_js__gt_2_0_0_lt_2_2_4__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mapbox_js__gt_2_0_0_lt_2_2_4__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mapbox_js__gt_2_0_0_lt_2_2_4__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mapbox_js__gt_2_0_0_lt_2_2_4__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mapbox_js__gt_2_0_0_lt_2_2_4__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mapbox_js__gt_2_0_0_lt_2_2_4__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mapbox_js__gt_2_0_0_lt_2_2_4__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mapbox_js__gt_2_0_0_lt_2_2_4__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__mapbox_js__gt_2_0_0_lt_2_2_4__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__mapbox_js__gt_2_0_0_lt_2_2_4__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__mapbox_js__gt_2_0_0_lt_2_2_4__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mapbox_js__gt_2_0_0_lt_2_2_4__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mapbox_js__gt_2_0_0_lt_2_2_4__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mapbox_js__gt_2_0_0_lt_2_2_4__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mapbox_js__gt_2_0_0_lt_2_2_4__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mapbox_js__lt_1_6_5__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mapbox_js__lt_1_6_5__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mapbox_js__lt_1_6_5__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mapbox_js__lt_1_6_5__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mapbox_js__lt_1_6_5__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mapbox_js__lt_1_6_5__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mapbox_js__lt_1_6_5__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mapbox_js__lt_1_6_5__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mapbox_js__lt_1_6_5__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__mapbox_js__lt_1_6_5__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__mapbox_js__lt_1_6_5__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__mapbox_js__lt_1_6_5__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mapbox_js__lt_1_6_5__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mapbox_js__lt_1_6_5__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mapbox_js__lt_1_6_5__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mapbox_js__lt_1_6_5__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mapbox_js__lt_1_6_6__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mapbox_js__lt_1_6_6__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mapbox_js__lt_1_6_6__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mapbox_js__lt_1_6_6__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mapbox_js__lt_1_6_6__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mapbox_js__lt_1_6_6__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mapbox_js__lt_1_6_6__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mapbox_js__lt_1_6_6__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mapbox_js__lt_1_6_6__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__mapbox_js__lt_1_6_6__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__mapbox_js__lt_1_6_6__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__mapbox_js__lt_1_6_6__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mapbox_js__lt_1_6_6__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mapbox_js__lt_1_6_6__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mapbox_js__lt_1_6_6__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mapbox_js__lt_1_6_6__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mariadb__le_1_0_2__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mariadb__le_1_0_2__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mariadb__le_1_0_2__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mariadb__le_1_0_2__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mariadb__le_1_0_2__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mariadb__le_1_0_2__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mariadb__le_1_0_2__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mariadb__le_1_0_2__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mariadb__le_1_0_2__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__mariadb__le_1_0_2__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__mariadb__le_1_0_2__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__mariadb__le_1_0_2__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mariadb__le_1_0_2__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mariadb__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mariadb__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mariadb__le_1_0_2__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__marionette_socket_host__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__marionette_socket_host__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__marionette_socket_host__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__marionette_socket_host__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__marionette_socket_host__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__marionette_socket_host__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__marionette_socket_host__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__marionette_socket_host__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__marionette_socket_host__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__marionette_socket_host__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__marionette_socket_host__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__marionette_socket_host__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__marionette_socket_host__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__marionette_socket_host__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__marionette_socket_host__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__marionette_socket_host__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__markdown_it__ge_4_0_0_lt_4_3_1__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__markdown_it__ge_4_0_0_lt_4_3_1__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__markdown_it__ge_4_0_0_lt_4_3_1__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__markdown_it__ge_4_0_0_lt_4_3_1__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__markdown_it__ge_4_0_0_lt_4_3_1__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__markdown_it__ge_4_0_0_lt_4_3_1__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__markdown_it__ge_4_0_0_lt_4_3_1__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__markdown_it__ge_4_0_0_lt_4_3_1__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__markdown_it__ge_4_0_0_lt_4_3_1__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__markdown_it__ge_4_0_0_lt_4_3_1__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__markdown_it__ge_4_0_0_lt_4_3_1__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__markdown_it__ge_4_0_0_lt_4_3_1__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__markdown_it__ge_4_0_0_lt_4_3_1__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__markdown_it__ge_4_0_0_lt_4_3_1__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__markdown_it__ge_4_0_0_lt_4_3_1__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__markdown_it__ge_4_0_0_lt_4_3_1__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__markdown_it__le_4_0_3__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__markdown_it__le_4_0_3__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__markdown_it__le_4_0_3__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__markdown_it__le_4_0_3__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__markdown_it__le_4_0_3__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__markdown_it__le_4_0_3__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__markdown_it__le_4_0_3__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__markdown_it__le_4_0_3__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__markdown_it__le_4_0_3__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__markdown_it__le_4_0_3__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__markdown_it__le_4_0_3__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__markdown_it__le_4_0_3__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__markdown_it__le_4_0_3__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__markdown_it__le_4_0_3__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__markdown_it__le_4_0_3__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__markdown_it__le_4_0_3__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__markdown_js__lt_0_0_4__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__markdown_js__lt_0_0_4__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__markdown_js__lt_0_0_4__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__markdown_js__lt_0_0_4__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__markdown_js__lt_0_0_4__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__markdown_js__lt_0_0_4__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__markdown_js__lt_0_0_4__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__markdown_js__lt_0_0_4__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__markdown_js__lt_0_0_4__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__markdown_js__lt_0_0_4__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__markdown_js__lt_0_0_4__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__markdown_js__lt_0_0_4__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__markdown_js__lt_0_0_4__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__markdown_js__lt_0_0_4__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__markdown_js__lt_0_0_4__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__markdown_js__lt_0_0_4__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__markdown_server__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__markdown_server__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__markdown_server__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__markdown_server__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__markdown_server__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__markdown_server__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__markdown_server__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__markdown_server__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__markdown_server__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__markdown_server__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__markdown_server__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__markdown_server__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__markdown_server__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__markdown_server__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__markdown_server__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__markdown_server__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__marked__le_0_3_0__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__marked__le_0_3_0__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__marked__le_0_3_0__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__marked__le_0_3_0__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__marked__le_0_3_0__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__marked__le_0_3_0__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__marked__le_0_3_0__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__marked__le_0_3_0__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__marked__le_0_3_0__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__marked__le_0_3_0__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__marked__le_0_3_0__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__marked__le_0_3_0__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__marked__le_0_3_0__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__marked__le_0_3_0__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__marked__le_0_3_0__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__marked__le_0_3_0__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__marked__le_0_3_2__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__marked__le_0_3_2__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__marked__le_0_3_2__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__marked__le_0_3_2__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__marked__le_0_3_2__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__marked__le_0_3_2__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__marked__le_0_3_2__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__marked__le_0_3_2__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__marked__le_0_3_2__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__marked__le_0_3_2__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__marked__le_0_3_2__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__marked__le_0_3_2__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__marked__le_0_3_2__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__marked__le_0_3_2__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__marked__le_0_3_2__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__marked__le_0_3_2__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__marked__le_0_3_3__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__marked__le_0_3_3__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__marked__le_0_3_3__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__marked__le_0_3_3__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__marked__le_0_3_3__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__marked__le_0_3_3__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__marked__le_0_3_3__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__marked__le_0_3_3__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__marked__le_0_3_3__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__marked__le_0_3_3__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__marked__le_0_3_3__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__marked__le_0_3_3__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__marked__le_0_3_3__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__marked__le_0_3_3__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__marked__le_0_3_3__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__marked__le_0_3_3__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__marked__lt_0_3_17__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__marked__lt_0_3_17__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__marked__lt_0_3_17__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__marked__lt_0_3_17__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__marked__lt_0_3_17__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__marked__lt_0_3_17__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__marked__lt_0_3_17__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__marked__lt_0_3_17__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__marked__lt_0_3_17__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__marked__lt_0_3_17__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__marked__lt_0_3_17__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__marked__lt_0_3_17__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__marked__lt_0_3_17__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__marked__lt_0_3_17__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__marked__lt_0_3_17__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__marked__lt_0_3_17__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__marked__lt_0_3_6__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__marked__lt_0_3_6__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__marked__lt_0_3_6__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__marked__lt_0_3_6__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__marked__lt_0_3_6__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__marked__lt_0_3_6__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__marked__lt_0_3_6__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__marked__lt_0_3_6__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__marked__lt_0_3_6__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__marked__lt_0_3_6__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__marked__lt_0_3_6__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__marked__lt_0_3_6__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__marked__lt_0_3_6__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__marked__lt_0_3_6__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__marked__lt_0_3_6__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__marked__lt_0_3_6__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__marked__lt_0_3_7__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__marked__lt_0_3_7__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__marked__lt_0_3_7__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__marked__lt_0_3_7__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__marked__lt_0_3_7__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__marked__lt_0_3_7__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__marked__lt_0_3_7__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__marked__lt_0_3_7__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__marked__lt_0_3_7__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__marked__lt_0_3_7__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__marked__lt_0_3_7__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__marked__lt_0_3_7__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__marked__lt_0_3_7__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__marked__lt_0_3_7__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__marked__lt_0_3_7__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__marked__lt_0_3_7__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__marked__lt_0_3_9__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__marked__lt_0_3_9__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__marked__lt_0_3_9__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__marked__lt_0_3_9__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__marked__lt_0_3_9__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__marked__lt_0_3_9__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__marked__lt_0_3_9__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__marked__lt_0_3_9__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__marked__lt_0_3_9__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__marked__lt_0_3_9__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__marked__lt_0_3_9__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__marked__lt_0_3_9__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__marked__lt_0_3_9__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__marked__lt_0_3_9__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__marked__lt_0_3_9__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__marked__lt_0_3_9__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__marked__lt_0_3_9__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__marked__lt_0_3_9__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__marked__lt_0_3_9__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__marked__lt_0_3_9__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__marked__lt_0_3_9__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__marked__lt_0_3_9__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__marked__lt_0_3_9__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__marked__lt_0_3_9__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__marked__lt_0_3_9__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__marked__lt_0_3_9__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__marked__lt_0_3_9__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__marked__lt_0_3_9__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__marked__lt_0_3_9__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__marked__lt_0_3_9__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__marked__lt_0_3_9__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__marked__lt_0_3_9__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__massif__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__massif__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__massif__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__massif__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__massif__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__massif__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__massif__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__massif__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__massif__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__massif__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__massif__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__massif__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__massif__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__massif__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__massif__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__massif__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mathjs__lt_3_10_3__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mathjs__lt_3_10_3__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mathjs__lt_3_10_3__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mathjs__lt_3_10_3__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mathjs__lt_3_10_3__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mathjs__lt_3_10_3__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mathjs__lt_3_10_3__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mathjs__lt_3_10_3__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mathjs__lt_3_10_3__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__mathjs__lt_3_10_3__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__mathjs__lt_3_10_3__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__mathjs__lt_3_10_3__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mathjs__lt_3_10_3__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mathjs__lt_3_10_3__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mathjs__lt_3_10_3__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mathjs__lt_3_10_3__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mathjs__lt_3_11_5__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mathjs__lt_3_11_5__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mathjs__lt_3_11_5__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mathjs__lt_3_11_5__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mathjs__lt_3_11_5__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mathjs__lt_3_11_5__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mathjs__lt_3_11_5__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mathjs__lt_3_11_5__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mathjs__lt_3_11_5__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__mathjs__lt_3_11_5__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__mathjs__lt_3_11_5__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__mathjs__lt_3_11_5__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mathjs__lt_3_11_5__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mathjs__lt_3_11_5__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mathjs__lt_3_11_5__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mathjs__lt_3_11_5__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mathjs__lt_3_13_3__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mathjs__lt_3_13_3__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mathjs__lt_3_13_3__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mathjs__lt_3_13_3__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mathjs__lt_3_13_3__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mathjs__lt_3_13_3__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mathjs__lt_3_13_3__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mathjs__lt_3_13_3__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mathjs__lt_3_13_3__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__mathjs__lt_3_13_3__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__mathjs__lt_3_13_3__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__mathjs__lt_3_13_3__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mathjs__lt_3_13_3__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mathjs__lt_3_13_3__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mathjs__lt_3_13_3__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mathjs__lt_3_13_3__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mathjs__lt_3_17_0__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mathjs__lt_3_17_0__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mathjs__lt_3_17_0__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mathjs__lt_3_17_0__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mathjs__lt_3_17_0__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mathjs__lt_3_17_0__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mathjs__lt_3_17_0__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mathjs__lt_3_17_0__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mathjs__lt_3_17_0__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__mathjs__lt_3_17_0__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__mathjs__lt_3_17_0__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__mathjs__lt_3_17_0__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mathjs__lt_3_17_0__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mathjs__lt_3_17_0__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mathjs__lt_3_17_0__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mathjs__lt_3_17_0__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__maybemaliciouspackage__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__maybemaliciouspackage__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__maybemaliciouspackage__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__maybemaliciouspackage__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__maybemaliciouspackage__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__maybemaliciouspackage__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__maybemaliciouspackage__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__maybemaliciouspackage__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__maybemaliciouspackage__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__maybemaliciouspackage__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__maybemaliciouspackage__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__maybemaliciouspackage__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__maybemaliciouspackage__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__maybemaliciouspackage__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__maybemaliciouspackage__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__maybemaliciouspackage__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mcstatic__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mcstatic__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mcstatic__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mcstatic__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mcstatic__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mcstatic__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mcstatic__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mcstatic__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mcstatic__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__mcstatic__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__mcstatic__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__mcstatic__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mcstatic__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mcstatic__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mcstatic__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mcstatic__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mediaelement__ge_2_17_0_lt_2_21_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mediaelement__ge_2_17_0_lt_2_21_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mediaelement__ge_2_17_0_lt_2_21_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mediaelement__ge_2_17_0_lt_2_21_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mediaelement__ge_2_17_0_lt_2_21_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mediaelement__ge_2_17_0_lt_2_21_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mediaelement__ge_2_17_0_lt_2_21_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mediaelement__ge_2_17_0_lt_2_21_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mediaelement__ge_2_17_0_lt_2_21_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__mediaelement__ge_2_17_0_lt_2_21_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__mediaelement__ge_2_17_0_lt_2_21_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__mediaelement__ge_2_17_0_lt_2_21_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mediaelement__ge_2_17_0_lt_2_21_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mediaelement__ge_2_17_0_lt_2_21_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mediaelement__ge_2_17_0_lt_2_21_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mediaelement__ge_2_17_0_lt_2_21_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mediaelement__ge_3_0_0_lt_3_1_2__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mediaelement__ge_3_0_0_lt_3_1_2__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mediaelement__ge_3_0_0_lt_3_1_2__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mediaelement__ge_3_0_0_lt_3_1_2__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mediaelement__ge_3_0_0_lt_3_1_2__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mediaelement__ge_3_0_0_lt_3_1_2__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mediaelement__ge_3_0_0_lt_3_1_2__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mediaelement__ge_3_0_0_lt_3_1_2__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mediaelement__ge_3_0_0_lt_3_1_2__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__mediaelement__ge_3_0_0_lt_3_1_2__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__mediaelement__ge_3_0_0_lt_3_1_2__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__mediaelement__ge_3_0_0_lt_3_1_2__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mediaelement__ge_3_0_0_lt_3_1_2__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mediaelement__ge_3_0_0_lt_3_1_2__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mediaelement__ge_3_0_0_lt_3_1_2__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mediaelement__ge_3_0_0_lt_3_1_2__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__medis__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__medis__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__medis__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__medis__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__medis__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__medis__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__medis__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__medis__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__medis__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__medis__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__medis__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__medis__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__medis__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__medis__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__medis__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__medis__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__memjs__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__memjs__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__memjs__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__memjs__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__memjs__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__memjs__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__memjs__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__memjs__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__memjs__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__memjs__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__memjs__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__memjs__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__memjs__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__memjs__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__memjs__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__memjs__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__merge_deep__lt_3_0_1__prototype_pollution.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__merge_deep__lt_3_0_1__prototype_pollution.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__merge_deep__lt_3_0_1__prototype_pollution.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__merge_deep__lt_3_0_1__prototype_pollution.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__merge_deep__lt_3_0_1__prototype_pollution.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__merge_deep__lt_3_0_1__prototype_pollution.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__merge_deep__lt_3_0_1__prototype_pollution.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__merge_deep__lt_3_0_1__prototype_pollution.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__merge_deep__lt_3_0_1__prototype_pollution.dacg.result.s2.o0": "The library is known to include the Prototype Pollution vulnerability.",
  "0.event.dacg_npm__merge_deep__lt_3_0_1__prototype_pollution.dacg.result.s3.o0": "The Prototype Pollution vulnerability is caused by manipulating prototypes of JavaScript objects.",
  "0.event.dacg_npm__merge_deep__lt_3_0_1__prototype_pollution.dacg.result.s4.o0": "Using the Prototype Pollution vulnerability, an attacker can modify and capture property information for all objects.",
  "0.event.dacg_npm__merge_deep__lt_3_0_1__prototype_pollution.dacg.result.s5.o0": "As a result of the test, the Prototype Pollution vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__merge_deep__lt_3_0_1__prototype_pollution.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__merge_deep__lt_3_0_1__prototype_pollution.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__merge_deep__lt_3_0_1__prototype_pollution.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__merge_deep__lt_3_0_1__prototype_pollution.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__merge_objects__prototype_pollution.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__merge_objects__prototype_pollution.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__merge_objects__prototype_pollution.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__merge_objects__prototype_pollution.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__merge_objects__prototype_pollution.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__merge_objects__prototype_pollution.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__merge_objects__prototype_pollution.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__merge_objects__prototype_pollution.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__merge_objects__prototype_pollution.dacg.result.s2.o0": "The library is known to include the Prototype Pollution vulnerability.",
  "0.event.dacg_npm__merge_objects__prototype_pollution.dacg.result.s3.o0": "The Prototype Pollution vulnerability is caused by manipulating prototypes of JavaScript objects.",
  "0.event.dacg_npm__merge_objects__prototype_pollution.dacg.result.s4.o0": "Using the Prototype Pollution vulnerability, an attacker can modify and capture property information for all objects.",
  "0.event.dacg_npm__merge_objects__prototype_pollution.dacg.result.s5.o0": "As a result of the test, the Prototype Pollution vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__merge_objects__prototype_pollution.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__merge_objects__prototype_pollution.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__merge_objects__prototype_pollution.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__merge_objects__prototype_pollution.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__merge_options__lt_1_0_1__prototype_pollution.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__merge_options__lt_1_0_1__prototype_pollution.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__merge_options__lt_1_0_1__prototype_pollution.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__merge_options__lt_1_0_1__prototype_pollution.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__merge_options__lt_1_0_1__prototype_pollution.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__merge_options__lt_1_0_1__prototype_pollution.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__merge_options__lt_1_0_1__prototype_pollution.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__merge_options__lt_1_0_1__prototype_pollution.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__merge_options__lt_1_0_1__prototype_pollution.dacg.result.s2.o0": "The library is known to include the Prototype Pollution vulnerability.",
  "0.event.dacg_npm__merge_options__lt_1_0_1__prototype_pollution.dacg.result.s3.o0": "The Prototype Pollution vulnerability is caused by manipulating prototypes of JavaScript objects.",
  "0.event.dacg_npm__merge_options__lt_1_0_1__prototype_pollution.dacg.result.s4.o0": "Using the Prototype Pollution vulnerability, an attacker can modify and capture property information for all objects.",
  "0.event.dacg_npm__merge_options__lt_1_0_1__prototype_pollution.dacg.result.s5.o0": "As a result of the test, the Prototype Pollution vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__merge_options__lt_1_0_1__prototype_pollution.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__merge_options__lt_1_0_1__prototype_pollution.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__merge_options__lt_1_0_1__prototype_pollution.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__merge_options__lt_1_0_1__prototype_pollution.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__merge_recursive__prototype_pollution.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__merge_recursive__prototype_pollution.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__merge_recursive__prototype_pollution.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__merge_recursive__prototype_pollution.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__merge_recursive__prototype_pollution.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__merge_recursive__prototype_pollution.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__merge_recursive__prototype_pollution.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__merge_recursive__prototype_pollution.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__merge_recursive__prototype_pollution.dacg.result.s2.o0": "The library is known to include the Prototype Pollution vulnerability.",
  "0.event.dacg_npm__merge_recursive__prototype_pollution.dacg.result.s3.o0": "The Prototype Pollution vulnerability is caused by manipulating prototypes of JavaScript objects.",
  "0.event.dacg_npm__merge_recursive__prototype_pollution.dacg.result.s4.o0": "Using the Prototype Pollution vulnerability, an attacker can modify and capture property information for all objects.",
  "0.event.dacg_npm__merge_recursive__prototype_pollution.dacg.result.s5.o0": "As a result of the test, the Prototype Pollution vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__merge_recursive__prototype_pollution.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__merge_recursive__prototype_pollution.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__merge_recursive__prototype_pollution.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__merge_recursive__prototype_pollution.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__meryl__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__meryl__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__meryl__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__meryl__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__meryl__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__meryl__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__meryl__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__meryl__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__meryl__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__meryl__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__meryl__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__meryl__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__meryl__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__meryl__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__meryl__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__meryl__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__metascraper__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__metascraper__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__metascraper__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__metascraper__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__metascraper__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__metascraper__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__metascraper__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__metascraper__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__metascraper__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__metascraper__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__metascraper__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__metascraper__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__metascraper__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__metascraper__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__metascraper__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__metascraper__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__method_override__lt_2_3_10__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__method_override__lt_2_3_10__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__method_override__lt_2_3_10__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__method_override__lt_2_3_10__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__method_override__lt_2_3_10__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__method_override__lt_2_3_10__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__method_override__lt_2_3_10__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__method_override__lt_2_3_10__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__method_override__lt_2_3_10__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__method_override__lt_2_3_10__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__method_override__lt_2_3_10__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__method_override__lt_2_3_10__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__method_override__lt_2_3_10__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__method_override__lt_2_3_10__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__method_override__lt_2_3_10__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__method_override__lt_2_3_10__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mfrs__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mfrs__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mfrs__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mfrs__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mfrs__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mfrs__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mfrs__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mfrs__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mfrs__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__mfrs__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__mfrs__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__mfrs__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mfrs__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mfrs__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mfrs__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mfrs__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mfrserver__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mfrserver__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mfrserver__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mfrserver__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mfrserver__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mfrserver__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mfrserver__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mfrserver__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mfrserver__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__mfrserver__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__mfrserver__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__mfrserver__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mfrserver__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mfrserver__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mfrserver__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mfrserver__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__micra__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__micra__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__micra__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__micra__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__micra__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__micra__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__micra__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__micra__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__micra__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__micra__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__micra__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__micra__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__micra__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__micra__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__micra__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__micra__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__microservicebus_node__lt_0_4_3__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__microservicebus_node__lt_0_4_3__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__microservicebus_node__lt_0_4_3__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__microservicebus_node__lt_0_4_3__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__microservicebus_node__lt_0_4_3__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__microservicebus_node__lt_0_4_3__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__microservicebus_node__lt_0_4_3__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__microservicebus_node__lt_0_4_3__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__microservicebus_node__lt_0_4_3__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__microservicebus_node__lt_0_4_3__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__microservicebus_node__lt_0_4_3__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__microservicebus_node__lt_0_4_3__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__microservicebus_node__lt_0_4_3__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__microservicebus_node__lt_0_4_3__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__microservicebus_node__lt_0_4_3__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__microservicebus_node__lt_0_4_3__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__millisecond__lt_0_1_2__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__millisecond__lt_0_1_2__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__millisecond__lt_0_1_2__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__millisecond__lt_0_1_2__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__millisecond__lt_0_1_2__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__millisecond__lt_0_1_2__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__millisecond__lt_0_1_2__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__millisecond__lt_0_1_2__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__millisecond__lt_0_1_2__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__millisecond__lt_0_1_2__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__millisecond__lt_0_1_2__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__millisecond__lt_0_1_2__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__millisecond__lt_0_1_2__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__millisecond__lt_0_1_2__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__millisecond__lt_0_1_2__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__millisecond__lt_0_1_2__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mime__ge_2_0_0_lt_2_0_3__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mime__ge_2_0_0_lt_2_0_3__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mime__ge_2_0_0_lt_2_0_3__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mime__ge_2_0_0_lt_2_0_3__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mime__ge_2_0_0_lt_2_0_3__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mime__ge_2_0_0_lt_2_0_3__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mime__ge_2_0_0_lt_2_0_3__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mime__ge_2_0_0_lt_2_0_3__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mime__ge_2_0_0_lt_2_0_3__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__mime__ge_2_0_0_lt_2_0_3__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__mime__ge_2_0_0_lt_2_0_3__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__mime__ge_2_0_0_lt_2_0_3__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mime__ge_2_0_0_lt_2_0_3__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mime__ge_2_0_0_lt_2_0_3__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mime__ge_2_0_0_lt_2_0_3__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mime__ge_2_0_0_lt_2_0_3__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mime__lt_1_4_1__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mime__lt_1_4_1__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mime__lt_1_4_1__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mime__lt_1_4_1__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mime__lt_1_4_1__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mime__lt_1_4_1__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mime__lt_1_4_1__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mime__lt_1_4_1__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mime__lt_1_4_1__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__mime__lt_1_4_1__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__mime__lt_1_4_1__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__mime__lt_1_4_1__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mime__lt_1_4_1__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mime__lt_1_4_1__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mime__lt_1_4_1__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mime__lt_1_4_1__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mime_web_server__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mime_web_server__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mime_web_server__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mime_web_server__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mime_web_server__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mime_web_server__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mime_web_server__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mime_web_server__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mime_web_server__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__mime_web_server__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__mime_web_server__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__mime_web_server__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mime_web_server__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mime_web_server__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mime_web_server__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mime_web_server__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mimer__lt_0_3_0__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mimer__lt_0_3_0__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mimer__lt_0_3_0__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mimer__lt_0_3_0__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mimer__lt_0_3_0__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mimer__lt_0_3_0__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mimer__lt_0_3_0__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mimer__lt_0_3_0__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mimer__lt_0_3_0__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__mimer__lt_0_3_0__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__mimer__lt_0_3_0__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__mimer__lt_0_3_0__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mimer__lt_0_3_0__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mimer__lt_0_3_0__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mimer__lt_0_3_0__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mimer__lt_0_3_0__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__minimatch__le_3_0_1__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__minimatch__le_3_0_1__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__minimatch__le_3_0_1__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__minimatch__le_3_0_1__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__minimatch__le_3_0_1__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__minimatch__le_3_0_1__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__minimatch__le_3_0_1__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__minimatch__le_3_0_1__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__minimatch__le_3_0_1__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__minimatch__le_3_0_1__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__minimatch__le_3_0_1__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__minimatch__le_3_0_1__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__minimatch__le_3_0_1__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__minimatch__le_3_0_1__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__minimatch__le_3_0_1__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__minimatch__le_3_0_1__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mixin_deep__lt_1_3_1__prototype_pollution.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mixin_deep__lt_1_3_1__prototype_pollution.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mixin_deep__lt_1_3_1__prototype_pollution.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mixin_deep__lt_1_3_1__prototype_pollution.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mixin_deep__lt_1_3_1__prototype_pollution.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mixin_deep__lt_1_3_1__prototype_pollution.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mixin_deep__lt_1_3_1__prototype_pollution.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mixin_deep__lt_1_3_1__prototype_pollution.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mixin_deep__lt_1_3_1__prototype_pollution.dacg.result.s2.o0": "The library is known to include the Prototype Pollution vulnerability.",
  "0.event.dacg_npm__mixin_deep__lt_1_3_1__prototype_pollution.dacg.result.s3.o0": "The Prototype Pollution vulnerability is caused by manipulating prototypes of JavaScript objects.",
  "0.event.dacg_npm__mixin_deep__lt_1_3_1__prototype_pollution.dacg.result.s4.o0": "Using the Prototype Pollution vulnerability, an attacker can modify and capture property information for all objects.",
  "0.event.dacg_npm__mixin_deep__lt_1_3_1__prototype_pollution.dacg.result.s5.o0": "As a result of the test, the Prototype Pollution vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mixin_deep__lt_1_3_1__prototype_pollution.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mixin_deep__lt_1_3_1__prototype_pollution.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mixin_deep__lt_1_3_1__prototype_pollution.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mixin_deep__lt_1_3_1__prototype_pollution.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mixin_pro__lt_0_6_7__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mixin_pro__lt_0_6_7__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mixin_pro__lt_0_6_7__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mixin_pro__lt_0_6_7__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mixin_pro__lt_0_6_7__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mixin_pro__lt_0_6_7__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mixin_pro__lt_0_6_7__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mixin_pro__lt_0_6_7__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mixin_pro__lt_0_6_7__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__mixin_pro__lt_0_6_7__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__mixin_pro__lt_0_6_7__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__mixin_pro__lt_0_6_7__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mixin_pro__lt_0_6_7__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mixin_pro__lt_0_6_7__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mixin_pro__lt_0_6_7__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mixin_pro__lt_0_6_7__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mktmpio__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mktmpio__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mktmpio__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mktmpio__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mktmpio__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mktmpio__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mktmpio__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mktmpio__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mktmpio__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__mktmpio__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__mktmpio__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__mktmpio__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mktmpio__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mktmpio__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mktmpio__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mktmpio__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mobile_detect__lt_1_4_0__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mobile_detect__lt_1_4_0__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mobile_detect__lt_1_4_0__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mobile_detect__lt_1_4_0__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mobile_detect__lt_1_4_0__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mobile_detect__lt_1_4_0__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mobile_detect__lt_1_4_0__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mobile_detect__lt_1_4_0__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mobile_detect__lt_1_4_0__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__mobile_detect__lt_1_4_0__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__mobile_detect__lt_1_4_0__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__mobile_detect__lt_1_4_0__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mobile_detect__lt_1_4_0__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mobile_detect__lt_1_4_0__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mobile_detect__lt_1_4_0__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mobile_detect__lt_1_4_0__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mobile_icon_resizer__lt_0_4_3__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mobile_icon_resizer__lt_0_4_3__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mobile_icon_resizer__lt_0_4_3__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mobile_icon_resizer__lt_0_4_3__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mobile_icon_resizer__lt_0_4_3__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mobile_icon_resizer__lt_0_4_3__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mobile_icon_resizer__lt_0_4_3__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mobile_icon_resizer__lt_0_4_3__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mobile_icon_resizer__lt_0_4_3__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__mobile_icon_resizer__lt_0_4_3__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__mobile_icon_resizer__lt_0_4_3__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__mobile_icon_resizer__lt_0_4_3__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mobile_icon_resizer__lt_0_4_3__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mobile_icon_resizer__lt_0_4_3__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mobile_icon_resizer__lt_0_4_3__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mobile_icon_resizer__lt_0_4_3__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mock2easy__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mock2easy__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mock2easy__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mock2easy__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mock2easy__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mock2easy__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mock2easy__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mock2easy__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mock2easy__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__mock2easy__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__mock2easy__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__mock2easy__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mock2easy__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mock2easy__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mock2easy__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mock2easy__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mockserve__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mockserve__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mockserve__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mockserve__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mockserve__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mockserve__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mockserve__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mockserve__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mockserve__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__mockserve__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__mockserve__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__mockserve__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mockserve__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mockserve__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mockserve__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mockserve__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__moddle_xml__lt_4_1_3__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__moddle_xml__lt_4_1_3__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__moddle_xml__lt_4_1_3__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__moddle_xml__lt_4_1_3__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__moddle_xml__lt_4_1_3__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__moddle_xml__lt_4_1_3__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__moddle_xml__lt_4_1_3__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__moddle_xml__lt_4_1_3__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__moddle_xml__lt_4_1_3__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__moddle_xml__lt_4_1_3__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__moddle_xml__lt_4_1_3__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__moddle_xml__lt_4_1_3__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__moddle_xml__lt_4_1_3__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__moddle_xml__lt_4_1_3__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__moddle_xml__lt_4_1_3__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__moddle_xml__lt_4_1_3__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__modjs__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__modjs__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__modjs__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__modjs__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__modjs__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__modjs__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__modjs__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__modjs__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__modjs__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__modjs__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__modjs__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__modjs__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__modjs__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__modjs__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__modjs__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__modjs__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__modulify__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__modulify__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__modulify__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__modulify__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__modulify__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__modulify__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__modulify__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__modulify__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__modulify__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__modulify__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__modulify__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__modulify__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__modulify__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__modulify__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__modulify__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__modulify__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mol_proto__lt_1_0_6__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mol_proto__lt_1_0_6__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mol_proto__lt_1_0_6__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mol_proto__lt_1_0_6__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mol_proto__lt_1_0_6__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mol_proto__lt_1_0_6__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mol_proto__lt_1_0_6__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mol_proto__lt_1_0_6__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mol_proto__lt_1_0_6__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__mol_proto__lt_1_0_6__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__mol_proto__lt_1_0_6__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__mol_proto__lt_1_0_6__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mol_proto__lt_1_0_6__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mol_proto__lt_1_0_6__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mol_proto__lt_1_0_6__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mol_proto__lt_1_0_6__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__moment__le_2_11_1__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__moment__le_2_11_1__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__moment__le_2_11_1__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__moment__le_2_11_1__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__moment__le_2_11_1__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__moment__le_2_11_1__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__moment__le_2_11_1__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__moment__le_2_11_1__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__moment__le_2_11_1__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__moment__le_2_11_1__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__moment__le_2_11_1__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__moment__le_2_11_1__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__moment__le_2_11_1__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__moment__le_2_11_1__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__moment__le_2_11_1__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__moment__le_2_11_1__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__moment__lt_2_15_2__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__moment__lt_2_15_2__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__moment__lt_2_15_2__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__moment__lt_2_15_2__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__moment__lt_2_15_2__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__moment__lt_2_15_2__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__moment__lt_2_15_2__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__moment__lt_2_15_2__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__moment__lt_2_15_2__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__moment__lt_2_15_2__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__moment__lt_2_15_2__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__moment__lt_2_15_2__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__moment__lt_2_15_2__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__moment__lt_2_15_2__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__moment__lt_2_15_2__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__moment__lt_2_15_2__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__moment__lt_2_19_3__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__moment__lt_2_19_3__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__moment__lt_2_19_3__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__moment__lt_2_19_3__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__moment__lt_2_19_3__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__moment__lt_2_19_3__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__moment__lt_2_19_3__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__moment__lt_2_19_3__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__moment__lt_2_19_3__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__moment__lt_2_19_3__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__moment__lt_2_19_3__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__moment__lt_2_19_3__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__moment__lt_2_19_3__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__moment__lt_2_19_3__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__moment__lt_2_19_3__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__moment__lt_2_19_3__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mongo_edit__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mongo_edit__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mongo_edit__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mongo_edit__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mongo_edit__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mongo_edit__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mongo_edit__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mongo_edit__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mongo_edit__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__mongo_edit__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__mongo_edit__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__mongo_edit__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mongo_edit__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mongo_edit__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mongo_edit__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mongo_edit__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mongo_parse__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mongo_parse__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mongo_parse__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mongo_parse__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mongo_parse__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mongo_parse__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mongo_parse__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mongo_parse__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mongo_parse__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__mongo_parse__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__mongo_parse__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__mongo_parse__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mongo_parse__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mongo_parse__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mongo_parse__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mongo_parse__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mongodb_instance__lt_0_0_3__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mongodb_instance__lt_0_0_3__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mongodb_instance__lt_0_0_3__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mongodb_instance__lt_0_0_3__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mongodb_instance__lt_0_0_3__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mongodb_instance__lt_0_0_3__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mongodb_instance__lt_0_0_3__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mongodb_instance__lt_0_0_3__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mongodb_instance__lt_0_0_3__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__mongodb_instance__lt_0_0_3__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__mongodb_instance__lt_0_0_3__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__mongodb_instance__lt_0_0_3__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mongodb_instance__lt_0_0_3__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mongodb_instance__lt_0_0_3__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mongodb_instance__lt_0_0_3__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mongodb_instance__lt_0_0_3__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mongoose__ge_3_5_5_lt_3_8_39__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mongoose__ge_3_5_5_lt_3_8_39__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mongoose__ge_3_5_5_lt_3_8_39__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mongoose__ge_3_5_5_lt_3_8_39__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mongoose__ge_3_5_5_lt_3_8_39__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mongoose__ge_3_5_5_lt_3_8_39__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mongoose__ge_3_5_5_lt_3_8_39__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mongoose__ge_3_5_5_lt_3_8_39__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mongoose__ge_3_5_5_lt_3_8_39__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__mongoose__ge_3_5_5_lt_3_8_39__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__mongoose__ge_3_5_5_lt_3_8_39__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__mongoose__ge_3_5_5_lt_3_8_39__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mongoose__ge_3_5_5_lt_3_8_39__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mongoose__ge_3_5_5_lt_3_8_39__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mongoose__ge_3_5_5_lt_3_8_39__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mongoose__ge_3_5_5_lt_3_8_39__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mongoose__ge_4_0_0_lt_4_1_10__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mongoose__ge_4_0_0_lt_4_1_10__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mongoose__ge_4_0_0_lt_4_1_10__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mongoose__ge_4_0_0_lt_4_1_10__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mongoose__ge_4_0_0_lt_4_1_10__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mongoose__ge_4_0_0_lt_4_1_10__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mongoose__ge_4_0_0_lt_4_1_10__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mongoose__ge_4_0_0_lt_4_1_10__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mongoose__ge_4_0_0_lt_4_1_10__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__mongoose__ge_4_0_0_lt_4_1_10__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__mongoose__ge_4_0_0_lt_4_1_10__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__mongoose__ge_4_0_0_lt_4_1_10__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mongoose__ge_4_0_0_lt_4_1_10__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mongoose__ge_4_0_0_lt_4_1_10__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mongoose__ge_4_0_0_lt_4_1_10__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mongoose__ge_4_0_0_lt_4_1_10__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mongoose__ge_4_0_0_lt_4_3_6__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mongoose__ge_4_0_0_lt_4_3_6__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mongoose__ge_4_0_0_lt_4_3_6__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mongoose__ge_4_0_0_lt_4_3_6__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mongoose__ge_4_0_0_lt_4_3_6__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mongoose__ge_4_0_0_lt_4_3_6__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mongoose__ge_4_0_0_lt_4_3_6__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mongoose__ge_4_0_0_lt_4_3_6__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mongoose__ge_4_0_0_lt_4_3_6__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__mongoose__ge_4_0_0_lt_4_3_6__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__mongoose__ge_4_0_0_lt_4_3_6__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__mongoose__ge_4_0_0_lt_4_3_6__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mongoose__ge_4_0_0_lt_4_3_6__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mongoose__ge_4_0_0_lt_4_3_6__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mongoose__ge_4_0_0_lt_4_3_6__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mongoose__ge_4_0_0_lt_4_3_6__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mongoose_beautiful_unique_validation__ge_7_1_1__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mongoose_beautiful_unique_validation__ge_7_1_1__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mongoose_beautiful_unique_validation__ge_7_1_1__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mongoose_beautiful_unique_validation__ge_7_1_1__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mongoose_beautiful_unique_validation__ge_7_1_1__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mongoose_beautiful_unique_validation__ge_7_1_1__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mongoose_beautiful_unique_validation__ge_7_1_1__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mongoose_beautiful_unique_validation__ge_7_1_1__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mongoose_beautiful_unique_validation__ge_7_1_1__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__mongoose_beautiful_unique_validation__ge_7_1_1__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__mongoose_beautiful_unique_validation__ge_7_1_1__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__mongoose_beautiful_unique_validation__ge_7_1_1__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mongoose_beautiful_unique_validation__ge_7_1_1__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mongoose_beautiful_unique_validation__ge_7_1_1__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mongoose_beautiful_unique_validation__ge_7_1_1__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mongoose_beautiful_unique_validation__ge_7_1_1__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mongoosemask__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mongoosemask__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mongoosemask__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mongoosemask__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mongoosemask__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mongoosemask__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mongoosemask__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mongoosemask__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mongoosemask__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__mongoosemask__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__mongoosemask__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__mongoosemask__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mongoosemask__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mongoosemask__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mongoosemask__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mongoosemask__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mongoosify__lt_0_0_4__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mongoosify__lt_0_0_4__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mongoosify__lt_0_0_4__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mongoosify__lt_0_0_4__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mongoosify__lt_0_0_4__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mongoosify__lt_0_0_4__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mongoosify__lt_0_0_4__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mongoosify__lt_0_0_4__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mongoosify__lt_0_0_4__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__mongoosify__lt_0_0_4__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__mongoosify__lt_0_0_4__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__mongoosify__lt_0_0_4__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mongoosify__lt_0_0_4__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mongoosify__lt_0_0_4__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mongoosify__lt_0_0_4__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mongoosify__lt_0_0_4__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mongose__le_1_0_2__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mongose__le_1_0_2__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mongose__le_1_0_2__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mongose__le_1_0_2__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mongose__le_1_0_2__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mongose__le_1_0_2__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mongose__le_1_0_2__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mongose__le_1_0_2__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mongose__le_1_0_2__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__mongose__le_1_0_2__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__mongose__le_1_0_2__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__mongose__le_1_0_2__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mongose__le_1_0_2__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mongose__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mongose__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mongose__le_1_0_2__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mongui__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mongui__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mongui__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mongui__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mongui__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mongui__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mongui__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mongui__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mongui__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__mongui__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__mongui__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__mongui__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mongui__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mongui__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mongui__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mongui__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__morris_js__le_0_5_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__morris_js__le_0_5_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__morris_js__le_0_5_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__morris_js__le_0_5_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__morris_js__le_0_5_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__morris_js__le_0_5_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__morris_js__le_0_5_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__morris_js__le_0_5_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__morris_js__le_0_5_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__morris_js__le_0_5_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__morris_js__le_0_5_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__morris_js__le_0_5_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__morris_js__le_0_5_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__morris_js__le_0_5_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__morris_js__le_0_5_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__morris_js__le_0_5_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mqtt__ge_2_0_0_lt_2_15_0__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mqtt__ge_2_0_0_lt_2_15_0__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mqtt__ge_2_0_0_lt_2_15_0__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mqtt__ge_2_0_0_lt_2_15_0__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mqtt__ge_2_0_0_lt_2_15_0__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mqtt__ge_2_0_0_lt_2_15_0__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mqtt__ge_2_0_0_lt_2_15_0__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mqtt__ge_2_0_0_lt_2_15_0__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mqtt__ge_2_0_0_lt_2_15_0__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__mqtt__ge_2_0_0_lt_2_15_0__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__mqtt__ge_2_0_0_lt_2_15_0__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__mqtt__ge_2_0_0_lt_2_15_0__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mqtt__ge_2_0_0_lt_2_15_0__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mqtt__ge_2_0_0_lt_2_15_0__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mqtt__ge_2_0_0_lt_2_15_0__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mqtt__ge_2_0_0_lt_2_15_0__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mqtt__le_0_3_13__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mqtt__le_0_3_13__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mqtt__le_0_3_13__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mqtt__le_0_3_13__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mqtt__le_0_3_13__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mqtt__le_0_3_13__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mqtt__le_0_3_13__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mqtt__le_0_3_13__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mqtt__le_0_3_13__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__mqtt__le_0_3_13__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__mqtt__le_0_3_13__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__mqtt__le_0_3_13__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mqtt__le_0_3_13__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mqtt__le_0_3_13__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mqtt__le_0_3_13__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mqtt__le_0_3_13__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mqtt_packet__gt_4_0_0_lt_4_0_5__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mqtt_packet__gt_4_0_0_lt_4_0_5__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mqtt_packet__gt_4_0_0_lt_4_0_5__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mqtt_packet__gt_4_0_0_lt_4_0_5__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mqtt_packet__gt_4_0_0_lt_4_0_5__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mqtt_packet__gt_4_0_0_lt_4_0_5__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mqtt_packet__gt_4_0_0_lt_4_0_5__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mqtt_packet__gt_4_0_0_lt_4_0_5__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mqtt_packet__gt_4_0_0_lt_4_0_5__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__mqtt_packet__gt_4_0_0_lt_4_0_5__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__mqtt_packet__gt_4_0_0_lt_4_0_5__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__mqtt_packet__gt_4_0_0_lt_4_0_5__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mqtt_packet__gt_4_0_0_lt_4_0_5__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mqtt_packet__gt_4_0_0_lt_4_0_5__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mqtt_packet__gt_4_0_0_lt_4_0_5__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mqtt_packet__gt_4_0_0_lt_4_0_5__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mqtt_packet__lt_3_4_6__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mqtt_packet__lt_3_4_6__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mqtt_packet__lt_3_4_6__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mqtt_packet__lt_3_4_6__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mqtt_packet__lt_3_4_6__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mqtt_packet__lt_3_4_6__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mqtt_packet__lt_3_4_6__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mqtt_packet__lt_3_4_6__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mqtt_packet__lt_3_4_6__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__mqtt_packet__lt_3_4_6__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__mqtt_packet__lt_3_4_6__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__mqtt_packet__lt_3_4_6__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mqtt_packet__lt_3_4_6__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mqtt_packet__lt_3_4_6__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mqtt_packet__lt_3_4_6__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mqtt_packet__lt_3_4_6__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mrk_js__lt_2_0_1__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mrk_js__lt_2_0_1__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mrk_js__lt_2_0_1__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mrk_js__lt_2_0_1__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mrk_js__lt_2_0_1__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mrk_js__lt_2_0_1__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mrk_js__lt_2_0_1__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mrk_js__lt_2_0_1__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mrk_js__lt_2_0_1__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__mrk_js__lt_2_0_1__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__mrk_js__lt_2_0_1__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__mrk_js__lt_2_0_1__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mrk_js__lt_2_0_1__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mrk_js__lt_2_0_1__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mrk_js__lt_2_0_1__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mrk_js__lt_2_0_1__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ms__le_0_7_0__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ms__le_0_7_0__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ms__le_0_7_0__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ms__le_0_7_0__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ms__le_0_7_0__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ms__le_0_7_0__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ms__le_0_7_0__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ms__le_0_7_0__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ms__le_0_7_0__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__ms__le_0_7_0__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__ms__le_0_7_0__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__ms__le_0_7_0__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ms__le_0_7_0__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ms__le_0_7_0__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ms__le_0_7_0__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ms__le_0_7_0__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ms__lt_2_0_0__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ms__lt_2_0_0__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ms__lt_2_0_0__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ms__lt_2_0_0__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ms__lt_2_0_0__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ms__lt_2_0_0__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ms__lt_2_0_0__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ms__lt_2_0_0__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ms__lt_2_0_0__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__ms__lt_2_0_0__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__ms__lt_2_0_0__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__ms__lt_2_0_0__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ms__lt_2_0_0__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ms__lt_2_0_0__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ms__lt_2_0_0__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ms__lt_2_0_0__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mssql_js__le_1_0_2__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mssql_js__le_1_0_2__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mssql_js__le_1_0_2__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mssql_js__le_1_0_2__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mssql_js__le_1_0_2__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mssql_js__le_1_0_2__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mssql_js__le_1_0_2__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mssql_js__le_1_0_2__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mssql_js__le_1_0_2__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__mssql_js__le_1_0_2__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__mssql_js__le_1_0_2__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__mssql_js__le_1_0_2__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mssql_js__le_1_0_2__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mssql_js__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mssql_js__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mssql_js__le_1_0_2__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mssql_node__le_1_0_2__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mssql_node__le_1_0_2__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mssql_node__le_1_0_2__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mssql_node__le_1_0_2__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mssql_node__le_1_0_2__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mssql_node__le_1_0_2__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mssql_node__le_1_0_2__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mssql_node__le_1_0_2__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mssql_node__le_1_0_2__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__mssql_node__le_1_0_2__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__mssql_node__le_1_0_2__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__mssql_node__le_1_0_2__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mssql_node__le_1_0_2__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mssql_node__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mssql_node__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mssql_node__le_1_0_2__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mustache__lt_0_3_1__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mustache__lt_0_3_1__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mustache__lt_0_3_1__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mustache__lt_0_3_1__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mustache__lt_0_3_1__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mustache__lt_0_3_1__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mustache__lt_0_3_1__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mustache__lt_0_3_1__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mustache__lt_0_3_1__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__mustache__lt_0_3_1__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__mustache__lt_0_3_1__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__mustache__lt_0_3_1__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mustache__lt_0_3_1__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mustache__lt_0_3_1__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mustache__lt_0_3_1__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mustache__lt_0_3_1__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mustache__lt_2_2_1__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mustache__lt_2_2_1__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mustache__lt_2_2_1__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mustache__lt_2_2_1__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mustache__lt_2_2_1__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mustache__lt_2_2_1__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mustache__lt_2_2_1__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mustache__lt_2_2_1__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mustache__lt_2_2_1__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__mustache__lt_2_2_1__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__mustache__lt_2_2_1__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__mustache__lt_2_2_1__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mustache__lt_2_2_1__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mustache__lt_2_2_1__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mustache__lt_2_2_1__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mustache__lt_2_2_1__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mxgraph__lt_3_7_6__xxe_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mxgraph__lt_3_7_6__xxe_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mxgraph__lt_3_7_6__xxe_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mxgraph__lt_3_7_6__xxe_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mxgraph__lt_3_7_6__xxe_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mxgraph__lt_3_7_6__xxe_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mxgraph__lt_3_7_6__xxe_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mxgraph__lt_3_7_6__xxe_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mxgraph__lt_3_7_6__xxe_injection.dacg.result.s2.o0": "The library is known to include the XML External Entity (XXE) Injection vulnerability.",
  "0.event.dacg_npm__mxgraph__lt_3_7_6__xxe_injection.dacg.result.s3.o0": "The XML External Entity (XXE) Injection vulnerability is caused by using external URL resources, such as objects, in XML documents without verification process.",
  "0.event.dacg_npm__mxgraph__lt_3_7_6__xxe_injection.dacg.result.s4.o0": "Using the XML External Entity (XXE) Injection vulnerability, an attacker can steal sensitive information or perform resource depletion or denial of service attacks such as 'Billion Laughs'.",
  "0.event.dacg_npm__mxgraph__lt_3_7_6__xxe_injection.dacg.result.s5.o0": "As a result of the test, the XML External Entity (XXE) Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mxgraph__lt_3_7_6__xxe_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mxgraph__lt_3_7_6__xxe_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mxgraph__lt_3_7_6__xxe_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mxgraph__lt_3_7_6__xxe_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__my_sn__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__my_sn__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__my_sn__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__my_sn__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__my_sn__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__my_sn__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__my_sn__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__my_sn__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__my_sn__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__my_sn__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__my_sn__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__my_sn__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__my_sn__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__my_sn__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__my_sn__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__my_sn__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__myprolyz__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__myprolyz__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__myprolyz__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__myprolyz__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__myprolyz__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__myprolyz__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__myprolyz__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__myprolyz__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__myprolyz__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__myprolyz__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__myprolyz__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__myprolyz__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__myprolyz__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__myprolyz__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__myprolyz__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__myprolyz__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__myserve111__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__myserve111__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__myserve111__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__myserve111__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__myserve111__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__myserve111__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__myserve111__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__myserve111__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__myserve111__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__myserve111__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__myserve111__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__myserve111__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__myserve111__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__myserve111__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__myserve111__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__myserve111__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__myserver_alexcthomas18__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__myserver_alexcthomas18__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__myserver_alexcthomas18__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__myserver_alexcthomas18__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__myserver_alexcthomas18__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__myserver_alexcthomas18__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__myserver_alexcthomas18__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__myserver_alexcthomas18__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__myserver_alexcthomas18__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__myserver_alexcthomas18__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__myserver_alexcthomas18__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__myserver_alexcthomas18__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__myserver_alexcthomas18__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__myserver_alexcthomas18__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__myserver_alexcthomas18__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__myserver_alexcthomas18__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mysql2csv__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mysql2csv__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mysql2csv__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mysql2csv__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mysql2csv__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mysql2csv__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mysql2csv__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mysql2csv__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mysql2csv__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__mysql2csv__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__mysql2csv__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__mysql2csv__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mysql2csv__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mysql2csv__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mysql2csv__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mysql2csv__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mysql__ge_2_0_0_alpha_lt_2_0_0_alpha8__sql_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mysql__ge_2_0_0_alpha_lt_2_0_0_alpha8__sql_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mysql__ge_2_0_0_alpha_lt_2_0_0_alpha8__sql_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mysql__ge_2_0_0_alpha_lt_2_0_0_alpha8__sql_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mysql__ge_2_0_0_alpha_lt_2_0_0_alpha8__sql_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mysql__ge_2_0_0_alpha_lt_2_0_0_alpha8__sql_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mysql__ge_2_0_0_alpha_lt_2_0_0_alpha8__sql_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mysql__ge_2_0_0_alpha_lt_2_0_0_alpha8__sql_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mysql__ge_2_0_0_alpha_lt_2_0_0_alpha8__sql_injection.dacg.result.s2.o0": "The library is known to include the SQL Injection vulnerability.",
  "0.event.dacg_npm__mysql__ge_2_0_0_alpha_lt_2_0_0_alpha8__sql_injection.dacg.result.s3.o0": "The SQL Injection vulnerability is caused by manipulating SQL queries or executing unintended SQL statements.",
  "0.event.dacg_npm__mysql__ge_2_0_0_alpha_lt_2_0_0_alpha8__sql_injection.dacg.result.s4.o0": "Using the SQL Injection vulnerability, an attacker can steal and manipulate important information in the database.",
  "0.event.dacg_npm__mysql__ge_2_0_0_alpha_lt_2_0_0_alpha8__sql_injection.dacg.result.s5.o0": "As a result of the test, the SQL Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mysql__ge_2_0_0_alpha_lt_2_0_0_alpha8__sql_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mysql__ge_2_0_0_alpha_lt_2_0_0_alpha8__sql_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mysql__ge_2_0_0_alpha_lt_2_0_0_alpha8__sql_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mysql__ge_2_0_0_alpha_lt_2_0_0_alpha8__sql_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mysql__ge_2_0_0_lt_2_3_0__authorization_bypass.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mysql__ge_2_0_0_lt_2_3_0__authorization_bypass.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mysql__ge_2_0_0_lt_2_3_0__authorization_bypass.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mysql__ge_2_0_0_lt_2_3_0__authorization_bypass.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mysql__ge_2_0_0_lt_2_3_0__authorization_bypass.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mysql__ge_2_0_0_lt_2_3_0__authorization_bypass.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mysql__ge_2_0_0_lt_2_3_0__authorization_bypass.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mysql__ge_2_0_0_lt_2_3_0__authorization_bypass.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mysql__ge_2_0_0_lt_2_3_0__authorization_bypass.dacg.result.s2.o0": "The library is known to include the Authorization Bypass vulnerability.",
  "0.event.dacg_npm__mysql__ge_2_0_0_lt_2_3_0__authorization_bypass.dacg.result.s3.o0": "Authentication bypass vulnerabilities can bypass a required authentication process.",
  "0.event.dacg_npm__mysql__ge_2_0_0_lt_2_3_0__authorization_bypass.dacg.result.s4.o0": "An attacker can use Authorization Bypass vulnerability to perform unauthorized activities.",
  "0.event.dacg_npm__mysql__ge_2_0_0_lt_2_3_0__authorization_bypass.dacg.result.s5.o0": "As a result of the test, the Authorization Bypass vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mysql__ge_2_0_0_lt_2_3_0__authorization_bypass.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mysql__ge_2_0_0_lt_2_3_0__authorization_bypass.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mysql__ge_2_0_0_lt_2_3_0__authorization_bypass.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mysql__ge_2_0_0_lt_2_3_0__authorization_bypass.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mysql__lt_2_14_0__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mysql__lt_2_14_0__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mysql__lt_2_14_0__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mysql__lt_2_14_0__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mysql__lt_2_14_0__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mysql__lt_2_14_0__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mysql__lt_2_14_0__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mysql__lt_2_14_0__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mysql__lt_2_14_0__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__mysql__lt_2_14_0__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__mysql__lt_2_14_0__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__mysql__lt_2_14_0__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mysql__lt_2_14_0__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mysql__lt_2_14_0__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mysql__lt_2_14_0__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mysql__lt_2_14_0__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mysqljs__le_1_0_2__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mysqljs__le_1_0_2__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mysqljs__le_1_0_2__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mysqljs__le_1_0_2__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mysqljs__le_1_0_2__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mysqljs__le_1_0_2__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mysqljs__le_1_0_2__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mysqljs__le_1_0_2__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mysqljs__le_1_0_2__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__mysqljs__le_1_0_2__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__mysqljs__le_1_0_2__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__mysqljs__le_1_0_2__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mysqljs__le_1_0_2__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mysqljs__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mysqljs__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mysqljs__le_1_0_2__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mystem3__lt_1_0_8__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mystem3__lt_1_0_8__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mystem3__lt_1_0_8__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mystem3__lt_1_0_8__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mystem3__lt_1_0_8__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mystem3__lt_1_0_8__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mystem3__lt_1_0_8__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mystem3__lt_1_0_8__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mystem3__lt_1_0_8__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__mystem3__lt_1_0_8__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__mystem3__lt_1_0_8__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__mystem3__lt_1_0_8__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mystem3__lt_1_0_8__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mystem3__lt_1_0_8__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mystem3__lt_1_0_8__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mystem3__lt_1_0_8__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mystem__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mystem__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mystem__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mystem__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mystem__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mystem__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mystem__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mystem__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mystem__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__mystem__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__mystem__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__mystem__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mystem__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mystem__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mystem__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mystem__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mystem_fix__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mystem_fix__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mystem_fix__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mystem_fix__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mystem_fix__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mystem_fix__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mystem_fix__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mystem_fix__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mystem_fix__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__mystem_fix__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__mystem_fix__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__mystem_fix__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mystem_fix__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mystem_fix__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mystem_fix__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mystem_fix__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__mystem_wrapper__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__mystem_wrapper__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__mystem_wrapper__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__mystem_wrapper__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__mystem_wrapper__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__mystem_wrapper__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__mystem_wrapper__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__mystem_wrapper__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__mystem_wrapper__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__mystem_wrapper__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__mystem_wrapper__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__mystem_wrapper__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__mystem_wrapper__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__mystem_wrapper__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__mystem_wrapper__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__mystem_wrapper__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__nameless_cli__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__nameless_cli__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__nameless_cli__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__nameless_cli__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__nameless_cli__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__nameless_cli__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__nameless_cli__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__nameless_cli__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__nameless_cli__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__nameless_cli__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__nameless_cli__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__nameless_cli__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__nameless_cli__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__nameless_cli__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__nameless_cli__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__nameless_cli__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__native_opencv__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__native_opencv__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__native_opencv__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__native_opencv__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__native_opencv__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__native_opencv__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__native_opencv__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__native_opencv__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__native_opencv__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__native_opencv__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__native_opencv__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__native_opencv__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__native_opencv__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__native_opencv__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__native_opencv__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__native_opencv__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__nd_validator__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__nd_validator__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__nd_validator__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__nd_validator__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__nd_validator__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__nd_validator__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__nd_validator__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__nd_validator__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__nd_validator__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__nd_validator__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__nd_validator__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__nd_validator__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__nd_validator__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__nd_validator__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__nd_validator__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__nd_validator__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__negotiator__le_0_6_0__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__negotiator__le_0_6_0__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__negotiator__le_0_6_0__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__negotiator__le_0_6_0__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__negotiator__le_0_6_0__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__negotiator__le_0_6_0__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__negotiator__le_0_6_0__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__negotiator__le_0_6_0__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__negotiator__le_0_6_0__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__negotiator__le_0_6_0__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__negotiator__le_0_6_0__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__negotiator__le_0_6_0__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__negotiator__le_0_6_0__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__negotiator__le_0_6_0__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__negotiator__le_0_6_0__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__negotiator__le_0_6_0__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__nes__lt_6_4_1__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__nes__lt_6_4_1__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__nes__lt_6_4_1__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__nes__lt_6_4_1__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__nes__lt_6_4_1__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__nes__lt_6_4_1__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__nes__lt_6_4_1__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__nes__lt_6_4_1__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__nes__lt_6_4_1__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__nes__lt_6_4_1__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__nes__lt_6_4_1__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__nes__lt_6_4_1__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__nes__lt_6_4_1__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__nes__lt_6_4_1__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__nes__lt_6_4_1__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__nes__lt_6_4_1__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__next__ge_3_0_0_beta1_lt_3_0_0_beta7__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__next__ge_3_0_0_beta1_lt_3_0_0_beta7__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__next__ge_3_0_0_beta1_lt_3_0_0_beta7__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__next__ge_3_0_0_beta1_lt_3_0_0_beta7__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__next__ge_3_0_0_beta1_lt_3_0_0_beta7__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__next__ge_3_0_0_beta1_lt_3_0_0_beta7__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__next__ge_3_0_0_beta1_lt_3_0_0_beta7__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__next__ge_3_0_0_beta1_lt_3_0_0_beta7__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__next__ge_3_0_0_beta1_lt_3_0_0_beta7__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__next__ge_3_0_0_beta1_lt_3_0_0_beta7__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__next__ge_3_0_0_beta1_lt_3_0_0_beta7__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__next__ge_3_0_0_beta1_lt_3_0_0_beta7__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__next__ge_3_0_0_beta1_lt_3_0_0_beta7__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__next__ge_3_0_0_beta1_lt_3_0_0_beta7__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__next__ge_3_0_0_beta1_lt_3_0_0_beta7__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__next__ge_3_0_0_beta1_lt_3_0_0_beta7__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__next__lt_2_4_1__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__next__lt_2_4_1__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__next__lt_2_4_1__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__next__lt_2_4_1__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__next__lt_2_4_1__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__next__lt_2_4_1__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__next__lt_2_4_1__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__next__lt_2_4_1__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__next__lt_2_4_1__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__next__lt_2_4_1__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__next__lt_2_4_1__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__next__lt_2_4_1__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__next__lt_2_4_1__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__next__lt_2_4_1__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__next__lt_2_4_1__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__next__lt_2_4_1__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__next__lt_2_4_3__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__next__lt_2_4_3__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__next__lt_2_4_3__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__next__lt_2_4_3__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__next__lt_2_4_3__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__next__lt_2_4_3__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__next__lt_2_4_3__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__next__lt_2_4_3__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__next__lt_2_4_3__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__next__lt_2_4_3__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__next__lt_2_4_3__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__next__lt_2_4_3__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__next__lt_2_4_3__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__next__lt_2_4_3__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__next__lt_2_4_3__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__next__lt_2_4_3__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__next__lt_4_2_3__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__next__lt_4_2_3__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__next__lt_4_2_3__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__next__lt_4_2_3__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__next__lt_4_2_3__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__next__lt_4_2_3__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__next__lt_4_2_3__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__next__lt_4_2_3__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__next__lt_4_2_3__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__next__lt_4_2_3__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__next__lt_4_2_3__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__next__lt_4_2_3__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__next__lt_4_2_3__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__next__lt_4_2_3__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__next__lt_4_2_3__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__next__lt_4_2_3__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__nforce__lt_0_6_1__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__nforce__lt_0_6_1__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__nforce__lt_0_6_1__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__nforce__lt_0_6_1__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__nforce__lt_0_6_1__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__nforce__lt_0_6_1__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__nforce__lt_0_6_1__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__nforce__lt_0_6_1__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__nforce__lt_0_6_1__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__nforce__lt_0_6_1__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__nforce__lt_0_6_1__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__nforce__lt_0_6_1__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__nforce__lt_0_6_1__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__nforce__lt_0_6_1__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__nforce__lt_0_6_1__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__nforce__lt_0_6_1__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ng_dialog__ge_0_6_3__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ng_dialog__ge_0_6_3__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ng_dialog__ge_0_6_3__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ng_dialog__ge_0_6_3__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ng_dialog__ge_0_6_3__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ng_dialog__ge_0_6_3__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ng_dialog__ge_0_6_3__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ng_dialog__ge_0_6_3__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ng_dialog__ge_0_6_3__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__ng_dialog__ge_0_6_3__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__ng_dialog__ge_0_6_3__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__ng_dialog__ge_0_6_3__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ng_dialog__ge_0_6_3__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ng_dialog__ge_0_6_3__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ng_dialog__ge_0_6_3__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ng_dialog__ge_0_6_3__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__nhouston__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__nhouston__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__nhouston__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__nhouston__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__nhouston__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__nhouston__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__nhouston__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__nhouston__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__nhouston__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__nhouston__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__nhouston__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__nhouston__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__nhouston__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__nhouston__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__nhouston__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__nhouston__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__nicest__lt_1_1_3__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__nicest__lt_1_1_3__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__nicest__lt_1_1_3__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__nicest__lt_1_1_3__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__nicest__lt_1_1_3__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__nicest__lt_1_1_3__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__nicest__lt_1_1_3__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__nicest__lt_1_1_3__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__nicest__lt_1_1_3__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__nicest__lt_1_1_3__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__nicest__lt_1_1_3__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__nicest__lt_1_1_3__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__nicest__lt_1_1_3__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__nicest__lt_1_1_3__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__nicest__lt_1_1_3__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__nicest__lt_1_1_3__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__nitro_server__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__nitro_server__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__nitro_server__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__nitro_server__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__nitro_server__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__nitro_server__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__nitro_server__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__nitro_server__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__nitro_server__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__nitro_server__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__nitro_server__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__nitro_server__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__nitro_server__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__nitro_server__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__nitro_server__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__nitro_server__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__njwt__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__njwt__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__njwt__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__njwt__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__njwt__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__njwt__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__njwt__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__njwt__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__njwt__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__njwt__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__njwt__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__njwt__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__njwt__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__njwt__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__njwt__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__njwt__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__no_case__lt_2_3_2__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__no_case__lt_2_3_2__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__no_case__lt_2_3_2__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__no_case__lt_2_3_2__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__no_case__lt_2_3_2__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__no_case__lt_2_3_2__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__no_case__lt_2_3_2__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__no_case__lt_2_3_2__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__no_case__lt_2_3_2__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__no_case__lt_2_3_2__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__no_case__lt_2_3_2__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__no_case__lt_2_3_2__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__no_case__lt_2_3_2__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__no_case__lt_2_3_2__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__no_case__lt_2_3_2__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__no_case__lt_2_3_2__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__node_air_sdk__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__node_air_sdk__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__node_air_sdk__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__node_air_sdk__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__node_air_sdk__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__node_air_sdk__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__node_air_sdk__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__node_air_sdk__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__node_air_sdk__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__node_air_sdk__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__node_air_sdk__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__node_air_sdk__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__node_air_sdk__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__node_air_sdk__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__node_air_sdk__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__node_air_sdk__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__node_browser__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__node_browser__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__node_browser__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__node_browser__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__node_browser__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__node_browser__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__node_browser__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__node_browser__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__node_browser__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__node_browser__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__node_browser__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__node_browser__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__node_browser__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__node_browser__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__node_browser__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__node_browser__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__node_bsdiff_android__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__node_bsdiff_android__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__node_bsdiff_android__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__node_bsdiff_android__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__node_bsdiff_android__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__node_bsdiff_android__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__node_bsdiff_android__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__node_bsdiff_android__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__node_bsdiff_android__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__node_bsdiff_android__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__node_bsdiff_android__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__node_bsdiff_android__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__node_bsdiff_android__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__node_bsdiff_android__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__node_bsdiff_android__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__node_bsdiff_android__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__node_cxc__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__node_cxc__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__node_cxc__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__node_cxc__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__node_cxc__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__node_cxc__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__node_cxc__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__node_cxc__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__node_cxc__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__node_cxc__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__node_cxc__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__node_cxc__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__node_cxc__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__node_cxc__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__node_cxc__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__node_cxc__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__node_fabric__le_1_0_2__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__node_fabric__le_1_0_2__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__node_fabric__le_1_0_2__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__node_fabric__le_1_0_2__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__node_fabric__le_1_0_2__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__node_fabric__le_1_0_2__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__node_fabric__le_1_0_2__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__node_fabric__le_1_0_2__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__node_fabric__le_1_0_2__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__node_fabric__le_1_0_2__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__node_fabric__le_1_0_2__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__node_fabric__le_1_0_2__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__node_fabric__le_1_0_2__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__node_fabric__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__node_fabric__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__node_fabric__le_1_0_2__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__node_forge__lt_0_6_33__timing_attack.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__node_forge__lt_0_6_33__timing_attack.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__node_forge__lt_0_6_33__timing_attack.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__node_forge__lt_0_6_33__timing_attack.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__node_forge__lt_0_6_33__timing_attack.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__node_forge__lt_0_6_33__timing_attack.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__node_forge__lt_0_6_33__timing_attack.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__node_forge__lt_0_6_33__timing_attack.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__node_forge__lt_0_6_33__timing_attack.dacg.result.s2.o0": "The library is known to include the Timing Attack vulnerability.",
  "0.event.dacg_npm__node_forge__lt_0_6_33__timing_attack.dacg.result.s3.o0": "The Timing Attack vulnerability causes comparisons to be stopped as soon as different part is found in the comparisons such as strings.",
  "0.event.dacg_npm__node_forge__lt_0_6_33__timing_attack.dacg.result.s4.o0": "An attacker can use Timing Attack vulnerability to calculate spending times, and estimate sensitive information such as passwords.",
  "0.event.dacg_npm__node_forge__lt_0_6_33__timing_attack.dacg.result.s5.o0": "As a result of the test, the Timing Attack vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__node_forge__lt_0_6_33__timing_attack.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__node_forge__lt_0_6_33__timing_attack.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__node_forge__lt_0_6_33__timing_attack.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__node_forge__lt_0_6_33__timing_attack.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__node_forge__lt_0_7_4__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__node_forge__lt_0_7_4__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__node_forge__lt_0_7_4__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__node_forge__lt_0_7_4__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__node_forge__lt_0_7_4__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__node_forge__lt_0_7_4__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__node_forge__lt_0_7_4__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__node_forge__lt_0_7_4__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__node_forge__lt_0_7_4__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__node_forge__lt_0_7_4__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__node_forge__lt_0_7_4__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__node_forge__lt_0_7_4__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__node_forge__lt_0_7_4__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__node_forge__lt_0_7_4__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__node_forge__lt_0_7_4__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__node_forge__lt_0_7_4__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__node_htmlparser_classic__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__node_htmlparser_classic__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__node_htmlparser_classic__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__node_htmlparser_classic__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__node_htmlparser_classic__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__node_htmlparser_classic__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__node_htmlparser_classic__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__node_htmlparser_classic__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__node_htmlparser_classic__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__node_htmlparser_classic__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__node_htmlparser_classic__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__node_htmlparser_classic__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__node_htmlparser_classic__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__node_htmlparser_classic__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__node_htmlparser_classic__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__node_htmlparser_classic__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__node_http_server__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__node_http_server__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__node_http_server__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__node_http_server__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__node_http_server__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__node_http_server__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__node_http_server__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__node_http_server__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__node_http_server__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__node_http_server__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__node_http_server__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__node_http_server__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__node_http_server__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__node_http_server__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__node_http_server__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__node_http_server__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__node_jose__lt_0_11_0__improper_verification_of_cryptographic_signature.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__node_jose__lt_0_11_0__improper_verification_of_cryptographic_signature.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__node_jose__lt_0_11_0__improper_verification_of_cryptographic_signature.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__node_jose__lt_0_11_0__improper_verification_of_cryptographic_signature.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__node_jose__lt_0_11_0__improper_verification_of_cryptographic_signature.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__node_jose__lt_0_11_0__improper_verification_of_cryptographic_signature.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__node_jose__lt_0_11_0__improper_verification_of_cryptographic_signature.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__node_jose__lt_0_11_0__improper_verification_of_cryptographic_signature.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__node_jose__lt_0_11_0__improper_verification_of_cryptographic_signature.dacg.result.s2.o0": "The library is known to include the Improper Verification of Digital Signature vulnerability.",
  "0.event.dacg_npm__node_jose__lt_0_11_0__improper_verification_of_cryptographic_signature.dacg.result.s3.o0": "The Improper Verification of Digital Signature vulnerability is caused by lacking sufficient digital signature verification for particular files.",
  "0.event.dacg_npm__node_jose__lt_0_11_0__improper_verification_of_cryptographic_signature.dacg.result.s4.o0": "Using the Improper Verification of Digital Signature vulnerability, an attacker can upload dangerous files and steal or manipulate important information through the files.",
  "0.event.dacg_npm__node_jose__lt_0_11_0__improper_verification_of_cryptographic_signature.dacg.result.s5.o0": "As a result of the test, the Improper Verification of Digital Signature vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__node_jose__lt_0_11_0__improper_verification_of_cryptographic_signature.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__node_jose__lt_0_11_0__improper_verification_of_cryptographic_signature.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__node_jose__lt_0_11_0__improper_verification_of_cryptographic_signature.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__node_jose__lt_0_11_0__improper_verification_of_cryptographic_signature.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__node_jose__lt_0_9_3__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__node_jose__lt_0_9_3__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__node_jose__lt_0_9_3__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__node_jose__lt_0_9_3__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__node_jose__lt_0_9_3__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__node_jose__lt_0_9_3__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__node_jose__lt_0_9_3__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__node_jose__lt_0_9_3__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__node_jose__lt_0_9_3__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__node_jose__lt_0_9_3__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__node_jose__lt_0_9_3__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__node_jose__lt_0_9_3__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__node_jose__lt_0_9_3__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__node_jose__lt_0_9_3__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__node_jose__lt_0_9_3__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__node_jose__lt_0_9_3__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__node_json_db__lt_0_7_4__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__node_json_db__lt_0_7_4__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__node_json_db__lt_0_7_4__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__node_json_db__lt_0_7_4__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__node_json_db__lt_0_7_4__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__node_json_db__lt_0_7_4__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__node_json_db__lt_0_7_4__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__node_json_db__lt_0_7_4__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__node_json_db__lt_0_7_4__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__node_json_db__lt_0_7_4__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__node_json_db__lt_0_7_4__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__node_json_db__lt_0_7_4__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__node_json_db__lt_0_7_4__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__node_json_db__lt_0_7_4__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__node_json_db__lt_0_7_4__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__node_json_db__lt_0_7_4__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__node_krb5__authentication_bypass.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__node_krb5__authentication_bypass.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__node_krb5__authentication_bypass.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__node_krb5__authentication_bypass.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__node_krb5__authentication_bypass.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__node_krb5__authentication_bypass.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__node_krb5__authentication_bypass.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__node_krb5__authentication_bypass.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__node_krb5__authentication_bypass.dacg.result.s2.o0": "The library is known to include the Authentication Bypass vulnerability.",
  "0.event.dacg_npm__node_krb5__authentication_bypass.dacg.result.s3.o0": "Authentication bypass vulnerabilities can bypass a required authentication process.",
  "0.event.dacg_npm__node_krb5__authentication_bypass.dacg.result.s4.o0": "Using the Authentication Bypass vulnerability, an attacker can access to and manipulation of limited information.",
  "0.event.dacg_npm__node_krb5__authentication_bypass.dacg.result.s5.o0": "As a result of the test, the Authentication Bypass vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__node_krb5__authentication_bypass.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__node_krb5__authentication_bypass.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__node_krb5__authentication_bypass.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__node_krb5__authentication_bypass.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__node_opencv__le_1_0_2__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__node_opencv__le_1_0_2__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__node_opencv__le_1_0_2__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__node_opencv__le_1_0_2__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__node_opencv__le_1_0_2__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__node_opencv__le_1_0_2__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__node_opencv__le_1_0_2__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__node_opencv__le_1_0_2__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__node_opencv__le_1_0_2__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__node_opencv__le_1_0_2__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__node_opencv__le_1_0_2__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__node_opencv__le_1_0_2__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__node_opencv__le_1_0_2__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__node_opencv__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__node_opencv__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__node_opencv__le_1_0_2__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__node_opensl__le_1_0_2__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__node_opensl__le_1_0_2__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__node_opensl__le_1_0_2__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__node_opensl__le_1_0_2__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__node_opensl__le_1_0_2__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__node_opensl__le_1_0_2__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__node_opensl__le_1_0_2__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__node_opensl__le_1_0_2__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__node_opensl__le_1_0_2__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__node_opensl__le_1_0_2__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__node_opensl__le_1_0_2__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__node_opensl__le_1_0_2__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__node_opensl__le_1_0_2__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__node_opensl__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__node_opensl__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__node_opensl__le_1_0_2__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__node_openssl__le_1_0_2__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__node_openssl__le_1_0_2__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__node_openssl__le_1_0_2__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__node_openssl__le_1_0_2__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__node_openssl__le_1_0_2__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__node_openssl__le_1_0_2__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__node_openssl__le_1_0_2__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__node_openssl__le_1_0_2__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__node_openssl__le_1_0_2__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__node_openssl__le_1_0_2__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__node_openssl__le_1_0_2__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__node_openssl__le_1_0_2__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__node_openssl__le_1_0_2__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__node_openssl__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__node_openssl__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__node_openssl__le_1_0_2__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__node_pg_migrate__lt_2_23_0__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__node_pg_migrate__lt_2_23_0__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__node_pg_migrate__lt_2_23_0__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__node_pg_migrate__lt_2_23_0__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__node_pg_migrate__lt_2_23_0__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__node_pg_migrate__lt_2_23_0__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__node_pg_migrate__lt_2_23_0__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__node_pg_migrate__lt_2_23_0__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__node_pg_migrate__lt_2_23_0__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__node_pg_migrate__lt_2_23_0__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__node_pg_migrate__lt_2_23_0__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__node_pg_migrate__lt_2_23_0__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__node_pg_migrate__lt_2_23_0__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__node_pg_migrate__lt_2_23_0__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__node_pg_migrate__lt_2_23_0__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__node_pg_migrate__lt_2_23_0__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__node_serialize__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__node_serialize__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__node_serialize__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__node_serialize__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__node_serialize__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__node_serialize__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__node_serialize__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__node_serialize__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__node_serialize__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__node_serialize__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__node_serialize__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__node_serialize__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__node_serialize__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__node_serialize__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__node_serialize__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__node_serialize__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__node_server_forfront__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__node_server_forfront__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__node_server_forfront__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__node_server_forfront__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__node_server_forfront__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__node_server_forfront__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__node_server_forfront__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__node_server_forfront__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__node_server_forfront__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__node_server_forfront__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__node_server_forfront__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__node_server_forfront__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__node_server_forfront__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__node_server_forfront__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__node_server_forfront__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__node_server_forfront__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__node_simple_router__lt_0_10_1__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__node_simple_router__lt_0_10_1__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__node_simple_router__lt_0_10_1__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__node_simple_router__lt_0_10_1__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__node_simple_router__lt_0_10_1__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__node_simple_router__lt_0_10_1__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__node_simple_router__lt_0_10_1__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__node_simple_router__lt_0_10_1__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__node_simple_router__lt_0_10_1__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__node_simple_router__lt_0_10_1__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__node_simple_router__lt_0_10_1__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__node_simple_router__lt_0_10_1__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__node_simple_router__lt_0_10_1__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__node_simple_router__lt_0_10_1__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__node_simple_router__lt_0_10_1__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__node_simple_router__lt_0_10_1__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__node_sqlite__le_1_0_2__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__node_sqlite__le_1_0_2__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__node_sqlite__le_1_0_2__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__node_sqlite__le_1_0_2__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__node_sqlite__le_1_0_2__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__node_sqlite__le_1_0_2__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__node_sqlite__le_1_0_2__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__node_sqlite__le_1_0_2__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__node_sqlite__le_1_0_2__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__node_sqlite__le_1_0_2__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__node_sqlite__le_1_0_2__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__node_sqlite__le_1_0_2__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__node_sqlite__le_1_0_2__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__node_sqlite__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__node_sqlite__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__node_sqlite__le_1_0_2__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__node_srv__lt_2_1_1__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__node_srv__lt_2_1_1__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__node_srv__lt_2_1_1__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__node_srv__lt_2_1_1__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__node_srv__lt_2_1_1__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__node_srv__lt_2_1_1__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__node_srv__lt_2_1_1__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__node_srv__lt_2_1_1__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__node_srv__lt_2_1_1__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__node_srv__lt_2_1_1__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__node_srv__lt_2_1_1__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__node_srv__lt_2_1_1__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__node_srv__lt_2_1_1__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__node_srv__lt_2_1_1__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__node_srv__lt_2_1_1__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__node_srv__lt_2_1_1__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__node_static_webserver__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__node_static_webserver__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__node_static_webserver__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__node_static_webserver__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__node_static_webserver__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__node_static_webserver__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__node_static_webserver__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__node_static_webserver__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__node_static_webserver__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__node_static_webserver__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__node_static_webserver__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__node_static_webserver__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__node_static_webserver__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__node_static_webserver__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__node_static_webserver__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__node_static_webserver__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__node_staticserver__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__node_staticserver__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__node_staticserver__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__node_staticserver__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__node_staticserver__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__node_staticserver__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__node_staticserver__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__node_staticserver__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__node_staticserver__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__node_staticserver__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__node_staticserver__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__node_staticserver__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__node_staticserver__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__node_staticserver__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__node_staticserver__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__node_staticserver__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__node_thulac__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__node_thulac__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__node_thulac__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__node_thulac__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__node_thulac__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__node_thulac__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__node_thulac__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__node_thulac__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__node_thulac__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__node_thulac__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__node_thulac__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__node_thulac__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__node_thulac__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__node_thulac__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__node_thulac__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__node_thulac__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__node_tkinter__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__node_tkinter__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__node_tkinter__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__node_tkinter__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__node_tkinter__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__node_tkinter__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__node_tkinter__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__node_tkinter__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__node_tkinter__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__node_tkinter__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__node_tkinter__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__node_tkinter__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__node_tkinter__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__node_tkinter__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__node_tkinter__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__node_tkinter__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__node_uuid__lt_1_3_1__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__node_uuid__lt_1_3_1__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__node_uuid__lt_1_3_1__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__node_uuid__lt_1_3_1__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__node_uuid__lt_1_3_1__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__node_uuid__lt_1_3_1__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__node_uuid__lt_1_3_1__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__node_uuid__lt_1_3_1__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__node_uuid__lt_1_3_1__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__node_uuid__lt_1_3_1__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__node_uuid__lt_1_3_1__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__node_uuid__lt_1_3_1__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__node_uuid__lt_1_3_1__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__node_uuid__lt_1_3_1__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__node_uuid__lt_1_3_1__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__node_uuid__lt_1_3_1__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__node_uuid__lt_1_4_4__use_of_insufficiently_random_values.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__node_uuid__lt_1_4_4__use_of_insufficiently_random_values.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__node_uuid__lt_1_4_4__use_of_insufficiently_random_values.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__node_uuid__lt_1_4_4__use_of_insufficiently_random_values.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__node_uuid__lt_1_4_4__use_of_insufficiently_random_values.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__node_uuid__lt_1_4_4__use_of_insufficiently_random_values.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__node_uuid__lt_1_4_4__use_of_insufficiently_random_values.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__node_uuid__lt_1_4_4__use_of_insufficiently_random_values.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__node_uuid__lt_1_4_4__use_of_insufficiently_random_values.dacg.result.s2.o0": "This library is known to include a Use of Insufficiently Random Values vulnerability.",
  "0.event.dacg_npm__node_uuid__lt_1_4_4__use_of_insufficiently_random_values.dacg.result.s3.o0": "The Use of Insufficient Random Number vulnerability is caused by using predictable random numbers.",
  "0.event.dacg_npm__node_uuid__lt_1_4_4__use_of_insufficiently_random_values.dacg.result.s4.o0": "An attacker can use Insufficiently Random Values vulnerability to infer a random number value of a password or decryption key.",
  "0.event.dacg_npm__node_uuid__lt_1_4_4__use_of_insufficiently_random_values.dacg.result.s5.o0": "As a result of the test, the Use of Insufficiently Random Values vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__node_uuid__lt_1_4_4__use_of_insufficiently_random_values.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__node_uuid__lt_1_4_4__use_of_insufficiently_random_values.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__node_uuid__lt_1_4_4__use_of_insufficiently_random_values.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__node_uuid__lt_1_4_4__use_of_insufficiently_random_values.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__nodeaaaaa__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__nodeaaaaa__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__nodeaaaaa__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__nodeaaaaa__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__nodeaaaaa__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__nodeaaaaa__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__nodeaaaaa__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__nodeaaaaa__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__nodeaaaaa__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__nodeaaaaa__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__nodeaaaaa__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__nodeaaaaa__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__nodeaaaaa__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__nodeaaaaa__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__nodeaaaaa__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__nodeaaaaa__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__nodebb__ge_0_4_3_lt_1_4_1__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__nodebb__ge_0_4_3_lt_1_4_1__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__nodebb__ge_0_4_3_lt_1_4_1__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__nodebb__ge_0_4_3_lt_1_4_1__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__nodebb__ge_0_4_3_lt_1_4_1__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__nodebb__ge_0_4_3_lt_1_4_1__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__nodebb__ge_0_4_3_lt_1_4_1__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__nodebb__ge_0_4_3_lt_1_4_1__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__nodebb__ge_0_4_3_lt_1_4_1__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__nodebb__ge_0_4_3_lt_1_4_1__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__nodebb__ge_0_4_3_lt_1_4_1__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__nodebb__ge_0_4_3_lt_1_4_1__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__nodebb__ge_0_4_3_lt_1_4_1__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__nodebb__ge_0_4_3_lt_1_4_1__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__nodebb__ge_0_4_3_lt_1_4_1__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__nodebb__ge_0_4_3_lt_1_4_1__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__nodebb__ge_0_6_1_lt_0_7_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__nodebb__ge_0_6_1_lt_0_7_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__nodebb__ge_0_6_1_lt_0_7_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__nodebb__ge_0_6_1_lt_0_7_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__nodebb__ge_0_6_1_lt_0_7_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__nodebb__ge_0_6_1_lt_0_7_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__nodebb__ge_0_6_1_lt_0_7_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__nodebb__ge_0_6_1_lt_0_7_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__nodebb__ge_0_6_1_lt_0_7_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__nodebb__ge_0_6_1_lt_0_7_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__nodebb__ge_0_6_1_lt_0_7_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__nodebb__ge_0_6_1_lt_0_7_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__nodebb__ge_0_6_1_lt_0_7_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__nodebb__ge_0_6_1_lt_0_7_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__nodebb__ge_0_6_1_lt_0_7_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__nodebb__ge_0_6_1_lt_0_7_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__nodecaffe__le_1_0_2__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__nodecaffe__le_1_0_2__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__nodecaffe__le_1_0_2__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__nodecaffe__le_1_0_2__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__nodecaffe__le_1_0_2__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__nodecaffe__le_1_0_2__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__nodecaffe__le_1_0_2__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__nodecaffe__le_1_0_2__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__nodecaffe__le_1_0_2__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__nodecaffe__le_1_0_2__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__nodecaffe__le_1_0_2__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__nodecaffe__le_1_0_2__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__nodecaffe__le_1_0_2__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__nodecaffe__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__nodecaffe__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__nodecaffe__le_1_0_2__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__nodefabric__le_1_0_2__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__nodefabric__le_1_0_2__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__nodefabric__le_1_0_2__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__nodefabric__le_1_0_2__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__nodefabric__le_1_0_2__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__nodefabric__le_1_0_2__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__nodefabric__le_1_0_2__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__nodefabric__le_1_0_2__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__nodefabric__le_1_0_2__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__nodefabric__le_1_0_2__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__nodefabric__le_1_0_2__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__nodefabric__le_1_0_2__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__nodefabric__le_1_0_2__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__nodefabric__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__nodefabric__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__nodefabric__le_1_0_2__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__nodeffmpeg__le_1_0_2__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__nodeffmpeg__le_1_0_2__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__nodeffmpeg__le_1_0_2__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__nodeffmpeg__le_1_0_2__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__nodeffmpeg__le_1_0_2__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__nodeffmpeg__le_1_0_2__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__nodeffmpeg__le_1_0_2__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__nodeffmpeg__le_1_0_2__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__nodeffmpeg__le_1_0_2__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__nodeffmpeg__le_1_0_2__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__nodeffmpeg__le_1_0_2__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__nodeffmpeg__le_1_0_2__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__nodeffmpeg__le_1_0_2__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__nodeffmpeg__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__nodeffmpeg__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__nodeffmpeg__le_1_0_2__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__nodejs_jseidl__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__nodejs_jseidl__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__nodejs_jseidl__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__nodejs_jseidl__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__nodejs_jseidl__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__nodejs_jseidl__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__nodejs_jseidl__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__nodejs_jseidl__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__nodejs_jseidl__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__nodejs_jseidl__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__nodejs_jseidl__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__nodejs_jseidl__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__nodejs_jseidl__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__nodejs_jseidl__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__nodejs_jseidl__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__nodejs_jseidl__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__nodejs_liamgb__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__nodejs_liamgb__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__nodejs_liamgb__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__nodejs_liamgb__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__nodejs_liamgb__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__nodejs_liamgb__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__nodejs_liamgb__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__nodejs_liamgb__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__nodejs_liamgb__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__nodejs_liamgb__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__nodejs_liamgb__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__nodejs_liamgb__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__nodejs_liamgb__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__nodejs_liamgb__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__nodejs_liamgb__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__nodejs_liamgb__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__nodejsccc__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__nodejsccc__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__nodejsccc__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__nodejsccc__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__nodejsccc__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__nodejsccc__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__nodejsccc__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__nodejsccc__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__nodejsccc__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__nodejsccc__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__nodejsccc__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__nodejsccc__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__nodejsccc__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__nodejsccc__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__nodejsccc__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__nodejsccc__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__nodeload__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__nodeload__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__nodeload__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__nodeload__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__nodeload__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__nodeload__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__nodeload__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__nodeload__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__nodeload__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__nodeload__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__nodeload__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__nodeload__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__nodeload__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__nodeload__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__nodeload__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__nodeload__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__nodeload_nmickuli__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__nodeload_nmickuli__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__nodeload_nmickuli__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__nodeload_nmickuli__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__nodeload_nmickuli__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__nodeload_nmickuli__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__nodeload_nmickuli__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__nodeload_nmickuli__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__nodeload_nmickuli__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__nodeload_nmickuli__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__nodeload_nmickuli__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__nodeload_nmickuli__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__nodeload_nmickuli__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__nodeload_nmickuli__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__nodeload_nmickuli__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__nodeload_nmickuli__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__nodemailer_js__le_1_0_2__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__nodemailer_js__le_1_0_2__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__nodemailer_js__le_1_0_2__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__nodemailer_js__le_1_0_2__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__nodemailer_js__le_1_0_2__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__nodemailer_js__le_1_0_2__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__nodemailer_js__le_1_0_2__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__nodemailer_js__le_1_0_2__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__nodemailer_js__le_1_0_2__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__nodemailer_js__le_1_0_2__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__nodemailer_js__le_1_0_2__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__nodemailer_js__le_1_0_2__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__nodemailer_js__le_1_0_2__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__nodemailer_js__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__nodemailer_js__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__nodemailer_js__le_1_0_2__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__nodemssql__le_1_0_2__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__nodemssql__le_1_0_2__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__nodemssql__le_1_0_2__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__nodemssql__le_1_0_2__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__nodemssql__le_1_0_2__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__nodemssql__le_1_0_2__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__nodemssql__le_1_0_2__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__nodemssql__le_1_0_2__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__nodemssql__le_1_0_2__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__nodemssql__le_1_0_2__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__nodemssql__le_1_0_2__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__nodemssql__le_1_0_2__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__nodemssql__le_1_0_2__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__nodemssql__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__nodemssql__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__nodemssql__le_1_0_2__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__noderequest__le_1_0_2__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__noderequest__le_1_0_2__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__noderequest__le_1_0_2__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__noderequest__le_1_0_2__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__noderequest__le_1_0_2__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__noderequest__le_1_0_2__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__noderequest__le_1_0_2__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__noderequest__le_1_0_2__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__noderequest__le_1_0_2__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__noderequest__le_1_0_2__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__noderequest__le_1_0_2__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__noderequest__le_1_0_2__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__noderequest__le_1_0_2__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__noderequest__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__noderequest__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__noderequest__le_1_0_2__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__nodesass__le_1_0_2__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__nodesass__le_1_0_2__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__nodesass__le_1_0_2__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__nodesass__le_1_0_2__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__nodesass__le_1_0_2__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__nodesass__le_1_0_2__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__nodesass__le_1_0_2__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__nodesass__le_1_0_2__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__nodesass__le_1_0_2__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__nodesass__le_1_0_2__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__nodesass__le_1_0_2__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__nodesass__le_1_0_2__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__nodesass__le_1_0_2__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__nodesass__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__nodesass__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__nodesass__le_1_0_2__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__nodeschnaps__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__nodeschnaps__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__nodeschnaps__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__nodeschnaps__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__nodeschnaps__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__nodeschnaps__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__nodeschnaps__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__nodeschnaps__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__nodeschnaps__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__nodeschnaps__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__nodeschnaps__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__nodeschnaps__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__nodeschnaps__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__nodeschnaps__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__nodeschnaps__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__nodeschnaps__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__nodeserver_jta__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__nodeserver_jta__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__nodeserver_jta__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__nodeserver_jta__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__nodeserver_jta__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__nodeserver_jta__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__nodeserver_jta__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__nodeserver_jta__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__nodeserver_jta__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__nodeserver_jta__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__nodeserver_jta__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__nodeserver_jta__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__nodeserver_jta__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__nodeserver_jta__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__nodeserver_jta__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__nodeserver_jta__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__nodesqlite__le_1_0_2__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__nodesqlite__le_1_0_2__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__nodesqlite__le_1_0_2__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__nodesqlite__le_1_0_2__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__nodesqlite__le_1_0_2__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__nodesqlite__le_1_0_2__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__nodesqlite__le_1_0_2__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__nodesqlite__le_1_0_2__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__nodesqlite__le_1_0_2__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__nodesqlite__le_1_0_2__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__nodesqlite__le_1_0_2__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__nodesqlite__le_1_0_2__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__nodesqlite__le_1_0_2__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__nodesqlite__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__nodesqlite__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__nodesqlite__le_1_0_2__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__nodewebkit__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__nodewebkit__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__nodewebkit__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__nodewebkit__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__nodewebkit__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__nodewebkit__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__nodewebkit__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__nodewebkit__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__nodewebkit__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__nodewebkit__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__nodewebkit__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__nodewebkit__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__nodewebkit__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__nodewebkit__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__nodewebkit__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__nodewebkit__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__nodux_core__lt_0_0_18__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__nodux_core__lt_0_0_18__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__nodux_core__lt_0_0_18__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__nodux_core__lt_0_0_18__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__nodux_core__lt_0_0_18__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__nodux_core__lt_0_0_18__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__nodux_core__lt_0_0_18__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__nodux_core__lt_0_0_18__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__nodux_core__lt_0_0_18__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__nodux_core__lt_0_0_18__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__nodux_core__lt_0_0_18__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__nodux_core__lt_0_0_18__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__nodux_core__lt_0_0_18__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__nodux_core__lt_0_0_18__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__nodux_core__lt_0_0_18__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__nodux_core__lt_0_0_18__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__nopach__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__nopach__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__nopach__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__nopach__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__nopach__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__nopach__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__nopach__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__nopach__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__nopach__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__nopach__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__nopach__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__nopach__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__nopach__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__nopach__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__nopach__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__nopach__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__nothing_js__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__nothing_js__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__nothing_js__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__nothing_js__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__nothing_js__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__nothing_js__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__nothing_js__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__nothing_js__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__nothing_js__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__nothing_js__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__nothing_js__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__nothing_js__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__nothing_js__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__nothing_js__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__nothing_js__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__nothing_js__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__npm__ge_3_0_0_le_3_8_2__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__npm__ge_3_0_0_le_3_8_2__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__npm__ge_3_0_0_le_3_8_2__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__npm__ge_3_0_0_le_3_8_2__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__npm__ge_3_0_0_le_3_8_2__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__npm__ge_3_0_0_le_3_8_2__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__npm__ge_3_0_0_le_3_8_2__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__npm__ge_3_0_0_le_3_8_2__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__npm__ge_3_0_0_le_3_8_2__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__npm__ge_3_0_0_le_3_8_2__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__npm__ge_3_0_0_le_3_8_2__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__npm__ge_3_0_0_le_3_8_2__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__npm__ge_3_0_0_le_3_8_2__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__npm__ge_3_0_0_le_3_8_2__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__npm__ge_3_0_0_le_3_8_2__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__npm__ge_3_0_0_le_3_8_2__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__npm__le_2_15_0__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__npm__le_2_15_0__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__npm__le_2_15_0__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__npm__le_2_15_0__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__npm__le_2_15_0__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__npm__le_2_15_0__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__npm__le_2_15_0__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__npm__le_2_15_0__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__npm__le_2_15_0__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__npm__le_2_15_0__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__npm__le_2_15_0__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__npm__le_2_15_0__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__npm__le_2_15_0__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__npm__le_2_15_0__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__npm__le_2_15_0__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__npm__le_2_15_0__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__npm__lt_1_3_3__symlink_following.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__npm__lt_1_3_3__symlink_following.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__npm__lt_1_3_3__symlink_following.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__npm__lt_1_3_3__symlink_following.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__npm__lt_1_3_3__symlink_following.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__npm__lt_1_3_3__symlink_following.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__npm__lt_1_3_3__symlink_following.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__npm__lt_1_3_3__symlink_following.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__npm__lt_1_3_3__symlink_following.dacg.result.s2.o0": "The library is known to include the Symbolic Link Following vulnerability.",
  "0.event.dacg_npm__npm__lt_1_3_3__symlink_following.dacg.result.s3.o0": "The Symbolic Link Following vulnerability is caused by using symbolic links to access specific files.",
  "0.event.dacg_npm__npm__lt_1_3_3__symlink_following.dacg.result.s4.o0": "Using the Symbolic Link Following vulnerability, an attacker can view and manipulate the contents of restricted access files.",
  "0.event.dacg_npm__npm__lt_1_3_3__symlink_following.dacg.result.s5.o0": "As a result of the test, the Symbolic Link Following vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__npm__lt_1_3_3__symlink_following.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__npm__lt_1_3_3__symlink_following.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__npm__lt_1_3_3__symlink_following.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__npm__lt_1_3_3__symlink_following.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__npm__lt_5_7_1__authorization_bypass.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__npm__lt_5_7_1__authorization_bypass.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__npm__lt_5_7_1__authorization_bypass.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__npm__lt_5_7_1__authorization_bypass.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__npm__lt_5_7_1__authorization_bypass.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__npm__lt_5_7_1__authorization_bypass.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__npm__lt_5_7_1__authorization_bypass.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__npm__lt_5_7_1__authorization_bypass.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__npm__lt_5_7_1__authorization_bypass.dacg.result.s2.o0": "The library is known to include the Authorization Bypass vulnerability.",
  "0.event.dacg_npm__npm__lt_5_7_1__authorization_bypass.dacg.result.s3.o0": "Authentication bypass vulnerabilities can bypass a required authentication process.",
  "0.event.dacg_npm__npm__lt_5_7_1__authorization_bypass.dacg.result.s4.o0": "An attacker can use Authorization Bypass vulnerability to perform unauthorized activities.",
  "0.event.dacg_npm__npm__lt_5_7_1__authorization_bypass.dacg.result.s5.o0": "As a result of the test, the Authorization Bypass vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__npm__lt_5_7_1__authorization_bypass.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__npm__lt_5_7_1__authorization_bypass.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__npm__lt_5_7_1__authorization_bypass.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__npm__lt_5_7_1__authorization_bypass.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__npm_exploit__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__npm_exploit__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__npm_exploit__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__npm_exploit__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__npm_exploit__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__npm_exploit__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__npm_exploit__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__npm_exploit__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__npm_exploit__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__npm_exploit__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__npm_exploit__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__npm_exploit__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__npm_exploit__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__npm_exploit__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__npm_exploit__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__npm_exploit__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__npm_script_demo__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__npm_script_demo__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__npm_script_demo__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__npm_script_demo__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__npm_script_demo__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__npm_script_demo__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__npm_script_demo__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__npm_script_demo__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__npm_script_demo__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__npm_script_demo__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__npm_script_demo__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__npm_script_demo__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__npm_script_demo__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__npm_script_demo__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__npm_script_demo__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__npm_script_demo__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__npm_scripts_test_metrics__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__npm_scripts_test_metrics__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__npm_scripts_test_metrics__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__npm_scripts_test_metrics__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__npm_scripts_test_metrics__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__npm_scripts_test_metrics__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__npm_scripts_test_metrics__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__npm_scripts_test_metrics__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__npm_scripts_test_metrics__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__npm_scripts_test_metrics__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__npm_scripts_test_metrics__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__npm_scripts_test_metrics__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__npm_scripts_test_metrics__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__npm_scripts_test_metrics__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__npm_scripts_test_metrics__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__npm_scripts_test_metrics__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__npm_test_sqlite3_trunk__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__npm_test_sqlite3_trunk__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__npm_test_sqlite3_trunk__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__npm_test_sqlite3_trunk__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__npm_test_sqlite3_trunk__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__npm_test_sqlite3_trunk__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__npm_test_sqlite3_trunk__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__npm_test_sqlite3_trunk__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__npm_test_sqlite3_trunk__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__npm_test_sqlite3_trunk__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__npm_test_sqlite3_trunk__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__npm_test_sqlite3_trunk__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__npm_test_sqlite3_trunk__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__npm_test_sqlite3_trunk__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__npm_test_sqlite3_trunk__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__npm_test_sqlite3_trunk__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__npmconf__lt_2_1_3__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__npmconf__lt_2_1_3__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__npmconf__lt_2_1_3__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__npmconf__lt_2_1_3__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__npmconf__lt_2_1_3__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__npmconf__lt_2_1_3__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__npmconf__lt_2_1_3__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__npmconf__lt_2_1_3__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__npmconf__lt_2_1_3__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__npmconf__lt_2_1_3__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__npmconf__lt_2_1_3__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__npmconf__lt_2_1_3__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__npmconf__lt_2_1_3__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__npmconf__lt_2_1_3__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__npmconf__lt_2_1_3__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__npmconf__lt_2_1_3__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ntfserver__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ntfserver__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ntfserver__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ntfserver__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ntfserver__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ntfserver__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ntfserver__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ntfserver__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ntfserver__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__ntfserver__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__ntfserver__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__ntfserver__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ntfserver__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ntfserver__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ntfserver__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ntfserver__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__nunjucks__lt_2_4_3__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__nunjucks__lt_2_4_3__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__nunjucks__lt_2_4_3__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__nunjucks__lt_2_4_3__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__nunjucks__lt_2_4_3__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__nunjucks__lt_2_4_3__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__nunjucks__lt_2_4_3__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__nunjucks__lt_2_4_3__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__nunjucks__lt_2_4_3__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__nunjucks__lt_2_4_3__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__nunjucks__lt_2_4_3__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__nunjucks__lt_2_4_3__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__nunjucks__lt_2_4_3__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__nunjucks__lt_2_4_3__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__nunjucks__lt_2_4_3__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__nunjucks__lt_2_4_3__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__nw__lt_0_23_7__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__nw__lt_0_23_7__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__nw__lt_0_23_7__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__nw__lt_0_23_7__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__nw__lt_0_23_7__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__nw__lt_0_23_7__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__nw__lt_0_23_7__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__nw__lt_0_23_7__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__nw__lt_0_23_7__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__nw__lt_0_23_7__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__nw__lt_0_23_7__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__nw__lt_0_23_7__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__nw__lt_0_23_7__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__nw__lt_0_23_7__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__nw__lt_0_23_7__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__nw__lt_0_23_7__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__nw_with_arm__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__nw_with_arm__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__nw_with_arm__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__nw_with_arm__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__nw_with_arm__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__nw_with_arm__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__nw_with_arm__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__nw_with_arm__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__nw_with_arm__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__nw_with_arm__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__nw_with_arm__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__nw_with_arm__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__nw_with_arm__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__nw_with_arm__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__nw_with_arm__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__nw_with_arm__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__nwmatcher__lt_1_4_4__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__nwmatcher__lt_1_4_4__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__nwmatcher__lt_1_4_4__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__nwmatcher__lt_1_4_4__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__nwmatcher__lt_1_4_4__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__nwmatcher__lt_1_4_4__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__nwmatcher__lt_1_4_4__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__nwmatcher__lt_1_4_4__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__nwmatcher__lt_1_4_4__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__nwmatcher__lt_1_4_4__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__nwmatcher__lt_1_4_4__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__nwmatcher__lt_1_4_4__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__nwmatcher__lt_1_4_4__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__nwmatcher__lt_1_4_4__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__nwmatcher__lt_1_4_4__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__nwmatcher__lt_1_4_4__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__oauth2orize_fprm__lt_0_2_1__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__oauth2orize_fprm__lt_0_2_1__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__oauth2orize_fprm__lt_0_2_1__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__oauth2orize_fprm__lt_0_2_1__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__oauth2orize_fprm__lt_0_2_1__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__oauth2orize_fprm__lt_0_2_1__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__oauth2orize_fprm__lt_0_2_1__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__oauth2orize_fprm__lt_0_2_1__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__oauth2orize_fprm__lt_0_2_1__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__oauth2orize_fprm__lt_0_2_1__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__oauth2orize_fprm__lt_0_2_1__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__oauth2orize_fprm__lt_0_2_1__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__oauth2orize_fprm__lt_0_2_1__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__oauth2orize_fprm__lt_0_2_1__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__oauth2orize_fprm__lt_0_2_1__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__oauth2orize_fprm__lt_0_2_1__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__octotree__lt_1_1__1__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__octotree__lt_1_1__1__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__octotree__lt_1_1__1__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__octotree__lt_1_1__1__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__octotree__lt_1_1__1__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__octotree__lt_1_1__1__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__octotree__lt_1_1__1__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__octotree__lt_1_1__1__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__octotree__lt_1_1__1__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__octotree__lt_1_1__1__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__octotree__lt_1_1__1__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__octotree__lt_1_1__1__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__octotree__lt_1_1__1__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__octotree__lt_1_1__1__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__octotree__lt_1_1__1__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__octotree__lt_1_1__1__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__octotree__lt_2_0_11__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__octotree__lt_2_0_11__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__octotree__lt_2_0_11__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__octotree__lt_2_0_11__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__octotree__lt_2_0_11__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__octotree__lt_2_0_11__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__octotree__lt_2_0_11__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__octotree__lt_2_0_11__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__octotree__lt_2_0_11__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__octotree__lt_2_0_11__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__octotree__lt_2_0_11__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__octotree__lt_2_0_11__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__octotree__lt_2_0_11__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__octotree__lt_2_0_11__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__octotree__lt_2_0_11__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__octotree__lt_2_0_11__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__open__command_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__open__command_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__open__command_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__open__command_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__open__command_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__open__command_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__open__command_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__open__command_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__open__command_injection.dacg.result.s2.o0": "The library is known to include the OS Command Injection vulnerability.",
  "0.event.dacg_npm__open__command_injection.dacg.result.s3.o0": "The OS Command Injection vulnerability is caused by executing user commands without any verification process.",
  "0.event.dacg_npm__open__command_injection.dacg.result.s4.o0": "Using the OS Command Injection vulnerability, an attacker can steal key information of the server and force to perform unintended behaviors.",
  "0.event.dacg_npm__open__command_injection.dacg.result.s5.o0": "As a result of the test, the OS Command Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__open__command_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__open__command_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__open__command_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__open__command_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__open_device__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__open_device__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__open_device__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__open_device__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__open_device__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__open_device__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__open_device__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__open_device__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__open_device__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__open_device__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__open_device__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__open_device__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__open_device__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__open_device__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__open_device__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__open_device__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__opencv_js__le_1_0_2__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__opencv_js__le_1_0_2__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__opencv_js__le_1_0_2__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__opencv_js__le_1_0_2__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__opencv_js__le_1_0_2__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__opencv_js__le_1_0_2__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__opencv_js__le_1_0_2__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__opencv_js__le_1_0_2__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__opencv_js__le_1_0_2__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__opencv_js__le_1_0_2__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__opencv_js__le_1_0_2__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__opencv_js__le_1_0_2__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__opencv_js__le_1_0_2__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__opencv_js__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__opencv_js__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__opencv_js__le_1_0_2__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__openframe_ascii_image__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__openframe_ascii_image__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__openframe_ascii_image__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__openframe_ascii_image__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__openframe_ascii_image__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__openframe_ascii_image__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__openframe_ascii_image__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__openframe_ascii_image__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__openframe_ascii_image__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__openframe_ascii_image__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__openframe_ascii_image__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__openframe_ascii_image__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__openframe_ascii_image__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__openframe_ascii_image__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__openframe_ascii_image__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__openframe_ascii_image__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__openframe_glslviewer__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__openframe_glslviewer__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__openframe_glslviewer__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__openframe_glslviewer__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__openframe_glslviewer__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__openframe_glslviewer__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__openframe_glslviewer__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__openframe_glslviewer__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__openframe_glslviewer__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__openframe_glslviewer__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__openframe_glslviewer__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__openframe_glslviewer__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__openframe_glslviewer__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__openframe_glslviewer__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__openframe_glslviewer__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__openframe_glslviewer__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__openframe_image__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__openframe_image__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__openframe_image__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__openframe_image__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__openframe_image__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__openframe_image__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__openframe_image__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__openframe_image__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__openframe_image__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__openframe_image__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__openframe_image__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__openframe_image__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__openframe_image__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__openframe_image__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__openframe_image__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__openframe_image__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__openssl_js__le_1_0_2__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__openssl_js__le_1_0_2__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__openssl_js__le_1_0_2__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__openssl_js__le_1_0_2__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__openssl_js__le_1_0_2__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__openssl_js__le_1_0_2__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__openssl_js__le_1_0_2__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__openssl_js__le_1_0_2__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__openssl_js__le_1_0_2__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__openssl_js__le_1_0_2__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__openssl_js__le_1_0_2__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__openssl_js__le_1_0_2__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__openssl_js__le_1_0_2__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__openssl_js__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__openssl_js__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__openssl_js__le_1_0_2__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__openwhisk__lt_3_3_1__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__openwhisk__lt_3_3_1__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__openwhisk__lt_3_3_1__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__openwhisk__lt_3_3_1__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__openwhisk__lt_3_3_1__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__openwhisk__lt_3_3_1__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__openwhisk__lt_3_3_1__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__openwhisk__lt_3_3_1__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__openwhisk__lt_3_3_1__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__openwhisk__lt_3_3_1__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__openwhisk__lt_3_3_1__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__openwhisk__lt_3_3_1__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__openwhisk__lt_3_3_1__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__openwhisk__lt_3_3_1__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__openwhisk__lt_3_3_1__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__openwhisk__lt_3_3_1__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__operadriver__lt_0_2_3__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__operadriver__lt_0_2_3__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__operadriver__lt_0_2_3__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__operadriver__lt_0_2_3__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__operadriver__lt_0_2_3__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__operadriver__lt_0_2_3__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__operadriver__lt_0_2_3__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__operadriver__lt_0_2_3__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__operadriver__lt_0_2_3__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__operadriver__lt_0_2_3__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__operadriver__lt_0_2_3__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__operadriver__lt_0_2_3__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__operadriver__lt_0_2_3__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__operadriver__lt_0_2_3__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__operadriver__lt_0_2_3__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__operadriver__lt_0_2_3__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__pandora_doomsday__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__pandora_doomsday__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__pandora_doomsday__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__pandora_doomsday__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__pandora_doomsday__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__pandora_doomsday__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__pandora_doomsday__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__pandora_doomsday__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__pandora_doomsday__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__pandora_doomsday__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__pandora_doomsday__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__pandora_doomsday__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__pandora_doomsday__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__pandora_doomsday__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__pandora_doomsday__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__pandora_doomsday__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__paopao613__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__paopao613__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__paopao613__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__paopao613__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__paopao613__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__paopao613__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__paopao613__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__paopao613__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__paopao613__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__paopao613__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__paopao613__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__paopao613__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__paopao613__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__paopao613__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__paopao613__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__paopao613__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__parse_ssi__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__parse_ssi__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__parse_ssi__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__parse_ssi__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__parse_ssi__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__parse_ssi__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__parse_ssi__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__parse_ssi__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__parse_ssi__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__parse_ssi__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__parse_ssi__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__parse_ssi__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__parse_ssi__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__parse_ssi__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__parse_ssi__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__parse_ssi__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__parsejson__le_0_0_3__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__parsejson__le_0_0_3__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__parsejson__le_0_0_3__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__parsejson__le_0_0_3__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__parsejson__le_0_0_3__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__parsejson__le_0_0_3__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__parsejson__le_0_0_3__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__parsejson__le_0_0_3__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__parsejson__le_0_0_3__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__parsejson__le_0_0_3__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__parsejson__le_0_0_3__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__parsejson__le_0_0_3__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__parsejson__le_0_0_3__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__parsejson__le_0_0_3__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__parsejson__le_0_0_3__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__parsejson__le_0_0_3__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__passport_azure_ad__eq_2_0_0__authentication_bypass.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__passport_azure_ad__eq_2_0_0__authentication_bypass.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__passport_azure_ad__eq_2_0_0__authentication_bypass.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__passport_azure_ad__eq_2_0_0__authentication_bypass.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__passport_azure_ad__eq_2_0_0__authentication_bypass.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__passport_azure_ad__eq_2_0_0__authentication_bypass.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__passport_azure_ad__eq_2_0_0__authentication_bypass.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__passport_azure_ad__eq_2_0_0__authentication_bypass.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__passport_azure_ad__eq_2_0_0__authentication_bypass.dacg.result.s2.o0": "The library is known to include the Authentication Bypass vulnerability.",
  "0.event.dacg_npm__passport_azure_ad__eq_2_0_0__authentication_bypass.dacg.result.s3.o0": "Authentication bypass vulnerabilities can bypass a required authentication process.",
  "0.event.dacg_npm__passport_azure_ad__eq_2_0_0__authentication_bypass.dacg.result.s4.o0": "Using the Authentication Bypass vulnerability, an attacker can access to and manipulation of limited information.",
  "0.event.dacg_npm__passport_azure_ad__eq_2_0_0__authentication_bypass.dacg.result.s5.o0": "As a result of the test, the Authentication Bypass vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__passport_azure_ad__eq_2_0_0__authentication_bypass.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__passport_azure_ad__eq_2_0_0__authentication_bypass.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__passport_azure_ad__eq_2_0_0__authentication_bypass.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__passport_azure_ad__eq_2_0_0__authentication_bypass.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__passport_azure_ad__ge_1_0_0_lt_1_4_6__authentication_bypass.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__passport_azure_ad__ge_1_0_0_lt_1_4_6__authentication_bypass.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__passport_azure_ad__ge_1_0_0_lt_1_4_6__authentication_bypass.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__passport_azure_ad__ge_1_0_0_lt_1_4_6__authentication_bypass.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__passport_azure_ad__ge_1_0_0_lt_1_4_6__authentication_bypass.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__passport_azure_ad__ge_1_0_0_lt_1_4_6__authentication_bypass.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__passport_azure_ad__ge_1_0_0_lt_1_4_6__authentication_bypass.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__passport_azure_ad__ge_1_0_0_lt_1_4_6__authentication_bypass.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__passport_azure_ad__ge_1_0_0_lt_1_4_6__authentication_bypass.dacg.result.s2.o0": "The library is known to include the Authentication Bypass vulnerability.",
  "0.event.dacg_npm__passport_azure_ad__ge_1_0_0_lt_1_4_6__authentication_bypass.dacg.result.s3.o0": "Authentication bypass vulnerabilities can bypass a required authentication process.",
  "0.event.dacg_npm__passport_azure_ad__ge_1_0_0_lt_1_4_6__authentication_bypass.dacg.result.s4.o0": "Using the Authentication Bypass vulnerability, an attacker can access to and manipulation of limited information.",
  "0.event.dacg_npm__passport_azure_ad__ge_1_0_0_lt_1_4_6__authentication_bypass.dacg.result.s5.o0": "As a result of the test, the Authentication Bypass vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__passport_azure_ad__ge_1_0_0_lt_1_4_6__authentication_bypass.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__passport_azure_ad__ge_1_0_0_lt_1_4_6__authentication_bypass.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__passport_azure_ad__ge_1_0_0_lt_1_4_6__authentication_bypass.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__passport_azure_ad__ge_1_0_0_lt_1_4_6__authentication_bypass.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__passport_wsfed_saml2__lt_3_0_5__authentication_bypass.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__passport_wsfed_saml2__lt_3_0_5__authentication_bypass.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__passport_wsfed_saml2__lt_3_0_5__authentication_bypass.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__passport_wsfed_saml2__lt_3_0_5__authentication_bypass.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__passport_wsfed_saml2__lt_3_0_5__authentication_bypass.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__passport_wsfed_saml2__lt_3_0_5__authentication_bypass.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__passport_wsfed_saml2__lt_3_0_5__authentication_bypass.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__passport_wsfed_saml2__lt_3_0_5__authentication_bypass.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__passport_wsfed_saml2__lt_3_0_5__authentication_bypass.dacg.result.s2.o0": "The library is known to include the Authentication Bypass vulnerability.",
  "0.event.dacg_npm__passport_wsfed_saml2__lt_3_0_5__authentication_bypass.dacg.result.s3.o0": "Authentication bypass vulnerabilities can bypass a required authentication process.",
  "0.event.dacg_npm__passport_wsfed_saml2__lt_3_0_5__authentication_bypass.dacg.result.s4.o0": "Using the Authentication Bypass vulnerability, an attacker can access to and manipulation of limited information.",
  "0.event.dacg_npm__passport_wsfed_saml2__lt_3_0_5__authentication_bypass.dacg.result.s5.o0": "As a result of the test, the Authentication Bypass vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__passport_wsfed_saml2__lt_3_0_5__authentication_bypass.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__passport_wsfed_saml2__lt_3_0_5__authentication_bypass.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__passport_wsfed_saml2__lt_3_0_5__authentication_bypass.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__passport_wsfed_saml2__lt_3_0_5__authentication_bypass.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__path_complete_extname__lt_1_0_0__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__path_complete_extname__lt_1_0_0__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__path_complete_extname__lt_1_0_0__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__path_complete_extname__lt_1_0_0__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__path_complete_extname__lt_1_0_0__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__path_complete_extname__lt_1_0_0__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__path_complete_extname__lt_1_0_0__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__path_complete_extname__lt_1_0_0__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__path_complete_extname__lt_1_0_0__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__path_complete_extname__lt_1_0_0__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__path_complete_extname__lt_1_0_0__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__path_complete_extname__lt_1_0_0__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__path_complete_extname__lt_1_0_0__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__path_complete_extname__lt_1_0_0__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__path_complete_extname__lt_1_0_0__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__path_complete_extname__lt_1_0_0__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__paypal_ipn__lt_3_0_0__authentication_bypass.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__paypal_ipn__lt_3_0_0__authentication_bypass.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__paypal_ipn__lt_3_0_0__authentication_bypass.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__paypal_ipn__lt_3_0_0__authentication_bypass.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__paypal_ipn__lt_3_0_0__authentication_bypass.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__paypal_ipn__lt_3_0_0__authentication_bypass.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__paypal_ipn__lt_3_0_0__authentication_bypass.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__paypal_ipn__lt_3_0_0__authentication_bypass.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__paypal_ipn__lt_3_0_0__authentication_bypass.dacg.result.s2.o0": "The library is known to include the Authentication Bypass vulnerability.",
  "0.event.dacg_npm__paypal_ipn__lt_3_0_0__authentication_bypass.dacg.result.s3.o0": "Authentication bypass vulnerabilities can bypass a required authentication process.",
  "0.event.dacg_npm__paypal_ipn__lt_3_0_0__authentication_bypass.dacg.result.s4.o0": "Using the Authentication Bypass vulnerability, an attacker can access to and manipulation of limited information.",
  "0.event.dacg_npm__paypal_ipn__lt_3_0_0__authentication_bypass.dacg.result.s5.o0": "As a result of the test, the Authentication Bypass vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__paypal_ipn__lt_3_0_0__authentication_bypass.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__paypal_ipn__lt_3_0_0__authentication_bypass.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__paypal_ipn__lt_3_0_0__authentication_bypass.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__paypal_ipn__lt_3_0_0__authentication_bypass.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__pdf_image__lt_2_0_1__command_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__pdf_image__lt_2_0_1__command_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__pdf_image__lt_2_0_1__command_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__pdf_image__lt_2_0_1__command_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__pdf_image__lt_2_0_1__command_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__pdf_image__lt_2_0_1__command_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__pdf_image__lt_2_0_1__command_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__pdf_image__lt_2_0_1__command_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__pdf_image__lt_2_0_1__command_injection.dacg.result.s2.o0": "The library is known to include the OS Command Injection vulnerability.",
  "0.event.dacg_npm__pdf_image__lt_2_0_1__command_injection.dacg.result.s3.o0": "The OS Command Injection vulnerability is caused by executing user commands without any verification process.",
  "0.event.dacg_npm__pdf_image__lt_2_0_1__command_injection.dacg.result.s4.o0": "Using the OS Command Injection vulnerability, an attacker can steal key information of the server and force to perform unintended behaviors.",
  "0.event.dacg_npm__pdf_image__lt_2_0_1__command_injection.dacg.result.s5.o0": "As a result of the test, the OS Command Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__pdf_image__lt_2_0_1__command_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__pdf_image__lt_2_0_1__command_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__pdf_image__lt_2_0_1__command_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__pdf_image__lt_2_0_1__command_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__pdfinfojs__lt_0_4_1__command_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__pdfinfojs__lt_0_4_1__command_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__pdfinfojs__lt_0_4_1__command_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__pdfinfojs__lt_0_4_1__command_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__pdfinfojs__lt_0_4_1__command_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__pdfinfojs__lt_0_4_1__command_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__pdfinfojs__lt_0_4_1__command_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__pdfinfojs__lt_0_4_1__command_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__pdfinfojs__lt_0_4_1__command_injection.dacg.result.s2.o0": "The library is known to include the OS Command Injection vulnerability.",
  "0.event.dacg_npm__pdfinfojs__lt_0_4_1__command_injection.dacg.result.s3.o0": "The OS Command Injection vulnerability is caused by executing user commands without any verification process.",
  "0.event.dacg_npm__pdfinfojs__lt_0_4_1__command_injection.dacg.result.s4.o0": "Using the OS Command Injection vulnerability, an attacker can steal key information of the server and force to perform unintended behaviors.",
  "0.event.dacg_npm__pdfinfojs__lt_0_4_1__command_injection.dacg.result.s5.o0": "As a result of the test, the OS Command Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__pdfinfojs__lt_0_4_1__command_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__pdfinfojs__lt_0_4_1__command_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__pdfinfojs__lt_0_4_1__command_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__pdfinfojs__lt_0_4_1__command_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__peiserver__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__peiserver__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__peiserver__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__peiserver__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__peiserver__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__peiserver__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__peiserver__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__peiserver__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__peiserver__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__peiserver__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__peiserver__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__peiserver__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__peiserver__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__peiserver__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__peiserver__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__peiserver__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__pennyworth__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__pennyworth__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__pennyworth__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__pennyworth__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__pennyworth__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__pennyworth__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__pennyworth__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__pennyworth__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__pennyworth__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__pennyworth__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__pennyworth__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__pennyworth__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__pennyworth__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__pennyworth__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__pennyworth__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__pennyworth__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__pg__ge_3_0_0_lt_3_6_4__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__pg__ge_3_0_0_lt_3_6_4__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__pg__ge_3_0_0_lt_3_6_4__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__pg__ge_3_0_0_lt_3_6_4__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__pg__ge_3_0_0_lt_3_6_4__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__pg__ge_3_0_0_lt_3_6_4__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__pg__ge_3_0_0_lt_3_6_4__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__pg__ge_3_0_0_lt_3_6_4__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__pg__ge_3_0_0_lt_3_6_4__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__pg__ge_3_0_0_lt_3_6_4__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__pg__ge_3_0_0_lt_3_6_4__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__pg__ge_3_0_0_lt_3_6_4__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__pg__ge_3_0_0_lt_3_6_4__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__pg__ge_3_0_0_lt_3_6_4__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__pg__ge_3_0_0_lt_3_6_4__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__pg__ge_3_0_0_lt_3_6_4__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__pg__ge_4_0_0_lt_4_5_7__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__pg__ge_4_0_0_lt_4_5_7__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__pg__ge_4_0_0_lt_4_5_7__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__pg__ge_4_0_0_lt_4_5_7__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__pg__ge_4_0_0_lt_4_5_7__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__pg__ge_4_0_0_lt_4_5_7__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__pg__ge_4_0_0_lt_4_5_7__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__pg__ge_4_0_0_lt_4_5_7__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__pg__ge_4_0_0_lt_4_5_7__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__pg__ge_4_0_0_lt_4_5_7__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__pg__ge_4_0_0_lt_4_5_7__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__pg__ge_4_0_0_lt_4_5_7__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__pg__ge_4_0_0_lt_4_5_7__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__pg__ge_4_0_0_lt_4_5_7__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__pg__ge_4_0_0_lt_4_5_7__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__pg__ge_4_0_0_lt_4_5_7__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__pg__ge_5_0_0_lt_5_2_1__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__pg__ge_5_0_0_lt_5_2_1__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__pg__ge_5_0_0_lt_5_2_1__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__pg__ge_5_0_0_lt_5_2_1__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__pg__ge_5_0_0_lt_5_2_1__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__pg__ge_5_0_0_lt_5_2_1__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__pg__ge_5_0_0_lt_5_2_1__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__pg__ge_5_0_0_lt_5_2_1__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__pg__ge_5_0_0_lt_5_2_1__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__pg__ge_5_0_0_lt_5_2_1__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__pg__ge_5_0_0_lt_5_2_1__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__pg__ge_5_0_0_lt_5_2_1__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__pg__ge_5_0_0_lt_5_2_1__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__pg__ge_5_0_0_lt_5_2_1__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__pg__ge_5_0_0_lt_5_2_1__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__pg__ge_5_0_0_lt_5_2_1__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__pg__ge_6_0_0_lt_6_0_5__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__pg__ge_6_0_0_lt_6_0_5__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__pg__ge_6_0_0_lt_6_0_5__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__pg__ge_6_0_0_lt_6_0_5__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__pg__ge_6_0_0_lt_6_0_5__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__pg__ge_6_0_0_lt_6_0_5__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__pg__ge_6_0_0_lt_6_0_5__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__pg__ge_6_0_0_lt_6_0_5__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__pg__ge_6_0_0_lt_6_0_5__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__pg__ge_6_0_0_lt_6_0_5__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__pg__ge_6_0_0_lt_6_0_5__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__pg__ge_6_0_0_lt_6_0_5__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__pg__ge_6_0_0_lt_6_0_5__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__pg__ge_6_0_0_lt_6_0_5__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__pg__ge_6_0_0_lt_6_0_5__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__pg__ge_6_0_0_lt_6_0_5__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__pg__ge_6_1_0_lt_6_1_6__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__pg__ge_6_1_0_lt_6_1_6__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__pg__ge_6_1_0_lt_6_1_6__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__pg__ge_6_1_0_lt_6_1_6__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__pg__ge_6_1_0_lt_6_1_6__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__pg__ge_6_1_0_lt_6_1_6__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__pg__ge_6_1_0_lt_6_1_6__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__pg__ge_6_1_0_lt_6_1_6__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__pg__ge_6_1_0_lt_6_1_6__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__pg__ge_6_1_0_lt_6_1_6__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__pg__ge_6_1_0_lt_6_1_6__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__pg__ge_6_1_0_lt_6_1_6__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__pg__ge_6_1_0_lt_6_1_6__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__pg__ge_6_1_0_lt_6_1_6__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__pg__ge_6_1_0_lt_6_1_6__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__pg__ge_6_1_0_lt_6_1_6__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__pg__ge_6_2_0_lt_6_2_5__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__pg__ge_6_2_0_lt_6_2_5__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__pg__ge_6_2_0_lt_6_2_5__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__pg__ge_6_2_0_lt_6_2_5__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__pg__ge_6_2_0_lt_6_2_5__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__pg__ge_6_2_0_lt_6_2_5__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__pg__ge_6_2_0_lt_6_2_5__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__pg__ge_6_2_0_lt_6_2_5__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__pg__ge_6_2_0_lt_6_2_5__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__pg__ge_6_2_0_lt_6_2_5__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__pg__ge_6_2_0_lt_6_2_5__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__pg__ge_6_2_0_lt_6_2_5__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__pg__ge_6_2_0_lt_6_2_5__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__pg__ge_6_2_0_lt_6_2_5__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__pg__ge_6_2_0_lt_6_2_5__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__pg__ge_6_2_0_lt_6_2_5__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__pg__ge_6_3_0_lt_6_3_3__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__pg__ge_6_3_0_lt_6_3_3__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__pg__ge_6_3_0_lt_6_3_3__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__pg__ge_6_3_0_lt_6_3_3__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__pg__ge_6_3_0_lt_6_3_3__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__pg__ge_6_3_0_lt_6_3_3__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__pg__ge_6_3_0_lt_6_3_3__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__pg__ge_6_3_0_lt_6_3_3__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__pg__ge_6_3_0_lt_6_3_3__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__pg__ge_6_3_0_lt_6_3_3__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__pg__ge_6_3_0_lt_6_3_3__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__pg__ge_6_3_0_lt_6_3_3__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__pg__ge_6_3_0_lt_6_3_3__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__pg__ge_6_3_0_lt_6_3_3__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__pg__ge_6_3_0_lt_6_3_3__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__pg__ge_6_3_0_lt_6_3_3__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__pg__ge_6_4_0_lt_6_4_2__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__pg__ge_6_4_0_lt_6_4_2__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__pg__ge_6_4_0_lt_6_4_2__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__pg__ge_6_4_0_lt_6_4_2__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__pg__ge_6_4_0_lt_6_4_2__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__pg__ge_6_4_0_lt_6_4_2__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__pg__ge_6_4_0_lt_6_4_2__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__pg__ge_6_4_0_lt_6_4_2__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__pg__ge_6_4_0_lt_6_4_2__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__pg__ge_6_4_0_lt_6_4_2__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__pg__ge_6_4_0_lt_6_4_2__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__pg__ge_6_4_0_lt_6_4_2__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__pg__ge_6_4_0_lt_6_4_2__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__pg__ge_6_4_0_lt_6_4_2__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__pg__ge_6_4_0_lt_6_4_2__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__pg__ge_6_4_0_lt_6_4_2__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__pg__ge_7_0_0_lt_7_0_2__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__pg__ge_7_0_0_lt_7_0_2__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__pg__ge_7_0_0_lt_7_0_2__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__pg__ge_7_0_0_lt_7_0_2__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__pg__ge_7_0_0_lt_7_0_2__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__pg__ge_7_0_0_lt_7_0_2__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__pg__ge_7_0_0_lt_7_0_2__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__pg__ge_7_0_0_lt_7_0_2__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__pg__ge_7_0_0_lt_7_0_2__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__pg__ge_7_0_0_lt_7_0_2__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__pg__ge_7_0_0_lt_7_0_2__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__pg__ge_7_0_0_lt_7_0_2__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__pg__ge_7_0_0_lt_7_0_2__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__pg__ge_7_0_0_lt_7_0_2__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__pg__ge_7_0_0_lt_7_0_2__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__pg__ge_7_0_0_lt_7_0_2__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__pg__ge_7_1_0_lt_7_1_2__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__pg__ge_7_1_0_lt_7_1_2__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__pg__ge_7_1_0_lt_7_1_2__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__pg__ge_7_1_0_lt_7_1_2__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__pg__ge_7_1_0_lt_7_1_2__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__pg__ge_7_1_0_lt_7_1_2__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__pg__ge_7_1_0_lt_7_1_2__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__pg__ge_7_1_0_lt_7_1_2__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__pg__ge_7_1_0_lt_7_1_2__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__pg__ge_7_1_0_lt_7_1_2__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__pg__ge_7_1_0_lt_7_1_2__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__pg__ge_7_1_0_lt_7_1_2__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__pg__ge_7_1_0_lt_7_1_2__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__pg__ge_7_1_0_lt_7_1_2__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__pg__ge_7_1_0_lt_7_1_2__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__pg__ge_7_1_0_lt_7_1_2__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__pg__lt_2_11_2__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__pg__lt_2_11_2__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__pg__lt_2_11_2__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__pg__lt_2_11_2__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__pg__lt_2_11_2__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__pg__lt_2_11_2__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__pg__lt_2_11_2__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__pg__lt_2_11_2__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__pg__lt_2_11_2__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__pg__lt_2_11_2__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__pg__lt_2_11_2__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__pg__lt_2_11_2__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__pg__lt_2_11_2__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__pg__lt_2_11_2__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__pg__lt_2_11_2__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__pg__lt_2_11_2__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__phantomjs_cheniu__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__phantomjs_cheniu__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__phantomjs_cheniu__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__phantomjs_cheniu__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__phantomjs_cheniu__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__phantomjs_cheniu__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__phantomjs_cheniu__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__phantomjs_cheniu__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__phantomjs_cheniu__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__phantomjs_cheniu__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__phantomjs_cheniu__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__phantomjs_cheniu__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__phantomjs_cheniu__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__phantomjs_cheniu__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__phantomjs_cheniu__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__phantomjs_cheniu__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__phpjs__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__phpjs__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__phpjs__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__phpjs__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__phpjs__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__phpjs__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__phpjs__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__phpjs__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__phpjs__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__phpjs__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__phpjs__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__phpjs__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__phpjs__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__phpjs__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__phpjs__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__phpjs__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__picard__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__picard__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__picard__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__picard__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__picard__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__picard__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__picard__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__picard__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__picard__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__picard__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__picard__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__picard__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__picard__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__picard__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__picard__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__picard__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__pico_static_server__lt_3_0_2__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__pico_static_server__lt_3_0_2__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__pico_static_server__lt_3_0_2__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__pico_static_server__lt_3_0_2__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__pico_static_server__lt_3_0_2__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__pico_static_server__lt_3_0_2__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__pico_static_server__lt_3_0_2__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__pico_static_server__lt_3_0_2__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__pico_static_server__lt_3_0_2__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__pico_static_server__lt_3_0_2__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__pico_static_server__lt_3_0_2__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__pico_static_server__lt_3_0_2__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__pico_static_server__lt_3_0_2__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__pico_static_server__lt_3_0_2__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__pico_static_server__lt_3_0_2__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__pico_static_server__lt_3_0_2__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__pidusage__lt_1_1_5__command_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__pidusage__lt_1_1_5__command_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__pidusage__lt_1_1_5__command_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__pidusage__lt_1_1_5__command_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__pidusage__lt_1_1_5__command_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__pidusage__lt_1_1_5__command_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__pidusage__lt_1_1_5__command_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__pidusage__lt_1_1_5__command_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__pidusage__lt_1_1_5__command_injection.dacg.result.s2.o0": "The library is known to include the OS Command Injection vulnerability.",
  "0.event.dacg_npm__pidusage__lt_1_1_5__command_injection.dacg.result.s3.o0": "The OS Command Injection vulnerability is caused by executing user commands without any verification process.",
  "0.event.dacg_npm__pidusage__lt_1_1_5__command_injection.dacg.result.s4.o0": "Using the OS Command Injection vulnerability, an attacker can steal key information of the server and force to perform unintended behaviors.",
  "0.event.dacg_npm__pidusage__lt_1_1_5__command_injection.dacg.result.s5.o0": "As a result of the test, the OS Command Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__pidusage__lt_1_1_5__command_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__pidusage__lt_1_1_5__command_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__pidusage__lt_1_1_5__command_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__pidusage__lt_1_1_5__command_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__pivottable__ge_1_4_0_lt_2_0_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__pivottable__ge_1_4_0_lt_2_0_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__pivottable__ge_1_4_0_lt_2_0_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__pivottable__ge_1_4_0_lt_2_0_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__pivottable__ge_1_4_0_lt_2_0_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__pivottable__ge_1_4_0_lt_2_0_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__pivottable__ge_1_4_0_lt_2_0_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__pivottable__ge_1_4_0_lt_2_0_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__pivottable__ge_1_4_0_lt_2_0_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__pivottable__ge_1_4_0_lt_2_0_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__pivottable__ge_1_4_0_lt_2_0_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__pivottable__ge_1_4_0_lt_2_0_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__pivottable__ge_1_4_0_lt_2_0_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__pivottable__ge_1_4_0_lt_2_0_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__pivottable__ge_1_4_0_lt_2_0_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__pivottable__ge_1_4_0_lt_2_0_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__pk_app_wonderbox__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__pk_app_wonderbox__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__pk_app_wonderbox__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__pk_app_wonderbox__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__pk_app_wonderbox__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__pk_app_wonderbox__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__pk_app_wonderbox__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__pk_app_wonderbox__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__pk_app_wonderbox__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__pk_app_wonderbox__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__pk_app_wonderbox__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__pk_app_wonderbox__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__pk_app_wonderbox__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__pk_app_wonderbox__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__pk_app_wonderbox__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__pk_app_wonderbox__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__platform_js__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__platform_js__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__platform_js__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__platform_js__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__platform_js__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__platform_js__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__platform_js__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__platform_js__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__platform_js__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__platform_js__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__platform_js__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__platform_js__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__platform_js__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__platform_js__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__platform_js__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__platform_js__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__plist__ge_1_2_0_lt_3_0_1__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__plist__ge_1_2_0_lt_3_0_1__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__plist__ge_1_2_0_lt_3_0_1__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__plist__ge_1_2_0_lt_3_0_1__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__plist__ge_1_2_0_lt_3_0_1__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__plist__ge_1_2_0_lt_3_0_1__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__plist__ge_1_2_0_lt_3_0_1__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__plist__ge_1_2_0_lt_3_0_1__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__plist__ge_1_2_0_lt_3_0_1__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__plist__ge_1_2_0_lt_3_0_1__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__plist__ge_1_2_0_lt_3_0_1__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__plist__ge_1_2_0_lt_3_0_1__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__plist__ge_1_2_0_lt_3_0_1__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__plist__ge_1_2_0_lt_3_0_1__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__plist__ge_1_2_0_lt_3_0_1__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__plist__ge_1_2_0_lt_3_0_1__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__plotly_js__ge_1_0_0_lt_1_2_1__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__plotly_js__ge_1_0_0_lt_1_2_1__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__plotly_js__ge_1_0_0_lt_1_2_1__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__plotly_js__ge_1_0_0_lt_1_2_1__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__plotly_js__ge_1_0_0_lt_1_2_1__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__plotly_js__ge_1_0_0_lt_1_2_1__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__plotly_js__ge_1_0_0_lt_1_2_1__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__plotly_js__ge_1_0_0_lt_1_2_1__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__plotly_js__ge_1_0_0_lt_1_2_1__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__plotly_js__ge_1_0_0_lt_1_2_1__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__plotly_js__ge_1_0_0_lt_1_2_1__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__plotly_js__ge_1_0_0_lt_1_2_1__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__plotly_js__ge_1_0_0_lt_1_2_1__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__plotly_js__ge_1_0_0_lt_1_2_1__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__plotly_js__ge_1_0_0_lt_1_2_1__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__plotly_js__ge_1_0_0_lt_1_2_1__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__plotly_js__ge_1_10_4_lt_1_16_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__plotly_js__ge_1_10_4_lt_1_16_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__plotly_js__ge_1_10_4_lt_1_16_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__plotly_js__ge_1_10_4_lt_1_16_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__plotly_js__ge_1_10_4_lt_1_16_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__plotly_js__ge_1_10_4_lt_1_16_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__plotly_js__ge_1_10_4_lt_1_16_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__plotly_js__ge_1_10_4_lt_1_16_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__plotly_js__ge_1_10_4_lt_1_16_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__plotly_js__ge_1_10_4_lt_1_16_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__plotly_js__ge_1_10_4_lt_1_16_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__plotly_js__ge_1_10_4_lt_1_16_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__plotly_js__ge_1_10_4_lt_1_16_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__plotly_js__ge_1_10_4_lt_1_16_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__plotly_js__ge_1_10_4_lt_1_16_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__plotly_js__ge_1_10_4_lt_1_16_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__plotly_js__lt_1_16_0__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__plotly_js__lt_1_16_0__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__plotly_js__lt_1_16_0__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__plotly_js__lt_1_16_0__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__plotly_js__lt_1_16_0__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__plotly_js__lt_1_16_0__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__plotly_js__lt_1_16_0__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__plotly_js__lt_1_16_0__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__plotly_js__lt_1_16_0__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__plotly_js__lt_1_16_0__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__plotly_js__lt_1_16_0__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__plotly_js__lt_1_16_0__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__plotly_js__lt_1_16_0__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__plotly_js__lt_1_16_0__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__plotly_js__lt_1_16_0__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__plotly_js__lt_1_16_0__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__pm2_kafka__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__pm2_kafka__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__pm2_kafka__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__pm2_kafka__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__pm2_kafka__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__pm2_kafka__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__pm2_kafka__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__pm2_kafka__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__pm2_kafka__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__pm2_kafka__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__pm2_kafka__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__pm2_kafka__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__pm2_kafka__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__pm2_kafka__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__pm2_kafka__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__pm2_kafka__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__pngcrush_installer__lt_1_8_10__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__pngcrush_installer__lt_1_8_10__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__pngcrush_installer__lt_1_8_10__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__pngcrush_installer__lt_1_8_10__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__pngcrush_installer__lt_1_8_10__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__pngcrush_installer__lt_1_8_10__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__pngcrush_installer__lt_1_8_10__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__pngcrush_installer__lt_1_8_10__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__pngcrush_installer__lt_1_8_10__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__pngcrush_installer__lt_1_8_10__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__pngcrush_installer__lt_1_8_10__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__pngcrush_installer__lt_1_8_10__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__pngcrush_installer__lt_1_8_10__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__pngcrush_installer__lt_1_8_10__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__pngcrush_installer__lt_1_8_10__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__pngcrush_installer__lt_1_8_10__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__poco__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__poco__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__poco__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__poco__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__poco__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__poco__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__poco__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__poco__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__poco__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__poco__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__poco__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__poco__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__poco__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__poco__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__poco__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__poco__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__podium__ge_1_2_2_lt_1_2_5__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__podium__ge_1_2_2_lt_1_2_5__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__podium__ge_1_2_2_lt_1_2_5__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__podium__ge_1_2_2_lt_1_2_5__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__podium__ge_1_2_2_lt_1_2_5__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__podium__ge_1_2_2_lt_1_2_5__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__podium__ge_1_2_2_lt_1_2_5__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__podium__ge_1_2_2_lt_1_2_5__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__podium__ge_1_2_2_lt_1_2_5__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__podium__ge_1_2_2_lt_1_2_5__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__podium__ge_1_2_2_lt_1_2_5__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__podium__ge_1_2_2_lt_1_2_5__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__podium__ge_1_2_2_lt_1_2_5__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__podium__ge_1_2_2_lt_1_2_5__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__podium__ge_1_2_2_lt_1_2_5__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__podium__ge_1_2_2_lt_1_2_5__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__polyfill_service__lt_3_1_2__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__polyfill_service__lt_3_1_2__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__polyfill_service__lt_3_1_2__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__polyfill_service__lt_3_1_2__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__polyfill_service__lt_3_1_2__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__polyfill_service__lt_3_1_2__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__polyfill_service__lt_3_1_2__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__polyfill_service__lt_3_1_2__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__polyfill_service__lt_3_1_2__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__polyfill_service__lt_3_1_2__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__polyfill_service__lt_3_1_2__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__polyfill_service__lt_3_1_2__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__polyfill_service__lt_3_1_2__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__polyfill_service__lt_3_1_2__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__polyfill_service__lt_3_1_2__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__polyfill_service__lt_3_1_2__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__pooledwebsocket__lt_0_0_18__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__pooledwebsocket__lt_0_0_18__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__pooledwebsocket__lt_0_0_18__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__pooledwebsocket__lt_0_0_18__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__pooledwebsocket__lt_0_0_18__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__pooledwebsocket__lt_0_0_18__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__pooledwebsocket__lt_0_0_18__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__pooledwebsocket__lt_0_0_18__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__pooledwebsocket__lt_0_0_18__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__pooledwebsocket__lt_0_0_18__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__pooledwebsocket__lt_0_0_18__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__pooledwebsocket__lt_0_0_18__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__pooledwebsocket__lt_0_0_18__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__pooledwebsocket__lt_0_0_18__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__pooledwebsocket__lt_0_0_18__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__pooledwebsocket__lt_0_0_18__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__postcss_inline_base64__lt_3_0_0__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__postcss_inline_base64__lt_3_0_0__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__postcss_inline_base64__lt_3_0_0__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__postcss_inline_base64__lt_3_0_0__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__postcss_inline_base64__lt_3_0_0__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__postcss_inline_base64__lt_3_0_0__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__postcss_inline_base64__lt_3_0_0__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__postcss_inline_base64__lt_3_0_0__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__postcss_inline_base64__lt_3_0_0__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__postcss_inline_base64__lt_3_0_0__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__postcss_inline_base64__lt_3_0_0__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__postcss_inline_base64__lt_3_0_0__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__postcss_inline_base64__lt_3_0_0__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__postcss_inline_base64__lt_3_0_0__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__postcss_inline_base64__lt_3_0_0__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__postcss_inline_base64__lt_3_0_0__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__pouchdb__le_6_0_4__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__pouchdb__le_6_0_4__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__pouchdb__le_6_0_4__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__pouchdb__le_6_0_4__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__pouchdb__le_6_0_4__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__pouchdb__le_6_0_4__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__pouchdb__le_6_0_4__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__pouchdb__le_6_0_4__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__pouchdb__le_6_0_4__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__pouchdb__le_6_0_4__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__pouchdb__le_6_0_4__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__pouchdb__le_6_0_4__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__pouchdb__le_6_0_4__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__pouchdb__le_6_0_4__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__pouchdb__le_6_0_4__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__pouchdb__le_6_0_4__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__pouchdb__lt_1_1_0__sql_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__pouchdb__lt_1_1_0__sql_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__pouchdb__lt_1_1_0__sql_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__pouchdb__lt_1_1_0__sql_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__pouchdb__lt_1_1_0__sql_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__pouchdb__lt_1_1_0__sql_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__pouchdb__lt_1_1_0__sql_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__pouchdb__lt_1_1_0__sql_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__pouchdb__lt_1_1_0__sql_injection.dacg.result.s2.o0": "The library is known to include the SQL Injection vulnerability.",
  "0.event.dacg_npm__pouchdb__lt_1_1_0__sql_injection.dacg.result.s3.o0": "The SQL Injection vulnerability is caused by manipulating SQL queries or executing unintended SQL statements.",
  "0.event.dacg_npm__pouchdb__lt_1_1_0__sql_injection.dacg.result.s4.o0": "Using the SQL Injection vulnerability, an attacker can steal and manipulate important information in the database.",
  "0.event.dacg_npm__pouchdb__lt_1_1_0__sql_injection.dacg.result.s5.o0": "As a result of the test, the SQL Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__pouchdb__lt_1_1_0__sql_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__pouchdb__lt_1_1_0__sql_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__pouchdb__lt_1_1_0__sql_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__pouchdb__lt_1_1_0__sql_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__prebuild_lwip__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__prebuild_lwip__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__prebuild_lwip__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__prebuild_lwip__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__prebuild_lwip__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__prebuild_lwip__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__prebuild_lwip__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__prebuild_lwip__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__prebuild_lwip__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__prebuild_lwip__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__prebuild_lwip__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__prebuild_lwip__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__prebuild_lwip__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__prebuild_lwip__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__prebuild_lwip__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__prebuild_lwip__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__prince__lt_1_4_5__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__prince__lt_1_4_5__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__prince__lt_1_4_5__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__prince__lt_1_4_5__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__prince__lt_1_4_5__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__prince__lt_1_4_5__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__prince__lt_1_4_5__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__prince__lt_1_4_5__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__prince__lt_1_4_5__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__prince__lt_1_4_5__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__prince__lt_1_4_5__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__prince__lt_1_4_5__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__prince__lt_1_4_5__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__prince__lt_1_4_5__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__prince__lt_1_4_5__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__prince__lt_1_4_5__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__printer__le_0_0_1__command_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__printer__le_0_0_1__command_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__printer__le_0_0_1__command_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__printer__le_0_0_1__command_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__printer__le_0_0_1__command_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__printer__le_0_0_1__command_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__printer__le_0_0_1__command_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__printer__le_0_0_1__command_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__printer__le_0_0_1__command_injection.dacg.result.s2.o0": "The library is known to include the OS Command Injection vulnerability.",
  "0.event.dacg_npm__printer__le_0_0_1__command_injection.dacg.result.s3.o0": "The OS Command Injection vulnerability is caused by executing user commands without any verification process.",
  "0.event.dacg_npm__printer__le_0_0_1__command_injection.dacg.result.s4.o0": "Using the OS Command Injection vulnerability, an attacker can steal key information of the server and force to perform unintended behaviors.",
  "0.event.dacg_npm__printer__le_0_0_1__command_injection.dacg.result.s5.o0": "As a result of the test, the OS Command Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__printer__le_0_0_1__command_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__printer__le_0_0_1__command_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__printer__le_0_0_1__command_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__printer__le_0_0_1__command_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__product_monitor__lt_2_2_5__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__product_monitor__lt_2_2_5__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__product_monitor__lt_2_2_5__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__product_monitor__lt_2_2_5__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__product_monitor__lt_2_2_5__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__product_monitor__lt_2_2_5__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__product_monitor__lt_2_2_5__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__product_monitor__lt_2_2_5__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__product_monitor__lt_2_2_5__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__product_monitor__lt_2_2_5__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__product_monitor__lt_2_2_5__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__product_monitor__lt_2_2_5__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__product_monitor__lt_2_2_5__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__product_monitor__lt_2_2_5__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__product_monitor__lt_2_2_5__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__product_monitor__lt_2_2_5__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__protobufjs__ge_6_0_0_lt_6_8_6__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__protobufjs__ge_6_0_0_lt_6_8_6__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__protobufjs__ge_6_0_0_lt_6_8_6__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__protobufjs__ge_6_0_0_lt_6_8_6__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__protobufjs__ge_6_0_0_lt_6_8_6__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__protobufjs__ge_6_0_0_lt_6_8_6__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__protobufjs__ge_6_0_0_lt_6_8_6__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__protobufjs__ge_6_0_0_lt_6_8_6__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__protobufjs__ge_6_0_0_lt_6_8_6__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__protobufjs__ge_6_0_0_lt_6_8_6__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__protobufjs__ge_6_0_0_lt_6_8_6__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__protobufjs__ge_6_0_0_lt_6_8_6__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__protobufjs__ge_6_0_0_lt_6_8_6__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__protobufjs__ge_6_0_0_lt_6_8_6__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__protobufjs__ge_6_0_0_lt_6_8_6__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__protobufjs__ge_6_0_0_lt_6_8_6__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__protobufjs__lt_5_0_3__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__protobufjs__lt_5_0_3__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__protobufjs__lt_5_0_3__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__protobufjs__lt_5_0_3__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__protobufjs__lt_5_0_3__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__protobufjs__lt_5_0_3__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__protobufjs__lt_5_0_3__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__protobufjs__lt_5_0_3__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__protobufjs__lt_5_0_3__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__protobufjs__lt_5_0_3__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__protobufjs__lt_5_0_3__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__protobufjs__lt_5_0_3__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__protobufjs__lt_5_0_3__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__protobufjs__lt_5_0_3__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__protobufjs__lt_5_0_3__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__protobufjs__lt_5_0_3__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__protojs__lt_1_0_6__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__protojs__lt_1_0_6__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__protojs__lt_1_0_6__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__protojs__lt_1_0_6__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__protojs__lt_1_0_6__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__protojs__lt_1_0_6__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__protojs__lt_1_0_6__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__protojs__lt_1_0_6__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__protojs__lt_1_0_6__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__protojs__lt_1_0_6__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__protojs__lt_1_0_6__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__protojs__lt_1_0_6__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__protojs__lt_1_0_6__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__protojs__lt_1_0_6__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__protojs__lt_1_0_6__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__protojs__lt_1_0_6__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__proxey__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__proxey__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__proxey__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__proxey__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__proxey__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__proxey__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__proxey__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__proxey__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__proxey__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__proxey__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__proxey__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__proxey__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__proxey__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__proxey__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__proxey__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__proxey__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__proxy_js__le_1_0_2__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__proxy_js__le_1_0_2__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__proxy_js__le_1_0_2__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__proxy_js__le_1_0_2__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__proxy_js__le_1_0_2__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__proxy_js__le_1_0_2__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__proxy_js__le_1_0_2__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__proxy_js__le_1_0_2__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__proxy_js__le_1_0_2__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__proxy_js__le_1_0_2__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__proxy_js__le_1_0_2__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__proxy_js__le_1_0_2__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__proxy_js__le_1_0_2__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__proxy_js__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__proxy_js__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__proxy_js__le_1_0_2__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ptest__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ptest__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ptest__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ptest__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ptest__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ptest__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ptest__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ptest__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ptest__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__ptest__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__ptest__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__ptest__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ptest__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ptest__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ptest__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ptest__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__public__le_0_1_3__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__public__le_0_1_3__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__public__le_0_1_3__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__public__le_0_1_3__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__public__le_0_1_3__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__public__le_0_1_3__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__public__le_0_1_3__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__public__le_0_1_3__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__public__le_0_1_3__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__public__le_0_1_3__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__public__le_0_1_3__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__public__le_0_1_3__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__public__le_0_1_3__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__public__le_0_1_3__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__public__le_0_1_3__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__public__le_0_1_3__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__public__lt_0_1_3__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__public__lt_0_1_3__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__public__lt_0_1_3__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__public__lt_0_1_3__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__public__lt_0_1_3__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__public__lt_0_1_3__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__public__lt_0_1_3__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__public__lt_0_1_3__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__public__lt_0_1_3__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__public__lt_0_1_3__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__public__lt_0_1_3__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__public__lt_0_1_3__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__public__lt_0_1_3__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__public__lt_0_1_3__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__public__lt_0_1_3__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__public__lt_0_1_3__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__pullit__lt_1_4_0__command_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__pullit__lt_1_4_0__command_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__pullit__lt_1_4_0__command_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__pullit__lt_1_4_0__command_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__pullit__lt_1_4_0__command_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__pullit__lt_1_4_0__command_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__pullit__lt_1_4_0__command_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__pullit__lt_1_4_0__command_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__pullit__lt_1_4_0__command_injection.dacg.result.s2.o0": "The library is known to include the OS Command Injection vulnerability.",
  "0.event.dacg_npm__pullit__lt_1_4_0__command_injection.dacg.result.s3.o0": "The OS Command Injection vulnerability is caused by executing user commands without any verification process.",
  "0.event.dacg_npm__pullit__lt_1_4_0__command_injection.dacg.result.s4.o0": "Using the OS Command Injection vulnerability, an attacker can steal key information of the server and force to perform unintended behaviors.",
  "0.event.dacg_npm__pullit__lt_1_4_0__command_injection.dacg.result.s5.o0": "As a result of the test, the OS Command Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__pullit__lt_1_4_0__command_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__pullit__lt_1_4_0__command_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__pullit__lt_1_4_0__command_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__pullit__lt_1_4_0__command_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__pure__lt_2_86_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__pure__lt_2_86_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__pure__lt_2_86_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__pure__lt_2_86_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__pure__lt_2_86_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__pure__lt_2_86_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__pure__lt_2_86_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__pure__lt_2_86_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__pure__lt_2_86_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__pure__lt_2_86_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__pure__lt_2_86_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__pure__lt_2_86_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__pure__lt_2_86_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__pure__lt_2_86_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__pure__lt_2_86_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__pure__lt_2_86_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__pym_js__lt_1_3_2__csrf.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__pym_js__lt_1_3_2__csrf.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__pym_js__lt_1_3_2__csrf.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__pym_js__lt_1_3_2__csrf.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__pym_js__lt_1_3_2__csrf.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__pym_js__lt_1_3_2__csrf.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__pym_js__lt_1_3_2__csrf.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__pym_js__lt_1_3_2__csrf.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__pym_js__lt_1_3_2__csrf.dacg.result.s2.o0": "The library is known to include the Cross-site Request Forgery (CSRF) vulnerability.",
  "0.event.dacg_npm__pym_js__lt_1_3_2__csrf.dacg.result.s3.o0": "The Cross-site Request Forgery (CSRF) vulnerability forces a user to perform unintended action by accessing to a web page with his permission.",
  "0.event.dacg_npm__pym_js__lt_1_3_2__csrf.dacg.result.s4.o0": "Using the Cross-site Request Forgery (CSRF) vulnerability, an attacker can acquire a user permission to access the target web page for identity forgery, authentication bypassing, and view or manipulation of important information.",
  "0.event.dacg_npm__pym_js__lt_1_3_2__csrf.dacg.result.s5.o0": "As a result of the test, the Cross-site Request Forgery (CSRF) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__pym_js__lt_1_3_2__csrf.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__pym_js__lt_1_3_2__csrf.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__pym_js__lt_1_3_2__csrf.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__pym_js__lt_1_3_2__csrf.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__pytservce__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__pytservce__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__pytservce__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__pytservce__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__pytservce__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__pytservce__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__pytservce__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__pytservce__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__pytservce__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__pytservce__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__pytservce__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__pytservce__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__pytservce__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__pytservce__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__pytservce__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__pytservce__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__q_io__lt_1_13_5__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__q_io__lt_1_13_5__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__q_io__lt_1_13_5__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__q_io__lt_1_13_5__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__q_io__lt_1_13_5__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__q_io__lt_1_13_5__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__q_io__lt_1_13_5__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__q_io__lt_1_13_5__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__q_io__lt_1_13_5__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__q_io__lt_1_13_5__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__q_io__lt_1_13_5__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__q_io__lt_1_13_5__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__q_io__lt_1_13_5__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__q_io__lt_1_13_5__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__q_io__lt_1_13_5__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__q_io__lt_1_13_5__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__qbs__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__qbs__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__qbs__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__qbs__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__qbs__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__qbs__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__qbs__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__qbs__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__qbs__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__qbs__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__qbs__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__qbs__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__qbs__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__qbs__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__qbs__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__qbs__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__qinserve__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__qinserve__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__qinserve__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__qinserve__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__qinserve__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__qinserve__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__qinserve__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__qinserve__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__qinserve__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__qinserve__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__qinserve__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__qinserve__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__qinserve__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__qinserve__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__qinserve__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__qinserve__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__qs__ge_6_1_0_lt_6_1_2__improper_input_validation.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__qs__ge_6_1_0_lt_6_1_2__improper_input_validation.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__qs__ge_6_1_0_lt_6_1_2__improper_input_validation.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__qs__ge_6_1_0_lt_6_1_2__improper_input_validation.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__qs__ge_6_1_0_lt_6_1_2__improper_input_validation.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__qs__ge_6_1_0_lt_6_1_2__improper_input_validation.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__qs__ge_6_1_0_lt_6_1_2__improper_input_validation.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__qs__ge_6_1_0_lt_6_1_2__improper_input_validation.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__qs__ge_6_1_0_lt_6_1_2__improper_input_validation.dacg.result.s2.o0": "The library is known to include the Improper Input Validation vulnerability.",
  "0.event.dacg_npm__qs__ge_6_1_0_lt_6_1_2__improper_input_validation.dacg.result.s3.o0": "The Improper Input Validation vulnerability is caused by lacking verification on a user input.",
  "0.event.dacg_npm__qs__ge_6_1_0_lt_6_1_2__improper_input_validation.dacg.result.s4.o0": "An attacker can use the Improper Input Validation vulnerability to steal key information of the server and force to perform unintended behaviors.",
  "0.event.dacg_npm__qs__ge_6_1_0_lt_6_1_2__improper_input_validation.dacg.result.s5.o0": "As a result of the test, the Improper Input Validation vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__qs__ge_6_1_0_lt_6_1_2__improper_input_validation.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__qs__ge_6_1_0_lt_6_1_2__improper_input_validation.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__qs__ge_6_1_0_lt_6_1_2__improper_input_validation.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__qs__ge_6_1_0_lt_6_1_2__improper_input_validation.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__qs__ge_6_2_0_lt_6_2_3__improper_input_validation.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__qs__ge_6_2_0_lt_6_2_3__improper_input_validation.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__qs__ge_6_2_0_lt_6_2_3__improper_input_validation.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__qs__ge_6_2_0_lt_6_2_3__improper_input_validation.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__qs__ge_6_2_0_lt_6_2_3__improper_input_validation.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__qs__ge_6_2_0_lt_6_2_3__improper_input_validation.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__qs__ge_6_2_0_lt_6_2_3__improper_input_validation.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__qs__ge_6_2_0_lt_6_2_3__improper_input_validation.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__qs__ge_6_2_0_lt_6_2_3__improper_input_validation.dacg.result.s2.o0": "The library is known to include the Improper Input Validation vulnerability.",
  "0.event.dacg_npm__qs__ge_6_2_0_lt_6_2_3__improper_input_validation.dacg.result.s3.o0": "The Improper Input Validation vulnerability is caused by lacking verification on a user input.",
  "0.event.dacg_npm__qs__ge_6_2_0_lt_6_2_3__improper_input_validation.dacg.result.s4.o0": "An attacker can use the Improper Input Validation vulnerability to steal key information of the server and force to perform unintended behaviors.",
  "0.event.dacg_npm__qs__ge_6_2_0_lt_6_2_3__improper_input_validation.dacg.result.s5.o0": "As a result of the test, the Improper Input Validation vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__qs__ge_6_2_0_lt_6_2_3__improper_input_validation.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__qs__ge_6_2_0_lt_6_2_3__improper_input_validation.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__qs__ge_6_2_0_lt_6_2_3__improper_input_validation.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__qs__ge_6_2_0_lt_6_2_3__improper_input_validation.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__qs__ge_6_3_0_lt_6_3_2__improper_input_validation.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__qs__ge_6_3_0_lt_6_3_2__improper_input_validation.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__qs__ge_6_3_0_lt_6_3_2__improper_input_validation.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__qs__ge_6_3_0_lt_6_3_2__improper_input_validation.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__qs__ge_6_3_0_lt_6_3_2__improper_input_validation.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__qs__ge_6_3_0_lt_6_3_2__improper_input_validation.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__qs__ge_6_3_0_lt_6_3_2__improper_input_validation.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__qs__ge_6_3_0_lt_6_3_2__improper_input_validation.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__qs__ge_6_3_0_lt_6_3_2__improper_input_validation.dacg.result.s2.o0": "The library is known to include the Improper Input Validation vulnerability.",
  "0.event.dacg_npm__qs__ge_6_3_0_lt_6_3_2__improper_input_validation.dacg.result.s3.o0": "The Improper Input Validation vulnerability is caused by lacking verification on a user input.",
  "0.event.dacg_npm__qs__ge_6_3_0_lt_6_3_2__improper_input_validation.dacg.result.s4.o0": "An attacker can use the Improper Input Validation vulnerability to steal key information of the server and force to perform unintended behaviors.",
  "0.event.dacg_npm__qs__ge_6_3_0_lt_6_3_2__improper_input_validation.dacg.result.s5.o0": "As a result of the test, the Improper Input Validation vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__qs__ge_6_3_0_lt_6_3_2__improper_input_validation.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__qs__ge_6_3_0_lt_6_3_2__improper_input_validation.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__qs__ge_6_3_0_lt_6_3_2__improper_input_validation.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__qs__ge_6_3_0_lt_6_3_2__improper_input_validation.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__qs__lt_1_0_0__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__qs__lt_1_0_0__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__qs__lt_1_0_0__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__qs__lt_1_0_0__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__qs__lt_1_0_0__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__qs__lt_1_0_0__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__qs__lt_1_0_0__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__qs__lt_1_0_0__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__qs__lt_1_0_0__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__qs__lt_1_0_0__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__qs__lt_1_0_0__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__qs__lt_1_0_0__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__qs__lt_1_0_0__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__qs__lt_1_0_0__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__qs__lt_1_0_0__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__qs__lt_1_0_0__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__qs__lt_6_0_4__improper_input_validation.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__qs__lt_6_0_4__improper_input_validation.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__qs__lt_6_0_4__improper_input_validation.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__qs__lt_6_0_4__improper_input_validation.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__qs__lt_6_0_4__improper_input_validation.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__qs__lt_6_0_4__improper_input_validation.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__qs__lt_6_0_4__improper_input_validation.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__qs__lt_6_0_4__improper_input_validation.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__qs__lt_6_0_4__improper_input_validation.dacg.result.s2.o0": "The library is known to include the Improper Input Validation vulnerability.",
  "0.event.dacg_npm__qs__lt_6_0_4__improper_input_validation.dacg.result.s3.o0": "The Improper Input Validation vulnerability is caused by lacking verification on a user input.",
  "0.event.dacg_npm__qs__lt_6_0_4__improper_input_validation.dacg.result.s4.o0": "An attacker can use the Improper Input Validation vulnerability to steal key information of the server and force to perform unintended behaviors.",
  "0.event.dacg_npm__qs__lt_6_0_4__improper_input_validation.dacg.result.s5.o0": "As a result of the test, the Improper Input Validation vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__qs__lt_6_0_4__improper_input_validation.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__qs__lt_6_0_4__improper_input_validation.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__qs__lt_6_0_4__improper_input_validation.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__qs__lt_6_0_4__improper_input_validation.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__query_mysql__sql_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__query_mysql__sql_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__query_mysql__sql_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__query_mysql__sql_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__query_mysql__sql_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__query_mysql__sql_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__query_mysql__sql_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__query_mysql__sql_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__query_mysql__sql_injection.dacg.result.s2.o0": "The library is known to include the SQL Injection vulnerability.",
  "0.event.dacg_npm__query_mysql__sql_injection.dacg.result.s3.o0": "The SQL Injection vulnerability is caused by manipulating SQL queries or executing unintended SQL statements.",
  "0.event.dacg_npm__query_mysql__sql_injection.dacg.result.s4.o0": "Using the SQL Injection vulnerability, an attacker can steal and manipulate important information in the database.",
  "0.event.dacg_npm__query_mysql__sql_injection.dacg.result.s5.o0": "As a result of the test, the SQL Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__query_mysql__sql_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__query_mysql__sql_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__query_mysql__sql_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__query_mysql__sql_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__querystringify__lt_2_0_0__improper_input_validation.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__querystringify__lt_2_0_0__improper_input_validation.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__querystringify__lt_2_0_0__improper_input_validation.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__querystringify__lt_2_0_0__improper_input_validation.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__querystringify__lt_2_0_0__improper_input_validation.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__querystringify__lt_2_0_0__improper_input_validation.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__querystringify__lt_2_0_0__improper_input_validation.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__querystringify__lt_2_0_0__improper_input_validation.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__querystringify__lt_2_0_0__improper_input_validation.dacg.result.s2.o0": "The library is known to include the Improper Input Validation vulnerability.",
  "0.event.dacg_npm__querystringify__lt_2_0_0__improper_input_validation.dacg.result.s3.o0": "The Improper Input Validation vulnerability is caused by lacking verification on a user input.",
  "0.event.dacg_npm__querystringify__lt_2_0_0__improper_input_validation.dacg.result.s4.o0": "An attacker can use the Improper Input Validation vulnerability to steal key information of the server and force to perform unintended behaviors.",
  "0.event.dacg_npm__querystringify__lt_2_0_0__improper_input_validation.dacg.result.s5.o0": "As a result of the test, the Improper Input Validation vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__querystringify__lt_2_0_0__improper_input_validation.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__querystringify__lt_2_0_0__improper_input_validation.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__querystringify__lt_2_0_0__improper_input_validation.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__querystringify__lt_2_0_0__improper_input_validation.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__quickserver__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__quickserver__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__quickserver__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__quickserver__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__quickserver__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__quickserver__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__quickserver__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__quickserver__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__quickserver__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__quickserver__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__quickserver__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__quickserver__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__quickserver__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__quickserver__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__quickserver__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__quickserver__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__quill__ge_1_0_0_beta_0_lt_1_0_4__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__quill__ge_1_0_0_beta_0_lt_1_0_4__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__quill__ge_1_0_0_beta_0_lt_1_0_4__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__quill__ge_1_0_0_beta_0_lt_1_0_4__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__quill__ge_1_0_0_beta_0_lt_1_0_4__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__quill__ge_1_0_0_beta_0_lt_1_0_4__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__quill__ge_1_0_0_beta_0_lt_1_0_4__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__quill__ge_1_0_0_beta_0_lt_1_0_4__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__quill__ge_1_0_0_beta_0_lt_1_0_4__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__quill__ge_1_0_0_beta_0_lt_1_0_4__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__quill__ge_1_0_0_beta_0_lt_1_0_4__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__quill__ge_1_0_0_beta_0_lt_1_0_4__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__quill__ge_1_0_0_beta_0_lt_1_0_4__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__quill__ge_1_0_0_beta_0_lt_1_0_4__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__quill__ge_1_0_0_beta_0_lt_1_0_4__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__quill__ge_1_0_0_beta_0_lt_1_0_4__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ractive__lt_0_8_0__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ractive__lt_0_8_0__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ractive__lt_0_8_0__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ractive__lt_0_8_0__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ractive__lt_0_8_0__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ractive__lt_0_8_0__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ractive__lt_0_8_0__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ractive__lt_0_8_0__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ractive__lt_0_8_0__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__ractive__lt_0_8_0__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__ractive__lt_0_8_0__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__ractive__lt_0_8_0__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ractive__lt_0_8_0__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ractive__lt_0_8_0__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ractive__lt_0_8_0__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ractive__lt_0_8_0__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__rapid_httpserver__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__rapid_httpserver__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__rapid_httpserver__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__rapid_httpserver__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__rapid_httpserver__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__rapid_httpserver__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__rapid_httpserver__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__rapid_httpserver__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__rapid_httpserver__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__rapid_httpserver__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__rapid_httpserver__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__rapid_httpserver__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__rapid_httpserver__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__rapid_httpserver__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__rapid_httpserver__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__rapid_httpserver__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__react__ge_0_4_0_lt_0_4_2__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__react__ge_0_4_0_lt_0_4_2__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__react__ge_0_4_0_lt_0_4_2__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__react__ge_0_4_0_lt_0_4_2__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__react__ge_0_4_0_lt_0_4_2__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__react__ge_0_4_0_lt_0_4_2__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__react__ge_0_4_0_lt_0_4_2__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__react__ge_0_4_0_lt_0_4_2__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__react__ge_0_4_0_lt_0_4_2__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__react__ge_0_4_0_lt_0_4_2__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__react__ge_0_4_0_lt_0_4_2__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__react__ge_0_4_0_lt_0_4_2__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__react__ge_0_4_0_lt_0_4_2__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__react__ge_0_4_0_lt_0_4_2__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__react__ge_0_4_0_lt_0_4_2__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__react__ge_0_4_0_lt_0_4_2__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__react__ge_0_5_0_lt_0_5_2__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__react__ge_0_5_0_lt_0_5_2__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__react__ge_0_5_0_lt_0_5_2__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__react__ge_0_5_0_lt_0_5_2__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__react__ge_0_5_0_lt_0_5_2__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__react__ge_0_5_0_lt_0_5_2__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__react__ge_0_5_0_lt_0_5_2__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__react__ge_0_5_0_lt_0_5_2__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__react__ge_0_5_0_lt_0_5_2__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__react__ge_0_5_0_lt_0_5_2__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__react__ge_0_5_0_lt_0_5_2__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__react__ge_0_5_0_lt_0_5_2__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__react__ge_0_5_0_lt_0_5_2__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__react__ge_0_5_0_lt_0_5_2__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__react__ge_0_5_0_lt_0_5_2__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__react__ge_0_5_0_lt_0_5_2__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__react__lt_0_14_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__react__lt_0_14_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__react__lt_0_14_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__react__lt_0_14_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__react__lt_0_14_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__react__lt_0_14_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__react__lt_0_14_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__react__lt_0_14_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__react__lt_0_14_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__react__lt_0_14_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__react__lt_0_14_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__react__lt_0_14_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__react__lt_0_14_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__react__lt_0_14_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__react__lt_0_14_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__react__lt_0_14_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__react_marked_markdown__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__react_marked_markdown__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__react_marked_markdown__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__react_marked_markdown__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__react_marked_markdown__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__react_marked_markdown__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__react_marked_markdown__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__react_marked_markdown__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__react_marked_markdown__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__react_marked_markdown__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__react_marked_markdown__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__react_marked_markdown__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__react_marked_markdown__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__react_marked_markdown__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__react_marked_markdown__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__react_marked_markdown__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__react_native_baidu_voice_synthesizer__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__react_native_baidu_voice_synthesizer__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__react_native_baidu_voice_synthesizer__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__react_native_baidu_voice_synthesizer__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__react_native_baidu_voice_synthesizer__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__react_native_baidu_voice_synthesizer__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__react_native_baidu_voice_synthesizer__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__react_native_baidu_voice_synthesizer__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__react_native_baidu_voice_synthesizer__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__react_native_baidu_voice_synthesizer__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__react_native_baidu_voice_synthesizer__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__react_native_baidu_voice_synthesizer__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__react_native_baidu_voice_synthesizer__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__react_native_baidu_voice_synthesizer__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__react_native_baidu_voice_synthesizer__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__react_native_baidu_voice_synthesizer__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__react_native_meteor_oauth__use_of_insufficiently_random_values.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__react_native_meteor_oauth__use_of_insufficiently_random_values.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__react_native_meteor_oauth__use_of_insufficiently_random_values.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__react_native_meteor_oauth__use_of_insufficiently_random_values.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__react_native_meteor_oauth__use_of_insufficiently_random_values.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__react_native_meteor_oauth__use_of_insufficiently_random_values.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__react_native_meteor_oauth__use_of_insufficiently_random_values.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__react_native_meteor_oauth__use_of_insufficiently_random_values.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__react_native_meteor_oauth__use_of_insufficiently_random_values.dacg.result.s2.o0": "This library is known to include a Use of Insufficiently Random Values vulnerability.",
  "0.event.dacg_npm__react_native_meteor_oauth__use_of_insufficiently_random_values.dacg.result.s3.o0": "The Use of Insufficient Random Number vulnerability is caused by using predictable random numbers.",
  "0.event.dacg_npm__react_native_meteor_oauth__use_of_insufficiently_random_values.dacg.result.s4.o0": "An attacker can use Insufficiently Random Values vulnerability to infer a random number value of a password or decryption key.",
  "0.event.dacg_npm__react_native_meteor_oauth__use_of_insufficiently_random_values.dacg.result.s5.o0": "As a result of the test, the Use of Insufficiently Random Values vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__react_native_meteor_oauth__use_of_insufficiently_random_values.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__react_native_meteor_oauth__use_of_insufficiently_random_values.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__react_native_meteor_oauth__use_of_insufficiently_random_values.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__react_native_meteor_oauth__use_of_insufficiently_random_values.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__react_svg__lt_2_2_18__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__react_svg__lt_2_2_18__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__react_svg__lt_2_2_18__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__react_svg__lt_2_2_18__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__react_svg__lt_2_2_18__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__react_svg__lt_2_2_18__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__react_svg__lt_2_2_18__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__react_svg__lt_2_2_18__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__react_svg__lt_2_2_18__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__react_svg__lt_2_2_18__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__react_svg__lt_2_2_18__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__react_svg__lt_2_2_18__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__react_svg__lt_2_2_18__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__react_svg__lt_2_2_18__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__react_svg__lt_2_2_18__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__react_svg__lt_2_2_18__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__redis_commander__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__redis_commander__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__redis_commander__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__redis_commander__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__redis_commander__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__redis_commander__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__redis_commander__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__redis_commander__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__redis_commander__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__redis_commander__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__redis_commander__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__redis_commander__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__redis_commander__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__redis_commander__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__redis_commander__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__redis_commander__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__redis_srvr__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__redis_srvr__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__redis_srvr__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__redis_srvr__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__redis_srvr__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__redis_srvr__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__redis_srvr__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__redis_srvr__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__redis_srvr__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__redis_srvr__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__redis_srvr__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__redis_srvr__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__redis_srvr__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__redis_srvr__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__redis_srvr__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__redis_srvr__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__reduce_css_calc__lt_1_2_5__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__reduce_css_calc__lt_1_2_5__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__reduce_css_calc__lt_1_2_5__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__reduce_css_calc__lt_1_2_5__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__reduce_css_calc__lt_1_2_5__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__reduce_css_calc__lt_1_2_5__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__reduce_css_calc__lt_1_2_5__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__reduce_css_calc__lt_1_2_5__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__reduce_css_calc__lt_1_2_5__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__reduce_css_calc__lt_1_2_5__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__reduce_css_calc__lt_1_2_5__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__reduce_css_calc__lt_1_2_5__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__reduce_css_calc__lt_1_2_5__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__reduce_css_calc__lt_1_2_5__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__reduce_css_calc__lt_1_2_5__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__reduce_css_calc__lt_1_2_5__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__reecerver__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__reecerver__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__reecerver__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__reecerver__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__reecerver__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__reecerver__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__reecerver__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__reecerver__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__reecerver__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__reecerver__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__reecerver__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__reecerver__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__reecerver__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__reecerver__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__reecerver__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__reecerver__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__remarkable__lt_1_4_1__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__remarkable__lt_1_4_1__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__remarkable__lt_1_4_1__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__remarkable__lt_1_4_1__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__remarkable__lt_1_4_1__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__remarkable__lt_1_4_1__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__remarkable__lt_1_4_1__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__remarkable__lt_1_4_1__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__remarkable__lt_1_4_1__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__remarkable__lt_1_4_1__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__remarkable__lt_1_4_1__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__remarkable__lt_1_4_1__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__remarkable__lt_1_4_1__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__remarkable__lt_1_4_1__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__remarkable__lt_1_4_1__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__remarkable__lt_1_4_1__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__remarkable__lt_1_7_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__remarkable__lt_1_7_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__remarkable__lt_1_7_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__remarkable__lt_1_7_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__remarkable__lt_1_7_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__remarkable__lt_1_7_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__remarkable__lt_1_7_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__remarkable__lt_1_7_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__remarkable__lt_1_7_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__remarkable__lt_1_7_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__remarkable__lt_1_7_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__remarkable__lt_1_7_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__remarkable__lt_1_7_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__remarkable__lt_1_7_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__remarkable__lt_1_7_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__remarkable__lt_1_7_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__rendr__ge_0_4_0_lt_1_1_4__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__rendr__ge_0_4_0_lt_1_1_4__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__rendr__ge_0_4_0_lt_1_1_4__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__rendr__ge_0_4_0_lt_1_1_4__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__rendr__ge_0_4_0_lt_1_1_4__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__rendr__ge_0_4_0_lt_1_1_4__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__rendr__ge_0_4_0_lt_1_1_4__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__rendr__ge_0_4_0_lt_1_1_4__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__rendr__ge_0_4_0_lt_1_1_4__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__rendr__ge_0_4_0_lt_1_1_4__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__rendr__ge_0_4_0_lt_1_1_4__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__rendr__ge_0_4_0_lt_1_1_4__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__rendr__ge_0_4_0_lt_1_1_4__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__rendr__ge_0_4_0_lt_1_1_4__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__rendr__ge_0_4_0_lt_1_1_4__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__rendr__ge_0_4_0_lt_1_1_4__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__rendr__le_1_1_3__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__rendr__le_1_1_3__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__rendr__le_1_1_3__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__rendr__le_1_1_3__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__rendr__le_1_1_3__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__rendr__le_1_1_3__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__rendr__le_1_1_3__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__rendr__le_1_1_3__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__rendr__le_1_1_3__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__rendr__le_1_1_3__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__rendr__le_1_1_3__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__rendr__le_1_1_3__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__rendr__le_1_1_3__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__rendr__le_1_1_3__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__rendr__le_1_1_3__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__rendr__le_1_1_3__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__rendr__lt_0_4_8_2__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__rendr__lt_0_4_8_2__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__rendr__lt_0_4_8_2__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__rendr__lt_0_4_8_2__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__rendr__lt_0_4_8_2__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__rendr__lt_0_4_8_2__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__rendr__lt_0_4_8_2__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__rendr__lt_0_4_8_2__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__rendr__lt_0_4_8_2__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__rendr__lt_0_4_8_2__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__rendr__lt_0_4_8_2__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__rendr__lt_0_4_8_2__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__rendr__lt_0_4_8_2__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__rendr__lt_0_4_8_2__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__rendr__lt_0_4_8_2__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__rendr__lt_0_4_8_2__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__rendr__lt_0_5_0_rc1__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__rendr__lt_0_5_0_rc1__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__rendr__lt_0_5_0_rc1__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__rendr__lt_0_5_0_rc1__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__rendr__lt_0_5_0_rc1__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__rendr__lt_0_5_0_rc1__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__rendr__lt_0_5_0_rc1__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__rendr__lt_0_5_0_rc1__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__rendr__lt_0_5_0_rc1__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__rendr__lt_0_5_0_rc1__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__rendr__lt_0_5_0_rc1__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__rendr__lt_0_5_0_rc1__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__rendr__lt_0_5_0_rc1__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__rendr__lt_0_5_0_rc1__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__rendr__lt_0_5_0_rc1__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__rendr__lt_0_5_0_rc1__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__rendr_handlebars__lt_1_0_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__rendr_handlebars__lt_1_0_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__rendr_handlebars__lt_1_0_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__rendr_handlebars__lt_1_0_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__rendr_handlebars__lt_1_0_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__rendr_handlebars__lt_1_0_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__rendr_handlebars__lt_1_0_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__rendr_handlebars__lt_1_0_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__rendr_handlebars__lt_1_0_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__rendr_handlebars__lt_1_0_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__rendr_handlebars__lt_1_0_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__rendr_handlebars__lt_1_0_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__rendr_handlebars__lt_1_0_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__rendr_handlebars__lt_1_0_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__rendr_handlebars__lt_1_0_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__rendr_handlebars__lt_1_0_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__request__gt_2_2_5_lt_2_68_0__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__request__gt_2_2_5_lt_2_68_0__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__request__gt_2_2_5_lt_2_68_0__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__request__gt_2_2_5_lt_2_68_0__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__request__gt_2_2_5_lt_2_68_0__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__request__gt_2_2_5_lt_2_68_0__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__request__gt_2_2_5_lt_2_68_0__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__request__gt_2_2_5_lt_2_68_0__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__request__gt_2_2_5_lt_2_68_0__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__request__gt_2_2_5_lt_2_68_0__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__request__gt_2_2_5_lt_2_68_0__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__request__gt_2_2_5_lt_2_68_0__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__request__gt_2_2_5_lt_2_68_0__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__request__gt_2_2_5_lt_2_68_0__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__request__gt_2_2_5_lt_2_68_0__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__request__gt_2_2_5_lt_2_68_0__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__resolve_path__lt_1_4_0__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__resolve_path__lt_1_4_0__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__resolve_path__lt_1_4_0__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__resolve_path__lt_1_4_0__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__resolve_path__lt_1_4_0__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__resolve_path__lt_1_4_0__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__resolve_path__lt_1_4_0__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__resolve_path__lt_1_4_0__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__resolve_path__lt_1_4_0__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__resolve_path__lt_1_4_0__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__resolve_path__lt_1_4_0__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__resolve_path__lt_1_4_0__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__resolve_path__lt_1_4_0__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__resolve_path__lt_1_4_0__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__resolve_path__lt_1_4_0__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__resolve_path__lt_1_4_0__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__resourcehacker__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__resourcehacker__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__resourcehacker__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__resourcehacker__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__resourcehacker__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__resourcehacker__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__resourcehacker__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__resourcehacker__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__resourcehacker__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__resourcehacker__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__resourcehacker__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__resourcehacker__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__resourcehacker__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__resourcehacker__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__resourcehacker__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__resourcehacker__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__restafary__lt_1_6_1__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__restafary__lt_1_6_1__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__restafary__lt_1_6_1__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__restafary__lt_1_6_1__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__restafary__lt_1_6_1__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__restafary__lt_1_6_1__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__restafary__lt_1_6_1__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__restafary__lt_1_6_1__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__restafary__lt_1_6_1__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__restafary__lt_1_6_1__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__restafary__lt_1_6_1__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__restafary__lt_1_6_1__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__restafary__lt_1_6_1__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__restafary__lt_1_6_1__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__restafary__lt_1_6_1__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__restafary__lt_1_6_1__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__restify__ge_2_0_0_lt_4_1_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__restify__ge_2_0_0_lt_4_1_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__restify__ge_2_0_0_lt_4_1_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__restify__ge_2_0_0_lt_4_1_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__restify__ge_2_0_0_lt_4_1_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__restify__ge_2_0_0_lt_4_1_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__restify__ge_2_0_0_lt_4_1_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__restify__ge_2_0_0_lt_4_1_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__restify__ge_2_0_0_lt_4_1_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__restify__ge_2_0_0_lt_4_1_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__restify__ge_2_0_0_lt_4_1_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__restify__ge_2_0_0_lt_4_1_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__restify__ge_2_0_0_lt_4_1_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__restify__ge_2_0_0_lt_4_1_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__restify__ge_2_0_0_lt_4_1_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__restify__ge_2_0_0_lt_4_1_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__rethinkdb__ge_1_2_0_lt_2_1_0__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__rethinkdb__ge_1_2_0_lt_2_1_0__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__rethinkdb__ge_1_2_0_lt_2_1_0__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__rethinkdb__ge_1_2_0_lt_2_1_0__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__rethinkdb__ge_1_2_0_lt_2_1_0__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__rethinkdb__ge_1_2_0_lt_2_1_0__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__rethinkdb__ge_1_2_0_lt_2_1_0__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__rethinkdb__ge_1_2_0_lt_2_1_0__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__rethinkdb__ge_1_2_0_lt_2_1_0__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__rethinkdb__ge_1_2_0_lt_2_1_0__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__rethinkdb__ge_1_2_0_lt_2_1_0__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__rethinkdb__ge_1_2_0_lt_2_1_0__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__rethinkdb__ge_1_2_0_lt_2_1_0__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__rethinkdb__ge_1_2_0_lt_2_1_0__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__rethinkdb__ge_1_2_0_lt_2_1_0__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__rethinkdb__ge_1_2_0_lt_2_1_0__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__rethinkdb__ge_1_2_0_lt_2_1_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__rethinkdb__ge_1_2_0_lt_2_1_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__rethinkdb__ge_1_2_0_lt_2_1_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__rethinkdb__ge_1_2_0_lt_2_1_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__rethinkdb__ge_1_2_0_lt_2_1_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__rethinkdb__ge_1_2_0_lt_2_1_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__rethinkdb__ge_1_2_0_lt_2_1_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__rethinkdb__ge_1_2_0_lt_2_1_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__rethinkdb__ge_1_2_0_lt_2_1_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__rethinkdb__ge_1_2_0_lt_2_1_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__rethinkdb__ge_1_2_0_lt_2_1_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__rethinkdb__ge_1_2_0_lt_2_1_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__rethinkdb__ge_1_2_0_lt_2_1_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__rethinkdb__ge_1_2_0_lt_2_1_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__rethinkdb__ge_1_2_0_lt_2_1_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__rethinkdb__ge_1_2_0_lt_2_1_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__reveal_js__lt_2_6_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__reveal_js__lt_2_6_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__reveal_js__lt_2_6_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__reveal_js__lt_2_6_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__reveal_js__lt_2_6_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__reveal_js__lt_2_6_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__reveal_js__lt_2_6_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__reveal_js__lt_2_6_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__reveal_js__lt_2_6_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__reveal_js__lt_2_6_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__reveal_js__lt_2_6_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__reveal_js__lt_2_6_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__reveal_js__lt_2_6_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__reveal_js__lt_2_6_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__reveal_js__lt_2_6_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__reveal_js__lt_2_6_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__rgb2hex__lt_0_1_6__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__rgb2hex__lt_0_1_6__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__rgb2hex__lt_0_1_6__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__rgb2hex__lt_0_1_6__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__rgb2hex__lt_0_1_6__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__rgb2hex__lt_0_1_6__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__rgb2hex__lt_0_1_6__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__rgb2hex__lt_0_1_6__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__rgb2hex__lt_0_1_6__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__rgb2hex__lt_0_1_6__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__rgb2hex__lt_0_1_6__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__rgb2hex__lt_0_1_6__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__rgb2hex__lt_0_1_6__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__rgb2hex__lt_0_1_6__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__rgb2hex__lt_0_1_6__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__rgb2hex__lt_0_1_6__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__riot__lt_0_9_6__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__riot__lt_0_9_6__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__riot__lt_0_9_6__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__riot__lt_0_9_6__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__riot__lt_0_9_6__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__riot__lt_0_9_6__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__riot__lt_0_9_6__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__riot__lt_0_9_6__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__riot__lt_0_9_6__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__riot__lt_0_9_6__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__riot__lt_0_9_6__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__riot__lt_0_9_6__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__riot__lt_0_9_6__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__riot__lt_0_9_6__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__riot__lt_0_9_6__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__riot__lt_0_9_6__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__riot_compiler__le_2_3_21__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__riot_compiler__le_2_3_21__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__riot_compiler__le_2_3_21__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__riot_compiler__le_2_3_21__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__riot_compiler__le_2_3_21__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__riot_compiler__le_2_3_21__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__riot_compiler__le_2_3_21__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__riot_compiler__le_2_3_21__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__riot_compiler__le_2_3_21__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__riot_compiler__le_2_3_21__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__riot_compiler__le_2_3_21__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__riot_compiler__le_2_3_21__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__riot_compiler__le_2_3_21__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__riot_compiler__le_2_3_21__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__riot_compiler__le_2_3_21__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__riot_compiler__le_2_3_21__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ritp__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ritp__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ritp__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ritp__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ritp__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ritp__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ritp__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ritp__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ritp__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__ritp__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__ritp__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__ritp__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ritp__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ritp__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ritp__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ritp__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__rjpserver__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__rjpserver__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__rjpserver__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__rjpserver__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__rjpserver__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__rjpserver__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__rjpserver__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__rjpserver__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__rjpserver__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__rjpserver__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__rjpserver__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__rjpserver__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__rjpserver__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__rjpserver__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__rjpserver__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__rjpserver__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__robot_js__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__robot_js__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__robot_js__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__robot_js__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__robot_js__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__robot_js__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__robot_js__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__robot_js__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__robot_js__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__robot_js__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__robot_js__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__robot_js__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__robot_js__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__robot_js__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__robot_js__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__robot_js__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__rocketmake_nuget__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__rocketmake_nuget__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__rocketmake_nuget__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__rocketmake_nuget__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__rocketmake_nuget__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__rocketmake_nuget__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__rocketmake_nuget__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__rocketmake_nuget__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__rocketmake_nuget__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__rocketmake_nuget__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__rocketmake_nuget__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__rocketmake_nuget__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__rocketmake_nuget__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__rocketmake_nuget__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__rocketmake_nuget__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__rocketmake_nuget__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__roslib_socketio__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__roslib_socketio__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__roslib_socketio__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__roslib_socketio__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__roslib_socketio__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__roslib_socketio__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__roslib_socketio__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__roslib_socketio__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__roslib_socketio__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__roslib_socketio__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__roslib_socketio__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__roslib_socketio__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__roslib_socketio__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__roslib_socketio__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__roslib_socketio__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__roslib_socketio__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__rs_brightcove__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__rs_brightcove__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__rs_brightcove__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__rs_brightcove__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__rs_brightcove__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__rs_brightcove__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__rs_brightcove__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__rs_brightcove__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__rs_brightcove__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__rs_brightcove__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__rs_brightcove__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__rs_brightcove__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__rs_brightcove__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__rs_brightcove__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__rs_brightcove__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__rs_brightcove__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__rtcmulticonnection_client__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__rtcmulticonnection_client__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__rtcmulticonnection_client__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__rtcmulticonnection_client__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__rtcmulticonnection_client__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__rtcmulticonnection_client__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__rtcmulticonnection_client__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__rtcmulticonnection_client__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__rtcmulticonnection_client__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__rtcmulticonnection_client__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__rtcmulticonnection_client__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__rtcmulticonnection_client__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__rtcmulticonnection_client__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__rtcmulticonnection_client__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__rtcmulticonnection_client__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__rtcmulticonnection_client__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__run_this_place__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__run_this_place__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__run_this_place__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__run_this_place__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__run_this_place__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__run_this_place__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__run_this_place__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__run_this_place__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__run_this_place__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__run_this_place__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__run_this_place__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__run_this_place__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__run_this_place__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__run_this_place__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__run_this_place__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__run_this_place__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__sabu__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__sabu__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__sabu__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__sabu__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__sabu__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__sabu__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__sabu__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__sabu__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__sabu__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__sabu__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__sabu__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__sabu__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__sabu__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__sabu__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__sabu__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__sabu__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__safe_compare__ge_1_1_0_lt_1_1_2__insecure_credential_usage.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__safe_compare__ge_1_1_0_lt_1_1_2__insecure_credential_usage.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__safe_compare__ge_1_1_0_lt_1_1_2__insecure_credential_usage.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__safe_compare__ge_1_1_0_lt_1_1_2__insecure_credential_usage.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__safe_compare__ge_1_1_0_lt_1_1_2__insecure_credential_usage.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__safe_compare__ge_1_1_0_lt_1_1_2__insecure_credential_usage.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__safe_compare__ge_1_1_0_lt_1_1_2__insecure_credential_usage.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__safe_compare__ge_1_1_0_lt_1_1_2__insecure_credential_usage.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__safe_compare__ge_1_1_0_lt_1_1_2__insecure_credential_usage.dacg.result.s2.o0": "The library is known to include the Insecure Credential Usage vulnerability.",
  "0.event.dacg_npm__safe_compare__ge_1_1_0_lt_1_1_2__insecure_credential_usage.dacg.result.s3.o0": "The Insecure Credential Usage vulnerability is caused when a user saves or transmits certificates.",
  "0.event.dacg_npm__safe_compare__ge_1_1_0_lt_1_1_2__insecure_credential_usage.dacg.result.s4.o0": "Using the Insecure Credential Usage vulnerability, an attacker can access to and steal certificates.",
  "0.event.dacg_npm__safe_compare__ge_1_1_0_lt_1_1_2__insecure_credential_usage.dacg.result.s5.o0": "As a result of the test, the Insecure Credential Usage has been found to exist by using {0} library.",
  "0.event.dacg_npm__safe_compare__ge_1_1_0_lt_1_1_2__insecure_credential_usage.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__safe_compare__ge_1_1_0_lt_1_1_2__insecure_credential_usage.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__safe_compare__ge_1_1_0_lt_1_1_2__insecure_credential_usage.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__safe_compare__ge_1_1_0_lt_1_1_2__insecure_credential_usage.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__safe_compare__lt_1_1_1__insecure_credential_usage.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__safe_compare__lt_1_1_1__insecure_credential_usage.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__safe_compare__lt_1_1_1__insecure_credential_usage.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__safe_compare__lt_1_1_1__insecure_credential_usage.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__safe_compare__lt_1_1_1__insecure_credential_usage.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__safe_compare__lt_1_1_1__insecure_credential_usage.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__safe_compare__lt_1_1_1__insecure_credential_usage.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__safe_compare__lt_1_1_1__insecure_credential_usage.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__safe_compare__lt_1_1_1__insecure_credential_usage.dacg.result.s2.o0": "The library is known to include the Insecure Credential Usage vulnerability.",
  "0.event.dacg_npm__safe_compare__lt_1_1_1__insecure_credential_usage.dacg.result.s3.o0": "The Insecure Credential Usage vulnerability is caused when a user saves or transmits certificates.",
  "0.event.dacg_npm__safe_compare__lt_1_1_1__insecure_credential_usage.dacg.result.s4.o0": "Using the Insecure Credential Usage vulnerability, an attacker can access to and steal certificates.",
  "0.event.dacg_npm__safe_compare__lt_1_1_1__insecure_credential_usage.dacg.result.s5.o0": "As a result of the test, the Insecure Credential Usage has been found to exist by using {0} library.",
  "0.event.dacg_npm__safe_compare__lt_1_1_1__insecure_credential_usage.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__safe_compare__lt_1_1_1__insecure_credential_usage.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__safe_compare__lt_1_1_1__insecure_credential_usage.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__safe_compare__lt_1_1_1__insecure_credential_usage.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__safe_eval__sandbox_bypass.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__safe_eval__sandbox_bypass.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__safe_eval__sandbox_bypass.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__safe_eval__sandbox_bypass.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__safe_eval__sandbox_bypass.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__safe_eval__sandbox_bypass.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__safe_eval__sandbox_bypass.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__safe_eval__sandbox_bypass.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__safe_eval__sandbox_bypass.dacg.result.s2.o0": "The library is known to include the Sandbox Bypass vulnerability.",
  "0.event.dacg_npm__safe_eval__sandbox_bypass.dacg.result.s3.o0": "The Sandbox Bypass vulnerability is caused by escaping from a limited sandbox environment.",
  "0.event.dacg_npm__safe_eval__sandbox_bypass.dacg.result.s4.o0": "Using the Sandbox Bypass vulnerability, an attacker can affect the outside of the sandbox and access and manipulate information outside the sandbox.",
  "0.event.dacg_npm__safe_eval__sandbox_bypass.dacg.result.s5.o0": "As a result of the test, the Sandbox Bypass vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__safe_eval__sandbox_bypass.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__safe_eval__sandbox_bypass.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__safe_eval__sandbox_bypass.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__safe_eval__sandbox_bypass.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__sails__ge_0_11_0_rc6_lt_0_12_0_rc4__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__sails__ge_0_11_0_rc6_lt_0_12_0_rc4__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__sails__ge_0_11_0_rc6_lt_0_12_0_rc4__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__sails__ge_0_11_0_rc6_lt_0_12_0_rc4__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__sails__ge_0_11_0_rc6_lt_0_12_0_rc4__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__sails__ge_0_11_0_rc6_lt_0_12_0_rc4__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__sails__ge_0_11_0_rc6_lt_0_12_0_rc4__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__sails__ge_0_11_0_rc6_lt_0_12_0_rc4__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__sails__ge_0_11_0_rc6_lt_0_12_0_rc4__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__sails__ge_0_11_0_rc6_lt_0_12_0_rc4__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__sails__ge_0_11_0_rc6_lt_0_12_0_rc4__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__sails__ge_0_11_0_rc6_lt_0_12_0_rc4__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__sails__ge_0_11_0_rc6_lt_0_12_0_rc4__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__sails__ge_0_11_0_rc6_lt_0_12_0_rc4__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__sails__ge_0_11_0_rc6_lt_0_12_0_rc4__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__sails__ge_0_11_0_rc6_lt_0_12_0_rc4__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__sails__le_0_12_7__cors_bypass.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__sails__le_0_12_7__cors_bypass.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__sails__le_0_12_7__cors_bypass.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__sails__le_0_12_7__cors_bypass.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__sails__le_0_12_7__cors_bypass.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__sails__le_0_12_7__cors_bypass.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__sails__le_0_12_7__cors_bypass.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__sails__le_0_12_7__cors_bypass.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__sails__le_0_12_7__cors_bypass.dacg.result.s2.o0": "The library is known to include the CORS Bypass vulnerability.",
  "0.event.dacg_npm__sails__le_0_12_7__cors_bypass.dacg.result.s3.o0": "The Cross-Origin Resource Sharing (CORS) Policy bypassing vulnerability is caused by bypassing Cross-Origin Resource Sharing (CORS) policy.",
  "0.event.dacg_npm__sails__le_0_12_7__cors_bypass.dacg.result.s4.o0": "Using the CORS Bypass vulnerability, an attacker can insert dangerous code by bypassing cross-origin resource sharing policy.",
  "0.event.dacg_npm__sails__le_0_12_7__cors_bypass.dacg.result.s5.o0": "As a result of the test, the CORS Bypass vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__sails__le_0_12_7__cors_bypass.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__sails__le_0_12_7__cors_bypass.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__sails__le_0_12_7__cors_bypass.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__sails__le_0_12_7__cors_bypass.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__sails__lt_0_9_0__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__sails__lt_0_9_0__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__sails__lt_0_9_0__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__sails__lt_0_9_0__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__sails__lt_0_9_0__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__sails__lt_0_9_0__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__sails__lt_0_9_0__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__sails__lt_0_9_0__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__sails__lt_0_9_0__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__sails__lt_0_9_0__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__sails__lt_0_9_0__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__sails__lt_0_9_0__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__sails__lt_0_9_0__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__sails__lt_0_9_0__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__sails__lt_0_9_0__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__sails__lt_0_9_0__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__saml2_js__ge_2_0_0_lt_2_0_2__authentication_bypass.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__saml2_js__ge_2_0_0_lt_2_0_2__authentication_bypass.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__saml2_js__ge_2_0_0_lt_2_0_2__authentication_bypass.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__saml2_js__ge_2_0_0_lt_2_0_2__authentication_bypass.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__saml2_js__ge_2_0_0_lt_2_0_2__authentication_bypass.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__saml2_js__ge_2_0_0_lt_2_0_2__authentication_bypass.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__saml2_js__ge_2_0_0_lt_2_0_2__authentication_bypass.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__saml2_js__ge_2_0_0_lt_2_0_2__authentication_bypass.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__saml2_js__ge_2_0_0_lt_2_0_2__authentication_bypass.dacg.result.s2.o0": "The library is known to include the Authentication Bypass vulnerability.",
  "0.event.dacg_npm__saml2_js__ge_2_0_0_lt_2_0_2__authentication_bypass.dacg.result.s3.o0": "Authentication bypass vulnerabilities can bypass a required authentication process.",
  "0.event.dacg_npm__saml2_js__ge_2_0_0_lt_2_0_2__authentication_bypass.dacg.result.s4.o0": "Using the Authentication Bypass vulnerability, an attacker can access to and manipulation of limited information.",
  "0.event.dacg_npm__saml2_js__ge_2_0_0_lt_2_0_2__authentication_bypass.dacg.result.s5.o0": "As a result of the test, the Authentication Bypass vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__saml2_js__ge_2_0_0_lt_2_0_2__authentication_bypass.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__saml2_js__ge_2_0_0_lt_2_0_2__authentication_bypass.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__saml2_js__ge_2_0_0_lt_2_0_2__authentication_bypass.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__saml2_js__ge_2_0_0_lt_2_0_2__authentication_bypass.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__saml2_js__lt_1_12_4__authentication_bypass.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__saml2_js__lt_1_12_4__authentication_bypass.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__saml2_js__lt_1_12_4__authentication_bypass.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__saml2_js__lt_1_12_4__authentication_bypass.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__saml2_js__lt_1_12_4__authentication_bypass.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__saml2_js__lt_1_12_4__authentication_bypass.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__saml2_js__lt_1_12_4__authentication_bypass.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__saml2_js__lt_1_12_4__authentication_bypass.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__saml2_js__lt_1_12_4__authentication_bypass.dacg.result.s2.o0": "The library is known to include the Authentication Bypass vulnerability.",
  "0.event.dacg_npm__saml2_js__lt_1_12_4__authentication_bypass.dacg.result.s3.o0": "Authentication bypass vulnerabilities can bypass a required authentication process.",
  "0.event.dacg_npm__saml2_js__lt_1_12_4__authentication_bypass.dacg.result.s4.o0": "Using the Authentication Bypass vulnerability, an attacker can access to and manipulation of limited information.",
  "0.event.dacg_npm__saml2_js__lt_1_12_4__authentication_bypass.dacg.result.s5.o0": "As a result of the test, the Authentication Bypass vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__saml2_js__lt_1_12_4__authentication_bypass.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__saml2_js__lt_1_12_4__authentication_bypass.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__saml2_js__lt_1_12_4__authentication_bypass.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__saml2_js__lt_1_12_4__authentication_bypass.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__samlify__lt_2_3_0__xml_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__samlify__lt_2_3_0__xml_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__samlify__lt_2_3_0__xml_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__samlify__lt_2_3_0__xml_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__samlify__lt_2_3_0__xml_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__samlify__lt_2_3_0__xml_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__samlify__lt_2_3_0__xml_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__samlify__lt_2_3_0__xml_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__samlify__lt_2_3_0__xml_injection.dacg.result.s2.o0": "The library is known to include the XML Injection vulnerability.",
  "0.event.dacg_npm__samlify__lt_2_3_0__xml_injection.dacg.result.s3.o0": "The XML Injection vulnerability is caused by injecting unintended XML tags into existing XML structures.",
  "0.event.dacg_npm__samlify__lt_2_3_0__xml_injection.dacg.result.s4.o0": "Using the XML Injection vulnerability, an attacker can access and manipulate the XML structure and restricted information.",
  "0.event.dacg_npm__samlify__lt_2_3_0__xml_injection.dacg.result.s5.o0": "As a result of the test, the XML Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__samlify__lt_2_3_0__xml_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__samlify__lt_2_3_0__xml_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__samlify__lt_2_3_0__xml_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__samlify__lt_2_3_0__xml_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__sandbox__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__sandbox__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__sandbox__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__sandbox__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__sandbox__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__sandbox__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__sandbox__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__sandbox__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__sandbox__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__sandbox__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__sandbox__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__sandbox__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__sandbox__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__sandbox__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__sandbox__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__sandbox__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__sanitize__lt_2_1_0__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__sanitize__lt_2_1_0__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__sanitize__lt_2_1_0__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__sanitize__lt_2_1_0__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__sanitize__lt_2_1_0__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__sanitize__lt_2_1_0__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__sanitize__lt_2_1_0__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__sanitize__lt_2_1_0__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__sanitize__lt_2_1_0__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__sanitize__lt_2_1_0__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__sanitize__lt_2_1_0__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__sanitize__lt_2_1_0__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__sanitize__lt_2_1_0__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__sanitize__lt_2_1_0__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__sanitize__lt_2_1_0__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__sanitize__lt_2_1_0__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__sanitize_html__le_1_4_2__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__sanitize_html__le_1_4_2__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__sanitize_html__le_1_4_2__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__sanitize_html__le_1_4_2__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__sanitize_html__le_1_4_2__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__sanitize_html__le_1_4_2__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__sanitize_html__le_1_4_2__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__sanitize_html__le_1_4_2__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__sanitize_html__le_1_4_2__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__sanitize_html__le_1_4_2__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__sanitize_html__le_1_4_2__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__sanitize_html__le_1_4_2__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__sanitize_html__le_1_4_2__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__sanitize_html__le_1_4_2__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__sanitize_html__le_1_4_2__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__sanitize_html__le_1_4_2__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__sanitize_html__lt_1_11_4__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__sanitize_html__lt_1_11_4__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__sanitize_html__lt_1_11_4__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__sanitize_html__lt_1_11_4__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__sanitize_html__lt_1_11_4__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__sanitize_html__lt_1_11_4__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__sanitize_html__lt_1_11_4__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__sanitize_html__lt_1_11_4__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__sanitize_html__lt_1_11_4__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__sanitize_html__lt_1_11_4__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__sanitize_html__lt_1_11_4__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__sanitize_html__lt_1_11_4__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__sanitize_html__lt_1_11_4__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__sanitize_html__lt_1_11_4__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__sanitize_html__lt_1_11_4__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__sanitize_html__lt_1_11_4__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__sanitize_html__lt_1_2_3__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__sanitize_html__lt_1_2_3__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__sanitize_html__lt_1_2_3__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__sanitize_html__lt_1_2_3__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__sanitize_html__lt_1_2_3__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__sanitize_html__lt_1_2_3__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__sanitize_html__lt_1_2_3__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__sanitize_html__lt_1_2_3__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__sanitize_html__lt_1_2_3__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__sanitize_html__lt_1_2_3__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__sanitize_html__lt_1_2_3__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__sanitize_html__lt_1_2_3__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__sanitize_html__lt_1_2_3__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__sanitize_html__lt_1_2_3__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__sanitize_html__lt_1_2_3__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__sanitize_html__lt_1_2_3__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__sanitize_html__lt_1_4_3__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__sanitize_html__lt_1_4_3__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__sanitize_html__lt_1_4_3__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__sanitize_html__lt_1_4_3__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__sanitize_html__lt_1_4_3__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__sanitize_html__lt_1_4_3__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__sanitize_html__lt_1_4_3__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__sanitize_html__lt_1_4_3__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__sanitize_html__lt_1_4_3__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__sanitize_html__lt_1_4_3__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__sanitize_html__lt_1_4_3__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__sanitize_html__lt_1_4_3__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__sanitize_html__lt_1_4_3__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__sanitize_html__lt_1_4_3__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__sanitize_html__lt_1_4_3__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__sanitize_html__lt_1_4_3__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__sauce_connect__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__sauce_connect__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__sauce_connect__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__sauce_connect__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__sauce_connect__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__sauce_connect__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__sauce_connect__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__sauce_connect__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__sauce_connect__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__sauce_connect__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__sauce_connect__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__sauce_connect__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__sauce_connect__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__sauce_connect__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__sauce_connect__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__sauce_connect__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__scala_bin__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__scala_bin__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__scala_bin__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__scala_bin__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__scala_bin__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__scala_bin__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__scala_bin__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__scala_bin__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__scala_bin__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__scala_bin__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__scala_bin__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__scala_bin__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__scala_bin__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__scala_bin__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__scala_bin__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__scala_bin__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__scalajs_standalone_bin__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__scalajs_standalone_bin__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__scalajs_standalone_bin__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__scalajs_standalone_bin__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__scalajs_standalone_bin__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__scalajs_standalone_bin__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__scalajs_standalone_bin__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__scalajs_standalone_bin__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__scalajs_standalone_bin__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__scalajs_standalone_bin__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__scalajs_standalone_bin__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__scalajs_standalone_bin__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__scalajs_standalone_bin__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__scalajs_standalone_bin__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__scalajs_standalone_bin__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__scalajs_standalone_bin__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__scott_blanch_weather_app__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__scott_blanch_weather_app__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__scott_blanch_weather_app__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__scott_blanch_weather_app__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__scott_blanch_weather_app__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__scott_blanch_weather_app__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__scott_blanch_weather_app__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__scott_blanch_weather_app__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__scott_blanch_weather_app__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__scott_blanch_weather_app__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__scott_blanch_weather_app__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__scott_blanch_weather_app__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__scott_blanch_weather_app__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__scott_blanch_weather_app__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__scott_blanch_weather_app__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__scott_blanch_weather_app__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__sdfjghlkfjdshlkjdhsfg__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__sdfjghlkfjdshlkjdhsfg__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__sdfjghlkfjdshlkjdhsfg__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__sdfjghlkfjdshlkjdhsfg__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__sdfjghlkfjdshlkjdhsfg__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__sdfjghlkfjdshlkjdhsfg__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__sdfjghlkfjdshlkjdhsfg__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__sdfjghlkfjdshlkjdhsfg__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__sdfjghlkfjdshlkjdhsfg__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__sdfjghlkfjdshlkjdhsfg__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__sdfjghlkfjdshlkjdhsfg__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__sdfjghlkfjdshlkjdhsfg__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__sdfjghlkfjdshlkjdhsfg__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__sdfjghlkfjdshlkjdhsfg__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__sdfjghlkfjdshlkjdhsfg__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__sdfjghlkfjdshlkjdhsfg__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__section2_madisonjbrooks12__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__section2_madisonjbrooks12__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__section2_madisonjbrooks12__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__section2_madisonjbrooks12__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__section2_madisonjbrooks12__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__section2_madisonjbrooks12__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__section2_madisonjbrooks12__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__section2_madisonjbrooks12__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__section2_madisonjbrooks12__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__section2_madisonjbrooks12__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__section2_madisonjbrooks12__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__section2_madisonjbrooks12__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__section2_madisonjbrooks12__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__section2_madisonjbrooks12__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__section2_madisonjbrooks12__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__section2_madisonjbrooks12__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__secure_compare__le_3_0_0__insufficient_comparison.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__secure_compare__le_3_0_0__insufficient_comparison.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__secure_compare__le_3_0_0__insufficient_comparison.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__secure_compare__le_3_0_0__insufficient_comparison.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__secure_compare__le_3_0_0__insufficient_comparison.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__secure_compare__le_3_0_0__insufficient_comparison.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__secure_compare__le_3_0_0__insufficient_comparison.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__secure_compare__le_3_0_0__insufficient_comparison.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__secure_compare__le_3_0_0__insufficient_comparison.dacg.result.s2.o0": "The library is known to include the Insufficient Comparison vulnerability.",
  "0.event.dacg_npm__secure_compare__le_3_0_0__insufficient_comparison.dacg.result.s3.o0": "The Insufficient Comparison vulnerability can lead to unintended consequences through inadequate comparison operations.",
  "0.event.dacg_npm__secure_compare__le_3_0_0__insufficient_comparison.dacg.result.s4.o0": "Using the Insufficient Comparison vulnerability, an attacker can bypass validation through comparison operations.",
  "0.event.dacg_npm__secure_compare__le_3_0_0__insufficient_comparison.dacg.result.s5.o0": "As a result of the test, the Insufficient Comparison vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__secure_compare__le_3_0_0__insufficient_comparison.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__secure_compare__le_3_0_0__insufficient_comparison.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__secure_compare__le_3_0_0__insufficient_comparison.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__secure_compare__le_3_0_0__insufficient_comparison.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__secure_servedir__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__secure_servedir__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__secure_servedir__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__secure_servedir__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__secure_servedir__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__secure_servedir__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__secure_servedir__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__secure_servedir__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__secure_servedir__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__secure_servedir__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__secure_servedir__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__secure_servedir__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__secure_servedir__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__secure_servedir__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__secure_servedir__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__secure_servedir__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__select2__ge_1_0_0_lt_3_3_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__select2__ge_1_0_0_lt_3_3_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__select2__ge_1_0_0_lt_3_3_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__select2__ge_1_0_0_lt_3_3_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__select2__ge_1_0_0_lt_3_3_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__select2__ge_1_0_0_lt_3_3_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__select2__ge_1_0_0_lt_3_3_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__select2__ge_1_0_0_lt_3_3_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__select2__ge_1_0_0_lt_3_3_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__select2__ge_1_0_0_lt_3_3_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__select2__ge_1_0_0_lt_3_3_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__select2__ge_1_0_0_lt_3_3_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__select2__ge_1_0_0_lt_3_3_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__select2__ge_1_0_0_lt_3_3_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__select2__ge_1_0_0_lt_3_3_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__select2__ge_1_0_0_lt_3_3_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__selenium_binaries__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__selenium_binaries__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__selenium_binaries__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__selenium_binaries__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__selenium_binaries__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__selenium_binaries__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__selenium_binaries__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__selenium_binaries__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__selenium_binaries__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__selenium_binaries__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__selenium_binaries__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__selenium_binaries__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__selenium_binaries__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__selenium_binaries__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__selenium_binaries__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__selenium_binaries__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__selenium_chromedriver__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__selenium_chromedriver__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__selenium_chromedriver__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__selenium_chromedriver__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__selenium_chromedriver__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__selenium_chromedriver__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__selenium_chromedriver__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__selenium_chromedriver__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__selenium_chromedriver__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__selenium_chromedriver__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__selenium_chromedriver__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__selenium_chromedriver__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__selenium_chromedriver__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__selenium_chromedriver__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__selenium_chromedriver__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__selenium_chromedriver__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__selenium_download__lt_2_0_7__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__selenium_download__lt_2_0_7__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__selenium_download__lt_2_0_7__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__selenium_download__lt_2_0_7__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__selenium_download__lt_2_0_7__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__selenium_download__lt_2_0_7__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__selenium_download__lt_2_0_7__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__selenium_download__lt_2_0_7__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__selenium_download__lt_2_0_7__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__selenium_download__lt_2_0_7__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__selenium_download__lt_2_0_7__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__selenium_download__lt_2_0_7__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__selenium_download__lt_2_0_7__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__selenium_download__lt_2_0_7__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__selenium_download__lt_2_0_7__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__selenium_download__lt_2_0_7__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__selenium_portal__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__selenium_portal__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__selenium_portal__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__selenium_portal__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__selenium_portal__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__selenium_portal__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__selenium_portal__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__selenium_portal__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__selenium_portal__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__selenium_portal__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__selenium_portal__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__selenium_portal__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__selenium_portal__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__selenium_portal__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__selenium_portal__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__selenium_portal__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__selenium_standalone_painful__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__selenium_standalone_painful__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__selenium_standalone_painful__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__selenium_standalone_painful__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__selenium_standalone_painful__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__selenium_standalone_painful__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__selenium_standalone_painful__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__selenium_standalone_painful__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__selenium_standalone_painful__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__selenium_standalone_painful__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__selenium_standalone_painful__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__selenium_standalone_painful__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__selenium_standalone_painful__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__selenium_standalone_painful__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__selenium_standalone_painful__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__selenium_standalone_painful__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__selenium_wrapper__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__selenium_wrapper__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__selenium_wrapper__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__selenium_wrapper__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__selenium_wrapper__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__selenium_wrapper__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__selenium_wrapper__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__selenium_wrapper__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__selenium_wrapper__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__selenium_wrapper__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__selenium_wrapper__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__selenium_wrapper__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__selenium_wrapper__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__selenium_wrapper__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__selenium_wrapper__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__selenium_wrapper__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__semantic_ui__lt_1_0_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__semantic_ui__lt_1_0_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__semantic_ui__lt_1_0_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__semantic_ui__lt_1_0_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__semantic_ui__lt_1_0_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__semantic_ui__lt_1_0_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__semantic_ui__lt_1_0_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__semantic_ui__lt_1_0_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__semantic_ui__lt_1_0_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__semantic_ui__lt_1_0_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__semantic_ui__lt_1_0_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__semantic_ui__lt_1_0_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__semantic_ui__lt_1_0_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__semantic_ui__lt_1_0_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__semantic_ui__lt_1_0_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__semantic_ui__lt_1_0_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__semantic_ui__lt_2_2_8__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__semantic_ui__lt_2_2_8__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__semantic_ui__lt_2_2_8__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__semantic_ui__lt_2_2_8__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__semantic_ui__lt_2_2_8__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__semantic_ui__lt_2_2_8__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__semantic_ui__lt_2_2_8__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__semantic_ui__lt_2_2_8__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__semantic_ui__lt_2_2_8__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__semantic_ui__lt_2_2_8__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__semantic_ui__lt_2_2_8__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__semantic_ui__lt_2_2_8__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__semantic_ui__lt_2_2_8__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__semantic_ui__lt_2_2_8__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__semantic_ui__lt_2_2_8__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__semantic_ui__lt_2_2_8__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__semver__lt_4_3_2__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__semver__lt_4_3_2__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__semver__lt_4_3_2__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__semver__lt_4_3_2__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__semver__lt_4_3_2__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__semver__lt_4_3_2__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__semver__lt_4_3_2__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__semver__lt_4_3_2__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__semver__lt_4_3_2__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__semver__lt_4_3_2__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__semver__lt_4_3_2__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__semver__lt_4_3_2__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__semver__lt_4_3_2__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__semver__lt_4_3_2__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__semver__lt_4_3_2__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__semver__lt_4_3_2__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__sencisho__lt_0_3_3__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__sencisho__lt_0_3_3__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__sencisho__lt_0_3_3__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__sencisho__lt_0_3_3__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__sencisho__lt_0_3_3__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__sencisho__lt_0_3_3__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__sencisho__lt_0_3_3__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__sencisho__lt_0_3_3__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__sencisho__lt_0_3_3__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__sencisho__lt_0_3_3__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__sencisho__lt_0_3_3__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__sencisho__lt_0_3_3__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__sencisho__lt_0_3_3__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__sencisho__lt_0_3_3__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__sencisho__lt_0_3_3__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__sencisho__lt_0_3_3__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__send__lt_0_11_1__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__send__lt_0_11_1__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__send__lt_0_11_1__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__send__lt_0_11_1__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__send__lt_0_11_1__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__send__lt_0_11_1__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__send__lt_0_11_1__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__send__lt_0_11_1__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__send__lt_0_11_1__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__send__lt_0_11_1__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__send__lt_0_11_1__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__send__lt_0_11_1__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__send__lt_0_11_1__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__send__lt_0_11_1__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__send__lt_0_11_1__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__send__lt_0_11_1__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__send__lt_0_8_4__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__send__lt_0_8_4__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__send__lt_0_8_4__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__send__lt_0_8_4__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__send__lt_0_8_4__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__send__lt_0_8_4__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__send__lt_0_8_4__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__send__lt_0_8_4__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__send__lt_0_8_4__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__send__lt_0_8_4__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__send__lt_0_8_4__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__send__lt_0_8_4__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__send__lt_0_8_4__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__send__lt_0_8_4__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__send__lt_0_8_4__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__send__lt_0_8_4__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__sequelize__ge_0_2_2_le_1_7_0_alpha2__sql_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__sequelize__ge_0_2_2_le_1_7_0_alpha2__sql_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__sequelize__ge_0_2_2_le_1_7_0_alpha2__sql_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__sequelize__ge_0_2_2_le_1_7_0_alpha2__sql_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__sequelize__ge_0_2_2_le_1_7_0_alpha2__sql_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__sequelize__ge_0_2_2_le_1_7_0_alpha2__sql_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__sequelize__ge_0_2_2_le_1_7_0_alpha2__sql_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__sequelize__ge_0_2_2_le_1_7_0_alpha2__sql_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__sequelize__ge_0_2_2_le_1_7_0_alpha2__sql_injection.dacg.result.s2.o0": "The library is known to include the SQL Injection vulnerability.",
  "0.event.dacg_npm__sequelize__ge_0_2_2_le_1_7_0_alpha2__sql_injection.dacg.result.s3.o0": "The SQL Injection vulnerability is caused by manipulating SQL queries or executing unintended SQL statements.",
  "0.event.dacg_npm__sequelize__ge_0_2_2_le_1_7_0_alpha2__sql_injection.dacg.result.s4.o0": "Using the SQL Injection vulnerability, an attacker can steal and manipulate important information in the database.",
  "0.event.dacg_npm__sequelize__ge_0_2_2_le_1_7_0_alpha2__sql_injection.dacg.result.s5.o0": "As a result of the test, the SQL Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__sequelize__ge_0_2_2_le_1_7_0_alpha2__sql_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__sequelize__ge_0_2_2_le_1_7_0_alpha2__sql_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__sequelize__ge_0_2_2_le_1_7_0_alpha2__sql_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__sequelize__ge_0_2_2_le_1_7_0_alpha2__sql_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__sequelize__ge_0_2_2_le_3_16_0__sql_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__sequelize__ge_0_2_2_le_3_16_0__sql_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__sequelize__ge_0_2_2_le_3_16_0__sql_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__sequelize__ge_0_2_2_le_3_16_0__sql_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__sequelize__ge_0_2_2_le_3_16_0__sql_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__sequelize__ge_0_2_2_le_3_16_0__sql_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__sequelize__ge_0_2_2_le_3_16_0__sql_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__sequelize__ge_0_2_2_le_3_16_0__sql_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__sequelize__ge_0_2_2_le_3_16_0__sql_injection.dacg.result.s2.o0": "The library is known to include the SQL Injection vulnerability.",
  "0.event.dacg_npm__sequelize__ge_0_2_2_le_3_16_0__sql_injection.dacg.result.s3.o0": "The SQL Injection vulnerability is caused by manipulating SQL queries or executing unintended SQL statements.",
  "0.event.dacg_npm__sequelize__ge_0_2_2_le_3_16_0__sql_injection.dacg.result.s4.o0": "Using the SQL Injection vulnerability, an attacker can steal and manipulate important information in the database.",
  "0.event.dacg_npm__sequelize__ge_0_2_2_le_3_16_0__sql_injection.dacg.result.s5.o0": "As a result of the test, the SQL Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__sequelize__ge_0_2_2_le_3_16_0__sql_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__sequelize__ge_0_2_2_le_3_16_0__sql_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__sequelize__ge_0_2_2_le_3_16_0__sql_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__sequelize__ge_0_2_2_le_3_16_0__sql_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__sequelize__ge_3_4_0_lt_3_23_6__sql_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__sequelize__ge_3_4_0_lt_3_23_6__sql_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__sequelize__ge_3_4_0_lt_3_23_6__sql_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__sequelize__ge_3_4_0_lt_3_23_6__sql_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__sequelize__ge_3_4_0_lt_3_23_6__sql_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__sequelize__ge_3_4_0_lt_3_23_6__sql_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__sequelize__ge_3_4_0_lt_3_23_6__sql_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__sequelize__ge_3_4_0_lt_3_23_6__sql_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__sequelize__ge_3_4_0_lt_3_23_6__sql_injection.dacg.result.s2.o0": "The library is known to include the SQL Injection vulnerability.",
  "0.event.dacg_npm__sequelize__ge_3_4_0_lt_3_23_6__sql_injection.dacg.result.s3.o0": "The SQL Injection vulnerability is caused by manipulating SQL queries or executing unintended SQL statements.",
  "0.event.dacg_npm__sequelize__ge_3_4_0_lt_3_23_6__sql_injection.dacg.result.s4.o0": "Using the SQL Injection vulnerability, an attacker can steal and manipulate important information in the database.",
  "0.event.dacg_npm__sequelize__ge_3_4_0_lt_3_23_6__sql_injection.dacg.result.s5.o0": "As a result of the test, the SQL Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__sequelize__ge_3_4_0_lt_3_23_6__sql_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__sequelize__ge_3_4_0_lt_3_23_6__sql_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__sequelize__ge_3_4_0_lt_3_23_6__sql_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__sequelize__ge_3_4_0_lt_3_23_6__sql_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__sequelize__le_2_0_0_rc7__sql_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__sequelize__le_2_0_0_rc7__sql_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__sequelize__le_2_0_0_rc7__sql_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__sequelize__le_2_0_0_rc7__sql_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__sequelize__le_2_0_0_rc7__sql_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__sequelize__le_2_0_0_rc7__sql_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__sequelize__le_2_0_0_rc7__sql_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__sequelize__le_2_0_0_rc7__sql_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__sequelize__le_2_0_0_rc7__sql_injection.dacg.result.s2.o0": "The library is known to include the SQL Injection vulnerability.",
  "0.event.dacg_npm__sequelize__le_2_0_0_rc7__sql_injection.dacg.result.s3.o0": "The SQL Injection vulnerability is caused by manipulating SQL queries or executing unintended SQL statements.",
  "0.event.dacg_npm__sequelize__le_2_0_0_rc7__sql_injection.dacg.result.s4.o0": "Using the SQL Injection vulnerability, an attacker can steal and manipulate important information in the database.",
  "0.event.dacg_npm__sequelize__le_2_0_0_rc7__sql_injection.dacg.result.s5.o0": "As a result of the test, the SQL Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__sequelize__le_2_0_0_rc7__sql_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__sequelize__le_2_0_0_rc7__sql_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__sequelize__le_2_0_0_rc7__sql_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__sequelize__le_2_0_0_rc7__sql_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__sequelize__le_2_1_3__sql_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__sequelize__le_2_1_3__sql_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__sequelize__le_2_1_3__sql_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__sequelize__le_2_1_3__sql_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__sequelize__le_2_1_3__sql_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__sequelize__le_2_1_3__sql_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__sequelize__le_2_1_3__sql_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__sequelize__le_2_1_3__sql_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__sequelize__le_2_1_3__sql_injection.dacg.result.s2.o0": "The library is known to include the SQL Injection vulnerability.",
  "0.event.dacg_npm__sequelize__le_2_1_3__sql_injection.dacg.result.s3.o0": "The SQL Injection vulnerability is caused by manipulating SQL queries or executing unintended SQL statements.",
  "0.event.dacg_npm__sequelize__le_2_1_3__sql_injection.dacg.result.s4.o0": "Using the SQL Injection vulnerability, an attacker can steal and manipulate important information in the database.",
  "0.event.dacg_npm__sequelize__le_2_1_3__sql_injection.dacg.result.s5.o0": "As a result of the test, the SQL Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__sequelize__le_2_1_3__sql_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__sequelize__le_2_1_3__sql_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__sequelize__le_2_1_3__sql_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__sequelize__le_2_1_3__sql_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__sequelize__le_3_19_3__sql_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__sequelize__le_3_19_3__sql_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__sequelize__le_3_19_3__sql_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__sequelize__le_3_19_3__sql_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__sequelize__le_3_19_3__sql_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__sequelize__le_3_19_3__sql_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__sequelize__le_3_19_3__sql_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__sequelize__le_3_19_3__sql_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__sequelize__le_3_19_3__sql_injection.dacg.result.s2.o0": "The library is known to include the SQL Injection vulnerability.",
  "0.event.dacg_npm__sequelize__le_3_19_3__sql_injection.dacg.result.s3.o0": "The SQL Injection vulnerability is caused by manipulating SQL queries or executing unintended SQL statements.",
  "0.event.dacg_npm__sequelize__le_3_19_3__sql_injection.dacg.result.s4.o0": "Using the SQL Injection vulnerability, an attacker can steal and manipulate important information in the database.",
  "0.event.dacg_npm__sequelize__le_3_19_3__sql_injection.dacg.result.s5.o0": "As a result of the test, the SQL Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__sequelize__le_3_19_3__sql_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__sequelize__le_3_19_3__sql_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__sequelize__le_3_19_3__sql_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__sequelize__le_3_19_3__sql_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__sequelize__lt_3_12_1__sql_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__sequelize__lt_3_12_1__sql_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__sequelize__lt_3_12_1__sql_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__sequelize__lt_3_12_1__sql_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__sequelize__lt_3_12_1__sql_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__sequelize__lt_3_12_1__sql_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__sequelize__lt_3_12_1__sql_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__sequelize__lt_3_12_1__sql_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__sequelize__lt_3_12_1__sql_injection.dacg.result.s2.o0": "The library is known to include the SQL Injection vulnerability.",
  "0.event.dacg_npm__sequelize__lt_3_12_1__sql_injection.dacg.result.s3.o0": "The SQL Injection vulnerability is caused by manipulating SQL queries or executing unintended SQL statements.",
  "0.event.dacg_npm__sequelize__lt_3_12_1__sql_injection.dacg.result.s4.o0": "Using the SQL Injection vulnerability, an attacker can steal and manipulate important information in the database.",
  "0.event.dacg_npm__sequelize__lt_3_12_1__sql_injection.dacg.result.s5.o0": "As a result of the test, the SQL Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__sequelize__lt_3_12_1__sql_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__sequelize__lt_3_12_1__sql_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__sequelize__lt_3_12_1__sql_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__sequelize__lt_3_12_1__sql_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__sequelize__lt_3_17_2__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__sequelize__lt_3_17_2__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__sequelize__lt_3_17_2__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__sequelize__lt_3_17_2__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__sequelize__lt_3_17_2__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__sequelize__lt_3_17_2__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__sequelize__lt_3_17_2__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__sequelize__lt_3_17_2__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__sequelize__lt_3_17_2__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__sequelize__lt_3_17_2__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__sequelize__lt_3_17_2__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__sequelize__lt_3_17_2__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__sequelize__lt_3_17_2__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__sequelize__lt_3_17_2__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__sequelize__lt_3_17_2__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__sequelize__lt_3_17_2__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__serc_js__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__serc_js__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__serc_js__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__serc_js__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__serc_js__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__serc_js__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__serc_js__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__serc_js__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__serc_js__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__serc_js__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__serc_js__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__serc_js__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__serc_js__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__serc_js__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__serc_js__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__serc_js__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__serialize_to_js__le_0_5_0__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__serialize_to_js__le_0_5_0__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__serialize_to_js__le_0_5_0__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__serialize_to_js__le_0_5_0__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__serialize_to_js__le_0_5_0__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__serialize_to_js__le_0_5_0__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__serialize_to_js__le_0_5_0__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__serialize_to_js__le_0_5_0__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__serialize_to_js__le_0_5_0__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__serialize_to_js__le_0_5_0__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__serialize_to_js__le_0_5_0__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__serialize_to_js__le_0_5_0__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__serialize_to_js__le_0_5_0__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__serialize_to_js__le_0_5_0__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__serialize_to_js__le_0_5_0__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__serialize_to_js__le_0_5_0__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__serve46__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__serve46__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__serve46__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__serve46__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__serve46__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__serve46__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__serve46__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__serve46__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__serve46__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__serve46__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__serve46__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__serve46__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__serve46__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__serve46__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__serve46__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__serve46__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__serve__eq_5_2_1__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__serve__eq_5_2_1__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__serve__eq_5_2_1__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__serve__eq_5_2_1__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__serve__eq_5_2_1__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__serve__eq_5_2_1__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__serve__eq_5_2_1__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__serve__eq_5_2_1__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__serve__eq_5_2_1__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__serve__eq_5_2_1__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__serve__eq_5_2_1__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__serve__eq_5_2_1__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__serve__eq_5_2_1__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__serve__eq_5_2_1__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__serve__eq_5_2_1__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__serve__eq_5_2_1__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__serve__lt_5_2_0__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__serve__lt_5_2_0__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__serve__lt_5_2_0__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__serve__lt_5_2_0__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__serve__lt_5_2_0__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__serve__lt_5_2_0__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__serve__lt_5_2_0__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__serve__lt_5_2_0__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__serve__lt_5_2_0__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__serve__lt_5_2_0__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__serve__lt_5_2_0__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__serve__lt_5_2_0__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__serve__lt_5_2_0__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__serve__lt_5_2_0__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__serve__lt_5_2_0__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__serve__lt_5_2_0__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__serve__lt_6_4_9__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__serve__lt_6_4_9__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__serve__lt_6_4_9__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__serve__lt_6_4_9__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__serve__lt_6_4_9__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__serve__lt_6_4_9__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__serve__lt_6_4_9__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__serve__lt_6_4_9__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__serve__lt_6_4_9__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__serve__lt_6_4_9__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__serve__lt_6_4_9__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__serve__lt_6_4_9__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__serve__lt_6_4_9__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__serve__lt_6_4_9__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__serve__lt_6_4_9__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__serve__lt_6_4_9__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__serve__lt_6_5_2__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__serve__lt_6_5_2__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__serve__lt_6_5_2__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__serve__lt_6_5_2__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__serve__lt_6_5_2__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__serve__lt_6_5_2__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__serve__lt_6_5_2__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__serve__lt_6_5_2__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__serve__lt_6_5_2__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__serve__lt_6_5_2__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__serve__lt_6_5_2__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__serve__lt_6_5_2__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__serve__lt_6_5_2__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__serve__lt_6_5_2__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__serve__lt_6_5_2__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__serve__lt_6_5_2__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__serve__lt_7_0_0__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__serve__lt_7_0_0__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__serve__lt_7_0_0__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__serve__lt_7_0_0__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__serve__lt_7_0_0__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__serve__lt_7_0_0__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__serve__lt_7_0_0__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__serve__lt_7_0_0__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__serve__lt_7_0_0__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__serve__lt_7_0_0__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__serve__lt_7_0_0__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__serve__lt_7_0_0__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__serve__lt_7_0_0__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__serve__lt_7_0_0__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__serve__lt_7_0_0__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__serve__lt_7_0_0__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__serve_here__lt_3_2_2__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__serve_here__lt_3_2_2__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__serve_here__lt_3_2_2__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__serve_here__lt_3_2_2__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__serve_here__lt_3_2_2__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__serve_here__lt_3_2_2__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__serve_here__lt_3_2_2__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__serve_here__lt_3_2_2__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__serve_here__lt_3_2_2__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__serve_here__lt_3_2_2__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__serve_here__lt_3_2_2__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__serve_here__lt_3_2_2__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__serve_here__lt_3_2_2__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__serve_here__lt_3_2_2__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__serve_here__lt_3_2_2__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__serve_here__lt_3_2_2__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__serve_index__lt_1_6_3__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__serve_index__lt_1_6_3__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__serve_index__lt_1_6_3__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__serve_index__lt_1_6_3__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__serve_index__lt_1_6_3__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__serve_index__lt_1_6_3__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__serve_index__lt_1_6_3__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__serve_index__lt_1_6_3__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__serve_index__lt_1_6_3__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__serve_index__lt_1_6_3__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__serve_index__lt_1_6_3__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__serve_index__lt_1_6_3__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__serve_index__lt_1_6_3__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__serve_index__lt_1_6_3__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__serve_index__lt_1_6_3__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__serve_index__lt_1_6_3__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__serve_static__ge_1_7_0_lt_1_7_2__open_redirect.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__serve_static__ge_1_7_0_lt_1_7_2__open_redirect.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__serve_static__ge_1_7_0_lt_1_7_2__open_redirect.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__serve_static__ge_1_7_0_lt_1_7_2__open_redirect.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__serve_static__ge_1_7_0_lt_1_7_2__open_redirect.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__serve_static__ge_1_7_0_lt_1_7_2__open_redirect.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__serve_static__ge_1_7_0_lt_1_7_2__open_redirect.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__serve_static__ge_1_7_0_lt_1_7_2__open_redirect.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__serve_static__ge_1_7_0_lt_1_7_2__open_redirect.dacg.result.s2.o0": "The library is known to include the URL Redirection to Untrusted Site vulnerability.",
  "0.event.dacg_npm__serve_static__ge_1_7_0_lt_1_7_2__open_redirect.dacg.result.s3.o0": "The URL Redirection to Untrusted Site vulnerability is caused by using unreliable user inputs to construct URLs and perform a redirection to them.",
  "0.event.dacg_npm__serve_static__ge_1_7_0_lt_1_7_2__open_redirect.dacg.result.s4.o0": "By using the URL Redirection to Untrusted Site vulnerability, an attacker can force users to access malicious sites, such as phishing sites.",
  "0.event.dacg_npm__serve_static__ge_1_7_0_lt_1_7_2__open_redirect.dacg.result.s5.o0": "As a result of the test, the URL Redirection to Untrusted Site vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__serve_static__ge_1_7_0_lt_1_7_2__open_redirect.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__serve_static__ge_1_7_0_lt_1_7_2__open_redirect.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__serve_static__ge_1_7_0_lt_1_7_2__open_redirect.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__serve_static__ge_1_7_0_lt_1_7_2__open_redirect.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__serve_static__lt_1_6_5__open_redirect.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__serve_static__lt_1_6_5__open_redirect.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__serve_static__lt_1_6_5__open_redirect.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__serve_static__lt_1_6_5__open_redirect.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__serve_static__lt_1_6_5__open_redirect.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__serve_static__lt_1_6_5__open_redirect.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__serve_static__lt_1_6_5__open_redirect.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__serve_static__lt_1_6_5__open_redirect.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__serve_static__lt_1_6_5__open_redirect.dacg.result.s2.o0": "The library is known to include the URL Redirection to Untrusted Site vulnerability.",
  "0.event.dacg_npm__serve_static__lt_1_6_5__open_redirect.dacg.result.s3.o0": "The URL Redirection to Untrusted Site vulnerability is caused by using unreliable user inputs to construct URLs and perform a redirection to them.",
  "0.event.dacg_npm__serve_static__lt_1_6_5__open_redirect.dacg.result.s4.o0": "By using the URL Redirection to Untrusted Site vulnerability, an attacker can force users to access malicious sites, such as phishing sites.",
  "0.event.dacg_npm__serve_static__lt_1_6_5__open_redirect.dacg.result.s5.o0": "As a result of the test, the URL Redirection to Untrusted Site vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__serve_static__lt_1_6_5__open_redirect.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__serve_static__lt_1_6_5__open_redirect.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__serve_static__lt_1_6_5__open_redirect.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__serve_static__lt_1_6_5__open_redirect.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__serve_static__lt_1_8_1__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__serve_static__lt_1_8_1__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__serve_static__lt_1_8_1__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__serve_static__lt_1_8_1__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__serve_static__lt_1_8_1__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__serve_static__lt_1_8_1__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__serve_static__lt_1_8_1__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__serve_static__lt_1_8_1__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__serve_static__lt_1_8_1__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__serve_static__lt_1_8_1__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__serve_static__lt_1_8_1__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__serve_static__lt_1_8_1__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__serve_static__lt_1_8_1__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__serve_static__lt_1_8_1__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__serve_static__lt_1_8_1__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__serve_static__lt_1_8_1__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__servedir__lt_1_0_1__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__servedir__lt_1_0_1__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__servedir__lt_1_0_1__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__servedir__lt_1_0_1__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__servedir__lt_1_0_1__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__servedir__lt_1_0_1__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__servedir__lt_1_0_1__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__servedir__lt_1_0_1__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__servedir__lt_1_0_1__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__servedir__lt_1_0_1__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__servedir__lt_1_0_1__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__servedir__lt_1_0_1__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__servedir__lt_1_0_1__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__servedir__lt_1_0_1__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__servedir__lt_1_0_1__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__servedir__lt_1_0_1__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__server12311__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__server12311__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__server12311__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__server12311__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__server12311__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__server12311__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__server12311__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__server12311__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__server12311__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__server12311__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__server12311__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__server12311__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__server12311__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__server12311__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__server12311__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__server12311__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__server_static__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__server_static__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__server_static__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__server_static__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__server_static__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__server_static__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__server_static__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__server_static__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__server_static__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__server_static__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__server_static__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__server_static__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__server_static__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__server_static__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__server_static__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__server_static__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__serverabc__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__serverabc__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__serverabc__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__serverabc__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__serverabc__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__serverabc__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__serverabc__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__serverabc__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__serverabc__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__serverabc__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__serverabc__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__serverabc__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__serverabc__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__serverabc__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__serverabc__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__serverabc__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__serverfff__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__serverfff__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__serverfff__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__serverfff__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__serverfff__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__serverfff__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__serverfff__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__serverfff__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__serverfff__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__serverfff__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__serverfff__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__serverfff__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__serverfff__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__serverfff__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__serverfff__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__serverfff__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__servergmf__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__servergmf__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__servergmf__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__servergmf__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__servergmf__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__servergmf__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__servergmf__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__servergmf__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__servergmf__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__servergmf__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__servergmf__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__servergmf__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__servergmf__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__servergmf__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__servergmf__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__servergmf__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__serverhuwenhui__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__serverhuwenhui__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__serverhuwenhui__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__serverhuwenhui__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__serverhuwenhui__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__serverhuwenhui__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__serverhuwenhui__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__serverhuwenhui__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__serverhuwenhui__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__serverhuwenhui__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__serverhuwenhui__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__serverhuwenhui__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__serverhuwenhui__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__serverhuwenhui__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__serverhuwenhui__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__serverhuwenhui__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__serverliujiayi1__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__serverliujiayi1__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__serverliujiayi1__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__serverliujiayi1__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__serverliujiayi1__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__serverliujiayi1__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__serverliujiayi1__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__serverliujiayi1__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__serverliujiayi1__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__serverliujiayi1__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__serverliujiayi1__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__serverliujiayi1__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__serverliujiayi1__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__serverliujiayi1__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__serverliujiayi1__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__serverliujiayi1__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__serverlyj333__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__serverlyj333__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__serverlyj333__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__serverlyj333__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__serverlyj333__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__serverlyj333__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__serverlyj333__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__serverlyj333__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__serverlyj333__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__serverlyj333__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__serverlyj333__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__serverlyj333__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__serverlyj333__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__serverlyj333__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__serverlyj333__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__serverlyj333__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__serverlyr__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__serverlyr__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__serverlyr__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__serverlyr__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__serverlyr__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__serverlyr__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__serverlyr__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__serverlyr__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__serverlyr__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__serverlyr__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__serverlyr__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__serverlyr__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__serverlyr__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__serverlyr__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__serverlyr__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__serverlyr__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__servershuai__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__servershuai__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__servershuai__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__servershuai__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__servershuai__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__servershuai__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__servershuai__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__servershuai__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__servershuai__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__servershuai__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__servershuai__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__servershuai__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__servershuai__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__servershuai__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__servershuai__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__servershuai__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__serversyysyy__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__serversyysyy__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__serversyysyy__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__serversyysyy__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__serversyysyy__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__serversyysyy__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__serversyysyy__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__serversyysyy__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__serversyysyy__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__serversyysyy__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__serversyysyy__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__serversyysyy__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__serversyysyy__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__serversyysyy__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__serversyysyy__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__serversyysyy__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__serverwg__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__serverwg__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__serverwg__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__serverwg__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__serverwg__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__serverwg__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__serverwg__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__serverwg__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__serverwg__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__serverwg__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__serverwg__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__serverwg__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__serverwg__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__serverwg__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__serverwg__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__serverwg__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__serverwzl__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__serverwzl__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__serverwzl__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__serverwzl__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__serverwzl__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__serverwzl__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__serverwzl__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__serverwzl__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__serverwzl__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__serverwzl__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__serverwzl__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__serverwzl__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__serverwzl__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__serverwzl__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__serverwzl__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__serverwzl__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__serverxh__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__serverxh__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__serverxh__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__serverxh__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__serverxh__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__serverxh__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__serverxh__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__serverxh__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__serverxh__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__serverxh__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__serverxh__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__serverxh__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__serverxh__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__serverxh__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__serverxh__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__serverxh__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__serverxxx__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__serverxxx__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__serverxxx__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__serverxxx__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__serverxxx__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__serverxxx__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__serverxxx__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__serverxxx__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__serverxxx__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__serverxxx__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__serverxxx__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__serverxxx__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__serverxxx__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__serverxxx__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__serverxxx__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__serverxxx__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__serveryaozeyan__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__serveryaozeyan__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__serveryaozeyan__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__serveryaozeyan__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__serveryaozeyan__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__serveryaozeyan__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__serveryaozeyan__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__serveryaozeyan__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__serveryaozeyan__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__serveryaozeyan__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__serveryaozeyan__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__serveryaozeyan__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__serveryaozeyan__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__serveryaozeyan__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__serveryaozeyan__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__serveryaozeyan__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__serveryyl__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__serveryyl__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__serveryyl__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__serveryyl__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__serveryyl__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__serveryyl__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__serveryyl__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__serveryyl__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__serveryyl__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__serveryyl__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__serveryyl__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__serveryyl__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__serveryyl__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__serveryyl__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__serveryyl__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__serveryyl__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__serveryztyzt__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__serveryztyzt__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__serveryztyzt__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__serveryztyzt__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__serveryztyzt__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__serveryztyzt__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__serveryztyzt__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__serveryztyzt__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__serveryztyzt__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__serveryztyzt__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__serveryztyzt__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__serveryztyzt__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__serveryztyzt__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__serveryztyzt__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__serveryztyzt__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__serveryztyzt__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__serverzyqzyq__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__serverzyqzyq__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__serverzyqzyq__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__serverzyqzyq__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__serverzyqzyq__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__serverzyqzyq__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__serverzyqzyq__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__serverzyqzyq__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__serverzyqzyq__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__serverzyqzyq__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__serverzyqzyq__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__serverzyqzyq__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__serverzyqzyq__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__serverzyqzyq__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__serverzyqzyq__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__serverzyqzyq__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__serverzyy__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__serverzyy__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__serverzyy__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__serverzyy__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__serverzyy__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__serverzyy__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__serverzyy__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__serverzyy__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__serverzyy__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__serverzyy__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__serverzyy__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__serverzyy__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__serverzyy__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__serverzyy__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__serverzyy__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__serverzyy__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__servewuqianqianqian__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__servewuqianqianqian__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__servewuqianqianqian__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__servewuqianqianqian__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__servewuqianqianqian__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__servewuqianqianqian__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__servewuqianqianqian__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__servewuqianqianqian__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__servewuqianqianqian__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__servewuqianqianqian__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__servewuqianqianqian__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__servewuqianqianqian__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__servewuqianqianqian__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__servewuqianqianqian__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__servewuqianqianqian__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__servewuqianqianqian__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__severzlt__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__severzlt__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__severzlt__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__severzlt__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__severzlt__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__severzlt__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__severzlt__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__severzlt__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__severzlt__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__severzlt__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__severzlt__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__severzlt__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__severzlt__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__severzlt__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__severzlt__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__severzlt__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__sexstatic__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__sexstatic__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__sexstatic__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__sexstatic__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__sexstatic__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__sexstatic__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__sexstatic__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__sexstatic__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__sexstatic__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__sexstatic__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__sexstatic__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__sexstatic__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__sexstatic__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__sexstatic__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__sexstatic__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__sexstatic__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__sfml__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__sfml__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__sfml__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__sfml__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__sfml__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__sfml__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__sfml__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__sfml__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__sfml__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__sfml__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__sfml__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__sfml__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__sfml__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__sfml__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__sfml__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__sfml__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__sgqserve__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__sgqserve__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__sgqserve__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__sgqserve__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__sgqserve__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__sgqserve__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__sgqserve__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__sgqserve__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__sgqserve__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__sgqserve__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__sgqserve__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__sgqserve__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__sgqserve__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__sgqserve__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__sgqserve__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__sgqserve__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__shadowsock__le_1_0_2__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__shadowsock__le_1_0_2__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__shadowsock__le_1_0_2__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__shadowsock__le_1_0_2__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__shadowsock__le_1_0_2__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__shadowsock__le_1_0_2__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__shadowsock__le_1_0_2__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__shadowsock__le_1_0_2__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__shadowsock__le_1_0_2__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__shadowsock__le_1_0_2__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__shadowsock__le_1_0_2__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__shadowsock__le_1_0_2__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__shadowsock__le_1_0_2__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__shadowsock__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__shadowsock__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__shadowsock__le_1_0_2__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__shaka_player__le_2_3_2__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__shaka_player__le_2_3_2__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__shaka_player__le_2_3_2__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__shaka_player__le_2_3_2__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__shaka_player__le_2_3_2__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__shaka_player__le_2_3_2__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__shaka_player__le_2_3_2__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__shaka_player__le_2_3_2__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__shaka_player__le_2_3_2__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__shaka_player__le_2_3_2__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__shaka_player__le_2_3_2__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__shaka_player__le_2_3_2__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__shaka_player__le_2_3_2__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__shaka_player__le_2_3_2__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__shaka_player__le_2_3_2__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__shaka_player__le_2_3_2__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__share__ge_0_6_0_lt_0_7_0_alpha8__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__share__ge_0_6_0_lt_0_7_0_alpha8__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__share__ge_0_6_0_lt_0_7_0_alpha8__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__share__ge_0_6_0_lt_0_7_0_alpha8__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__share__ge_0_6_0_lt_0_7_0_alpha8__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__share__ge_0_6_0_lt_0_7_0_alpha8__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__share__ge_0_6_0_lt_0_7_0_alpha8__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__share__ge_0_6_0_lt_0_7_0_alpha8__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__share__ge_0_6_0_lt_0_7_0_alpha8__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__share__ge_0_6_0_lt_0_7_0_alpha8__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__share__ge_0_6_0_lt_0_7_0_alpha8__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__share__ge_0_6_0_lt_0_7_0_alpha8__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__share__ge_0_6_0_lt_0_7_0_alpha8__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__share__ge_0_6_0_lt_0_7_0_alpha8__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__share__ge_0_6_0_lt_0_7_0_alpha8__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__share__ge_0_6_0_lt_0_7_0_alpha8__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__shell_quote__le_1_6_0__command_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__shell_quote__le_1_6_0__command_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__shell_quote__le_1_6_0__command_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__shell_quote__le_1_6_0__command_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__shell_quote__le_1_6_0__command_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__shell_quote__le_1_6_0__command_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__shell_quote__le_1_6_0__command_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__shell_quote__le_1_6_0__command_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__shell_quote__le_1_6_0__command_injection.dacg.result.s2.o0": "The library is known to include the OS Command Injection vulnerability.",
  "0.event.dacg_npm__shell_quote__le_1_6_0__command_injection.dacg.result.s3.o0": "The OS Command Injection vulnerability is caused by executing user commands without any verification process.",
  "0.event.dacg_npm__shell_quote__le_1_6_0__command_injection.dacg.result.s4.o0": "Using the OS Command Injection vulnerability, an attacker can steal key information of the server and force to perform unintended behaviors.",
  "0.event.dacg_npm__shell_quote__le_1_6_0__command_injection.dacg.result.s5.o0": "As a result of the test, the OS Command Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__shell_quote__le_1_6_0__command_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__shell_quote__le_1_6_0__command_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__shell_quote__le_1_6_0__command_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__shell_quote__le_1_6_0__command_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__shelljs__command_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__shelljs__command_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__shelljs__command_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__shelljs__command_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__shelljs__command_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__shelljs__command_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__shelljs__command_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__shelljs__command_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__shelljs__command_injection.dacg.result.s2.o0": "The library is known to include the OS Command Injection vulnerability.",
  "0.event.dacg_npm__shelljs__command_injection.dacg.result.s3.o0": "The OS Command Injection vulnerability is caused by executing user commands without any verification process.",
  "0.event.dacg_npm__shelljs__command_injection.dacg.result.s4.o0": "Using the OS Command Injection vulnerability, an attacker can steal key information of the server and force to perform unintended behaviors.",
  "0.event.dacg_npm__shelljs__command_injection.dacg.result.s5.o0": "As a result of the test, the OS Command Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__shelljs__command_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__shelljs__command_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__shelljs__command_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__shelljs__command_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__shenliru3__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__shenliru3__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__shenliru3__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__shenliru3__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__shenliru3__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__shenliru3__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__shenliru3__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__shenliru3__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__shenliru3__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__shenliru3__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__shenliru3__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__shenliru3__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__shenliru3__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__shenliru3__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__shenliru3__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__shenliru3__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__shenliru__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__shenliru__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__shenliru__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__shenliru__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__shenliru__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__shenliru__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__shenliru__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__shenliru__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__shenliru__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__shenliru__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__shenliru__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__shenliru__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__shenliru__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__shenliru__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__shenliru__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__shenliru__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__shiba__lt_1_1_1__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__shiba__lt_1_1_1__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__shiba__lt_1_1_1__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__shiba__lt_1_1_1__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__shiba__lt_1_1_1__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__shiba__lt_1_1_1__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__shiba__lt_1_1_1__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__shiba__lt_1_1_1__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__shiba__lt_1_1_1__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__shiba__lt_1_1_1__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__shiba__lt_1_1_1__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__shiba__lt_1_1_1__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__shiba__lt_1_1_1__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__shiba__lt_1_1_1__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__shiba__lt_1_1_1__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__shiba__lt_1_1_1__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__shit_server__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__shit_server__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__shit_server__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__shit_server__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__shit_server__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__shit_server__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__shit_server__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__shit_server__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__shit_server__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__shit_server__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__shit_server__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__shit_server__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__shit_server__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__shit_server__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__shit_server__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__shit_server__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__shout__ge_0_38_0_lt_0_51_2__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__shout__ge_0_38_0_lt_0_51_2__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__shout__ge_0_38_0_lt_0_51_2__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__shout__ge_0_38_0_lt_0_51_2__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__shout__ge_0_38_0_lt_0_51_2__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__shout__ge_0_38_0_lt_0_51_2__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__shout__ge_0_38_0_lt_0_51_2__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__shout__ge_0_38_0_lt_0_51_2__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__shout__ge_0_38_0_lt_0_51_2__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__shout__ge_0_38_0_lt_0_51_2__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__shout__ge_0_38_0_lt_0_51_2__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__shout__ge_0_38_0_lt_0_51_2__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__shout__ge_0_38_0_lt_0_51_2__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__shout__ge_0_38_0_lt_0_51_2__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__shout__ge_0_38_0_lt_0_51_2__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__shout__ge_0_38_0_lt_0_51_2__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__shout__ge_0_44_0_lt_0_50_0__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__shout__ge_0_44_0_lt_0_50_0__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__shout__ge_0_44_0_lt_0_50_0__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__shout__ge_0_44_0_lt_0_50_0__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__shout__ge_0_44_0_lt_0_50_0__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__shout__ge_0_44_0_lt_0_50_0__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__shout__ge_0_44_0_lt_0_50_0__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__shout__ge_0_44_0_lt_0_50_0__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__shout__ge_0_44_0_lt_0_50_0__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__shout__ge_0_44_0_lt_0_50_0__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__shout__ge_0_44_0_lt_0_50_0__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__shout__ge_0_44_0_lt_0_50_0__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__shout__ge_0_44_0_lt_0_50_0__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__shout__ge_0_44_0_lt_0_50_0__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__shout__ge_0_44_0_lt_0_50_0__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__shout__ge_0_44_0_lt_0_50_0__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__showdown_xss_filter__lt_0_1_1__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__showdown_xss_filter__lt_0_1_1__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__showdown_xss_filter__lt_0_1_1__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__showdown_xss_filter__lt_0_1_1__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__showdown_xss_filter__lt_0_1_1__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__showdown_xss_filter__lt_0_1_1__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__showdown_xss_filter__lt_0_1_1__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__showdown_xss_filter__lt_0_1_1__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__showdown_xss_filter__lt_0_1_1__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__showdown_xss_filter__lt_0_1_1__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__showdown_xss_filter__lt_0_1_1__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__showdown_xss_filter__lt_0_1_1__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__showdown_xss_filter__lt_0_1_1__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__showdown_xss_filter__lt_0_1_1__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__showdown_xss_filter__lt_0_1_1__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__showdown_xss_filter__lt_0_1_1__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__shrugging_logging__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__shrugging_logging__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__shrugging_logging__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__shrugging_logging__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__shrugging_logging__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__shrugging_logging__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__shrugging_logging__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__shrugging_logging__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__shrugging_logging__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__shrugging_logging__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__shrugging_logging__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__shrugging_logging__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__shrugging_logging__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__shrugging_logging__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__shrugging_logging__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__shrugging_logging__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__simditor__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__simditor__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__simditor__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__simditor__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__simditor__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__simditor__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__simditor__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__simditor__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__simditor__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__simditor__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__simditor__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__simditor__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__simditor__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__simditor__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__simditor__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__simditor__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__simpl_schema__lt_1_5_0__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__simpl_schema__lt_1_5_0__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__simpl_schema__lt_1_5_0__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__simpl_schema__lt_1_5_0__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__simpl_schema__lt_1_5_0__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__simpl_schema__lt_1_5_0__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__simpl_schema__lt_1_5_0__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__simpl_schema__lt_1_5_0__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__simpl_schema__lt_1_5_0__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__simpl_schema__lt_1_5_0__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__simpl_schema__lt_1_5_0__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__simpl_schema__lt_1_5_0__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__simpl_schema__lt_1_5_0__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__simpl_schema__lt_1_5_0__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__simpl_schema__lt_1_5_0__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__simpl_schema__lt_1_5_0__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__simple_mock_server__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__simple_mock_server__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__simple_mock_server__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__simple_mock_server__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__simple_mock_server__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__simple_mock_server__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__simple_mock_server__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__simple_mock_server__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__simple_mock_server__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__simple_mock_server__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__simple_mock_server__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__simple_mock_server__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__simple_mock_server__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__simple_mock_server__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__simple_mock_server__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__simple_mock_server__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__simple_npm_registry__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__simple_npm_registry__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__simple_npm_registry__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__simple_npm_registry__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__simple_npm_registry__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__simple_npm_registry__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__simple_npm_registry__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__simple_npm_registry__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__simple_npm_registry__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__simple_npm_registry__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__simple_npm_registry__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__simple_npm_registry__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__simple_npm_registry__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__simple_npm_registry__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__simple_npm_registry__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__simple_npm_registry__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__simple_server__lt_1_1_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__simple_server__lt_1_1_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__simple_server__lt_1_1_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__simple_server__lt_1_1_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__simple_server__lt_1_1_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__simple_server__lt_1_1_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__simple_server__lt_1_1_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__simple_server__lt_1_1_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__simple_server__lt_1_1_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__simple_server__lt_1_1_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__simple_server__lt_1_1_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__simple_server__lt_1_1_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__simple_server__lt_1_1_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__simple_server__lt_1_1_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__simple_server__lt_1_1_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__simple_server__lt_1_1_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__simplehttpserver__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__simplehttpserver__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__simplehttpserver__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__simplehttpserver__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__simplehttpserver__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__simplehttpserver__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__simplehttpserver__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__simplehttpserver__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__simplehttpserver__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__simplehttpserver__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__simplehttpserver__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__simplehttpserver__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__simplehttpserver__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__simplehttpserver__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__simplehttpserver__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__simplehttpserver__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__skeemas__lt_1_2_5__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__skeemas__lt_1_2_5__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__skeemas__lt_1_2_5__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__skeemas__lt_1_2_5__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__skeemas__lt_1_2_5__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__skeemas__lt_1_2_5__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__skeemas__lt_1_2_5__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__skeemas__lt_1_2_5__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__skeemas__lt_1_2_5__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__skeemas__lt_1_2_5__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__skeemas__lt_1_2_5__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__skeemas__lt_1_2_5__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__skeemas__lt_1_2_5__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__skeemas__lt_1_2_5__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__skeemas__lt_1_2_5__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__skeemas__lt_1_2_5__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__slimerjs_edge__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__slimerjs_edge__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__slimerjs_edge__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__slimerjs_edge__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__slimerjs_edge__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__slimerjs_edge__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__slimerjs_edge__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__slimerjs_edge__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__slimerjs_edge__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__slimerjs_edge__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__slimerjs_edge__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__slimerjs_edge__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__slimerjs_edge__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__slimerjs_edge__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__slimerjs_edge__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__slimerjs_edge__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__slug__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__slug__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__slug__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__slug__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__slug__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__slug__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__slug__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__slug__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__slug__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__slug__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__slug__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__slug__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__slug__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__slug__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__slug__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__slug__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__sly07__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__sly07__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__sly07__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__sly07__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__sly07__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__sly07__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__sly07__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__sly07__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__sly07__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__sly07__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__sly07__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__sly07__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__sly07__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__sly07__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__sly07__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__sly07__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__smb__le_1_0_2__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__smb__le_1_0_2__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__smb__le_1_0_2__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__smb__le_1_0_2__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__smb__le_1_0_2__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__smb__le_1_0_2__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__smb__le_1_0_2__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__smb__le_1_0_2__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__smb__le_1_0_2__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__smb__le_1_0_2__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__smb__le_1_0_2__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__smb__le_1_0_2__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__smb__le_1_0_2__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__smb__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__smb__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__smb__le_1_0_2__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__soci__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__soci__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__soci__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__soci__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__soci__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__soci__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__soci__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__soci__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__soci__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__soci__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__soci__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__soci__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__soci__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__soci__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__soci__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__soci__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__socket_io__lt_0_9_6__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__socket_io__lt_0_9_6__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__socket_io__lt_0_9_6__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__socket_io__lt_0_9_6__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__socket_io__lt_0_9_6__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__socket_io__lt_0_9_6__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__socket_io__lt_0_9_6__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__socket_io__lt_0_9_6__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__socket_io__lt_0_9_6__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__socket_io__lt_0_9_6__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__socket_io__lt_0_9_6__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__socket_io__lt_0_9_6__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__socket_io__lt_0_9_6__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__socket_io__lt_0_9_6__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__socket_io__lt_0_9_6__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__socket_io__lt_0_9_6__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__socket_io__lt_0_9_7__use_of_insufficiently_random_values.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__socket_io__lt_0_9_7__use_of_insufficiently_random_values.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__socket_io__lt_0_9_7__use_of_insufficiently_random_values.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__socket_io__lt_0_9_7__use_of_insufficiently_random_values.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__socket_io__lt_0_9_7__use_of_insufficiently_random_values.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__socket_io__lt_0_9_7__use_of_insufficiently_random_values.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__socket_io__lt_0_9_7__use_of_insufficiently_random_values.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__socket_io__lt_0_9_7__use_of_insufficiently_random_values.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__socket_io__lt_0_9_7__use_of_insufficiently_random_values.dacg.result.s2.o0": "This library is known to include a Use of Insufficiently Random Values vulnerability.",
  "0.event.dacg_npm__socket_io__lt_0_9_7__use_of_insufficiently_random_values.dacg.result.s3.o0": "The Use of Insufficient Random Number vulnerability is caused by using predictable random numbers.",
  "0.event.dacg_npm__socket_io__lt_0_9_7__use_of_insufficiently_random_values.dacg.result.s4.o0": "An attacker can use Insufficiently Random Values vulnerability to infer a random number value of a password or decryption key.",
  "0.event.dacg_npm__socket_io__lt_0_9_7__use_of_insufficiently_random_values.dacg.result.s5.o0": "As a result of the test, the Use of Insufficiently Random Values vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__socket_io__lt_0_9_7__use_of_insufficiently_random_values.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__socket_io__lt_0_9_7__use_of_insufficiently_random_values.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__socket_io__lt_0_9_7__use_of_insufficiently_random_values.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__socket_io__lt_0_9_7__use_of_insufficiently_random_values.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__songcaihong__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__songcaihong__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__songcaihong__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__songcaihong__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__songcaihong__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__songcaihong__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__songcaihong__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__songcaihong__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__songcaihong__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__songcaihong__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__songcaihong__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__songcaihong__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__songcaihong__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__songcaihong__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__songcaihong__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__songcaihong__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__sql__sql_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__sql__sql_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__sql__sql_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__sql__sql_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__sql__sql_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__sql__sql_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__sql__sql_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__sql__sql_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__sql__sql_injection.dacg.result.s2.o0": "The library is known to include the SQL Injection vulnerability.",
  "0.event.dacg_npm__sql__sql_injection.dacg.result.s3.o0": "The SQL Injection vulnerability is caused by manipulating SQL queries or executing unintended SQL statements.",
  "0.event.dacg_npm__sql__sql_injection.dacg.result.s4.o0": "Using the SQL Injection vulnerability, an attacker can steal and manipulate important information in the database.",
  "0.event.dacg_npm__sql__sql_injection.dacg.result.s5.o0": "As a result of the test, the SQL Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__sql__sql_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__sql__sql_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__sql__sql_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__sql__sql_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__sqlite_js__le_1_0_2__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__sqlite_js__le_1_0_2__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__sqlite_js__le_1_0_2__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__sqlite_js__le_1_0_2__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__sqlite_js__le_1_0_2__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__sqlite_js__le_1_0_2__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__sqlite_js__le_1_0_2__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__sqlite_js__le_1_0_2__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__sqlite_js__le_1_0_2__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__sqlite_js__le_1_0_2__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__sqlite_js__le_1_0_2__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__sqlite_js__le_1_0_2__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__sqlite_js__le_1_0_2__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__sqlite_js__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__sqlite_js__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__sqlite_js__le_1_0_2__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__sqliter__le_1_0_2__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__sqliter__le_1_0_2__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__sqliter__le_1_0_2__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__sqliter__le_1_0_2__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__sqliter__le_1_0_2__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__sqliter__le_1_0_2__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__sqliter__le_1_0_2__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__sqliter__le_1_0_2__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__sqliter__le_1_0_2__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__sqliter__le_1_0_2__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__sqliter__le_1_0_2__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__sqliter__le_1_0_2__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__sqliter__le_1_0_2__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__sqliter__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__sqliter__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__sqliter__le_1_0_2__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__sqlserver__le_1_0_2__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__sqlserver__le_1_0_2__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__sqlserver__le_1_0_2__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__sqlserver__le_1_0_2__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__sqlserver__le_1_0_2__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__sqlserver__le_1_0_2__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__sqlserver__le_1_0_2__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__sqlserver__le_1_0_2__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__sqlserver__le_1_0_2__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__sqlserver__le_1_0_2__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__sqlserver__le_1_0_2__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__sqlserver__le_1_0_2__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__sqlserver__le_1_0_2__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__sqlserver__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__sqlserver__le_1_0_2__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__sqlserver__le_1_0_2__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__squel__sql_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__squel__sql_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__squel__sql_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__squel__sql_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__squel__sql_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__squel__sql_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__squel__sql_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__squel__sql_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__squel__sql_injection.dacg.result.s2.o0": "The library is known to include the SQL Injection vulnerability.",
  "0.event.dacg_npm__squel__sql_injection.dacg.result.s3.o0": "The SQL Injection vulnerability is caused by manipulating SQL queries or executing unintended SQL statements.",
  "0.event.dacg_npm__squel__sql_injection.dacg.result.s4.o0": "Using the SQL Injection vulnerability, an attacker can steal and manipulate important information in the database.",
  "0.event.dacg_npm__squel__sql_injection.dacg.result.s5.o0": "As a result of the test, the SQL Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__squel__sql_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__squel__sql_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__squel__sql_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__squel__sql_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__squire_rte__lt_1_6_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__squire_rte__lt_1_6_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__squire_rte__lt_1_6_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__squire_rte__lt_1_6_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__squire_rte__lt_1_6_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__squire_rte__lt_1_6_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__squire_rte__lt_1_6_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__squire_rte__lt_1_6_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__squire_rte__lt_1_6_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__squire_rte__lt_1_6_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__squire_rte__lt_1_6_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__squire_rte__lt_1_6_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__squire_rte__lt_1_6_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__squire_rte__lt_1_6_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__squire_rte__lt_1_6_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__squire_rte__lt_1_6_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__srverqq__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__srverqq__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__srverqq__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__srverqq__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__srverqq__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__srverqq__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__srverqq__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__srverqq__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__srverqq__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__srverqq__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__srverqq__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__srverqq__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__srverqq__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__srverqq__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__srverqq__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__srverqq__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__sshpk__lt_1_14_1__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__sshpk__lt_1_14_1__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__sshpk__lt_1_14_1__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__sshpk__lt_1_14_1__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__sshpk__lt_1_14_1__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__sshpk__lt_1_14_1__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__sshpk__lt_1_14_1__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__sshpk__lt_1_14_1__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__sshpk__lt_1_14_1__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__sshpk__lt_1_14_1__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__sshpk__lt_1_14_1__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__sshpk__lt_1_14_1__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__sshpk__lt_1_14_1__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__sshpk__lt_1_14_1__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__sshpk__lt_1_14_1__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__sshpk__lt_1_14_1__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__sspa__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__sspa__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__sspa__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__sspa__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__sspa__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__sspa__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__sspa__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__sspa__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__sspa__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__sspa__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__sspa__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__sspa__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__sspa__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__sspa__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__sspa__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__sspa__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ssri__lt_5_2_2__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ssri__lt_5_2_2__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ssri__lt_5_2_2__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ssri__lt_5_2_2__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ssri__lt_5_2_2__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ssri__lt_5_2_2__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ssri__lt_5_2_2__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ssri__lt_5_2_2__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ssri__lt_5_2_2__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__ssri__lt_5_2_2__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__ssri__lt_5_2_2__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__ssri__lt_5_2_2__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ssri__lt_5_2_2__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ssri__lt_5_2_2__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ssri__lt_5_2_2__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ssri__lt_5_2_2__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__st__lt_0_2_5__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__st__lt_0_2_5__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__st__lt_0_2_5__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__st__lt_0_2_5__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__st__lt_0_2_5__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__st__lt_0_2_5__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__st__lt_0_2_5__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__st__lt_0_2_5__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__st__lt_0_2_5__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__st__lt_0_2_5__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__st__lt_0_2_5__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__st__lt_0_2_5__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__st__lt_0_2_5__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__st__lt_0_2_5__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__st__lt_0_2_5__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__st__lt_0_2_5__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__st__lt_1_2_2__open_redirect.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__st__lt_1_2_2__open_redirect.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__st__lt_1_2_2__open_redirect.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__st__lt_1_2_2__open_redirect.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__st__lt_1_2_2__open_redirect.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__st__lt_1_2_2__open_redirect.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__st__lt_1_2_2__open_redirect.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__st__lt_1_2_2__open_redirect.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__st__lt_1_2_2__open_redirect.dacg.result.s2.o0": "The library is known to include the URL Redirection to Untrusted Site vulnerability.",
  "0.event.dacg_npm__st__lt_1_2_2__open_redirect.dacg.result.s3.o0": "The URL Redirection to Untrusted Site vulnerability is caused by using unreliable user inputs to construct URLs and perform a redirection to them.",
  "0.event.dacg_npm__st__lt_1_2_2__open_redirect.dacg.result.s4.o0": "By using the URL Redirection to Untrusted Site vulnerability, an attacker can force users to access malicious sites, such as phishing sites.",
  "0.event.dacg_npm__st__lt_1_2_2__open_redirect.dacg.result.s5.o0": "As a result of the test, the URL Redirection to Untrusted Site vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__st__lt_1_2_2__open_redirect.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__st__lt_1_2_2__open_redirect.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__st__lt_1_2_2__open_redirect.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__st__lt_1_2_2__open_redirect.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__starfruit__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__starfruit__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__starfruit__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__starfruit__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__starfruit__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__starfruit__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__starfruit__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__starfruit__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__starfruit__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__starfruit__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__starfruit__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__starfruit__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__starfruit__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__starfruit__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__starfruit__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__starfruit__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__static_cling__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__static_cling__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__static_cling__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__static_cling__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__static_cling__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__static_cling__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__static_cling__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__static_cling__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__static_cling__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__static_cling__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__static_cling__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__static_cling__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__static_cling__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__static_cling__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__static_cling__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__static_cling__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__static_eval__lt_2_0_0__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__static_eval__lt_2_0_0__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__static_eval__lt_2_0_0__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__static_eval__lt_2_0_0__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__static_eval__lt_2_0_0__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__static_eval__lt_2_0_0__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__static_eval__lt_2_0_0__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__static_eval__lt_2_0_0__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__static_eval__lt_2_0_0__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__static_eval__lt_2_0_0__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__static_eval__lt_2_0_0__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__static_eval__lt_2_0_0__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__static_eval__lt_2_0_0__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__static_eval__lt_2_0_0__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__static_eval__lt_2_0_0__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__static_eval__lt_2_0_0__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__static_html_server__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__static_html_server__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__static_html_server__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__static_html_server__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__static_html_server__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__static_html_server__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__static_html_server__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__static_html_server__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__static_html_server__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__static_html_server__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__static_html_server__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__static_html_server__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__static_html_server__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__static_html_server__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__static_html_server__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__static_html_server__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__stattic__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__stattic__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__stattic__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__stattic__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__stattic__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__stattic__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__stattic__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__stattic__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__stattic__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__stattic__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__stattic__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__stattic__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__stattic__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__stattic__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__stattic__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__stattic__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__stattic__lt_0_3_0__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__stattic__lt_0_3_0__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__stattic__lt_0_3_0__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__stattic__lt_0_3_0__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__stattic__lt_0_3_0__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__stattic__lt_0_3_0__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__stattic__lt_0_3_0__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__stattic__lt_0_3_0__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__stattic__lt_0_3_0__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__stattic__lt_0_3_0__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__stattic__lt_0_3_0__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__stattic__lt_0_3_0__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__stattic__lt_0_3_0__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__stattic__lt_0_3_0__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__stattic__lt_0_3_0__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__stattic__lt_0_3_0__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__steroids__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__steroids__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__steroids__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__steroids__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__steroids__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__steroids__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__steroids__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__steroids__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__steroids__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__steroids__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__steroids__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__steroids__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__steroids__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__steroids__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__steroids__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__steroids__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__stevenc4_server__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__stevenc4_server__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__stevenc4_server__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__stevenc4_server__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__stevenc4_server__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__stevenc4_server__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__stevenc4_server__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__stevenc4_server__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__stevenc4_server__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__stevenc4_server__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__stevenc4_server__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__stevenc4_server__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__stevenc4_server__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__stevenc4_server__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__stevenc4_server__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__stevenc4_server__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__strider_sauce__le_0_6_3__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__strider_sauce__le_0_6_3__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__strider_sauce__le_0_6_3__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__strider_sauce__le_0_6_3__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__strider_sauce__le_0_6_3__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__strider_sauce__le_0_6_3__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__strider_sauce__le_0_6_3__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__strider_sauce__le_0_6_3__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__strider_sauce__le_0_6_3__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__strider_sauce__le_0_6_3__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__strider_sauce__le_0_6_3__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__strider_sauce__le_0_6_3__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__strider_sauce__le_0_6_3__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__strider_sauce__le_0_6_3__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__strider_sauce__le_0_6_3__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__strider_sauce__le_0_6_3__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__string__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__string__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__string__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__string__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__string__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__string__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__string__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__string__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__string__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__string__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__string__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__string__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__string__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__string__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__string__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__string__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__stringstream__lt_0_0_6__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__stringstream__lt_0_0_6__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__stringstream__lt_0_0_6__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__stringstream__lt_0_0_6__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__stringstream__lt_0_0_6__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__stringstream__lt_0_0_6__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__stringstream__lt_0_0_6__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__stringstream__lt_0_0_6__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__stringstream__lt_0_0_6__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__stringstream__lt_0_0_6__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__stringstream__lt_0_0_6__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__stringstream__lt_0_0_6__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__stringstream__lt_0_0_6__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__stringstream__lt_0_0_6__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__stringstream__lt_0_0_6__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__stringstream__lt_0_0_6__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__subtitles_lib__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__subtitles_lib__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__subtitles_lib__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__subtitles_lib__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__subtitles_lib__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__subtitles_lib__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__subtitles_lib__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__subtitles_lib__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__subtitles_lib__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__subtitles_lib__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__subtitles_lib__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__subtitles_lib__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__subtitles_lib__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__subtitles_lib__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__subtitles_lib__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__subtitles_lib__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__summit__ge_0_1_0__eval_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__summit__ge_0_1_0__eval_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__summit__ge_0_1_0__eval_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__summit__ge_0_1_0__eval_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__summit__ge_0_1_0__eval_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__summit__ge_0_1_0__eval_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__summit__ge_0_1_0__eval_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__summit__ge_0_1_0__eval_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__summit__ge_0_1_0__eval_injection.dacg.result.s2.o0": "The library is known to include the Eval Injection vulnerability.",
  "0.event.dacg_npm__summit__ge_0_1_0__eval_injection.dacg.result.s3.o0": "The Eval Injection vulnerability is caused when a user input is used for an argument of Eval() function without any verification.",
  "0.event.dacg_npm__summit__ge_0_1_0__eval_injection.dacg.result.s4.o0": "Using the Eval Injection vulnerability, an attacker can execute desired scripts and steal key information of the server and force to perform unintended behaviors.",
  "0.event.dacg_npm__summit__ge_0_1_0__eval_injection.dacg.result.s5.o0": "As a result of the test, the Eval Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__summit__ge_0_1_0__eval_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__summit__ge_0_1_0__eval_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__summit__ge_0_1_0__eval_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__summit__ge_0_1_0__eval_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__superagent__lt_3_7_0__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__superagent__lt_3_7_0__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__superagent__lt_3_7_0__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__superagent__lt_3_7_0__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__superagent__lt_3_7_0__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__superagent__lt_3_7_0__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__superagent__lt_3_7_0__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__superagent__lt_3_7_0__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__superagent__lt_3_7_0__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__superagent__lt_3_7_0__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__superagent__lt_3_7_0__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__superagent__lt_3_7_0__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__superagent__lt_3_7_0__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__superagent__lt_3_7_0__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__superagent__lt_3_7_0__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__superagent__lt_3_7_0__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__superstatic__le_5_0_1__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__superstatic__le_5_0_1__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__superstatic__le_5_0_1__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__superstatic__le_5_0_1__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__superstatic__le_5_0_1__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__superstatic__le_5_0_1__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__superstatic__le_5_0_1__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__superstatic__le_5_0_1__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__superstatic__le_5_0_1__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__superstatic__le_5_0_1__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__superstatic__le_5_0_1__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__superstatic__le_5_0_1__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__superstatic__le_5_0_1__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__superstatic__le_5_0_1__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__superstatic__le_5_0_1__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__superstatic__le_5_0_1__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__susu_sum__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__susu_sum__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__susu_sum__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__susu_sum__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__susu_sum__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__susu_sum__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__susu_sum__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__susu_sum__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__susu_sum__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__susu_sum__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__susu_sum__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__susu_sum__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__susu_sum__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__susu_sum__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__susu_sum__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__susu_sum__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__swagger_ui__eq_2_1_0_m1__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__swagger_ui__eq_2_1_0_m1__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__swagger_ui__eq_2_1_0_m1__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__swagger_ui__eq_2_1_0_m1__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__swagger_ui__eq_2_1_0_m1__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__swagger_ui__eq_2_1_0_m1__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__swagger_ui__eq_2_1_0_m1__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__swagger_ui__eq_2_1_0_m1__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__swagger_ui__eq_2_1_0_m1__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__swagger_ui__eq_2_1_0_m1__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__swagger_ui__eq_2_1_0_m1__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__swagger_ui__eq_2_1_0_m1__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__swagger_ui__eq_2_1_0_m1__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__swagger_ui__eq_2_1_0_m1__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__swagger_ui__eq_2_1_0_m1__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__swagger_ui__eq_2_1_0_m1__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__swagger_ui__eq_2_1_0_m2__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__swagger_ui__eq_2_1_0_m2__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__swagger_ui__eq_2_1_0_m2__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__swagger_ui__eq_2_1_0_m2__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__swagger_ui__eq_2_1_0_m2__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__swagger_ui__eq_2_1_0_m2__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__swagger_ui__eq_2_1_0_m2__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__swagger_ui__eq_2_1_0_m2__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__swagger_ui__eq_2_1_0_m2__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__swagger_ui__eq_2_1_0_m2__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__swagger_ui__eq_2_1_0_m2__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__swagger_ui__eq_2_1_0_m2__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__swagger_ui__eq_2_1_0_m2__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__swagger_ui__eq_2_1_0_m2__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__swagger_ui__eq_2_1_0_m2__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__swagger_ui__eq_2_1_0_m2__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__swagger_ui__le_2_1_4__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__swagger_ui__le_2_1_4__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__swagger_ui__le_2_1_4__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__swagger_ui__le_2_1_4__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__swagger_ui__le_2_1_4__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__swagger_ui__le_2_1_4__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__swagger_ui__le_2_1_4__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__swagger_ui__le_2_1_4__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__swagger_ui__le_2_1_4__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__swagger_ui__le_2_1_4__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__swagger_ui__le_2_1_4__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__swagger_ui__le_2_1_4__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__swagger_ui__le_2_1_4__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__swagger_ui__le_2_1_4__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__swagger_ui__le_2_1_4__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__swagger_ui__le_2_1_4__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__swagger_ui__le_2_2_2__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__swagger_ui__le_2_2_2__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__swagger_ui__le_2_2_2__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__swagger_ui__le_2_2_2__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__swagger_ui__le_2_2_2__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__swagger_ui__le_2_2_2__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__swagger_ui__le_2_2_2__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__swagger_ui__le_2_2_2__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__swagger_ui__le_2_2_2__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__swagger_ui__le_2_2_2__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__swagger_ui__le_2_2_2__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__swagger_ui__le_2_2_2__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__swagger_ui__le_2_2_2__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__swagger_ui__le_2_2_2__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__swagger_ui__le_2_2_2__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__swagger_ui__le_2_2_2__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__swagger_ui__lt_2_2_1__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__swagger_ui__lt_2_2_1__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__swagger_ui__lt_2_2_1__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__swagger_ui__lt_2_2_1__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__swagger_ui__lt_2_2_1__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__swagger_ui__lt_2_2_1__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__swagger_ui__lt_2_2_1__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__swagger_ui__lt_2_2_1__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__swagger_ui__lt_2_2_1__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__swagger_ui__lt_2_2_1__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__swagger_ui__lt_2_2_1__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__swagger_ui__lt_2_2_1__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__swagger_ui__lt_2_2_1__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__swagger_ui__lt_2_2_1__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__swagger_ui__lt_2_2_1__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__swagger_ui__lt_2_2_1__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__swagger_ui__lt_3_4_2__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__swagger_ui__lt_3_4_2__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__swagger_ui__lt_3_4_2__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__swagger_ui__lt_3_4_2__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__swagger_ui__lt_3_4_2__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__swagger_ui__lt_3_4_2__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__swagger_ui__lt_3_4_2__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__swagger_ui__lt_3_4_2__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__swagger_ui__lt_3_4_2__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__swagger_ui__lt_3_4_2__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__swagger_ui__lt_3_4_2__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__swagger_ui__lt_3_4_2__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__swagger_ui__lt_3_4_2__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__swagger_ui__lt_3_4_2__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__swagger_ui__lt_3_4_2__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__swagger_ui__lt_3_4_2__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__sync_exec__insecure_temporary_file.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__sync_exec__insecure_temporary_file.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__sync_exec__insecure_temporary_file.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__sync_exec__insecure_temporary_file.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__sync_exec__insecure_temporary_file.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__sync_exec__insecure_temporary_file.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__sync_exec__insecure_temporary_file.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__sync_exec__insecure_temporary_file.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__sync_exec__insecure_temporary_file.dacg.result.s2.o0": "The library is known to include the Insecure Temporary File vulnerability.",
  "0.event.dacg_npm__sync_exec__insecure_temporary_file.dacg.result.s3.o0": "The Insecure Temporary File vulnerability is caused by misusing temporary files with sensitive information of a server.",
  "0.event.dacg_npm__sync_exec__insecure_temporary_file.dacg.result.s4.o0": "Using the Insecure Temporary File vulnerability, an attacker can view contents of temporary files with sensitive information, which can lead to additional attacks.",
  "0.event.dacg_npm__sync_exec__insecure_temporary_file.dacg.result.s5.o0": "As a result of the test, the Insecure Temporary File vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__sync_exec__insecure_temporary_file.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__sync_exec__insecure_temporary_file.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__sync_exec__insecure_temporary_file.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__sync_exec__insecure_temporary_file.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__syntax_error__lt_1_1_1__code_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__syntax_error__lt_1_1_1__code_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__syntax_error__lt_1_1_1__code_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__syntax_error__lt_1_1_1__code_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__syntax_error__lt_1_1_1__code_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__syntax_error__lt_1_1_1__code_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__syntax_error__lt_1_1_1__code_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__syntax_error__lt_1_1_1__code_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__syntax_error__lt_1_1_1__code_injection.dacg.result.s2.o0": "The library is known to include the Code Injection vulnerability.",
  "0.event.dacg_npm__syntax_error__lt_1_1_1__code_injection.dacg.result.s3.o0": "The Code Injection vulnerability is caused by injecting unintended code to a web application.",
  "0.event.dacg_npm__syntax_error__lt_1_1_1__code_injection.dacg.result.s4.o0": "An attacker can use the Code Injection vulnerability to steal and manipulate important information.",
  "0.event.dacg_npm__syntax_error__lt_1_1_1__code_injection.dacg.result.s5.o0": "As a result of the test, the Code Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__syntax_error__lt_1_1_1__code_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__syntax_error__lt_1_1_1__code_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__syntax_error__lt_1_1_1__code_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__syntax_error__lt_1_1_1__code_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__tar__lt_2_0_0__symlink_following.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__tar__lt_2_0_0__symlink_following.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__tar__lt_2_0_0__symlink_following.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__tar__lt_2_0_0__symlink_following.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__tar__lt_2_0_0__symlink_following.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__tar__lt_2_0_0__symlink_following.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__tar__lt_2_0_0__symlink_following.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__tar__lt_2_0_0__symlink_following.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__tar__lt_2_0_0__symlink_following.dacg.result.s2.o0": "The library is known to include the Symbolic Link Following vulnerability.",
  "0.event.dacg_npm__tar__lt_2_0_0__symlink_following.dacg.result.s3.o0": "The Symbolic Link Following vulnerability is caused by using symbolic links to access specific files.",
  "0.event.dacg_npm__tar__lt_2_0_0__symlink_following.dacg.result.s4.o0": "Using the Symbolic Link Following vulnerability, an attacker can view and manipulate the contents of restricted access files.",
  "0.event.dacg_npm__tar__lt_2_0_0__symlink_following.dacg.result.s5.o0": "As a result of the test, the Symbolic Link Following vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__tar__lt_2_0_0__symlink_following.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__tar__lt_2_0_0__symlink_following.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__tar__lt_2_0_0__symlink_following.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__tar__lt_2_0_0__symlink_following.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__tencent_server__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__tencent_server__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__tencent_server__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__tencent_server__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__tencent_server__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__tencent_server__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__tencent_server__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__tencent_server__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__tencent_server__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__tencent_server__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__tencent_server__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__tencent_server__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__tencent_server__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__tencent_server__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__tencent_server__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__tencent_server__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__terminal_share__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__terminal_share__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__terminal_share__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__terminal_share__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__terminal_share__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__terminal_share__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__terminal_share__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__terminal_share__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__terminal_share__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__terminal_share__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__terminal_share__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__terminal_share__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__terminal_share__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__terminal_share__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__terminal_share__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__terminal_share__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__test_module_a__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__test_module_a__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__test_module_a__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__test_module_a__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__test_module_a__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__test_module_a__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__test_module_a__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__test_module_a__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__test_module_a__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__test_module_a__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__test_module_a__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__test_module_a__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__test_module_a__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__test_module_a__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__test_module_a__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__test_module_a__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__textangular__lt_1_2_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__textangular__lt_1_2_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__textangular__lt_1_2_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__textangular__lt_1_2_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__textangular__lt_1_2_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__textangular__lt_1_2_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__textangular__lt_1_2_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__textangular__lt_1_2_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__textangular__lt_1_2_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__textangular__lt_1_2_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__textangular__lt_1_2_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__textangular__lt_1_2_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__textangular__lt_1_2_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__textangular__lt_1_2_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__textangular__lt_1_2_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__textangular__lt_1_2_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__textangular__lt_1_3_7__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__textangular__lt_1_3_7__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__textangular__lt_1_3_7__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__textangular__lt_1_3_7__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__textangular__lt_1_3_7__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__textangular__lt_1_3_7__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__textangular__lt_1_3_7__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__textangular__lt_1_3_7__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__textangular__lt_1_3_7__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__textangular__lt_1_3_7__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__textangular__lt_1_3_7__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__textangular__lt_1_3_7__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__textangular__lt_1_3_7__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__textangular__lt_1_3_7__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__textangular__lt_1_3_7__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__textangular__lt_1_3_7__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__thelounge__ge_1_0_0_lt_1_5_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__thelounge__ge_1_0_0_lt_1_5_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__thelounge__ge_1_0_0_lt_1_5_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__thelounge__ge_1_0_0_lt_1_5_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__thelounge__ge_1_0_0_lt_1_5_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__thelounge__ge_1_0_0_lt_1_5_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__thelounge__ge_1_0_0_lt_1_5_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__thelounge__ge_1_0_0_lt_1_5_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__thelounge__ge_1_0_0_lt_1_5_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__thelounge__ge_1_0_0_lt_1_5_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__thelounge__ge_1_0_0_lt_1_5_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__thelounge__ge_1_0_0_lt_1_5_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__thelounge__ge_1_0_0_lt_1_5_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__thelounge__ge_1_0_0_lt_1_5_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__thelounge__ge_1_0_0_lt_1_5_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__thelounge__ge_1_0_0_lt_1_5_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__thrushs__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__thrushs__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__thrushs__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__thrushs__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__thrushs__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__thrushs__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__thrushs__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__thrushs__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__thrushs__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__thrushs__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__thrushs__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__thrushs__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__thrushs__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__thrushs__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__thrushs__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__thrushs__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__timespan__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__timespan__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__timespan__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__timespan__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__timespan__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__timespan__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__timespan__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__timespan__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__timespan__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__timespan__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__timespan__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__timespan__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__timespan__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__timespan__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__timespan__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__timespan__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__tiny_http__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__tiny_http__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__tiny_http__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__tiny_http__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__tiny_http__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__tiny_http__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__tiny_http__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__tiny_http__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__tiny_http__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__tiny_http__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__tiny_http__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__tiny_http__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__tiny_http__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__tiny_http__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__tiny_http__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__tiny_http__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__tiny_json_http__gt_7_0_0__mitm.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__tiny_json_http__gt_7_0_0__mitm.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__tiny_json_http__gt_7_0_0__mitm.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__tiny_json_http__gt_7_0_0__mitm.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__tiny_json_http__gt_7_0_0__mitm.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__tiny_json_http__gt_7_0_0__mitm.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__tiny_json_http__gt_7_0_0__mitm.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__tiny_json_http__gt_7_0_0__mitm.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__tiny_json_http__gt_7_0_0__mitm.dacg.result.s2.o0": "The library is known to include the Man in the Middle (MitM) vulnerability.",
  "0.event.dacg_npm__tiny_json_http__gt_7_0_0__mitm.dacg.result.s3.o0": "The Man in the Middle (MitM) vulnerability is caused by stealing external network communications.",
  "0.event.dacg_npm__tiny_json_http__gt_7_0_0__mitm.dacg.result.s4.o0": "Using the MitM vulnerability, an attacker can eavesdrop or manipulate communication.",
  "0.event.dacg_npm__tiny_json_http__gt_7_0_0__mitm.dacg.result.s5.o0": "As a result of the test, the Man in the Middle (MitM) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__tiny_json_http__gt_7_0_0__mitm.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__tiny_json_http__gt_7_0_0__mitm.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__tiny_json_http__gt_7_0_0__mitm.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__tiny_json_http__gt_7_0_0__mitm.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__tinymce__lt_4_2_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__tinymce__lt_4_2_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__tinymce__lt_4_2_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__tinymce__lt_4_2_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__tinymce__lt_4_2_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__tinymce__lt_4_2_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__tinymce__lt_4_2_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__tinymce__lt_4_2_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__tinymce__lt_4_2_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__tinymce__lt_4_2_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__tinymce__lt_4_2_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__tinymce__lt_4_2_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__tinymce__lt_4_2_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__tinymce__lt_4_2_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__tinymce__lt_4_2_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__tinymce__lt_4_2_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__tinymce__lt_4_2_4__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__tinymce__lt_4_2_4__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__tinymce__lt_4_2_4__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__tinymce__lt_4_2_4__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__tinymce__lt_4_2_4__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__tinymce__lt_4_2_4__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__tinymce__lt_4_2_4__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__tinymce__lt_4_2_4__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__tinymce__lt_4_2_4__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__tinymce__lt_4_2_4__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__tinymce__lt_4_2_4__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__tinymce__lt_4_2_4__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__tinymce__lt_4_2_4__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__tinymce__lt_4_2_4__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__tinymce__lt_4_2_4__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__tinymce__lt_4_2_4__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__tinymce__lt_4_6_4__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__tinymce__lt_4_6_4__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__tinymce__lt_4_6_4__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__tinymce__lt_4_6_4__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__tinymce__lt_4_6_4__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__tinymce__lt_4_6_4__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__tinymce__lt_4_6_4__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__tinymce__lt_4_6_4__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__tinymce__lt_4_6_4__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__tinymce__lt_4_6_4__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__tinymce__lt_4_6_4__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__tinymce__lt_4_6_4__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__tinymce__lt_4_6_4__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__tinymce__lt_4_6_4__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__tinymce__lt_4_6_4__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__tinymce__lt_4_6_4__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__tinymce__lt_4_7_12__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__tinymce__lt_4_7_12__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__tinymce__lt_4_7_12__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__tinymce__lt_4_7_12__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__tinymce__lt_4_7_12__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__tinymce__lt_4_7_12__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__tinymce__lt_4_7_12__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__tinymce__lt_4_7_12__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__tinymce__lt_4_7_12__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__tinymce__lt_4_7_12__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__tinymce__lt_4_7_12__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__tinymce__lt_4_7_12__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__tinymce__lt_4_7_12__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__tinymce__lt_4_7_12__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__tinymce__lt_4_7_12__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__tinymce__lt_4_7_12__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__tinyserver2__lt_0_6_1__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__tinyserver2__lt_0_6_1__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__tinyserver2__lt_0_6_1__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__tinyserver2__lt_0_6_1__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__tinyserver2__lt_0_6_1__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__tinyserver2__lt_0_6_1__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__tinyserver2__lt_0_6_1__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__tinyserver2__lt_0_6_1__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__tinyserver2__lt_0_6_1__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__tinyserver2__lt_0_6_1__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__tinyserver2__lt_0_6_1__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__tinyserver2__lt_0_6_1__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__tinyserver2__lt_0_6_1__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__tinyserver2__lt_0_6_1__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__tinyserver2__lt_0_6_1__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__tinyserver2__lt_0_6_1__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__tinyserver__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__tinyserver__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__tinyserver__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__tinyserver__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__tinyserver__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__tinyserver__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__tinyserver__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__tinyserver__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__tinyserver__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__tinyserver__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__tinyserver__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__tinyserver__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__tinyserver__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__tinyserver__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__tinyserver__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__tinyserver__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__tkinter__embedded_malicious_code.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__tkinter__embedded_malicious_code.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__tkinter__embedded_malicious_code.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__tkinter__embedded_malicious_code.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__tkinter__embedded_malicious_code.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__tkinter__embedded_malicious_code.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__tkinter__embedded_malicious_code.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__tkinter__embedded_malicious_code.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__tkinter__embedded_malicious_code.dacg.result.s2.o0": "This library is known to include the Embedded Malicious Code vulnerability.",
  "0.event.dacg_npm__tkinter__embedded_malicious_code.dacg.result.s3.o0": "The Embedded Malicious Code vulnerability is caused by executing malicious code contained in a library.",
  "0.event.dacg_npm__tkinter__embedded_malicious_code.dacg.result.s4.o0": "An attacker can use the Embedded Malicious Code vulnerability to steal or manipulate user's sensitive information.",
  "0.event.dacg_npm__tkinter__embedded_malicious_code.dacg.result.s5.o0": "As a result of the test, the Embedded Malicious Code vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__tkinter__embedded_malicious_code.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__tkinter__embedded_malicious_code.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__tkinter__embedded_malicious_code.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__tkinter__embedded_malicious_code.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__tmadserver__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__tmadserver__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__tmadserver__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__tmadserver__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__tmadserver__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__tmadserver__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__tmadserver__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__tmadserver__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__tmadserver__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__tmadserver__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__tmadserver__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__tmadserver__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__tmadserver__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__tmadserver__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__tmadserver__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__tmadserver__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__tmock__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__tmock__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__tmock__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__tmock__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__tmock__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__tmock__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__tmock__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__tmock__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__tmock__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__tmock__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__tmock__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__tmock__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__tmock__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__tmock__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__tmock__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__tmock__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__tomato__le_0_0_5__authentication_bypass.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__tomato__le_0_0_5__authentication_bypass.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__tomato__le_0_0_5__authentication_bypass.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__tomato__le_0_0_5__authentication_bypass.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__tomato__le_0_0_5__authentication_bypass.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__tomato__le_0_0_5__authentication_bypass.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__tomato__le_0_0_5__authentication_bypass.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__tomato__le_0_0_5__authentication_bypass.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__tomato__le_0_0_5__authentication_bypass.dacg.result.s2.o0": "The library is known to include the Authentication Bypass vulnerability.",
  "0.event.dacg_npm__tomato__le_0_0_5__authentication_bypass.dacg.result.s3.o0": "Authentication bypass vulnerabilities can bypass a required authentication process.",
  "0.event.dacg_npm__tomato__le_0_0_5__authentication_bypass.dacg.result.s4.o0": "Using the Authentication Bypass vulnerability, an attacker can access to and manipulation of limited information.",
  "0.event.dacg_npm__tomato__le_0_0_5__authentication_bypass.dacg.result.s5.o0": "As a result of the test, the Authentication Bypass vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__tomato__le_0_0_5__authentication_bypass.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__tomato__le_0_0_5__authentication_bypass.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__tomato__le_0_0_5__authentication_bypass.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__tomato__le_0_0_5__authentication_bypass.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__tomita__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__tomita__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__tomita__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__tomita__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__tomita__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__tomita__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__tomita__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__tomita__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__tomita__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__tomita__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__tomita__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__tomita__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__tomita__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__tomita__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__tomita__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__tomita__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__tomita_parser__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__tomita_parser__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__tomita_parser__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__tomita_parser__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__tomita_parser__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__tomita_parser__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__tomita_parser__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__tomita_parser__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__tomita_parser__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__tomita_parser__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__tomita_parser__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__tomita_parser__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__tomita_parser__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__tomita_parser__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__tomita_parser__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__tomita_parser__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__tough_cookie__ge_0_9_7_le_2_2_2__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__tough_cookie__ge_0_9_7_le_2_2_2__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__tough_cookie__ge_0_9_7_le_2_2_2__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__tough_cookie__ge_0_9_7_le_2_2_2__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__tough_cookie__ge_0_9_7_le_2_2_2__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__tough_cookie__ge_0_9_7_le_2_2_2__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__tough_cookie__ge_0_9_7_le_2_2_2__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__tough_cookie__ge_0_9_7_le_2_2_2__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__tough_cookie__ge_0_9_7_le_2_2_2__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__tough_cookie__ge_0_9_7_le_2_2_2__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__tough_cookie__ge_0_9_7_le_2_2_2__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__tough_cookie__ge_0_9_7_le_2_2_2__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__tough_cookie__ge_0_9_7_le_2_2_2__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__tough_cookie__ge_0_9_7_le_2_2_2__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__tough_cookie__ge_0_9_7_le_2_2_2__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__tough_cookie__ge_0_9_7_le_2_2_2__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__tough_cookie__lt_2_3_3__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__tough_cookie__lt_2_3_3__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__tough_cookie__lt_2_3_3__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__tough_cookie__lt_2_3_3__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__tough_cookie__lt_2_3_3__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__tough_cookie__lt_2_3_3__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__tough_cookie__lt_2_3_3__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__tough_cookie__lt_2_3_3__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__tough_cookie__lt_2_3_3__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__tough_cookie__lt_2_3_3__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__tough_cookie__lt_2_3_3__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__tough_cookie__lt_2_3_3__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__tough_cookie__lt_2_3_3__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__tough_cookie__lt_2_3_3__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__tough_cookie__lt_2_3_3__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__tough_cookie__lt_2_3_3__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__traceroute__le_1_0_0__command_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__traceroute__le_1_0_0__command_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__traceroute__le_1_0_0__command_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__traceroute__le_1_0_0__command_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__traceroute__le_1_0_0__command_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__traceroute__le_1_0_0__command_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__traceroute__le_1_0_0__command_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__traceroute__le_1_0_0__command_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__traceroute__le_1_0_0__command_injection.dacg.result.s2.o0": "The library is known to include the OS Command Injection vulnerability.",
  "0.event.dacg_npm__traceroute__le_1_0_0__command_injection.dacg.result.s3.o0": "The OS Command Injection vulnerability is caused by executing user commands without any verification process.",
  "0.event.dacg_npm__traceroute__le_1_0_0__command_injection.dacg.result.s4.o0": "Using the OS Command Injection vulnerability, an attacker can steal key information of the server and force to perform unintended behaviors.",
  "0.event.dacg_npm__traceroute__le_1_0_0__command_injection.dacg.result.s5.o0": "As a result of the test, the OS Command Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__traceroute__le_1_0_0__command_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__traceroute__le_1_0_0__command_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__traceroute__le_1_0_0__command_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__traceroute__le_1_0_0__command_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__truncate__lt_2_0_1__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__truncate__lt_2_0_1__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__truncate__lt_2_0_1__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__truncate__lt_2_0_1__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__truncate__lt_2_0_1__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__truncate__lt_2_0_1__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__truncate__lt_2_0_1__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__truncate__lt_2_0_1__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__truncate__lt_2_0_1__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__truncate__lt_2_0_1__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__truncate__lt_2_0_1__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__truncate__lt_2_0_1__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__truncate__lt_2_0_1__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__truncate__lt_2_0_1__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__truncate__lt_2_0_1__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__truncate__lt_2_0_1__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__tunnel_agent__lt_0_6_0__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__tunnel_agent__lt_0_6_0__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__tunnel_agent__lt_0_6_0__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__tunnel_agent__lt_0_6_0__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__tunnel_agent__lt_0_6_0__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__tunnel_agent__lt_0_6_0__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__tunnel_agent__lt_0_6_0__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__tunnel_agent__lt_0_6_0__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__tunnel_agent__lt_0_6_0__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__tunnel_agent__lt_0_6_0__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__tunnel_agent__lt_0_6_0__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__tunnel_agent__lt_0_6_0__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__tunnel_agent__lt_0_6_0__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__tunnel_agent__lt_0_6_0__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__tunnel_agent__lt_0_6_0__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__tunnel_agent__lt_0_6_0__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ua_parser__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ua_parser__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ua_parser__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ua_parser__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ua_parser__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ua_parser__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ua_parser__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ua_parser__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ua_parser__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__ua_parser__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__ua_parser__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__ua_parser__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ua_parser__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ua_parser__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ua_parser__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ua_parser__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ua_parser_js__lt_0_7_16__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ua_parser_js__lt_0_7_16__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ua_parser_js__lt_0_7_16__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ua_parser_js__lt_0_7_16__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ua_parser_js__lt_0_7_16__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ua_parser_js__lt_0_7_16__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ua_parser_js__lt_0_7_16__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ua_parser_js__lt_0_7_16__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ua_parser_js__lt_0_7_16__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__ua_parser_js__lt_0_7_16__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__ua_parser_js__lt_0_7_16__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__ua_parser_js__lt_0_7_16__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ua_parser_js__lt_0_7_16__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ua_parser_js__lt_0_7_16__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ua_parser_js__lt_0_7_16__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ua_parser_js__lt_0_7_16__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ua_parser_js__lt_0_7_18__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ua_parser_js__lt_0_7_18__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ua_parser_js__lt_0_7_18__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ua_parser_js__lt_0_7_18__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ua_parser_js__lt_0_7_18__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ua_parser_js__lt_0_7_18__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ua_parser_js__lt_0_7_18__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ua_parser_js__lt_0_7_18__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ua_parser_js__lt_0_7_18__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__ua_parser_js__lt_0_7_18__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__ua_parser_js__lt_0_7_18__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__ua_parser_js__lt_0_7_18__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ua_parser_js__lt_0_7_18__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ua_parser_js__lt_0_7_18__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ua_parser_js__lt_0_7_18__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ua_parser_js__lt_0_7_18__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__uas_parser__lt_0_2_3__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__uas_parser__lt_0_2_3__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__uas_parser__lt_0_2_3__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__uas_parser__lt_0_2_3__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__uas_parser__lt_0_2_3__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__uas_parser__lt_0_2_3__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__uas_parser__lt_0_2_3__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__uas_parser__lt_0_2_3__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__uas_parser__lt_0_2_3__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__uas_parser__lt_0_2_3__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__uas_parser__lt_0_2_3__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__uas_parser__lt_0_2_3__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__uas_parser__lt_0_2_3__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__uas_parser__lt_0_2_3__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__uas_parser__lt_0_2_3__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__uas_parser__lt_0_2_3__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__uc_micro__le_1_0_0__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__uc_micro__le_1_0_0__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__uc_micro__le_1_0_0__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__uc_micro__le_1_0_0__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__uc_micro__le_1_0_0__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__uc_micro__le_1_0_0__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__uc_micro__le_1_0_0__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__uc_micro__le_1_0_0__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__uc_micro__le_1_0_0__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__uc_micro__le_1_0_0__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__uc_micro__le_1_0_0__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__uc_micro__le_1_0_0__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__uc_micro__le_1_0_0__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__uc_micro__le_1_0_0__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__uc_micro__le_1_0_0__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__uc_micro__le_1_0_0__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__uekw1511server__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__uekw1511server__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__uekw1511server__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__uekw1511server__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__uekw1511server__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__uekw1511server__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__uekw1511server__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__uekw1511server__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__uekw1511server__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__uekw1511server__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__uekw1511server__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__uekw1511server__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__uekw1511server__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__uekw1511server__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__uekw1511server__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__uekw1511server__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__uglify_js__le_2_4_23__insufficient_comparison.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__uglify_js__le_2_4_23__insufficient_comparison.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__uglify_js__le_2_4_23__insufficient_comparison.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__uglify_js__le_2_4_23__insufficient_comparison.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__uglify_js__le_2_4_23__insufficient_comparison.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__uglify_js__le_2_4_23__insufficient_comparison.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__uglify_js__le_2_4_23__insufficient_comparison.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__uglify_js__le_2_4_23__insufficient_comparison.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__uglify_js__le_2_4_23__insufficient_comparison.dacg.result.s2.o0": "The library is known to include the Insufficient Comparison vulnerability.",
  "0.event.dacg_npm__uglify_js__le_2_4_23__insufficient_comparison.dacg.result.s3.o0": "The Insufficient Comparison vulnerability can lead to unintended consequences through inadequate comparison operations.",
  "0.event.dacg_npm__uglify_js__le_2_4_23__insufficient_comparison.dacg.result.s4.o0": "Using the Insufficient Comparison vulnerability, an attacker can bypass validation through comparison operations.",
  "0.event.dacg_npm__uglify_js__le_2_4_23__insufficient_comparison.dacg.result.s5.o0": "As a result of the test, the Insufficient Comparison vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__uglify_js__le_2_4_23__insufficient_comparison.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__uglify_js__le_2_4_23__insufficient_comparison.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__uglify_js__le_2_4_23__insufficient_comparison.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__uglify_js__le_2_4_23__insufficient_comparison.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__uglify_js__lt_2_6_0__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__uglify_js__lt_2_6_0__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__uglify_js__lt_2_6_0__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__uglify_js__lt_2_6_0__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__uglify_js__lt_2_6_0__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__uglify_js__lt_2_6_0__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__uglify_js__lt_2_6_0__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__uglify_js__lt_2_6_0__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__uglify_js__lt_2_6_0__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__uglify_js__lt_2_6_0__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__uglify_js__lt_2_6_0__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__uglify_js__lt_2_6_0__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__uglify_js__lt_2_6_0__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__uglify_js__lt_2_6_0__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__uglify_js__lt_2_6_0__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__uglify_js__lt_2_6_0__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__uikit__ge_2_0_0_lt_2_26_4__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__uikit__ge_2_0_0_lt_2_26_4__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__uikit__ge_2_0_0_lt_2_26_4__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__uikit__ge_2_0_0_lt_2_26_4__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__uikit__ge_2_0_0_lt_2_26_4__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__uikit__ge_2_0_0_lt_2_26_4__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__uikit__ge_2_0_0_lt_2_26_4__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__uikit__ge_2_0_0_lt_2_26_4__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__uikit__ge_2_0_0_lt_2_26_4__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__uikit__ge_2_0_0_lt_2_26_4__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__uikit__ge_2_0_0_lt_2_26_4__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__uikit__ge_2_0_0_lt_2_26_4__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__uikit__ge_2_0_0_lt_2_26_4__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__uikit__ge_2_0_0_lt_2_26_4__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__uikit__ge_2_0_0_lt_2_26_4__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__uikit__ge_2_0_0_lt_2_26_4__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__underscore_string__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__underscore_string__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__underscore_string__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__underscore_string__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__underscore_string__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__underscore_string__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__underscore_string__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__underscore_string__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__underscore_string__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__underscore_string__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__underscore_string__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__underscore_string__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__underscore_string__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__underscore_string__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__underscore_string__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__underscore_string__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ungit__le_0_8_4__command_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ungit__le_0_8_4__command_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ungit__le_0_8_4__command_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ungit__le_0_8_4__command_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ungit__le_0_8_4__command_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ungit__le_0_8_4__command_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ungit__le_0_8_4__command_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ungit__le_0_8_4__command_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ungit__le_0_8_4__command_injection.dacg.result.s2.o0": "The library is known to include the OS Command Injection vulnerability.",
  "0.event.dacg_npm__ungit__le_0_8_4__command_injection.dacg.result.s3.o0": "The OS Command Injection vulnerability is caused by executing user commands without any verification process.",
  "0.event.dacg_npm__ungit__le_0_8_4__command_injection.dacg.result.s4.o0": "Using the OS Command Injection vulnerability, an attacker can steal key information of the server and force to perform unintended behaviors.",
  "0.event.dacg_npm__ungit__le_0_8_4__command_injection.dacg.result.s5.o0": "As a result of the test, the OS Command Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ungit__le_0_8_4__command_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ungit__le_0_8_4__command_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ungit__le_0_8_4__command_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ungit__le_0_8_4__command_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__unicode__lt_9_0_0__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__unicode__lt_9_0_0__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__unicode__lt_9_0_0__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__unicode__lt_9_0_0__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__unicode__lt_9_0_0__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__unicode__lt_9_0_0__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__unicode__lt_9_0_0__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__unicode__lt_9_0_0__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__unicode__lt_9_0_0__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__unicode__lt_9_0_0__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__unicode__lt_9_0_0__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__unicode__lt_9_0_0__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__unicode__lt_9_0_0__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__unicode__lt_9_0_0__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__unicode__lt_9_0_0__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__unicode__lt_9_0_0__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__unicode_json__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__unicode_json__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__unicode_json__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__unicode_json__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__unicode_json__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__unicode_json__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__unicode_json__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__unicode_json__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__unicode_json__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__unicode_json__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__unicode_json__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__unicode_json__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__unicode_json__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__unicode_json__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__unicode_json__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__unicode_json__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__unicorn_list__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__unicorn_list__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__unicorn_list__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__unicorn_list__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__unicorn_list__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__unicorn_list__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__unicorn_list__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__unicorn_list__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__unicorn_list__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__unicorn_list__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__unicorn_list__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__unicorn_list__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__unicorn_list__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__unicorn_list__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__unicorn_list__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__unicorn_list__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__unzipper__lt_0_8_13__arbitrary_file_write_via_archive_extraction__zip_slip_.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__unzipper__lt_0_8_13__arbitrary_file_write_via_archive_extraction__zip_slip_.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__unzipper__lt_0_8_13__arbitrary_file_write_via_archive_extraction__zip_slip_.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__unzipper__lt_0_8_13__arbitrary_file_write_via_archive_extraction__zip_slip_.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__unzipper__lt_0_8_13__arbitrary_file_write_via_archive_extraction__zip_slip_.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__unzipper__lt_0_8_13__arbitrary_file_write_via_archive_extraction__zip_slip_.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__unzipper__lt_0_8_13__arbitrary_file_write_via_archive_extraction__zip_slip_.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__unzipper__lt_0_8_13__arbitrary_file_write_via_archive_extraction__zip_slip_.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__unzipper__lt_0_8_13__arbitrary_file_write_via_archive_extraction__zip_slip_.dacg.result.s2.o0": "The library is known to include the Arbitrary File Write via Archive Extraction (Zip Slip) vulnerability.",
  "0.event.dacg_npm__unzipper__lt_0_8_13__arbitrary_file_write_via_archive_extraction__zip_slip_.dacg.result.s3.o0": "The Arbitrary File Write via Archive Extraction (Zip Slip) vulnerability is NO_VULNERABILITY_DESCRIPTION",
  "0.event.dacg_npm__unzipper__lt_0_8_13__arbitrary_file_write_via_archive_extraction__zip_slip_.dacg.result.s4.o0": "Using the Arbitrary File Write via Archive Extraction (Zip Slip) vulnerability, an attacker can use NO_RESULT_DESCRIPTION",
  "0.event.dacg_npm__unzipper__lt_0_8_13__arbitrary_file_write_via_archive_extraction__zip_slip_.dacg.result.s5.o0": "As a result of the test, the Arbitrary File Write via Archive Extraction (Zip Slip) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__unzipper__lt_0_8_13__arbitrary_file_write_via_archive_extraction__zip_slip_.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__unzipper__lt_0_8_13__arbitrary_file_write_via_archive_extraction__zip_slip_.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__unzipper__lt_0_8_13__arbitrary_file_write_via_archive_extraction__zip_slip_.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__unzipper__lt_0_8_13__arbitrary_file_write_via_archive_extraction__zip_slip_.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__uri_js__lt_3_0_0__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__uri_js__lt_3_0_0__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__uri_js__lt_3_0_0__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__uri_js__lt_3_0_0__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__uri_js__lt_3_0_0__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__uri_js__lt_3_0_0__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__uri_js__lt_3_0_0__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__uri_js__lt_3_0_0__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__uri_js__lt_3_0_0__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__uri_js__lt_3_0_0__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__uri_js__lt_3_0_0__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__uri_js__lt_3_0_0__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__uri_js__lt_3_0_0__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__uri_js__lt_3_0_0__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__uri_js__lt_3_0_0__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__uri_js__lt_3_0_0__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__useragent__lt_2_1_12__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__useragent__lt_2_1_12__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__useragent__lt_2_1_12__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__useragent__lt_2_1_12__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__useragent__lt_2_1_12__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__useragent__lt_2_1_12__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__useragent__lt_2_1_12__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__useragent__lt_2_1_12__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__useragent__lt_2_1_12__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__useragent__lt_2_1_12__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__useragent__lt_2_1_12__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__useragent__lt_2_1_12__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__useragent__lt_2_1_12__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__useragent__lt_2_1_12__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__useragent__lt_2_1_12__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__useragent__lt_2_1_12__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__useragent__lt_2_1_13__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__useragent__lt_2_1_13__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__useragent__lt_2_1_13__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__useragent__lt_2_1_13__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__useragent__lt_2_1_13__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__useragent__lt_2_1_13__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__useragent__lt_2_1_13__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__useragent__lt_2_1_13__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__useragent__lt_2_1_13__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__useragent__lt_2_1_13__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__useragent__lt_2_1_13__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__useragent__lt_2_1_13__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__useragent__lt_2_1_13__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__useragent__lt_2_1_13__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__useragent__lt_2_1_13__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__useragent__lt_2_1_13__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ussasasa__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ussasasa__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ussasasa__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ussasasa__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ussasasa__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ussasasa__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ussasasa__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ussasasa__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ussasasa__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__ussasasa__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__ussasasa__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__ussasasa__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ussasasa__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ussasasa__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ussasasa__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ussasasa__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__utahcityfinder__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__utahcityfinder__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__utahcityfinder__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__utahcityfinder__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__utahcityfinder__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__utahcityfinder__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__utahcityfinder__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__utahcityfinder__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__utahcityfinder__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__utahcityfinder__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__utahcityfinder__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__utahcityfinder__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__utahcityfinder__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__utahcityfinder__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__utahcityfinder__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__utahcityfinder__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__uuid__lt_1_3_1__use_of_insufficiently_random_values.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__uuid__lt_1_3_1__use_of_insufficiently_random_values.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__uuid__lt_1_3_1__use_of_insufficiently_random_values.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__uuid__lt_1_3_1__use_of_insufficiently_random_values.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__uuid__lt_1_3_1__use_of_insufficiently_random_values.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__uuid__lt_1_3_1__use_of_insufficiently_random_values.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__uuid__lt_1_3_1__use_of_insufficiently_random_values.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__uuid__lt_1_3_1__use_of_insufficiently_random_values.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__uuid__lt_1_3_1__use_of_insufficiently_random_values.dacg.result.s2.o0": "This library is known to include a Use of Insufficiently Random Values vulnerability.",
  "0.event.dacg_npm__uuid__lt_1_3_1__use_of_insufficiently_random_values.dacg.result.s3.o0": "The Use of Insufficient Random Number vulnerability is caused by using predictable random numbers.",
  "0.event.dacg_npm__uuid__lt_1_3_1__use_of_insufficiently_random_values.dacg.result.s4.o0": "An attacker can use Insufficiently Random Values vulnerability to infer a random number value of a password or decryption key.",
  "0.event.dacg_npm__uuid__lt_1_3_1__use_of_insufficiently_random_values.dacg.result.s5.o0": "As a result of the test, the Use of Insufficiently Random Values vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__uuid__lt_1_3_1__use_of_insufficiently_random_values.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__uuid__lt_1_3_1__use_of_insufficiently_random_values.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__uuid__lt_1_3_1__use_of_insufficiently_random_values.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__uuid__lt_1_3_1__use_of_insufficiently_random_values.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__uv_tj_demo__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__uv_tj_demo__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__uv_tj_demo__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__uv_tj_demo__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__uv_tj_demo__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__uv_tj_demo__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__uv_tj_demo__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__uv_tj_demo__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__uv_tj_demo__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__uv_tj_demo__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__uv_tj_demo__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__uv_tj_demo__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__uv_tj_demo__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__uv_tj_demo__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__uv_tj_demo__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__uv_tj_demo__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__uws__ge_0_10_0_lt_0_10_9__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__uws__ge_0_10_0_lt_0_10_9__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__uws__ge_0_10_0_lt_0_10_9__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__uws__ge_0_10_0_lt_0_10_9__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__uws__ge_0_10_0_lt_0_10_9__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__uws__ge_0_10_0_lt_0_10_9__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__uws__ge_0_10_0_lt_0_10_9__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__uws__ge_0_10_0_lt_0_10_9__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__uws__ge_0_10_0_lt_0_10_9__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__uws__ge_0_10_0_lt_0_10_9__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__uws__ge_0_10_0_lt_0_10_9__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__uws__ge_0_10_0_lt_0_10_9__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__uws__ge_0_10_0_lt_0_10_9__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__uws__ge_0_10_0_lt_0_10_9__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__uws__ge_0_10_0_lt_0_10_9__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__uws__ge_0_10_0_lt_0_10_9__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__valid_data_url__lt_0_1_5__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__valid_data_url__lt_0_1_5__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__valid_data_url__lt_0_1_5__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__valid_data_url__lt_0_1_5__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__valid_data_url__lt_0_1_5__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__valid_data_url__lt_0_1_5__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__valid_data_url__lt_0_1_5__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__valid_data_url__lt_0_1_5__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__valid_data_url__lt_0_1_5__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__valid_data_url__lt_0_1_5__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__valid_data_url__lt_0_1_5__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__valid_data_url__lt_0_1_5__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__valid_data_url__lt_0_1_5__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__valid_data_url__lt_0_1_5__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__valid_data_url__lt_0_1_5__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__valid_data_url__lt_0_1_5__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__valid_email__lt_1_0_0__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__valid_email__lt_1_0_0__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__valid_email__lt_1_0_0__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__valid_email__lt_1_0_0__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__valid_email__lt_1_0_0__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__valid_email__lt_1_0_0__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__valid_email__lt_1_0_0__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__valid_email__lt_1_0_0__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__valid_email__lt_1_0_0__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__valid_email__lt_1_0_0__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__valid_email__lt_1_0_0__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__valid_email__lt_1_0_0__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__valid_email__lt_1_0_0__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__valid_email__lt_1_0_0__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__valid_email__lt_1_0_0__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__valid_email__lt_1_0_0__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__validator__ge_3_0_0_lt_3_34_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__validator__ge_3_0_0_lt_3_34_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__validator__ge_3_0_0_lt_3_34_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__validator__ge_3_0_0_lt_3_34_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__validator__ge_3_0_0_lt_3_34_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__validator__ge_3_0_0_lt_3_34_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__validator__ge_3_0_0_lt_3_34_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__validator__ge_3_0_0_lt_3_34_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__validator__ge_3_0_0_lt_3_34_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__validator__ge_3_0_0_lt_3_34_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__validator__ge_3_0_0_lt_3_34_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__validator__ge_3_0_0_lt_3_34_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__validator__ge_3_0_0_lt_3_34_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__validator__ge_3_0_0_lt_3_34_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__validator__ge_3_0_0_lt_3_34_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__validator__ge_3_0_0_lt_3_34_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__validator__lt_1_1_1__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__validator__lt_1_1_1__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__validator__lt_1_1_1__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__validator__lt_1_1_1__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__validator__lt_1_1_1__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__validator__lt_1_1_1__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__validator__lt_1_1_1__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__validator__lt_1_1_1__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__validator__lt_1_1_1__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__validator__lt_1_1_1__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__validator__lt_1_1_1__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__validator__lt_1_1_1__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__validator__lt_1_1_1__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__validator__lt_1_1_1__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__validator__lt_1_1_1__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__validator__lt_1_1_1__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__validator__lt_2_0_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__validator__lt_2_0_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__validator__lt_2_0_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__validator__lt_2_0_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__validator__lt_2_0_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__validator__lt_2_0_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__validator__lt_2_0_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__validator__lt_2_0_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__validator__lt_2_0_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__validator__lt_2_0_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__validator__lt_2_0_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__validator__lt_2_0_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__validator__lt_2_0_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__validator__lt_2_0_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__validator__lt_2_0_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__validator__lt_2_0_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__validator__lt_3_22_1__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__validator__lt_3_22_1__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__validator__lt_3_22_1__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__validator__lt_3_22_1__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__validator__lt_3_22_1__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__validator__lt_3_22_1__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__validator__lt_3_22_1__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__validator__lt_3_22_1__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__validator__lt_3_22_1__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__validator__lt_3_22_1__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__validator__lt_3_22_1__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__validator__lt_3_22_1__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__validator__lt_3_22_1__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__validator__lt_3_22_1__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__validator__lt_3_22_1__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__validator__lt_3_22_1__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__validator__lt_5_0_0__buffer_overflow.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__validator__lt_5_0_0__buffer_overflow.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__validator__lt_5_0_0__buffer_overflow.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__validator__lt_5_0_0__buffer_overflow.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__validator__lt_5_0_0__buffer_overflow.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__validator__lt_5_0_0__buffer_overflow.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__validator__lt_5_0_0__buffer_overflow.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__validator__lt_5_0_0__buffer_overflow.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__validator__lt_5_0_0__buffer_overflow.dacg.result.s2.o0": "The library is known to include the Buffer Overflow vulnerability.",
  "0.event.dacg_npm__validator__lt_5_0_0__buffer_overflow.dacg.result.s3.o0": "The buffer overflow vulnerability is caused by accessing and modifying a location out of specified buffer location.",
  "0.event.dacg_npm__validator__lt_5_0_0__buffer_overflow.dacg.result.s4.o0": "Using the Buffer Overflow vulnerability, an attacker can overwrite unintended data in the heap buffer and manipulate specific values of the target application, or control flow.",
  "0.event.dacg_npm__validator__lt_5_0_0__buffer_overflow.dacg.result.s5.o0": "As a result of the test, the Buffer Overflow vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__validator__lt_5_0_0__buffer_overflow.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__validator__lt_5_0_0__buffer_overflow.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__validator__lt_5_0_0__buffer_overflow.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__validator__lt_5_0_0__buffer_overflow.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__validator__lt_9_4_1__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__validator__lt_9_4_1__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__validator__lt_9_4_1__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__validator__lt_9_4_1__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__validator__lt_9_4_1__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__validator__lt_9_4_1__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__validator__lt_9_4_1__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__validator__lt_9_4_1__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__validator__lt_9_4_1__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__validator__lt_9_4_1__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__validator__lt_9_4_1__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__validator__lt_9_4_1__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__validator__lt_9_4_1__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__validator__lt_9_4_1__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__validator__lt_9_4_1__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__validator__lt_9_4_1__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__vega__lt_2_4_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__vega__lt_2_4_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__vega__lt_2_4_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__vega__lt_2_4_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__vega__lt_2_4_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__vega__lt_2_4_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__vega__lt_2_4_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__vega__lt_2_4_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__vega__lt_2_4_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__vega__lt_2_4_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__vega__lt_2_4_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__vega__lt_2_4_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__vega__lt_2_4_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__vega__lt_2_4_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__vega__lt_2_4_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__vega__lt_2_4_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__vue__le_2_5_14__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__vue__le_2_5_14__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__vue__le_2_5_14__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__vue__le_2_5_14__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__vue__le_2_5_14__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__vue__le_2_5_14__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__vue__le_2_5_14__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__vue__le_2_5_14__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__vue__le_2_5_14__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__vue__le_2_5_14__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__vue__le_2_5_14__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__vue__le_2_5_14__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__vue__le_2_5_14__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__vue__le_2_5_14__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__vue__le_2_5_14__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__vue__le_2_5_14__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__vue__lt_2_3_0_beta_1__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__vue__lt_2_3_0_beta_1__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__vue__lt_2_3_0_beta_1__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__vue__lt_2_3_0_beta_1__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__vue__lt_2_3_0_beta_1__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__vue__lt_2_3_0_beta_1__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__vue__lt_2_3_0_beta_1__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__vue__lt_2_3_0_beta_1__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__vue__lt_2_3_0_beta_1__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__vue__lt_2_3_0_beta_1__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__vue__lt_2_3_0_beta_1__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__vue__lt_2_3_0_beta_1__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__vue__lt_2_3_0_beta_1__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__vue__lt_2_3_0_beta_1__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__vue__lt_2_3_0_beta_1__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__vue__lt_2_3_0_beta_1__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__vue__lt_2_4_3__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__vue__lt_2_4_3__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__vue__lt_2_4_3__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__vue__lt_2_4_3__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__vue__lt_2_4_3__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__vue__lt_2_4_3__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__vue__lt_2_4_3__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__vue__lt_2_4_3__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__vue__lt_2_4_3__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__vue__lt_2_4_3__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__vue__lt_2_4_3__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__vue__lt_2_4_3__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__vue__lt_2_4_3__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__vue__lt_2_4_3__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__vue__lt_2_4_3__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__vue__lt_2_4_3__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__wangguojing123__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__wangguojing123__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__wangguojing123__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__wangguojing123__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__wangguojing123__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__wangguojing123__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__wangguojing123__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__wangguojing123__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__wangguojing123__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__wangguojing123__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__wangguojing123__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__wangguojing123__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__wangguojing123__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__wangguojing123__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__wangguojing123__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__wangguojing123__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__wangshuai__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__wangshuai__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__wangshuai__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__wangshuai__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__wangshuai__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__wangshuai__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__wangshuai__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__wangshuai__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__wangshuai__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__wangshuai__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__wangshuai__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__wangshuai__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__wangshuai__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__wangshuai__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__wangshuai__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__wangshuai__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__wasdk__lt_1_0_42__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__wasdk__lt_1_0_42__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__wasdk__lt_1_0_42__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__wasdk__lt_1_0_42__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__wasdk__lt_1_0_42__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__wasdk__lt_1_0_42__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__wasdk__lt_1_0_42__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__wasdk__lt_1_0_42__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__wasdk__lt_1_0_42__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__wasdk__lt_1_0_42__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__wasdk__lt_1_0_42__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__wasdk__lt_1_0_42__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__wasdk__lt_1_0_42__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__wasdk__lt_1_0_42__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__wasdk__lt_1_0_42__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__wasdk__lt_1_0_42__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__waterline_sequel__le_0_5_0__sql_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__waterline_sequel__le_0_5_0__sql_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__waterline_sequel__le_0_5_0__sql_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__waterline_sequel__le_0_5_0__sql_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__waterline_sequel__le_0_5_0__sql_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__waterline_sequel__le_0_5_0__sql_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__waterline_sequel__le_0_5_0__sql_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__waterline_sequel__le_0_5_0__sql_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__waterline_sequel__le_0_5_0__sql_injection.dacg.result.s2.o0": "The library is known to include the SQL Injection vulnerability.",
  "0.event.dacg_npm__waterline_sequel__le_0_5_0__sql_injection.dacg.result.s3.o0": "The SQL Injection vulnerability is caused by manipulating SQL queries or executing unintended SQL statements.",
  "0.event.dacg_npm__waterline_sequel__le_0_5_0__sql_injection.dacg.result.s4.o0": "Using the SQL Injection vulnerability, an attacker can steal and manipulate important information in the database.",
  "0.event.dacg_npm__waterline_sequel__le_0_5_0__sql_injection.dacg.result.s5.o0": "As a result of the test, the SQL Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__waterline_sequel__le_0_5_0__sql_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__waterline_sequel__le_0_5_0__sql_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__waterline_sequel__le_0_5_0__sql_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__waterline_sequel__le_0_5_0__sql_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__weather_swlyons__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__weather_swlyons__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__weather_swlyons__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__weather_swlyons__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__weather_swlyons__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__weather_swlyons__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__weather_swlyons__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__weather_swlyons__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__weather_swlyons__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__weather_swlyons__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__weather_swlyons__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__weather_swlyons__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__weather_swlyons__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__weather_swlyons__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__weather_swlyons__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__weather_swlyons__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__weathertest_bryceperkins__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__weathertest_bryceperkins__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__weathertest_bryceperkins__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__weathertest_bryceperkins__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__weathertest_bryceperkins__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__weathertest_bryceperkins__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__weathertest_bryceperkins__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__weathertest_bryceperkins__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__weathertest_bryceperkins__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__weathertest_bryceperkins__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__weathertest_bryceperkins__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__weathertest_bryceperkins__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__weathertest_bryceperkins__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__weathertest_bryceperkins__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__weathertest_bryceperkins__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__weathertest_bryceperkins__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__web_debug__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__web_debug__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__web_debug__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__web_debug__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__web_debug__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__web_debug__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__web_debug__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__web_debug__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__web_debug__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__web_debug__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__web_debug__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__web_debug__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__web_debug__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__web_debug__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__web_debug__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__web_debug__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__web_node_server__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__web_node_server__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__web_node_server__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__web_node_server__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__web_node_server__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__web_node_server__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__web_node_server__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__web_node_server__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__web_node_server__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__web_node_server__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__web_node_server__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__web_node_server__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__web_node_server__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__web_node_server__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__web_node_server__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__web_node_server__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__web_server_mock__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__web_server_mock__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__web_server_mock__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__web_server_mock__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__web_server_mock__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__web_server_mock__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__web_server_mock__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__web_server_mock__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__web_server_mock__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__web_server_mock__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__web_server_mock__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__web_server_mock__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__web_server_mock__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__web_server_mock__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__web_server_mock__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__web_server_mock__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__webdriver_launcher__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__webdriver_launcher__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__webdriver_launcher__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__webdriver_launcher__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__webdriver_launcher__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__webdriver_launcher__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__webdriver_launcher__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__webdriver_launcher__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__webdriver_launcher__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__webdriver_launcher__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__webdriver_launcher__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__webdriver_launcher__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__webdriver_launcher__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__webdriver_launcher__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__webdriver_launcher__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__webdriver_launcher__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__webdrvr__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__webdrvr__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__webdrvr__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__webdrvr__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__webdrvr__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__webdrvr__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__webdrvr__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__webdrvr__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__webdrvr__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__webdrvr__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__webdrvr__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__webdrvr__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__webdrvr__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__webdrvr__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__webdrvr__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__webdrvr__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__webrepl__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__webrepl__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__webrepl__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__webrepl__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__webrepl__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__webrepl__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__webrepl__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__webrepl__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__webrepl__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__webrepl__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__webrepl__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__webrepl__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__webrepl__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__webrepl__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__webrepl__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__webrepl__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__webrtc_native__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__webrtc_native__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__webrtc_native__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__webrtc_native__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__webrtc_native__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__webrtc_native__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__webrtc_native__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__webrtc_native__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__webrtc_native__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__webrtc_native__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__webrtc_native__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__webrtc_native__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__webrtc_native__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__webrtc_native__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__webrtc_native__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__webrtc_native__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__websocket_driver__lt_0_3_1__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__websocket_driver__lt_0_3_1__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__websocket_driver__lt_0_3_1__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__websocket_driver__lt_0_3_1__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__websocket_driver__lt_0_3_1__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__websocket_driver__lt_0_3_1__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__websocket_driver__lt_0_3_1__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__websocket_driver__lt_0_3_1__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__websocket_driver__lt_0_3_1__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__websocket_driver__lt_0_3_1__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__websocket_driver__lt_0_3_1__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__websocket_driver__lt_0_3_1__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__websocket_driver__lt_0_3_1__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__websocket_driver__lt_0_3_1__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__websocket_driver__lt_0_3_1__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__websocket_driver__lt_0_3_1__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__websvr__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__websvr__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__websvr__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__websvr__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__websvr__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__websvr__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__websvr__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__websvr__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__websvr__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__websvr__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__websvr__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__websvr__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__websvr__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__websvr__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__websvr__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__websvr__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__welcomyzt__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__welcomyzt__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__welcomyzt__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__welcomyzt__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__welcomyzt__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__welcomyzt__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__welcomyzt__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__welcomyzt__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__welcomyzt__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__welcomyzt__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__welcomyzt__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__welcomyzt__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__welcomyzt__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__welcomyzt__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__welcomyzt__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__welcomyzt__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__wenluhong111__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__wenluhong111__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__wenluhong111__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__wenluhong111__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__wenluhong111__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__wenluhong111__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__wenluhong111__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__wenluhong111__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__wenluhong111__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__wenluhong111__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__wenluhong111__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__wenluhong111__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__wenluhong111__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__wenluhong111__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__wenluhong111__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__wenluhong111__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__wenluhong11__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__wenluhong11__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__wenluhong11__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__wenluhong11__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__wenluhong11__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__wenluhong11__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__wenluhong11__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__wenluhong11__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__wenluhong11__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__wenluhong11__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__wenluhong11__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__wenluhong11__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__wenluhong11__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__wenluhong11__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__wenluhong11__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__wenluhong11__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__wenluhong1__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__wenluhong1__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__wenluhong1__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__wenluhong1__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__wenluhong1__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__wenluhong1__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__wenluhong1__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__wenluhong1__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__wenluhong1__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__wenluhong1__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__wenluhong1__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__wenluhong1__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__wenluhong1__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__wenluhong1__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__wenluhong1__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__wenluhong1__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__weyland__lt_2_1_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__weyland__lt_2_1_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__weyland__lt_2_1_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__weyland__lt_2_1_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__weyland__lt_2_1_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__weyland__lt_2_1_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__weyland__lt_2_1_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__weyland__lt_2_1_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__weyland__lt_2_1_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__weyland__lt_2_1_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__weyland__lt_2_1_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__weyland__lt_2_1_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__weyland__lt_2_1_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__weyland__lt_2_1_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__weyland__lt_2_1_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__weyland__lt_2_1_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__wffserve__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__wffserve__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__wffserve__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__wffserve__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__wffserve__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__wffserve__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__wffserve__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__wffserve__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__wffserve__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__wffserve__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__wffserve__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__wffserve__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__wffserve__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__wffserve__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__wffserve__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__wffserve__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__whatwg_mimetype__lt_2_0_0__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__whatwg_mimetype__lt_2_0_0__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__whatwg_mimetype__lt_2_0_0__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__whatwg_mimetype__lt_2_0_0__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__whatwg_mimetype__lt_2_0_0__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__whatwg_mimetype__lt_2_0_0__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__whatwg_mimetype__lt_2_0_0__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__whatwg_mimetype__lt_2_0_0__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__whatwg_mimetype__lt_2_0_0__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__whatwg_mimetype__lt_2_0_0__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__whatwg_mimetype__lt_2_0_0__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__whatwg_mimetype__lt_2_0_0__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__whatwg_mimetype__lt_2_0_0__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__whatwg_mimetype__lt_2_0_0__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__whatwg_mimetype__lt_2_0_0__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__whatwg_mimetype__lt_2_0_0__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__whereis__lt_0_4_1__command_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__whereis__lt_0_4_1__command_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__whereis__lt_0_4_1__command_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__whereis__lt_0_4_1__command_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__whereis__lt_0_4_1__command_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__whereis__lt_0_4_1__command_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__whereis__lt_0_4_1__command_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__whereis__lt_0_4_1__command_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__whereis__lt_0_4_1__command_injection.dacg.result.s2.o0": "The library is known to include the OS Command Injection vulnerability.",
  "0.event.dacg_npm__whereis__lt_0_4_1__command_injection.dacg.result.s3.o0": "The OS Command Injection vulnerability is caused by executing user commands without any verification process.",
  "0.event.dacg_npm__whereis__lt_0_4_1__command_injection.dacg.result.s4.o0": "Using the OS Command Injection vulnerability, an attacker can steal key information of the server and force to perform unintended behaviors.",
  "0.event.dacg_npm__whereis__lt_0_4_1__command_injection.dacg.result.s5.o0": "As a result of the test, the OS Command Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__whereis__lt_0_4_1__command_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__whereis__lt_0_4_1__command_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__whereis__lt_0_4_1__command_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__whereis__lt_0_4_1__command_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__whispercast__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__whispercast__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__whispercast__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__whispercast__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__whispercast__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__whispercast__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__whispercast__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__whispercast__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__whispercast__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__whispercast__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__whispercast__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__whispercast__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__whispercast__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__whispercast__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__whispercast__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__whispercast__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__wicket__lt_1_3_2__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__wicket__lt_1_3_2__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__wicket__lt_1_3_2__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__wicket__lt_1_3_2__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__wicket__lt_1_3_2__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__wicket__lt_1_3_2__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__wicket__lt_1_3_2__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__wicket__lt_1_3_2__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__wicket__lt_1_3_2__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__wicket__lt_1_3_2__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__wicket__lt_1_3_2__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__wicket__lt_1_3_2__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__wicket__lt_1_3_2__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__wicket__lt_1_3_2__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__wicket__lt_1_3_2__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__wicket__lt_1_3_2__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__willvdb_test_server__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__willvdb_test_server__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__willvdb_test_server__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__willvdb_test_server__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__willvdb_test_server__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__willvdb_test_server__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__willvdb_test_server__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__willvdb_test_server__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__willvdb_test_server__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__willvdb_test_server__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__willvdb_test_server__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__willvdb_test_server__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__willvdb_test_server__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__willvdb_test_server__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__willvdb_test_server__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__willvdb_test_server__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__wind_mvc__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__wind_mvc__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__wind_mvc__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__wind_mvc__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__wind_mvc__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__wind_mvc__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__wind_mvc__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__wind_mvc__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__wind_mvc__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__wind_mvc__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__wind_mvc__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__wind_mvc__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__wind_mvc__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__wind_mvc__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__wind_mvc__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__wind_mvc__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__windows_build_tools__lt_1_0_0__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__windows_build_tools__lt_1_0_0__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__windows_build_tools__lt_1_0_0__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__windows_build_tools__lt_1_0_0__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__windows_build_tools__lt_1_0_0__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__windows_build_tools__lt_1_0_0__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__windows_build_tools__lt_1_0_0__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__windows_build_tools__lt_1_0_0__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__windows_build_tools__lt_1_0_0__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__windows_build_tools__lt_1_0_0__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__windows_build_tools__lt_1_0_0__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__windows_build_tools__lt_1_0_0__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__windows_build_tools__lt_1_0_0__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__windows_build_tools__lt_1_0_0__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__windows_build_tools__lt_1_0_0__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__windows_build_tools__lt_1_0_0__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__windows_cpu__command_injection.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__windows_cpu__command_injection.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__windows_cpu__command_injection.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__windows_cpu__command_injection.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__windows_cpu__command_injection.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__windows_cpu__command_injection.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__windows_cpu__command_injection.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__windows_cpu__command_injection.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__windows_cpu__command_injection.dacg.result.s2.o0": "The library is known to include the OS Command Injection vulnerability.",
  "0.event.dacg_npm__windows_cpu__command_injection.dacg.result.s3.o0": "The OS Command Injection vulnerability is caused by executing user commands without any verification process.",
  "0.event.dacg_npm__windows_cpu__command_injection.dacg.result.s4.o0": "Using the OS Command Injection vulnerability, an attacker can steal key information of the server and force to perform unintended behaviors.",
  "0.event.dacg_npm__windows_cpu__command_injection.dacg.result.s5.o0": "As a result of the test, the OS Command Injection vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__windows_cpu__command_injection.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__windows_cpu__command_injection.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__windows_cpu__command_injection.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__windows_cpu__command_injection.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__windows_iedriver__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__windows_iedriver__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__windows_iedriver__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__windows_iedriver__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__windows_iedriver__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__windows_iedriver__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__windows_iedriver__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__windows_iedriver__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__windows_iedriver__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__windows_iedriver__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__windows_iedriver__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__windows_iedriver__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__windows_iedriver__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__windows_iedriver__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__windows_iedriver__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__windows_iedriver__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__windows_latestchromedriver__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__windows_latestchromedriver__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__windows_latestchromedriver__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__windows_latestchromedriver__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__windows_latestchromedriver__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__windows_latestchromedriver__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__windows_latestchromedriver__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__windows_latestchromedriver__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__windows_latestchromedriver__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__windows_latestchromedriver__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__windows_latestchromedriver__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__windows_latestchromedriver__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__windows_latestchromedriver__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__windows_latestchromedriver__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__windows_latestchromedriver__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__windows_latestchromedriver__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__windows_selenium_chromedriver__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__windows_selenium_chromedriver__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__windows_selenium_chromedriver__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__windows_selenium_chromedriver__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__windows_selenium_chromedriver__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__windows_selenium_chromedriver__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__windows_selenium_chromedriver__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__windows_selenium_chromedriver__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__windows_selenium_chromedriver__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__windows_selenium_chromedriver__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__windows_selenium_chromedriver__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__windows_selenium_chromedriver__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__windows_selenium_chromedriver__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__windows_selenium_chromedriver__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__windows_selenium_chromedriver__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__windows_selenium_chromedriver__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__windows_seleniumjar__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__windows_seleniumjar__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__windows_seleniumjar__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__windows_seleniumjar__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__windows_seleniumjar__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__windows_seleniumjar__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__windows_seleniumjar__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__windows_seleniumjar__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__windows_seleniumjar__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__windows_seleniumjar__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__windows_seleniumjar__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__windows_seleniumjar__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__windows_seleniumjar__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__windows_seleniumjar__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__windows_seleniumjar__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__windows_seleniumjar__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__windows_seleniumjar_mirror__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__windows_seleniumjar_mirror__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__windows_seleniumjar_mirror__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__windows_seleniumjar_mirror__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__windows_seleniumjar_mirror__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__windows_seleniumjar_mirror__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__windows_seleniumjar_mirror__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__windows_seleniumjar_mirror__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__windows_seleniumjar_mirror__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__windows_seleniumjar_mirror__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__windows_seleniumjar_mirror__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__windows_seleniumjar_mirror__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__windows_seleniumjar_mirror__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__windows_seleniumjar_mirror__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__windows_seleniumjar_mirror__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__windows_seleniumjar_mirror__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__wintiwebdev__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__wintiwebdev__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__wintiwebdev__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__wintiwebdev__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__wintiwebdev__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__wintiwebdev__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__wintiwebdev__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__wintiwebdev__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__wintiwebdev__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__wintiwebdev__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__wintiwebdev__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__wintiwebdev__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__wintiwebdev__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__wintiwebdev__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__wintiwebdev__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__wintiwebdev__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__wisper__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__wisper__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__wisper__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__wisper__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__wisper__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__wisper__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__wisper__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__wisper__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__wisper__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__wisper__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__wisper__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__wisper__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__wisper__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__wisper__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__wisper__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__wisper__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__wixtoolset__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__wixtoolset__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__wixtoolset__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__wixtoolset__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__wixtoolset__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__wixtoolset__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__wixtoolset__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__wixtoolset__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__wixtoolset__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__wixtoolset__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__wixtoolset__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__wixtoolset__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__wixtoolset__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__wixtoolset__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__wixtoolset__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__wixtoolset__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__wrlc__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__wrlc__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__wrlc__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__wrlc__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__wrlc__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__wrlc__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__wrlc__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__wrlc__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__wrlc__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__wrlc__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__wrlc__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__wrlc__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__wrlc__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__wrlc__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__wrlc__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__wrlc__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ws__ge_2_0_0_lt_3_3_1__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ws__ge_2_0_0_lt_3_3_1__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ws__ge_2_0_0_lt_3_3_1__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ws__ge_2_0_0_lt_3_3_1__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ws__ge_2_0_0_lt_3_3_1__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ws__ge_2_0_0_lt_3_3_1__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ws__ge_2_0_0_lt_3_3_1__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ws__ge_2_0_0_lt_3_3_1__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ws__ge_2_0_0_lt_3_3_1__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__ws__ge_2_0_0_lt_3_3_1__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__ws__ge_2_0_0_lt_3_3_1__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__ws__ge_2_0_0_lt_3_3_1__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ws__ge_2_0_0_lt_3_3_1__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ws__ge_2_0_0_lt_3_3_1__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ws__ge_2_0_0_lt_3_3_1__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ws__ge_2_0_0_lt_3_3_1__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ws__le_1_1_0__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ws__le_1_1_0__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ws__le_1_1_0__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ws__le_1_1_0__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ws__le_1_1_0__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ws__le_1_1_0__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ws__le_1_1_0__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ws__le_1_1_0__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ws__le_1_1_0__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__ws__le_1_1_0__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__ws__le_1_1_0__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__ws__le_1_1_0__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ws__le_1_1_0__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ws__le_1_1_0__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ws__le_1_1_0__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ws__le_1_1_0__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ws__lt_1_0_1__information_exposure.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ws__lt_1_0_1__information_exposure.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ws__lt_1_0_1__information_exposure.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ws__lt_1_0_1__information_exposure.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ws__lt_1_0_1__information_exposure.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ws__lt_1_0_1__information_exposure.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ws__lt_1_0_1__information_exposure.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ws__lt_1_0_1__information_exposure.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ws__lt_1_0_1__information_exposure.dacg.result.s2.o0": "The library is known to include the Information Exposure vulnerability.",
  "0.event.dacg_npm__ws__lt_1_0_1__information_exposure.dacg.result.s3.o0": "The Information Exposure vulnerability is caused by lacking security measures for the information, which exposes sensitive information.",
  "0.event.dacg_npm__ws__lt_1_0_1__information_exposure.dacg.result.s4.o0": "An attacker can use the Information Exposure vulnerability to access sensitive information or steal relevant information.",
  "0.event.dacg_npm__ws__lt_1_0_1__information_exposure.dacg.result.s5.o0": "As a result of the test, the Information Exposure vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ws__lt_1_0_1__information_exposure.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ws__lt_1_0_1__information_exposure.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ws__lt_1_0_1__information_exposure.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ws__lt_1_0_1__information_exposure.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ws__lt_1_1_2__use_of_insufficiently_random_values.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ws__lt_1_1_2__use_of_insufficiently_random_values.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ws__lt_1_1_2__use_of_insufficiently_random_values.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ws__lt_1_1_2__use_of_insufficiently_random_values.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ws__lt_1_1_2__use_of_insufficiently_random_values.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ws__lt_1_1_2__use_of_insufficiently_random_values.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ws__lt_1_1_2__use_of_insufficiently_random_values.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ws__lt_1_1_2__use_of_insufficiently_random_values.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ws__lt_1_1_2__use_of_insufficiently_random_values.dacg.result.s2.o0": "This library is known to include a Use of Insufficiently Random Values vulnerability.",
  "0.event.dacg_npm__ws__lt_1_1_2__use_of_insufficiently_random_values.dacg.result.s3.o0": "The Use of Insufficient Random Number vulnerability is caused by using predictable random numbers.",
  "0.event.dacg_npm__ws__lt_1_1_2__use_of_insufficiently_random_values.dacg.result.s4.o0": "An attacker can use Insufficiently Random Values vulnerability to infer a random number value of a password or decryption key.",
  "0.event.dacg_npm__ws__lt_1_1_2__use_of_insufficiently_random_values.dacg.result.s5.o0": "As a result of the test, the Use of Insufficiently Random Values vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ws__lt_1_1_2__use_of_insufficiently_random_values.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ws__lt_1_1_2__use_of_insufficiently_random_values.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ws__lt_1_1_2__use_of_insufficiently_random_values.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ws__lt_1_1_2__use_of_insufficiently_random_values.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__ws__lt_1_1_5__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__ws__lt_1_1_5__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__ws__lt_1_1_5__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__ws__lt_1_1_5__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__ws__lt_1_1_5__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__ws__lt_1_1_5__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__ws__lt_1_1_5__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__ws__lt_1_1_5__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__ws__lt_1_1_5__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__ws__lt_1_1_5__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__ws__lt_1_1_5__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__ws__lt_1_1_5__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__ws__lt_1_1_5__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__ws__lt_1_1_5__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__ws__lt_1_1_5__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__ws__lt_1_1_5__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__wuzhuang__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__wuzhuang__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__wuzhuang__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__wuzhuang__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__wuzhuang__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__wuzhuang__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__wuzhuang__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__wuzhuang__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__wuzhuang__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__wuzhuang__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__wuzhuang__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__wuzhuang__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__wuzhuang__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__wuzhuang__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__wuzhuang__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__wuzhuang__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__wuzhuangserver__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__wuzhuangserver__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__wuzhuangserver__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__wuzhuangserver__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__wuzhuangserver__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__wuzhuangserver__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__wuzhuangserver__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__wuzhuangserver__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__wuzhuangserver__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__wuzhuangserver__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__wuzhuangserver__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__wuzhuangserver__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__wuzhuangserver__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__wuzhuangserver__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__wuzhuangserver__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__wuzhuangserver__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__wysihtml__lt_0_4_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__wysihtml__lt_0_4_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__wysihtml__lt_0_4_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__wysihtml__lt_0_4_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__wysihtml__lt_0_4_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__wysihtml__lt_0_4_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__wysihtml__lt_0_4_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__wysihtml__lt_0_4_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__wysihtml__lt_0_4_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__wysihtml__lt_0_4_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__wysihtml__lt_0_4_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__wysihtml__lt_0_4_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__wysihtml__lt_0_4_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__wysihtml__lt_0_4_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__wysihtml__lt_0_4_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__wysihtml__lt_0_4_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__xbhxbh__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__xbhxbh__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__xbhxbh__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__xbhxbh__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__xbhxbh__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__xbhxbh__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__xbhxbh__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__xbhxbh__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__xbhxbh__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__xbhxbh__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__xbhxbh__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__xbhxbh__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__xbhxbh__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__xbhxbh__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__xbhxbh__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__xbhxbh__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__xd_testing__resources_downloaded_over_insecure_protocol.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__xd_testing__resources_downloaded_over_insecure_protocol.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__xd_testing__resources_downloaded_over_insecure_protocol.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__xd_testing__resources_downloaded_over_insecure_protocol.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__xd_testing__resources_downloaded_over_insecure_protocol.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__xd_testing__resources_downloaded_over_insecure_protocol.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__xd_testing__resources_downloaded_over_insecure_protocol.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__xd_testing__resources_downloaded_over_insecure_protocol.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__xd_testing__resources_downloaded_over_insecure_protocol.dacg.result.s2.o0": "The library is known to include the Resources Downloaded over Insecure Protocol vulnerability.",
  "0.event.dacg_npm__xd_testing__resources_downloaded_over_insecure_protocol.dacg.result.s3.o0": "The Resources Downloaded over Insecure Protocol vulnerability is caused when a download environment is vulnerable to external intervention.",
  "0.event.dacg_npm__xd_testing__resources_downloaded_over_insecure_protocol.dacg.result.s4.o0": "An attacker can use the Resources Downloaded over Insecure Protocol vulnerability to steal or manipulate resources to be downloaded.",
  "0.event.dacg_npm__xd_testing__resources_downloaded_over_insecure_protocol.dacg.result.s5.o0": "As a result of the test, the Resources Downloaded over Insecure Protocol vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__xd_testing__resources_downloaded_over_insecure_protocol.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__xd_testing__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__xd_testing__resources_downloaded_over_insecure_protocol.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__xd_testing__resources_downloaded_over_insecure_protocol.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__xingbaohai__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__xingbaohai__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__xingbaohai__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__xingbaohai__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__xingbaohai__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__xingbaohai__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__xingbaohai__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__xingbaohai__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__xingbaohai__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__xingbaohai__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__xingbaohai__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__xingbaohai__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__xingbaohai__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__xingbaohai__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__xingbaohai__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__xingbaohai__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__xiongrui_httpserver__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__xiongrui_httpserver__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__xiongrui_httpserver__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__xiongrui_httpserver__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__xiongrui_httpserver__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__xiongrui_httpserver__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__xiongrui_httpserver__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__xiongrui_httpserver__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__xiongrui_httpserver__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__xiongrui_httpserver__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__xiongrui_httpserver__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__xiongrui_httpserver__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__xiongrui_httpserver__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__xiongrui_httpserver__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__xiongrui_httpserver__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__xiongrui_httpserver__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__xlsx__lt_0_12_2__redos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__xlsx__lt_0_12_2__redos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__xlsx__lt_0_12_2__redos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__xlsx__lt_0_12_2__redos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__xlsx__lt_0_12_2__redos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__xlsx__lt_0_12_2__redos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__xlsx__lt_0_12_2__redos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__xlsx__lt_0_12_2__redos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__xlsx__lt_0_12_2__redos.dacg.result.s2.o0": "The library is known to include the Regular Expression Denial of Service (ReDoS) vulnerability.",
  "0.event.dacg_npm__xlsx__lt_0_12_2__redos.dacg.result.s3.o0": "The Regular Expression Denial of Service (ReDoS) vulnerability is caused when a server cannot process properly other HTTP requests by computing intentionally created regular expressions for a long time.",
  "0.event.dacg_npm__xlsx__lt_0_12_2__redos.dacg.result.s4.o0": "An attacker can use the Regular Expression Denial of Service (ReDoS) vulnerability to make the service unavailable for other normal users.",
  "0.event.dacg_npm__xlsx__lt_0_12_2__redos.dacg.result.s5.o0": "As a result of the test, the Regular Expression Denial of Service (ReDoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__xlsx__lt_0_12_2__redos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__xlsx__lt_0_12_2__redos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__xlsx__lt_0_12_2__redos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__xlsx__lt_0_12_2__redos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__xtalk__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__xtalk__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__xtalk__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__xtalk__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__xtalk__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__xtalk__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__xtalk__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__xtalk__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__xtalk__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__xtalk__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__xtalk__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__xtalk__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__xtalk__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__xtalk__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__xtalk__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__xtalk__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__xxf11__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__xxf11__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__xxf11__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__xxf11__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__xxf11__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__xxf11__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__xxf11__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__xxf11__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__xxf11__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__xxf11__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__xxf11__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__xxf11__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__xxf11__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__xxf11__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__xxf11__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__xxf11__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__yar__lt_2_2_0__dos.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__yar__lt_2_2_0__dos.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__yar__lt_2_2_0__dos.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__yar__lt_2_2_0__dos.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__yar__lt_2_2_0__dos.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__yar__lt_2_2_0__dos.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__yar__lt_2_2_0__dos.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__yar__lt_2_2_0__dos.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__yar__lt_2_2_0__dos.dacg.result.s2.o0": "The library is known to include the Denial of Service (DoS) vulnerability.",
  "0.event.dacg_npm__yar__lt_2_2_0__dos.dacg.result.s3.o0": "The Denial of Service (DoS) vulnerability is caused when a server cannot process requests properly due to an attacker's resource allocation.",
  "0.event.dacg_npm__yar__lt_2_2_0__dos.dacg.result.s4.o0": "Using the Denial of Service (DoS) vulnerability, an attacker can make the service unavailable for other normal users.",
  "0.event.dacg_npm__yar__lt_2_2_0__dos.dacg.result.s5.o0": "As a result of the test, the Denial of Service (DoS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__yar__lt_2_2_0__dos.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__yar__lt_2_2_0__dos.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__yar__lt_2_2_0__dos.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__yar__lt_2_2_0__dos.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__yjmyjmyjm__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__yjmyjmyjm__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__yjmyjmyjm__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__yjmyjmyjm__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__yjmyjmyjm__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__yjmyjmyjm__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__yjmyjmyjm__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__yjmyjmyjm__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__yjmyjmyjm__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__yjmyjmyjm__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__yjmyjmyjm__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__yjmyjmyjm__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__yjmyjmyjm__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__yjmyjmyjm__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__yjmyjmyjm__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__yjmyjmyjm__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__yms__lt_1_0_1__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__yms__lt_1_0_1__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__yms__lt_1_0_1__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__yms__lt_1_0_1__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__yms__lt_1_0_1__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__yms__lt_1_0_1__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__yms__lt_1_0_1__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__yms__lt_1_0_1__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__yms__lt_1_0_1__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__yms__lt_1_0_1__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__yms__lt_1_0_1__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__yms__lt_1_0_1__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__yms__lt_1_0_1__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__yms__lt_1_0_1__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__yms__lt_1_0_1__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__yms__lt_1_0_1__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__youtransfer__file_upload.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__youtransfer__file_upload.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__youtransfer__file_upload.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__youtransfer__file_upload.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__youtransfer__file_upload.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__youtransfer__file_upload.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__youtransfer__file_upload.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__youtransfer__file_upload.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__youtransfer__file_upload.dacg.result.s2.o0": "The library is known to include the File Upload vulnerability.",
  "0.event.dacg_npm__youtransfer__file_upload.dacg.result.s3.o0": "The File Upload vulnerability is caused by uploading files without any verification process.",
  "0.event.dacg_npm__youtransfer__file_upload.dacg.result.s4.o0": "Using the File Upload vulnerability, an attacker can upload files that damage the server performance.",
  "0.event.dacg_npm__youtransfer__file_upload.dacg.result.s5.o0": "As a result of the test, the File Upload vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__youtransfer__file_upload.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__youtransfer__file_upload.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__youtransfer__file_upload.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__youtransfer__file_upload.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__yttivy__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__yttivy__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__yttivy__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__yttivy__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__yttivy__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__yttivy__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__yttivy__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__yttivy__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__yttivy__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__yttivy__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__yttivy__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__yttivy__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__yttivy__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__yttivy__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__yttivy__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__yttivy__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__yui__eq_3_10_2__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__yui__eq_3_10_2__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__yui__eq_3_10_2__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__yui__eq_3_10_2__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__yui__eq_3_10_2__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__yui__eq_3_10_2__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__yui__eq_3_10_2__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__yui__eq_3_10_2__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__yui__eq_3_10_2__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__yui__eq_3_10_2__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__yui__eq_3_10_2__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__yui__eq_3_10_2__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__yui__eq_3_10_2__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__yui__eq_3_10_2__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__yui__eq_3_10_2__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__yui__eq_3_10_2__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__yui__ge_2_4_0_lt_2_8_2__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__yui__ge_2_4_0_lt_2_8_2__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__yui__ge_2_4_0_lt_2_8_2__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__yui__ge_2_4_0_lt_2_8_2__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__yui__ge_2_4_0_lt_2_8_2__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__yui__ge_2_4_0_lt_2_8_2__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__yui__ge_2_4_0_lt_2_8_2__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__yui__ge_2_4_0_lt_2_8_2__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__yui__ge_2_4_0_lt_2_8_2__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__yui__ge_2_4_0_lt_2_8_2__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__yui__ge_2_4_0_lt_2_8_2__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__yui__ge_2_4_0_lt_2_8_2__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__yui__ge_2_4_0_lt_2_8_2__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__yui__ge_2_4_0_lt_2_8_2__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__yui__ge_2_4_0_lt_2_8_2__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__yui__ge_2_4_0_lt_2_8_2__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__yui__ge_2_4_0_lt_3_0_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__yui__ge_2_4_0_lt_3_0_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__yui__ge_2_4_0_lt_3_0_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__yui__ge_2_4_0_lt_3_0_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__yui__ge_2_4_0_lt_3_0_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__yui__ge_2_4_0_lt_3_0_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__yui__ge_2_4_0_lt_3_0_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__yui__ge_2_4_0_lt_3_0_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__yui__ge_2_4_0_lt_3_0_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__yui__ge_2_4_0_lt_3_0_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__yui__ge_2_4_0_lt_3_0_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__yui__ge_2_4_0_lt_3_0_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__yui__ge_2_4_0_lt_3_0_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__yui__ge_2_4_0_lt_3_0_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__yui__ge_2_4_0_lt_3_0_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__yui__ge_2_4_0_lt_3_0_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__yui__ge_3_0_0_lt_3_10_0__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__yui__ge_3_0_0_lt_3_10_0__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__yui__ge_3_0_0_lt_3_10_0__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__yui__ge_3_0_0_lt_3_10_0__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__yui__ge_3_0_0_lt_3_10_0__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__yui__ge_3_0_0_lt_3_10_0__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__yui__ge_3_0_0_lt_3_10_0__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__yui__ge_3_0_0_lt_3_10_0__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__yui__ge_3_0_0_lt_3_10_0__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__yui__ge_3_0_0_lt_3_10_0__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__yui__ge_3_0_0_lt_3_10_0__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__yui__ge_3_0_0_lt_3_10_0__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__yui__ge_3_0_0_lt_3_10_0__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__yui__ge_3_0_0_lt_3_10_0__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__yui__ge_3_0_0_lt_3_10_0__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__yui__ge_3_0_0_lt_3_10_0__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__yui__ge_3_0_0_lt_3_10_1__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__yui__ge_3_0_0_lt_3_10_1__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__yui__ge_3_0_0_lt_3_10_1__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__yui__ge_3_0_0_lt_3_10_1__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__yui__ge_3_0_0_lt_3_10_1__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__yui__ge_3_0_0_lt_3_10_1__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__yui__ge_3_0_0_lt_3_10_1__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__yui__ge_3_0_0_lt_3_10_1__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__yui__ge_3_0_0_lt_3_10_1__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__yui__ge_3_0_0_lt_3_10_1__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__yui__ge_3_0_0_lt_3_10_1__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__yui__ge_3_0_0_lt_3_10_1__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__yui__ge_3_0_0_lt_3_10_1__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__yui__ge_3_0_0_lt_3_10_1__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__yui__ge_3_0_0_lt_3_10_1__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__yui__ge_3_0_0_lt_3_10_1__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__yui__ge_3_5_0_pr1_lt_3_5_1__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__yui__ge_3_5_0_pr1_lt_3_5_1__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__yui__ge_3_5_0_pr1_lt_3_5_1__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__yui__ge_3_5_0_pr1_lt_3_5_1__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__yui__ge_3_5_0_pr1_lt_3_5_1__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__yui__ge_3_5_0_pr1_lt_3_5_1__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__yui__ge_3_5_0_pr1_lt_3_5_1__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__yui__ge_3_5_0_pr1_lt_3_5_1__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__yui__ge_3_5_0_pr1_lt_3_5_1__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__yui__ge_3_5_0_pr1_lt_3_5_1__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__yui__ge_3_5_0_pr1_lt_3_5_1__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__yui__ge_3_5_0_pr1_lt_3_5_1__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__yui__ge_3_5_0_pr1_lt_3_5_1__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__yui__ge_3_5_0_pr1_lt_3_5_1__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__yui__ge_3_5_0_pr1_lt_3_5_1__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__yui__ge_3_5_0_pr1_lt_3_5_1__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__yxxserver__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__yxxserver__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__yxxserver__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__yxxserver__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__yxxserver__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__yxxserver__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__yxxserver__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__yxxserver__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__yxxserver__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__yxxserver__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__yxxserver__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__yxxserver__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__yxxserver__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__yxxserver__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__yxxserver__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__yxxserver__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__yyooopack__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__yyooopack__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__yyooopack__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__yyooopack__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__yyooopack__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__yyooopack__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__yyooopack__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__yyooopack__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__yyooopack__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__yyooopack__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__yyooopack__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__yyooopack__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__yyooopack__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__yyooopack__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__yyooopack__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__yyooopack__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__yypsulie11__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__yypsulie11__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__yypsulie11__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__yypsulie11__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__yypsulie11__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__yypsulie11__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__yypsulie11__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__yypsulie11__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__yypsulie11__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__yypsulie11__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__yypsulie11__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__yypsulie11__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__yypsulie11__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__yypsulie11__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__yypsulie11__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__yypsulie11__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__yzt__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__yzt__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__yzt__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__yzt__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__yzt__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__yzt__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__yzt__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__yzt__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__yzt__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__yzt__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__yzt__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__yzt__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__yzt__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__yzt__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__yzt__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__yzt__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__zeroclipboard__ge_1_0_7_lt_1_3_2__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__zeroclipboard__ge_1_0_7_lt_1_3_2__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__zeroclipboard__ge_1_0_7_lt_1_3_2__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__zeroclipboard__ge_1_0_7_lt_1_3_2__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__zeroclipboard__ge_1_0_7_lt_1_3_2__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__zeroclipboard__ge_1_0_7_lt_1_3_2__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__zeroclipboard__ge_1_0_7_lt_1_3_2__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__zeroclipboard__ge_1_0_7_lt_1_3_2__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__zeroclipboard__ge_1_0_7_lt_1_3_2__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__zeroclipboard__ge_1_0_7_lt_1_3_2__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__zeroclipboard__ge_1_0_7_lt_1_3_2__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__zeroclipboard__ge_1_0_7_lt_1_3_2__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__zeroclipboard__ge_1_0_7_lt_1_3_2__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__zeroclipboard__ge_1_0_7_lt_1_3_2__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__zeroclipboard__ge_1_0_7_lt_1_3_2__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__zeroclipboard__ge_1_0_7_lt_1_3_2__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__zeroclipboard__lt_1_0_8__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__zeroclipboard__lt_1_0_8__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__zeroclipboard__lt_1_0_8__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__zeroclipboard__lt_1_0_8__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__zeroclipboard__lt_1_0_8__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__zeroclipboard__lt_1_0_8__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__zeroclipboard__lt_1_0_8__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__zeroclipboard__lt_1_0_8__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__zeroclipboard__lt_1_0_8__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__zeroclipboard__lt_1_0_8__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__zeroclipboard__lt_1_0_8__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__zeroclipboard__lt_1_0_8__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__zeroclipboard__lt_1_0_8__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__zeroclipboard__lt_1_0_8__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__zeroclipboard__lt_1_0_8__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__zeroclipboard__lt_1_0_8__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__zeroclipboard__lt_1_1_4__xss.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__zeroclipboard__lt_1_1_4__xss.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__zeroclipboard__lt_1_1_4__xss.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__zeroclipboard__lt_1_1_4__xss.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__zeroclipboard__lt_1_1_4__xss.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__zeroclipboard__lt_1_1_4__xss.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__zeroclipboard__lt_1_1_4__xss.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__zeroclipboard__lt_1_1_4__xss.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__zeroclipboard__lt_1_1_4__xss.dacg.result.s2.o0": "The library is known to include the Cross-Site Script (XSS) vulnerability.",
  "0.event.dacg_npm__zeroclipboard__lt_1_1_4__xss.dacg.result.s3.o0": "The Cross-Site Script (XSS) vulnerability is caused by injecting malicious executable scripts into a web page.",
  "0.event.dacg_npm__zeroclipboard__lt_1_1_4__xss.dacg.result.s4.o0": "An attacker can use the Cross-Site Script (XSS) vulnerability to inject and execute malicious scripts, and steal or manipulate user information, such as sessions, cookies, etc.",
  "0.event.dacg_npm__zeroclipboard__lt_1_1_4__xss.dacg.result.s5.o0": "As a result of the test, the Cross-Site Script (XSS) vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__zeroclipboard__lt_1_1_4__xss.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__zeroclipboard__lt_1_1_4__xss.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__zeroclipboard__lt_1_1_4__xss.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__zeroclipboard__lt_1_1_4__xss.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__zhanglina__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__zhanglina__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__zhanglina__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__zhanglina__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__zhanglina__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__zhanglina__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__zhanglina__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__zhanglina__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__zhanglina__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__zhanglina__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__zhanglina__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__zhanglina__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__zhanglina__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__zhanglina__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__zhanglina__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__zhanglina__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__zhangranbigman__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__zhangranbigman__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__zhangranbigman__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__zhangranbigman__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__zhangranbigman__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__zhangranbigman__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__zhangranbigman__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__zhangranbigman__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__zhangranbigman__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__zhangranbigman__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__zhangranbigman__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__zhangranbigman__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__zhangranbigman__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__zhangranbigman__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__zhangranbigman__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__zhangranbigman__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__zhaolei1111__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__zhaolei1111__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__zhaolei1111__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__zhaolei1111__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__zhaolei1111__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__zhaolei1111__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__zhaolei1111__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__zhaolei1111__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__zhaolei1111__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__zhaolei1111__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__zhaolei1111__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__zhaolei1111__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__zhaolei1111__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__zhaolei1111__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__zhaolei1111__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__zhaolei1111__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__zjjserver__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__zjjserver__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__zjjserver__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__zjjserver__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__zjjserver__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__zjjserver__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__zjjserver__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__zjjserver__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__zjjserver__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__zjjserver__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__zjjserver__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__zjjserver__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__zjjserver__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__zjjserver__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__zjjserver__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__zjjserver__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__zs123__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__zs123__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__zs123__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__zs123__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__zs123__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__zs123__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__zs123__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__zs123__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__zs123__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__zs123__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__zs123__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__zs123__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__zs123__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__zs123__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__zs123__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__zs123__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__zwserver__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__zwserver__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__zwserver__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__zwserver__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__zwserver__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__zwserver__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__zwserver__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__zwserver__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__zwserver__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__zwserver__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__zwserver__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__zwserver__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__zwserver__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__zwserver__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__zwserver__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__zwserver__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dacg_npm__zxyserver__directory_traversal.conditional.versioninfo": "{0}",
  "0.event.dacg_npm__zxyserver__directory_traversal.conditional.versionmsg": "The list of versions including the vulnerability is shown as follow.",
  "0.event.dacg_npm__zxyserver__directory_traversal.dacg.attack.s0.o0": "An application gets vulnerable when it uses a vulnerable JavaScript library.",
  "0.event.dacg_npm__zxyserver__directory_traversal.dacg.attack.s1.o0": "In order to check application vulnerability with vulnerable JavaScript library, the following test has been performed.",
  "0.event.dacg_npm__zxyserver__directory_traversal.dacg.attack.s2.o0": "Usage and version information of library {0} have been searched on the target page.",
  "0.event.dacg_npm__zxyserver__directory_traversal.dacg.attack.s3.o0": "When the page uses the library, its vulnerabilities have been checked in all versions and limited versions.",
  "0.event.dacg_npm__zxyserver__directory_traversal.dacg.result.s0.o0": "The analysis result is shown as follow.",
  "0.event.dacg_npm__zxyserver__directory_traversal.dacg.result.s1.o0": "{1} version of {0} library has been found to be used in the target page.",
  "0.event.dacg_npm__zxyserver__directory_traversal.dacg.result.s2.o0": "The library is known to include the Directory Traversal vulnerability.",
  "0.event.dacg_npm__zxyserver__directory_traversal.dacg.result.s3.o0": "The Directory Traversal vulnerability is caused by accessing other paths except permitted web root paths.",
  "0.event.dacg_npm__zxyserver__directory_traversal.dacg.result.s4.o0": "An attacker can use the Directory Traversal vulnerability to access to and manipulate restricted files or directories.",
  "0.event.dacg_npm__zxyserver__directory_traversal.dacg.result.s5.o0": "As a result of the test, the Directory Traversal vulnerability has been found to exist by using {0} library.",
  "0.event.dacg_npm__zxyserver__directory_traversal.dacg.solution.s0.o0": "The solution is shown as follow.",
  "0.event.dacg_npm__zxyserver__directory_traversal.dacg.solution.s1.o0": "Please change the version of the library to a non-vulnerable version.",
  "0.event.dacg_npm__zxyserver__directory_traversal.dacg.solution.s1.o1": "It is recommended to use the latest version of library.",
  "0.event.dacg_npm__zxyserver__directory_traversal.dacg.solution.s2.o0": "And also, it is required to be replaced by another library without vulnerabilities.",
  "0.event.dast.sw.common.6497.closure.attack.s0.o0": "The attempt to log-in has been executed on the following URL.",
  "0.event.dast.sw.common.6497.closure.attack.s0.o1": "{0}",
  "0.event.dast.sw.common.6497.closure.attack.s1.o0": "Navigated to the following URL after logging-in:",
  "0.event.dast.sw.common.6497.closure.attack.s1.o1": "{0}",
  "0.event.dast.sw.common.6497.closure.attack.s2.o0": "Got a cookie value named {0} from the browser. The value indicates the following session ID.",
  "0.event.dast.sw.common.6497.closure.attack.s2.o1": "{0}",
  "0.event.dast.sw.common.6497.closure.attack.s3.o0": "Restarted the browser after terminating it.",
  "0.event.dast.sw.common.6497.closure.attack.s4.o0": "The {0} is set to the cookie in the browser as below.",
  "0.event.dast.sw.common.6497.closure.attack.s4.o1": "{0}",
  "0.event.dast.sw.common.6497.closure.attack.s5.o0": "Attempted to navigate to the following URL that was accessible after signing in without further authentication.",
  "0.event.dast.sw.common.6497.closure.attack.s5.o1": "{0}",
  "0.event.dast.sw.common.6497.closure.result.s0.o0": "The results of attempting access to the following URL shows that the you can acceess to the page without any authentication.",
  "0.event.dast.sw.common.6497.closure.result.s0.o1": "{0}",
  "0.event.dast.sw.common.6497.closure.result.s1.o0": "The reuse of the session has been found to be succeeded after logging out.",
  "0.event.dast.sw.common.6497.closure.solution.s0.o0": "Session IDs should not be duplicated or reused, and a new session ID should be created for each login.",
  "0.event.dast.sw.common.6497.logout.attack.s0.o0": "The attempt to log-in has been executed on the following URL.",
  "0.event.dast.sw.common.6497.logout.attack.s0.o1": "{0}",
  "0.event.dast.sw.common.6497.logout.attack.s1.o0": "Navigated to the following URL after logging-in:",
  "0.event.dast.sw.common.6497.logout.attack.s1.o1": "{0}",
  "0.event.dast.sw.common.6497.logout.attack.s2.o0": "Got a cookie value named {0} from the browser. The value indicates the following session ID.",
  "0.event.dast.sw.common.6497.logout.attack.s2.o1": "{0}",
  "0.event.dast.sw.common.6497.logout.attack.s3.o0": "The attempt to log-out has been executed on the following URL.",
  "0.event.dast.sw.common.6497.logout.attack.s3.o1": "{0}",
  "0.event.dast.sw.common.6497.logout.attack.s4.o0": "Navigated to the following URL after logging-out.",
  "0.event.dast.sw.common.6497.logout.attack.s4.o1": "{0}",
  "0.event.dast.sw.common.6497.logout.attack.s5.o0": "The {0} is set to the cookie in the browser as below.",
  "0.event.dast.sw.common.6497.logout.attack.s5.o1": "{0}",
  "0.event.dast.sw.common.6497.logout.attack.s6.o0": "Attempted to navigate to the following URL that was accessible after signing in without further authentication.",
  "0.event.dast.sw.common.6497.logout.attack.s6.o1": "{0}",
  "0.event.dast.sw.common.6497.logout.result.s0.o0": "The results of attempting access to the following URL shows that the you can acceess to the page without any authentication.",
  "0.event.dast.sw.common.6497.logout.result.s0.o1": "{0}",
  "0.event.dast.sw.common.6497.logout.result.s1.o0": "The reuse of the session has been found to be succeeded after logging out.",
  "0.event.dast.sw.common.6497.logout.solution.s0.o0": "Session IDs should not be duplicated or reused, and a new session ID should be created for each login.",
  "0.event.dast.sw.common.6498.closure.attack.s0.o0": "The attempt to log-in has been executed on the following URL.",
  "0.event.dast.sw.common.6498.closure.attack.s0.o1": "{0}",
  "0.event.dast.sw.common.6498.closure.attack.s1.o0": "Navigated to the following URL after logging-in:",
  "0.event.dast.sw.common.6498.closure.attack.s1.o1": "{0}",
  "0.event.dast.sw.common.6498.closure.attack.s2.o0": "Got a cookie value named {0} from the browser. The value indicates the following session ID.",
  "0.event.dast.sw.common.6498.closure.attack.s2.o1": "{0}",
  "0.event.dast.sw.common.6498.closure.attack.s3.o0": "Waited for {0} seconds.\n",
  "0.event.dast.sw.common.6498.closure.attack.s4.o0": "Restarted the browser after terminating it.",
  "0.event.dast.sw.common.6498.closure.attack.s5.o0": "The {0} is set to the cookie in the browser as below.",
  "0.event.dast.sw.common.6498.closure.attack.s5.o1": "{0}",
  "0.event.dast.sw.common.6498.closure.attack.s6.o0": "Attempted to navigate to the following URL that was accessible after signing in without further authentication.",
  "0.event.dast.sw.common.6498.closure.attack.s6.o1": "{0}",
  "0.event.dast.sw.common.6498.closure.result.s0.o0": "The results of attempting access to the following URL shows that the you can acceess to the page without any authentication.",
  "0.event.dast.sw.common.6498.closure.result.s0.o1": "{0}",
  "0.event.dast.sw.common.6498.closure.result.s1.o0": "The reuse of the session has been found to be succeeded after restarting the browser.",
  "0.event.dast.sw.common.6498.closure.solution.s0.o0": "Set the Session Timeout for your web application.",
  "0.event.dast.sw.common.6500.fixed.attack.s0.o0": "The first attempt to log-in has been executed on the following URL.",
  "0.event.dast.sw.common.6500.fixed.attack.s0.o1": "{0}",
  "0.event.dast.sw.common.6500.fixed.attack.s1.o0": "Navigated to the following URL after logging-in:",
  "0.event.dast.sw.common.6500.fixed.attack.s1.o1": "{0}",
  "0.event.dast.sw.common.6500.fixed.attack.s2.o0": "Got a cookie value named {0} from the browser. The value indicates the following session ID.",
  "0.event.dast.sw.common.6500.fixed.attack.s2.o1": "{0}",
  "0.event.dast.sw.common.6500.fixed.attack.s3.o0": "Restarted the browser after terminating it.",
  "0.event.dast.sw.common.6500.fixed.attack.s4.o0": "The second attempt to log-in has been executed on the following URL.",
  "0.event.dast.sw.common.6500.fixed.attack.s4.o1": "{0}",
  "0.event.dast.sw.common.6500.fixed.attack.s5.o0": "Navigated to the following URL after logging-in:",
  "0.event.dast.sw.common.6500.fixed.attack.s5.o1": "{0}",
  "0.event.dast.sw.common.6500.fixed.attack.s6.o0": "Got a cookie value named {0} from the browser. The value indicates the following session ID.",
  "0.event.dast.sw.common.6500.fixed.attack.s6.o1": "{0}",
  "0.event.dast.sw.common.6500.fixed.result.s0.o0": "The session IDs generated by the first and second login attempts are found to be the same.",
  "0.event.dast.sw.common.6500.fixed.result.s1.o0": "It confirms that the session ID is a fixed value.",
  "0.event.dast.sw.common.6500.fixed.solution.s0.o0": "Session IDs should not be duplicated or reused, and a new session ID should be created for each login.",
  "0.event.dast.sw.common.6500.fixed.solution.s1.o0": "Expiration period must be set for each session ID.",
  "0.event.dast.sw.common.6502.run.attack.s0.o0": "Attempted to access to a page with the following URL:",
  "0.event.dast.sw.common.6502.run.attack.s0.o1": "{0}",
  "0.event.dast.sw.common.6502.run.attack.s1.o0": "Of the events that exist on the page, an event with the following XPath is found.",
  "0.event.dast.sw.common.6502.run.attack.s1.o1": "{0}",
  "0.event.dast.sw.common.6502.run.attack.s2.o0": "And changed the value as below.",
  "0.event.dast.sw.common.6502.run.attack.s2.o1": "{0}",
  "0.event.dast.sw.common.6502.run.attack.s3.o0": "Of the events that exist on the page, an event with the following XPath has executed.",
  "0.event.dast.sw.common.6502.run.attack.s3.o1": "{0}",
  "0.event.dast.sw.common.6502.run.attack.s4.o0": "After the event executed, the value of the SPARROW_DAST_XSS_TEST DOM variable is validated.",
  "0.event.dast.sw.common.6502.run.result.s0.o0": "A value for SPARROW_DAST_XSS_TEST DOM variable is:",
  "0.event.dast.sw.common.6502.run.result.s0.o1": "{0}",
  "0.event.dast.sw.common.6502.run.result.s1.o0": "The result came after running a script of an event with the following XPath.",
  "0.event.dast.sw.common.6502.run.result.s1.o1": "{0}",
  "0.event.dast.sw.common.6502.run.result.s2.o0": "The analysis confirms that an unintented script injected by a user can be run.",
  "0.event.dast.sw.common.6502.run.solution.s0.o0": "The value received from user input requires proper validation on its input and output.",
  "0.event.dast.sw.common.6502.run.solution.s1.o0": "{0}",
  "0.event.dast.sw.common.6507.tampered.attack.s0.o0": "The attempt to log-in has been executed on the following URL.",
  "0.event.dast.sw.common.6507.tampered.attack.s0.o1": "{0}",
  "0.event.dast.sw.common.6507.tampered.attack.s1.o0": "Navigated to the following URL after logging-in:",
  "0.event.dast.sw.common.6507.tampered.attack.s1.o1": "{0}",
  "0.event.dast.sw.common.6507.tampered.attack.s2.o0": "Got a cookie value named {0} from the browser. The value is assumed to be data to identify following user accounts or groups. ",
  "0.event.dast.sw.common.6507.tampered.attack.s2.o1": "{0}",
  "0.event.dast.sw.common.6507.tampered.attack.s3.o0": "Restarted the browser after terminating it.",
  "0.event.dast.sw.common.6507.tampered.attack.s4.o0": "The {0} is set to the cookie in the browser as below.",
  "0.event.dast.sw.common.6507.tampered.attack.s4.o1": "{0}",
  "0.event.dast.sw.common.6507.tampered.attack.s5.o0": "Attempted to navigate to the following URL that was accessible after signing in without further authentication.",
  "0.event.dast.sw.common.6507.tampered.attack.s5.o1": "{0}",
  "0.event.dast.sw.common.6507.tampered.result.s0.o0": "The results of attempting access to the following URL shows that the you can acceess to the page without any authentication.",
  "0.event.dast.sw.common.6507.tampered.result.s0.o1": "{0}",
  "0.event.dast.sw.common.6507.tampered.result.s1.o0": "The analysis confirms that the authencation can be bypassed by manipulating cookies used as data to identify user accounts or groups.",
  "0.event.dast.sw.common.6507.tampered.solution.s0.o0": "User data in the cookies needs to be encrypted instead of storing in plain texts in order to prevent data exposure.\n",
  "0.event.dast.sw.common.6507.tampered.solution.s1.o0": "You can apply the recommended secure encryption algorithms by referring to the \"3-6. Store sensitive information encrypted\" section action in the Security Guide, \"Categorizing symmetric-key cryptographic algorithms by security strength\".",
  "0.event.dast.sw.common.6533.closure.attack.s0.o0": "The attempt to log-in has been executed on the following URL.",
  "0.event.dast.sw.common.6533.closure.attack.s0.o1": "{0}",
  "0.event.dast.sw.common.6533.closure.attack.s1.o0": "Navigated to the following URL after logging-in:",
  "0.event.dast.sw.common.6533.closure.attack.s1.o1": "{0}",
  "0.event.dast.sw.common.6533.closure.attack.s2.o0": "Got a cookie value named {0} from the browser. The value indicates the following session ID.",
  "0.event.dast.sw.common.6533.closure.attack.s2.o1": "{0}",
  "0.event.dast.sw.common.6533.closure.attack.s3.o0": "Waited for {0} seconds.\n",
  "0.event.dast.sw.common.6533.closure.attack.s4.o0": "Restarted the browser after terminating it.",
  "0.event.dast.sw.common.6533.closure.attack.s5.o0": "The {0} is set to the cookie in the browser as below.",
  "0.event.dast.sw.common.6533.closure.attack.s5.o1": "{0}",
  "0.event.dast.sw.common.6533.closure.attack.s6.o0": "Attempted to navigate to the following URL that was accessible after signing in without further authentication.",
  "0.event.dast.sw.common.6533.closure.attack.s6.o1": "{0}",
  "0.event.dast.sw.common.6533.closure.result.s0.o0": "The results of attempting access to the following URL shows that the you can acceess to the page without any authentication.",
  "0.event.dast.sw.common.6533.closure.result.s0.o1": "{0}",
  "0.event.dast.sw.common.6533.closure.result.s1.o0": "The reuse of the session has been found to be succeeded after restarting the browser.",
  "0.event.dast.sw.common.6533.closure.solution.s0.o0": "A baseline for keeping the session needs to be set.",
  "0.event.dast.sw.common.6533.closure.solution.s1.o0": "When providing internal services, determined by whether Session Time is set (EP, EIP Intranet, and Business Support services, etc.)\n",
  "0.event.dast.sw.common.6533.closure.solution.s2.o0": "2. 60 minutes or less when providing external services (customer service, financial transactions, customer care services, and SK representative sites)\n",
  "0.event.dast.sw.common.6533.closure.solution.s3.o0": "perform session disposal on both internal and external logouts and browser closures\n",
  "0.event.dast.sw.common.6533.closure.solution.s4.o0": "provide justification for any specialty or exceptionality required for the purpose of the service",
  "0.event.dast.sw.common.6534.closure.attack.s0.o0": "The attempt to log-in has been executed on the following URL.",
  "0.event.dast.sw.common.6534.closure.attack.s0.o1": "{0}",
  "0.event.dast.sw.common.6534.closure.attack.s1.o0": "Navigated to the following URL after logging-in:",
  "0.event.dast.sw.common.6534.closure.attack.s1.o1": "{0}",
  "0.event.dast.sw.common.6534.closure.attack.s2.o0": "Got a cookie value named {0} from the browser. The value indicates the following session ID.",
  "0.event.dast.sw.common.6534.closure.attack.s2.o1": "{0}",
  "0.event.dast.sw.common.6534.closure.attack.s3.o0": "Waited for {0} seconds.\n",
  "0.event.dast.sw.common.6534.closure.attack.s4.o0": "Restarted the browser after terminating it.",
  "0.event.dast.sw.common.6534.closure.attack.s5.o0": "The {0} is set to the cookie in the browser as below.",
  "0.event.dast.sw.common.6534.closure.attack.s5.o1": "{0}",
  "0.event.dast.sw.common.6534.closure.attack.s6.o0": "Attempted to navigate to the following URL that was accessible after signing in without further authentication.",
  "0.event.dast.sw.common.6534.closure.attack.s6.o1": "{0}",
  "0.event.dast.sw.common.6534.closure.result.s0.o0": "The results of attempting access to the following URL shows that the you can acceess to the page without any authentication.",
  "0.event.dast.sw.common.6534.closure.result.s0.o1": "{0}",
  "0.event.dast.sw.common.6534.closure.result.s1.o0": "The reuse of the session has been found to be succeeded after restarting the browser.",
  "0.event.dast.sw.common.6534.closure.solution.s0.o0": "Set the Session Timeout for your web application.",
  "0.event.dast.sw.common.7151.closure.attack.s0.o0": "The attempt to log-in has been executed on the following URL.",
  "0.event.dast.sw.common.7151.closure.attack.s0.o1": "{0}",
  "0.event.dast.sw.common.7151.closure.attack.s1.o0": "Navigated to the following URL after logging-in:",
  "0.event.dast.sw.common.7151.closure.attack.s1.o1": "{0}",
  "0.event.dast.sw.common.7151.closure.attack.s2.o0": "Got a cookie value named {0} from the browser. The value indicates the following session ID.",
  "0.event.dast.sw.common.7151.closure.attack.s2.o1": "{0}",
  "0.event.dast.sw.common.7151.closure.attack.s3.o0": "Waited for {0} seconds.\n",
  "0.event.dast.sw.common.7151.closure.attack.s4.o0": "Restarted the browser after terminating it.",
  "0.event.dast.sw.common.7151.closure.attack.s5.o0": "The {0} is set to the cookie in the browser as below.",
  "0.event.dast.sw.common.7151.closure.attack.s5.o1": "{0}",
  "0.event.dast.sw.common.7151.closure.attack.s6.o0": "Attempted to navigate to the following URL that was accessible after signing in without further authentication.",
  "0.event.dast.sw.common.7151.closure.attack.s6.o1": "{0}",
  "0.event.dast.sw.common.7151.closure.result.s0.o0": "The results of attempting access to the following URL shows that the you can acceess to the page without any authentication.",
  "0.event.dast.sw.common.7151.closure.result.s0.o1": "{0}",
  "0.event.dast.sw.common.7151.closure.result.s1.o0": "The reuse of the session has been found to be succeeded after restarting the browser.",
  "0.event.dast.sw.common.7151.closure.solution.s0.o0": "A baseline for keeping the session needs to be set.",
  "0.event.dast.sw.common.7151.closure.solution.s1.o0": "1. when providing internal services, judging by whether or not Session Time is set (EP, EIP Intranet, and Business Support Services, etc.)\n",
  "0.event.dast.sw.common.7151.closure.solution.s2.o0": "2. 60 minutes or less when providing external services (customer service, financial transactions, customer care services, and SK representative sites)\n",
  "0.event.dast.sw.common.7151.closure.solution.s3.o0": "3. perform session disposal on both internal and external logouts and browser closures\n",
  "0.event.dast.sw.common.7151.closure.solution.s4.o0": "4. provide justification for any specialty or exceptionality required for the purpose of the service",
  "0.event.deprecated_components_in_html5.attr.attack.s0.o0": "You have accessed to the analysis target page with the following process.",
  "0.event.deprecated_components_in_html5.attr.attack.s0.o1": "{0}",
  "0.event.deprecated_components_in_html5.attr.attack.s1.o0": "The analysis target page has been checked for HTML document.",
  "0.event.deprecated_components_in_html5.attr.attack.s2.o0": "{0} element has been searched in an analysis target page.",
  "0.event.deprecated_components_in_html5.attr.attack.s3.o0": "{0} attribute has been searched in searched elements.",
  "0.event.deprecated_components_in_html5.attr.result.s0.o0": "The HTML document is the analysis target page.",
  "0.event.deprecated_components_in_html5.attr.result.s1.o0": "{0} element has been found in an analysis target page. The XPath of the element is shown as follow.",
  "0.event.deprecated_components_in_html5.attr.result.s1.o1": "{0}",
  "0.event.deprecated_components_in_html5.attr.result.s2.o0": "{0} attribute has been found in the element. The attribute is deprecated in HTML5.",
  "0.event.deprecated_components_in_html5.attr.solution.s0.o0": "Remove the {1} attribute of {0} element.",
  "0.event.deprecated_components_in_html5.tag.attack.s0.o0": "You have accessed to the analysis target page with the following process.",
  "0.event.deprecated_components_in_html5.tag.attack.s0.o1": "{0}",
  "0.event.deprecated_components_in_html5.tag.attack.s1.o0": "The analysis target page has been checked for HTML document.",
  "0.event.deprecated_components_in_html5.tag.attack.s2.o0": "{0} element has been searched in an analysis target page.",
  "0.event.deprecated_components_in_html5.tag.result.s0.o0": "The HTML document is the analysis target page.",
  "0.event.deprecated_components_in_html5.tag.result.s1.o0": "{0} element has been found in an analysis target page. The XPath of the element is shown as follow.",
  "0.event.deprecated_components_in_html5.tag.result.s1.o1": "{0}",
  "0.event.deprecated_components_in_html5.tag.result.s2.o0": "The element is deprecated in HTML5.",
  "0.event.deprecated_components_in_html5.tag.solution.s0.o0": "Remove the {0} element or replace with other elements.",
  "0.event.direct_page_redirection.access.solution.s0.o0": "The solution is shown as follow.",
  "0.event.direct_page_redirection.access.solution.s1.o0": "Users must be verified for URL paths with access control required.",
  "0.event.direct_page_redirection.access.solution.s2.o0": "Which prevents pages from being exposed by direct access of unauthorized users, and shows a log-in page or error page.",
  "0.event.email_address_disclosure.email.attack.s0.o0": "The Email address disclosure vulnerability exposes an email address.",
  "0.event.email_address_disclosure.email.attack.s1.o0": "The following process has been performed to check the Email Address Disclosure vulnerability.",
  "0.event.email_address_disclosure.email.attack.s2.o0": "Checked texts within the page for absolute paths.",
  "0.event.email_address_disclosure.email.result.s0.o0": "The test results are shown as follows.",
  "0.event.email_address_disclosure.email.result.s1.o0": "A possible email address has been found in the text of the page  as follow.",
  "0.event.email_address_disclosure.email.result.s2.o0": "{0}",
  "0.event.email_address_disclosure.email.result.s3.o0": "As a result of the test, the email address disclosure vulnerability has been found to exist.",
  "0.event.email_address_disclosure.email.solution.s0.o0": "The solution is shown as follow.",
  "0.event.email_address_disclosure.email.solution.s1.o0": "Please delete the following information to prevent exposing absolute path information in the page.",
  "0.event.external_redirect.conditional.apiReqInfo": "{0}",
  "0.event.external_redirect.conditional.apiReqMsg": "In addition, the following API request has been occurred as a result of executing {0} event during attempted attack.",
  "0.event.external_redirect.conditional.apireqinfo": "{0}",
  "0.event.external_redirect.conditional.apireqmsg": "In addition, the following API request has been occurred as a result of executing {0} event during attempted attack.",
  "0.event.external_redirect.redirection.attack.s0.o0": "The Unverified Redirection vulnerability is caused by redirecting to an untrusted link entered by the user.",
  "0.event.external_redirect.redirection.attack.s1.o0": "The following attempted attack has been executed to check the Unverified Redirection vulnerabilities:",
  "0.event.external_redirect.redirection.attack.s2.o0": "To check all {0} elements for the attack targets, the following process has been performed.",
  "0.event.external_redirect.redirection.attack.s3.o0": "{0}",
  "0.event.external_redirect.redirection.attack.s4.o0": "As a search result, the following attack target element has been identified.",
  "0.event.external_redirect.redirection.attack.s5.o0": "{0}",
  "0.event.external_redirect.redirection.attack.s6.o0": "The following string has been entered in the attack target. (The attack string includes the hash value in XPath of the target elements.)",
  "0.event.external_redirect.redirection.attack.s7.o0": "{0}",
  "0.event.external_redirect.redirection.attack.s8.o0": "{0} event has been performed on the following elements:",
  "0.event.external_redirect.redirection.attack.s9.o0": "{0}",
  "0.event.external_redirect.redirection.result.s0.o0": "The attack results are shown as follows.",
  "0.event.external_redirect.redirection.result.s1.o0": "As a result of the event, this has been redirected to the following URL address.",
  "0.event.external_redirect.redirection.result.s2.o0": "{0}",
  "0.event.external_redirect.redirection.result.s3.o0": "The URL address has a parameter with the same name as {0}, with a value of {1}.",
  "0.event.external_redirect.redirection.result.s4.o0": "The value of the parameter indicates that redirection has been done through the exploited target.",
  "0.event.external_redirect.redirection.result.s5.o0": "As a result of the execution, the attempted attack has been succeeded and the unverified redirection vulnerability has been found to exist.",
  "0.event.external_redirect.redirection.solution.s0.o0": "The solution is shown as follow.",
  "0.event.external_redirect.redirection.solution.s1.o0": "It is strongly recommended to eliminate cases of redirection to a different URL address using external input values.",
  "0.event.external_redirect.redirection.solution.s2.o0": "If it can not be eliminated, verify and filter the input value.",
  "0.event.fixed_session_id.fixed.attack.s0.o0": "Make sure your session ID is the same before and after you sign in.",
  "0.event.fixed_session_id.fixed.result.s0.o0": "Same before and after you sign in.",
  "0.event.fixed_session_id.fixed.result.s0.o1": "{0}",
  "0.event.fixed_session_id.fixed.solution.s0.o0": "After signing in, you must discard the existing session and create a new one. Regenerating the session ID prevents attacks such as session hijacking. Most web frameworks provide the ability to regenerate sessions on login, so you should take advantage of this or implement it yourself.",
  "0.event.format_string.conditional.apiReqInfo": "{0}",
  "0.event.format_string.conditional.apiReqMsg": "In addition, the following API request has been occurred as a result of executing {0} event during attempted attack.",
  "0.event.format_string.conditional.apireqinfo": "{0}",
  "0.event.format_string.conditional.apireqmsg": "In addition, the following API request has been occurred as a result of executing {0} event during attempted attack.",
  "0.event.format_string.formatString.attack.s0.o0": "The Format String Injection vulnerability is caused by using a format string with user inputs in a library or function.",
  "0.event.format_string.formatString.attack.s1.o0": "The following attempted attack has been executed to check the Format String Injection vulnerability:",
  "0.event.format_string.formatString.attack.s2.o0": "To check all {0} elements for the attack targets, the following process has been performed.",
  "0.event.format_string.formatString.attack.s3.o0": "{0}",
  "0.event.format_string.formatString.attack.s4.o0": "The following has been entered in the attack target:",
  "0.event.format_string.formatString.attack.s5.o0": "{0}",
  "0.event.format_string.formatString.attack.s6.o0": "{0} event has been performed on the following elements:",
  "0.event.format_string.formatString.attack.s7.o0": "{0}",
  "0.event.format_string.formatString.result.s0.o0": "The attack results are shown as follows.",
  "0.event.format_string.formatString.result.s1.o0": "As a result of the event, an error message with the following information has been found in the DOM:",
  "0.event.format_string.formatString.result.s2.o0": "{0}",
  "0.event.format_string.formatString.result.s3.o0": "The error message indicates that the attack string is not properly handled.",
  "0.event.format_string.formatString.result.s4.o0": "As a result of the execution, the attempted attack has been succeeded and the Format String Injection vulnerability has been found.",
  "0.event.format_string.formatString.solution.s0.o0": "The solution is shown as follow.",
  "0.event.format_string.formatString.solution.s1.o0": "To eliminate the format string injection vulnerability, data validation is required when configuring the format string using external data input from the user.",
  "0.event.format_string.formatString.solution.s2.o0": "It is necessary to perform appropriate processing when an error occurs due to the input value, such as checking whether the input data contains a token.",
  "0.event.format_string.formatString.solution.s3.o0": "Or, vulnerabilities in a web server, WAS, etc. can be addressed by applying the latest patches provided by each vendor.",
  "0.event.format_string.formatstring.attack.s0.o0": "The Format String Injection vulnerability is caused by using a format string with user inputs in a library or function.",
  "0.event.format_string.formatstring.attack.s1.o0": "The following attempted attack has been executed to check the Format String Injection vulnerability:",
  "0.event.format_string.formatstring.attack.s2.o0": "To check all {0} elements for the attack targets, the following process has been performed.",
  "0.event.format_string.formatstring.attack.s3.o0": "{0}",
  "0.event.format_string.formatstring.attack.s4.o0": "The following string has been entered in the attack target:",
  "0.event.format_string.formatstring.attack.s5.o0": "{0}",
  "0.event.format_string.formatstring.attack.s6.o0": "{0} event has been performed on the following elements:",
  "0.event.format_string.formatstring.attack.s7.o0": "{0}",
  "0.event.format_string.formatstring.result.s0.o0": "The attack results are shown as follows.",
  "0.event.format_string.formatstring.result.s1.o0": "As a result of the event, an error message with the following information has been found in the DOM:",
  "0.event.format_string.formatstring.result.s2.o0": "{0}",
  "0.event.format_string.formatstring.result.s3.o0": "The error message indicates that the attack string is not properly handled.",
  "0.event.format_string.formatstring.result.s4.o0": "As a result of the execution, the attempted attack has been succeeded and the Format String Injection vulnerability has been found.",
  "0.event.format_string.formatstring.solution.s0.o0": "The solution is shown as follow.",
  "0.event.format_string.formatstring.solution.s1.o0": "To eliminate the format string injection vulnerability, data validation is required when configuring the format string using external data input from the user.",
  "0.event.format_string.formatstring.solution.s2.o0": "It is necessary to perform appropriate processing when an error occurs due to the input value, such as checking whether the input data contains a token.",
  "0.event.format_string.formatstring.solution.s3.o0": "Or, vulnerabilities in a web server, WAS, etc. can be addressed by applying the latest patches provided by each vendor.",
  "0.event.inappropriate_title.duplicate_special_characters_in_page_title.attack.s0.o0": "You have accessed to the analysis target page with the following process.",
  "0.event.inappropriate_title.duplicate_special_characters_in_page_title.attack.s0.o1": "{0}",
  "0.event.inappropriate_title.duplicate_special_characters_in_page_title.attack.s1.o0": "The analysis target page has been checked for HTML document.",
  "0.event.inappropriate_title.duplicate_special_characters_in_page_title.attack.s2.o0": "{0} element has been searched in an analysis target page.",
  "0.event.inappropriate_title.duplicate_special_characters_in_page_title.attack.s3.o0": "The texts of the element has been checked.",
  "0.event.inappropriate_title.duplicate_special_characters_in_page_title.result.s0.o0": "The HTML document is the analysis target page.",
  "0.event.inappropriate_title.duplicate_special_characters_in_page_title.result.s1.o0": "{0} element has been found in an analysis target page. The XPath of the element is shown as follow.",
  "0.event.inappropriate_title.duplicate_special_characters_in_page_title.result.s1.o1": "{0}",
  "0.event.inappropriate_title.duplicate_special_characters_in_page_title.result.s2.o0": "Texts within the element include the duplicated special characters, {0}.  The texts of the element is shown as follow.",
  "0.event.inappropriate_title.duplicate_special_characters_in_page_title.result.s2.o1": "{0}",
  "0.event.inappropriate_title.duplicate_special_characters_in_page_title.result.s3.o0": "Therefore, the texts are inadequate for page titles.",
  "0.event.inappropriate_title.duplicate_special_characters_in_page_title.solution.s0.o0": "Modify not to include two or more identical special characters in a row to texts within the {0} element.",
  "0.event.inappropriate_title.empty_frame_title.attack.s0.o0": "You have accessed to the analysis target page with the following process.",
  "0.event.inappropriate_title.empty_frame_title.attack.s0.o1": "{0}",
  "0.event.inappropriate_title.empty_frame_title.attack.s1.o0": "The analysis target page has been checked for HTML document.",
  "0.event.inappropriate_title.empty_frame_title.attack.s2.o0": "A frame has been searched in the analysis target page.",
  "0.event.inappropriate_title.empty_frame_title.attack.s3.o0": "{0} attribute has been searched in the frame.",
  "0.event.inappropriate_title.empty_frame_title.result.s0.o0": "The HTML document is the analysis target page.",
  "0.event.inappropriate_title.empty_frame_title.result.s1.o0": "{0} element, a frame to an analysis target page, has been found. The XPath of the element is shown as follow.",
  "0.event.inappropriate_title.empty_frame_title.result.s1.o1": "{0}",
  "0.event.inappropriate_title.empty_frame_title.result.s2.o0": "An empty string has been found in {0} attribute of the element. Therefore, a frame title is missing.",
  "0.event.inappropriate_title.empty_frame_title.solution.s0.o0": "Set a non-empty string for {1} attribute of {0} element.",
  "0.event.inappropriate_title.empty_page_title.attack.s0.o0": "You have accessed to the analysis target page with the following process.",
  "0.event.inappropriate_title.empty_page_title.attack.s0.o1": "{0}",
  "0.event.inappropriate_title.empty_page_title.attack.s1.o0": "The analysis target page has been checked for HTML document.",
  "0.event.inappropriate_title.empty_page_title.attack.s2.o0": "{0} element has been searched in an analysis target page.",
  "0.event.inappropriate_title.empty_page_title.attack.s3.o0": "The texts of the element has been checked.",
  "0.event.inappropriate_title.empty_page_title.result.s0.o0": "The HTML document is the analysis target page.",
  "0.event.inappropriate_title.empty_page_title.result.s1.o0": "{0} element has been found in an analysis target page. The XPath of the element is shown as follow.",
  "0.event.inappropriate_title.empty_page_title.result.s1.o1": "{0}",
  "0.event.inappropriate_title.empty_page_title.result.s2.o0": "An empty string has been found in texts within the element. Therefore, a page title is missing.",
  "0.event.inappropriate_title.empty_page_title.solution.s0.o0": "Set a non-empty string for texts within the {0} element.",
  "0.event.inappropriate_title.no_frame_title.attack.s0.o0": "You have accessed to the analysis target page with the following process.",
  "0.event.inappropriate_title.no_frame_title.attack.s0.o1": "{0}",
  "0.event.inappropriate_title.no_frame_title.attack.s1.o0": "The analysis target page has been checked for HTML document.",
  "0.event.inappropriate_title.no_frame_title.attack.s2.o0": "A frame has been searched in the analysis target page.",
  "0.event.inappropriate_title.no_frame_title.attack.s3.o0": "{0} attribute has been searched in the frame.",
  "0.event.inappropriate_title.no_frame_title.result.s0.o0": "The HTML document is the analysis target page.",
  "0.event.inappropriate_title.no_frame_title.result.s1.o0": "{0} element, a frame to an analysis target page, has been found. The XPath of the element is shown as follow.",
  "0.event.inappropriate_title.no_frame_title.result.s1.o1": "{0}",
  "0.event.inappropriate_title.no_frame_title.result.s2.o0": "{0} attribute has not been found in the element. Therefore, its frame title is missing.",
  "0.event.inappropriate_title.no_frame_title.solution.s0.o0": "Add {1} attribute of {0} element.",
  "0.event.inappropriate_title.no_page_title.attack.s0.o0": "You have accessed to the analysis target page with the following process.",
  "0.event.inappropriate_title.no_page_title.attack.s0.o1": "{0}",
  "0.event.inappropriate_title.no_page_title.attack.s1.o0": "The analysis target page has been checked for HTML document.",
  "0.event.inappropriate_title.no_page_title.attack.s2.o0": "{0} element has been searched in an analysis target page.",
  "0.event.inappropriate_title.no_page_title.result.s0.o0": "The HTML document is the analysis target page.",
  "0.event.inappropriate_title.no_page_title.result.s1.o0": "{0} element has not been found in the analysis target page. Therefore, its page title has not been found.",
  "0.event.inappropriate_title.no_page_title.solution.s0.o0": "Add {0} element.",
  "0.event.incompatible_css.css.attack.s0.o0": "You have accessed to the first analysis target page with the following process.",
  "0.event.incompatible_css.css.attack.s0.o1": "{0}",
  "0.event.incompatible_css.css.attack.s1.o0": "The first analysis target page has been checked for HTML document.",
  "0.event.incompatible_css.css.attack.s2.o0": "A connection has been searched from the first analysis target page to a CSS document.",
  "0.event.incompatible_css.css.attack.s3.o0": "The second analysis target page has been accessed to track searched connection. The URL of the page is shown as follow.",
  "0.event.incompatible_css.css.attack.s3.o1": "{0}",
  "0.event.incompatible_css.css.attack.s4.o0": "The second analysis target page has been checked for CSS document.",
  "0.event.incompatible_css.css.attack.s5.o0": "A CSS statement analysis has been performed for the second analysis target page.",
  "0.event.incompatible_css.css.result.s0.o0": "An HTML document is the first analysis target page.",
  "0.event.incompatible_css.css.result.s1.o0": "{0} element has been found to connect from the first analysis target page to a CSS document. The XPath of the element is shown as follow.",
  "0.event.incompatible_css.css.result.s1.o1": "{0}",
  "0.event.incompatible_css.css.result.s2.o0": "{0} attribute of the element is set to {1}, {2} attribute is set as follow.",
  "0.event.incompatible_css.css.result.s2.o1": "{0}",
  "0.event.incompatible_css.css.result.s3.o0": "A CSS document is the second analysis target page.",
  "0.event.incompatible_css.css.result.s4.o0": "In results of CSS statement analysis of the second analysis target page, {0} element has been found. Some browsers is not supported on the element.",
  "0.event.incompatible_css.css.solution.s0.o0": "Remove the {0} attribute or replace with other attributes.",
  "0.event.incompatible_css.html.attack.s0.o0": "You have accessed to the analysis target page with the following process.",
  "0.event.incompatible_css.html.attack.s0.o1": "{0}",
  "0.event.incompatible_css.html.attack.s1.o0": "The analysis target page has been checked for HTML document.",
  "0.event.incompatible_css.html.attack.s2.o0": "{0} element has been searched in an analysis target page.",
  "0.event.incompatible_css.html.attack.s3.o0": "A CSS statement analysis has been performed for texts within the searched elements.",
  "0.event.incompatible_css.html.result.s0.o0": "The HTML document is the analysis target page.",
  "0.event.incompatible_css.html.result.s1.o0": "{0} element has been found in an analysis target page. The XPath of the element is shown as follow.",
  "0.event.incompatible_css.html.result.s1.o1": "{0}",
  "0.event.incompatible_css.html.result.s2.o0": "In results of CSS statement analysis of texts within the element, {0} element has been found. Some browsers is not supported on the element.",
  "0.event.incompatible_css.html.solution.s0.o0": "Remove the {0} attribute or replace with other attributes.",
  "0.event.incompatible_html.attr.attack.s0.o0": "You have accessed to the analysis target page with the following process.",
  "0.event.incompatible_html.attr.attack.s0.o1": "{0}",
  "0.event.incompatible_html.attr.attack.s1.o0": "The analysis target page has been checked for HTML document.",
  "0.event.incompatible_html.attr.attack.s2.o0": "{0} element has been searched in an analysis target page.",
  "0.event.incompatible_html.attr.attack.s3.o0": "{0} attribute has been searched in searched elements.",
  "0.event.incompatible_html.attr.result.s0.o0": "The HTML document is the analysis target page.",
  "0.event.incompatible_html.attr.result.s1.o0": "{0} element has been found in an analysis target page. The XPath of the element is shown as follow.",
  "0.event.incompatible_html.attr.result.s1.o1": "{0}",
  "0.event.incompatible_html.attr.result.s2.o0": "{0} attribute has been found in the element. The attribute is not supported on some browsers.",
  "0.event.incompatible_html.attr.solution.s0.o0": "Remove the {1} attribute of {0} element.",
  "0.event.incompatible_html.tag.attack.s0.o0": "You have accessed to the analysis target page with the following process.",
  "0.event.incompatible_html.tag.attack.s0.o1": "{0}",
  "0.event.incompatible_html.tag.attack.s1.o0": "The analysis target page has been checked for HTML document.",
  "0.event.incompatible_html.tag.attack.s2.o0": "{0} element has been searched in an analysis target page.",
  "0.event.incompatible_html.tag.result.s0.o0": "The HTML document is the analysis target page.",
  "0.event.incompatible_html.tag.result.s1.o0": "{0} element has been found in an analysis target page. The XPath of the element is shown as follow.",
  "0.event.incompatible_html.tag.result.s1.o1": "{0}",
  "0.event.incompatible_html.tag.result.s2.o0": "Some browsers is not supported on the element.",
  "0.event.incompatible_html.tag.solution.s0.o0": "Remove the {0} element or replace with other elements.",
  "0.event.incompatible_js.html_over_es5.attack.s0.o0": "You have accessed to the analysis target page with the following process.",
  "0.event.incompatible_js.html_over_es5.attack.s0.o1": "{0}",
  "0.event.incompatible_js.html_over_es5.attack.s1.o0": "The analysis target page has been checked for HTML document.",
  "0.event.incompatible_js.html_over_es5.attack.s2.o0": "{0} element has been searched in an analysis target page.",
  "0.event.incompatible_js.html_over_es5.attack.s3.o0": "A JavaScript statement analysis has been performed for texts within the searched elements.",
  "0.event.incompatible_js.html_over_es5.result.s0.o0": "The HTML document is the analysis target page.",
  "0.event.incompatible_js.html_over_es5.result.s1.o0": "{0} element has been found in an analysis target page. The XPath of the element is shown as follow.",
  "0.event.incompatible_js.html_over_es5.result.s1.o1": "{0}",
  "0.event.incompatible_js.html_over_es5.result.s2.o0": "In results of JavaScript statement analysis of texts within the element, a feature is available on JavaScript {0} version. The feature name is shown as follow.",
  "0.event.incompatible_js.html_over_es5.result.s2.o1": "{0}",
  "0.event.incompatible_js.html_over_es5.result.s3.o0": "The feature is not supported on some browsers.",
  "0.event.incompatible_js.html_over_es5.solution.s0.o0": "Remove the {0} feature or replace with other features.",
  "0.event.incompatible_js.js_over_es5.attack.s0.o0": "You have accessed to the first analysis target page with the following process.",
  "0.event.incompatible_js.js_over_es5.attack.s0.o1": "{0}",
  "0.event.incompatible_js.js_over_es5.attack.s1.o0": "The first analysis target page has been checked for HTML document.",
  "0.event.incompatible_js.js_over_es5.attack.s2.o0": "A connection has been searched from the first analysis target page to a JavaScript document.",
  "0.event.incompatible_js.js_over_es5.attack.s3.o0": "The second analysis target page has been accessed to track searched connection. The URL of the page is shown as follow.",
  "0.event.incompatible_js.js_over_es5.attack.s3.o1": "{0}",
  "0.event.incompatible_js.js_over_es5.attack.s4.o0": "The second analysis target page has been checked for JavaScript document.",
  "0.event.incompatible_js.js_over_es5.attack.s5.o0": "A JavaScript statement analysis has been performed for the second analysis target page.",
  "0.event.incompatible_js.js_over_es5.result.s0.o0": "An HTML document is the first analysis target page.",
  "0.event.incompatible_js.js_over_es5.result.s1.o0": "{0} element has been found to connect from the first analysis target page to a JavaScript document. The XPath of the element is shown as follow.",
  "0.event.incompatible_js.js_over_es5.result.s1.o1": "{0}",
  "0.event.incompatible_js.js_over_es5.result.s2.o0": "{0} attribute of the element is shown as follow.",
  "0.event.incompatible_js.js_over_es5.result.s2.o1": "{0}",
  "0.event.incompatible_js.js_over_es5.result.s3.o0": "A JavaScript document is the second analysis target page.",
  "0.event.incompatible_js.js_over_es5.result.s4.o0": "In results of JavaScript statement analysis of the second analysis target page, a feature is available on JavaScript {0} version. The feature name is shown as follow.",
  "0.event.incompatible_js.js_over_es5.result.s4.o1": "{0}",
  "0.event.incompatible_js.js_over_es5.result.s5.o0": "The feature is not supported on some browsers.",
  "0.event.incompatible_js.js_over_es5.solution.s0.o0": "Remove the {0} feature or replace with other features.",
  "0.event.incomplete_session_expiration.custom_expires.attack.s0.o0": "To reach an attack target page, the following process has been performed.",
  "0.event.incomplete_session_expiration.custom_expires.attack.s0.o1": "{0}",
  "0.event.incomplete_session_expiration.custom_expires.attack.s1.o0": "There is an event record in the event clipboard for the attack target page.",
  "0.event.incomplete_session_expiration.custom_expires.attack.s1.o1": "The event history is available at login.",
  "0.event.incomplete_session_expiration.custom_expires.attack.s2.o0": "In order to remove the influence of existing cookies, browser has been shut down and launched again.",
  "0.event.incomplete_session_expiration.custom_expires.attack.s2.o1": "After launching the browser, the login has been performed using a log event record.",
  "0.event.incomplete_session_expiration.custom_expires.attack.s3.o0": "The {0} cookie has been found to exist in the browser after log-in.",
  "0.event.incomplete_session_expiration.custom_expires.attack.s3.o1": "The cookie corresponds to a custom attack string.",
  "0.event.incomplete_session_expiration.custom_expires.result.s0.o0": "After executing login event, the following string has been found in the {0} cookie of the browser.",
  "0.event.incomplete_session_expiration.custom_expires.result.s0.o1": "{0}",
  "0.event.incomplete_session_expiration.custom_expires.result.s0.o2": "The string corresponds to the session ID value.",
  "0.event.incomplete_session_expiration.custom_expires.result.s1.o0": "The expiration period of the cookie with session ID information has been verified.",
  "0.event.incomplete_session_expiration.custom_expires.result.s1.o1": "The cookie is valid until {0}.",
  "0.event.incomplete_session_expiration.custom_expires.result.s2.o0": "As a result of the analysis, the cookie with session ID information has been found to be valid for {0} seconds after log-in.",
  "0.event.incomplete_session_expiration.custom_expires.result.s2.o1": "Therefore, for clients with sessions, the server does not require any additional authentication before its expiration date.",
  "0.event.incomplete_session_expiration.custom_expires.solution.s0.o0": "Each session is required to be set to expire after at least 10 minutes.",
  "0.event.incomplete_session_expiration.expires.attack.s0.o0": "To reach an attack target page, the following process has been performed.",
  "0.event.incomplete_session_expiration.expires.attack.s0.o1": "{0}",
  "0.event.incomplete_session_expiration.expires.attack.s1.o0": "There is an event record in the event clipboard for the attack target page.",
  "0.event.incomplete_session_expiration.expires.attack.s1.o1": "The event history is available at login.",
  "0.event.incomplete_session_expiration.expires.attack.s2.o0": "In order to remove the influence of existing cookies, browser has been shut down and launched again.",
  "0.event.incomplete_session_expiration.expires.attack.s2.o1": "After launching the browser, the login has been performed using a log event record.",
  "0.event.incomplete_session_expiration.expires.attack.s3.o0": "The {0} cookie has been found to exist in the browser after log-in.",
  "0.event.incomplete_session_expiration.expires.result.s0.o0": "After executing login event, the following string has been found in the {0} cookie of the browser.",
  "0.event.incomplete_session_expiration.expires.result.s0.o1": "{0}",
  "0.event.incomplete_session_expiration.expires.result.s0.o2": "The string corresponds to the session ID value.",
  "0.event.incomplete_session_expiration.expires.result.s1.o0": "The expiration period of the cookie with session ID information has been verified.",
  "0.event.incomplete_session_expiration.expires.result.s1.o1": "The cookie is valid until {0}.",
  "0.event.incomplete_session_expiration.expires.result.s2.o0": "As a result of the analysis, the cookie with session ID information has been found to be valid for {0} seconds after log-in.",
  "0.event.incomplete_session_expiration.expires.result.s2.o1": "Therefore, for clients with sessions, the server does not require any additional authentication before its expiration date.",
  "0.event.incomplete_session_expiration.expires.solution.s0.o0": "Each session is required to be set to expire after at least 10 minutes.",
  "0.event.invalid_css.css_error.attack.s0.o0": "You have accessed to the analysis target page with the following process.",
  "0.event.invalid_css.css_error.attack.s0.o1": "{0}",
  "0.event.invalid_css.css_error.attack.s1.o0": "The first analysis target page has been checked for HTML document.",
  "0.event.invalid_css.css_error.attack.s2.o0": "A connection has been searched from the first analysis target page to a style sheet document.",
  "0.event.invalid_css.css_error.attack.s3.o0": "The second analysis target page has been accessed to track searched connection. The URL of the page is shown as follow.",
  "0.event.invalid_css.css_error.attack.s3.o1": "{0}",
  "0.event.invalid_css.css_error.attack.s4.o0": "The second analysis target page has been checked for CSS document.",
  "0.event.invalid_css.css_error.attack.s5.o0": "A W3C CSS validator analysis has been performed for the second analysis target page.",
  "0.event.invalid_css.css_error.result.s0.o0": "An HTML document is the first analysis target page.",
  "0.event.invalid_css.css_error.result.s1.o0": "{0} element has been found to connect from the first analysis target page to a style sheet document. The XPath of the element is shown as follow.",
  "0.event.invalid_css.css_error.result.s1.o1": "{0}",
  "0.event.invalid_css.css_error.result.s2.o0": "{0} attribute of the element is set to {1}, {2} attribute is set as follow.",
  "0.event.invalid_css.css_error.result.s2.o1": "{0}",
  "0.event.invalid_css.css_error.result.s3.o0": "A CSS document is the second analysis target page.",
  "0.event.invalid_css.css_error.result.s4.o0": "In results of W3C Markup validator analysis of the second analysis target page, an 'error' has occurred due to violation of the CSS coding standard. Its analysis result message is shown as follow.",
  "0.event.invalid_css.css_error.result.s4.o1": "{0}",
  "0.event.invalid_css.css_error.solution.s0.o0": "See results of W3C CSS validator analysis to modify a style sheet document of the second analysis target page.",
  "0.event.invalid_css.css_warning.attack.s0.o0": "You have accessed to the analysis target page with the following process.",
  "0.event.invalid_css.css_warning.attack.s0.o1": "{0}",
  "0.event.invalid_css.css_warning.attack.s1.o0": "The first analysis target page has been checked for HTML document.",
  "0.event.invalid_css.css_warning.attack.s2.o0": "A connection has been searched from the first analysis target page to a style sheet document.",
  "0.event.invalid_css.css_warning.attack.s3.o0": "The second analysis target page has been accessed to track searched connection. The URL of the page is shown as follow.",
  "0.event.invalid_css.css_warning.attack.s3.o1": "{0}",
  "0.event.invalid_css.css_warning.attack.s4.o0": "The second analysis target page has been checked for CSS document.",
  "0.event.invalid_css.css_warning.attack.s5.o0": "A W3C CSS validator analysis has been performed for the second analysis target page.",
  "0.event.invalid_css.css_warning.result.s0.o0": "An HTML document is the first analysis target page.",
  "0.event.invalid_css.css_warning.result.s1.o0": "{0} element has been found to connect from the first analysis target page to a style sheet document. The XPath of the element is shown as follow.",
  "0.event.invalid_css.css_warning.result.s1.o1": "{0}",
  "0.event.invalid_css.css_warning.result.s2.o0": "{0} attribute of the element is set to {1}, {2} attribute is set as follow.",
  "0.event.invalid_css.css_warning.result.s2.o1": "{0}",
  "0.event.invalid_css.css_warning.result.s3.o0": "A CSS document is the second analysis target page.",
  "0.event.invalid_css.css_warning.result.s4.o0": "In results of W3C Markup validator analysis of the second analysis target page, an 'alarm' has occurred due to violation of the CSS coding standard. Its analysis result message is shown as follow.",
  "0.event.invalid_css.css_warning.result.s4.o1": "{0}",
  "0.event.invalid_css.css_warning.solution.s0.o0": "See results of W3C CSS validator analysis to modify a style sheet document of the second analysis target page.",
  "0.event.invalid_css.html_error.attack.s0.o0": "You have accessed to the analysis target page with the following process.",
  "0.event.invalid_css.html_error.attack.s0.o1": "{0}",
  "0.event.invalid_css.html_error.attack.s1.o0": "The analysis target page has been checked for HTML document.",
  "0.event.invalid_css.html_error.attack.s2.o0": "{0} element has been searched in an analysis target page.",
  "0.event.invalid_css.html_error.attack.s3.o0": "A W3C CSS validator analysis has been performed for texts within the searched elements.",
  "0.event.invalid_css.html_error.result.s0.o0": "The HTML document is the analysis target page.",
  "0.event.invalid_css.html_error.result.s1.o0": "{0} element has been found in an analysis target page. The XPath of the element is shown as follow.",
  "0.event.invalid_css.html_error.result.s1.o1": "{0}",
  "0.event.invalid_css.html_error.result.s2.o0": "In results of W3C Markup validator analysis of texts within the element, an 'error' has occurred due to violation of the CSS coding standard. Its analysis result message is shown as follow.",
  "0.event.invalid_css.html_error.result.s2.o1": "{0}",
  "0.event.invalid_css.html_error.solution.s0.o0": "See results of W3C CSS validator analysis to modify texts within the {0} element searched in the analysis target page.",
  "0.event.invalid_css.html_warning.attack.s0.o0": "You have accessed to the analysis target page with the following process.",
  "0.event.invalid_css.html_warning.attack.s0.o1": "{0}",
  "0.event.invalid_css.html_warning.attack.s1.o0": "The analysis target page has been checked for HTML document.",
  "0.event.invalid_css.html_warning.attack.s2.o0": "{0} element has been searched in an analysis target page.",
  "0.event.invalid_css.html_warning.attack.s3.o0": "A W3C CSS validator analysis has been performed for texts within the searched elements.",
  "0.event.invalid_css.html_warning.result.s0.o0": "The HTML document is the analysis target page.",
  "0.event.invalid_css.html_warning.result.s1.o0": "{0} element has been found in an analysis target page. The XPath of the element is shown as follow.",
  "0.event.invalid_css.html_warning.result.s1.o1": "{0}",
  "0.event.invalid_css.html_warning.result.s2.o0": "In results of W3C Markup validator analysis of texts within the element, an 'alarm' has occurred due to violation of the CSS coding standard. Its analysis result message is shown as follow.",
  "0.event.invalid_css.html_warning.result.s2.o1": "{0}",
  "0.event.invalid_css.html_warning.solution.s0.o0": "See results of W3C CSS validator analysis to modify texts within the {0} element searched in the analysis target page.",
  "0.event.invalid_html.error.attack.s0.o0": "To reach an analysis target page, the following process has been performed.",
  "0.event.invalid_html.error.attack.s0.o1": "{0}",
  "0.event.invalid_html.error.attack.s1.o0": "The analysis target page has been checked for (X)HTML document.",
  "0.event.invalid_html.error.attack.s2.o0": "A W3C Markup validator analysis has been performed for an analysis target page.",
  "0.event.invalid_html.error.result.s0.o0": "An (X)HTML document is the analysis target page.",
  "0.event.invalid_html.error.result.s1.o0": "In results of W3C Markup validator analysis, the following 'error' has occurred.",
  "0.event.invalid_html.error.result.s1.o1": "{0}",
  "0.event.invalid_html.error.solution.s0.o0": "See results of W3C Markup validator analysis to modify an (X)HTML document of the HTTP response body.",
  "0.event.invalid_html.fatal.attack.s0.o0": "To reach an analysis target page, the following process has been performed.",
  "0.event.invalid_html.fatal.attack.s0.o1": "{0}",
  "0.event.invalid_html.fatal.attack.s1.o0": "The analysis target page has been checked for (X)HTML document.",
  "0.event.invalid_html.fatal.attack.s2.o0": "A W3C Markup validator analysis has been performed for an analysis target page.",
  "0.event.invalid_html.fatal.result.s0.o0": "An (X)HTML document is the analysis target page.",
  "0.event.invalid_html.fatal.result.s1.o0": "In results of W3C Markup validator analysis, the following 'fault' has occurred.",
  "0.event.invalid_html.fatal.result.s1.o1": "{0}",
  "0.event.invalid_html.fatal.solution.s0.o0": "See results of W3C Markup validator analysis to modify an (X)HTML document of the analysis target page.",
  "0.event.invalid_html.warning.attack.s0.o0": "To reach an analysis target page, the following process has been performed.",
  "0.event.invalid_html.warning.attack.s0.o1": "{0}",
  "0.event.invalid_html.warning.attack.s1.o0": "The analysis target page has been checked for (X)HTML document.",
  "0.event.invalid_html.warning.attack.s2.o0": "A W3C Markup validator analysis has been performed for an analysis target page.",
  "0.event.invalid_html.warning.result.s0.o0": "An (X)HTML document is the analysis target page.",
  "0.event.invalid_html.warning.result.s1.o0": "In results of W3C Markup validator analysis, the following 'alarm' has occurred.",
  "0.event.invalid_html.warning.result.s1.o1": "{0}",
  "0.event.invalid_html.warning.solution.s0.o0": "See results of W3C Markup validator analysis to modify an (X)HTML document of the HTTP response body.",
  "0.event.invalid_link_text.a_blank.attack.s0.o0": "You have accessed to the analysis target page with the following process.",
  "0.event.invalid_link_text.a_blank.attack.s0.o1": "{0}",
  "0.event.invalid_link_text.a_blank.attack.s1.o0": "The analysis target page has been checked for HTML document.",
  "0.event.invalid_link_text.a_blank.attack.s2.o0": "A link has been searched in an analysis target page.",
  "0.event.invalid_link_text.a_blank.attack.s3.o0": "The texts within the searched links have been checked.",
  "0.event.invalid_link_text.a_blank.result.s0.o0": "The HTML document is the analysis target page.",
  "0.event.invalid_link_text.a_blank.result.s1.o0": "{0} element, a link to an analysis target page, has been found. The XPath of the element is shown as follow.",
  "0.event.invalid_link_text.a_blank.result.s1.o1": "{0}",
  "0.event.invalid_link_text.a_blank.result.s2.o0": "Texts within the element consist of empty strings with whitespaces. Therefore, the texts are inadequate for link texts.",
  "0.event.invalid_link_text.a_blank.solution.s0.o0": "Set a string with a non-whitespace character for texts within the {0} element.",
  "0.event.invalid_link_text.a_empty.attack.s0.o0": "You have accessed to the analysis target page with the following process.",
  "0.event.invalid_link_text.a_empty.attack.s0.o1": "{0}",
  "0.event.invalid_link_text.a_empty.attack.s1.o0": "The analysis target page has been checked for HTML document.",
  "0.event.invalid_link_text.a_empty.attack.s2.o0": "A link has been searched in an analysis target page.",
  "0.event.invalid_link_text.a_empty.attack.s3.o0": "The texts within the searched links have been checked.",
  "0.event.invalid_link_text.a_empty.result.s0.o0": "The HTML document is the analysis target page.",
  "0.event.invalid_link_text.a_empty.result.s1.o0": "{0} element, a link to an analysis target page, has been found. The XPath of the element is shown as follow.",
  "0.event.invalid_link_text.a_empty.result.s1.o1": "{0}",
  "0.event.invalid_link_text.a_empty.result.s2.o0": "An empty string has been found in texts within the element. Therefore, the texts are inadequate for link texts.",
  "0.event.invalid_link_text.a_empty.solution.s0.o0": "Set a non-empty string for texts within the {0} element.",
  "0.event.invalid_link_text.area_blank.attack.s0.o0": "You have accessed to the analysis target page with the following process.",
  "0.event.invalid_link_text.area_blank.attack.s0.o1": "{0}",
  "0.event.invalid_link_text.area_blank.attack.s1.o0": "The analysis target page has been checked for HTML document.",
  "0.event.invalid_link_text.area_blank.attack.s2.o0": "A link has been searched in an analysis target page.",
  "0.event.invalid_link_text.area_blank.attack.s3.o0": "{0} attribute has been searched in searched links.",
  "0.event.invalid_link_text.area_blank.result.s0.o0": "The HTML document is the analysis target page.",
  "0.event.invalid_link_text.area_blank.result.s1.o0": "{0} element, a link to an analysis target page, has been found. The XPath of the element is shown as follow.",
  "0.event.invalid_link_text.area_blank.result.s1.o1": "{0}",
  "0.event.invalid_link_text.area_blank.result.s2.o0": "{0} attribute of the element consist of empty strings with whitespaces. Therefore, the attribute is inadequate for link texts.",
  "0.event.invalid_link_text.area_blank.solution.s0.o0": "Set a string with a non-whitespace character for {1} of {0} element.",
  "0.event.invalid_link_text.area_empty.attack.s0.o0": "You have accessed to the analysis target page with the following process.",
  "0.event.invalid_link_text.area_empty.attack.s0.o1": "{0}",
  "0.event.invalid_link_text.area_empty.attack.s1.o0": "The analysis target page has been checked for HTML document.",
  "0.event.invalid_link_text.area_empty.attack.s2.o0": "A link has been searched in an analysis target page.",
  "0.event.invalid_link_text.area_empty.attack.s3.o0": "{0} attribute has been searched in searched links.",
  "0.event.invalid_link_text.area_empty.result.s0.o0": "The HTML document is the analysis target page.",
  "0.event.invalid_link_text.area_empty.result.s1.o0": "{0} element, a link to an analysis target page, has been found. The XPath of the element is shown as follow.",
  "0.event.invalid_link_text.area_empty.result.s1.o1": "{0}",
  "0.event.invalid_link_text.area_empty.result.s2.o0": "An empty string has been found in {0} attribute of the element. Therefore, the attribute is inadequate for link texts.",
  "0.event.invalid_link_text.area_empty.solution.s0.o0": "Set a non-empty string for {1} value of {0} element.",
  "0.event.invalid_link_text.area_none.attack.s0.o0": "You have accessed to the analysis target page with the following process.",
  "0.event.invalid_link_text.area_none.attack.s0.o1": "{0}",
  "0.event.invalid_link_text.area_none.attack.s1.o0": "The analysis target page has been checked for HTML document.",
  "0.event.invalid_link_text.area_none.attack.s2.o0": "A link has been searched in an analysis target page.",
  "0.event.invalid_link_text.area_none.attack.s3.o0": "{0} attribute has been searched in searched links.",
  "0.event.invalid_link_text.area_none.result.s0.o0": "The HTML document is the analysis target page.",
  "0.event.invalid_link_text.area_none.result.s1.o0": "{0} element, a link to an analysis target page, has been found. The XPath of the element is shown as follow.",
  "0.event.invalid_link_text.area_none.result.s1.o1": "{0}",
  "0.event.invalid_link_text.area_none.result.s2.o0": "{0} attribute has not been found in the element. Therefore, its link text is missing.",
  "0.event.invalid_link_text.area_none.solution.s0.o0": "Add {1} attribute of {0} element.",
  "0.event.ldap_injection.conditional.apiReqInfo": "{0}",
  "0.event.ldap_injection.conditional.apiReqMsg": "In addition, the following API request has been occurred as a result of executing {0} event during attempted attack.",
  "0.event.ldap_injection.conditional.apireqinfo": "{0}",
  "0.event.ldap_injection.conditional.apireqmsg": "In addition, the following API request has been occurred as a result of executing {0} event during attempted attack.",
  "0.event.ldap_injection.ldapi.attack.s0.o0": "The LDAP Injection vulnerability is caused by generating LDAP statements with user inputs and manipulating the statements on web-based applications.",
  "0.event.ldap_injection.ldapi.attack.s1.o0": "The following attempted attack has been executed to check the LDAP Injection vulnerability:",
  "0.event.ldap_injection.ldapi.attack.s2.o0": "To check all {0} elements for the attack targets, the following process has been performed.",
  "0.event.ldap_injection.ldapi.attack.s3.o0": "{0}",
  "0.event.ldap_injection.ldapi.attack.s4.o0": "The following has been entered in the attack target:",
  "0.event.ldap_injection.ldapi.attack.s5.o0": "{0}",
  "0.event.ldap_injection.ldapi.attack.s6.o0": "{0} event has been performed on the following elements:",
  "0.event.ldap_injection.ldapi.attack.s7.o0": "{0}",
  "0.event.ldap_injection.ldapi.result.s0.o0": "The attack results are shown as follows.",
  "0.event.ldap_injection.ldapi.result.s1.o0": "As a result of the event, an error message with the following information has been found in the DOM:",
  "0.event.ldap_injection.ldapi.result.s2.o0": "{0}",
  "0.event.ldap_injection.ldapi.result.s3.o0": "The error message indicates that the attack string is not properly handled.",
  "0.event.ldap_injection.ldapi.result.s4.o0": "As a result of the execution, the attempted attack has been succeeded and the LDAP Injection vulnerability has been found to exist.",
  "0.event.ldap_injection.ldapi.solution.s0.o0": "The solution is shown as follow.",
  "0.event.ldap_injection.ldapi.solution.s1.o0": "To eliminate the LDAP injection vulnerability, the following data verification is required for the case of forming an LDAP query using external data input from the user.",
  "0.event.ldap_injection.ldapi.solution.s2.o0": "Characters in user input data need to be replaced with safe characters, for example, '*', '&', '(', etc.",
  "0.event.ldap_injection.ldapi.solution.s2.o1": "Here's an example:",
  "0.event.ldap_injection.ldapi.solution.s3.o0": "{0}",
  "0.event.ldap_injection.ldapi.solution.s4.o0": "For more strict permission control, the more stringent privilege controls must be enforced to prevent attacks from any user.",
  "0.event.local_file_include.conditional.apiReqInfo": "{0}",
  "0.event.local_file_include.conditional.apiReqMsg": "In addition, the following API request has been occurred as a result of executing {0} event during attempted attack.",
  "0.event.local_file_include.conditional.apireqinfo": "{0}",
  "0.event.local_file_include.conditional.apireqmsg": "In addition, the following API request has been occurred as a result of executing {0} event during attempted attack.",
  "0.event.local_file_include.local.attack.s0.o0": "The Local File Inclusion vulnerability is caused by exposing the contents of a file that corresponds to a user input from a file on the server through a browser.",
  "0.event.local_file_include.local.attack.s1.o0": "The following attempted attack has been executed to check the Local File Inclusion vulnerability:",
  "0.event.local_file_include.local.attack.s2.o0": "To check all {0} elements for the attack targets, the following process has been performed.",
  "0.event.local_file_include.local.attack.s3.o0": "{0}",
  "0.event.local_file_include.local.attack.s4.o0": "The following has been entered in the attack target:",
  "0.event.local_file_include.local.attack.s5.o0": "{0}",
  "0.event.local_file_include.local.attack.s6.o0": "{0} event has been performed on the following elements:",
  "0.event.local_file_include.local.attack.s7.o0": "{0}",
  "0.event.local_file_include.local.result.s0.o0": "The attack results are shown as follows.",
  "0.event.local_file_include.local.result.s1.o0": "As a result of the event, the following string in the DOM has been found.",
  "0.event.local_file_include.local.result.s2.o0": "{0}",
  "0.event.local_file_include.local.result.s3.o0": "As a result of the execution, the attempted attack has been succeeded and the Local File Inclusion vulnerability has been found to exist.",
  "0.event.local_file_include.local.solution.s0.o0": "The solution is shown as follow.",
  "0.event.local_file_include.local.solution.s1.o0": "Do not allow access to files that correspond to external input values.",
  "0.event.local_file_include.local.solution.s2.o0": "When access control is not possible, validation and filtering must be performed on the input values.",
  "0.event.login_attempt_limit_absent.session.attack.s0.o0": "I performed the following analysis process to check if there is a limit on the number of login authentication attempts.",
  "0.event.login_attempt_limit_absent.session.attack.s1.o0": "Successfully logged in using the event clipboard.",
  "0.event.login_attempt_limit_absent.session.attack.s2.o0": "{0}",
  "0.event.login_attempt_limit_absent.session.attack.s2.o1": "{0}",
  "0.event.login_attempt_limit_absent.session.attack.s3.o0": "After that, the user password was changed to {0}, and 5 login requests were sent.",
  "0.event.login_attempt_limit_absent.session.attack.s4.o0": "{0}",
  "0.event.login_attempt_limit_absent.session.attack.s4.o1": "{0}",
  "0.event.login_attempt_limit_absent.session.attack.s5.o0": "Subsequently, a login request was sent based on the correct user account information.",
  "0.event.login_attempt_limit_absent.session.result.s0.o0": "After performing the first successful login, it was confirmed that user session information was created.",
  "0.event.login_attempt_limit_absent.session.result.s0.o1": "After that, a manipulated login request was sent 5 times, followed by an attempt to log in using valid user account information.",
  "0.event.login_attempt_limit_absent.session.result.s1.o0": "As a result, we confirmed that user session information is generated in the same way as the normal login performed earlier.",
  "0.event.login_attempt_limit_absent.session.result.s1.o1": "This confirms that the login page does not appropriately limit the number of user authentication attempts.",
  "0.event.login_attempt_limit_absent.session.solution.s0.o0": "It is recommended to limit the number of login authentication attempts to 3 to 5 times.",
  "0.event.login_attempt_limit_absent.session.solution.s0.o1": "If the number of authentication attempts exceeds this limit, login should be blocked or a warning message should be displayed to prevent further attempts.",
  "0.event.login_attempt_limit_absent.session.solution.s0.o2": "You may also consider requiring CAPTCHA input or redirecting to an error page.",
  "0.event.login_attempt_limit_absent.token.attack.s0.o0": "I performed the following analysis process to check if there is a limit on the number of login authentication attempts.",
  "0.event.login_attempt_limit_absent.token.attack.s1.o0": "Successfully logged in using the event clipboard.",
  "0.event.login_attempt_limit_absent.token.attack.s2.o0": "{0}",
  "0.event.login_attempt_limit_absent.token.attack.s2.o1": "{0}",
  "0.event.login_attempt_limit_absent.token.attack.s3.o0": "After that, the user password was changed to {0}, and 5 login requests were sent.",
  "0.event.login_attempt_limit_absent.token.attack.s4.o0": "{0}",
  "0.event.login_attempt_limit_absent.token.attack.s4.o1": "{0}",
  "0.event.login_attempt_limit_absent.token.attack.s5.o0": "Subsequently, a login request was sent based on the correct user account information.",
  "0.event.login_attempt_limit_absent.token.result.s0.o0": "After performing the first successful login, we confirmed that a user token was generated.",
  "0.event.login_attempt_limit_absent.token.result.s0.o1": "After that, a manipulated login request was sent 5 times, followed by an attempt to log in using valid user account information.",
  "0.event.login_attempt_limit_absent.token.result.s1.o0": "As a result, we confirmed that a user token is generated in the same way as a normal login performed earlier.",
  "0.event.login_attempt_limit_absent.token.result.s1.o1": "This confirms that the login page does not properly limit the number of user authentication attempts.",
  "0.event.login_attempt_limit_absent.token.solution.s0.o0": "It is recommended to limit the number of login authentication attempts to 3 to 5 times.",
  "0.event.login_attempt_limit_absent.token.solution.s0.o1": "If the number of authentication attempts exceeds this limit, login should be blocked or a warning message should be displayed to prevent further attempts.",
  "0.event.login_attempt_limit_absent.token.solution.s0.o2": "You may also consider requiring CAPTCHA input or redirecting to an error page.",
  "0.event.missing_alt_text.empty_alt.attack.s0.o0": "To reach an analysis target page, the following process has been performed.",
  "0.event.missing_alt_text.empty_alt.attack.s0.o1": "{0}",
  "0.event.missing_alt_text.empty_alt.result.s0.o0": "{0} web element has been searched in DOM.",
  "0.event.missing_alt_text.empty_alt.result.s0.o1": "The XPath of the web element is shown as follow.",
  "0.event.missing_alt_text.empty_alt.result.s0.o2": "{0}",
  "0.event.missing_alt_text.empty_alt.result.s0.o3": "The web element is non-text contents.",
  "0.event.missing_alt_text.empty_alt.result.s0.o4": "An empty string has been found in {0} attribute of the web element.",
  "0.event.missing_alt_text.empty_alt.result.s1.o0": "In results, non-text content has been searched that does not provide substituting texts.",
  "0.event.missing_alt_text.empty_alt.solution.s0.o0": "Need to provide substituting texts to understand the meaning or usage of non-text contents.",
  "0.event.missing_alt_text.empty_alt.solution.s0.o1": "Able to provide substituting texts by specifying {1} attribute in {0} web element.",
  "0.event.missing_alt_text.no_alt.attack.s0.o0": "To reach an analysis target page, the following process has been performed.",
  "0.event.missing_alt_text.no_alt.attack.s0.o1": "{0}",
  "0.event.missing_alt_text.no_alt.result.s0.o0": "{0} web element has been searched in DOM.",
  "0.event.missing_alt_text.no_alt.result.s0.o1": "The XPath of the web element is shown as follow.",
  "0.event.missing_alt_text.no_alt.result.s0.o2": "{0}",
  "0.event.missing_alt_text.no_alt.result.s0.o3": "The web element is non-text contents.",
  "0.event.missing_alt_text.no_alt.result.s0.o4": "No {0} attribute has been found in the web element.",
  "0.event.missing_alt_text.no_alt.result.s1.o0": "In results, non-text content has been searched that does not provide substituting texts.",
  "0.event.missing_alt_text.no_alt.solution.s0.o0": "Need to provide substituting texts to understand the meaning or usage of non-text contents.",
  "0.event.missing_alt_text.no_alt.solution.s0.o1": "Able to provide substituting texts by specifying {1} attribute in {0} web element.",
  "0.event.missing_default_language.html_without_lang.attack.s0.o0": "You have accessed to the analysis target page with the following process.",
  "0.event.missing_default_language.html_without_lang.attack.s0.o1": "{0}",
  "0.event.missing_default_language.html_without_lang.attack.s1.o0": "The analysis target page has been checked for HTML document.",
  "0.event.missing_default_language.html_without_lang.attack.s2.o0": "{0} element has been searched in an analysis target page.",
  "0.event.missing_default_language.html_without_lang.attack.s3.o0": "{0} attribute has been searched in searched elements.",
  "0.event.missing_default_language.html_without_lang.result.s0.o0": "The HTML document is the analysis target page.",
  "0.event.missing_default_language.html_without_lang.result.s1.o0": "{0} element has been found in an analysis target page. The XPath of the element is shown as follow.",
  "0.event.missing_default_language.html_without_lang.result.s1.o1": "{0}",
  "0.event.missing_default_language.html_without_lang.result.s2.o0": "{0} attribute has not been found in the element. Therefore, a default language of HTML document is missing.",
  "0.event.missing_default_language.html_without_lang.solution.s0.o0": "Add {1} attribute of {0} element.",
  "0.event.missing_default_language.xhtml_without_lang.attack.s0.o0": "You have accessed to the analysis target page with the following process.",
  "0.event.missing_default_language.xhtml_without_lang.attack.s0.o1": "{0}",
  "0.event.missing_default_language.xhtml_without_lang.attack.s1.o0": "The analysis target page has been checked for HTML document.",
  "0.event.missing_default_language.xhtml_without_lang.attack.s2.o0": "{0} element has been searched in an analysis target page.",
  "0.event.missing_default_language.xhtml_without_lang.attack.s3.o0": "{0} attribute has been searched in searched elements.",
  "0.event.missing_default_language.xhtml_without_lang.attack.s4.o0": "{0} attribute has been searched in searched elements.",
  "0.event.missing_default_language.xhtml_without_lang.result.s0.o0": "The HTML document is the analysis target page.",
  "0.event.missing_default_language.xhtml_without_lang.result.s1.o0": "{0} element has been found in an analysis target page. The XPath of the element is shown as follow.",
  "0.event.missing_default_language.xhtml_without_lang.result.s1.o1": "{0}",
  "0.event.missing_default_language.xhtml_without_lang.result.s2.o0": "{0} attribute has been found in the element.",
  "0.event.missing_default_language.xhtml_without_lang.result.s3.o0": "{0} attribute has not been found in the element. Therefore, a default language of XHTML document is missing.",
  "0.event.missing_default_language.xhtml_without_lang.solution.s0.o0": "Add {1} attribute of {0} element.",
  "0.event.missing_label.no_id.attack.s0.o0": "You have accessed to the analysis target page with the following process.",
  "0.event.missing_label.no_id.attack.s0.o1": "{0}",
  "0.event.missing_label.no_id.attack.s1.o0": "The analysis target page has been checked for HTML document.",
  "0.event.missing_label.no_id.attack.s2.o0": "A required element has been searched in an analysis target page.",
  "0.event.missing_label.no_id.attack.s3.o0": "{0} attribute has been searched in searched elements.",
  "0.event.missing_label.no_id.attack.s4.o0": "{0} element has been searched in parent elements of searched elements.",
  "0.event.missing_label.no_id.result.s0.o0": "The HTML document is the analysis target page.",
  "0.event.missing_label.no_id.result.s1.o0": "{0} element required a label has been found in the analysis target page. The XPath of the element is shown as follow.",
  "0.event.missing_label.no_id.result.s1.o1": "{0}",
  "0.event.missing_label.no_id.result.s2.o0": "{0} attribute has not been found in the elements.",
  "0.event.missing_label.no_id.result.s3.o0": "{0} element has not been found in the parents of the elements. Therefore, a label is missing in elements unrequired of a label.",
  "0.event.missing_label.no_id.solution.s0.o0": "Add {1} element for a parent of {0} element. Or, add {1} element and set {2} attribute of the element to {3} attribute of {0} element.",
  "0.event.missing_label.no_label.attack.s0.o0": "You have accessed to the analysis target page with the following process.",
  "0.event.missing_label.no_label.attack.s0.o1": "{0}",
  "0.event.missing_label.no_label.attack.s1.o0": "The analysis target page has been checked for HTML document.",
  "0.event.missing_label.no_label.attack.s2.o0": "A required element has been searched in an analysis target page.",
  "0.event.missing_label.no_label.attack.s3.o0": "{0} attribute has been searched in searched elements.",
  "0.event.missing_label.no_label.attack.s4.o0": "{0} element has been searched in parent elements of searched elements.",
  "0.event.missing_label.no_label.result.s0.o0": "The HTML document is the analysis target page.",
  "0.event.missing_label.no_label.result.s1.o0": "{0} element required a label has been found in the analysis target page. The XPath of the element is shown as follow.",
  "0.event.missing_label.no_label.result.s1.o1": "{0}",
  "0.event.missing_label.no_label.result.s2.o0": "{0} attribute of the element is shown as follow.",
  "0.event.missing_label.no_label.result.s2.o1": "{0}",
  "0.event.missing_label.no_label.result.s3.o0": "{0} element has not been found in the parents of the elements.",
  "0.event.missing_label.no_label.result.s4.o0": "{1} element with the following {0} attribute has not been found in the analysis target page.",
  "0.event.missing_label.no_label.result.s4.o1": "{0}",
  "0.event.missing_label.no_label.result.s5.o0": "Therefore, a label is missing in elements unrequired of a label.",
  "0.event.missing_label.no_label.solution.s0.o0": "Add {1} element for a parent of {0} element. Or, add {1} element and set {2} attribute of the element to {3} attribute of {0} element.",
  "0.event.no_response_to_missing_input.no_change_inner.attack.s0.o0": "You have accessed to the analysis target page with the following process.",
  "0.event.no_response_to_missing_input.no_change_inner.attack.s0.o1": "{0}",
  "0.event.no_response_to_missing_input.no_change_inner.attack.s1.o0": "The analysis target page has been checked for HTML document.",
  "0.event.no_response_to_missing_input.no_change_inner.attack.s2.o0": "{0} element has been searched in an analysis target page.",
  "0.event.no_response_to_missing_input.no_change_inner.attack.s3.o0": "A fillable element has been searched in child elements of searched {0} elements.",
  "0.event.no_response_to_missing_input.no_change_inner.attack.s4.o0": "Searched {0} attribute has been set to an empty string.",
  "0.event.no_response_to_missing_input.no_change_inner.attack.s5.o0": "{1} element has been searched in child elements of searched {0} element.",
  "0.event.no_response_to_missing_input.no_change_inner.attack.s6.o0": "{1} event has occurred for searched {0} element.",
  "0.event.no_response_to_missing_input.no_change_inner.attack.s7.o0": "A server response has been checked after the event.",
  "0.event.no_response_to_missing_input.no_change_inner.result.s0.o0": "The HTML document is the analysis target page.",
  "0.event.no_response_to_missing_input.no_change_inner.result.s1.o0": "{0} element has been found in an analysis target page. The XPath of the element is shown as follow.",
  "0.event.no_response_to_missing_input.no_change_inner.result.s1.o1": "{0}",
  "0.event.no_response_to_missing_input.no_change_inner.result.s2.o0": "{1} fillable element has been found in child elements of the {0} element.",
  "0.event.no_response_to_missing_input.no_change_inner.result.s3.o0": "{1} element has been found in child elements of the {0} element. The XPath of the element is shown as follow.",
  "0.event.no_response_to_missing_input.no_change_inner.result.s3.o1": "{0}",
  "0.event.no_response_to_missing_input.no_change_inner.result.s4.o0": "In results of {1} event on the {0} element, DOMs between before and after the event are identical, and no message window has been popped up.",
  "0.event.no_response_to_missing_input.no_change_inner.result.s4.o1": "Therefore, its server does not response to a missing input.",
  "0.event.no_response_to_missing_input.no_change_inner.solution.s0.o0": "Modify to change a DOM or pop up a message window when an empty string is entered in the {0} element.",
  "0.event.no_response_to_missing_input.no_change_outer.attack.s0.o0": "You have accessed to the analysis target page with the following process.",
  "0.event.no_response_to_missing_input.no_change_outer.attack.s0.o1": "{0}",
  "0.event.no_response_to_missing_input.no_change_outer.attack.s1.o0": "The analysis target page has been checked for HTML document.",
  "0.event.no_response_to_missing_input.no_change_outer.attack.s2.o0": "{0} element has been searched in an analysis target page.",
  "0.event.no_response_to_missing_input.no_change_outer.attack.s3.o0": "A fillable element has been searched in child elements of searched {0} elements.",
  "0.event.no_response_to_missing_input.no_change_outer.attack.s4.o0": "Searched {0} attribute has been set to an empty string.",
  "0.event.no_response_to_missing_input.no_change_outer.attack.s5.o0": "{1} element has been searched in non-child elements of searched {0} elements.",
  "0.event.no_response_to_missing_input.no_change_outer.attack.s6.o0": "{1} event has occurred for searched {0} element.",
  "0.event.no_response_to_missing_input.no_change_outer.attack.s7.o0": "A server response has been checked after the event.",
  "0.event.no_response_to_missing_input.no_change_outer.result.s0.o0": "The HTML document is the analysis target page.",
  "0.event.no_response_to_missing_input.no_change_outer.result.s1.o0": "{0} element has been found in an analysis target page. The XPath of the element is shown as follow.",
  "0.event.no_response_to_missing_input.no_change_outer.result.s1.o1": "{0}",
  "0.event.no_response_to_missing_input.no_change_outer.result.s2.o0": "The id attribute of {0} element is shown as follow.",
  "0.event.no_response_to_missing_input.no_change_outer.result.s2.o1": "{0}",
  "0.event.no_response_to_missing_input.no_change_outer.result.s3.o0": "{1} fillable element has been found in child elements of the {0} element.",
  "0.event.no_response_to_missing_input.no_change_outer.result.s4.o0": "{0} element has been found in an analysis target page. The XPath of the element is shown as follow.",
  "0.event.no_response_to_missing_input.no_change_outer.result.s4.o1": "{0}",
  "0.event.no_response_to_missing_input.no_change_outer.result.s5.o0": "The form attribute of {0} element is shown as follow.",
  "0.event.no_response_to_missing_input.no_change_outer.result.s5.o1": "{0}",
  "0.event.no_response_to_missing_input.no_change_outer.result.s6.o0": "In results of {1} event on the {0} element, DOMs between before and after the event are identical, and no message window has been popped up. Therefore, its server does not response to a missing input.",
  "0.event.no_response_to_missing_input.no_change_outer.solution.s0.o0": "Modify to change a DOM or pop up a message window when an empty string is entered in the {0} element.",
  "0.event.non_standard_technology.active_x.attack.s0.o0": "You have accessed to the analysis target page with the following process.",
  "0.event.non_standard_technology.active_x.attack.s0.o1": "{0}",
  "0.event.non_standard_technology.active_x.attack.s1.o0": "The analysis target page has been checked for HTML document.",
  "0.event.non_standard_technology.active_x.attack.s2.o0": "{0} element has been searched in an analysis target page.",
  "0.event.non_standard_technology.active_x.attack.s3.o0": "{0} attribute has been checked in searched elements.",
  "0.event.non_standard_technology.active_x.result.s0.o0": "The HTML document is the analysis target page.",
  "0.event.non_standard_technology.active_x.result.s1.o0": "{0} element has been found in an analysis target page. The XPath of the element is shown as follow.",
  "0.event.non_standard_technology.active_x.result.s1.o1": "{0}",
  "0.event.non_standard_technology.active_x.result.s2.o0": "{0} attribute of the element is shown as follow.",
  "0.event.non_standard_technology.active_x.result.s2.o1": "{0}",
  "0.event.non_standard_technology.active_x.result.s3.o0": "The attribute value indicates the ActiveX has been applied.",
  "0.event.non_standard_technology.active_x.solution.s0.o0": "Use a standard technique to replace ActiveX.",
  "0.event.non_standard_technology.flash.attack.s0.o0": "You have accessed to the analysis target page with the following process.",
  "0.event.non_standard_technology.flash.attack.s0.o1": "{0}",
  "0.event.non_standard_technology.flash.attack.s1.o0": "The analysis target page has been checked for HTML document.",
  "0.event.non_standard_technology.flash.attack.s2.o0": "{0} element has been searched in an analysis target page.",
  "0.event.non_standard_technology.flash.attack.s3.o0": "{0} attribute has been checked in searched elements.",
  "0.event.non_standard_technology.flash.result.s0.o0": "The HTML document is the analysis target page.",
  "0.event.non_standard_technology.flash.result.s1.o0": "{0} element has been found in an analysis target page. The XPath of the element is shown as follow.",
  "0.event.non_standard_technology.flash.result.s1.o1": "{0}",
  "0.event.non_standard_technology.flash.result.s2.o0": "{0} attribute of the element is shown as follow.",
  "0.event.non_standard_technology.flash.result.s2.o1": "{0}",
  "0.event.non_standard_technology.flash.result.s3.o0": "The attribute value indicates the Adobe Flash has been applied.",
  "0.event.non_standard_technology.flash.solution.s0.o0": "Use a standard technique to replace Adobe Flash.",
  "0.event.non_standard_technology.java_applet.attack.s0.o0": "You have accessed to the analysis target page with the following process.",
  "0.event.non_standard_technology.java_applet.attack.s0.o1": "{0}",
  "0.event.non_standard_technology.java_applet.attack.s1.o0": "The analysis target page has been checked for HTML document.",
  "0.event.non_standard_technology.java_applet.attack.s2.o0": "{0} element has been searched in an analysis target page.",
  "0.event.non_standard_technology.java_applet.attack.s3.o0": "{0} attribute has been checked in searched elements.",
  "0.event.non_standard_technology.java_applet.result.s0.o0": "The HTML document is the analysis target page.",
  "0.event.non_standard_technology.java_applet.result.s1.o0": "{0} element has been found in an analysis target page. The XPath of the element is shown as follow.",
  "0.event.non_standard_technology.java_applet.result.s1.o1": "{0}",
  "0.event.non_standard_technology.java_applet.result.s2.o0": "{0} attribute of the element is shown as follow.",
  "0.event.non_standard_technology.java_applet.result.s2.o1": "{0}",
  "0.event.non_standard_technology.java_applet.result.s3.o0": "The attribute value indicates the Java applet has been applied.",
  "0.event.non_standard_technology.java_applet.solution.s0.o0": "Use a standard technique to replace Java applet.",
  "0.event.non_standard_technology.silverlight.attack.s0.o0": "You have accessed to the analysis target page with the following process.",
  "0.event.non_standard_technology.silverlight.attack.s0.o1": "{0}",
  "0.event.non_standard_technology.silverlight.attack.s1.o0": "The analysis target page has been checked for HTML document.",
  "0.event.non_standard_technology.silverlight.attack.s2.o0": "{0} element has been searched in an analysis target page.",
  "0.event.non_standard_technology.silverlight.attack.s3.o0": "{0} attribute has been checked in searched elements.",
  "0.event.non_standard_technology.silverlight.result.s0.o0": "The HTML document is the analysis target page.",
  "0.event.non_standard_technology.silverlight.result.s1.o0": "{0} element has been found in an analysis target page. The XPath of the element is shown as follow.",
  "0.event.non_standard_technology.silverlight.result.s1.o1": "{0}",
  "0.event.non_standard_technology.silverlight.result.s2.o0": "{0} attribute of the element is shown as follow.",
  "0.event.non_standard_technology.silverlight.result.s2.o1": "{0}",
  "0.event.non_standard_technology.silverlight.result.s3.o0": "The attribute value indicates the Microsoft Silverlight has been applied.",
  "0.event.non_standard_technology.silverlight.solution.s0.o0": "Use a standard technique to replace Microsoft Silverlight.",
  "0.event.non_standard_technology.windows_media_player.attack.s0.o0": "You have accessed to the analysis target page with the following process.",
  "0.event.non_standard_technology.windows_media_player.attack.s0.o1": "{0}",
  "0.event.non_standard_technology.windows_media_player.attack.s1.o0": "The analysis target page has been checked for HTML document.",
  "0.event.non_standard_technology.windows_media_player.attack.s2.o0": "{0} element has been searched in an analysis target page.",
  "0.event.non_standard_technology.windows_media_player.attack.s3.o0": "{0} attribute has been checked in searched elements.",
  "0.event.non_standard_technology.windows_media_player.result.s0.o0": "The HTML document is the analysis target page.",
  "0.event.non_standard_technology.windows_media_player.result.s1.o0": "{0} element has been found in an analysis target page. The XPath of the element is shown as follow.",
  "0.event.non_standard_technology.windows_media_player.result.s1.o1": "{0}",
  "0.event.non_standard_technology.windows_media_player.result.s2.o0": "{0} attribute of the element is shown as follow.",
  "0.event.non_standard_technology.windows_media_player.result.s2.o1": "{0}",
  "0.event.non_standard_technology.windows_media_player.result.s3.o0": "The attribute value indicates the Window Media Player has been applied.",
  "0.event.non_standard_technology.windows_media_player.solution.s0.o0": "Use a standard technique to replace Windows Media Player.",
  "0.event.path_traversal.conditional.apiReqInfo": "{0}",
  "0.event.path_traversal.conditional.apiReqMsg": "In addition, the following API request has been occurred as a result of executing {0} event during attempted attack.",
  "0.event.path_traversal.conditional.apireqinfo": "{0}",
  "0.event.path_traversal.conditional.apireqmsg": "In addition, the following API request has been occurred as a result of executing {0} event during attempted attack.",
  "0.event.path_traversal.pathTraversal.attack.s0.o0": "The Directory Traversal vulnerability is caused by generating directory path strings with user inputs, which exposes file systems behind the top-level directory.",
  "0.event.path_traversal.pathTraversal.attack.s1.o0": "The following attempted attack has been executed to check the path traversal vulnerability:",
  "0.event.path_traversal.pathTraversal.attack.s2.o0": "To check all {0} elements for the attack targets, the following process has been performed.",
  "0.event.path_traversal.pathTraversal.attack.s3.o0": "{0}",
  "0.event.path_traversal.pathTraversal.attack.s4.o0": "The following has been entered in the attack target:",
  "0.event.path_traversal.pathTraversal.attack.s5.o0": "{0}",
  "0.event.path_traversal.pathTraversal.attack.s6.o0": "{0} event has been performed on the following elements:",
  "0.event.path_traversal.pathTraversal.attack.s7.o0": "{0}",
  "0.event.path_traversal.pathTraversal.result.s0.o0": "The attack results are shown as follows.",
  "0.event.path_traversal.pathTraversal.result.s1.o0": "As a result of the event, the following string in the DOM has been found.",
  "0.event.path_traversal.pathTraversal.result.s2.o0": "{0}",
  "0.event.path_traversal.pathTraversal.result.s3.o0": "As a result of the execution, the attempted attack has been succeeded and the Directory Traversal vulnerability has found to be existed.",
  "0.event.path_traversal.pathTraversal.solution.s0.o0": "The solution is shown as follow.",
  "0.event.path_traversal.pathTraversal.solution.s1.o0": "It is best to eliminate cases that access paths that contain external input values.",
  "0.event.path_traversal.pathTraversal.solution.s2.o0": "If it can not be eliminated, verify and filter the input value.",
  "0.event.path_traversal.pathtraversal.attack.s0.o0": "The Directory Traversal vulnerability is caused by generating directory path strings with user inputs, which exposes file systems behind the top-level directory.",
  "0.event.path_traversal.pathtraversal.attack.s1.o0": "The following attempted attack has been executed to check the path traversal vulnerability:",
  "0.event.path_traversal.pathtraversal.attack.s2.o0": "To check all {0} elements for the attack targets, the following process has been performed.",
  "0.event.path_traversal.pathtraversal.attack.s3.o0": "{0}",
  "0.event.path_traversal.pathtraversal.attack.s4.o0": "The following string has been entered in the attack target:",
  "0.event.path_traversal.pathtraversal.attack.s5.o0": "{0}",
  "0.event.path_traversal.pathtraversal.attack.s6.o0": "{0} event has been performed on the following elements:",
  "0.event.path_traversal.pathtraversal.attack.s7.o0": "{0}",
  "0.event.path_traversal.pathtraversal.result.s0.o0": "The attack results are shown as follows.",
  "0.event.path_traversal.pathtraversal.result.s1.o0": "As a result of the event, the following string in the DOM has been found.",
  "0.event.path_traversal.pathtraversal.result.s2.o0": "{0}",
  "0.event.path_traversal.pathtraversal.result.s3.o0": "As a result of the execution, the attempted attack has been succeeded and the Directory Traversal vulnerability has found to be existed.",
  "0.event.path_traversal.pathtraversal.solution.s0.o0": "The solution is shown as follow.",
  "0.event.path_traversal.pathtraversal.solution.s1.o0": "It is best to eliminate cases that access paths that contain external input values.",
  "0.event.path_traversal.pathtraversal.solution.s2.o0": "If it can not be eliminated, verify and filter the input value.",
  "0.event.predictable_session.custom_numeric.attack.s0.o0": "To reach an attack target page, the following process has been performed.",
  "0.event.predictable_session.custom_numeric.attack.s0.o1": "{0}",
  "0.event.predictable_session.custom_numeric.attack.s1.o0": "There is an event record in the event clipboard for the attack target page.",
  "0.event.predictable_session.custom_numeric.attack.s1.o1": "The event history is available at login.",
  "0.event.predictable_session.custom_numeric.attack.s2.o0": "In order to remove the influence of existing cookies, browser has been shut down and launched again.",
  "0.event.predictable_session.custom_numeric.attack.s2.o1": "After launching the browser, the first log-in has been performed using a log event record.",
  "0.event.predictable_session.custom_numeric.attack.s3.o0": "After the first login, the browser verified the presence of {0} cookies.",
  "0.event.predictable_session.custom_numeric.attack.s3.o1": "The cookie corresponds to a custom attack string.",
  "0.event.predictable_session.custom_numeric.attack.s4.o0": "In order to remove the influence of existing cookies, browser has been shut down and launched again.",
  "0.event.predictable_session.custom_numeric.attack.s4.o1": "After launching the browser, the second log-in has been performed using a log event record.",
  "0.event.predictable_session.custom_numeric.attack.s5.o0": "The {0} cookie has been found to exist in the browser after the second login.",
  "0.event.predictable_session.custom_numeric.attack.s5.o1": "The cookie corresponds to a custom attack string.",
  "0.event.predictable_session.custom_numeric.attack.s6.o0": "In order to remove the influence of existing cookies, browser has been shut down and launched again.",
  "0.event.predictable_session.custom_numeric.attack.s6.o1": "After launching the browser, the third log-in has been performed using a log event record.",
  "0.event.predictable_session.custom_numeric.attack.s7.o0": "The {0} cookie has been found to exist in the browser after the third login.",
  "0.event.predictable_session.custom_numeric.attack.s7.o1": "The cookie corresponds to a custom attack string.",
  "0.event.predictable_session.custom_numeric.result.s0.o0": "After performing the first login event, the following string has been found in the {0} cookie of the browser.",
  "0.event.predictable_session.custom_numeric.result.s0.o1": "{0}",
  "0.event.predictable_session.custom_numeric.result.s0.o2": "The string corresponds to the session ID value.",
  "0.event.predictable_session.custom_numeric.result.s1.o0": "After performing the second login event, the following string has been found in the {0} cookie of the browser.",
  "0.event.predictable_session.custom_numeric.result.s1.o1": "{0}",
  "0.event.predictable_session.custom_numeric.result.s1.o2": "The string corresponds to the session ID value.",
  "0.event.predictable_session.custom_numeric.result.s2.o0": "After performing the third login event, the following string has been found in the browser's {0} cookie value.",
  "0.event.predictable_session.custom_numeric.result.s2.o1": "{0}",
  "0.event.predictable_session.custom_numeric.result.s2.o2": "The string corresponds to the session ID value.",
  "0.event.predictable_session.custom_numeric.result.s3.o0": "The string assigned with the number in session IDs after each login has the following differences.",
  "0.event.predictable_session.custom_numeric.result.s3.o1": "{0}",
  "0.event.predictable_session.custom_numeric.result.s4.o0": "As a result of the analysis, the regularity has been found in the change of the session ID value obtained from each login execution.",
  "0.event.predictable_session.custom_numeric.result.s4.o1": "Therefore, a session ID assigned from the server can be predicted.",
  "0.event.predictable_session.custom_numeric.solution.s0.o0": "A different session ID must be issued for client's each login attempt.",
  "0.event.predictable_session.custom_numeric.solution.s0.o1": "Session ID must be specified with unpredictable arbitrary values.",
  "0.event.predictable_session.numeric.attack.s0.o0": "To reach an attack target page, the following process has been performed.",
  "0.event.predictable_session.numeric.attack.s0.o1": "{0}",
  "0.event.predictable_session.numeric.attack.s1.o0": "There is an event record in the event clipboard for the attack target page.",
  "0.event.predictable_session.numeric.attack.s1.o1": "The event history is available at login.",
  "0.event.predictable_session.numeric.attack.s2.o0": "In order to remove the influence of existing cookies, browser has been shut down and launched again.",
  "0.event.predictable_session.numeric.attack.s2.o1": "After launching the browser, the first log-in has been performed using a log event record.",
  "0.event.predictable_session.numeric.attack.s3.o0": "After the first login, the browser verified the presence of {0} cookies.",
  "0.event.predictable_session.numeric.attack.s4.o0": "In order to remove the influence of existing cookies, browser has been shut down and launched again.",
  "0.event.predictable_session.numeric.attack.s4.o1": "After launching the browser, the second log-in has been performed using a log event record.",
  "0.event.predictable_session.numeric.attack.s5.o0": "The {0} cookie has been found to exist in the browser after the second login.",
  "0.event.predictable_session.numeric.attack.s6.o0": "In order to remove the influence of existing cookies, browser has been shut down and launched again.",
  "0.event.predictable_session.numeric.attack.s6.o1": "After launching the browser, the third log-in has been performed using a log event record.",
  "0.event.predictable_session.numeric.attack.s7.o0": "The {0} cookie has been found to exist in the browser after the third login.",
  "0.event.predictable_session.numeric.result.s0.o0": "After performing the first login event, the following string has been found in the {0} cookie of the browser.",
  "0.event.predictable_session.numeric.result.s0.o1": "{0}",
  "0.event.predictable_session.numeric.result.s0.o2": "The string corresponds to the session ID value.",
  "0.event.predictable_session.numeric.result.s1.o0": "After performing the second login event, the following string has been found in the {0} cookie of the browser.",
  "0.event.predictable_session.numeric.result.s1.o1": "{0}",
  "0.event.predictable_session.numeric.result.s1.o2": "The string corresponds to the session ID value.",
  "0.event.predictable_session.numeric.result.s2.o0": "After performing the third login event, the following string has been found in the browser's {0} cookie value.",
  "0.event.predictable_session.numeric.result.s2.o1": "{0}",
  "0.event.predictable_session.numeric.result.s2.o2": "The string corresponds to the session ID value.",
  "0.event.predictable_session.numeric.result.s3.o0": "The string assigned with the number in session IDs after each login has the following differences.",
  "0.event.predictable_session.numeric.result.s3.o1": "{0}",
  "0.event.predictable_session.numeric.result.s4.o0": "As a result of the analysis, the regularity has been found in the change of the session ID value obtained from each login execution.",
  "0.event.predictable_session.numeric.result.s4.o1": "Therefore, a session ID assigned from the server can be predicted.",
  "0.event.predictable_session.numeric.solution.s0.o0": "A different session ID must be issued for client's each login attempt.",
  "0.event.predictable_session.numeric.solution.s0.o1": "Session ID must be specified with unpredictable arbitrary values.",
  "0.event.reflected_xss.run.attack.s0.o0": "Attempted to access to a page with the following URL:",
  "0.event.reflected_xss.run.attack.s0.o1": "{0}",
  "0.event.reflected_xss.run.attack.s1.o0": "Of the events that exist on the page, an event with the following XPath is found.",
  "0.event.reflected_xss.run.attack.s1.o1": "{0}",
  "0.event.reflected_xss.run.attack.s2.o0": "And changed the value as below.",
  "0.event.reflected_xss.run.attack.s2.o1": "{0}",
  "0.event.reflected_xss.run.attack.s3.o0": "Of the events that exist on the page, an event with the following XPath has executed.",
  "0.event.reflected_xss.run.attack.s3.o1": "{0}",
  "0.event.reflected_xss.run.attack.s4.o0": "After the event executed, the value of the SPARROW_DAST_XSS_TEST DOM variable is validated.",
  "0.event.reflected_xss.run.result.s0.o0": "A value for SPARROW_DAST_XSS_TEST DOM variable is:",
  "0.event.reflected_xss.run.result.s0.o1": "{0}",
  "0.event.reflected_xss.run.result.s1.o0": "The result came after running a script of an event with the following XPath.",
  "0.event.reflected_xss.run.result.s1.o1": "{0}",
  "0.event.reflected_xss.run.solution.s0.o0": "Validation and encoding must be performed on the values entered by the user to prevent malicious scripts from being executed.",
  "0.event.sensitive_information_in_comments.jdbc.attack.s0.o0": "The Sensitive information in comments vulnerability is caused by including important information in comments viewed by unspecified others.",
  "0.event.sensitive_information_in_comments.jdbc.attack.s1.o0": "The following test has been performed to check the Sensitive Information in Comments vulnerability:",
  "0.event.sensitive_information_in_comments.jdbc.attack.s2.o0": "Extracted comments from the target page.",
  "0.event.sensitive_information_in_comments.jdbc.attack.s3.o0": "Checked for JDBC related information in the extracted comment.",
  "0.event.sensitive_information_in_comments.jdbc.result.s0.o0": "The test results are shown as follows.",
  "0.event.sensitive_information_in_comments.jdbc.result.s1.o0": "The following comments have been extracted from within the target page.",
  "0.event.sensitive_information_in_comments.jdbc.result.s2.o0": "{0}",
  "0.event.sensitive_information_in_comments.jdbc.result.s3.o0": "The following information possibly related to JDBC has been found in the extracted comment:",
  "0.event.sensitive_information_in_comments.jdbc.result.s4.o0": "{0}",
  "0.event.sensitive_information_in_comments.jdbc.result.s5.o0": "As a result of the test, the sensitive information exposure vulnerability has been found to exist.",
  "0.event.sensitive_information_in_comments.jdbc.solution.s0.o0": "The solution is shown as follow.",
  "0.event.sensitive_information_in_comments.jdbc.solution.s1.o0": "Comments may contain sensitive information such as JDBC-related information.",
  "0.event.sensitive_information_in_comments.jdbc.solution.s1.o1": "The information can be easily checked by the user through the view source function of the browser.",
  "0.event.sensitive_information_in_comments.jdbc.solution.s2.o0": "To prevent this information disclosure, do not use the following comments.",
  "0.event.sensitive_information_in_comments.jdbc.solution.s3.o0": "{0}",
  "0.event.sensitive_information_in_comments.jdbc.solution.s4.o0": "Instead, use server-side comments that can not be viewed by the client.",
  "0.event.sensitive_information_in_comments.jdbc.solution.s4.o1": "It is shown as follow.",
  "0.event.sensitive_information_in_comments.jdbc.solution.s5.o0": "{0}",
  "0.event.sensitive_information_in_comments.password.attack.s0.o0": "The Sensitive information in comments vulnerability is caused by including important information in comments viewed by unspecified others.",
  "0.event.sensitive_information_in_comments.password.attack.s1.o0": "The following test has been performed to check the Sensitive Information in Comments vulnerability:",
  "0.event.sensitive_information_in_comments.password.attack.s2.o0": "Extracted comments from the target page.",
  "0.event.sensitive_information_in_comments.password.attack.s3.o0": "Checked for password information in the extracted comment.",
  "0.event.sensitive_information_in_comments.password.result.s0.o0": "The test results are shown as follows.",
  "0.event.sensitive_information_in_comments.password.result.s1.o0": "The following comments have been extracted from within the target page.",
  "0.event.sensitive_information_in_comments.password.result.s2.o0": "{0}",
  "0.event.sensitive_information_in_comments.password.result.s3.o0": "The following putative password information has been found in the extracted comment:",
  "0.event.sensitive_information_in_comments.password.result.s4.o0": "{0}",
  "0.event.sensitive_information_in_comments.password.result.s5.o0": "As a result of the test, the sensitive information exposure vulnerability has been found to exist.",
  "0.event.sensitive_information_in_comments.password.solution.s0.o0": "The solution is shown as follow.",
  "0.event.sensitive_information_in_comments.password.solution.s1.o0": "Comments may contain sensitive information, such as passwords.",
  "0.event.sensitive_information_in_comments.password.solution.s1.o1": "The information can be easily checked by the user through the view source function of the browser.",
  "0.event.sensitive_information_in_comments.password.solution.s2.o0": "To prevent this information disclosure, do not use the following comments.",
  "0.event.sensitive_information_in_comments.password.solution.s3.o0": "{0}",
  "0.event.sensitive_information_in_comments.password.solution.s4.o0": "Instead, use server-side comments that can not be viewed by the client.",
  "0.event.sensitive_information_in_comments.password.solution.s4.o1": "It is shown as follow.",
  "0.event.sensitive_information_in_comments.password.solution.s5.o0": "{0}",
  "0.event.sensitive_information_in_plain_text.absoluteAction.attack.s0.o0": "The Sensitive Information in Plain Text vulnerability is caused by passing sensitive information in plain text.",
  "0.event.sensitive_information_in_plain_text.absoluteAction.attack.s1.o0": "To check the Sensitive Information in Plain Text vulnerability, the following process has been performed.",
  "0.event.sensitive_information_in_plain_text.absoluteAction.attack.s2.o0": "The sensitive information has been found to be sent from the target page.",
  "0.event.sensitive_information_in_plain_text.absoluteAction.attack.s3.o0": "The sensitive information has been found to be able to send in plain text.",
  "0.event.sensitive_information_in_plain_text.absoluteAction.result.s0.o0": "The test results are shown as follows.",
  "0.event.sensitive_information_in_plain_text.absoluteAction.result.s1.o0": "The following element has been found to be able to include sensitive information in the target page.",
  "0.event.sensitive_information_in_plain_text.absoluteAction.result.s2.o0": "{0}",
  "0.event.sensitive_information_in_plain_text.absoluteAction.result.s3.o0": "The destination address of the information is defined as an absolute path to the ACTION property of the FORM tag as follow.",
  "0.event.sensitive_information_in_plain_text.absoluteAction.result.s4.o0": "{0}",
  "0.event.sensitive_information_in_plain_text.absoluteAction.result.s5.o0": "Based on the fact that the destination address does not start with \"https://\", it has been discovered that communication to the destination does not use the HTTPS protocol.",
  "0.event.sensitive_information_in_plain_text.absoluteAction.result.s6.o0": "As a result of the test, the Sensitive Information in Plain Text vulnerability has been found to exist.",
  "0.event.sensitive_information_in_plain_text.absoluteAction.result.s7.o0": "The issue has been found in the following page.",
  "0.event.sensitive_information_in_plain_text.absoluteAction.result.s7.o1": "{0}",
  "0.event.sensitive_information_in_plain_text.absoluteAction.solution.s0.o0": "The solution is shown as follow.",
  "0.event.sensitive_information_in_plain_text.absoluteAction.solution.s1.o0": "In order to prevent unintentional exposure, sensitive information must be transmitted with encryption.",
  "0.event.sensitive_information_in_plain_text.absoluteAction.solution.s1.o1": "Cryptographic transmission of sensitive information is possible by using the HTTPS protocol using SSL.",
  "0.event.sensitive_information_in_plain_text.absoluteAction.solution.s2.o0": "Alternatively, after encrypting the information, then it can be sent over the HTTP protocol.",
  "0.event.sensitive_information_in_plain_text.absoluteaction.attack.s0.o0": "The Sensitive Information in Plain Text vulnerability is caused by passing sensitive information in plain text.",
  "0.event.sensitive_information_in_plain_text.absoluteaction.attack.s1.o0": "To check the Sensitive Information in Plain Text vulnerability, the following process has been performed.",
  "0.event.sensitive_information_in_plain_text.absoluteaction.attack.s2.o0": "The sensitive information has been found to be sent from the target page.",
  "0.event.sensitive_information_in_plain_text.absoluteaction.attack.s3.o0": "The sensitive information has been found to be able to send in plain text.",
  "0.event.sensitive_information_in_plain_text.absoluteaction.result.s0.o0": "The test results are shown as follows.",
  "0.event.sensitive_information_in_plain_text.absoluteaction.result.s1.o0": "The following element has been found to be able to include sensitive information in the target page.",
  "0.event.sensitive_information_in_plain_text.absoluteaction.result.s2.o0": "{0}",
  "0.event.sensitive_information_in_plain_text.absoluteaction.result.s3.o0": "The destination address of the information is defined as an absolute path to the ACTION property of the FORM tag as follow.",
  "0.event.sensitive_information_in_plain_text.absoluteaction.result.s4.o0": "{0}",
  "0.event.sensitive_information_in_plain_text.absoluteaction.result.s5.o0": "Based on the fact that the destination address does not start with \"https://\", it has been discovered that communication to the destination does not use the HTTPS protocol.",
  "0.event.sensitive_information_in_plain_text.absoluteaction.result.s6.o0": "As a result of the test, the Sensitive Information in Plain Text vulnerability has been found to exist.",
  "0.event.sensitive_information_in_plain_text.absoluteaction.result.s7.o0": "The issue has been found in the following page.",
  "0.event.sensitive_information_in_plain_text.absoluteaction.result.s7.o1": "{0}",
  "0.event.sensitive_information_in_plain_text.absoluteaction.solution.s0.o0": "The solution is shown as follow.",
  "0.event.sensitive_information_in_plain_text.absoluteaction.solution.s1.o0": "In order to prevent unintentional exposure, sensitive information must be transmitted with encryption.",
  "0.event.sensitive_information_in_plain_text.absoluteaction.solution.s1.o1": "Cryptographic transmission of sensitive information is possible by using the HTTPS protocol using SSL.",
  "0.event.sensitive_information_in_plain_text.absoluteaction.solution.s2.o0": "Alternatively, after encrypting the information, then it can be sent over the HTTP protocol.",
  "0.event.sensitive_information_in_plain_text.noAction.attack.s0.o0": "The Sensitive Information in Plain Text vulnerability is caused by passing sensitive information in plain text.",
  "0.event.sensitive_information_in_plain_text.noAction.attack.s1.o0": "To check the Sensitive Information in Plain Text vulnerability, the following process has been performed.",
  "0.event.sensitive_information_in_plain_text.noAction.attack.s2.o0": "The sensitive information has been found to be sent from the target page.",
  "0.event.sensitive_information_in_plain_text.noAction.attack.s3.o0": "The sensitive information has been found to be able to send in plain text.",
  "0.event.sensitive_information_in_plain_text.noAction.result.s0.o0": "The test results are shown as follows.",
  "0.event.sensitive_information_in_plain_text.noAction.result.s1.o0": "The following element has been found to be able to include sensitive information in the target page.",
  "0.event.sensitive_information_in_plain_text.noAction.result.s2.o0": "{0}",
  "0.event.sensitive_information_in_plain_text.noAction.result.s3.o0": "The destination address of the information cannot be found in the ACTION property of the FORM tag, so it is inferred to be same as the current page address as follow.",
  "0.event.sensitive_information_in_plain_text.noAction.result.s4.o0": "{0}",
  "0.event.sensitive_information_in_plain_text.noAction.result.s5.o0": "The destination address means to use the protocol of the current page address as it is.",
  "0.event.sensitive_information_in_plain_text.noAction.result.s6.o0": "The current page address is the HTTP protocol, so the HTTPS protocol has not been used for the communication to the destination.",
  "0.event.sensitive_information_in_plain_text.noAction.result.s7.o0": "As a result of the test, the Sensitive Information in Plain Text vulnerability has been found to exist.",
  "0.event.sensitive_information_in_plain_text.noAction.result.s8.o0": "The issue has been found in the following page.",
  "0.event.sensitive_information_in_plain_text.noAction.result.s8.o1": "{0}",
  "0.event.sensitive_information_in_plain_text.noAction.solution.s0.o0": "The solution is shown as follow.",
  "0.event.sensitive_information_in_plain_text.noAction.solution.s1.o0": "In order to prevent unintentional exposure, sensitive information must be transmitted with encryption.",
  "0.event.sensitive_information_in_plain_text.noAction.solution.s1.o1": "Cryptographic transmission of sensitive information is possible by using the HTTPS protocol using SSL.",
  "0.event.sensitive_information_in_plain_text.noAction.solution.s2.o0": "Alternatively, after encrypting the information, then it can be sent over the HTTP protocol.",
  "0.event.sensitive_information_in_plain_text.noaction.attack.s0.o0": "The Sensitive Information in Plain Text vulnerability is caused by passing sensitive information in plain text.",
  "0.event.sensitive_information_in_plain_text.noaction.attack.s1.o0": "To check the Sensitive Information in Plain Text vulnerability, the following process has been performed.",
  "0.event.sensitive_information_in_plain_text.noaction.attack.s2.o0": "The sensitive information has been found to be sent from the target page.",
  "0.event.sensitive_information_in_plain_text.noaction.attack.s3.o0": "The sensitive information has been found to be able to send in plain text.",
  "0.event.sensitive_information_in_plain_text.noaction.result.s0.o0": "The test results are shown as follows.",
  "0.event.sensitive_information_in_plain_text.noaction.result.s1.o0": "The following element has been found to be able to include sensitive information in the target page.",
  "0.event.sensitive_information_in_plain_text.noaction.result.s2.o0": "{0}",
  "0.event.sensitive_information_in_plain_text.noaction.result.s3.o0": "The destination address of the information cannot be found in the ACTION property of the FORM tag, so it is inferred to be same as the current page address as follow.",
  "0.event.sensitive_information_in_plain_text.noaction.result.s4.o0": "{0}",
  "0.event.sensitive_information_in_plain_text.noaction.result.s5.o0": "The destination address means to use the protocol of the current page address as it is.",
  "0.event.sensitive_information_in_plain_text.noaction.result.s6.o0": "The current page address is the HTTP protocol, so the HTTPS protocol has not been used for the communication to the destination.",
  "0.event.sensitive_information_in_plain_text.noaction.result.s7.o0": "As a result of the test, the Sensitive Information in Plain Text vulnerability has been found to exist.",
  "0.event.sensitive_information_in_plain_text.noaction.result.s8.o0": "The issue has been found in the following page.",
  "0.event.sensitive_information_in_plain_text.noaction.result.s8.o1": "{0}",
  "0.event.sensitive_information_in_plain_text.noaction.solution.s0.o0": "The solution is shown as follow.",
  "0.event.sensitive_information_in_plain_text.noaction.solution.s1.o0": "In order to prevent unintentional exposure, sensitive information must be transmitted with encryption.",
  "0.event.sensitive_information_in_plain_text.noaction.solution.s1.o1": "Cryptographic transmission of sensitive information is possible by using the HTTPS protocol using SSL.",
  "0.event.sensitive_information_in_plain_text.noaction.solution.s2.o0": "Alternatively, after encrypting the information, then it can be sent over the HTTP protocol.",
  "0.event.sensitive_information_in_plain_text.relativeAction.attack.s0.o0": "The Sensitive Information in Plain Text vulnerability is caused by passing sensitive information in plain text.",
  "0.event.sensitive_information_in_plain_text.relativeAction.attack.s1.o0": "To check the Sensitive Information in Plain Text vulnerability, the following process has been performed.",
  "0.event.sensitive_information_in_plain_text.relativeAction.attack.s2.o0": "The sensitive information has been found to be sent from the target page.",
  "0.event.sensitive_information_in_plain_text.relativeAction.attack.s3.o0": "The sensitive information has been found to be able to send in plain text.",
  "0.event.sensitive_information_in_plain_text.relativeAction.result.s0.o0": "The test results are shown as follows.",
  "0.event.sensitive_information_in_plain_text.relativeAction.result.s1.o0": "The following element has been found to be able to include sensitive information in the target page.",
  "0.event.sensitive_information_in_plain_text.relativeAction.result.s2.o0": "{0}",
  "0.event.sensitive_information_in_plain_text.relativeAction.result.s3.o0": "The destination address of the information is defined as a relative path to the ACTION property in the FORM tag as follow:",
  "0.event.sensitive_information_in_plain_text.relativeAction.result.s4.o0": "{0}",
  "0.event.sensitive_information_in_plain_text.relativeAction.result.s5.o0": "The destination address means to use the protocol of the current page address as it is.",
  "0.event.sensitive_information_in_plain_text.relativeAction.result.s6.o0": "The current page address is the HTTP protocol, so the HTTPS protocol has not been used for the communication to the destination.",
  "0.event.sensitive_information_in_plain_text.relativeAction.result.s7.o0": "As a result of the test, the Sensitive Information in Plain Text vulnerability has been found to exist.",
  "0.event.sensitive_information_in_plain_text.relativeAction.result.s8.o0": "The issue has been found in the following page.",
  "0.event.sensitive_information_in_plain_text.relativeAction.result.s8.o1": "{0}",
  "0.event.sensitive_information_in_plain_text.relativeAction.solution.s0.o0": "The solution is shown as follow.",
  "0.event.sensitive_information_in_plain_text.relativeAction.solution.s1.o0": "In order to prevent unintentional exposure, sensitive information must be transmitted with encryption.",
  "0.event.sensitive_information_in_plain_text.relativeAction.solution.s1.o1": "Cryptographic transmission of sensitive information is possible by using the HTTPS protocol using SSL.",
  "0.event.sensitive_information_in_plain_text.relativeAction.solution.s2.o0": "Alternatively, after encrypting the information, then it can be sent over the HTTP protocol.",
  "0.event.sensitive_information_in_plain_text.relativeaction.attack.s0.o0": "The Sensitive Information in Plain Text vulnerability is caused by passing sensitive information in plain text.",
  "0.event.sensitive_information_in_plain_text.relativeaction.attack.s1.o0": "To check the Sensitive Information in Plain Text vulnerability, the following process has been performed.",
  "0.event.sensitive_information_in_plain_text.relativeaction.attack.s2.o0": "The sensitive information has been found to be sent from the target page.",
  "0.event.sensitive_information_in_plain_text.relativeaction.attack.s3.o0": "The sensitive information has been found to be able to send in plain text.",
  "0.event.sensitive_information_in_plain_text.relativeaction.result.s0.o0": "The test results are shown as follows.",
  "0.event.sensitive_information_in_plain_text.relativeaction.result.s1.o0": "The following element has been found to be able to include sensitive information in the target page.",
  "0.event.sensitive_information_in_plain_text.relativeaction.result.s2.o0": "{0}",
  "0.event.sensitive_information_in_plain_text.relativeaction.result.s3.o0": "The destination address of the information is defined as a relative path to the ACTION property in the FORM tag as follow:",
  "0.event.sensitive_information_in_plain_text.relativeaction.result.s4.o0": "{0}",
  "0.event.sensitive_information_in_plain_text.relativeaction.result.s5.o0": "The destination address means to use the protocol of the current page address as it is.",
  "0.event.sensitive_information_in_plain_text.relativeaction.result.s6.o0": "The current page address is the HTTP protocol, so the HTTPS protocol has not been used for the communication to the destination.",
  "0.event.sensitive_information_in_plain_text.relativeaction.result.s7.o0": "As a result of the test, the Sensitive Information in Plain Text vulnerability has been found to exist.",
  "0.event.sensitive_information_in_plain_text.relativeaction.result.s8.o0": "The issue has been found in the following page.",
  "0.event.sensitive_information_in_plain_text.relativeaction.result.s8.o1": "{0}",
  "0.event.sensitive_information_in_plain_text.relativeaction.solution.s0.o0": "The solution is shown as follow.",
  "0.event.sensitive_information_in_plain_text.relativeaction.solution.s1.o0": "In order to prevent unintentional exposure, sensitive information must be transmitted with encryption.",
  "0.event.sensitive_information_in_plain_text.relativeaction.solution.s1.o1": "Cryptographic transmission of sensitive information is possible by using the HTTPS protocol using SSL.",
  "0.event.sensitive_information_in_plain_text.relativeaction.solution.s2.o0": "Alternatively, after encrypting the information, then it can be sent over the HTTP protocol.",
  "0.event.session_fixation.anonymous.attack.s0.o0": "To reach an attack target page, the following process has been performed.",
  "0.event.session_fixation.anonymous.attack.s0.o1": "{0}",
  "0.event.session_fixation.anonymous.attack.s1.o0": "In order to remove the influence of existing cookies, browser has been shut down and launched again.",
  "0.event.session_fixation.anonymous.attack.s1.o1": "After launching the browser, the first attempt has been executed to access to the attack target page.",
  "0.event.session_fixation.anonymous.attack.s2.o0": "The {0} cookies has been found to exist in the browser after the first attempt.",
  "0.event.session_fixation.anonymous.attack.s3.o0": "In order to remove the influence of existing cookies, browser has been shut down and launched again.",
  "0.event.session_fixation.anonymous.attack.s3.o1": "After launching the browser, the second attempt has been executed to access to the attack target page.",
  "0.event.session_fixation.anonymous.attack.s4.o0": "The {0} cookies has been found to exist in the browser after the second attempt.",
  "0.event.session_fixation.anonymous.result.s0.o0": "After the first attempt to access the attack target page, the following string has been found in the {0} cookie of the browser.",
  "0.event.session_fixation.anonymous.result.s0.o1": "{0}",
  "0.event.session_fixation.anonymous.result.s0.o2": "The string corresponds to the session ID value.",
  "0.event.session_fixation.anonymous.result.s1.o0": "After the second attempt to access the attack target page, the following string has been found in the {0} cookie of the browser.",
  "0.event.session_fixation.anonymous.result.s1.o1": "{0}",
  "0.event.session_fixation.anonymous.result.s1.o2": "The string corresponds to the session ID value.",
  "0.event.session_fixation.anonymous.result.s2.o0": "As a result of the analysis, the session ID values ​​obtained from two accesses are the same.",
  "0.event.session_fixation.anonymous.result.s2.o1": "Therefore, a server can issue the same session ID to an identical client for every connecting attempt.",
  "0.event.session_fixation.anonymous.solution.s0.o0": "A different session ID must be issued for client's each connection attempt.",
  "0.event.session_fixation.anonymous.solution.s0.o1": "Session ID must be specified with unpredictable arbitrary values.",
  "0.event.session_fixation.anonymous.solution.s1.o0": "Expiration period must be set for each session ID.",
  "0.event.session_fixation.custom_anonymous.attack.s0.o0": "To reach an attack target page, the following process has been performed.",
  "0.event.session_fixation.custom_anonymous.attack.s0.o1": "{0}",
  "0.event.session_fixation.custom_anonymous.attack.s1.o0": "In order to remove the influence of existing cookies, browser has been shut down and launched again.",
  "0.event.session_fixation.custom_anonymous.attack.s1.o1": "After launching the browser, the first attempt has been executed to access to the attack target page.",
  "0.event.session_fixation.custom_anonymous.attack.s2.o0": "The {0} cookies has been found to exist in the browser after the first attempt.",
  "0.event.session_fixation.custom_anonymous.attack.s2.o1": "The cookie corresponds to a custom attack string.",
  "0.event.session_fixation.custom_anonymous.attack.s3.o0": "In order to remove the influence of existing cookies, browser has been shut down and launched again.",
  "0.event.session_fixation.custom_anonymous.attack.s3.o1": "After launching the browser, the second attempt has been executed to access to the attack target page.",
  "0.event.session_fixation.custom_anonymous.attack.s4.o0": "The {0} cookies has been found to exist in the browser after the second attempt.",
  "0.event.session_fixation.custom_anonymous.attack.s4.o1": "The cookie corresponds to a custom attack string.",
  "0.event.session_fixation.custom_anonymous.result.s0.o0": "After the first attempt to access the attack target page, the following string has been found in the {0} cookie of the browser.",
  "0.event.session_fixation.custom_anonymous.result.s0.o1": "{0}",
  "0.event.session_fixation.custom_anonymous.result.s0.o2": "The string corresponds to the session ID value.",
  "0.event.session_fixation.custom_anonymous.result.s1.o0": "After the second attempt to access the attack target page, the following string has been found in the {0} cookie of the browser.",
  "0.event.session_fixation.custom_anonymous.result.s1.o1": "{0}",
  "0.event.session_fixation.custom_anonymous.result.s1.o2": "The string corresponds to the session ID value.",
  "0.event.session_fixation.custom_anonymous.result.s2.o0": "As a result of the analysis, the session ID values ​​obtained from two accesses are the same.",
  "0.event.session_fixation.custom_anonymous.result.s2.o1": "Therefore, a server can issue the same session ID to an identical client for every connecting attempt.",
  "0.event.session_fixation.custom_anonymous.solution.s0.o0": "A different session ID must be issued for client's each connection attempt.",
  "0.event.session_fixation.custom_anonymous.solution.s0.o1": "Session ID must be specified with unpredictable arbitrary values.",
  "0.event.session_fixation.custom_anonymous.solution.s1.o0": "Expiration period must be set for each session ID.",
  "0.event.session_fixation.custom_login.attack.s0.o0": "To reach an attack target page, the following process has been performed.",
  "0.event.session_fixation.custom_login.attack.s0.o1": "{0}",
  "0.event.session_fixation.custom_login.attack.s1.o0": "There is an event record in the event clipboard for the attack target page.",
  "0.event.session_fixation.custom_login.attack.s1.o1": "The event history is available at login.",
  "0.event.session_fixation.custom_login.attack.s2.o0": "In order to remove the influence of existing cookies, browser has been shut down and launched again.",
  "0.event.session_fixation.custom_login.attack.s2.o1": "After launching the browser, the first log-in has been performed using a log event record.",
  "0.event.session_fixation.custom_login.attack.s3.o0": "After the first login, the browser verified the presence of {0} cookies.",
  "0.event.session_fixation.custom_login.attack.s3.o1": "The cookie corresponds to a custom attack string.",
  "0.event.session_fixation.custom_login.attack.s4.o0": "In order to remove the influence of existing cookies, browser has been shut down and launched again.",
  "0.event.session_fixation.custom_login.attack.s4.o1": "After launching the browser, the second log-in has been performed using a log event record.",
  "0.event.session_fixation.custom_login.attack.s5.o0": "The {0} cookie has been found to exist in the browser after the second login.",
  "0.event.session_fixation.custom_login.attack.s5.o1": "The cookie corresponds to a custom attack string.",
  "0.event.session_fixation.custom_login.result.s0.o0": "After performing the first login event, the following string has been found in the {0} cookie of the browser.",
  "0.event.session_fixation.custom_login.result.s0.o1": "{0}",
  "0.event.session_fixation.custom_login.result.s0.o2": "The string corresponds to the session ID value.",
  "0.event.session_fixation.custom_login.result.s1.o0": "After performing the second login event, the following string has been found in the {0} cookie of the browser.",
  "0.event.session_fixation.custom_login.result.s1.o1": "{0}",
  "0.event.session_fixation.custom_login.result.s1.o2": "The string corresponds to the session ID value.",
  "0.event.session_fixation.custom_login.result.s2.o0": "As a result of the analysis, the session ID values ​​obtained from two logins are the same.",
  "0.event.session_fixation.custom_login.result.s2.o1": "Therefore, a server can issue the same session ID to an identical client for every login attempt.",
  "0.event.session_fixation.custom_login.solution.s0.o0": "A different session ID must be issued for client's each login attempt.",
  "0.event.session_fixation.custom_login.solution.s0.o1": "Session ID must be specified with unpredictable arbitrary values.",
  "0.event.session_fixation.custom_login.solution.s1.o0": "Expiration period must be set for each session ID.",
  "0.event.session_fixation.login.attack.s0.o0": "To reach an attack target page, the following process has been performed.",
  "0.event.session_fixation.login.attack.s0.o1": "{0}",
  "0.event.session_fixation.login.attack.s1.o0": "There is an event record in the event clipboard for the attack target page.",
  "0.event.session_fixation.login.attack.s1.o1": "The event history is available at login.",
  "0.event.session_fixation.login.attack.s2.o0": "In order to remove the influence of existing cookies, browser has been shut down and launched again.",
  "0.event.session_fixation.login.attack.s2.o1": "After launching the browser, the first log-in has been performed using a log event record.",
  "0.event.session_fixation.login.attack.s3.o0": "After the first login, the browser verified the presence of {0} cookies.",
  "0.event.session_fixation.login.attack.s4.o0": "In order to remove the influence of existing cookies, browser has been shut down and launched again.",
  "0.event.session_fixation.login.attack.s4.o1": "After launching the browser, the second log-in has been performed using a log event record.",
  "0.event.session_fixation.login.attack.s5.o0": "The {0} cookie has been found to exist in the browser after the second login.",
  "0.event.session_fixation.login.result.s0.o0": "After performing the first login event, the following string has been found in the {0} cookie of the browser.",
  "0.event.session_fixation.login.result.s0.o1": "{0}",
  "0.event.session_fixation.login.result.s0.o2": "The string corresponds to the session ID value.",
  "0.event.session_fixation.login.result.s1.o0": "After performing the second login event, the following string has been found in the {0} cookie of the browser.",
  "0.event.session_fixation.login.result.s1.o1": "{0}",
  "0.event.session_fixation.login.result.s1.o2": "The string corresponds to the session ID value.",
  "0.event.session_fixation.login.result.s2.o0": "As a result of the analysis, the session ID values ​​obtained from two logins are the same.",
  "0.event.session_fixation.login.result.s2.o1": "Therefore, a server can issue the same session ID to an identical client for every login attempt.",
  "0.event.session_fixation.login.solution.s0.o0": "A different session ID must be issued for client's each login attempt.",
  "0.event.session_fixation.login.solution.s0.o1": "Session ID must be specified with unpredictable arbitrary values.",
  "0.event.session_fixation.login.solution.s1.o0": "Expiration period must be set for each session ID.",
  "0.event.session_replay.custom_replay.attack.s0.o0": "To reach an attack target page, the following process has been performed.",
  "0.event.session_replay.custom_replay.attack.s0.o1": "{0}",
  "0.event.session_replay.custom_replay.attack.s1.o0": "There is an event record in the event clipboard for the attack target page.",
  "0.event.session_replay.custom_replay.attack.s1.o1": "The event history is available at login.",
  "0.event.session_replay.custom_replay.attack.s2.o0": "In order to remove the influence of existing cookies, browser has been shut down and launched again.",
  "0.event.session_replay.custom_replay.attack.s2.o1": "After launching the browser, the first log-in has been performed using a log event record.",
  "0.event.session_replay.custom_replay.attack.s3.o0": "The {0} cookie has been found to exist in the browser after log-in.",
  "0.event.session_replay.custom_replay.attack.s3.o1": "The cookie corresponds to a custom attack string.",
  "0.event.session_replay.custom_replay.attack.s4.o0": "In order to remove the influence of existing cookies, browser has been shut down and launched again.",
  "0.event.session_replay.custom_replay.attack.s4.o1": "After launching the browser, the {0} cookie checked from log-ins has been added.",
  "0.event.session_replay.custom_replay.attack.s4.o2": "After adding browser cookies, an attempt without a log-in has been executed to access to the location requiring a log-in process.",
  "0.event.session_replay.custom_replay.result.s0.o0": "After executing login event, the following string has been found in the {0} cookie of the browser.",
  "0.event.session_replay.custom_replay.result.s0.o1": "{0}",
  "0.event.session_replay.custom_replay.result.s0.o2": "The string corresponds to the session ID value.",
  "0.event.session_replay.custom_replay.result.s0.o3": "In addition, the following URL of the location has been accessed after login.",
  "0.event.session_replay.custom_replay.result.s0.o4": "{0}",
  "0.event.session_replay.custom_replay.result.s1.o0": "As a result of adding a browser cookie and attempting to access a location which require a log-in without login process, the log-in moved to a location with the following URL.",
  "0.event.session_replay.custom_replay.result.s1.o1": "{0}",
  "0.event.session_replay.custom_replay.result.s2.o0": "As a result of the analysis, browser cookie setting enabled access to the location that requires login without login process.",
  "0.event.session_replay.custom_replay.result.s2.o1": "Therefore, a client can bypass authentication by modifying its session ID.",
  "0.event.session_replay.custom_replay.solution.s0.o0": "A different session ID must be issued for client's each login attempt.",
  "0.event.session_replay.custom_replay.solution.s0.o1": "Session ID must be specified with unpredictable arbitrary values.",
  "0.event.session_replay.custom_replay.solution.s1.o0": "Expiration period must be set for each session ID.",
  "0.event.session_replay.replay.attack.s0.o0": "To reach an attack target page, the following process has been performed.",
  "0.event.session_replay.replay.attack.s0.o1": "{0}",
  "0.event.session_replay.replay.attack.s1.o0": "There is an event record in the event clipboard for the attack target page.",
  "0.event.session_replay.replay.attack.s1.o1": "The event history is available at login.",
  "0.event.session_replay.replay.attack.s2.o0": "In order to remove the influence of existing cookies, browser has been shut down and launched again.",
  "0.event.session_replay.replay.attack.s2.o1": "After launching the browser, the first log-in has been performed using a log event record.",
  "0.event.session_replay.replay.attack.s3.o0": "The {0} cookie has been found to exist in the browser after log-in.",
  "0.event.session_replay.replay.attack.s4.o0": "In order to remove the influence of existing cookies, browser has been shut down and launched again.",
  "0.event.session_replay.replay.attack.s4.o1": "After launching the browser, the {0} cookie checked from log-ins has been added.",
  "0.event.session_replay.replay.attack.s4.o2": "After adding browser cookies, an attempt without a log-in has been executed to access to the location requiring a log-in process.",
  "0.event.session_replay.replay.result.s0.o0": "After executing login event, the following string has been found in the {0} cookie of the browser.",
  "0.event.session_replay.replay.result.s0.o1": "{0}",
  "0.event.session_replay.replay.result.s0.o2": "The string corresponds to the session ID value.",
  "0.event.session_replay.replay.result.s0.o3": "In addition, the following URL of the location has been accessed after login.",
  "0.event.session_replay.replay.result.s0.o4": "{0}",
  "0.event.session_replay.replay.result.s1.o0": "As a result of adding a browser cookie and attempting to access a location which require a log-in without login process, the log-in moved to a location with the following URL.",
  "0.event.session_replay.replay.result.s1.o1": "{0}",
  "0.event.session_replay.replay.result.s2.o0": "As a result of the analysis, browser cookie setting enabled access to the location that requires login without login process.",
  "0.event.session_replay.replay.result.s2.o1": "Therefore, a client can bypass authentication by modifying its session ID.",
  "0.event.session_replay.replay.solution.s0.o0": "A different session ID must be issued for client's each login attempt.",
  "0.event.session_replay.replay.solution.s0.o1": "Session ID must be specified with unpredictable arbitrary values.",
  "0.event.session_replay.replay.solution.s1.o0": "Expiration period must be set for each session ID.",
  "0.event.skb__improper_session_expiration__application_session_timeout_settings.closure.attack.s0.o0": "The attempt to log-in has been executed on the following URL.",
  "0.event.skb__improper_session_expiration__application_session_timeout_settings.closure.attack.s0.o1": "{0}",
  "0.event.skb__improper_session_expiration__application_session_timeout_settings.closure.attack.s1.o0": "Navigated to the following URL after logging-in:",
  "0.event.skb__improper_session_expiration__application_session_timeout_settings.closure.attack.s1.o1": "{0}",
  "0.event.skb__improper_session_expiration__application_session_timeout_settings.closure.attack.s2.o0": "Got a cookie value named {0} from the browser. The value indicates the following session ID.",
  "0.event.skb__improper_session_expiration__application_session_timeout_settings.closure.attack.s2.o1": "{0}",
  "0.event.skb__improper_session_expiration__application_session_timeout_settings.closure.attack.s3.o0": "Waited for {0} seconds.\n",
  "0.event.skb__improper_session_expiration__application_session_timeout_settings.closure.attack.s4.o0": "Restarted the browser after terminating it.",
  "0.event.skb__improper_session_expiration__application_session_timeout_settings.closure.attack.s5.o0": "The {0} is set to the cookie in the browser as below.",
  "0.event.skb__improper_session_expiration__application_session_timeout_settings.closure.attack.s5.o1": "{0}",
  "0.event.skb__improper_session_expiration__application_session_timeout_settings.closure.attack.s6.o0": "Attempted to navigate to the following URL that was accessible after signing in without further authentication.",
  "0.event.skb__improper_session_expiration__application_session_timeout_settings.closure.attack.s6.o1": "{0}",
  "0.event.skb__improper_session_expiration__application_session_timeout_settings.closure.result.s0.o0": "The results of attempting access to the following URL shows that the you can acceess to the page without any authentication.",
  "0.event.skb__improper_session_expiration__application_session_timeout_settings.closure.result.s0.o1": "{0}",
  "0.event.skb__improper_session_expiration__application_session_timeout_settings.closure.result.s1.o0": "The reuse of the session has been found to be succeeded after restarting the browser.",
  "0.event.skb__improper_session_expiration__application_session_timeout_settings.closure.solution.s0.o0": "Set the Session Timeout for your web application.",
  "0.event.skb__improper_session_expiration__baseline_settings.closure.attack.s0.o0": "The attempt to log-in has been executed on the following URL.",
  "0.event.skb__improper_session_expiration__baseline_settings.closure.attack.s0.o1": "{0}",
  "0.event.skb__improper_session_expiration__baseline_settings.closure.attack.s1.o0": "Navigated to the following URL after logging-in:",
  "0.event.skb__improper_session_expiration__baseline_settings.closure.attack.s1.o1": "{0}",
  "0.event.skb__improper_session_expiration__baseline_settings.closure.attack.s2.o0": "Got a cookie value named {0} from the browser. The value indicates the following session ID.",
  "0.event.skb__improper_session_expiration__baseline_settings.closure.attack.s2.o1": "{0}",
  "0.event.skb__improper_session_expiration__baseline_settings.closure.attack.s3.o0": "Waited for {0} seconds.\n",
  "0.event.skb__improper_session_expiration__baseline_settings.closure.attack.s4.o0": "Restarted the browser after terminating it.",
  "0.event.skb__improper_session_expiration__baseline_settings.closure.attack.s5.o0": "The {0} is set to the cookie in the browser as below.",
  "0.event.skb__improper_session_expiration__baseline_settings.closure.attack.s5.o1": "{0}",
  "0.event.skb__improper_session_expiration__baseline_settings.closure.attack.s6.o0": "Attempted to navigate to the following URL that was accessible after signing in without further authentication.",
  "0.event.skb__improper_session_expiration__baseline_settings.closure.attack.s6.o1": "{0}",
  "0.event.skb__improper_session_expiration__baseline_settings.closure.result.s0.o0": "The results of attempting access to the following URL shows that the you can acceess to the page without any authentication.",
  "0.event.skb__improper_session_expiration__baseline_settings.closure.result.s0.o1": "{0}",
  "0.event.skb__improper_session_expiration__baseline_settings.closure.result.s1.o0": "The reuse of the session has been found to be succeeded after restarting the browser.",
  "0.event.skb__improper_session_expiration__baseline_settings.closure.solution.s0.o0": "A baseline for keeping the session needs to be set.",
  "0.event.skb__improper_session_expiration__baseline_settings.closure.solution.s1.o0": "When providing internal services, determined by whether Session Time is set (EP, EIP Intranet, and Business Support services, etc.)\n",
  "0.event.skb__improper_session_expiration__baseline_settings.closure.solution.s2.o0": "2. 60 minutes or less when providing external services (customer service, financial transactions, customer care services, and SK representative sites)\n",
  "0.event.skb__improper_session_expiration__baseline_settings.closure.solution.s3.o0": "perform session disposal on both internal and external logouts and browser closures\n",
  "0.event.skb__improper_session_expiration__baseline_settings.closure.solution.s4.o0": "provide justification for any specialty or exceptionality required for the purpose of the service",
  "0.event.skb__improper_session_expiration__fixed_session_id.fixed.attack.s0.o0": "The first attempt to log-in has been executed on the following URL.",
  "0.event.skb__improper_session_expiration__fixed_session_id.fixed.attack.s0.o1": "{0}",
  "0.event.skb__improper_session_expiration__fixed_session_id.fixed.attack.s1.o0": "Navigated to the following URL after logging-in:",
  "0.event.skb__improper_session_expiration__fixed_session_id.fixed.attack.s1.o1": "{0}",
  "0.event.skb__improper_session_expiration__fixed_session_id.fixed.attack.s2.o0": "Got a cookie value named {0} from the browser. The value indicates the following session ID.",
  "0.event.skb__improper_session_expiration__fixed_session_id.fixed.attack.s2.o1": "{0}",
  "0.event.skb__improper_session_expiration__fixed_session_id.fixed.attack.s3.o0": "Restarted the browser after terminating it.",
  "0.event.skb__improper_session_expiration__fixed_session_id.fixed.attack.s4.o0": "The second attempt to log-in has been executed on the following URL.",
  "0.event.skb__improper_session_expiration__fixed_session_id.fixed.attack.s4.o1": "{0}",
  "0.event.skb__improper_session_expiration__fixed_session_id.fixed.attack.s5.o0": "Navigated to the following URL after logging-in:",
  "0.event.skb__improper_session_expiration__fixed_session_id.fixed.attack.s5.o1": "{0}",
  "0.event.skb__improper_session_expiration__fixed_session_id.fixed.attack.s6.o0": "Got a cookie value named {0} from the browser. The value indicates the following session ID.",
  "0.event.skb__improper_session_expiration__fixed_session_id.fixed.attack.s6.o1": "{0}",
  "0.event.skb__improper_session_expiration__fixed_session_id.fixed.result.s0.o0": "The session IDs generated by the first and second login attempts are found to be the same.",
  "0.event.skb__improper_session_expiration__fixed_session_id.fixed.result.s1.o0": "The analysis confirms that the session ID is fixed.",
  "0.event.skb__improper_session_expiration__fixed_session_id.fixed.solution.s0.o0": "A different session ID must be issued for client's each login attempt. Session ID must be specified with unpredictable arbitrary values.\n",
  "0.event.skb__improper_session_expiration__fixed_session_id.fixed.solution.s1.o0": "Expiration period must be set for each session ID.",
  "0.event.skb__improper_session_expiration__session_disposal_and_logout_for_timeout.closure.attack.s0.o0": "The attempt to log-in has been executed on the following URL.",
  "0.event.skb__improper_session_expiration__session_disposal_and_logout_for_timeout.closure.attack.s0.o1": "{0}",
  "0.event.skb__improper_session_expiration__session_disposal_and_logout_for_timeout.closure.attack.s1.o0": "Navigated to the following URL after logging-in:",
  "0.event.skb__improper_session_expiration__session_disposal_and_logout_for_timeout.closure.attack.s1.o1": "{0}",
  "0.event.skb__improper_session_expiration__session_disposal_and_logout_for_timeout.closure.attack.s2.o0": "Got a cookie value named {0} from the browser. The value indicates the following session ID.",
  "0.event.skb__improper_session_expiration__session_disposal_and_logout_for_timeout.closure.attack.s2.o1": "{0}",
  "0.event.skb__improper_session_expiration__session_disposal_and_logout_for_timeout.closure.attack.s3.o0": "Waited for {0} seconds.\n",
  "0.event.skb__improper_session_expiration__session_disposal_and_logout_for_timeout.closure.attack.s4.o0": "Restarted the browser after terminating it.",
  "0.event.skb__improper_session_expiration__session_disposal_and_logout_for_timeout.closure.attack.s5.o0": "The {0} is set to the cookie in the browser as below.",
  "0.event.skb__improper_session_expiration__session_disposal_and_logout_for_timeout.closure.attack.s5.o1": "{0}",
  "0.event.skb__improper_session_expiration__session_disposal_and_logout_for_timeout.closure.attack.s6.o0": "Attempted to navigate to the following URL that was accessible after signing in without further authentication.",
  "0.event.skb__improper_session_expiration__session_disposal_and_logout_for_timeout.closure.attack.s6.o1": "{0}",
  "0.event.skb__improper_session_expiration__session_disposal_and_logout_for_timeout.closure.result.s0.o0": "The results of attempting access to the following URL shows that the you can acceess to the page without any authentication.",
  "0.event.skb__improper_session_expiration__session_disposal_and_logout_for_timeout.closure.result.s0.o1": "{0}",
  "0.event.skb__improper_session_expiration__session_disposal_and_logout_for_timeout.closure.result.s1.o0": "As a result of analysis, it is confirmed that the session is valid after {0} seconds.",
  "0.event.skb__improper_session_expiration__session_disposal_and_logout_for_timeout.closure.solution.s0.o0": "Session IDs should not be duplicated or reused, and a new session ID should be created for each login.",
  "0.event.skb__improper_session_expiration__session_disposal_and_logout_for_timeout.logout.attack.s0.o0": "The attempt to log-in has been executed on the following URL.",
  "0.event.skb__improper_session_expiration__session_disposal_and_logout_for_timeout.logout.attack.s0.o1": "{0}",
  "0.event.skb__improper_session_expiration__session_disposal_and_logout_for_timeout.logout.attack.s1.o0": "Navigated to the following URL after logging-in:",
  "0.event.skb__improper_session_expiration__session_disposal_and_logout_for_timeout.logout.attack.s1.o1": "{0}",
  "0.event.skb__improper_session_expiration__session_disposal_and_logout_for_timeout.logout.attack.s2.o0": "Got a cookie value named {0} from the browser. The value indicates the following session ID.",
  "0.event.skb__improper_session_expiration__session_disposal_and_logout_for_timeout.logout.attack.s2.o1": "{0}",
  "0.event.skb__improper_session_expiration__session_disposal_and_logout_for_timeout.logout.attack.s3.o0": "Waited for {0} seconds.\n",
  "0.event.skb__improper_session_expiration__session_disposal_and_logout_for_timeout.logout.attack.s4.o0": "The attempt to log-out has been executed on the following URL.",
  "0.event.skb__improper_session_expiration__session_disposal_and_logout_for_timeout.logout.attack.s4.o1": "{0}",
  "0.event.skb__improper_session_expiration__session_disposal_and_logout_for_timeout.logout.attack.s5.o0": "Navigated to the following URL after logging-out.",
  "0.event.skb__improper_session_expiration__session_disposal_and_logout_for_timeout.logout.attack.s5.o1": "{0}",
  "0.event.skb__improper_session_expiration__session_disposal_and_logout_for_timeout.logout.attack.s6.o0": "The {0} is set to the cookie in the browser as below.",
  "0.event.skb__improper_session_expiration__session_disposal_and_logout_for_timeout.logout.attack.s6.o1": "{0}",
  "0.event.skb__improper_session_expiration__session_disposal_and_logout_for_timeout.logout.attack.s7.o0": "Attempted to navigate to the following URL that was accessible after signing in without further authentication.",
  "0.event.skb__improper_session_expiration__session_disposal_and_logout_for_timeout.logout.attack.s7.o1": "{0}",
  "0.event.skb__improper_session_expiration__session_disposal_and_logout_for_timeout.logout.result.s0.o0": "The results of attempting access to the following URL shows that the you can acceess to the page without any authentication.",
  "0.event.skb__improper_session_expiration__session_disposal_and_logout_for_timeout.logout.result.s0.o1": "{0}",
  "0.event.skb__improper_session_expiration__session_disposal_and_logout_for_timeout.logout.result.s1.o0": "As a result of analysis, it is confirmed that the session is valid after {0} seconds.",
  "0.event.skb__improper_session_expiration__session_disposal_and_logout_for_timeout.logout.solution.s0.o0": "Session IDs should not be duplicated or reused, and a new session ID should be created for each login.",
  "0.event.skb__improper_session_expiration__session_disposal_upon_logout_or_browser_closure.closure.attack.s0.o0": "The attempt to log-in has been executed on the following URL.",
  "0.event.skb__improper_session_expiration__session_disposal_upon_logout_or_browser_closure.closure.attack.s0.o1": "{0}",
  "0.event.skb__improper_session_expiration__session_disposal_upon_logout_or_browser_closure.closure.attack.s1.o0": "Navigated to the following URL after logging-in:",
  "0.event.skb__improper_session_expiration__session_disposal_upon_logout_or_browser_closure.closure.attack.s1.o1": "{0}",
  "0.event.skb__improper_session_expiration__session_disposal_upon_logout_or_browser_closure.closure.attack.s2.o0": "Got a cookie value named {0} from the browser. The value indicates the following session ID.",
  "0.event.skb__improper_session_expiration__session_disposal_upon_logout_or_browser_closure.closure.attack.s2.o1": "{0}",
  "0.event.skb__improper_session_expiration__session_disposal_upon_logout_or_browser_closure.closure.attack.s3.o0": "Restarted the browser after terminating it.",
  "0.event.skb__improper_session_expiration__session_disposal_upon_logout_or_browser_closure.closure.attack.s4.o0": "The {0} is set to the cookie in the browser as below.",
  "0.event.skb__improper_session_expiration__session_disposal_upon_logout_or_browser_closure.closure.attack.s4.o1": "{0}",
  "0.event.skb__improper_session_expiration__session_disposal_upon_logout_or_browser_closure.closure.attack.s5.o0": "Attempted to navigate to the following URL that was accessible after signing in without further authentication.",
  "0.event.skb__improper_session_expiration__session_disposal_upon_logout_or_browser_closure.closure.attack.s5.o1": "{0}",
  "0.event.skb__improper_session_expiration__session_disposal_upon_logout_or_browser_closure.closure.result.s0.o0": "The results of attempting access to the following URL shows that the you can acceess to the page without any authentication.",
  "0.event.skb__improper_session_expiration__session_disposal_upon_logout_or_browser_closure.closure.result.s0.o1": "{0}",
  "0.event.skb__improper_session_expiration__session_disposal_upon_logout_or_browser_closure.closure.result.s1.o0": "The reuse of the session has been found to be succeeded after logging out.",
  "0.event.skb__improper_session_expiration__session_disposal_upon_logout_or_browser_closure.closure.solution.s0.o0": "Session IDs should not be duplicated or reused, and a new session ID should be created for each login.",
  "0.event.skb__improper_session_expiration__session_disposal_upon_logout_or_browser_closure.logout.attack.s0.o0": "The attempt to log-in has been executed on the following URL.",
  "0.event.skb__improper_session_expiration__session_disposal_upon_logout_or_browser_closure.logout.attack.s0.o1": "{0}",
  "0.event.skb__improper_session_expiration__session_disposal_upon_logout_or_browser_closure.logout.attack.s1.o0": "Navigated to the following URL after logging-in:",
  "0.event.skb__improper_session_expiration__session_disposal_upon_logout_or_browser_closure.logout.attack.s1.o1": "{0}",
  "0.event.skb__improper_session_expiration__session_disposal_upon_logout_or_browser_closure.logout.attack.s2.o0": "Got a cookie value named {0} from the browser. The value indicates the following session ID.",
  "0.event.skb__improper_session_expiration__session_disposal_upon_logout_or_browser_closure.logout.attack.s2.o1": "{0}",
  "0.event.skb__improper_session_expiration__session_disposal_upon_logout_or_browser_closure.logout.attack.s3.o0": "The attempt to log-out has been executed on the following URL.",
  "0.event.skb__improper_session_expiration__session_disposal_upon_logout_or_browser_closure.logout.attack.s3.o1": "{0}",
  "0.event.skb__improper_session_expiration__session_disposal_upon_logout_or_browser_closure.logout.attack.s4.o0": "Navigated to the following URL after logging-out.",
  "0.event.skb__improper_session_expiration__session_disposal_upon_logout_or_browser_closure.logout.attack.s4.o1": "{0}",
  "0.event.skb__improper_session_expiration__session_disposal_upon_logout_or_browser_closure.logout.attack.s5.o0": "The {0} is set to the cookie in the browser as below.",
  "0.event.skb__improper_session_expiration__session_disposal_upon_logout_or_browser_closure.logout.attack.s5.o1": "{0}",
  "0.event.skb__improper_session_expiration__session_disposal_upon_logout_or_browser_closure.logout.attack.s6.o0": "Attempted to navigate to the following URL that was accessible after signing in without further authentication.",
  "0.event.skb__improper_session_expiration__session_disposal_upon_logout_or_browser_closure.logout.attack.s6.o1": "{0}",
  "0.event.skb__improper_session_expiration__session_disposal_upon_logout_or_browser_closure.logout.result.s0.o0": "The results of attempting access to the following URL shows that the you can acceess to the page without any authentication.",
  "0.event.skb__improper_session_expiration__session_disposal_upon_logout_or_browser_closure.logout.result.s0.o1": "{0}",
  "0.event.skb__improper_session_expiration__session_disposal_upon_logout_or_browser_closure.logout.result.s1.o0": "The reuse of the session has been found to be succeeded after logging out.",
  "0.event.skb__improper_session_expiration__session_disposal_upon_logout_or_browser_closure.logout.solution.s0.o0": "Session IDs should not be duplicated or reused, and a new session ID should be created for each login.",
  "0.event.skb__improper_session_expiration__session_timeout_settings.closure.attack.s0.o0": "The attempt to log-in has been executed on the following URL.",
  "0.event.skb__improper_session_expiration__session_timeout_settings.closure.attack.s0.o1": "{0}",
  "0.event.skb__improper_session_expiration__session_timeout_settings.closure.attack.s1.o0": "Navigated to the following URL after logging-in:",
  "0.event.skb__improper_session_expiration__session_timeout_settings.closure.attack.s1.o1": "{0}",
  "0.event.skb__improper_session_expiration__session_timeout_settings.closure.attack.s2.o0": "Got a cookie value named {0} from the browser. The value indicates the following session ID.",
  "0.event.skb__improper_session_expiration__session_timeout_settings.closure.attack.s2.o1": "{0}",
  "0.event.skb__improper_session_expiration__session_timeout_settings.closure.attack.s3.o0": "Waited for {0} seconds.\n",
  "0.event.skb__improper_session_expiration__session_timeout_settings.closure.attack.s4.o0": "Restarted the browser after terminating it.",
  "0.event.skb__improper_session_expiration__session_timeout_settings.closure.attack.s5.o0": "The {0} is set to the cookie in the browser as below.",
  "0.event.skb__improper_session_expiration__session_timeout_settings.closure.attack.s5.o1": "{0}",
  "0.event.skb__improper_session_expiration__session_timeout_settings.closure.attack.s6.o0": "Attempted to navigate to the following URL that was accessible after signing in without further authentication.",
  "0.event.skb__improper_session_expiration__session_timeout_settings.closure.attack.s6.o1": "{0}",
  "0.event.skb__improper_session_expiration__session_timeout_settings.closure.result.s0.o0": "The results of attempting access to the following URL shows that the you can acceess to the page without any authentication.",
  "0.event.skb__improper_session_expiration__session_timeout_settings.closure.result.s0.o1": "{0}",
  "0.event.skb__improper_session_expiration__session_timeout_settings.closure.result.s1.o0": "The reuse of the session has been found to be succeeded after restarting the browser.",
  "0.event.skb__improper_session_expiration__session_timeout_settings.closure.solution.s0.o0": "Set the Session Timeout for your web application.",
  "0.event.skb__reflected_xss.run.attack.s0.o0": "Attempted to access to a page with the following URL:",
  "0.event.skb__reflected_xss.run.attack.s0.o1": "{0}",
  "0.event.skb__reflected_xss.run.attack.s1.o0": "Of the events that exist on the page, an event with the following XPath is found.",
  "0.event.skb__reflected_xss.run.attack.s1.o1": "{0}",
  "0.event.skb__reflected_xss.run.attack.s2.o0": "And changed the value as below.",
  "0.event.skb__reflected_xss.run.attack.s2.o1": "{0}",
  "0.event.skb__reflected_xss.run.attack.s3.o0": "Of the events that exist on the page, an event with the following XPath has executed.",
  "0.event.skb__reflected_xss.run.attack.s3.o1": "{0}",
  "0.event.skb__reflected_xss.run.attack.s4.o0": "After the event executed, the value of the SPARROW_DAST_XSS_TEST DOM variable is validated.",
  "0.event.skb__reflected_xss.run.result.s0.o0": "A value for SPARROW_DAST_XSS_TEST DOM variable is:",
  "0.event.skb__reflected_xss.run.result.s0.o1": "{0}",
  "0.event.skb__reflected_xss.run.result.s1.o0": "The result came after running a script of an event with the following XPath.",
  "0.event.skb__reflected_xss.run.result.s1.o1": "{0}",
  "0.event.skb__reflected_xss.run.result.s2.o0": "The analysis confirms that an unintented script injected by a user can be run.",
  "0.event.skb__reflected_xss.run.solution.s0.o0": "The value received from user input requires proper validation on its input and output.",
  "0.event.skb__reflected_xss.run.solution.s1.o0": "{0}",
  "0.event.skb__vulnerable_auth__cookie_tampering.tampered.attack.s0.o0": "The attempt to log-in has been executed on the following URL.",
  "0.event.skb__vulnerable_auth__cookie_tampering.tampered.attack.s0.o1": "{0}",
  "0.event.skb__vulnerable_auth__cookie_tampering.tampered.attack.s1.o0": "Navigated to the following URL after logging-in:",
  "0.event.skb__vulnerable_auth__cookie_tampering.tampered.attack.s1.o1": "{0}",
  "0.event.skb__vulnerable_auth__cookie_tampering.tampered.attack.s2.o0": "Got a cookie value named {0} from the browser. The value is assumed to be data to identify following user accounts or groups. ",
  "0.event.skb__vulnerable_auth__cookie_tampering.tampered.attack.s2.o1": "{0}",
  "0.event.skb__vulnerable_auth__cookie_tampering.tampered.attack.s3.o0": "Restarted the browser after terminating it.",
  "0.event.skb__vulnerable_auth__cookie_tampering.tampered.attack.s4.o0": "The {0} is set to the cookie in the browser as below.",
  "0.event.skb__vulnerable_auth__cookie_tampering.tampered.attack.s4.o1": "{0}",
  "0.event.skb__vulnerable_auth__cookie_tampering.tampered.attack.s5.o0": "Attempted to navigate to the following URL that was accessible after signing in without further authentication.",
  "0.event.skb__vulnerable_auth__cookie_tampering.tampered.attack.s5.o1": "{0}",
  "0.event.skb__vulnerable_auth__cookie_tampering.tampered.result.s0.o0": "The results of attempting access to the following URL shows that the you can acceess to the page without any authentication.",
  "0.event.skb__vulnerable_auth__cookie_tampering.tampered.result.s0.o1": "{0}",
  "0.event.skb__vulnerable_auth__cookie_tampering.tampered.result.s1.o0": "The analysis confirms that the authencation can be bypassed by manipulating cookies used as data to identify user accounts or groups.",
  "0.event.skb__vulnerable_auth__cookie_tampering.tampered.solution.s0.o0": "User data in the cookies needs to be encrypted instead of storing in plain texts in order to prevent data exposure.\n",
  "0.event.skb__vulnerable_auth__cookie_tampering.tampered.solution.s1.o0": "You can apply the recommended secure encryption algorithms by referring to the \"3-6. Store sensitive information encrypted\" section action in the Security Guide, \"Categorizing symmetric-key cryptographic algorithms by security strength\".",
  "0.event.snoop_disclosure.url.attack.s0.o0": "The Snoop Information Exposure vulnerability can expose Snoop related information in a web application server.",
  "0.event.snoop_disclosure.url.attack.s1.o0": "To check the Snoop Information Exposure vulnerability, the following process has been performed.",
  "0.event.snoop_disclosure.url.attack.s2.o0": "Checked the existence of Snoop related information on the target page.",
  "0.event.snoop_disclosure.url.result.s0.o0": "The test results are shown as follows.",
  "0.event.snoop_disclosure.url.result.s1.o0": "Discovered the string {0} in the URL of the target page.",
  "0.event.snoop_disclosure.url.result.s1.o1": "The URL is shown as follow.",
  "0.event.snoop_disclosure.url.result.s2.o0": "{0}",
  "0.event.snoop_disclosure.url.result.s3.o0": "The string {0} has been found in the DOM of the target page.",
  "0.event.snoop_disclosure.url.result.s4.o0": "Therefore, a target page can contain Snoop information.",
  "0.event.snoop_disclosure.url.result.s6.o0": "As a result of the test, the possible Snoop Information Exposure vulnerability has been found to exist.",
  "0.event.snoop_disclosure.url.solution.s0.o0": "The solution is shown as follow.",
  "0.event.snoop_disclosure.url.solution.s1.o0": "To prevent unintentional exposure, pages with Snoop-related information require to control accesses.",
  "0.event.sql_injection.conditional.apiReqInfo": "{0}",
  "0.event.sql_injection.conditional.apiReqMsg": "In addition, the following API request has been occurred as a result of executing {0} event during attempted attack.",
  "0.event.sql_injection.conditional.apireqinfo": "{0}",
  "0.event.sql_injection.conditional.apireqmsg": "In addition, the following API request has been occurred as a result of executing {0} event during attempted attack.",
  "0.event.sql_injection.sqli.attack.s0.o0": "The SQL Injection vulnerability is caused by manipulating SQL queries and sending malicious information to a web application integrated with database, which allows an attackers to view or manipulate unauthorized information.",
  "0.event.sql_injection.sqli.attack.s1.o0": "The following attempted attack has been executed to check the SQL Injection vulnerability.",
  "0.event.sql_injection.sqli.attack.s2.o0": "To check all {0} web elements for the attack targets, the following process has been performed.",
  "0.event.sql_injection.sqli.attack.s3.o0": "{0}",
  "0.event.sql_injection.sqli.attack.s4.o0": "The following attack strings have been entered in the attack target:",
  "0.event.sql_injection.sqli.attack.s5.o0": "{0}",
  "0.event.sql_injection.sqli.attack.s6.o0": "{0} event has been performed on the following web elements:",
  "0.event.sql_injection.sqli.attack.s7.o0": "{0}",
  "0.event.sql_injection.sqli.result.s0.o0": "The attack results are shown as follows.",
  "0.event.sql_injection.sqli.result.s1.o0": "As a result of the event, an error message with the following information has been found in the DOM:",
  "0.event.sql_injection.sqli.result.s2.o0": "{0}",
  "0.event.sql_injection.sqli.result.s3.o0": "The error message indicates that the attack string is not properly handled.",
  "0.event.sql_injection.sqli.result.s4.o0": "As a result of the execution, the attempted attack has been succeeded and the SQL Injection vulnerability has been found to exist.",
  "0.event.sql_injection.sqli.solution.s0.o0": "The solution is shown as follow.",
  "0.event.sql_injection.sqli.solution.s1.o0": "To eliminate the SQL injection vulnerability, data validation is required in the case of forming an SQL query using external data input from the user.",
  "0.event.sql_injection.sqli.solution.s2.o0": "There are two main verification methods.",
  "0.event.sql_injection.sqli.solution.s3.o0": "First, an SQL query can be used as an argument. This depends on languages that implement web applications.",
  "0.event.sql_injection.sqli.solution.s4.o0": "In addition, characters in user input data, for example, some characters or reserved words such as single quotation mark ('), can be replaced with spaces.",
  "0.event.sql_injection.sqli.solution.s4.o1": "Here's an example:",
  "0.event.sql_injection.sqli.solution.s5.o0": "{0}",
  "0.event.sql_injection_bypass.session.attack.s0.o0": "To verify whether an SQL injection (user authentication bypass) vulnerability exists, the following analysis process was conducted.",
  "0.event.sql_injection_bypass.session.attack.s1.o0": "A normal login request has been sent using the event clipboard.",
  "0.event.sql_injection_bypass.session.attack.s2.o0": "{0}",
  "0.event.sql_injection_bypass.session.attack.s2.o1": "{0}",
  "0.event.sql_injection_bypass.session.attack.s3.o0": "After that, the login request was resent after changing the user ID to {0}.",
  "0.event.sql_injection_bypass.session.attack.s4.o0": "{0}",
  "0.event.sql_injection_bypass.session.attack.s4.o1": "{0}",
  "0.event.sql_injection_bypass.session.result.s0.o0": "The response to the manipulated login request confirmed that user session information is created in the same way as a normal login performed earlier.",
  "0.event.sql_injection_bypass.session.result.s0.o1": "The server did not properly validate user input, allowing an attack payload to be included in the SQL query, which appears to have resulted in a successful SQL injection (user authentication bypass) attack.",
  "0.event.sql_injection_bypass.session.solution.s0.o0": "To prevent SQL injection vulnerabilities, special characters in user input such as  ', \", ;, #, --, //, %, /*, */ should be validated and filtered.",
  "0.event.sql_injection_bypass.session.solution.s0.o1": "Additionally, using Prepared Statements or ORM (Object-Relational Mapping) ensures that user input does not affect SQL queries.",
  "0.event.sql_injection_bypass.session.solution.s1.o0": "If a server exposes error messages due to SQL injection attacks, attackers can use these messages to gain insights into server configuration or SQL query structure.",
  "0.event.sql_injection_bypass.session.solution.s1.o1": "Therefore, error messages containing internal system information should be restricted from being exposed to clients, and only generic error messages should be returned to prevent information leakage.",
  "0.event.sql_injection_bypass.token.attack.s0.o0": "To check for SQL injection (user authentication bypass) vulnerabilities, the following analysis process was performed.",
  "0.event.sql_injection_bypass.token.attack.s1.o0": "A normal login request has been sent using the event clipboard.",
  "0.event.sql_injection_bypass.token.attack.s2.o0": "{0}",
  "0.event.sql_injection_bypass.token.attack.s2.o1": "{0}",
  "0.event.sql_injection_bypass.token.attack.s3.o0": "After that, the login request was resent after changing the user ID to {0}.",
  "0.event.sql_injection_bypass.token.attack.s4.o0": "{0}",
  "0.event.sql_injection_bypass.token.attack.s4.o1": "{0}",
  "0.event.sql_injection_bypass.token.result.s0.o0": "The response to the manipulated login request confirmed that a user token was generated, identical to that of a successful login performed earlier.",
  "0.event.sql_injection_bypass.token.result.s0.o1": "The server did not properly validate user input, allowing an attack payload to be included in the SQL query, which appears to have resulted in a successful SQL injection (user authentication bypass) attack.",
  "0.event.sql_injection_bypass.token.solution.s0.o0": "To prevent SQL injection vulnerabilities, special characters in user input such as  ', \", ;, #, --, //, %, /*, */ should be validated and filtered.",
  "0.event.sql_injection_bypass.token.solution.s0.o1": "Additionally, using Prepared Statements or ORM (Object-Relational Mapping) ensures that user input does not affect SQL queries.",
  "0.event.sql_injection_bypass.token.solution.s1.o0": "If a server exposes error messages due to SQL injection attacks, attackers can use these messages to gain insights into server configuration or SQL query structure.",
  "0.event.sql_injection_bypass.token.solution.s1.o1": "Therefore, error messages containing internal system information should be restricted from being exposed to clients, and only generic error messages should be returned to prevent information leakage.",
  "0.event.unlimited_password_error.five_times.attack.s0.o0": "To reach an attack target page, the following process has been performed.",
  "0.event.unlimited_password_error.five_times.attack.s0.o1": "{0}",
  "0.event.unlimited_password_error.five_times.attack.s1.o0": "The following string has been entered in all {0} elements of the attack target page with value {2} for the {1} attribute:",
  "0.event.unlimited_password_error.five_times.attack.s1.o1": "{0}",
  "0.event.unlimited_password_error.five_times.attack.s2.o0": "{1} event has been performed in elements with XPath {0}.",
  "0.event.unlimited_password_error.five_times.attack.s3.o0": "The attack process above has been repeated {0} times.",
  "0.event.unlimited_password_error.five_times.result.s0.o0": "After executing an event, the DOM of the attack target page has been logged. The DOM will be named as follow: {0}.",
  "0.event.unlimited_password_error.five_times.result.s1.o0": "The DOM, generated by the repeated attack process, is as same as the following: {0}.",
  "0.event.unlimited_password_error.five_times.result.s2.o0": "As a result of performing the analysis, {0} times of the repeated login attempts causes the same results.",
  "0.event.unlimited_password_error.five_times.result.s2.o1": "Therefore, the target page does not restrict the repeated login attempts.",
  "0.event.unlimited_password_error.five_times.solution.s0.o0": "A login-related action must be taken before at least {0} times of the repeated logins are attempted on the target page.",
  "0.event.unlimited_password_error.five_times.solution.s0.o1": "For example, restricting the logins, printing out a warning messages, or directing to other pages.",
  "0.event.unprotected_login_request.match.attack.s0.o0": "To verify the unencrypted login request, the following request has been sent with the user password of the clipboard changed to {0}.",
  "0.event.unprotected_login_request.match.attack.s1.o0": "{0}",
  "0.event.unprotected_login_request.match.attack.s1.o1": "{0}",
  "0.event.unprotected_login_request.match.result.s0.o0": "The analysis results indicate that the login request uses the HTTP protocol, and the attack string {0} sent in the request body has been exposed in plaintext.",
  "0.event.unprotected_login_request.match.solution.s0.o0": "You must apply an SSL/TLS certificate to the web server and enforce the use of the HTTPS protocol.",
  "0.event.unprotected_login_request.match.solution.s0.o1": "This ensures the encryption of all data transmitted between the client and server, securing the confidentiality of user information.",
  "0.event.unprotected_login_request.match.solution.s0.o2": "Additionally, sensitive information such as IDs and passwords should be subjected to separate encryption processing before transmission.",
  "0.event.unprotected_login_request.match.solution.s0.o3": "This measure protects the information so that even if it is compromised, the attacker cannot identify its contents.",
  "0.event.url_access_control.access.attack.s0.o0": "The URL Access Control Failure vulnerability is caused by allowing an unauthorized user to perform a direct access to pages with authentication required.",
  "0.event.url_access_control.access.attack.s1.o0": "The URL access control will be checked with log-in record files.",
  "0.event.url_access_control.access.attack.s2.o0": "A log-in record file for the following URL has been found.",
  "0.event.url_access_control.access.attack.s3.o0": "{0}",
  "0.event.url_access_control.access.attack.s4.o0": "After setting the log-in record file for the page, then the following URL has been accessed.",
  "0.event.url_access_control.access.attack.s5.o0": "{0}",
  "0.event.url_access_control.access.result.s0.o0": "To check URL access control, reset sessions by restarting your browser.",
  "0.event.url_access_control.access.result.s1.o0": "Reset sessions, and then, access to the following URL that can be accessed after setting the log-in record file.",
  "0.event.url_access_control.access.result.s2.o0": "{0}",
  "0.event.url_access_control.access.result.s3.o0": "{0}",
  "0.event.url_access_control.access.result.s4.o0": "The following URL can be found to be accessed after session reset.",
  "0.event.url_access_control.access.result.s5.o0": "{0}",
  "0.event.url_access_control.access.solution.s0.o0": "The solution is shown as follow.",
  "0.event.url_access_control.access.solution.s1.o0": "Users must be verified for URL paths with access control required.",
  "0.event.url_access_control.access.solution.s2.o0": "Which prevents pages from being exposed by direct access of unauthorized users, and shows a log-in page or error page.",
  "0.event.xfs.conditional.apiReqInfo": "{0}",
  "0.event.xfs.conditional.apiReqMsg": "In addition, the following API request has been occurred as a result of executing {0} event during attempted attack.",
  "0.event.xfs.conditional.apireqinfo": "{0}",
  "0.event.xfs.conditional.apireqmsg": "In addition, the following API request has been occurred as a result of executing {0} event during attempted attack.",
  "0.event.xfs.userInput.attack.s0.o0": "The Cross-frame scripting vulnerability makes a user to believe to load a secure page by displaying secure frames only on a page with malicious scripts.",
  "0.event.xfs.userInput.attack.s0.o1": "This can happen with property value {2}, which is the reference location property of the {0}, {1} tag.",
  "0.event.xfs.userInput.attack.s1.o0": "The following attempted attack has been executed to check whether the Cross-Frame Scripting vulnerability exists:",
  "0.event.xfs.userInput.attack.s2.o0": "To check all {0} elements for the attack targets, the following process has been performed.",
  "0.event.xfs.userInput.attack.s3.o0": "{0}",
  "0.event.xfs.userInput.attack.s4.o0": "As a search result, the following attack target element has been identified.",
  "0.event.xfs.userInput.attack.s5.o0": "{0}",
  "0.event.xfs.userInput.attack.s6.o0": "The following string has been entered to the attack target.",
  "0.event.xfs.userInput.attack.s7.o0": "{0}",
  "0.event.xfs.userInput.attack.s8.o0": "{0} event has been performed on the following elements:",
  "0.event.xfs.userInput.attack.s9.o0": "{0}",
  "0.event.xfs.userInput.result.s0.o0": "The attack results are shown as follows.",
  "0.event.xfs.userInput.result.s1.o0": "As a result of the event, the {0} tag has been found in the DOM, and its {1} property value is shown as follow.",
  "0.event.xfs.userInput.result.s2.o0": "{0}",
  "0.event.xfs.userInput.result.s3.o0": "The property value matches with the input value during the attempted attack, which indicates that the page within the frame can be retrieved to the location entered by a user.",
  "0.event.xfs.userInput.result.s4.o0": "As a result of the execution, the attempted attack has been succeeded and the Cross-Frame Scripting vulnerability has been found to exist.",
  "0.event.xfs.userInput.solution.s0.o0": "The solution is shown as follow.",
  "0.event.xfs.userInput.solution.s1.o0": "Do not use the user input to configure the {0} property of the tag.",
  "0.event.xfs.userInput.solution.s2.o0": "If you need to use the user input, ensure to verify or filter out before using it.",
  "0.event.xfs.userinput.attack.s0.o0": "The Cross-frame scripting vulnerability makes a user to believe to load a secure page by displaying secure frames only on a page with malicious scripts.",
  "0.event.xfs.userinput.attack.s0.o1": "This can happen with property value {2}, which is the reference location property of the {0}, {1} tag.",
  "0.event.xfs.userinput.attack.s1.o0": "The following attempted attack has been executed to check whether the Cross-Frame Scripting vulnerability exists:",
  "0.event.xfs.userinput.attack.s2.o0": "To check all {0} elements for the attack targets, the following process has been performed.",
  "0.event.xfs.userinput.attack.s3.o0": "{0}",
  "0.event.xfs.userinput.attack.s4.o0": "As a search result, the following attack target element has been identified.",
  "0.event.xfs.userinput.attack.s5.o0": "{0}",
  "0.event.xfs.userinput.attack.s6.o0": "The following string has been entered to the attack target.",
  "0.event.xfs.userinput.attack.s7.o0": "{0}",
  "0.event.xfs.userinput.attack.s8.o0": "{0} event has been performed on the following elements:",
  "0.event.xfs.userinput.attack.s9.o0": "{0}",
  "0.event.xfs.userinput.result.s0.o0": "The attack results are shown as follows.",
  "0.event.xfs.userinput.result.s1.o0": "As a result of the event, the {0} tag has been found in the DOM, and its {1} property value is shown as follow.",
  "0.event.xfs.userinput.result.s2.o0": "{0}",
  "0.event.xfs.userinput.result.s3.o0": "The property value matches with the input value during the attempted attack, which indicates that the page within the frame can be retrieved to the location entered by a user.",
  "0.event.xfs.userinput.result.s4.o0": "As a result of the execution, the attempted attack has been succeeded and the Cross-Frame Scripting vulnerability has been found to exist.",
  "0.event.xfs.userinput.solution.s0.o0": "The solution is shown as follow.",
  "0.event.xfs.userinput.solution.s1.o0": "Do not use the user input to configure the {0} property of the tag.",
  "0.event.xfs.userinput.solution.s2.o0": "If you need to use the user input, ensure to verify or filter out before using it.",
  "0.event.xpath_injection.conditional.apiReqInfo": "{0}",
  "0.event.xpath_injection.conditional.apiReqMsg": "In addition, the following API request has been occurred as a result of executing {0} event during attempted attack.",
  "0.event.xpath_injection.conditional.apireqinfo": "{0}",
  "0.event.xpath_injection.conditional.apireqmsg": "In addition, the following API request has been occurred as a result of executing {0} event during attempted attack.",
  "0.event.xpath_injection.xpathi.attack.s0.o0": "The XPath Injection vulnerability is caused by sending malicious information and manipulating XPath query to XML data on a web site, which allows an attacker to view or manipulate unauthorized data of XML structures.",
  "0.event.xpath_injection.xpathi.attack.s1.o0": "The following attempted attack has been executed to check the XPath Injection vulnerability.",
  "0.event.xpath_injection.xpathi.attack.s2.o0": "To check all {0} elements for the attack targets, the following process has been performed.",
  "0.event.xpath_injection.xpathi.attack.s3.o0": "{0}",
  "0.event.xpath_injection.xpathi.attack.s4.o0": "The following has been entered in the attack target:",
  "0.event.xpath_injection.xpathi.attack.s5.o0": "{0}",
  "0.event.xpath_injection.xpathi.attack.s6.o0": "{0} event has been performed on the following elements:",
  "0.event.xpath_injection.xpathi.attack.s7.o0": "{0}",
  "0.event.xpath_injection.xpathi.result.s0.o0": "The attack results are shown as follows.",
  "0.event.xpath_injection.xpathi.result.s1.o0": "As a result of the event, an error message with the following information has been found in the DOM:",
  "0.event.xpath_injection.xpathi.result.s2.o0": "{0}",
  "0.event.xpath_injection.xpathi.result.s3.o0": "The error message indicates that the attack string is not properly handled.",
  "0.event.xpath_injection.xpathi.result.s4.o0": "As a result of the execution, the attempted attack has been succeeded and the XPath injection vulnerability has been found to exist.",
  "0.event.xpath_injection.xpathi.solution.s0.o0": "The solution is shown as follow.",
  "0.event.xpath_injection.xpathi.solution.s1.o0": "To eliminate the XPath injection vulnerability, data validation is required in the case of forming an XPath query using external data input from the user.",
  "0.event.xpath_injection.xpathi.solution.s2.o1": "There are two main verification methods.",
  "0.event.xpath_injection.xpathi.solution.s3.o0": "First, an XPath query can be used as an argument. This depends on languages that implement web applications.",
  "0.event.xpath_injection.xpathi.solution.s4.o0": "In addition, for some characters in the user input data, such as single quotation marks ('), the characters can be replaced with other characters.",
  "0.event.xpath_injection.xpathi.solution.s5.o0": "Here's an example:",
  "0.event.xpath_injection.xpathi.solution.s6.o0": "{0}",
  "0.event.xss.conditional.apiReqInfo": "{0}",
  "0.event.xss.conditional.apiReqMsg": "In addition, the following API request has been occurred as a result of executing {0} event during attempted attack.",
  "0.event.xss.conditional.apireqinfo": "{0}",
  "0.event.xss.conditional.apireqmsg": "In addition, the following API request has been occurred as a result of executing {0} event during attempted attack.",
  "0.event.xss.reflected.attack.s0.o0": "The Non-persistent Cross-site Scripting vulnerability is caused by injecting malicious scripts to a web site.",
  "0.event.xss.reflected.attack.s1.o0": "The following attempted attack has been executed to check the Non-persistent Cross-site Scripting vulnerability:",
  "0.event.xss.reflected.attack.s2.o0": "To check {0} element for the attack target, the following process has been performed.",
  "0.event.xss.reflected.attack.s3.o0": "{0}",
  "0.event.xss.reflected.attack.s4.o0": "As a search result, the following attack target element has been identified.",
  "0.event.xss.reflected.attack.s5.o0": "{0}",
  "0.event.xss.reflected.attack.s6.o0": "The following strings have been entered in the attack target. (The attack string includes the hash value of the XPath of the target elements.)",
  "0.event.xss.reflected.attack.s7.o0": "{0}",
  "0.event.xss.reflected.attack.s8.o0": "{0} event has been performed on the following elements:",
  "0.event.xss.reflected.attack.s9.o0": "{0}",
  "0.event.xss.reflected.result.s0.o0": "The attack results are shown as follows.",
  "0.event.xss.reflected.result.s1.o0": "As a result of the event, an attack script with the following information has been found in the DOM:",
  "0.event.xss.reflected.result.s2.o0": "{0}",
  "0.event.xss.reflected.result.s3.o0": "The attack script created a window named {0}.",
  "0.event.xss.reflected.result.s4.o0": "The newly created window name indicates that the attack script is executed by searched attack target elements.",
  "0.event.xss.reflected.result.s5.o0": "As a result of the execution, the attempted attack has succeeded and the Non-persistent Cross-site Scripting vulnerability has been found to exist.",
  "0.event.xss.reflected.result.s6.o0": "The issue has been found in the following page.",
  "0.event.xss.reflected.result.s7.o0": "{0}",
  "0.event.xss.reflected.solution.s0.o0": "The solution is shown as follow.",
  "0.event.xss.reflected.solution.s1.o0": "To eliminate the non-persistent cross-site scripting vulnerability, you must validate and filter the external data that is input from the user.",
  "0.event.xss.reflected.solution.s2.o0": "By default, an external input that entered by a user cannot be used in a tag name or a tag property name, between <script> tags, between <style> tags, between HTML comments, or in an unacceptable location.",
  "0.event.xss.reflected.solution.s3.o0": "Alternatively, an external data input from users must be encoded before using as follow.",
  "0.event.xss.reflected.solution.s4.o0": "Encoding when using external data input from HTML element user",
  "0.event.xss.reflected.solution.s5.o0": "{0}",
  "0.event.xss.reflected.solution.s6.o0": "Encoding is also required when using external data that is input from a user, such as HTML property values, URL parameters, JavaScript, and CSS values.",
  "0.event.xss.stored.attack.s0.o0": "The persistent cross-site scripting vulnerability is caused by injecting malicious scripts to web sites, and then, storing the scripts into a database.",
  "0.event.xss.stored.attack.s1.o0": "To check the persistent cross-site scripting vulnerability, your browser will be attempted the following attack.",
  "0.event.xss.stored.attack.s2.o0": "In order to search for {0} element to attack, the following process will be performed.",
  "0.event.xss.stored.attack.s3.o0": "{0}",
  "0.event.xss.stored.attack.s4.o0": "As search result, the following attack target element has been identified.",
  "0.event.xss.stored.attack.s5.o0": "{0}",
  "0.event.xss.stored.attack.s6.o0": "The following strings have been entered in the attack target. (The attack string includes the hash value of the XPath of the target elements.)",
  "0.event.xss.stored.attack.s7.o0": "{0}",
  "0.event.xss.stored.attack.s8.o0": "{0} event has been performed on the following elements:",
  "0.event.xss.stored.attack.s9.o0": "{0}",
  "0.event.xss.stored.result.s0.o0": "The attack results are shown as follows.",
  "0.event.xss.stored.result.s1.o0": "To check the persistent cross-site scripting vulnerability, your browser will be attempted the following process.",
  "0.event.xss.stored.result.s2.o0": "{0}",
  "0.event.xss.stored.result.s3.o0": "As a result of browsing, an attack script with the following information has been found in the DOM:",
  "0.event.xss.stored.result.s4.o0": "{0}",
  "0.event.xss.stored.result.s5.o0": "The attack script created a window named {0}.",
  "0.event.xss.stored.result.s6.o0": "The newly created window name indicates that the attack script is executed by searched attack target elements.",
  "0.event.xss.stored.result.s7.o0": "As a result of the execution, the attempted attack has succeeded and the Non-persistent Cross-site Scripting vulnerability has been found to exist.",
  "0.event.xss.stored.result.s8.o0": "The issue has been found in the following page.",
  "0.event.xss.stored.result.s9.o0": "{0}",
  "0.event.xss.stored.solution.s0.o0": "The solution is shown as follow.",
  "0.event.xss.stored.solution.s1.o0": "To eliminate the persistent cross-site scripting vulnerability, you must validate and filter the external data that is input from the user.",
  "0.event.xss.stored.solution.s2.o0": "By default, an external input that entered by a user cannot be used in a tag name or a tag property name, between <script> tags, between <style> tags, between HTML comments, or in an unacceptable location.",
  "0.event.xss.stored.solution.s3.o0": "Alternatively, an external data input from users must be encoded before using as follow.",
  "0.event.xss.stored.solution.s4.o0": "Encoding when using external data input from HTML element user",
  "0.event.xss.stored.solution.s5.o0": "{0}",
  "0.event.xss.stored.solution.s6.o0": "Encoding is also required when using external data that is input from a user, such as HTML property values, URL parameters, JavaScript, and CSS values.",
  "0.http.absolute_path_disclosure.match.attack.s0.o0": "The Absolute Path Exposure vulnerability is caused by exposing absolute file paths.",
  "0.http.absolute_path_disclosure.match.attack.s1.o0": "The following HTTP request has been sent to check the absolute path exposure vulnerability.",
  "0.http.absolute_path_disclosure.match.attack.s2.o0": "{0}",
  "0.http.absolute_path_disclosure.match.result.s0.o0": "The HTTP response for the HTTP request is shown as follow.",
  "0.http.absolute_path_disclosure.match.result.s1.o0": "{0}",
  "0.http.absolute_path_disclosure.match.result.s2.o0": "In the HTTP response above, the string {0} estimated as the absolute path of the file has been found.",
  "0.http.absolute_path_disclosure.match.result.s3.o0": "When the {0} path is associated with a real web application, it can be used in attacks such as Directory Traversal, which can lead to sensitive information being seized or unexpected files running on the server.",
  "0.http.absolute_path_disclosure.match.solution.s0.o0": "To prevent an absolute path exposure vulnerability, check whether that the {0} path is associated with the actual web application server and, if so, prevent it from being exposed to HTTP responses.",
  "0.http.admin_page_disclosure.access.attack.s0.o0": "The Administrator Page Exposure vulnerability is caused by allowing an unauthorized user to access administrator pages.",
  "0.http.admin_page_disclosure.access.attack.s1.o0": "An attacker can try to access a page that is supposed to be an admin page.",
  "0.http.admin_page_disclosure.access.attack.s1.o1": "If these attempts can access to the admin page, an attacker can exploit the key features of the web application or steal sensitive information.",
  "0.http.admin_page_disclosure.access.attack.s2.o0": "To access administrator pages, the below URL with the {0} attack string is attempted to access.",
  "0.http.admin_page_disclosure.access.attack.s3.o0": "{0}",
  "0.http.admin_page_disclosure.access.result.s0.o0": "The following HTTP response is sent for a URL access attempt with an attack string:",
  "0.http.admin_page_disclosure.access.result.s1.o0": "{0}",
  "0.http.admin_page_disclosure.access.result.s2.o0": "The HTTP response above confirms that the access to the page expected to be an admin page is possible.",
  "0.http.admin_page_disclosure.access.solution.s0.o0": "Do not allow an unauthorized user access to administrator pages to prevent Administrator Page Exposure vulnerability.",
  "0.http.application_error.client_error.attack.s0.o0": "An application error indicates that the page is not displayed properly because of a client error (HTTP 400 error) or a server error (HTTP 500 error) in the web application.",
  "0.http.application_error.client_error.attack.s0.o1": "These application errors are not only inconveniences for users, but they can also expose sensitive information through error messages.",
  "0.http.application_error.client_error.attack.s0.o2": "An application error has occurred in the following HTTP requests.",
  "0.http.application_error.client_error.attack.s1.o0": "{0}",
  "0.http.application_error.client_error.result.s0.o0": "The web application page has not been displayed properly due to a client error.",
  "0.http.application_error.client_error.result.s0.o1": "The following HTTP response header is sent for the page.",
  "0.http.application_error.client_error.result.s1.o0": "{0}",
  "0.http.application_error.client_error.result.s2.o0": "HTTP {0} status code indicating a client error can be seen in the HTTP response header above.",
  "0.http.application_error.client_error.solution.s0.o0": "A common status code for the client error is:",
  "0.http.application_error.client_error.solution.s1.o0": "{0}",
  "0.http.application_error.client_error.solution.s2.o0": "See the status code to fix errors due to client errors.",
  "0.http.application_error.error_message.attack.s0.o0": "An application error indicates that the page is not displayed properly because of a client error (HTTP 400 error) or a server error (HTTP 500 error) in the web application.",
  "0.http.application_error.error_message.attack.s0.o1": "These application errors are not only inconveniences for users, but they can also expose sensitive information of the web application server through error messages.",
  "0.http.application_error.error_message.attack.s0.o2": "An application error has occurred in the following HTTP requests.",
  "0.http.application_error.error_message.attack.s1.o0": "{0}",
  "0.http.application_error.error_message.result.s0.o0": "Due to an error, sensitive information of the web application has been exposed on a page.",
  "0.http.application_error.error_message.result.s0.o1": "The HTTP response for the exposed page is shown as follow.",
  "0.http.application_error.error_message.result.s1.o0": "{0}",
  "0.http.application_error.error_message.solution.s0.o0": "To prevent the exposure of sensitive information due to error messages, modify the error page to exclude important information in the error message.",
  "0.http.application_error.error_message.solution.s0.o1": "Alternatively, there is a way not to display the error message itself by displaying another page in case of error.",
  "0.http.application_error.server_error.attack.s0.o0": "An application error indicates that the page is not displayed properly because of a client error (HTTP 400 error) or a server error (HTTP 500 error) in the web application.",
  "0.http.application_error.server_error.attack.s0.o1": "These application errors are not only inconveniences for users, but they can also expose sensitive information through error messages.",
  "0.http.application_error.server_error.attack.s0.o2": "An application error has occurred in the following HTTP requests.",
  "0.http.application_error.server_error.attack.s1.o0": "{0}",
  "0.http.application_error.server_error.result.s0.o0": "The web application page has not been displayed properly due to a server error.",
  "0.http.application_error.server_error.result.s0.o1": "The following HTTP response header is sent for the page.",
  "0.http.application_error.server_error.result.s1.o0": "{0}",
  "0.http.application_error.server_error.result.s2.o0": "The server error indicating HTTP {0} status code can be seen in the HTTP response header above.",
  "0.http.application_error.server_error.solution.s0.o0": "A common status code that indicates a server error is shown as follow.",
  "0.http.application_error.server_error.solution.s1.o0": "{0}",
  "0.http.application_error.server_error.solution.s2.o0": "See the status code to fix application errors due to server errors.",
  "0.http.blind_sql_injection.compare.attack.s0.o0": "SQL injection is a type of code injection attack. When a user input is used in a SQL query statement of a web application server, an attacker will exploit it to execute a malicious SQL statement and manipulate its database.",
  "0.http.blind_sql_injection.compare.attack.s0.o1": "An attacker can steal, change, or destroy sensitive information in the web application database through SQL injection.",
  "0.http.blind_sql_injection.compare.attack.s0.o2": "If the user input is used in a web application as a SQL query statement as follow,",
  "0.http.blind_sql_injection.compare.attack.s0.o3": "In addition, an attacker can compromise the integrity of the database, causing the web application to behave abnormally or terminate, or enable attacker to manipulate user rights in the database.",
  "0.http.blind_sql_injection.compare.attack.s1.o0": "{0}",
  "0.http.blind_sql_injection.compare.attack.s2.o0": "If an attacker enters the following value to steal all information in the users table,",
  "0.http.blind_sql_injection.compare.attack.s3.o0": "{0}",
  "0.http.blind_sql_injection.compare.attack.s4.o0": "The following SQL query statement is executed to expose all information in the users table.",
  "0.http.blind_sql_injection.compare.attack.s5.o0": "{0}",
  "0.http.blind_sql_injection.compare.attack.s6.o0": "The following HTTP request with {1} attack string in the {0} parameter is sent to check the SQL injections:",
  "0.http.blind_sql_injection.compare.attack.s7.o0": "{0}",
  "0.http.blind_sql_injection.compare.result.s0.o0": "The following HTTP response is sent for a normal HTTP request, not an attack string:",
  "0.http.blind_sql_injection.compare.result.s1.o0": "{0}",
  "0.http.blind_sql_injection.compare.result.s2.o0": "The following HTTP response is sent for the HTTP request with the {1} attack string inserted in parameter {0}:",
  "0.http.blind_sql_injection.compare.result.s3.o0": "{0}",
  "0.http.blind_sql_injection.compare.result.s4.o0": "The HTTP response has been found to be different from the normal HTTP response due to {1} attack string inserted into {0} parameter.",
  "0.http.blind_sql_injection.compare.solution.s0.o0": "To prevent SQL injection, there is a way to validate the user input by separating the part of the user input used in the SQL query statement and the part of executing the SQL query statement.",
  "0.http.blind_sql_injection.compare.solution.s0.o1": "Alternatively, characters with significant meaning in the user input must be escaped in the SQL query statement.",
  "0.http.blind_sql_injection.compare.solution.s0.o2": "In addition, there are other ways to verify that the user input is valid. For example, pattern checking, or to allow only authorized users to enter a value that can be used in SQL query statements through database privileges.",
  "0.http.blind_sql_injection.error.attack.s0.o0": "SQL injection is a type of code injection attack. When a user input is used in a SQL query statement of a web application server, an attacker will exploit it to execute a malicious SQL statement and manipulate its database.",
  "0.http.blind_sql_injection.error.attack.s0.o1": "An attacker can steal, change, or destroy sensitive information in the web application database through SQL injection.",
  "0.http.blind_sql_injection.error.attack.s0.o2": "If the user input is used in a web application as a SQL query statement as follow,",
  "0.http.blind_sql_injection.error.attack.s0.o3": "In addition, an attacker can compromise the integrity of the database, causing the web application to behave abnormally or terminate, or enable attacker to manipulate user rights in the database.",
  "0.http.blind_sql_injection.error.attack.s1.o0": "{0}",
  "0.http.blind_sql_injection.error.attack.s2.o0": "If an attacker enters the following value to steal all information in the users table,",
  "0.http.blind_sql_injection.error.attack.s3.o0": "{0}",
  "0.http.blind_sql_injection.error.attack.s4.o0": "The following SQL query statement is executed to expose all information in the users table.",
  "0.http.blind_sql_injection.error.attack.s5.o0": "{0}",
  "0.http.blind_sql_injection.error.attack.s6.o0": "The following HTTP request with {1} attack string in the {0} parameter is sent to check the SQL injections:",
  "0.http.blind_sql_injection.error.attack.s7.o0": "{0}",
  "0.http.blind_sql_injection.error.result.s0.o0": "The HTTP response for the HTTP request is shown as follow.",
  "0.http.blind_sql_injection.error.result.s1.o0": "{0}",
  "0.http.blind_sql_injection.error.result.s2.o0": "The HTTP response above confirms that the web application's server is behaving abnormally due to a database error.",
  "0.http.blind_sql_injection.error.solution.s0.o0": "To prevent SQL injection, there is a way to validate the user input by separating the part of the user input used in the SQL query statement and the part of executing the SQL query statement.",
  "0.http.blind_sql_injection.error.solution.s0.o1": "Alternatively, characters with significant meaning in the user input must be escaped in the SQL query statement.",
  "0.http.blind_sql_injection.error.solution.s0.o2": "In addition, there are other ways to verify that the user input is valid. For example, pattern checking, or to allow only authorized users to enter a value that can be used in SQL query statements through database privileges.",
  "0.http.body_parameters_to_query.same.attack.s0.o0": "The Parameter Query Transformation vulnerability is caused by changing a parameter value of an HTTP POST request into a URL query value, which receives an identical HTTP response in return of an HTTP GET request.",
  "0.http.body_parameters_to_query.same.attack.s1.o0": "The existing HTTP POST request is shown as follow:",
  "0.http.body_parameters_to_query.same.attack.s2.o0": "{0}",
  "0.http.body_parameters_to_query.same.attack.s2.o1": "{0}",
  "0.http.body_parameters_to_query.same.attack.s3.o0": "The HTTP POST request above has been converted to a HTTP GET request to check the Parameter Query Transformation vulnerability.",
  "0.http.body_parameters_to_query.same.attack.s4.o0": "{0}",
  "0.http.body_parameters_to_query.same.attack.s4.o1": "{0}",
  "0.http.body_parameters_to_query.same.attack.s5.o0": "A body parameter value of an existing HTTP POST request is converted into {0} URL query value in the HTTP GET request above.",
  "0.http.body_parameters_to_query.same.result.s0.o0": "The following HTTP response header is sent for the existing HTTP POST request.",
  "0.http.body_parameters_to_query.same.result.s1.o0": "{0}",
  "0.http.body_parameters_to_query.same.result.s2.o0": "The following HTTP response header is sent for the converted HTTP GET request.",
  "0.http.body_parameters_to_query.same.result.s3.o0": "{0}",
  "0.http.body_parameters_to_query.same.result.s4.o0": "Above two HTTP response headers have identical counts, types, status code, and contents length.",
  "0.http.body_parameters_to_query.same.result.s4.o1": "It can be easily guessed that an HTTP response of an existing HTTP POST request is identical with an HTTP response of a converted HTTP GET request.",
  "0.http.body_parameters_to_query.same.solution.s0.o0": "To resolve the vulnerability, an HTTP POST request and an HTTP GET request need to be handled separately.",
  "0.http.body_parameters_to_query.same.solution.s1.o0": "Select an identical filter, if you need to handle them together.",
  "0.http.broken_skip_link.broken.attack.s0.o0": "The following HTTP request message has been sent.",
  "0.http.broken_skip_link.broken.attack.s0.o1": "{0}",
  "0.http.broken_skip_link.broken.attack.s0.o2": "{0}",
  "0.http.broken_skip_link.broken.attack.s1.o0": "An HTTP response has been received.",
  "0.http.broken_skip_link.broken.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "0.http.broken_skip_link.broken.attack.s3.o0": "A skip link has been searched in an HTTP response body.",
  "0.http.broken_skip_link.broken.attack.s4.o0": "The element connected with the skip link has been searched.",
  "0.http.broken_skip_link.broken.result.s0.o0": "An HTTP response body is an HTML document.",
  "0.http.broken_skip_link.broken.result.s1.o0": "{0} element, a skip link to an HTTP response body, has been found. The XPath of the element is shown as follow.",
  "0.http.broken_skip_link.broken.result.s1.o1": "{0}",
  "0.http.broken_skip_link.broken.result.s2.o0": "{0} attribute of the element is shown as follow.",
  "0.http.broken_skip_link.broken.result.s2.o1": "{0}",
  "0.http.broken_skip_link.broken.result.s3.o0": "The following element has not been found in {0} or {1} attribute of the HTTP response body.",
  "0.http.broken_skip_link.broken.result.s3.o1": "{0}",
  "0.http.broken_skip_link.broken.result.s4.o0": "Without the element, its element connected to a skip link to the HTTP response body has not been found.",
  "0.http.broken_skip_link.broken.solution.s0.o0": "Set the following for {0} or {1} attribute of the element to be connected to a skip link.",
  "0.http.broken_skip_link.broken.solution.s0.o1": "{0}",
  "0.http.buffer_overflow.input.attack.s0.o0": "The Buffer Overflow vulnerability is caused by entering a value that generates a buffer overflow, which leads to abnormal termination or behavior in web applications.",
  "0.http.buffer_overflow.input.attack.s0.o1": "The Buffer Overflow vulnerability can occur on both the web server and the application server, and is a fatal threat to web applications that use the server.",
  "0.http.buffer_overflow.input.attack.s0.o2": "If web applications are using libraries that are used to create images or send email, they are more likely to be vulnerable to buffer overflow.",
  "0.http.buffer_overflow.input.attack.s0.o3": "Also, if the web application does not check the input value precisely, it is likely that the database will behave erratically when inputting a long-length input value or output a detailed error message with high information exposure.",
  "0.http.buffer_overflow.input.attack.s0.o4": "The following HTTP request is sent to check the Buffer Overflow vulnerability:",
  "0.http.buffer_overflow.input.attack.s1.o0": "{0}",
  "0.http.buffer_overflow.input.attack.s1.o1": "{0}",
  "0.http.buffer_overflow.input.result.s0.o0": "A server error or disconnection has occurred due to an HTTP request with a long input value.",
  "0.http.buffer_overflow.input.result.s0.o1": "The following HTTP response header is sent for the HTTP request sent to check the Buffer Overflow vulnerability.",
  "0.http.buffer_overflow.input.result.s1.o0": "{0}",
  "0.http.buffer_overflow.input.solution.s0.o0": "To solve the Buffer Overflow vulnerability, developers must give full attention and test ongoing source code.",
  "0.http.buffer_overflow.input.solution.s0.o1": "Use overflow-safe libraries and functions, or use a compiler that uses a non-executable stack or prevents buffer overflows.",
  "0.http.cache_control.header.attack.s0.o0": "Cache control refers to how the cache is handled when multiple users share the web cache.",
  "0.http.cache_control.header.attack.s0.o1": "When cache control is wrong, and if multiple users share the web cache and malicious data enters the cache, all users who share the web cache are exposed to malicious data.",
  "0.http.cache_control.header.attack.s0.o2": "It is called cache pollution.",
  "0.http.cache_control.header.attack.s0.o3": "Cache control can be checked through the Cache-Control header or the Pragma header of the HTTP response. The values to prevent cache pollution are as follows.",
  "0.http.cache_control.header.attack.s1.o0": "{0}",
  "0.http.cache_control.header.result.s0.o0": "The following HTTP response header is sent for the page where the Cache Control vulnerability.",
  "0.http.cache_control.header.result.s1.o0": "{0}",
  "0.http.cache_control.header.result.s2.o0": "The {0} header's parameter value of the HTTP response header above is {0}.",
  "0.http.cache_control.header.solution.s0.o0": "There is a way to set the Cache-Control header and the Pragma header value mentioned above in order to control the cache to prevent cache pollution.",
  "0.http.cache_control.header.solution.s0.o1": "Or, you can choose not to response to the cache pollution by using a static response.",
  "0.http.cache_control.no_header.attack.s0.o0": "Cache control refers to how the cache is handled when multiple users share the web cache.",
  "0.http.cache_control.no_header.attack.s0.o1": "When cache control is wrong, and if multiple users share the web cache and malicious data enters the cache, all users who share the web cache are exposed to malicious data.",
  "0.http.cache_control.no_header.attack.s0.o2": "It is called cache pollution.",
  "0.http.cache_control.no_header.attack.s0.o3": "Cache control can be checked through the Cache-Control header or the Pragma header of the HTTP response. The values to prevent cache pollution are as follows.",
  "0.http.cache_control.no_header.attack.s1.o0": "{0}",
  "0.http.cache_control.no_header.result.s0.o0": "The following HTTP response header is sent for the page where the Cache Control vulnerability.",
  "0.http.cache_control.no_header.result.s1.o0": "{0}",
  "0.http.cache_control.no_header.result.s2.o0": "No cache control header has been found in the HTTP response above.",
  "0.http.cache_control.no_header.solution.s0.o0": "There is a way to set the Cache-Control header and the Pragma header value mentioned above in order to control the cache to prevent cache pollution.",
  "0.http.cache_control.no_header.solution.s0.o1": "In addition, another method is to send by using a static response even attackers attempt to make tainted caches.",
  "0.http.client_side_cookie_access.match.attack.s0.o0": "The Client-side (JavaScript) cookie access checks {0} string in the HTTP response.",
  "0.http.client_side_cookie_access.match.attack.s1.o0": "To check this, the following HTTP request has been sent.",
  "0.http.client_side_cookie_access.match.attack.s2.o0": "{0}",
  "0.http.client_side_cookie_access.match.result.s0.o0": "{0} string has been found in the HTTP response body.",
  "0.http.client_side_cookie_access.match.result.s0.o1": "This shows that the client side accesses to the cookies.",
  "0.http.client_side_cookie_access.match.result.s1.o0": "{0}",
  "0.http.client_side_cookie_access.match.solution.s0.o0": "You need to remove the client side JavaScript code, such as {0}, that might threaten the sites.",
  "0.http.client_side_cookie_access.match.solution.s0.o1": "Also, be sure to set security flags such as {0}, {1} and {2} on sensitive cookies.",
  "0.http.code_injection.script.attack.s0.o0": "Code injection is an attack in which an attacker changes the execution of a vulnerable Web application by entering the computer program code as a value.",
  "0.http.code_injection.script.attack.s0.o1": "Code injection causes worm virus propagation, data loss and contamination, and DoS.",
  "0.http.code_injection.script.attack.s0.o2": "Throught server script code injection of code injection, attackers can install malicious software or execute malicious code.",
  "0.http.code_injection.script.attack.s0.o3": "The following HTTP request with the {1} attack string has been sent to the {0} parameter to insert server script code:",
  "0.http.code_injection.script.attack.s1.o0": "{0}",
  "0.http.code_injection.script.attack.s1.o1": "{0}",
  "0.http.code_injection.script.result.s0.o0": "Server script code injection is an attack that can occur at the application level, which can enable fatal attacks such as SQL injection or directory traversal.",
  "0.http.code_injection.script.result.s0.o1": "The following HTTP response is sent for the HTTP request to insert server script code:",
  "0.http.code_injection.script.result.s1.o0": "{0}",
  "0.http.code_injection.script.result.s2.o0": "The HTTP response above shows {0} attack string caused the {1}.",
  "0.http.code_injection.script.solution.s0.o0": "The best way to prevent server script code injection is to validate all the values of user input.",
  "0.http.code_injection.script.solution.s0.o1": "If need to insert code, users must encode special characters and change them to characters that do not affect the web application.",
  "0.http.command_injection.feedback.attack.s0.o0": "An HTTP request with {1} attack string has been sent to the {0} parameter to check the Operating System Command Execution vulnerability. The HTTP request is shown as follow.",
  "0.http.command_injection.feedback.attack.s0.o1": "{0}",
  "0.http.command_injection.feedback.attack.s0.o2": "{0}",
  "0.http.command_injection.feedback.result.s0.o0": "Operating system command execution is an attack aimed at executing commands on a user's operating system through vulnerable applications. The following HTTP response message is sent for the HTTP request.",
  "0.http.command_injection.feedback.result.s0.o1": "{0}",
  "0.http.command_injection.feedback.result.s0.o2": "{0} pattern system information has been exposed in the response message above.",
  "0.http.command_injection.feedback.solution.s0.o0": "To resolve the vulnerability, the system command suspected string must be examined.",
  "0.http.command_injection.timeout.attack.s0.o0": "An HTTP request with {1} attack string has been sent to the {0} parameter to check the Operating System Command Execution vulnerability. The HTTP request is shown as follow.",
  "0.http.command_injection.timeout.attack.s0.o1": "{0}",
  "0.http.command_injection.timeout.attack.s0.o2": "{0}",
  "0.http.command_injection.timeout.result.s0.o0": "Operating system command execution is an attack aimed at executing commands on a user's operating system through vulnerable applications.",
  "0.http.command_injection.timeout.result.s0.o1": "The response time for HTTP requests has been delayed.",
  "0.http.command_injection.timeout.solution.s0.o0": "To resolve the vulnerability, the system command suspected string must be examined.",
  "0.http.content_security_policy_missing.missing.attack.s0.o0": "The Missing Content-Security-Policy(CSP) header vulnerability is caused by lacking a Content-Security-Policy header in the HTTP response.",
  "0.http.content_security_policy_missing.missing.attack.s1.o0": "To check this, the following HTTP request has been sent.",
  "0.http.content_security_policy_missing.missing.attack.s2.o0": "{0}",
  "0.http.content_security_policy_missing.missing.attack.s2.o1": "{0}",
  "0.http.content_security_policy_missing.missing.result.s0.o0": "The following HTTP response header is sent for the HTTP request.",
  "0.http.content_security_policy_missing.missing.result.s1.o0": "{0}",
  "0.http.content_security_policy_missing.missing.result.s2.o0": "As you can see in the HTTP response above, there is no Content-Security-Policy header or Content-Security-Policy-Report-Only header.",
  "0.http.content_security_policy_missing.missing.result.s2.o1": "Because there is no Content-Security-Policy header, resources in untrusted domains can not be prevented from running or rendered in the browser.",
  "0.http.content_security_policy_missing.missing.solution.s0.o0": "To address the missing Content-Security-Policy Header vulnerability, users must add a Content-Security-Policy header in the web application server.",
  "0.http.content_security_policy_missing.missing.solution.s0.o1": "Do the following to receive all websites contents only within the same domain, but not on subdomains.",
  "0.http.content_security_policy_missing.missing.solution.s1.o0": "{0}",
  "0.http.content_security_policy_missing.missing.solution.s2.o0": "To include a subdomain, do the following.",
  "0.http.content_security_policy_missing.missing.solution.s3.o0": "{0}",
  "0.http.content_security_policy_missing.missing.solution.s4.o0": "In addition, resources from trusted domains can be set to use on certain HTML elements only.",
  "0.http.content_security_policy_missing.missing.solution.s5.o0": "In addition, if users want to be informed that a resource in an untrusted domain has been used without blocking it, do as following.",
  "0.http.content_security_policy_missing.missing.solution.s6.o0": "{0}",
  "0.http.content_type_missing.missing.attack.s0.o0": "The Content-Type header included in the HTTP response tells the client what type of content is actually returned.",
  "0.http.content_type_missing.missing.attack.s0.o1": "Without these Content-Type headers, the browser can do MIME type sniffing.",
  "0.http.content_type_missing.missing.attack.s1.o0": "The MIME type sniffing indicates that if a MIME type is missing or a client type is incorrectly set, the browser will scan the resource and guess the exact MIME type.",
  "0.http.content_type_missing.missing.attack.s1.o1": "This type of MIME type sniffing allows an attacker to pass an unhandled MIME type as an execution MIME type.",
  "0.http.content_type_missing.missing.attack.s1.o2": "For example, HTML with cross-site scripting can be uploaded as an image file through MIME type sniffing.",
  "0.http.content_type_missing.missing.attack.s2.o0": "Since this MIME type sniffing can occur, Content-Type must be presented.",
  "0.http.content_type_missing.missing.result.s0.o0": "The following HTTP response header is sent for the page.",
  "0.http.content_type_missing.missing.result.s1.o0": "{0}",
  "0.http.content_type_missing.missing.result.s2.o0": "As you can see in the HTTP response above, there is no Content-Type header or has no value.",
  "0.http.content_type_missing.missing.solution.s0.o0": "To prevent MIME type sniffing, a Content-Type header with a value that matches the type of content in the HTTP response must be sent.",
  "0.http.content_type_missing.missing.solution.s0.o1": "Alternatively, a nosniff value must be assigned to the X-Content-Type-Options header in order to prevent MIME type sniffing from executing.",
  "0.http.cookie_attribute_test_http_only.no_httpOnly.attack.s0.o0": "Testing for Cookie Attribute (HttpOnly) checks Set-Cookie header in HTTP response to find out whether HttpOnly attribute is specified or not.",
  "0.http.cookie_attribute_test_http_only.no_httpOnly.attack.s0.o1": "To check this, the following HTTP request has been sent.",
  "0.http.cookie_attribute_test_http_only.no_httpOnly.attack.s1.o0": "{0}",
  "0.http.cookie_attribute_test_http_only.no_httpOnly.result.s0.o0": "The response for the HTTP request is shown as follow.",
  "0.http.cookie_attribute_test_http_only.no_httpOnly.result.s1.o0": "{0}",
  "0.http.cookie_attribute_test_http_only.no_httpOnly.solution.s0.o0": "You can use the Set-Cookie in the HTTP response to set cookie attributes or JavaScript helps you to set the attributes.",
  "0.http.cookie_attribute_test_http_only.no_httponly.attack.s0.o0": "Testing for Cookie Attribute (HttpOnly) checks Set-Cookie header in HTTP response to find out whether HttpOnly attribute is specified or not.",
  "0.http.cookie_attribute_test_http_only.no_httponly.attack.s0.o1": "To check this, the following HTTP request has been sent.",
  "0.http.cookie_attribute_test_http_only.no_httponly.attack.s1.o0": "{0}",
  "0.http.cookie_attribute_test_http_only.no_httponly.result.s0.o0": "The response for the HTTP request is shown as follow.",
  "0.http.cookie_attribute_test_http_only.no_httponly.result.s1.o0": "{0}",
  "0.http.cookie_attribute_test_http_only.no_httponly.solution.s0.o0": "You can use the Set-Cookie in the HTTP response to set cookie attributes or JavaScript helps you to set the attributes.",
  "0.http.cookie_attribute_test_same_site.invalid_sameSite.attack.s0.o0": "Testing for Cookie Attribute (SameSite) checks Set-Cookie header in HTTP response to find out whether SameSite attribute is specified or not.",
  "0.http.cookie_attribute_test_same_site.invalid_sameSite.attack.s0.o1": "To check this, the following HTTP request has been sent.",
  "0.http.cookie_attribute_test_same_site.invalid_sameSite.attack.s1.o0": "{0}",
  "0.http.cookie_attribute_test_same_site.invalid_sameSite.result.s0.o0": "The response for the HTTP request is shown as follow.",
  "0.http.cookie_attribute_test_same_site.invalid_sameSite.result.s1.o0": "{0}",
  "0.http.cookie_attribute_test_same_site.invalid_sameSite.solution.s0.o0": "It is recommended to set the SameSite to Lax or Strict in order to prevent the CSRF attacks.",
  "0.http.cookie_attribute_test_same_site.invalid_sameSite.solution.s0.o1": "Google Chrome updates its version to 80, enhancing the SameSite defaults to Lax from None.",
  "0.http.cookie_attribute_test_same_site.invalid_sameSite.solution.s0.o2": "If you need to set it to None, make sure to specify the Secure attribute.",
  "0.http.cookie_attribute_test_same_site.invalid_samesite.attack.s0.o0": "Testing for Cookie Attribute (SameSite) checks Set-Cookie header in HTTP response to find out whether SameSite attribute is specified or not.",
  "0.http.cookie_attribute_test_same_site.invalid_samesite.attack.s0.o1": "To check this, the following HTTP request has been sent.",
  "0.http.cookie_attribute_test_same_site.invalid_samesite.attack.s1.o0": "{0}",
  "0.http.cookie_attribute_test_same_site.invalid_samesite.result.s0.o0": "The response for the HTTP request is shown as follow.",
  "0.http.cookie_attribute_test_same_site.invalid_samesite.result.s1.o0": "{0}",
  "0.http.cookie_attribute_test_same_site.invalid_samesite.solution.s0.o0": "It is recommended to set the SameSite to Lax or Strict in order to prevent the CSRF attacks.",
  "0.http.cookie_attribute_test_same_site.invalid_samesite.solution.s0.o1": "Google Chrome updates its version to 80, enhancing the SameSite defaults to Lax from None.",
  "0.http.cookie_attribute_test_same_site.invalid_samesite.solution.s0.o2": "If you need to set it to None, make sure to specify the Secure attribute.",
  "0.http.cookie_attribute_test_secure.no_secure.attack.s0.o0": "Testing for Cookie Attribute (Secure) checks Set-Cookie header in HTTP response to find out whether Secure attribute is specified or not.",
  "0.http.cookie_attribute_test_secure.no_secure.attack.s0.o1": "To check this, the following HTTP request has been sent.",
  "0.http.cookie_attribute_test_secure.no_secure.attack.s1.o0": "{0}",
  "0.http.cookie_attribute_test_secure.no_secure.result.s0.o0": "The response for the HTTP request is shown as follow.",
  "0.http.cookie_attribute_test_secure.no_secure.result.s1.o0": "{0}",
  "0.http.cookie_attribute_test_secure.no_secure.solution.s0.o0": "A cookie cannot be set with the Secure in the HTTP protocol: you should change it into HTTPS.",
  "0.http.cookie_attribute_test_secure.no_secure.solution.s0.o1": "You can use the Set-Cookie in the HTTP response to set cookie attributes or JavaScript helps you to set the attributes.",
  "0.http.cookie_http_only.missing.attack.s0.o0": "HttpOnly is one of the flags in the Set-Cookie or Set-Cookie2 header in the HTTP response.",
  "0.http.cookie_http_only.missing.attack.s0.o1": "These HttpOnly flags can prevent most cross-site scripting attacks by preventing the client's script from accessing the cookie.",
  "0.http.cookie_http_only.missing.result.s0.o0": "The HTTP response for the page is shown as follow.",
  "0.http.cookie_http_only.missing.result.s1.o0": "{0}",
  "0.http.cookie_http_only.missing.result.s2.o0": "The HTTP response above confirms that there is no HttpOnly flag in the Set-Cookie or Set-Cookie2 header.",
  "0.http.cookie_http_only.missing.solution.s0.o0": "Set the HttpOnly flag in the Set-Cookie or Set-Cookie2 header on the web application's server.",
  "0.http.cookie_http_only.missing.solution.s0.o1": "Here's how to set the HttpOnly flag in Java.",
  "0.http.cookie_http_only.missing.solution.s1.o0": "{0}",
  "0.http.cookie_http_only.missing.solution.s2.o0": "To set the HttpOnly flag in WEB-INF/web.xml:",
  "0.http.cookie_http_only.missing.solution.s3.o0": "{0}",
  "0.http.cookie_http_only.missing.solution.s4.o0": "To set the HttpOnly flag in Tomcat, add the following to context.xml.",
  "0.http.cookie_http_only.missing.solution.s5.o0": "{0}",
  "0.http.cookie_http_only.missing.solution.s6.o0": "To set the HttpOnly flag in PHP:",
  "0.http.cookie_http_only.missing.solution.s7.o0": "{0}",
  "0.http.cookie_secure_flag.missing.attack.s0.o0": "Secure is one of the flags in the Set-Cookie or Set-Cookie2 header in the HTTP response.",
  "0.http.cookie_secure_flag.missing.attack.s0.o1": "These Secure flags enable the browser to send cookies via only connections made with the HTTPS protocol using SSL.",
  "0.http.cookie_secure_flag.missing.result.s0.o0": "The HTTP response for the page is shown as follow.",
  "0.http.cookie_secure_flag.missing.result.s1.o0": "{0}",
  "0.http.cookie_secure_flag.missing.result.s2.o0": "The HTTP response above confirms that there is no Secure flag in the Set-Cookie or Set-Cookie2 header.",
  "0.http.cookie_secure_flag.missing.solution.s0.o0": "Set the HttpOnly flag in the Set-Cookie or Set-Cookie2 header on the web application's server.",
  "0.http.cookie_secure_flag.missing.solution.s0.o1": "The following is a way to set the secure flag in the WEB-INF / web.xml of Java:",
  "0.http.cookie_secure_flag.missing.solution.s1.o0": "{0}",
  "0.http.cookie_secure_flag.missing.solution.s2.o0": "The Secure flag in PHP can be set as shown as follow.",
  "0.http.cookie_secure_flag.missing.solution.s3.o0": "{0}",
  "0.http.credit_card_number_disclosure.amex.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "0.http.credit_card_number_disclosure.amex.attack.s0.o1": "{0}",
  "0.http.credit_card_number_disclosure.amex.attack.s0.o2": "{0}",
  "0.http.credit_card_number_disclosure.amex.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "0.http.credit_card_number_disclosure.amex.result.s0.o1": "{0}",
  "0.http.credit_card_number_disclosure.amex.result.s1.o0": "The following string has been found in the body of the HTTP response:",
  "0.http.credit_card_number_disclosure.amex.result.s1.o1": "{0}",
  "0.http.credit_card_number_disclosure.amex.result.s1.o2": "The string corresponds to the American Express credit card number.",
  "0.http.credit_card_number_disclosure.amex.result.s2.o0": "As a result of the analysis, an American Express credit card number has been found in the HTTP response text.",
  "0.http.credit_card_number_disclosure.amex.result.s2.o1": "Therefore, a credit card number can be stolen from HTTP requests sent to the server.",
  "0.http.credit_card_number_disclosure.amex.solution.s0.o0": "The HTTP response text should not include a credit card number.",
  "0.http.credit_card_number_disclosure.amex.solution.s0.o1": "Please check credit card number disclosure for all HTTP response text components, including plain text and comments.",
  "0.http.credit_card_number_disclosure.discover.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "0.http.credit_card_number_disclosure.discover.attack.s0.o1": "{0}",
  "0.http.credit_card_number_disclosure.discover.attack.s0.o2": "{0}",
  "0.http.credit_card_number_disclosure.discover.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "0.http.credit_card_number_disclosure.discover.result.s0.o1": "{0}",
  "0.http.credit_card_number_disclosure.discover.result.s1.o0": "The following string has been found in the body of the HTTP response:",
  "0.http.credit_card_number_disclosure.discover.result.s1.o1": "{0}",
  "0.http.credit_card_number_disclosure.discover.result.s1.o2": "The string corresponds to the Discover credit card number.",
  "0.http.credit_card_number_disclosure.discover.result.s2.o0": "As a result of the analysis, a Discover credit card number has been found in the HTTP response text.",
  "0.http.credit_card_number_disclosure.discover.result.s2.o1": "Therefore, a credit card number can be stolen from HTTP requests sent to the server.",
  "0.http.credit_card_number_disclosure.discover.solution.s0.o0": "The HTTP response text should not include a credit card number.",
  "0.http.credit_card_number_disclosure.discover.solution.s0.o1": "Please check credit card number disclosure for all HTTP response text components, including plain text and comments.",
  "0.http.credit_card_number_disclosure.master.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "0.http.credit_card_number_disclosure.master.attack.s0.o1": "{0}",
  "0.http.credit_card_number_disclosure.master.attack.s0.o2": "{0}",
  "0.http.credit_card_number_disclosure.master.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "0.http.credit_card_number_disclosure.master.result.s0.o1": "{0}",
  "0.http.credit_card_number_disclosure.master.result.s1.o0": "The following string has been found in the body of the HTTP response:",
  "0.http.credit_card_number_disclosure.master.result.s1.o1": "{0}",
  "0.http.credit_card_number_disclosure.master.result.s1.o2": "The string corresponds to the Master credit card number.",
  "0.http.credit_card_number_disclosure.master.result.s2.o0": "As a result of the analysis, a Master credit card number has been found in the HTTP response text.",
  "0.http.credit_card_number_disclosure.master.result.s2.o1": "Therefore, a credit card number can be stolen from HTTP requests sent to the server.",
  "0.http.credit_card_number_disclosure.master.solution.s0.o0": "The HTTP response text should not include a credit card number.",
  "0.http.credit_card_number_disclosure.master.solution.s0.o1": "Please check credit card number disclosure for all HTTP response text components, including plain text and comments.",
  "0.http.credit_card_number_disclosure.visa.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "0.http.credit_card_number_disclosure.visa.attack.s0.o1": "{0}",
  "0.http.credit_card_number_disclosure.visa.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "0.http.credit_card_number_disclosure.visa.result.s0.o1": "{0}",
  "0.http.credit_card_number_disclosure.visa.result.s1.o0": "The following string has been found in the body of the HTTP response:",
  "0.http.credit_card_number_disclosure.visa.result.s1.o1": "{0}",
  "0.http.credit_card_number_disclosure.visa.result.s1.o2": "The string corresponds to the VISA credit card number.",
  "0.http.credit_card_number_disclosure.visa.result.s2.o0": "As a result of the analysis, a VISA credit card number has been found in the HTTP response text.",
  "0.http.credit_card_number_disclosure.visa.result.s2.o1": "Therefore, a credit card number can be stolen from HTTP requests sent to the server.",
  "0.http.credit_card_number_disclosure.visa.solution.s0.o0": "The HTTP response text should not include a credit card number.",
  "0.http.credit_card_number_disclosure.visa.solution.s0.o1": "Please check credit card number disclosure for all HTTP response text components, including plain text and comments.",
  "0.http.crlf_injection.cookie.attack.s0.o0": "CRLF stands for Carriage Return (CR, ASCII 13, \\r) and Line Feed (LF, ASCII 10, \\n).",
  "0.http.crlf_injection.cookie.attack.s0.o1": "CR and LF on Windows, and LF on Linux and Unix indicate that a line is ended.",
  "0.http.crlf_injection.cookie.attack.s0.o2": "CRLF injection indicates that an attacker enters these CRLFs to divide the header of an HTTP response or inadvertently terminate the code in the Web application, resulting in vulnerabilities such as information disclosure and cross-site scripting.",
  "0.http.crlf_injection.cookie.attack.s0.o3": "To check the CRLF vulnerabilities, the following HTTP request with {0} attack string has been sent:",
  "0.http.crlf_injection.cookie.attack.s1.o0": "{0}",
  "0.http.crlf_injection.cookie.attack.s1.o1": "{0}",
  "0.http.crlf_injection.cookie.result.s0.o0": "The HTTP response for the HTTP request is shown as follow.",
  "0.http.crlf_injection.cookie.result.s1.o0": "{0}",
  "0.http.crlf_injection.cookie.result.s2.o0": "The body of the HTTP response contains the attack string {0}.",
  "0.http.crlf_injection.cookie.solution.s0.o0": "To prevent CRLF injection, entering CRLF as an input value by users should be blocked or escape the values ​​that are inserted in the HTTP header.",
  "0.http.cross_domain_script_inclusion.other_domain.attack.s0.o0": "If a script from an external domain is included in the web application, the script will act as a part of the web application.",
  "0.http.cross_domain_script_inclusion.other_domain.attack.s0.o1": "If a script in an external domain contains a malicious script, the script can leak data from the web application or perform unusual behavior with the privileges of the connected user.",
  "0.http.cross_domain_script_inclusion.other_domain.result.s0.o0": "The HTTP response for the page is shown as follow.",
  "0.http.cross_domain_script_inclusion.other_domain.result.s1.o0": "{0}",
  "0.http.cross_domain_script_inclusion.other_domain.result.s2.o0": "In the HTTP response above, the domain of src property value {1} in {0} is an external domain that is different from the domain of host {2}.",
  "0.http.cross_domain_script_inclusion.other_domain.solution.s0.o0": "To prevent malicious script execution through scripts in external domains, users can not use scripts from the external domain.",
  "0.http.cross_domain_script_inclusion.other_domain.solution.s0.o1": "Alternatively, there is a way to manually add scripts directly to the web application after validating scripts from external domains that do not have licensing issues.",
  "0.http.cross_domain_script_inclusion.other_domain.solution.s0.o2": "Another way to do this is to create a blacklist to exclude scripts from external domains that are not allowed, or to create a whitelist to allow scripts from only allowed external domains.",
  "0.http.cross_site_web_socket_hijacking.handshake.attack.s0.o0": "For the request to connect to the web socket, the following HTTP request is sent after changing Origin header to the Sparrow domain server:",
  "0.http.cross_site_web_socket_hijacking.handshake.attack.s1.o0": "{0}",
  "0.http.cross_site_web_socket_hijacking.handshake.result.s0.o0": "The following response is received for the manipulated HTTP request.",
  "0.http.cross_site_web_socket_hijacking.handshake.result.s1.o0": "{0}",
  "0.http.cross_site_web_socket_hijacking.handshake.result.s2.o0": "The HTTP 101 has returned in the response above. This means connection to the web socket succeeded.",
  "0.http.cross_site_web_socket_hijacking.handshake.result.s2.o1": "Therefore, the cross-site web socket hijacking vulnerability is possible due to the lack of validation for Origin header while connecting to the web socket.",
  "0.http.cross_site_web_socket_hijacking.handshake.solution.s0.o0": "Validating the Origin header and enforcing SameSite cookies are the best ways to mitigate cross-site web socket hijacking vulnerabilities.",
  "0.http.cross_site_web_socket_hijacking.handshake.solution.s1.o0": "1. Origin Validation",
  "0.http.cross_site_web_socket_hijacking.handshake.solution.s1.o1": "Set the Access-Control-Allow-Origin header to validate the {0} header.",
  "0.http.cross_site_web_socket_hijacking.handshake.solution.s1.o2": " This header is one of the HTTP response headers used by Cross-Origin Resource Sharing (CORS) policies to determine whether to allow access to requests originating from other domains.",
  "0.http.cross_site_web_socket_hijacking.handshake.solution.s1.o3": "Therefore, you should limit the Access-Control-Allow-Origin header to specific trusted domains and avoid setting {0} or {1}.",
  "0.http.cross_site_web_socket_hijacking.handshake.solution.s1.o4": "Another approach is to define a list of trusted origins (allowlist) on the server and validate the {0} header sent by the client in the WebSocket handshake request.",
  "0.http.cross_site_web_socket_hijacking.handshake.solution.s1.o5": "The following is example code to validate the {0} header.",
  "0.http.cross_site_web_socket_hijacking.handshake.solution.s2.o0": "{0}",
  "0.http.cross_site_web_socket_hijacking.handshake.solution.s3.o0": "2. SameSite Cookie",
  "0.http.cross_site_web_socket_hijacking.handshake.solution.s3.o1": "Setting the {0} cookie is primarily used to prevent CSRF attacks, but it can provide additional security when user authentication is done using cookies on a web socket connection.",
  "0.http.cross_site_web_socket_hijacking.handshake.solution.s3.o2": "By setting {1} or {2} in the {0} header, you can ensure that only requests originating directly from your domain include the cookie. ",
  "0.http.cross_site_web_socket_hijacking.handshake.solution.s3.o3": "This setting makes it harder to hijack a user's session through cross-origin requests because it does not send cookies on requests from other domains.",
  "0.http.custom.active_custom.attack.s0.o0": "An HTTP request to be sent to the server has been configured as follow:",
  "0.http.custom.active_custom.attack.s0.o1": "{0}",
  "0.http.custom.active_custom.attack.s0.o2": "The set value corresponds to a custom attack string.",
  "0.http.custom.active_custom.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "0.http.custom.active_custom.attack.s1.o1": "{0}",
  "0.http.custom.active_custom.attack.s1.o2": "{0}",
  "0.http.custom.active_custom.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "0.http.custom.active_custom.result.s0.o1": "{0}",
  "0.http.custom.active_custom.result.s1.o0": "The following string has been found in the HTTP response body:",
  "0.http.custom.active_custom.result.s1.o1": "{0}",
  "0.http.custom.active_custom.result.s1.o2": "The string of HTTP response text is located in {0}.",
  "0.http.custom.active_custom.result.s2.o0": "As a result of the analysis, a string complied with the custom detection rule {0} has been found.",
  "0.http.custom.conditional.attack_cookie": "The following value has been set for the cookie {0}.",
  "0.http.custom.conditional.attack_dwr": "The following value has been set for the parameter {0} from DWR request.",
  "0.http.custom.conditional.attack_form": "A value of the parameter {0} transmitted through the form has been set as follow:",
  "0.http.custom.conditional.attack_gwt": "The following value has been set for the parameter {0} from GWT RPC request.",
  "0.http.custom.conditional.attack_header": "The following value has been set for the HTTP request header {0}.",
  "0.http.custom.conditional.attack_json": "The following value has been set for the parameter {0} from JSON-RPC request.",
  "0.http.custom.conditional.attack_multipart": "The following value has been set for the parameter {0} from Multipart/form-data type request.",
  "0.http.custom.conditional.attack_query_string": "A value of the {0} parameter transmitted through the query string has been set as follow.",
  "0.http.custom.conditional.attack_url_path": "The following value has been set for the URL path.",
  "0.http.custom.conditional.attack_xml": "The following value has been set for the parameter {0} from XML-RPC request.",
  "0.http.custom.passive_custom.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "0.http.custom.passive_custom.attack.s0.o1": "{0}",
  "0.http.custom.passive_custom.attack.s0.o2": "{0}",
  "0.http.custom.passive_custom.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "0.http.custom.passive_custom.result.s0.o1": "{0}",
  "0.http.custom.passive_custom.result.s1.o0": "The following string has been found in the HTTP response body:",
  "0.http.custom.passive_custom.result.s1.o1": "{0}",
  "0.http.custom.passive_custom.result.s1.o2": "The string of HTTP response text is located in {0}.",
  "0.http.custom.passive_custom.result.s2.o0": "As a result of the analysis, a string complied with the custom detection rule {0} has been found.",
  "0.http.dacg.conditional.117": "The Improper Log Output Validation vulnerability is included in this version.",
  "0.http.dacg.conditional.117_description": "The Improper Log Output Validation vulnerability is caused by using user inputs as log outputs without verification.",
  "0.http.dacg.conditional.117_effect": "With the vulnerability, an attacker can manipulate log messages printed in an application.",
  "0.http.dacg.conditional.119": "The Memory Pollution vulnerability is included in this version.",
  "0.http.dacg.conditional.119_description": "The Memory Pollution vulnerability is caused by performing a read or write operation to unintended memory buffers.",
  "0.http.dacg.conditional.119_effect": "With the vulnerability, an attacker can execute code, provoke malfunction, and steal sensitive information.",
  "0.http.dacg.conditional.120": "The Buffer Overflow vulnerability is included in this version.",
  "0.http.dacg.conditional.120_description": "The Buffer Overflow vulnerability is caused by overwriting buffer memory.",
  "0.http.dacg.conditional.120_effect": "With the vulnerability, an attacker can overwrite particular values to writing-restricted memories, and provoke malfunction or errors.",
  "0.http.dacg.conditional.122": "The Heap-based Buffer Overflow vulnerability is included in this version.",
  "0.http.dacg.conditional.122_description": "The Heap-based Buffer Overflow vulnerability is caused by overwriting buffer memory which is specified as a heap.",
  "0.http.dacg.conditional.122_effect": "With the vulnerability, an attacker can overwrite particular values to writing-restricted memories, and provoke malfunction or errors.",
  "0.http.dacg.conditional.16": "The Insecure Setting vulnerability is included in this version.",
  "0.http.dacg.conditional.16_description": "The Insecure Setting vulnerability is caused by improper security related setting.",
  "0.http.dacg.conditional.16_effect": "With the vulnerability, an attacker can access, steal or manipulate important information in an application.",
  "0.http.dacg.conditional.183": "The Vulnerable Whitelist vulnerability is included in this version.",
  "0.http.dacg.conditional.183_description": "The Vulnerable Whitelist vulnerability is caused by one or more insecure values specified in an application whitelist.",
  "0.http.dacg.conditional.183_effect": "With the vulnerability, an attacker can search additional security vulnerabilities possible by insecure values of an application whitelist.",
  "0.http.dacg.conditional.185": "The Improper Regular Expression vulnerability is included in this version.",
  "0.http.dacg.conditional.185_description": "The Improper Regular Expression vulnerability is caused by a regular expression to compare or check the specified values.",
  "0.http.dacg.conditional.185_effect": "With the vulnerability, an attacker can bypass security mechanism, such as filtering or verification of regular expressions, and then, provoke application errors from them.",
  "0.http.dacg.conditional.20": "The Improper Input Value Validation vulnerability is included in this version.",
  "0.http.dacg.conditional.200": "The Information Disclosure vulnerability is included in this version.",
  "0.http.dacg.conditional.200_description": "The Information Disclosure vulnerability is caused by viewing unauthorized information.",
  "0.http.dacg.conditional.200_effect": "With the vulnerability, an attacker can steal important information from an application itself or its environment, such as OS or server.",
  "0.http.dacg.conditional.208": "The Information Disclosure through Time Gap vulnerability is included in this version.",
  "0.http.dacg.conditional.208_description": "Information Disclosure through Time Gap vulnerability causes to expose information due to time gaps spending to performing operations.",
  "0.http.dacg.conditional.208_effect": "With the vulnerability, an attacker can view application status information, such as current operation process.",
  "0.http.dacg.conditional.20_description": "The Improper Input Validation vulnerability is caused by lacking verification on a user input.",
  "0.http.dacg.conditional.20_effect": "With the vulnerability, an attacker can input unintended values to manipulate flow controls, force accesses to resources, and run desired code.",
  "0.http.dacg.conditional.22": "The Path Detection vulnerability is included in the version.",
  "0.http.dacg.conditional.22_description": "The Path Detection vulnerability is caused by using a user input without verification in configuring file system paths.",
  "0.http.dacg.conditional.22_effect": "With the vulnerability, an attacker can access to files on unauthorized paths, and steal or manipulate important information within the files.",
  "0.http.dacg.conditional.269": "The Improper Privilege Management vulnerability is included in this version.",
  "0.http.dacg.conditional.269_description": "Improper Privilege Management vulnerability is caused to grant unauthorized permission to a user.",
  "0.http.dacg.conditional.269_effect": "With the vulnerability, an attacker can elevate his permission abnormally to view and manipulate unauthorized information.",
  "0.http.dacg.conditional.284": "The Improper Access Control vulnerability is included in this version.",
  "0.http.dacg.conditional.284_description": "The Improper Access Control vulnerability is caused by lacking access control to resources.",
  "0.http.dacg.conditional.284_effect": "With the vulnerability, an attacker can access unauthorized resources by acquiring permissions, gaining important information, running commands, and evading detections.",
  "0.http.dacg.conditional.285": "The Improper Authorization vulnerability is included in this version.",
  "0.http.dacg.conditional.285_description": "The Improper Authorization vulnerability is caused by lacking authorization verification for a user.",
  "0.http.dacg.conditional.285_effect": "With the vulnerability, an attacker can steal and manipulate important information without required permissions.",
  "0.http.dacg.conditional.287": "The Improper Authentication vulnerability is included in this version.",
  "0.http.dacg.conditional.287_description": "The Improper Authentication vulnerability is caused by lacking identity authentication for a user.",
  "0.http.dacg.conditional.287_effect": "With the vulnerability, an attacker can fabricate an identity, and steal or manipulate important information with a user permission.",
  "0.http.dacg.conditional.295": "The Improper Certificate Validation vulnerability is included in this version.",
  "0.http.dacg.conditional.295_description": "The Improper Certificate Validation vulnerability is caused by lacking verification for a certificate.",
  "0.http.dacg.conditional.295_effect": "With the vulnerability, an attacker can fabricate a reliable host with a malicious one, and induce a user to send important information.",
  "0.http.dacg.conditional.297": "The Improper Certificate and Host Mismatch Validation vulnerability is included in this version.",
  "0.http.dacg.conditional.297_description": "The Improper Certificate and Host Mismatch Validation vulnerability is caused by lacking verification for a connection between a certificate and its host when communicating with the host.",
  "0.http.dacg.conditional.297_effect": "With the vulnerability, an attacker can fabricate a reliable host with a malicious one, and induce a user to send important information.",
  "0.http.dacg.conditional.300": "The Channel Accessible from Non-endpoint Location vulnerability is included in this version.",
  "0.http.dacg.conditional.300_description": "The Channel Accessible from Non-endpoint Location vulnerability is caused by lacking identity verification for terminals of a communication channel.",
  "0.http.dacg.conditional.300_effect": "With the vulnerability, an attacker can interfere or affect this communication through man-in-the-middle attacks, not from terminals.",
  "0.http.dacg.conditional.319": "The Sensitive Information Sending in Plain Text vulnerability is included in this version.",
  "0.http.dacg.conditional.319_description": "The Sensitive Information Sending in Plain Text vulnerability is caused by sending sensitive or security-important information without encryption.",
  "0.http.dacg.conditional.319_effect": "With the vulnerability, an attacker can steal sensitive or security-important information on communication process.",
  "0.http.dacg.conditional.330": "The Use of Insufficiently Random Values vulnerability is included in this version.",
  "0.http.dacg.conditional.330_description": "The Use of Insufficiently Random Values vulnerability is caused by using predictable random values for next values.",
  "0.http.dacg.conditional.330_effect": "With the vulnerability, an attacker can predict random values generated by an application, fabricate a user, and steal sensitive information.",
  "0.http.dacg.conditional.347": "The Improper Electronic Signature Validation vulnerability is included in this version.",
  "0.http.dacg.conditional.347_description": "The Improper Electronic Signature Validation vulnerability is caused by lacking signature verification for specified data.",
  "0.http.dacg.conditional.347_effect": "With the vulnerability, an attacker can force to use unreliable data in an application, which allows him additional attacks.",
  "0.http.dacg.conditional.352": "The Cross-site Request Forgery vulnerability is included in this version.",
  "0.http.dacg.conditional.352_description": "The Cross-site Request Forgery vulnerability is caused by lacking identity authentication for a user who sent a request.",
  "0.http.dacg.conditional.352_effect": "With the vulnerability, an attacker can force a user to perform desired actions, such as registering, modifying, or deleting important information.",
  "0.http.dacg.conditional.358": "The Improperly Implemented Security Check for Standard vulnerability is included in this version.",
  "0.http.dacg.conditional.358_description": "The Improperly Implemented Security Check for Standard vulnerability is caused by improper implementation of at least one security verification based on a standardized algorithm, protocol, or technique.",
  "0.http.dacg.conditional.358_effect": "With the vulnerability, an attacker can bypass security checks to perform attacks, such as fabricating identities, tampering messages, or stealing and manipulating important information.",
  "0.http.dacg.conditional.367": "The Time-of-check Time-of-use (TOCTOU) Race Condition vulnerability is included in this version.",
  "0.http.dacg.conditional.367_description": "The Time-of-check Time-of-use (TOCTOU) Race Condition vulnerability is caused by changing resource status from outside between a check point, that is, before using the resource, and a use point.",
  "0.http.dacg.conditional.367_effect": "With the vulnerability, an attacker can provoke unintended actions in an application.",
  "0.http.dacg.conditional.377": "The Insecure Temporary File vulnerability is included in this version.",
  "0.http.dacg.conditional.377_description": "The Insecure Temporary File vulnerability is caused by insufficiently handling temporary files used in an application.",
  "0.http.dacg.conditional.377_effect": "With the vulnerability, an attacker can steal important information by accessing temporary files.",
  "0.http.dacg.conditional.400": "The Improper Resource Consumption Control vulnerability is included in this version.",
  "0.http.dacg.conditional.400_description": "The Improper Resource Consumption Control vulnerability is caused by insufficient allocation and maintenance of limited resources.",
  "0.http.dacg.conditional.400_effect": "With the vulnerability, an attacker can arrange resources spent on an application, and eventually consume all available resources.",
  "0.http.dacg.conditional.434": "The Unlimited File Upload vulnerability is included in this version.",
  "0.http.dacg.conditional.434_description": "The Unlimited File Upload vulnerability is caused by uploading insecure types of files into an application.",
  "0.http.dacg.conditional.434_effect": "With the vulnerability, an attacker can execute malicious code in an application environment, and provoke malfunction with files which cannot be handled by an application.",
  "0.http.dacg.conditional.502": "The Deserialization of Untrusted Data vulnerability is included in this version.",
  "0.http.dacg.conditional.502_description": "The Deserialization of Untrusted Data vulnerability is caused by lacking validation for the deserialization result of unreliable data.",
  "0.http.dacg.conditional.502_effect": "With the vulnerability, an attacker can manipulate serialized data, then deserialize and use it in an application.",
  "0.http.dacg.conditional.506": "The Embedded Malicious Code vulnerability is included in this version.",
  "0.http.dacg.conditional.506_description": "The Embedded Malicious Code vulnerability is caused by malicious code in an application.",
  "0.http.dacg.conditional.506_effect": "With the vulnerability, an attacker can use malicious code to steal and manipulate important information, consume resources, or execute desired code.",
  "0.http.dacg.conditional.522": "The Insufficiently Protected Credentials vulnerability is included in this version.",
  "0.http.dacg.conditional.522_description": "The Insufficiently Protected Credentials vulnerability is caused by lacking protection to sending or storing credentials.",
  "0.http.dacg.conditional.522_effect": "With the vulnerability, an attacker can steal and fabricate credentials.",
  "0.http.dacg.conditional.532": "The Inclusion of Sensitive Information in Log Files vulnerability is included in this version.",
  "0.http.dacg.conditional.532_description": "The Inclusion of Sensitive Information in Log Files vulnerability is caused by sensitive information of log files generated in an application.",
  "0.http.dacg.conditional.532_effect": "With the vulnerability, an attacker can steal important information within the log files.",
  "0.http.dacg.conditional.59": "The Link Tracking vulnerability is included in this version.",
  "0.http.dacg.conditional.59_description": "The Link Tracking vulnerability is caused by accessing to unauthorized files through links.",
  "0.http.dacg.conditional.59_effect": "With the vulnerability, an attacker can access unauthorized files, and steal or manipulate important information in them.",
  "0.http.dacg.conditional.601": "The Unvalidated Redirects vulnerability is included in this version.",
  "0.http.dacg.conditional.601_description": "The Unvalidated Redirects vulnerability is caused by using user inputs to configure external sites without verification.",
  "0.http.dacg.conditional.601_effect": "With the vulnerability, an attacker can send URLs, and then induce a user browse to malicious sites.",
  "0.http.dacg.conditional.61": "The Symbolic Link Following vulnerability has been found in the version.",
  "0.http.dacg.conditional.611": "The XXE Injection vulnerability is included in this version.",
  "0.http.dacg.conditional.611_description": "The XXE Injection vulnerability is caused by using user inputs without verification when including XML external elements in handling XML documents.",
  "0.http.dacg.conditional.611_effect": "With the vulnerability, an attacker can include sensitive server files of an application to XML document outputs, or force an application to consume all available resources.",
  "0.http.dacg.conditional.61_description": "The Symbolic Link Following vulnerability is caused by accessing unauthorized files through symbolic links.",
  "0.http.dacg.conditional.61_effect": "With the vulnerability, an attacker can access unauthorized files, and steal or manipulate important information in them.",
  "0.http.dacg.conditional.640": "The Weak Password Recovery Mechanism vulnerability is included in this version.",
  "0.http.dacg.conditional.640_description": "Weak Password Recovery Mechanism is caused by a password recovery mechanism for forgotten password set too simple or easily bypassed.",
  "0.http.dacg.conditional.640_effect": "With the vulnerability, an attacker can steal a user's password.",
  "0.http.dacg.conditional.643_description": "The XPath Injection vulnerability is caused by using user inputs to generate XPath expression without verification.",
  "0.http.dacg.conditional.643_effect": "With the vulnerability, an attacker can manipulate XPath expression structures, deactivate application security system, and steal important information.",
  "0.http.dacg.conditional.693": "The Protection Mechanism Failure vulnerability is included in this version.",
  "0.http.dacg.conditional.693_description": "The Protection Mechanism Failure vulnerability is caused by missing or insufficiently using a protection mechanism that provides sufficient protection.",
  "0.http.dacg.conditional.693_effect": "With the vulnerability, an attacker can succeed attacks defensible with security mechanism.",
  "0.http.dacg.conditional.697": "The Incorrect Comparison vulnerability is included in this version.",
  "0.http.dacg.conditional.697_description": "The Incorrect Comparison vulnerability is caused by performing incorrect comparison in security important consequences.",
  "0.http.dacg.conditional.697_effect": "With the vulnerability, an attacker can deactivate application security system, and steal important information by using the incorrect comparison result.",
  "0.http.dacg.conditional.78": "The OS Command Injection vulnerability is included in this version.",
  "0.http.dacg.conditional.78_description": "The OS Command Injection vulnerability is caused by using user inputs to configure OS commands without verification.",
  "0.http.dacg.conditional.78_effect": "With the vulnerability, an attacker can execute commands sent to a server, elevate his permission abnormally, and access to unauthorized resources.",
  "0.http.dacg.conditional.79": "The Cross-site Scripting vulnerability is included in this version.",
  "0.http.dacg.conditional.790": "The Improper Filtering for Special Elements vulnerability is included in this version.",
  "0.http.dacg.conditional.790_description": "The Improper Filtering for Special Elements vulnerability is caused by using special elements of user inputs without verification.",
  "0.http.dacg.conditional.790_effect": "With the vulnerability, an attacker can provoke malfunction due to special elements which cannot be handled by an application.",
  "0.http.dacg.conditional.79_description": "The Cross-site Scripting vulnerability is caused by using user inputs to configure web pages without verification.",
  "0.http.dacg.conditional.79_effect": "With the vulnerability, an attacker can execute injected scripts on a web page, and steal important information, such as user sessions.",
  "0.http.dacg.conditional.89": "The SQL Injection vulnerability is included in this version.",
  "0.http.dacg.conditional.89_description": "The SQL Injection vulnerability is caused by using user inputs to configure SQL commands without verification.",
  "0.http.dacg.conditional.89_effect": "With the vulnerability, an attacker can manipulate SQL commands, deactivate application security system, and steal important information.",
  "0.http.dacg.conditional.90": "The LDAP Injection vulnerability is included in this version.",
  "0.http.dacg.conditional.90_description": "The LDAP Injection vulnerability is caused by using user inputs to configure LDAP query statements without verification.",
  "0.http.dacg.conditional.90_effect": "With the vulnerability, an attacker can manipulate LDAP commands, deactivate application security system, and steal important information.",
  "0.http.dacg.conditional.91": "The XPath Injection vulnerability is included in this version.",
  "0.http.dacg.conditional.916": "The Use of Password Hash with Insufficient Computational Effort vulnerability is included in this version.",
  "0.http.dacg.conditional.916_description": "The Use of Password Hash with Insufficient Computational Effort vulnerability is caused by lacking calculation for unpredictable passwords or hash values when generating hash values for passwords.",
  "0.http.dacg.conditional.916_effect": "With the vulnerability, an attacker can calculate a password or hash value, and gain its result.",
  "0.http.dacg.conditional.93": "The CRLF (Carriage Return Line Feeds) Injection vulnerability is included in this version.",
  "0.http.dacg.conditional.93_description": "The CRLF Injection vulnerability is caused by including user inputs to CRLF (Carriage Return Line Feeds) without verification when using it as special characters.",
  "0.http.dacg.conditional.93_effect": "With the vulnerability, an attacker can use CRLFs to send input values, and provoke malfunction in log messages or HTTP response messages.",
  "0.http.dacg.conditional.94": "The Code Injection vulnerability is included in this version.",
  "0.http.dacg.conditional.942": "The Overly Permissive Cross-domain Whitelist vulnerability is included in this version.",
  "0.http.dacg.conditional.942_description": "Overly Permissive Cross-domain Whitelist is caused by including unreliable domains, such as wildcards, to a cross-domain policy file.",
  "0.http.dacg.conditional.942_effect": "With the vulnerability, an attacker can try attacks from outside despite its cross domain policy.",
  "0.http.dacg.conditional.94_description": "Code Injection is caused by sending desired code in application code segments.",
  "0.http.dacg.conditional.94_effect": "With the vulnerability, an attacker can provoke server malfunction by executing malicious code included in code segments.",
  "0.http.dacg.conditional.95": "The Eval Injection vulnerability is included in this version.",
  "0.http.dacg.conditional.95_description": "The Eval Injection vulnerability is caused by using user inputs as arguments without verification when calling Eval() functions.",
  "0.http.dacg.conditional.95_effect": "With the vulnerability, an attacker can manipulate or execute desired code in application.",
  "0.http.dacg.conditional.98": "The PHP Remote File Inclusion vulnerability is included in this version.",
  "0.http.dacg.conditional.98_description": "The PHP Remote File Inclusion vulnerability is caused by using user inputs to configure external document paths including current pages of a PHP application without verification.",
  "0.http.dacg.conditional.98_effect": "With the vulnerability, an attacker can manipulate or execute desired code in application.",
  "0.http.dacg.conditional.iis": "Your current version of Internet Information Service (IIS) is required to be replaced by another web server software.",
  "0.http.dacg.conditional.mvn_no_recommendation": "Your current version of {0} Java library is required to be replaced by another Java library.",
  "0.http.dacg.conditional.mvn_recommendation": "Your current version of {0} Java library is required to update into {1}.",
  "0.http.dacg.conditional.npm_no_recommendation": "Your current version of {0} JavaScript library is required to be replaced by another JavaScript library.",
  "0.http.dacg.conditional.npm_recommendation": "Your current version of {0} JavaScript library is required to update into {1}.",
  "0.http.dacg.conditional.wp_core_no_recommendation": "Your current version of WordPress is required to be replaced by another Content Management System (CMS).",
  "0.http.dacg.conditional.wp_core_recommendation": "Your current version of WordPress is required to update into {0}.",
  "0.http.dacg.conditional.wp_plugin_no_recommendation": "Your current version of {0} WordPress is required to be replaced by another web server software.",
  "0.http.dacg.conditional.wp_plugin_recommendation": "Your current version of {0} WordPress Plug-in is required to update into {1}.",
  "0.http.dacg.conditional.wp_theme_no_recommendation": "Your current version of {0} WordPress theme is required to be replaced by another web server software.",
  "0.http.dacg.conditional.wp_theme_recommendation": "Your current version of {0} WordPress theme is required to update into {1}.",
  "0.http.dacg.iis_server.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "0.http.dacg.iis_server.attack.s0.o1": "{0}",
  "0.http.dacg.iis_server.attack.s0.o2": "{0}",
  "0.http.dacg.iis_server.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "0.http.dacg.iis_server.result.s0.o1": "{0}",
  "0.http.dacg.iis_server.result.s1.o0": "The following string has been found in the HTTP response header:",
  "0.http.dacg.iis_server.result.s1.o1": "{0}",
  "0.http.dacg.iis_server.result.s2.o0": "As a result of the analysis, the {0} version of Internet Information Service (IIS) has been found to be used on the server.",
  "0.http.dacg.iis_server.solution.s0.o0": " ",
  "0.http.dacg.iis_webdav.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "0.http.dacg.iis_webdav.attack.s0.o1": "{0}",
  "0.http.dacg.iis_webdav.attack.s0.o2": "{0}",
  "0.http.dacg.iis_webdav.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "0.http.dacg.iis_webdav.result.s0.o1": "{0}",
  "0.http.dacg.iis_webdav.result.s1.o0": "The following string has been found in the HTTP response header:",
  "0.http.dacg.iis_webdav.result.s1.o1": "{0}",
  "0.http.dacg.iis_webdav.result.s1.o2": "In addition, an HTTP response status code is {0}.",
  "0.http.dacg.iis_webdav.result.s2.o0": "As a result of the analysis, the {0} version of Internet Information Service (IIS) has been found to be used and WebDAV has been found to be operated on the server.",
  "0.http.dacg.iis_webdav.solution.s0.o0": " ",
  "0.http.dacg.mvn.attack.s0.o0": "Checked the Java library used in a server.",
  "0.http.dacg.mvn.result.s0.o0": "As a result of the test for a Java library used in a server, {0} library has been found to be used.",
  "0.http.dacg.mvn.result.s0.o1": "The version of this library is {0}, and a hash value of its file is {1}.",
  "0.http.dacg.mvn.result.s1.o0": "As a result of the analysis, a library with following vulnerabilities has been found to be used on the server.",
  "0.http.dacg.mvn.solution.s0.o0": " ",
  "0.http.dacg.npm.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "0.http.dacg.npm.attack.s0.o1": "{0}",
  "0.http.dacg.npm.attack.s0.o2": "{0}",
  "0.http.dacg.npm.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "0.http.dacg.npm.result.s0.o1": "{0}",
  "0.http.dacg.npm.result.s1.o0": "The following string has been found in the HTTP response body:",
  "0.http.dacg.npm.result.s1.o1": "{0}",
  "0.http.dacg.npm.result.s2.o0": "As a result of the analysis, the {0} version of {1} JavaScript library has been found to be used on the server.",
  "0.http.dacg.npm.solution.s0.o0": " ",
  "0.http.dacg.technote.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "0.http.dacg.technote.attack.s0.o1": "{0}",
  "0.http.dacg.technote.attack.s0.o2": "{0}",
  "0.http.dacg.technote.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "0.http.dacg.technote.result.s0.o1": "{0}",
  "0.http.dacg.technote.result.s1.o0": "The following string has been found in the HTTP response body:",
  "0.http.dacg.technote.result.s1.o1": "{0}",
  "0.http.dacg.technote.result.s2.o0": "As a result of the analysis, the {0} version of Technote has been found to be used on the server.",
  "0.http.dacg.technote.solution.s0.o0": "Your current version of Technote is deprecated and required to be replaced by another Content Management System (CMS).",
  "0.http.dacg.wp_active_core.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "0.http.dacg.wp_active_core.attack.s0.o1": "{0}",
  "0.http.dacg.wp_active_core.attack.s0.o2": "{0}",
  "0.http.dacg.wp_active_core.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "0.http.dacg.wp_active_core.result.s0.o1": "{0}",
  "0.http.dacg.wp_active_core.result.s1.o0": "The following string has been found in the HTTP response body:",
  "0.http.dacg.wp_active_core.result.s1.o1": "{0}",
  "0.http.dacg.wp_active_core.result.s2.o0": "As a result of the analysis, the {0} version of WordPress has been found to be used on the server.",
  "0.http.dacg.wp_active_core.solution.s0.o0": " ",
  "0.http.dacg.wp_passive_core.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "0.http.dacg.wp_passive_core.attack.s0.o1": "{0}",
  "0.http.dacg.wp_passive_core.attack.s0.o2": "{0}",
  "0.http.dacg.wp_passive_core.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "0.http.dacg.wp_passive_core.result.s0.o1": "{0}",
  "0.http.dacg.wp_passive_core.result.s1.o0": "The following string has been found in the HTTP response body:",
  "0.http.dacg.wp_passive_core.result.s1.o1": "{0}",
  "0.http.dacg.wp_passive_core.result.s2.o0": "As a result of the analysis, the {0} version of WordPress has been found to be used on the server.",
  "0.http.dacg.wp_passive_core.solution.s0.o0": " ",
  "0.http.dacg.wp_passive_plugin.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "0.http.dacg.wp_passive_plugin.attack.s0.o1": "{0}",
  "0.http.dacg.wp_passive_plugin.attack.s0.o2": "{0}",
  "0.http.dacg.wp_passive_plugin.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "0.http.dacg.wp_passive_plugin.result.s0.o1": "{0}",
  "0.http.dacg.wp_passive_plugin.result.s1.o0": "The following string has been found in the HTTP response body:",
  "0.http.dacg.wp_passive_plugin.result.s1.o1": "{0}",
  "0.http.dacg.wp_passive_plugin.result.s2.o0": "As a result of the analysis, the {0} version of {1} WordPress Plug-in has been found to be used on the server.",
  "0.http.dacg.wp_passive_plugin.solution.s0.o0": " ",
  "0.http.dacg.wp_passive_theme.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "0.http.dacg.wp_passive_theme.attack.s0.o1": "{0}",
  "0.http.dacg.wp_passive_theme.attack.s0.o2": "{0}",
  "0.http.dacg.wp_passive_theme.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "0.http.dacg.wp_passive_theme.result.s0.o1": "{0}",
  "0.http.dacg.wp_passive_theme.result.s1.o0": "The following string has been found in the HTTP response body:",
  "0.http.dacg.wp_passive_theme.result.s1.o1": "{0}",
  "0.http.dacg.wp_passive_theme.result.s2.o0": "As a result of the analysis, the {0} version of {1} WordPress theme has been found to be used on the server.",
  "0.http.dacg.wp_passive_theme.solution.s0.o0": " ",
  "0.http.dacg.zeroboard.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "0.http.dacg.zeroboard.attack.s0.o1": "{0}",
  "0.http.dacg.zeroboard.attack.s0.o2": "{0}",
  "0.http.dacg.zeroboard.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "0.http.dacg.zeroboard.result.s0.o1": "{0}",
  "0.http.dacg.zeroboard.result.s1.o0": "The following string has been found in the HTTP response body:",
  "0.http.dacg.zeroboard.result.s1.o1": "{0}",
  "0.http.dacg.zeroboard.result.s2.o0": "As a result of the analysis, the {0} version of Zeroboard has been found to be used on the server.",
  "0.http.dacg.zeroboard.solution.s0.o0": "Your current version of Zeroboard is required to update into XpressEngine.",
  "0.http.dast.sw.common.6495.match.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.6495.match.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.6495.match.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.6495.match.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.dast.sw.common.6495.match.result.s0.o0": "The status code of the response is {0}.\n",
  "0.http.dast.sw.common.6495.match.result.s1.o0": "The following string has been found in the response body:",
  "0.http.dast.sw.common.6495.match.result.s1.o1": "{0}",
  "0.http.dast.sw.common.6495.match.result.s2.o0": "The analysis confirms that the admin page can be accessed.",
  "0.http.dast.sw.common.6495.match.solution.s0.o0": "To secure the administrator interface, comply rules for the admin page below and specify a hard-to-guess path to separate with pages for common users.",
  "0.http.dast.sw.common.6495.match.solution.s1.o0": "1. Fobid words related to the administrator, such as admin, manager, adm, system",
  "0.http.dast.sw.common.6495.match.solution.s2.o0": "2. prohibit the use of default index filenames such as index, default, etc.\n",
  "0.http.dast.sw.common.6495.match.solution.s3.o0": "3. disable the use of the default index page on the web server, so that the page can only be reached when the correct path is entered\n",
  "0.http.dast.sw.common.6495.match.solution.s4.o0": "4. use at least 2 levels of path depth\n",
  "0.http.dast.sw.common.6495.match.solution.s5.o0": "5. Change to a hard-to-guess port (i.e. forbidden to use 8080, or 8888)",
  "0.http.dast.sw.common.6496.match.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.6496.match.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.6496.match.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.6496.match.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.dast.sw.common.6496.match.result.s0.o0": "The status code of the response is {0}.\n",
  "0.http.dast.sw.common.6496.match.result.s1.o0": "The following URL is the final destination for the response.",
  "0.http.dast.sw.common.6496.match.result.s1.o1": "{0}",
  "0.http.dast.sw.common.6496.match.result.s2.o0": "The following string has been found in the response body:",
  "0.http.dast.sw.common.6496.match.result.s2.o1": "{0}",
  "0.http.dast.sw.common.6496.match.result.s3.o0": "The analysis result shows that the admin page is aceessable, and security measures, such as SSL setting, are not applied while accessing to the page.",
  "0.http.dast.sw.common.6496.match.solution.s0.o0": "To secure the administrator interface, comply rules for the admin page below and specify a hard-to-guess path to separate with pages for common users.\n",
  "0.http.dast.sw.common.6496.match.solution.s1.o0": "1. Fobid words related to the administrator, such as admin, manager, adm, system\n",
  "0.http.dast.sw.common.6496.match.solution.s2.o0": "2. prohibit the use of default index filenames such as index, default, etc.\n",
  "0.http.dast.sw.common.6496.match.solution.s3.o0": "3. disable the use of the default index page on the web server, so that the page can only be reached when the correct path is entered\n",
  "0.http.dast.sw.common.6496.match.solution.s4.o0": "4. use at least 2 levels of path depth\n",
  "0.http.dast.sw.common.6496.match.solution.s5.o0": "5. Change to a hard-to-guess port (i.e. forbidden to use 8080, or 8888)",
  "0.http.dast.sw.common.6501.both.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.6501.both.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.6501.both.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.6501.both.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.dast.sw.common.6501.both.result.s0.o0": "The header named {0} in the response has the following value.",
  "0.http.dast.sw.common.6501.both.result.s0.o1": "{0}",
  "0.http.dast.sw.common.6501.both.result.s1.o0": "The header named {0} in the response has the following value.",
  "0.http.dast.sw.common.6501.both.result.s1.o1": "{0}",
  "0.http.dast.sw.common.6501.both.result.s2.o0": "The analysis shows that the CORS setting is invalid.",
  "0.http.dast.sw.common.6501.both.solution.s0.o0": "If you have CORS enabled, you should avoid access control that relies solely on the `Access-Control-Allow-Origin` or `Access-Control-Allow-Credentials` headers because the Origin header can be manipulated to trigger requests.\n",
  "0.http.dast.sw.common.6501.both.solution.s0.o1": "For example, you can write a CORS regular expression like this.",
  "0.http.dast.sw.common.6501.both.solution.s0.o2": "{0}",
  "0.http.dast.sw.common.6501.credentials.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.6501.credentials.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.6501.credentials.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.6501.credentials.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.dast.sw.common.6501.credentials.result.s0.o0": "The header named {0} in the response has the following value.",
  "0.http.dast.sw.common.6501.credentials.result.s0.o1": "{0}",
  "0.http.dast.sw.common.6501.credentials.result.s1.o0": "The analysis shows that the CORS setting is invalid.",
  "0.http.dast.sw.common.6501.credentials.solution.s0.o0": "If you have CORS enabled, you should avoid access control that relies solely on the `Access-Control-Allow-Origin` or `Access-Control-Allow-Credentials` headers because the Origin header can be manipulated to trigger requests.\n",
  "0.http.dast.sw.common.6501.credentials.solution.s0.o1": "For example, you can write a CORS regular expression like this.",
  "0.http.dast.sw.common.6501.credentials.solution.s0.o2": "{0}",
  "0.http.dast.sw.common.6501.origin.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.6501.origin.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.6501.origin.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.6501.origin.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.dast.sw.common.6501.origin.result.s0.o0": "The header named {0} in the response has the following value.",
  "0.http.dast.sw.common.6501.origin.result.s0.o1": "{0}",
  "0.http.dast.sw.common.6501.origin.result.s1.o0": "The analysis shows that the CORS setting is invalid.",
  "0.http.dast.sw.common.6501.origin.solution.s0.o0": "If you have CORS enabled, you should avoid access control that relies solely on the `Access-Control-Allow-Origin` or `Access-Control-Allow-Credentials` headers because the Origin header can be manipulated to trigger requests.\n",
  "0.http.dast.sw.common.6501.origin.solution.s0.o1": "For example, you can write a CORS regular expression like this.",
  "0.http.dast.sw.common.6501.origin.solution.s0.o2": "{0}",
  "0.http.dast.sw.common.6503.match.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.6503.match.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.6503.match.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.6503.match.attack.s0.o3": "The response body for the request have been checked.",
  "0.http.dast.sw.common.6503.match.result.s0.o0": "The following string has been found in the response body:",
  "0.http.dast.sw.common.6503.match.result.s0.o1": "{0}",
  "0.http.dast.sw.common.6503.match.result.s0.o2": "That string is an error message printed out from DBMS.\n",
  "0.http.dast.sw.common.6503.match.result.s0.o3": "The analysis confirms that there was insufficient filtering for dangerous characters that could potentially cause SQL injection.",
  "0.http.dast.sw.common.6503.match.solution.s0.o0": "The malicious SQL query allows an attacker to view or manipulate DBMS or data. Make sure to filter out user inputs. Special characters, such as ', ;, --, #, /* */, might cause the SQL injection. Do not use them in user inputs.\n\n",
  "0.http.dast.sw.common.6503.match.solution.s0.o1": "Java :",
  "0.http.dast.sw.common.6503.match.solution.s0.o2": "{0}",
  "0.http.dast.sw.common.6503.match.solution.s0.o3": "JSP :",
  "0.http.dast.sw.common.6503.match.solution.s0.o4": "{0}",
  "0.http.dast.sw.common.6503.match.solution.s0.o5": "PHP :",
  "0.http.dast.sw.common.6503.match.solution.s0.o6": "{0}",
  "0.http.dast.sw.common.6504.time_based.attack.s0.o0": "The first request has been sent as below. It is assume that the request brings delays on processing SQL queries. ",
  "0.http.dast.sw.common.6504.time_based.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.6504.time_based.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.6504.time_based.attack.s0.o3": "The second request has been sent as below. It is assume that the request brings no delay on processing SQL queries. ",
  "0.http.dast.sw.common.6504.time_based.attack.s0.o4": "{0}",
  "0.http.dast.sw.common.6504.time_based.attack.s0.o5": "{0}",
  "0.http.dast.sw.common.6504.time_based.attack.s0.o6": "The status code and response body for the request have been checked.",
  "0.http.dast.sw.common.6504.time_based.result.s0.o0": "The status code of the response is {0}.\n",
  "0.http.dast.sw.common.6504.time_based.result.s0.o1": "Time to get a response for the first request: {0} seconds.\n",
  "0.http.dast.sw.common.6504.time_based.result.s0.o2": "Time to get a response for the second request: {0} seconds.\n",
  "0.http.dast.sw.common.6504.time_based.result.s0.o3": "Delayed time to get a response for the first request: {0} seconds.\n",
  "0.http.dast.sw.common.6504.time_based.result.s0.o4": "The analysis confirms that time-based blind SQL injection attacks are possible.",
  "0.http.dast.sw.common.6504.time_based.solution.s0.o0": "The malicious SQL query allows an attacker to view or manipulate DBMS or data. Make sure to filter out user inputs. Special characters, such as ', ;, --, #, /* */, might cause the SQL injection. Do not use them in user inputs.\n\n",
  "0.http.dast.sw.common.6504.time_based.solution.s0.o1": "Java :",
  "0.http.dast.sw.common.6504.time_based.solution.s0.o2": "{0}",
  "0.http.dast.sw.common.6504.time_based.solution.s0.o3": "JSP :",
  "0.http.dast.sw.common.6504.time_based.solution.s0.o4": "{0}",
  "0.http.dast.sw.common.6504.time_based.solution.s0.o5": "PHP :",
  "0.http.dast.sw.common.6504.time_based.solution.s0.o6": "{0}",
  "0.http.dast.sw.common.6505.unix.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.6505.unix.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.6505.unix.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.6505.unix.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.dast.sw.common.6505.unix.result.s0.o0": "The status code of the response is {0}.\n",
  "0.http.dast.sw.common.6505.unix.result.s1.o0": "The following string has been found in the response body:",
  "0.http.dast.sw.common.6505.unix.result.s1.o1": "{0}",
  "0.http.dast.sw.common.6505.unix.result.s2.o0": "The analysis confirms that Unix OS command attacks are possible.",
  "0.http.dast.sw.common.6505.unix.solution.s0.o0": "The operating system commands should not to be directly called in the application.\n",
  "0.http.dast.sw.common.6505.unix.solution.s1.o0": "If you need to call a command directly, you must perform input validation checks before the data is passed to the OS's command interpreter.\n",
  "0.http.dast.sw.common.6505.unix.solution.s2.o0": "The following special characters of parameter received from users require to be filtered out.",
  "0.http.dast.sw.common.6505.unix.solution.s3.o1": "{0}",
  "0.http.dast.sw.common.6505.windows.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.6505.windows.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.6505.windows.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.6505.windows.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.dast.sw.common.6505.windows.result.s0.o0": "The status code of the response is {0}.\n",
  "0.http.dast.sw.common.6505.windows.result.s1.o0": "The following string has been found in the response body:",
  "0.http.dast.sw.common.6505.windows.result.s1.o1": "{0}",
  "0.http.dast.sw.common.6505.windows.result.s2.o0": "The analysis confirms that Windows OS command attacks are possible.",
  "0.http.dast.sw.common.6505.windows.solution.s0.o0": "The operating system commands should not to be directly called in the application.\n",
  "0.http.dast.sw.common.6505.windows.solution.s1.o0": "If you need to call a command directly, you must perform input validation checks before the data is passed to the OS's command interpreter.\n",
  "0.http.dast.sw.common.6505.windows.solution.s2.o0": "The following special characters of parameter received from users require to be filtered out.",
  "0.http.dast.sw.common.6505.windows.solution.s3.o1": "{0}",
  "0.http.dast.sw.common.6506.match.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.6506.match.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.6506.match.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.6506.match.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.dast.sw.common.6506.match.result.s0.o0": "The following string has been found in the response body:",
  "0.http.dast.sw.common.6506.match.result.s0.o1": "{0}",
  "0.http.dast.sw.common.6506.match.result.s1.o0": "The string shows that an error has occurred while processing the XPath.\n",
  "0.http.dast.sw.common.6506.match.result.s2.o0": "The analysis confirms that the XPath injection vulnerabilities can be found.",
  "0.http.dast.sw.common.6506.match.solution.s0.o0": "Based on characteristics of the services, convert data into XML: while managing settings or code information with XML files, inputs used for the XML queries require validation.\n",
  "0.http.dast.sw.common.6506.match.solution.s0.o1": "The following special characters of parameter received from users require to be filtered out.",
  "0.http.dast.sw.common.6506.match.solution.s0.o2": "{0}",
  "0.http.dast.sw.common.6506.match.solution.s1.o2": "As with SQL Injection, you must perform validation on all values entered into the XPATH query.",
  "0.http.dast.sw.common.6508.match.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.6508.match.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.6508.match.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.6508.match.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.dast.sw.common.6508.match.result.s0.o0": "The status code of the response is {0}.\n",
  "0.http.dast.sw.common.6508.match.result.s1.o0": "The following string has been found in the response body:",
  "0.http.dast.sw.common.6508.match.result.s2.o0": "{0}",
  "0.http.dast.sw.common.6508.match.result.s3.o0": "As a result of analysis, it is confirmed the possibility of XXE injection.",
  "0.http.dast.sw.common.6508.match.solution.s0.o0": "For XML handler in the server, it is recommend to set disable the Document Type Definitions (DTDs).\n",
  "0.http.dast.sw.common.6508.match.solution.s0.o1": "Validation of file paths on the server that are inserted via XML should be implemented to prevent the use of information from unauthorized paths. (Positive approach)\n",
  "0.http.dast.sw.common.6508.match.solution.s0.o2": "The following URLs should be used as a guide for implementing protection against XXE attacks when using an XML parser.\n",
  "0.http.dast.sw.common.6508.match.solution.s0.o3": "{0}",
  "0.http.dast.sw.common.6509.match.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.6509.match.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.6509.match.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.6509.match.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.dast.sw.common.6509.match.result.s0.o0": "The status code of the response is {0}.\n",
  "0.http.dast.sw.common.6509.match.result.s1.o0": "The following string has been found in the response body:",
  "0.http.dast.sw.common.6509.match.result.s1.o1": "{0}",
  "0.http.dast.sw.common.6509.match.result.s2.o0": "The analysis confirms that SSI injection attacks are possible.",
  "0.http.dast.sw.common.6509.match.solution.s0.o0": "The user input requires to be validated, and a whitelist of allowed characters needs to be included in its logic.\n",
  "0.http.dast.sw.common.6509.match.solution.s0.o1": "Special characters, such as ‘<’, ‘>’, ‘”’, ‘(’, ‘)’, ‘#’, ‘&’, require to be processed as common characters, instead of execuables, as below.",
  "0.http.dast.sw.common.6509.match.solution.s0.o2": "{0}",
  "0.http.dast.sw.common.6509.match.solution.s0.o3": "Also, whene the SSI is not required for the web application, add the following settings.\n",
  "0.http.dast.sw.common.6509.match.solution.s0.o4": "Apache settings (httpd.conf)",
  "0.http.dast.sw.common.6509.match.solution.s0.o5": "{0}",
  "0.http.dast.sw.common.6511.match.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.6511.match.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.6511.match.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.6511.match.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.dast.sw.common.6511.match.result.s0.o0": "The status code of the response is {0}.\n",
  "0.http.dast.sw.common.6511.match.result.s1.o0": "The following string has been found in the response body:",
  "0.http.dast.sw.common.6511.match.result.s1.o1": "{0}",
  "0.http.dast.sw.common.6511.match.result.s2.o0": "The analysis confirms that phpMyAdmin is used on the analyzing target.",
  "0.http.dast.sw.common.6511.match.solution.s0.o0": "phpMyAdmin should not be used: if needed, you need to update phpMyAdmin to the latest version.",
  "0.http.dast.sw.common.6512.match.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.6512.match.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.6512.match.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.6512.match.attack.s0.o3": "The response body for the request have been checked.",
  "0.http.dast.sw.common.6512.match.result.s0.o0": "The following string has been found in the response body:",
  "0.http.dast.sw.common.6512.match.result.s1.o0": "{0}",
  "0.http.dast.sw.common.6512.match.result.s1.o1": "As a result of analysis, it is confirmed that the Adobe Flash Player is used on the page.",
  "0.http.dast.sw.common.6512.match.solution.s0.o0": "The Adobe Flash Player should not be used for technically deprecated. Instead, it is recommended to use open web standard technologies such as HTML5, WebGL, WebAssembly.",
  "0.http.dast.sw.common.6513.match.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.6513.match.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.6513.match.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.6513.match.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.dast.sw.common.6513.match.result.s0.o0": "The status code of the response is {0}.\n",
  "0.http.dast.sw.common.6513.match.result.s1.o0": "The following string has been found in the response body:",
  "0.http.dast.sw.common.6513.match.result.s1.o1": "{0}",
  "0.http.dast.sw.common.6513.match.result.s2.o0": "As a result of analysis, it is confirmed that the important file can be downloaded by the directory traversal.",
  "0.http.dast.sw.common.6513.match.solution.s0.o0": "The input for a directory or file name received from the user requires to be verified. The following characters need to be checked.\n",
  "0.http.dast.sw.common.6513.match.solution.s0.o1": "- '.': Check possibility of path traversal.\n",
  "0.http.dast.sw.common.6513.match.solution.s0.o2": "- '/': Check accessbility to the path\n",
  "0.http.dast.sw.common.6513.match.solution.s0.o3": "- '\\': Check access to the path based on the OS.\n",
  "0.http.dast.sw.common.6513.match.solution.s0.o4": "- '%': UTF incoding parameter\n",
  "0.http.dast.sw.common.6513.match.solution.s0.o5": "Also, do not filter out with “../” to verify input values. Please check the example below.\n",
  "0.http.dast.sw.common.6513.match.solution.s0.o6": "[JSP] Sample source code to be excluded.",
  "0.http.dast.sw.common.6513.match.solution.s0.o7": "{0}",
  "0.http.dast.sw.common.6513.match.solution.s0.o8": "[PHP] Sample source code to be excluded.",
  "0.http.dast.sw.common.6513.match.solution.s0.o9": "{0}",
  "0.http.dast.sw.common.6513.match.solution.s1.o0": "[ASP] Sample source code to be excluded.",
  "0.http.dast.sw.common.6513.match.solution.s1.o1": "{0}",
  "0.http.dast.sw.common.6513.match.solution.s1.o2": "[ASP.NET] Sample source code to be excluded.\n",
  "0.http.dast.sw.common.6513.match.solution.s1.o3": "While the .NET framework inherently prevents Path Traversal attacks, there have been documented cases of vulnerabilities in certain .NET versions that could bypass this security mechanism. Therefore, it is recommended to install the latest patch.\n",
  "0.http.dast.sw.common.6513.match.solution.s1.o4": "If you don't have that patch installed, add the following to Global.asax.",
  "0.http.dast.sw.common.6513.match.solution.s1.o5": "{0}",
  "0.http.dast.sw.common.6514.match.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.6514.match.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.6514.match.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.6514.match.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.dast.sw.common.6514.match.result.s0.o0": "The status code of the response is {0}.\n",
  "0.http.dast.sw.common.6514.match.result.s1.o0": "The following string has been found in the response body:",
  "0.http.dast.sw.common.6514.match.result.s1.o1": "{0}",
  "0.http.dast.sw.common.6514.match.result.s2.o0": "As a result of analysis, it is confirmed that the important file can be downloaded by the directory traversal.",
  "0.http.dast.sw.common.6514.match.solution.s0.o0": "Remove the absolute file path from the HTTP response texts unless it is designed to expose.",
  "0.http.dast.sw.common.6515.match.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.6515.match.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.6515.match.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.6515.match.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.dast.sw.common.6515.match.result.s0.o0": "The status code of the response is {0}.\n",
  "0.http.dast.sw.common.6515.match.result.s1.o0": "The following string has been found in the response body:",
  "0.http.dast.sw.common.6515.match.result.s1.o1": "{0}",
  "0.http.dast.sw.common.6515.match.result.s2.o0": "As a result of analysis, it is confirmed that the important file can be downloaded by the directory traversal.",
  "0.http.dast.sw.common.6515.match.solution.s0.o0": "The input for a directory or file name received from the user requires to be verified. The following characters need to be checked.\n",
  "0.http.dast.sw.common.6515.match.solution.s0.o1": "- '.': Check possibility of path traversal.\n",
  "0.http.dast.sw.common.6515.match.solution.s0.o2": "- '/': Check accessbility to the path\n",
  "0.http.dast.sw.common.6515.match.solution.s0.o3": "- '\\': Check access to the path based on the OS.\n",
  "0.http.dast.sw.common.6515.match.solution.s0.o4": "- '%': UTF incoding parameter\n",
  "0.http.dast.sw.common.6515.match.solution.s0.o5": "Also, do not filter out with “../” to verify input values. Please check the example below.\n",
  "0.http.dast.sw.common.6515.match.solution.s0.o6": "[JSP] Sample source code to be excluded.",
  "0.http.dast.sw.common.6515.match.solution.s0.o7": "{0}",
  "0.http.dast.sw.common.6515.match.solution.s0.o8": "[PHP] Sample source code to be excluded.",
  "0.http.dast.sw.common.6515.match.solution.s0.o9": "{0}",
  "0.http.dast.sw.common.6515.match.solution.s1.o0": "[ASP] Sample source code to be excluded.",
  "0.http.dast.sw.common.6515.match.solution.s1.o1": "{0}",
  "0.http.dast.sw.common.6515.match.solution.s1.o2": "[ASP.NET] Sample source code to be excluded.\n",
  "0.http.dast.sw.common.6515.match.solution.s1.o3": "While the .NET framework inherently prevents Path Traversal attacks, there have been documented cases of vulnerabilities in certain .NET versions that could bypass this security mechanism. Therefore, it is recommended to install the latest patch.\n",
  "0.http.dast.sw.common.6515.match.solution.s1.o4": "If you don't have that patch installed, add the following to Global.asax.",
  "0.http.dast.sw.common.6515.match.solution.s1.o5": "{0}",
  "0.http.dast.sw.common.6518.match.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.6518.match.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.6518.match.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.6518.match.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.dast.sw.common.6518.match.result.s0.o0": "The status code of the response is {0}.\n",
  "0.http.dast.sw.common.6518.match.result.s1.o0": "The following string has been found in the response body:",
  "0.http.dast.sw.common.6518.match.result.s1.o1": "{0}",
  "0.http.dast.sw.common.6518.match.result.s2.o0": "As a result of analysis, it is confirmed that the directory listing page can be accessed.",
  "0.http.dast.sw.common.6518.match.solution.s0.o0": "Disable the directory listing settings on web services such as WEB or WAS.\n",
  "0.http.dast.sw.common.6518.match.solution.s0.o1": "Apache: Remove `Indexes` option or add `-Indexes` option for `Options` directive in `httpd.conf` file (`apache2.conf` file under Ubuntu and other Debian-based systems)\n",
  "0.http.dast.sw.common.6518.match.solution.s0.o2": "IIS 6/7/8/10: Deactivate [Directory search] in IIS management - [Website to be changed] - [Registration info] - [Home directory] tab.\n",
  "0.http.dast.sw.common.6518.match.solution.s0.o3": "JBoss, Apache Tomcat: Set listings to false in the web.xml.\n",
  "0.http.dast.sw.common.6518.match.solution.s0.o4": "JRun: Set browseDirs attiribute to false in default-web.xml.\n",
  "0.http.dast.sw.common.6518.match.solution.s0.o5": "WebLogic: Set index-directory-enabled attribute to false for weblogic-wep-app element in weblogic.xml.\n",
  "0.http.dast.sw.common.6518.match.solution.s0.o6": "WebtoB: Remove Options in http.m or set Options to `-Index`.",
  "0.http.dast.sw.common.6519.delete.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.6519.delete.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.6519.delete.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.6519.delete.attack.s1.o0": "Based on the response of the request, an additional request has been sent.",
  "0.http.dast.sw.common.6519.delete.attack.s1.o1": "{0}",
  "0.http.dast.sw.common.6519.delete.attack.s1.o2": "{0}",
  "0.http.dast.sw.common.6519.delete.attack.s1.o3": "The response for the request have been checked.",
  "0.http.dast.sw.common.6519.delete.result.s0.o0": "The status code of the response is {0} for the OPTIONS method request.\n",
  "0.http.dast.sw.common.6519.delete.result.s0.o1": "And, the following value is found in the response header named Allow.",
  "0.http.dast.sw.common.6519.delete.result.s0.o2": "{0}",
  "0.http.dast.sw.common.6519.delete.result.s0.o3": "As the header value shows that the DELETE method request is acceptable in the server.\n",
  "0.http.dast.sw.common.6519.delete.result.s1.o0": "The status code of the response is {0} for the DELETE method request.\n",
  "0.http.dast.sw.common.6519.delete.result.s1.o2": "The analysis confirms that the normal response can be received to the request using the DELETE method.",
  "0.http.dast.sw.common.6519.delete.solution.s0.o0": "Use only HTTP methods that are essential for operation (GET, POST) and remove vulnerable HTTP METHODS (PUT, DELETE, TRACE). (OPTIONS, HEAD method is not vulnerable, but it is recommended not to use it).",
  "0.http.dast.sw.common.6519.put.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.6519.put.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.6519.put.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.6519.put.attack.s1.o0": "Based on the response of the request, an additional request has been sent.",
  "0.http.dast.sw.common.6519.put.attack.s1.o1": "{0}",
  "0.http.dast.sw.common.6519.put.attack.s1.o2": "{0}",
  "0.http.dast.sw.common.6519.put.attack.s1.o3": "The response for the request have been checked.",
  "0.http.dast.sw.common.6519.put.result.s0.o0": "The status code of the response is {0} for the OPTIONS method request.\n",
  "0.http.dast.sw.common.6519.put.result.s0.o1": "And, the following value is found in the response header named Allow.",
  "0.http.dast.sw.common.6519.put.result.s0.o2": "{0}",
  "0.http.dast.sw.common.6519.put.result.s0.o3": "As the header value shows that the PUT method request is acceptable in the server.\n",
  "0.http.dast.sw.common.6519.put.result.s1.o0": "The status code of the response is {0} for the PUT method request.\n",
  "0.http.dast.sw.common.6519.put.result.s1.o1": "Content-Location header has been found in the response.",
  "0.http.dast.sw.common.6519.put.result.s1.o2": "The analysis confirms that the normal response can be received to the request using the PUT method.",
  "0.http.dast.sw.common.6519.put.solution.s0.o0": "Use only HTTP methods that are essential for operation (GET, POST) and remove vulnerable HTTP METHODS (PUT, DELETE, TRACE). (OPTIONS, HEAD method is not vulnerable, but it is recommended not to use it).",
  "0.http.dast.sw.common.6519.trace.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.6519.trace.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.6519.trace.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.6519.trace.attack.s1.o0": "Based on the response of the request, an additional request has been sent.",
  "0.http.dast.sw.common.6519.trace.attack.s1.o1": "{0}",
  "0.http.dast.sw.common.6519.trace.attack.s1.o2": "{0}",
  "0.http.dast.sw.common.6519.trace.attack.s1.o3": "The response for the request have been checked.",
  "0.http.dast.sw.common.6519.trace.result.s0.o0": "The status code of the response is {0} for the OPTIONS method request.\n",
  "0.http.dast.sw.common.6519.trace.result.s0.o1": "And, the following value is found in the response header named Allow.",
  "0.http.dast.sw.common.6519.trace.result.s0.o2": "{0}",
  "0.http.dast.sw.common.6519.trace.result.s0.o3": "As the header value shows that the TRACE method request is acceptable in the server.\n",
  "0.http.dast.sw.common.6519.trace.result.s1.o0": "The status code of the response is {0} for the TRACE method request.\n",
  "0.http.dast.sw.common.6519.trace.result.s1.o1": "And the following string has been found in the response body.",
  "0.http.dast.sw.common.6519.trace.result.s1.o2": "{0}",
  "0.http.dast.sw.common.6519.trace.result.s1.o3": "The analysis confirms that the normal response can be received to the request using the TRACE method.",
  "0.http.dast.sw.common.6519.trace.solution.s0.o0": "Use only HTTP methods that are essential for operation (GET, POST) and remove vulnerable HTTP METHODS (PUT, DELETE, TRACE). (OPTIONS, HEAD method is not vulnerable, but it is recommended not to use it).",
  "0.http.dast.sw.common.6520.match.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.6520.match.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.6520.match.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.6520.match.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.dast.sw.common.6520.match.result.s0.o0": "The status code of the response is {0}.\n",
  "0.http.dast.sw.common.6520.match.result.s1.o0": "The following string has been found in the response body:",
  "0.http.dast.sw.common.6520.match.result.s1.o1": "{0}",
  "0.http.dast.sw.common.6520.match.result.s2.o0": "As a result of analysis, it is confirmed that the server information leaked on the error page.",
  "0.http.dast.sw.common.6520.match.solution.s0.o0": "You can create a custom error page that requires exception handling to avoid the default error page when an error occurs. The custom page should not contain any HTTP status codes or information from the server.",
  "0.http.dast.sw.common.6522.match.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.6522.match.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.6522.match.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.6522.match.attack.s0.o3": "The response body for the request have been checked.",
  "0.http.dast.sw.common.6522.match.result.s0.o0": "The following string has been found in the response body:",
  "0.http.dast.sw.common.6522.match.result.s0.o1": "{0}",
  "0.http.dast.sw.common.6522.match.result.s0.o2": "That string is an error message printed out from DBMS.\n",
  "0.http.dast.sw.common.6522.match.result.s0.o3": "The analysis confirms that the page with insufficient handling of error messages on database exists.",
  "0.http.dast.sw.common.6522.match.solution.s0.o0": "Proper DB error message handling is required. See the example below.\n",
  "0.http.dast.sw.common.6522.match.solution.s0.o1": "Example) [JAVA] Insecure Code (printStackTrace)",
  "0.http.dast.sw.common.6522.match.solution.s0.o2": "{0}",
  "0.http.dast.sw.common.6522.match.solution.s0.o3": "Example) [JAVA] Insecure code (getMessage)",
  "0.http.dast.sw.common.6522.match.solution.s0.o4": "{0}",
  "0.http.dast.sw.common.6522.match.solution.s0.o5": "Example) [JAVA] Secure code (provided as an example, your implementation may vary)",
  "0.http.dast.sw.common.6522.match.solution.s0.o6": "{0}",
  "0.http.dast.sw.common.6523.match.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.6523.match.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.6523.match.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.6523.match.attack.s0.o3": "The response body for the request have been checked.",
  "0.http.dast.sw.common.6523.match.result.s0.o0": "The following string has been found in the response body:",
  "0.http.dast.sw.common.6523.match.result.s0.o1": "{0}",
  "0.http.dast.sw.common.6523.match.result.s1.o0": "As a result of analysis, it is confirmed that the sensitive information can be leaked on the page.",
  "0.http.dast.sw.common.6523.match.solution.s0.o0": "Within the script function, limit the use of file upload information, table information, specific IPs or URL Full paths, and refer to the configuration file if necessary.",
  "0.http.dast.sw.common.6524.server.attack.s0.o0": "To confirm the server information, check a reponse of the following request.",
  "0.http.dast.sw.common.6524.server.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.6524.server.result.s0.o0": "The HTTP response header contains the server's version information, as shown below.",
  "0.http.dast.sw.common.6524.server.result.s0.o1": "{0}",
  "0.http.dast.sw.common.6524.server.result.s1.o0": "As a result of analysis, it is confirmed that the sensitive information can be leaked on the page.",
  "0.http.dast.sw.common.6524.server.solution.s0.o0": "Version information on a server can usually be restricted from being included in HTTP response headers by changing settings on the server.\n",
  "0.http.dast.sw.common.6524.server.solution.s1.o0": "- For PHP, adjust the settings in the php.ini file as shown below.\n",
  "0.http.dast.sw.common.6524.server.solution.s2.o0": "- For Apache, adjust the settings in the httpd.conf file as shown below.\n",
  "0.http.dast.sw.common.6524.server.solution.s3.o0": "- In Nginx, use the fastcgi_hide_header directive for header hiding. \n",
  "0.http.dast.sw.common.6524.server.solution.s4.o0": "- For IIS, adjust the settings in the web.config file as shown below.",
  "0.http.dast.sw.common.6525.absolute_action.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.6525.absolute_action.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.6525.absolute_action.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.6525.absolute_action.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.dast.sw.common.6525.absolute_action.result.s0.o0": "In the response body, a form tag with important information is found. The XPath for that form tag is:",
  "0.http.dast.sw.common.6525.absolute_action.result.s0.o1": "{0}",
  "0.http.dast.sw.common.6525.absolute_action.result.s1.o0": "The action attribute of that form tag has the following value {0}, which means that the request made through that form tag uses the HTTP protocol.\n",
  "0.http.dast.sw.common.6525.absolute_action.result.s1.o1": "As a result of analysis, it is confirmed that the improper protocol is used to send important information.",
  "0.http.dast.sw.common.6525.absolute_action.solution.s0.o0": "If you use a form tag to send sensitive information, you must set the value of the action attribute of that form tag to send using the HTTPS protocol. You must also set the value of the method attribute of that form tag to send using the POST method.",
  "0.http.dast.sw.common.6525.get_method.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.6525.get_method.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.6525.get_method.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.6525.get_method.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.dast.sw.common.6525.get_method.result.s0.o0": "In the response body, a form tag with important information is found. The XPath for that form tag is:",
  "0.http.dast.sw.common.6525.get_method.result.s0.o1": "{0}",
  "0.http.dast.sw.common.6525.get_method.result.s1.o0": "The action attribute of that form tag has the following value {0}, which means that the request made through that form tag uses the HTTPS protocol.\n",
  "0.http.dast.sw.common.6525.get_method.result.s1.o1": "Also, the action attribute of that form tag has the following value {0}, which means that the request made through that form tag uses the GET method.\n",
  "0.http.dast.sw.common.6525.get_method.result.s1.o2": "As a result of analysis, it is confirmed that the improper method is used to send important information.",
  "0.http.dast.sw.common.6525.get_method.solution.s0.o0": "If you use a form tag to send sensitive information, you must set the value of the action attribute of that form tag to send using the HTTPS protocol. You must also set the value of the method attribute of that form tag to send using the POST method.",
  "0.http.dast.sw.common.6525.no_action.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.6525.no_action.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.6525.no_action.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.6525.no_action.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.dast.sw.common.6525.no_action.result.s0.o0": "In the response body, a form tag with important information is found. The XPath for that form tag is:",
  "0.http.dast.sw.common.6525.no_action.result.s0.o1": "{0}",
  "0.http.dast.sw.common.6525.no_action.result.s1.o0": "The value of the action attribute for the form tag does not exist. This confirms that a request from the form tag is sent to the URL of a page with the form tag. Therefore, the request from the form tag uses an identical protocol with the URL of a page with the form tag.\n",
  "0.http.dast.sw.common.6525.no_action.result.s1.o1": "Also, here is the URL of the page where that form tag exists.",
  "0.http.dast.sw.common.6525.no_action.result.s1.o2": "{0}",
  "0.http.dast.sw.common.6525.no_action.result.s1.o3": "As a result of analysis, it is confirmed that the improper protocol is used to send important information.",
  "0.http.dast.sw.common.6525.no_action.solution.s0.o0": "If you use a form tag to send sensitive information, you must set the value of the action attribute of that form tag to send using the HTTPS protocol. You must also set the value of the method attribute of that form tag to send using the POST method.",
  "0.http.dast.sw.common.6525.no_method.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.6525.no_method.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.6525.no_method.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.6525.no_method.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.dast.sw.common.6525.no_method.result.s0.o0": "In the response body, a form tag with important information is found. The XPath for that form tag is:",
  "0.http.dast.sw.common.6525.no_method.result.s0.o1": "{0}",
  "0.http.dast.sw.common.6525.no_method.result.s1.o0": "The action attribute of that form tag has the following value {0}, which means that the request made through that form tag uses the HTTPS protocol.\n",
  "0.http.dast.sw.common.6525.no_method.result.s1.o1": "Also, the method attribute for that form tag doesn't exist, which means that requests made through that form tag use the GET method.\n",
  "0.http.dast.sw.common.6525.no_method.result.s1.o2": "As a result of analysis, it is confirmed that the improper method is used to send important information.",
  "0.http.dast.sw.common.6525.no_method.solution.s0.o0": "If you use a form tag to send sensitive information, you must set the value of the action attribute of that form tag to send using the HTTPS protocol. You must also set the value of the method attribute of that form tag to send using the POST method.",
  "0.http.dast.sw.common.6525.relative_action.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.6525.relative_action.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.6525.relative_action.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.6525.relative_action.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.dast.sw.common.6525.relative_action.result.s0.o0": "In the response body, a form tag with important information is found. The XPath for that form tag is:",
  "0.http.dast.sw.common.6525.relative_action.result.s0.o1": "{0}",
  "0.http.dast.sw.common.6525.relative_action.result.s1.o0": "The value of the action attribute for the form tag is: {0} This confirms that a request from the form tag is sent to the URL of a page with the form tag. Therefore, the request from the form tag uses an identical protocol with the URL of a page with the form tag.\n",
  "0.http.dast.sw.common.6525.relative_action.result.s1.o1": "Also, here is the URL of the page where that form tag exists.",
  "0.http.dast.sw.common.6525.relative_action.result.s1.o2": "{0}",
  "0.http.dast.sw.common.6525.relative_action.result.s1.o3": "As a result of analysis, it is confirmed that the improper protocol is used to send important information.",
  "0.http.dast.sw.common.6525.relative_action.solution.s0.o0": "If you use a form tag to send sensitive information, you must set the value of the action attribute of that form tag to send using the HTTPS protocol. You must also set the value of the method attribute of that form tag to send using the POST method.",
  "0.http.dast.sw.common.6526.match.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.6526.match.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.6526.match.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.6526.match.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.dast.sw.common.6526.match.result.s0.o0": "The following string has been found in the response body:",
  "0.http.dast.sw.common.6526.match.result.s0.o1": "{0}",
  "0.http.dast.sw.common.6526.match.result.s0.o2": "As a result of analysis, it is confirmed that the access information on FTP, DB, or system can be leaked on the page.",
  "0.http.dast.sw.common.6526.match.solution.s0.o0": "The system access information, such as FTP, DB, requires not to be exposed in plain texts while refering certain resources in an applet, suvlet, jar, or war.",
  "0.http.dast.sw.common.6527.cs.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.6527.cs.attack.s1.o0": "{0}",
  "0.http.dast.sw.common.6527.cs.attack.s1.o1": "{0}",
  "0.http.dast.sw.common.6527.cs.attack.s2.o0": "The response body for the request have been checked.",
  "0.http.dast.sw.common.6527.cs.result.s0.o0": "The response body corresponds to the SSL Server Test results from Qualys SSL Labs for the SSL and TLS settings used by the analytic target. Among those results, something about protocol version exists.\n",
  "0.http.dast.sw.common.6527.cs.result.s1.o0": "Of the cipher suites currently in use, the following cipher suites exist: {0}\n",
  "0.http.dast.sw.common.6527.cs.result.s2.o0": "As the cipher suite is insecure, it might allow further attacks.",
  "0.http.dast.sw.common.6527.cs.solution.s0.o0": "For added security, it is recommended to use TLS v1.2 or later. For certificates, it's more secure to use RSA 1024-bit or higher and a hash algorithm based on SHA-2.",
  "0.http.dast.sw.common.6527.hash.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.6527.hash.attack.s1.o0": "{0}",
  "0.http.dast.sw.common.6527.hash.attack.s1.o1": "{0}",
  "0.http.dast.sw.common.6527.hash.attack.s2.o0": "The response body for the request have been checked.",
  "0.http.dast.sw.common.6527.hash.result.s0.o0": "The response body corresponds to the SSL Server Test results from Qualys SSL Labs for the SSL and TLS settings used by the analytic target. Among those results, something about protocol version exists.\n",
  "0.http.dast.sw.common.6527.hash.result.s1.o0": "One of activated certificates is using the following hash algorithm: {0}\n",
  "0.http.dast.sw.common.6527.hash.result.s2.o0": "As a hash algorithm of the certificate is insecure, it might allow further attacks.",
  "0.http.dast.sw.common.6527.hash.solution.s0.o0": "For added security, it is recommended to use TLS v1.2 or later. For certificates, it's more secure to use RSA 1024-bit or higher and a hash algorithm based on SHA-2.",
  "0.http.dast.sw.common.6527.length.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.6527.length.attack.s1.o0": "{0}",
  "0.http.dast.sw.common.6527.length.attack.s1.o1": "{0}",
  "0.http.dast.sw.common.6527.length.attack.s2.o0": "The response body for the request have been checked.",
  "0.http.dast.sw.common.6527.length.result.s0.o0": "The response body corresponds to the SSL Server Test results from Qualys SSL Labs for the SSL and TLS settings used by the analytic target. Among those results, something about protocol version exists.\n",
  "0.http.dast.sw.common.6527.length.result.s1.o0": "One of activated certificates is using the following key length: {0}\n",
  "0.http.dast.sw.common.6527.length.result.s2.o0": "As the certificate does not have enough key legnth, it might allow further attacks.",
  "0.http.dast.sw.common.6527.length.solution.s0.o0": "For added security, it is recommended to use TLS v1.2 or later. For certificates, it's more secure to use RSA 1024-bit or higher and a hash algorithm based on SHA-2.",
  "0.http.dast.sw.common.6527.period.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.6527.period.attack.s1.o0": "{0}",
  "0.http.dast.sw.common.6527.period.attack.s1.o1": "{0}",
  "0.http.dast.sw.common.6527.period.attack.s2.o0": "The response body for the request have been checked.",
  "0.http.dast.sw.common.6527.period.result.s0.o0": "The response body corresponds to the SSL Server Test results from Qualys SSL Labs for the SSL and TLS settings used by the analytic target. Among those results, something about protocol version exists.\n",
  "0.http.dast.sw.common.6527.period.result.s1.o0": "One of activated certificates is using the following expiration time: {0}\n",
  "0.http.dast.sw.common.6527.period.result.s2.o0": "As the certificate is expired, it might allow futher attacks.",
  "0.http.dast.sw.common.6527.period.solution.s0.o0": "For added security, it is recommended to use TLS v1.2 or later. For certificates, it's more secure to use RSA 1024-bit or higher and a hash algorithm based on SHA-2.",
  "0.http.dast.sw.common.6527.protocol.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.6527.protocol.attack.s1.o0": "{0}",
  "0.http.dast.sw.common.6527.protocol.attack.s1.o1": "{0}",
  "0.http.dast.sw.common.6527.protocol.attack.s2.o0": "The response body for the request have been checked.",
  "0.http.dast.sw.common.6527.protocol.result.s0.o0": "The response body corresponds to the SSL Server Test results from Qualys SSL Labs for the SSL and TLS settings used by the analytic target. Among those results, something about protocol version exists.\n",
  "0.http.dast.sw.common.6527.protocol.result.s1.o0": "The version of the protocol you are currently using is: {0}\n",
  "0.http.dast.sw.common.6527.protocol.result.s2.o0": "As the protocol version is insecure, it might allow futher attacks.",
  "0.http.dast.sw.common.6527.protocol.solution.s0.o0": "For added security, it is recommended to use TLS v1.2 or later. For certificates, it's more secure to use RSA 1024-bit or higher and a hash algorithm based on SHA-2.",
  "0.http.dast.sw.common.6527.rating.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.6527.rating.attack.s1.o0": "{0}",
  "0.http.dast.sw.common.6527.rating.attack.s1.o1": "{0}",
  "0.http.dast.sw.common.6527.rating.attack.s2.o0": "The response body for the request have been checked.",
  "0.http.dast.sw.common.6527.rating.result.s0.o0": "The response body corresponds to the SSL Server Test results from Qualys SSL Labs for the SSL and TLS settings used by the analytic target. Among those results, something about protocol version exists.\n",
  "0.http.dast.sw.common.6527.rating.result.s1.o0": "Overall assessment rating is: {0}\n",
  "0.http.dast.sw.common.6527.rating.result.s2.o0": "The overall rating is not good, which could allow further attacks.",
  "0.http.dast.sw.common.6527.rating.solution.s0.o0": "For added security, it is recommended to use TLS v1.2 or later. For certificates, it's more secure to use RSA 1024-bit or higher and a hash algorithm based on SHA-2.",
  "0.http.dast.sw.common.6528.disallow.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.6528.disallow.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.6528.disallow.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.6528.disallow.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.dast.sw.common.6528.disallow.result.s0.o0": "The status code of the response is {0}.\n",
  "0.http.dast.sw.common.6528.disallow.result.s0.o1": "Also, a value is missing for the Disallow in the response body.\n",
  "0.http.dast.sw.common.6528.disallow.result.s1.o0": "The analysis confirms that information leak against the analyzing target is possible thought the search engines.",
  "0.http.dast.sw.common.6528.disallow.solution.s0.o0": "Put robots.txt in the root of source directory of the web server. Block crawlers of specific search engines by modifying the User-agent value, or restrict access to certain directories by adjusting the Disallow value.",
  "0.http.dast.sw.common.6528.status.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.6528.status.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.6528.status.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.6528.status.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.dast.sw.common.6528.status.result.s0.o0": "The status code of the response is {0}.\n",
  "0.http.dast.sw.common.6528.status.result.s0.o1": "The analysis confirms that information leak against the analyzing target is possible thought the search engines.",
  "0.http.dast.sw.common.6528.status.solution.s0.o0": "Put robots.txt in the root of source directory of the web server. Block crawlers of specific search engines by modifying the User-agent value, or restrict access to certain directories by adjusting the Disallow value.",
  "0.http.dast.sw.common.6528.user_agent.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.6528.user_agent.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.6528.user_agent.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.6528.user_agent.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.dast.sw.common.6528.user_agent.result.s0.o0": "The status code of the response is {0}.\n",
  "0.http.dast.sw.common.6528.user_agent.result.s0.o1": "Also, value for User-agent is invalid in the response body.\n",
  "0.http.dast.sw.common.6528.user_agent.result.s1.o0": "The analysis confirms that the information exposure against the analyzing target is possible though the search engines.",
  "0.http.dast.sw.common.6528.user_agent.solution.s0.o0": "Put robots.txt in the root of source directory of the web server. Block crawlers of specific search engines by modifying the User-agent value, or restrict access to certain directories by adjusting the Disallow value.",
  "0.http.dast.sw.common.6529.match.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.6529.match.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.6529.match.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.6529.match.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.dast.sw.common.6529.match.result.s0.o0": "The status code of the response is {0}.\n",
  "0.http.dast.sw.common.6529.match.result.s0.o1": "The following string has been found in the response body:",
  "0.http.dast.sw.common.6529.match.result.s0.o2": "{0}",
  "0.http.dast.sw.common.6529.match.result.s0.o3": "As a result of analysis, it is confirmed that the directory listing page can be accessed.",
  "0.http.dast.sw.common.6529.match.solution.s0.o0": "If /CVS/ or /.svc/ directory exists, you need to specify that access to the directory is not allowed.\n",
  "0.http.dast.sw.common.6529.match.solution.s0.o1": "- Apache",
  "0.http.dast.sw.common.6529.match.solution.s0.o2": "In httpd.conf file (apache2.conf file under Ubuntu and Debian), add <DirectoryMatch “/CVS/”> or <DirectoryMatch “/.svc/”> tag, set Deny from all attribute, and then restart the server.",
  "0.http.dast.sw.common.6530.match.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.6530.match.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.6530.match.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.6530.match.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.dast.sw.common.6530.match.result.s0.o0": "The following string has been found in the response body:",
  "0.http.dast.sw.common.6530.match.result.s1.o0": "{0}",
  "0.http.dast.sw.common.6530.match.result.s1.o1": "As a result of analysis, it is confirmed that the unnecesary file can be downloaded on the page.",
  "0.http.dast.sw.common.6530.match.solution.s0.o0": "Delete all unnecessary files except those that are essential to the operation of the web application.\n",
  "0.http.dast.sw.common.6530.match.solution.s0.o1": "It is recommended to search and delete unnecessary extensions such as tar, psd, fla, bak, test, txt, old, zip, date.\n",
  "0.http.dast.sw.common.6530.match.solution.s0.o2": "Ensure that no unnecessary files are not left after additional development or maintenance after the service goes live. For example, disable contents and services that are installed by default during the initial service installation, delete or change default directories (/htdocs, /cig-bin, etc.), and delete or change default pages (Manual, Sample, etc.), etc.\n",
  "0.http.dast.sw.common.6530.match.solution.s0.o3": "Files utilized for the development or test need to be managed on the separate project.",
  "0.http.dast.sw.common.6531.match.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.6531.match.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.6531.match.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.6531.match.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.dast.sw.common.6531.match.result.s0.o0": "The status code of the response is {0}.\n",
  "0.http.dast.sw.common.6531.match.result.s1.o0": "The following string has been found in the response body:",
  "0.http.dast.sw.common.6531.match.result.s1.o1": "{0}",
  "0.http.dast.sw.common.6531.match.result.s2.o0": "As a result of analysis, it is confirmed that the default page or sample file can be accessed.",
  "0.http.dast.sw.common.6531.match.solution.s0.o0": "Delete all unnecessary files except those that are essential to the operation of the web application.\n",
  "0.http.dast.sw.common.6531.match.solution.s0.o1": "It is recommended to search and delete unnecessary extensions such as *.tar, *.psd, *.fla, *.bak, *.test, *.txt, *.old, *.zip, *.date.",
  "0.http.dast.sw.common.6531.match.solution.s0.o2": "Ensure that no unnecessary files are not left after additional development or maintenance after the service goes live. For example:\n",
  "0.http.dast.sw.common.6531.match.solution.s0.o3": "1. Disable contents and services that are installed by default during the initial service installation.",
  "0.http.dast.sw.common.6531.match.solution.s0.o4": "2. Delete or change default directories (/htdocs, /cig-bin, etc.).",
  "0.http.dast.sw.common.6531.match.solution.s0.o5": "3. Delete or change default pages (Manual, Sample, etc.).\n",
  "0.http.dast.sw.common.6531.match.solution.s0.o6": "Files utilized for the development or test need to be managed on the separate project.",
  "0.http.dast.sw.common.6532.match.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.6532.match.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.6532.match.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.6532.match.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.dast.sw.common.6532.match.result.s0.o0": "The following string has been found in the response body:",
  "0.http.dast.sw.common.6532.match.result.s1.o0": "{0}",
  "0.http.dast.sw.common.6532.match.result.s1.o1": "As a result of analysis, it is confirmed that the sensitive information can be leaked on the page.",
  "0.http.dast.sw.common.6532.match.solution.s0.o0": "Unneccesary functions to print out the logs, such as console.log(), need to be removed from source code. ",
  "0.http.dast.sw.common.7029.get_method.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.7029.get_method.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.7029.get_method.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.7029.get_method.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.dast.sw.common.7029.get_method.result.s0.o0": "In the response body, the following form tag is found. The XPath for the form tag is:",
  "0.http.dast.sw.common.7029.get_method.result.s0.o1": "{0}",
  "0.http.dast.sw.common.7029.get_method.result.s0.o2": "Among the input tags that this form tag contains, there exists an input tag with the following name attribute: {0} Based on this, it is assumed that the transmission of sensitive information occurs through that FORM tag.\n",
  "0.http.dast.sw.common.7029.get_method.result.s0.o3": "The action attribute of that form tag has the following value {0}, which means that the request made through that form tag uses the GET method.\n",
  "0.http.dast.sw.common.7029.get_method.result.s0.o4": "The analysis confirms that GET method is used to send important information.",
  "0.http.dast.sw.common.7029.get_method.solution.s0.o0": "If you use a form tag to send sensitive information, you should set the value of the method attribute of that form tag to send it using the POST method.",
  "0.http.dast.sw.common.7029.no_method.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.7029.no_method.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.7029.no_method.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.7029.no_method.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.dast.sw.common.7029.no_method.result.s0.o0": "In the response body, the following form tag is found. The XPath for the form tag is:",
  "0.http.dast.sw.common.7029.no_method.result.s0.o1": "{0}",
  "0.http.dast.sw.common.7029.no_method.result.s0.o2": "Among the input tags that this form tag contains, there exists an input tag with the following name attribute: {0} Based on this, it is assumed that the transmission of sensitive information occurs through that FORM tag.\n",
  "0.http.dast.sw.common.7029.no_method.result.s0.o3": "The method attribute for that form tag doesn't exist, which means that requests made through that form tag use the GET method.\n",
  "0.http.dast.sw.common.7029.no_method.result.s0.o4": "The analysis confirms that GET method is used to send important information.",
  "0.http.dast.sw.common.7029.no_method.solution.s0.o0": "If you use a form tag to send sensitive information, you should set the value of the method attribute of that form tag to send it using the POST method.",
  "0.http.dast.sw.common.7030.absolute_action.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.7030.absolute_action.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.7030.absolute_action.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.7030.absolute_action.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.dast.sw.common.7030.absolute_action.result.s0.o0": "In the response body, the following form tag is found. The XPath for the form tag is:",
  "0.http.dast.sw.common.7030.absolute_action.result.s0.o1": "{0}",
  "0.http.dast.sw.common.7030.absolute_action.result.s0.o2": "Among the input tags that this form tag contains, there exists an input tag with the following name attribute: {0} Based on this, it is assumed that the transmission of sensitive information occurs through that FORM tag.\n",
  "0.http.dast.sw.common.7030.absolute_action.result.s0.o3": "The action attribute of that form tag has the following value {0}, which means that the request made through that form tag uses the HTTP protocol.\n",
  "0.http.dast.sw.common.7030.absolute_action.result.s0.o4": "As a result of analysis, it is confirmed that the improper protocol is used to send important information.",
  "0.http.dast.sw.common.7030.absolute_action.solution.s0.o0": "If you use a form tag to send sensitive information, you must set the value of the action attribute of that form tag to send it using the HTTPS protocol.",
  "0.http.dast.sw.common.7030.no_action.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.7030.no_action.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.7030.no_action.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.7030.no_action.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.dast.sw.common.7030.no_action.result.s0.o0": "In the response body, the following form tag is found. The XPath for the form tag is:",
  "0.http.dast.sw.common.7030.no_action.result.s0.o1": "{0}",
  "0.http.dast.sw.common.7030.no_action.result.s0.o2": "Among the input tags that this form tag contains, there exists an input tag with the following name attribute: {0} Based on this, it is assumed that the transmission of sensitive information occurs through that FORM tag.\n",
  "0.http.dast.sw.common.7030.no_action.result.s0.o3": "The value of the action attribute for the form tag does not exist. This confirms that a request from the form tag is sent to the URL of a page with the form tag. Therefore, the request from the form tag uses an identical protocol with the URL of a page with the form tag.\n",
  "0.http.dast.sw.common.7030.no_action.result.s0.o4": "Here is the URL of the page where that form tag exists.",
  "0.http.dast.sw.common.7030.no_action.result.s0.o5": "{0}",
  "0.http.dast.sw.common.7030.no_action.result.s0.o6": "As a result of analysis, it is confirmed that the improper protocol is used to send important information.",
  "0.http.dast.sw.common.7030.no_action.solution.s0.o0": "If you use a form tag to send sensitive information, you must set the value of the action attribute of that form tag to send it using the HTTPS protocol.",
  "0.http.dast.sw.common.7030.relative_action.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.7030.relative_action.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.7030.relative_action.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.7030.relative_action.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.dast.sw.common.7030.relative_action.result.s0.o0": "In the response body, the following form tag is found. The XPath for the form tag is:",
  "0.http.dast.sw.common.7030.relative_action.result.s0.o1": "{0}",
  "0.http.dast.sw.common.7030.relative_action.result.s0.o2": "Among the input tags that this form tag contains, there exists an input tag with the following name attribute: {0} Based on this, it is assumed that the transmission of sensitive information occurs through that FORM tag.\n",
  "0.http.dast.sw.common.7030.relative_action.result.s0.o3": "The value of the action attribute for the form tag is: {0} This confirms that a request from the form tag is sent to the URL of a page with the form tag. Therefore, the request from the form tag uses an identical protocol with the URL of a page with the form tag.\n",
  "0.http.dast.sw.common.7030.relative_action.result.s0.o4": "Here is the URL of the page where that form tag exists.",
  "0.http.dast.sw.common.7030.relative_action.result.s0.o5": "{0}",
  "0.http.dast.sw.common.7030.relative_action.result.s0.o6": "As a result of analysis, it is confirmed that the improper protocol is used to send important information.",
  "0.http.dast.sw.common.7030.relative_action.solution.s0.o0": "If you use a form tag to send sensitive information, you must set the value of the action attribute of that form tag to send it using the HTTPS protocol.",
  "0.http.dast.sw.common.7152.match.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.7152.match.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.7152.match.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.7152.match.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.dast.sw.common.7152.match.result.s0.o0": "The status code of the response is {0}.\n",
  "0.http.dast.sw.common.7152.match.result.s1.o0": "The following string has been found in the response body:",
  "0.http.dast.sw.common.7152.match.result.s1.o1": "{0}",
  "0.http.dast.sw.common.7152.match.result.s2.o0": "As a result of analysis, it is confirmed that the directory listing page can be accessed.",
  "0.http.dast.sw.common.7152.match.solution.s0.o0": "Disable the directory listing settings on web services such as WEB or WAS.\n",
  "0.http.dast.sw.common.7152.match.solution.s0.o1": "Apache: Remove `Indexes` option or add `-Indexes` option for `Options` directive in `httpd.conf` file (`apache2.conf` file under Ubuntu and other Debian-based systems)\n",
  "0.http.dast.sw.common.7152.match.solution.s0.o2": "IIS 6/7/8/10: Deactivate [Directory search] in IIS management - [Website to be changed] - [Registration info] - [Home directory] tab.\n",
  "0.http.dast.sw.common.7152.match.solution.s0.o3": "JBoss, Apache Tomcat: Set listings to false in the web.xml.\n",
  "0.http.dast.sw.common.7152.match.solution.s0.o4": "JRun: Set browseDirs attiribute to false in default-web.xml.\n",
  "0.http.dast.sw.common.7152.match.solution.s0.o5": "WebLogic: Set index-directory-enabled attribute to false for weblogic-wep-app element in weblogic.xml.\n",
  "0.http.dast.sw.common.7152.match.solution.s0.o6": "WebtoB: Remove Options in http.m or set Options to `-Index`.",
  "0.http.dast.sw.common.7153.match.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.7153.match.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.7153.match.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.7153.match.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.dast.sw.common.7153.match.result.s0.o0": "The status code of the response is {0}.\n",
  "0.http.dast.sw.common.7153.match.result.s1.o0": "The following string has been found in the response body:",
  "0.http.dast.sw.common.7153.match.result.s1.o1": "{0}",
  "0.http.dast.sw.common.7153.match.result.s2.o0": "As a result of analysis, it is confirmed that the directory listing page can be accessed.",
  "0.http.dast.sw.common.7153.match.solution.s0.o0": "Disable the directory listing settings on web services such as WEB or WAS.\n",
  "0.http.dast.sw.common.7153.match.solution.s0.o1": "Apache: Remove `Indexes` option or add `-Indexes` option for `Options` directive in `httpd.conf` file (`apache2.conf` file under Ubuntu and other Debian-based systems)\n",
  "0.http.dast.sw.common.7153.match.solution.s0.o2": "IIS 6/7/8/10: Deactivate [Directory search] in IIS management - [Website to be changed] - [Registration info] - [Home directory] tab.\n",
  "0.http.dast.sw.common.7153.match.solution.s0.o3": "JBoss, Apache Tomcat: Set listings to false in the web.xml.\n",
  "0.http.dast.sw.common.7153.match.solution.s0.o4": "JRun: Set browseDirs attiribute to false in default-web.xml.\n",
  "0.http.dast.sw.common.7153.match.solution.s0.o5": "WebLogic: Set index-directory-enabled attribute to false for weblogic-wep-app element in weblogic.xml.\n",
  "0.http.dast.sw.common.7153.match.solution.s0.o6": "WebtoB: Remove Options in http.m or set Options to `-Index`.",
  "0.http.dast.sw.common.7154.match.attack.s0.o0": "The following request has been sent.",
  "0.http.dast.sw.common.7154.match.attack.s0.o1": "{0}",
  "0.http.dast.sw.common.7154.match.attack.s0.o2": "{0}",
  "0.http.dast.sw.common.7154.match.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.dast.sw.common.7154.match.result.s0.o0": "The status code of the response is {0}.\n",
  "0.http.dast.sw.common.7154.match.result.s0.o1": "The following string has been found in the response body:",
  "0.http.dast.sw.common.7154.match.result.s0.o2": "{0}",
  "0.http.dast.sw.common.7154.match.result.s0.o3": "The analysis confirms that access to the page printing out backups or temporary files is possible.",
  "0.http.dast.sw.common.7154.match.solution.s0.o0": "Delete all unnecessary files except those that are essential to the operation of the web application.\n",
  "0.http.dast.sw.common.7154.match.solution.s0.o1": "It is recommended to search and delete unnecessary extensions such as tar, psd, fla, bak, test, txt, old, zip, date.\n",
  "0.http.dast.sw.common.7154.match.solution.s0.o2": "Ensure that no unnecessary files are not left after additional development or maintenance after the service goes live. For example, disable contents and services that are installed by default during the initial service installation, delete or change default directories (/htdocs, /cig-bin, etc.), and delete or change default pages (Manual, Sample, etc.), etc.\n",
  "0.http.dast.sw.common.7154.match.solution.s0.o3": "Files utilized for the development or test need to be managed on the separate project.",
  "0.http.dast.sw.common.7299.match.attack.s0.o0": "To verify that the LDAP insertion occurs, we sent an HTTP request with an invalid LDAP query string in the {0} parameter with an invalid LDAP query string.",
  "0.http.dast.sw.common.7299.match.attack.s0.o1": "The request you sent looks like this",
  "0.http.dast.sw.common.7299.match.attack.s1.o0": "{0}",
  "0.http.dast.sw.common.7299.match.result.s0.o0": "The response to the crafted HTTP request looks like this",
  "0.http.dast.sw.common.7299.match.result.s1.o0": "{0}",
  "0.http.dast.sw.common.7299.match.result.s2.o0": "In the body of the HTTP response above, we found a string that we believe to be an LDAP error message.",
  "0.http.dast.sw.common.7299.match.result.s2.o1": "It appears that the server did not properly validate user input and the attack string was included in the LDAP query, which resulted in the error message.",
  "0.http.dast.sw.common.7299.match.solution.s0.o0": "To prevent LDAP injection, you should use Prepared Statements to avoid including input directly in the query.",
  "0.http.dast.sw.common.7299.match.solution.s0.o1": "It also filters out special characters, such as `, ', \", ), (, #, *, &, +, =, <, >, |, ;, to ensure that the input does not affect the LDAP query.",
  "0.http.dast.sw.common.7299.match.solution.s1.o0": "If an LDAP injection causes the server to expose error messages, an attacker can leverage them to determine server configuration information or LDAP query structure.",
  "0.http.dast.sw.common.7299.match.solution.s1.o1": "Error messages that contain system internal information should be restricted from being exposed to clients, and only generic error messages should be returned to prevent information leakage.",
  "0.http.dast.sw.common.7300.match.attack.s0.o0": "To verify the server-side template injection vulnerability, we sent an HTTP request with an attack string used by the template engine in the {0} parameter with the attack string used by the template engine.",
  "0.http.dast.sw.common.7300.match.attack.s1.o0": "The request is shown as below.",
  "0.http.dast.sw.common.7300.match.attack.s2.o0": "{0}",
  "0.http.dast.sw.common.7300.match.result.s0.o0": "The response to the crafted HTTP request looks like this",
  "0.http.dast.sw.common.7300.match.result.s1.o0": "{0}",
  "0.http.dast.sw.common.7300.match.result.s2.o0": "The string {0} was found in the HTTP response body above.",
  "0.http.dast.sw.common.7300.match.result.s2.o1": "This means that the user's input was not properly filtered, allowing the attack string to be injected into the server-side template engine and triggered.",
  "0.http.dast.sw.common.7300.match.solution.s0.o0": "A combination of sanitization and input value validation is the best approach to mitigate server-side template injection vulnerabilities.\n",
  "0.http.dast.sw.common.7300.match.solution.s1.o0": "\n1. Sanitization (code stability check)\n",
  "0.http.dast.sw.common.7300.match.solution.s1.o1": "Sanitization is a way to ensure that parameter values passed in from user input are not interpreted as template syntax.\n",
  "0.http.dast.sw.common.7300.match.solution.s1.o2": "To do this, you should keep your template files predefined, and handle all user input with safe variables provided by the template.\n",
  "0.http.dast.sw.common.7300.match.solution.s1.o3": "The following are examples of sanitization by popular template engines.\n",
  "0.http.dast.sw.common.7300.match.solution.s2.o0": "\nPython Jinja\n",
  "0.http.dast.sw.common.7300.match.solution.s2.o1": "You must use the render_template() function.\n",
  "0.http.dast.sw.common.7300.match.solution.s2.o2": "- This means that user input is not interpreted as template syntax, but is treated as a string.\n",
  "0.http.dast.sw.common.7300.match.solution.s3.o0": "{0}",
  "0.http.dast.sw.common.7300.match.solution.s4.o0": "\nSpring Thymeleaf\n",
  "0.http.dast.sw.common.7300.match.solution.s4.o1": "You should use the code th:text instead of th:utext.\n",
  "0.http.dast.sw.common.7300.match.solution.s4.o2": "- th:text automatically escapes HTML special characters.\n",
  "0.http.dast.sw.common.7300.match.solution.s4.o3": "- th:utext is code to disable HTML escaping.\n",
  "0.http.dast.sw.common.7300.match.solution.s5.o0": "{0}",
  "0.http.dast.sw.common.7300.match.solution.s6.o0": "In addition to this, the return value returned by the controller should not include any user input values.\n",
  "0.http.dast.sw.common.7300.match.solution.s6.o1": "If you need to return with user input values, there is a way to use the @ResponseBody annotation so that the Spring framework does not interpret the user input values as view names, but as simple strings.\n",
  "0.http.dast.sw.common.7300.match.solution.s7.o0": "\n2. validate input values\n",
  "0.http.dast.sw.common.7300.match.solution.s7.o1": "User input should be filtered to prevent key special characters, such as {0}, which are commonly used in the syntax of server-side template injection attacks, from being entered.\n",
  "0.http.dast.sw.common.7300.match.solution.s7.o2": "For example, if you entered {{7*7}}, the special characters should be filtered out, resulting in 77, not 49.\n",
  "0.http.dast.sw.common.7300.match.solution.s8.o0": "\nLanguages and special characters used by template engines",
  "0.http.dast.sw.common.7300.match.solution.s9.o0": "{0}",
  "0.http.dast.sw.common.7301.match.attack.s0.o0": "To determine if we were using improper CSP settings, we sent the following HTTP request to the URL under analysis.",
  "0.http.dast.sw.common.7301.match.attack.s1.o0": "{0}",
  "0.http.dast.sw.common.7301.match.result.s0.o0": "We found the following improper CSP settings in HTTP response headers",
  "0.http.dast.sw.common.7301.match.result.s0.o1": "By enabling these settings, attackers can more easily perform attacks such as XSS, data injection, and clickjacking.",
  "0.http.dast.sw.common.7301.match.result.s0.o2": "To avoid these issues, you should change to a safe CSP setting.",
  "0.http.dast.sw.common.7301.match.result.s1.o0": "{0}",
  "0.http.dast.sw.common.7301.match.solution.s0.o0": "You must remove the inappropriate CSP settings and change them to safe CSP settings.",
  "0.http.dast.sw.common.7301.match.solution.s0.o1": "Examples of safe CSP settings include",
  "0.http.dast.sw.common.7301.match.solution.s1.o0": "A value of 'none' is a setting that blocks all resources from loading.",
  "0.http.dast.sw.common.7301.match.solution.s1.o1": "For example, you can block all object resource loading by setting something like object-src 'none'.",
  "0.http.dast.sw.common.7301.match.solution.s2.o0": "The 'self' value is a setting that only allows resources that come from the same source.",
  "0.http.dast.sw.common.7301.match.solution.s2.o1": "For example, setting it to something like script-src 'self' will only run scripts that come from the same source.",
  "0.http.dast.sw.common.7301.match.solution.s2.o2": "However, if your web application uses JSON with Padding (JSONP), you need to be careful.",
  "0.http.dast.sw.common.7301.match.solution.s2.o3": "If a vulnerable JSONP callback method exists in an allowed domain, an attacker could use it to inject malicious script.",
  "0.http.dast.sw.common.7301.match.solution.s2.o4": "To prevent this, you should enforce cross-origin resource sharing (CORS) policies together to ensure that data is only requested from trusted sources.",
  "0.http.dast.sw.common.7301.match.solution.s3.o0": "The 'nonce' value is a setting to safely allow inline scripts or styles using a uniquely generated nonce value.",
  "0.http.dast.sw.common.7301.match.solution.s3.o1": "For example, if you set script-src to something like 'nonce-random-value', you can only run scripts with that nonce value.",
  "0.http.dast.sw.common.7301.match.solution.s4.o0": "The 'sha256-hash' value is a setting to safely allow inline scripts or styles using hash values (sha256, sha384, sha512, etc.).",
  "0.http.dast.sw.common.7301.match.solution.s4.o1": "For example, setting script-src to 'sha256-HASH' executes resources while the exact hash value of inline script or style is matched.",
  "0.http.dast.sw.common.7302.conditional.inproper": "The value of the X-Frame-Options header in the HTTP response is invalid.",
  "0.http.dast.sw.common.7302.conditional.no_header": "The X-Frame-Options header is not present in the HTTP response.",
  "0.http.dast.sw.common.7302.invalid.attack.s0.o0": "A Missing X-Frame Options vulnerability is a vulnerability where the X-Frame-Options header is not included in the HTTP response.",
  "0.http.dast.sw.common.7302.invalid.attack.s1.o0": "The X-Frame-Options header is a header in an HTTP response that sets whether the browser should render the page inside a <frame, <iframe, or <object> tag.",
  "0.http.dast.sw.common.7302.invalid.attack.s1.o1": "The X-Frame-Options header can be used to prevent clickjacking.",
  "0.http.dast.sw.common.7302.invalid.attack.s2.o0": "Clickjacking is an attack that takes the form of embedded code or scripts that can be executed without the user's knowledge, tricking them into clicking something other than what they realize they are clicking.",
  "0.http.dast.sw.common.7302.invalid.attack.s2.o1": "This allows an attacker to steal your information or take control of your computer.",
  "0.http.dast.sw.common.7302.invalid.result.s0.o0": "The headers in the HTTP response look like this",
  "0.http.dast.sw.common.7302.invalid.result.s1.o0": "{0}",
  "0.http.dast.sw.common.7302.invalid.solution.s0.o0": "The web application's server must put the X-Frame-Options header with the correct value in the HTTP response.",
  "0.http.dast.sw.common.7302.invalid.solution.s0.o1": "The correct value for the X-Frame-Options header is",
  "0.http.dast.sw.common.7302.invalid.solution.s1.o0": "{0}",
  "0.http.dast.sw.common.7303.missing.attack.s0.o0": "A missing Content-Security-Policy (CSP) header vulnerability is a vulnerability where the Content-Security-Policy header is missing from an HTTP response.",
  "0.http.dast.sw.common.7303.missing.attack.s1.o0": "To detect this, we sent the following HTTP request",
  "0.http.dast.sw.common.7303.missing.attack.s2.o0": "{0}",
  "0.http.dast.sw.common.7303.missing.attack.s2.o1": "{0}",
  "0.http.dast.sw.common.7303.missing.result.s0.o0": "The HTTP response headers for an HTTP request look like this",
  "0.http.dast.sw.common.7303.missing.result.s1.o0": "{0}",
  "0.http.dast.sw.common.7303.missing.result.s2.o0": "You can see that there is no Content-Security-Policy header or Content-Security-Policy-Report-Only header in the HTTP response headers above.",
  "0.http.dast.sw.common.7303.missing.result.s2.o1": "The absence of the Content-Security-Policy header does not prevent resources from untrusted domains from running or rendering in the browser.",
  "0.http.dast.sw.common.7303.missing.solution.s0.o0": "To fix the missing Content-Security-Policy header vulnerability, you must add the Content-Security-Policy header on the web application server.",
  "0.http.dast.sw.common.7303.missing.solution.s0.o1": "If you want the content within all of your websites to come from the same domain, excluding subdomains, use the following",
  "0.http.dast.sw.common.7303.missing.solution.s1.o0": "{0}",
  "0.http.dast.sw.common.7303.missing.solution.s2.o0": "To include subdomains, do the following",
  "0.http.dast.sw.common.7303.missing.solution.s3.o0": "{0}",
  "0.http.dast.sw.common.7303.missing.solution.s4.o0": "In addition, you can also enable resources from trusted domains to be used only on specific web page elements.",
  "0.http.dast.sw.common.7303.missing.solution.s5.o0": "Additionally, if you don't want to prevent resources from untrusted domains from being used, but just want to be informed that they have been used, use the following",
  "0.http.dast.sw.common.7303.missing.solution.s6.o0": "{0}",
  "0.http.default_page_disclosure.match.attack.s0.o0": "The following request has been sent.",
  "0.http.default_page_disclosure.match.attack.s0.o1": "{0}",
  "0.http.default_page_disclosure.match.attack.s0.o2": "{0}",
  "0.http.default_page_disclosure.match.result.s0.o0": "The status code of the response is {0}.",
  "0.http.default_page_disclosure.match.result.s0.o1": "The following string has been found in the response body:",
  "0.http.default_page_disclosure.match.result.s0.o2": "{0}",
  "0.http.default_page_disclosure.match.solution.s0.o0": "Modify server settings to prevent external exposure of default pages, sample pages, etc. Specifically, delete unnecessary files or make them externally inaccessible.",
  "0.http.deprecated_components_in_html5.attr.attack.s0.o0": "The following HTTP request has been passed.",
  "0.http.deprecated_components_in_html5.attr.attack.s0.o1": "{0}",
  "0.http.deprecated_components_in_html5.attr.attack.s0.o2": "{0}",
  "0.http.deprecated_components_in_html5.attr.attack.s1.o0": "An HTTP response has been received.",
  "0.http.deprecated_components_in_html5.attr.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "0.http.deprecated_components_in_html5.attr.attack.s3.o0": "{0} element has been searched in an HTTP response body.",
  "0.http.deprecated_components_in_html5.attr.attack.s4.o0": "{0} attribute has been searched in searched elements.",
  "0.http.deprecated_components_in_html5.attr.result.s0.o0": "An HTTP response body is an HTML document.",
  "0.http.deprecated_components_in_html5.attr.result.s1.o0": "{0} element has been found in an HTTP response body. The XPath of the element is shown as follow.",
  "0.http.deprecated_components_in_html5.attr.result.s1.o1": "{0}",
  "0.http.deprecated_components_in_html5.attr.result.s2.o0": "{0} attribute has been found in the element. The attribute is deprecated in HTML5.",
  "0.http.deprecated_components_in_html5.attr.solution.s0.o0": "Remove the {1} attribute of {0} element.",
  "0.http.deprecated_components_in_html5.tag.attack.s0.o0": "The following HTTP request has been passed.",
  "0.http.deprecated_components_in_html5.tag.attack.s0.o1": "{0}",
  "0.http.deprecated_components_in_html5.tag.attack.s0.o2": "{0}",
  "0.http.deprecated_components_in_html5.tag.attack.s1.o0": "An HTTP response has been received.",
  "0.http.deprecated_components_in_html5.tag.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "0.http.deprecated_components_in_html5.tag.attack.s3.o0": "{0} element has been searched in an HTTP response body.",
  "0.http.deprecated_components_in_html5.tag.result.s0.o0": "An HTTP response body is an HTML document.",
  "0.http.deprecated_components_in_html5.tag.result.s1.o0": "{0} element has been found in an HTTP response body. The XPath of the element is shown as follow.",
  "0.http.deprecated_components_in_html5.tag.result.s1.o1": "{0}",
  "0.http.deprecated_components_in_html5.tag.result.s2.o0": "The element is deprecated in HTML5.",
  "0.http.deprecated_components_in_html5.tag.solution.s0.o0": "Remove the {0} element or replace with other elements.",
  "0.http.directory_browsing.pattern.attack.s0.o0": "The Directory Listing is caused by exposes files or other directories within the server's directory due to a misconfiguration of the web application server.",
  "0.http.directory_browsing.pattern.attack.s0.o1": "Attackers can analyze the resources of a web application through directory listing and access files that contain sensitive information such as temporary files or dump files.",
  "0.http.directory_browsing.pattern.attack.s0.o2": "The following HTTP request has been sent to check the Directory Listing vulnerability.",
  "0.http.directory_browsing.pattern.attack.s1.o0": "{0}",
  "0.http.directory_browsing.pattern.attack.s1.o1": "{0}",
  "0.http.directory_browsing.pattern.result.s0.o0": "The HTTP response for the HTTP request is shown as follow.",
  "0.http.directory_browsing.pattern.result.s1.o0": "{0}",
  "0.http.directory_browsing.pattern.result.s2.o0": "The body of the HTTP response contains {0}, which represents a directory listing.",
  "0.http.directory_browsing.pattern.solution.s0.o0": "The Directory Listing becomes a vulnerability due to other information flowing through it.",
  "0.http.directory_browsing.pattern.solution.s1.o0": "To resolve this directory listing, do not put any sensitive information within the directory of the web application server.",
  "0.http.directory_browsing.pattern.solution.s2.o0": "Alternatively, the directory listing should be prevented for all paths under the web application server through configuration changes in the web application server.",
  "0.http.directory_indexing.index.attack.s0.o0": "The directory indexing page has been checked from the following:",
  "0.http.directory_indexing.index.attack.s1.o0": "{0}",
  "0.http.directory_indexing.index.result.s0.o0": "The directory indexing page has been detected from the URL.",
  "0.http.directory_indexing.index.result.s1.o0": "You can generate an index file or disable directory indexing option in server setting file.",
  "0.http.directory_indexing.index.solution.s0.o0": "The index file will be displayed to the user rather than directory indexing page.",
  "0.http.directory_indexing.index.solution.s0.o1": "In general, index.html, home.html, or default.asp will be treated as an index file.",
  "0.http.directory_indexing.index.solution.s0.o2": "It is secure to disable the directory indexing option in server setting file without special circumstances.",
  "0.http.directory_listing.match.attack.s0.o0": "The following request has been sent.",
  "0.http.directory_listing.match.attack.s0.o1": "{0}",
  "0.http.directory_listing.match.attack.s0.o2": "{0}",
  "0.http.directory_listing.match.result.s0.o0": "The status code of the response is {0}. ",
  "0.http.directory_listing.match.result.s0.o1": "The following string has been found in the response body:",
  "0.http.directory_listing.match.result.s0.o2": "{0}",
  "0.http.directory_listing.match.solution.s0.o0": "Disable directory listings on your web server and set up appropriate access controls on your server to protect sensitive files from external exposure. Delete unnecessary backups and temporary files, and make directories in version control systems (CVS, SVN, etc.) inaccessible to the outside world to prevent internal information leaks.",
  "0.http.download_path_disclosure.match.attack.s0.o0": "The following request has been sent.",
  "0.http.download_path_disclosure.match.attack.s0.o1": "{0}",
  "0.http.download_path_disclosure.match.attack.s0.o2": "{0}",
  "0.http.download_path_disclosure.match.result.s0.o0": "{0} element is found in the response body, and its XPath is as follows.",
  "0.http.download_path_disclosure.match.result.s0.o1": "{0}",
  "0.http.download_path_disclosure.match.result.s0.o2": "This confirms that a path to the element can be manipulated.",
  "0.http.download_path_disclosure.match.result.s0.o3": "{0}",
  "0.http.download_path_disclosure.match.solution.s0.o0": "Information such as file paths and names should not be exposed on the client side, and path validation should be enforced when processing file requests on the server to prevent file paths from being manipulated through user input.",
  "0.http.driver_license_number_disclosure.match.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "0.http.driver_license_number_disclosure.match.attack.s0.o1": "{0}",
  "0.http.driver_license_number_disclosure.match.attack.s0.o2": "{0}",
  "0.http.driver_license_number_disclosure.match.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "0.http.driver_license_number_disclosure.match.result.s0.o1": "{0}",
  "0.http.driver_license_number_disclosure.match.result.s1.o0": "The following string has been found in the body of the HTTP response:",
  "0.http.driver_license_number_disclosure.match.result.s1.o1": "{0}",
  "0.http.driver_license_number_disclosure.match.result.s1.o2": "The string corresponds to the driver's license number.",
  "0.http.driver_license_number_disclosure.match.result.s2.o0": "As a result of the analysis, a driver's license number has been found in HTTP response text.",
  "0.http.driver_license_number_disclosure.match.result.s2.o1": "Therefore, a driver's license number can be stolen from HTTP requests sent to the server.",
  "0.http.driver_license_number_disclosure.match.solution.s0.o0": "HTTP response text should not include a driver's license number.",
  "0.http.driver_license_number_disclosure.match.solution.s0.o1": "Please check driver's license number disclosure for all HTTP response text components, including plain text and comments.",
  "0.http.email_address_disclosure.match.attack.s0.o0": "The Email Address Exposure vulnerability is caused by exposing an email address to the body of an HTTP response.",
  "0.http.email_address_disclosure.match.attack.s1.o0": "To check this, the following HTTP request has been sent.",
  "0.http.email_address_disclosure.match.attack.s2.o0": "{0}",
  "0.http.email_address_disclosure.match.result.s0.o0": "The HTTP response for the HTTP request is shown as follow.",
  "0.http.email_address_disclosure.match.result.s1.o0": "{0}",
  "0.http.email_address_disclosure.match.result.s2.o0": "As you can see the HTTP response above, the string {0} estimated to be an email address is included.",
  "0.http.email_address_disclosure.match.result.s3.o0": "If the {0} email address is associated with a web application's account or stands for specific permissions(ex. admin@email.com), it can be used for attacks such as authentication bypass.",
  "0.http.email_address_disclosure.match.result.s3.o1": "In addition, the number of spam sent to that email address may increase.",
  "0.http.email_address_disclosure.match.solution.s0.o0": "To address email address exposure vulnerabilities, users must prevent email addresses from being exposed to HTTP responses.",
  "0.http.email_address_disclosure.match.solution.s1.o0": "When the {0} email address has security issues, it should not be exposed.",
  "0.http.external_redirect.location.attack.s0.o0": "The Unvalidated Redirection vulnerability is caused by directing to an untrusted link entered by an attacker.",
  "0.http.external_redirect.location.attack.s0.o1": "External redirection allows an attacker to engage a malicious site to perform phishing scams or steal personal information.",
  "0.http.external_redirect.location.attack.s0.o2": "Unauthorized redirection is especially likely to result in phishing scams by making users mistaken for an existing site, especially by linking to malicious links of the same type as existing sites.",
  "0.http.external_redirect.location.attack.s0.o3": "The following HTTP request has been sent to check the Unverified Redirect vulnerability.",
  "0.http.external_redirect.location.attack.s1.o0": "{0}",
  "0.http.external_redirect.location.result.s0.o0": "The HTTP response for the HTTP request is shown as follow.",
  "0.http.external_redirect.location.result.s1.o0": "{0}",
  "0.http.external_redirect.location.result.s2.o0": "The Unverified Redirect vulnerability has been found in {0} in the HTTP response.",
  "0.http.external_redirect.location.solution.s0.o0": "To avoid unverified redirection, prevent redirection.",
  "0.http.external_redirect.location.solution.s0.o1": "When using redirection, define the link to be redirected to the web application code as a constant, or ensure that the value entered is not used for redirection.",
  "0.http.external_redirect.location.solution.s0.o2": "If the user input must be used for redirection, it is a must to verify the user's permissions and check that the redirection through the input is valid.",
  "0.http.falsified_http_method.same.attack.s0.o0": "The HTTP Request Forgery vulnerability is caused by an identical HTTP response of a random HTTP request with an HTTP response of an generic HTTP request.",
  "0.http.falsified_http_method.same.attack.s1.o0": "The following generic HTTP {0} request has been changed into a random HTTP {1} method to check the HTTP Request Forgery vulnerability.",
  "0.http.falsified_http_method.same.attack.s2.o0": "{0}",
  "0.http.falsified_http_method.same.attack.s2.o1": "{0}",
  "0.http.falsified_http_method.same.result.s0.o0": "The HTTP response header for the generic HTTP {0} request is shown as follow.",
  "0.http.falsified_http_method.same.result.s1.o0": "{0}",
  "0.http.falsified_http_method.same.result.s2.o0": "The following HTTP response header is sent for the HTTP request converted to a random {0} method.",
  "0.http.falsified_http_method.same.result.s3.o0": "{0}",
  "0.http.falsified_http_method.same.result.s4.o0": "Above two HTTP response headers have identical counts, types, status code, and contents length.",
  "0.http.falsified_http_method.same.result.s5.o0": "It can be easily guessed that a random HTTP request is handled as identical to an HTTP request of a generic {0} method.",
  "0.http.falsified_http_method.same.solution.s0.o0": "To address the HTTP request forgery vulnerability, users must not allow a random HTTP request.",
  "0.http.falsified_http_method.same.solution.s1.o0": "When you need to allow a random HTTP request, specify its security and permission setting as identical to a generic HTTP {0} request setting.",
  "0.http.format_string.execute.attack.s0.o0": "The Format String vulnerability is caused by entering a value of a format string, which allows web applications to run code that would cause inappropriate code execution, stack exposures, malfunctions, and so on.",
  "0.http.format_string.execute.attack.s0.o1": "The typical format string is shown as follow.",
  "0.http.format_string.execute.attack.s1.o0": "{0}",
  "0.http.format_string.execute.attack.s2.o0": "A HTTP request to check a format string is as follow:",
  "0.http.format_string.execute.attack.s3.o0": "{0}",
  "0.http.format_string.execute.attack.s3.o1": "{0}",
  "0.http.format_string.execute.result.s0.o0": "An HTTP request to check the Format String vulnerability has caused a format string to be executed.",
  "0.http.format_string.execute.result.s0.o1": "The following header is added to the response message.",
  "0.http.format_string.execute.result.s1.o0": "{0}",
  "0.http.format_string.execute.solution.s0.o0": "In order to prevent the Format String vulnerability, via input value validation, stop format string entry or used after escaping process.",
  "0.http.format_string.execute.solution.s0.o1": "In addition, users must be careful when using functions with format strings as follow:",
  "0.http.format_string.execute.solution.s1.o0": "C / C++ :",
  "0.http.format_string.execute.solution.s2.o0": "{0}",
  "0.http.format_string.execute.solution.s3.o0": "Java :",
  "0.http.format_string.execute.solution.s4.o0": "{0}",
  "0.http.format_string.execute.solution.s5.o0": "C# :",
  "0.http.format_string.execute.solution.s6.o0": "{0}",
  "0.http.format_string.server.attack.s0.o0": "The Format String vulnerability is caused by entering a value of a format string, which allows web applications to run code that would cause inappropriate code execution, stack exposures, malfunctions, and so on.",
  "0.http.format_string.server.attack.s0.o1": "The typical format string is shown as follow.",
  "0.http.format_string.server.attack.s1.o0": "{0}",
  "0.http.format_string.server.attack.s2.o0": "A HTTP request to check a format string is as follow:",
  "0.http.format_string.server.attack.s3.o0": "{0}",
  "0.http.format_string.server.attack.s3.o1": "{0}",
  "0.http.format_string.server.result.s0.o0": "An HTTP request to check the Format String vulnerability has caused a format string to be executed.",
  "0.http.format_string.server.result.s0.o1": "The following header is added to the response message.",
  "0.http.format_string.server.result.s1.o0": "{0}",
  "0.http.format_string.server.solution.s0.o0": "In order to prevent the Format String vulnerability, via input value validation, stop format string entry or used after escaping process.",
  "0.http.format_string.server.solution.s0.o1": "In addition, users must be careful when using functions with format strings as follow:",
  "0.http.format_string.server.solution.s1.o0": "C / C++ :",
  "0.http.format_string.server.solution.s2.o0": "{0}",
  "0.http.format_string.server.solution.s3.o0": "Java :",
  "0.http.format_string.server.solution.s4.o0": "{0}",
  "0.http.format_string.server.solution.s5.o0": "C# :",
  "0.http.format_string.server.solution.s6.o0": "{0}",
  "0.http.hardcoded_api_key_disclosure_in_comment.match.attack.s0.o0": "To check exposure of the hardcoded API eky within the web page, an HTTP request is sent to the crawled URL.",
  "0.http.hardcoded_api_key_disclosure_in_comment.match.attack.s1.o0": "{0}",
  "0.http.hardcoded_api_key_disclosure_in_comment.match.result.s0.o0": "An hardcoded API key is found in the response of the HTTP request.",
  "0.http.hardcoded_api_key_disclosure_in_comment.match.result.s1.o0": "{0}",
  "0.http.hardcoded_api_key_disclosure_in_comment.match.solution.s0.o0": "Store your API keys securely, such as in an environment variable or an encrypted configuration file, so that you can access them when you need them.",
  "0.http.hardcoded_api_key_disclosure_in_script.match.attack.s0.o0": "To check exposure of the hardcoded API eky within the web page, an HTTP request is sent to the crawled URL.",
  "0.http.hardcoded_api_key_disclosure_in_script.match.attack.s1.o0": "{0}",
  "0.http.hardcoded_api_key_disclosure_in_script.match.result.s0.o0": "An hardcoded API key is found in the response of the HTTP request.",
  "0.http.hardcoded_api_key_disclosure_in_script.match.result.s1.o0": "{0}",
  "0.http.hardcoded_api_key_disclosure_in_script.match.solution.s0.o0": "Store your API keys securely, such as in an environment variable or an encrypted configuration file, so that you can access them when you need them.",
  "0.http.hardcoded_email_disclosure_in_comment.match.attack.s0.o0": "To check exposure of the hardcoded email address within the web page, an HTTP request is sent to the crawled URL.",
  "0.http.hardcoded_email_disclosure_in_comment.match.attack.s1.o0": "{0}",
  "0.http.hardcoded_email_disclosure_in_comment.match.result.s0.o0": "A hardcoded email address is found in the response of the HTTP request.",
  "0.http.hardcoded_email_disclosure_in_comment.match.result.s1.o0": "{0}",
  "0.http.hardcoded_email_disclosure_in_comment.match.solution.s0.o0": "Be careful not to hardcode email addresses into comments, and if necessary, implement them so that they can be loaded dynamically via environment variables or configuration files.",
  "0.http.hardcoded_email_disclosure_in_script.match.attack.s0.o0": "To check exposure of the hardcoded email address within the web page, an HTTP request is sent to the crawled URL.",
  "0.http.hardcoded_email_disclosure_in_script.match.attack.s1.o0": "{0}",
  "0.http.hardcoded_email_disclosure_in_script.match.result.s0.o0": "A hardcoded email address is found in the response of the HTTP request.",
  "0.http.hardcoded_email_disclosure_in_script.match.result.s1.o0": "{0}",
  "0.http.hardcoded_email_disclosure_in_script.match.solution.s0.o0": "Be careful not to hardcode email addresses within code, and if necessary, implement them to be loaded dynamically via environment variables or configuration files.",
  "0.http.hardcoded_ip_disclosure_in_comment.match.attack.s0.o0": "To check exposure of the hardcoded IP address in the web page, an HTTP request is sent to the crawled URL.",
  "0.http.hardcoded_ip_disclosure_in_comment.match.attack.s1.o0": "{0}",
  "0.http.hardcoded_ip_disclosure_in_comment.match.result.s0.o0": "A hardcoded IP address is found in the response of the HTTP request.",
  "0.http.hardcoded_ip_disclosure_in_comment.match.result.s1.o0": "{0}",
  "0.http.hardcoded_ip_disclosure_in_comment.match.solution.s0.o0": "Be careful not to hardcode IP addresses in comments, and if necessary, implement them to be loaded dynamically via environment variables or configuration files.",
  "0.http.hardcoded_ip_disclosure_in_script.match.attack.s0.o0": "To check exposure of the hardcoded IP address within the web page, an HTTP request is sent to the crawled URL.",
  "0.http.hardcoded_ip_disclosure_in_script.match.attack.s1.o0": "{0}",
  "0.http.hardcoded_ip_disclosure_in_script.match.result.s0.o0": "A hardcoded IP address is found in the response of the HTTP request.",
  "0.http.hardcoded_ip_disclosure_in_script.match.result.s1.o0": "{0}",
  "0.http.hardcoded_ip_disclosure_in_script.match.solution.s0.o0": "Be careful not to hardcode IP addresses in comments, and if necessary, implement them to be loaded dynamically via environment variables or configuration files.",
  "0.http.header_xss_protection.conditional.disable": "The X-XSS-Protection header included in the HTTP response contains a value of 0 indicating that the cross-site scripting filter is disabled.",
  "0.http.header_xss_protection.conditional.no_header": "No X-XSS-Protection header has been found in the HTTP response.",
  "0.http.header_xss_protection.not.attack.s0.o0": "The Missing XSS Protection Header Vulnerability is caused by lacking an XSS Protection header in the HTTP response.",
  "0.http.header_xss_protection.not.attack.s1.o0": "An X-XSS-Protection header in the HTTP response indicates the status of the ability to stop page loading when the non-persistent cross-site scripting attack is found during page loading in the Internet Explorer, Chrome, or Safari browser.",
  "0.http.header_xss_protection.not.attack.s2.o0": "A value of 0 in the X-XSS-Protection header indicates that the cross-site scripting filter is not used.",
  "0.http.header_xss_protection.not.result.s0.o0": "The HTTP response is shown as follow.",
  "0.http.header_xss_protection.not.result.s1.o0": "{0}",
  "0.http.header_xss_protection.not.solution.s0.o0": "The following is a way to run the X-XSS-Protection header on the web application server.",
  "0.http.header_xss_protection.not.solution.s1.o0": "Apache(.htaccess) :",
  "0.http.header_xss_protection.not.solution.s2.o0": "{0}",
  "0.http.header_xss_protection.not.solution.s3.o0": "PHP :",
  "0.http.header_xss_protection.not.solution.s4.o0": "{0}",
  "0.http.header_xss_protection.not.solution.s5.o0": "Spring framework :",
  "0.http.header_xss_protection.not.solution.s6.o0": "{0}",
  "0.http.header_xss_protection.not.solution.s7.o0": "Node.js :",
  "0.http.header_xss_protection.not.solution.s8.o0": "{0}",
  "0.http.host_header.used.attack.s0.o0": "The Host Header vulnerability is caused by manipulating a host header, which directs links to the Host header values to a malicious site.",
  "0.http.host_header.used.attack.s1.o0": "If use the value of the Host header in the web application without further validation, an attacker can manipulate the Host header to connect to a malicious site.",
  "0.http.host_header.used.attack.s1.o1": "This can allow an attacker to intercept the user request or let the user perform unintended actions.",
  "0.http.host_header.used.attack.s2.o0": "For example, an attacker can manipulate the Host header to link a maliciously crafted password change site to a user.",
  "0.http.host_header.used.attack.s2.o1": "If the user does not recognize and change the password, the changed password information is delivered to the attacker, and the user's account information may be captured.",
  "0.http.host_header.used.attack.s3.o0": "The following HTTP request with changed host header value to {0} has been sent to check the Host Header vulnerability:",
  "0.http.host_header.used.attack.s4.o0": "{0}",
  "0.http.host_header.used.attack.s4.o1": "{0}",
  "0.http.host_header.used.result.s0.o0": "The following HTML element using host header value has been found in the HTTP response for the HTTP request:",
  "0.http.host_header.used.result.s1.o0": "{0}",
  "0.http.host_header.used.result.s2.o0": "In the HTTP response, Host header value {1} used to check {0} property has been found.",
  "0.http.host_header.used.solution.s0.o0": "The simplest way to resolve the Host header vulnerability is not using the value in the Host header.",
  "0.http.host_header.used.solution.s1.o0": "If need to use the Host header value, the Host header value must be first verified and then used.",
  "0.http.host_header.used.solution.s2.o0": "There are whitelist methods and black list methods for verifying Host header values.",
  "0.http.host_header.used.solution.s2.o1": "The whitelisting method is to accept only the specified host header value by storing the validated host header values as a list.",
  "0.http.host_header.used.solution.s2.o3": "The blacklist method is to block the specified host header when it comes in by storing the dangerous host header values as a list.",
  "0.http.host_header.used.solution.s3.o0": "If uses the Host header value after verifying in various ways, the Host Header vulnerability can be solved.",
  "0.http.http_request_smuggling.clte.attack.s0.o0": "HTTP request smuggling - An improper HTTP request was crafted including the Content-Length and Transfer-Encoding: chunked headers for the purpose of validating the CL.TE attack, and then sent to the collected URL.",
  "0.http.http_request_smuggling.clte.attack.s1.o0": "The HTTP request is shown as follow.",
  "0.http.http_request_smuggling.clte.attack.s2.o0": "{0}",
  "0.http.http_request_smuggling.clte.attack.s2.o1": "{0}",
  "0.http.http_request_smuggling.clte.result.s0.o0": "As a result of an inappropriate HTTP request, the server experienced a delay in response and returned an error.",
  "0.http.http_request_smuggling.clte.result.s1.o0": "{0}",
  "0.http.http_request_smuggling.clte.result.s2.o0": "This is because the transmitted HTTP request body does not contain a terminating chunk (0).",
  "0.http.http_request_smuggling.clte.result.s2.o1": "The backend server determined that the request was incomplete based on the `Transfer-Encoding: chunked` header and waited for additional data, but ultimately, the data did not arrive, resulting in a delayed response and an error being returned.",
  "0.http.http_request_smuggling.clte.result.s2.o2": "This result is determined to be an issue caused by a mismatch in the request handling methods between the frontend and backend servers.",
  "0.http.http_request_smuggling.clte.solution.s0.o0": "According to the specifications in RFC 9112 (sections 6.1 to 6.3), using both the Content-Length and Transfer-Encoding headers simultaneously can lead to request smuggling vulnerabilities, so requests that contain both headers should be treated as errors.",
  "0.http.http_request_smuggling.clte.solution.s1.o0": "Therefore, the frontend and backend servers must be configured to consistently handle the Content-Length and Transfer-Encoding headers when interpreting requests, and they should block requests that contain duplicate headers or abnormal header values.",
  "0.http.http_request_smuggling.clte.solution.s2.o0": "Additionally, not all Transfer-Encoding headers are allowed in HTTP/2, so upgrading to HTTP/2 can help prevent request smuggling attacks.",
  "0.http.http_request_smuggling.clte.solution.s2.o1": "However, in environments that support protocol switching (H2C) between HTTP/1.x and HTTP/2, there is a potential for H2C request smuggling attacks, so both the server and client should be configured to consistently use the HTTP/2 protocol.",
  "0.http.http_request_smuggling.tecl.attack.s0.o0": "HTTP request smuggling - An improper HTTP request was crafted with the `Content-Length` and `Transfer-Encoding: chunked` headers for the purpose of validating the TE.CL attack, and then sent to the received URL.",
  "0.http.http_request_smuggling.tecl.attack.s1.o0": "The HTTP request is shown as follow.",
  "0.http.http_request_smuggling.tecl.attack.s2.o0": "{0}",
  "0.http.http_request_smuggling.tecl.attack.s2.o1": "{0}",
  "0.http.http_request_smuggling.tecl.result.s0.o0": "As a result of an inappropriate HTTP request, the server experienced a delay in response and returned an error.",
  "0.http.http_request_smuggling.tecl.result.s1.o0": "{0}",
  "0.http.http_request_smuggling.tecl.result.s2.o0": "This is because the frontend server determines that the request processing is complete upon encountering the terminating chunk (0) based on the Transfer-Encoding: chunked header, and only sends that part to the backend server.",
  "0.http.http_request_smuggling.tecl.result.s2.o1": "The backend server expected the body length (6 bytes) according to the value specified in the Content-Length header, but the transmitted data was insufficient, so it waited for the remaining data to arrive.",
  "0.http.http_request_smuggling.tecl.result.s2.o2": "However, the frontend has completed the transmission, so no additional data arrived, resulting in a delayed response and an error being returned.",
  "0.http.http_request_smuggling.tecl.result.s2.o3": "This result is determined to be an issue caused by a mismatch in the request handling methods between the frontend and backend servers.",
  "0.http.http_request_smuggling.tecl.solution.s0.o0": "According to the specifications in RFC 9112 (sections 6.1 to 6.3), using both the Content-Length and Transfer-Encoding headers simultaneously can lead to request smuggling vulnerabilities, so requests that contain both headers should be treated as errors.",
  "0.http.http_request_smuggling.tecl.solution.s1.o0": "Therefore, the frontend and backend servers must be configured to consistently handle the Content-Length and Transfer-Encoding headers when interpreting requests, and they should block requests that contain duplicate headers or abnormal header values.",
  "0.http.http_request_smuggling.tecl.solution.s2.o0": "Additionally, not all Transfer-Encoding headers are allowed in HTTP/2, so upgrading to HTTP/2 can help prevent request smuggling attacks.",
  "0.http.http_request_smuggling.tecl.solution.s2.o1": "However, in environments that support protocol switching (H2C) between HTTP/1.x and HTTP/2, there is a potential for H2C request smuggling attacks, so both the server and client should be configured to consistently use the HTTP/2 protocol.",
  "0.http.http_request_smuggling.tete.attack.s0.o0": "HTTP request smuggling - An improper HTTP request was crafted with duplicate Transfer-Encoding headers for validating the TE.TE attack, and then sent twice to the collected URL.",
  "0.http.http_request_smuggling.tete.attack.s1.o0": "The HTTP request is shown as follow.",
  "0.http.http_request_smuggling.tete.attack.s2.o0": "{0}",
  "0.http.http_request_smuggling.tete.attack.s2.o1": "{0}",
  "0.http.http_request_smuggling.tete.result.s0.o0": "As a result of the first response to an inappropriate HTTP request, a normal response was returned as follows.",
  "0.http.http_request_smuggling.tete.result.s1.o0": "{0}",
  "0.http.http_request_smuggling.tete.result.s2.o0": "As a result of the inappropriate HTTP request, the following error response was returned.",
  "0.http.http_request_smuggling.tete.result.s3.o0": "{0}",
  "0.http.http_request_smuggling.tete.result.s4.o0": "This is because the backend server considered the duplicated or manipulated Transfer-Encoding header as an abnormal value, resulting in the inability to properly process the request body and return a response.",
  "0.http.http_request_smuggling.tete.result.s4.o1": "As a result, some unprocessed data from the first request remained in the backend server's buffer, and when the second request was sent, the remaining data in the buffer was combined with the new request, resulting in an error.",
  "0.http.http_request_smuggling.tete.result.s4.o2": "This issue is determined to be caused by the backend server not properly validating the Transfer-Encoding header.",
  "0.http.http_request_smuggling.tete.solution.s0.o0": "According to the specifications in RFC 9112 (sections 6.1 to 6.3), using both the Content-Length and Transfer-Encoding headers simultaneously can lead to request smuggling vulnerabilities, so requests that contain both headers should be treated as errors.",
  "0.http.http_request_smuggling.tete.solution.s1.o0": "Therefore, the frontend and backend servers must be configured to consistently handle the Content-Length and Transfer-Encoding headers when interpreting requests, and they should block requests that contain duplicate headers or abnormal header values.",
  "0.http.http_request_smuggling.tete.solution.s2.o0": "Additionally, not all Transfer-Encoding headers are allowed in HTTP/2, so upgrading to HTTP/2 can help prevent request smuggling attacks.",
  "0.http.http_request_smuggling.tete.solution.s2.o1": "However, in environments that support protocol switching (H2C) between HTTP/1.x and HTTP/2, there is a potential for H2C request smuggling attacks, so both the server and client should be configured to consistently use the HTTP/2 protocol.",
  "0.http.inappropriate_title.duplicate_special_characters_in_page_title.attack.s0.o0": "The following HTTP request has been passed.",
  "0.http.inappropriate_title.duplicate_special_characters_in_page_title.attack.s0.o1": "{0}",
  "0.http.inappropriate_title.duplicate_special_characters_in_page_title.attack.s0.o2": "{0}",
  "0.http.inappropriate_title.duplicate_special_characters_in_page_title.attack.s1.o0": "An HTTP response has been received.",
  "0.http.inappropriate_title.duplicate_special_characters_in_page_title.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "0.http.inappropriate_title.duplicate_special_characters_in_page_title.attack.s3.o0": "{0} element has been searched in an HTTP response body.",
  "0.http.inappropriate_title.duplicate_special_characters_in_page_title.attack.s4.o0": "The texts of the element has been checked.",
  "0.http.inappropriate_title.duplicate_special_characters_in_page_title.result.s0.o0": "An HTTP response body is an HTML document.",
  "0.http.inappropriate_title.duplicate_special_characters_in_page_title.result.s1.o0": "{0} element has been found in an HTTP response body. The XPath of the element is shown as follow.",
  "0.http.inappropriate_title.duplicate_special_characters_in_page_title.result.s1.o1": "{0}",
  "0.http.inappropriate_title.duplicate_special_characters_in_page_title.result.s2.o0": "Texts within the element include the duplicated special characters, {0}.  The texts of the element is shown as follow.",
  "0.http.inappropriate_title.duplicate_special_characters_in_page_title.result.s2.o1": "{0}",
  "0.http.inappropriate_title.duplicate_special_characters_in_page_title.result.s3.o0": "Therefore, the texts are inadequate for page titles.",
  "0.http.inappropriate_title.duplicate_special_characters_in_page_title.solution.s0.o0": "Modify not to include two or more identical special characters in a row to texts within the {0} element.",
  "0.http.inappropriate_title.empty_frame_title.attack.s0.o0": "The following HTTP request has been passed.",
  "0.http.inappropriate_title.empty_frame_title.attack.s0.o1": "{0}",
  "0.http.inappropriate_title.empty_frame_title.attack.s0.o2": "{0}",
  "0.http.inappropriate_title.empty_frame_title.attack.s1.o0": "An HTTP response has been received.",
  "0.http.inappropriate_title.empty_frame_title.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "0.http.inappropriate_title.empty_frame_title.attack.s3.o0": "A frame has been searched in an HTTP response body.",
  "0.http.inappropriate_title.empty_frame_title.attack.s4.o0": "{0} attribute has been searched in the frame.",
  "0.http.inappropriate_title.empty_frame_title.result.s0.o0": "An HTTP response body is an HTML document.",
  "0.http.inappropriate_title.empty_frame_title.result.s1.o0": "{0} element, a frame to an HTTP response body, has been found. An XPath of the element is shown as follow.",
  "0.http.inappropriate_title.empty_frame_title.result.s1.o1": "{0}",
  "0.http.inappropriate_title.empty_frame_title.result.s2.o0": "An empty string has been found in {0} attribute of the element. Therefore, a frame title is missing.",
  "0.http.inappropriate_title.empty_frame_title.solution.s0.o0": "Set a non-empty string for {1} attribute of {0} element.",
  "0.http.inappropriate_title.empty_page_title.attack.s0.o0": "The following HTTP request has been passed.",
  "0.http.inappropriate_title.empty_page_title.attack.s0.o1": "{0}",
  "0.http.inappropriate_title.empty_page_title.attack.s1.o0": "An HTTP response has been received.",
  "0.http.inappropriate_title.empty_page_title.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "0.http.inappropriate_title.empty_page_title.attack.s3.o0": "{0} element has been searched in an HTTP response body.",
  "0.http.inappropriate_title.empty_page_title.attack.s4.o0": "The texts of the element has been checked.",
  "0.http.inappropriate_title.empty_page_title.result.s0.o0": "An HTTP response body is an HTML document.",
  "0.http.inappropriate_title.empty_page_title.result.s1.o0": "{0} element has been found in an HTTP response body. The XPath of the element is shown as follow.",
  "0.http.inappropriate_title.empty_page_title.result.s1.o1": "{0}",
  "0.http.inappropriate_title.empty_page_title.result.s2.o0": "An empty string has been found in texts within the element. Therefore, a page title is missing.",
  "0.http.inappropriate_title.empty_page_title.solution.s0.o0": "Set a non-empty string for texts within the {0} element.",
  "0.http.inappropriate_title.no_frame_title.attack.s0.o0": "The following HTTP request has been passed.",
  "0.http.inappropriate_title.no_frame_title.attack.s0.o1": "{0}",
  "0.http.inappropriate_title.no_frame_title.attack.s0.o2": "{0}",
  "0.http.inappropriate_title.no_frame_title.attack.s1.o0": "An HTTP response has been received.",
  "0.http.inappropriate_title.no_frame_title.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "0.http.inappropriate_title.no_frame_title.attack.s3.o0": "A frame has been searched in an HTTP response body.",
  "0.http.inappropriate_title.no_frame_title.attack.s4.o0": "{0} attribute has been searched in the frame.",
  "0.http.inappropriate_title.no_frame_title.result.s0.o0": "An HTTP response body is an HTML document.",
  "0.http.inappropriate_title.no_frame_title.result.s1.o0": "{0} element, a frame to an HTTP response body, has been found. An XPath of the element is shown as follow.",
  "0.http.inappropriate_title.no_frame_title.result.s1.o1": "{0}",
  "0.http.inappropriate_title.no_frame_title.result.s2.o0": "{0} attribute has not been found in the element. Therefore, its frame title is missing.",
  "0.http.inappropriate_title.no_frame_title.solution.s0.o0": "Add {1} attribute of {0} element.",
  "0.http.inappropriate_title.no_page_title.attack.s0.o0": "The following HTTP request has been passed.",
  "0.http.inappropriate_title.no_page_title.attack.s0.o1": "{0}",
  "0.http.inappropriate_title.no_page_title.attack.s0.o2": "{0}",
  "0.http.inappropriate_title.no_page_title.attack.s1.o0": "An HTTP response has been received.",
  "0.http.inappropriate_title.no_page_title.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "0.http.inappropriate_title.no_page_title.attack.s3.o0": "{0} element has been searched in an HTTP response body.",
  "0.http.inappropriate_title.no_page_title.result.s0.o0": "An HTTP response body is an HTML document.",
  "0.http.inappropriate_title.no_page_title.result.s1.o0": "{0} element has not been found in the HTTP response body. Therefore, its page title has not been found.",
  "0.http.inappropriate_title.no_page_title.solution.s0.o0": "Add {0} element.",
  "0.http.incompatible_css.css.attack.s0.o0": "The first HTTP request has been sent as follow.",
  "0.http.incompatible_css.css.attack.s0.o1": "{0}",
  "0.http.incompatible_css.css.attack.s0.o2": "{0}",
  "0.http.incompatible_css.css.attack.s1.o0": "The first HTTP response has been received.",
  "0.http.incompatible_css.css.attack.s2.o0": "The first HTTP response body has been checked for HTML document.",
  "0.http.incompatible_css.css.attack.s3.o0": "A connection has been searched from the first HTTP response body to a CSS document.",
  "0.http.incompatible_css.css.attack.s4.o0": "The second HTTP request has been sent to track searched connection as follow.",
  "0.http.incompatible_css.css.attack.s4.o1": "{0}",
  "0.http.incompatible_css.css.attack.s5.o0": "The second HTTP response has been received.",
  "0.http.incompatible_css.css.attack.s6.o0": "The second HTTP response body has been checked for CSS document.",
  "0.http.incompatible_css.css.attack.s7.o0": "A CSS statement analysis has been performed for the second HTTP response body.",
  "0.http.incompatible_css.css.result.s0.o0": "The first HTTP response body is an HTML document.",
  "0.http.incompatible_css.css.result.s1.o0": "{0} element has been found to connect from the first HTTP response body to a CSS document. The XPath of the element is shown as follow.",
  "0.http.incompatible_css.css.result.s1.o1": "{0}",
  "0.http.incompatible_css.css.result.s2.o0": "{0} attribute of the element is set to {1}, {2} attribute is set as follow.",
  "0.http.incompatible_css.css.result.s2.o1": "{0}",
  "0.http.incompatible_css.css.result.s3.o0": "The second HTTP response body is a CSS document.",
  "0.http.incompatible_css.css.result.s4.o0": "In results of CSS statement analysis of the second HTTP response body, {0} element has been found. Some browsers is not supported on the element.",
  "0.http.incompatible_css.css.solution.s0.o0": "Remove the {0} attribute or replace with other attributes.",
  "0.http.incompatible_css.html.attack.s0.o0": "The following HTTP request has been passed.",
  "0.http.incompatible_css.html.attack.s0.o1": "{0}",
  "0.http.incompatible_css.html.attack.s0.o2": "{0}",
  "0.http.incompatible_css.html.attack.s1.o0": "An HTTP response has been received.",
  "0.http.incompatible_css.html.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "0.http.incompatible_css.html.attack.s3.o0": "{0} element has been searched in an HTTP response body.",
  "0.http.incompatible_css.html.attack.s4.o0": "A CSS statement analysis has been performed for texts within the searched elements.",
  "0.http.incompatible_css.html.result.s0.o0": "An HTTP response body is an HTML document.",
  "0.http.incompatible_css.html.result.s1.o0": "{0} element has been found in an HTTP response body. The XPath of the element is shown as follow.",
  "0.http.incompatible_css.html.result.s1.o1": "{0}",
  "0.http.incompatible_css.html.result.s2.o0": "In results of CSS statement analysis of texts within the element, {0} element has been found. The attribute is not supported on some browsers.",
  "0.http.incompatible_css.html.solution.s0.o0": "Remove the {0} attribute or replace with other attributes.",
  "0.http.incompatible_html.attr.attack.s0.o0": "The following HTTP request has been passed.",
  "0.http.incompatible_html.attr.attack.s0.o1": "{0}",
  "0.http.incompatible_html.attr.attack.s0.o2": "{0}",
  "0.http.incompatible_html.attr.attack.s1.o0": "An HTTP response has been received.",
  "0.http.incompatible_html.attr.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "0.http.incompatible_html.attr.attack.s3.o0": "{0} element has been searched in an HTTP response body.",
  "0.http.incompatible_html.attr.attack.s4.o0": "{0} attribute has been searched in searched elements.",
  "0.http.incompatible_html.attr.result.s0.o0": "An HTTP response body is an HTML document.",
  "0.http.incompatible_html.attr.result.s1.o0": "{0} element has been found in an HTTP response body. The XPath of the element is shown as follow.",
  "0.http.incompatible_html.attr.result.s1.o1": "{0}",
  "0.http.incompatible_html.attr.result.s2.o0": "{0} attribute has been found in the element. The attribute is not supported on some browsers.",
  "0.http.incompatible_html.attr.solution.s0.o0": "Remove the {1} attribute of {0} element.",
  "0.http.incompatible_html.tag.attack.s0.o0": "The following HTTP request has been passed.",
  "0.http.incompatible_html.tag.attack.s0.o1": "{0}",
  "0.http.incompatible_html.tag.attack.s0.o2": "{0}",
  "0.http.incompatible_html.tag.attack.s1.o0": "An HTTP response has been received.",
  "0.http.incompatible_html.tag.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "0.http.incompatible_html.tag.attack.s3.o0": "{0} element has been searched in an HTTP response body.",
  "0.http.incompatible_html.tag.result.s0.o0": "An HTTP response body is an HTML document.",
  "0.http.incompatible_html.tag.result.s1.o0": "{0} element has been found in an HTTP response body. The XPath of the element is shown as follow.",
  "0.http.incompatible_html.tag.result.s1.o1": "{0}",
  "0.http.incompatible_html.tag.result.s2.o0": "Some browsers is not supported on the element.",
  "0.http.incompatible_html.tag.solution.s0.o0": "Remove the {0} element or replace with other elements.",
  "0.http.incompatible_js.html_over_es5.attack.s0.o0": "The following HTTP request has been passed.",
  "0.http.incompatible_js.html_over_es5.attack.s0.o1": "{0}",
  "0.http.incompatible_js.html_over_es5.attack.s0.o2": "{0}",
  "0.http.incompatible_js.html_over_es5.attack.s1.o0": "An HTTP response has been received.",
  "0.http.incompatible_js.html_over_es5.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "0.http.incompatible_js.html_over_es5.attack.s3.o0": "{0} element has been searched in an HTTP response body.",
  "0.http.incompatible_js.html_over_es5.attack.s4.o0": "A JavaScript statement analysis has been performed for texts within the searched elements.",
  "0.http.incompatible_js.html_over_es5.result.s0.o0": "An HTTP response body is an HTML document.",
  "0.http.incompatible_js.html_over_es5.result.s1.o0": "{0} element has been found in an HTTP response body. The XPath of the element is shown as follow.",
  "0.http.incompatible_js.html_over_es5.result.s1.o1": "{0}",
  "0.http.incompatible_js.html_over_es5.result.s2.o0": "In results of JavaScript statement analysis of texts within the element, a feature is available on JavaScript {0} version. The feature name is shown as follow.",
  "0.http.incompatible_js.html_over_es5.result.s2.o1": "{0}",
  "0.http.incompatible_js.html_over_es5.result.s3.o0": "The feature is not supported on some browsers.",
  "0.http.incompatible_js.html_over_es5.solution.s0.o0": "Remove the {0} feature or replace with other features.",
  "0.http.incompatible_js.js_over_es5.attack.s0.o0": "The first HTTP request has been sent as follow.",
  "0.http.incompatible_js.js_over_es5.attack.s0.o1": "{0}",
  "0.http.incompatible_js.js_over_es5.attack.s0.o2": "{0}",
  "0.http.incompatible_js.js_over_es5.attack.s1.o0": "The first HTTP response has been received.",
  "0.http.incompatible_js.js_over_es5.attack.s2.o0": "The first HTTP response body has been checked for HTML document.",
  "0.http.incompatible_js.js_over_es5.attack.s3.o0": "A connection has been searched from the first HTTP response body to a JavaScript document.",
  "0.http.incompatible_js.js_over_es5.attack.s4.o0": "The second HTTP request has been sent to track searched connection as follow.",
  "0.http.incompatible_js.js_over_es5.attack.s4.o1": "{0}",
  "0.http.incompatible_js.js_over_es5.attack.s5.o0": "The second HTTP response has been received.",
  "0.http.incompatible_js.js_over_es5.attack.s6.o0": "The second HTTP response body has been checked for JavaScript document.",
  "0.http.incompatible_js.js_over_es5.attack.s7.o0": "A JavaScript statement analysis has been performed for the second HTTP response body.",
  "0.http.incompatible_js.js_over_es5.result.s0.o0": "The first HTTP response body is an HTML document.",
  "0.http.incompatible_js.js_over_es5.result.s1.o0": "{0} element has been found to connect from the first HTTP response body to a JavaScript document. An XPath of the element is shown as follow.",
  "0.http.incompatible_js.js_over_es5.result.s1.o1": "{0}",
  "0.http.incompatible_js.js_over_es5.result.s2.o0": "{0} attribute of the element is shown as follow.",
  "0.http.incompatible_js.js_over_es5.result.s2.o1": "{0}",
  "0.http.incompatible_js.js_over_es5.result.s3.o0": "A JavaScript document is the second HTTP response body.",
  "0.http.incompatible_js.js_over_es5.result.s4.o0": "In results of JavaScript statement analysis of the second HTTP response body, a feature is available on JavaScript {0} version. The feature name is shown as follow.",
  "0.http.incompatible_js.js_over_es5.result.s4.o1": "{0}",
  "0.http.incompatible_js.js_over_es5.result.s5.o0": "The feature is not supported on some browsers.",
  "0.http.incompatible_js.js_over_es5.solution.s0.o0": "Remove the {0} feature or replace with other features.",
  "0.http.integer_overflow.error.attack.s0.o0": "To check for integer overflow vulnerabilities, the value at {0} was changed to the following {1} and an HTTP request was sent.",
  "0.http.integer_overflow.error.attack.s1.o0": "{0}",
  "0.http.integer_overflow.error.attack.s1.o1": "{0}",
  "0.http.integer_overflow.error.result.s0.o0": "As a result of the manipulated HTTP request, an HTTP 5.x.x status code indicating a server-side error was returned.",
  "0.http.integer_overflow.error.result.s0.o1": "It appears that the transmitted attack payload has affected the server's data processing logic, resulting in an unexpected error occurring internally.",
  "0.http.integer_overflow.error.result.s1.o0": "{0}",
  "0.http.integer_overflow.error.solution.s0.o0": "You should appropriately check the range of integer types based on the programming language or platform before use.",
  "0.http.integer_overflow.error.solution.s0.o1": "For example, it is safer to use a larger range data type such as `long` or `BigInteger` instead of `int`.",
  "0.http.integer_overflow.error.solution.s1.o0": "Additionally, when performing loop control, memory allocation, memory copying, etc., based on external input values, you must implement logic to validate whether the input values are within the expected range.",
  "0.http.integer_overflow.error.solution.s2.o0": "Furthermore, when using integer variables in operations, it is recommended to use safe operation functions or libraries to ensure that the operation results do not exceed the data type's range.",
  "0.http.integer_overflow.error.solution.s2.o1": "For example, the `multiplyExact()` method provided by Java's Math class or the SafeInt library in C++ checks for integer overflow and raises an exception if an overflow is detected, allowing for safe handling.",
  "0.http.invalid_css.css_error.attack.s0.o0": "The first HTTP request has been sent as follow.",
  "0.http.invalid_css.css_error.attack.s0.o1": "{0}",
  "0.http.invalid_css.css_error.attack.s0.o2": "{0}",
  "0.http.invalid_css.css_error.attack.s1.o0": "The first HTTP response has been received.",
  "0.http.invalid_css.css_error.attack.s2.o0": "The first HTTP response body has been checked for HTML document.",
  "0.http.invalid_css.css_error.attack.s3.o0": "A connection has been searched from the first HTTP response body to a CSS document.",
  "0.http.invalid_css.css_error.attack.s4.o0": "The second HTTP request has been sent to track searched connection as follow.",
  "0.http.invalid_css.css_error.attack.s4.o1": "{0}",
  "0.http.invalid_css.css_error.attack.s5.o0": "The second HTTP response has been received.",
  "0.http.invalid_css.css_error.attack.s6.o0": "The second HTTP response body has been checked for CSS document.",
  "0.http.invalid_css.css_error.attack.s7.o0": "A W3C CSS validator analysis has been performed for the second HTTP response body.",
  "0.http.invalid_css.css_error.result.s0.o0": "The first HTTP response body is an HTML document.",
  "0.http.invalid_css.css_error.result.s1.o0": "{0} element has been found to connect from the first HTTP response body to a CSS document. An XPath of the element is shown as follow.",
  "0.http.invalid_css.css_error.result.s1.o1": "{0}",
  "0.http.invalid_css.css_error.result.s2.o0": "{0} attribute of the element is set to {1}, {2} attribute is set as follow.",
  "0.http.invalid_css.css_error.result.s2.o1": "{0}",
  "0.http.invalid_css.css_error.result.s3.o0": "The second HTTP response body is a CSS document.",
  "0.http.invalid_css.css_error.result.s4.o0": "In results of W3C Markup validator analysis of the second HTTP response body, an 'error' has occurred due to violation of the CSS coding standard. Its analysis result message is shown as follow.",
  "0.http.invalid_css.css_error.result.s4.o1": "{0}",
  "0.http.invalid_css.css_error.solution.s0.o0": "See results of W3C CSS validator analysis to modify a CSS document of the second HTTP response body.",
  "0.http.invalid_css.css_warning.attack.s0.o0": "The first HTTP request has been sent as follow.",
  "0.http.invalid_css.css_warning.attack.s0.o1": "{0}",
  "0.http.invalid_css.css_warning.attack.s0.o2": "{0}",
  "0.http.invalid_css.css_warning.attack.s1.o0": "The first HTTP response has been received.",
  "0.http.invalid_css.css_warning.attack.s2.o0": "The first HTTP response body has been checked for HTML document.",
  "0.http.invalid_css.css_warning.attack.s3.o0": "A connection has been searched from the first HTTP response body to a CSS document.",
  "0.http.invalid_css.css_warning.attack.s4.o0": "The second HTTP request has been sent to track searched connection as follow.",
  "0.http.invalid_css.css_warning.attack.s4.o1": "{0}",
  "0.http.invalid_css.css_warning.attack.s5.o0": "The second HTTP response has been received.",
  "0.http.invalid_css.css_warning.attack.s6.o0": "The second HTTP response body has been checked for CSS document.",
  "0.http.invalid_css.css_warning.attack.s7.o0": "A W3C CSS validator analysis has been performed for the second HTTP response body.",
  "0.http.invalid_css.css_warning.result.s0.o0": "The first HTTP response body is an HTML document.",
  "0.http.invalid_css.css_warning.result.s1.o0": "{0} element has been found to connect from the first HTTP response body to a CSS document. An XPath of the element is shown as follow.",
  "0.http.invalid_css.css_warning.result.s1.o1": "{0}",
  "0.http.invalid_css.css_warning.result.s2.o0": "{0} attribute of the element is set to {1}, {2} attribute is set as follow.",
  "0.http.invalid_css.css_warning.result.s2.o1": "{0}",
  "0.http.invalid_css.css_warning.result.s3.o0": "The second HTTP response body is a CSS document.",
  "0.http.invalid_css.css_warning.result.s4.o0": "In results of W3C Markup validator analysis of the second HTTP response body, an 'alarm' has occurred due to violation of the CSS coding standard. Its analysis result message is shown as follow.",
  "0.http.invalid_css.css_warning.result.s4.o1": "{0}",
  "0.http.invalid_css.css_warning.solution.s0.o0": "See results of W3C CSS validator analysis to modify a CSS document of the second HTTP response body.",
  "0.http.invalid_css.html_error.attack.s0.o0": "The following HTTP request has been passed.",
  "0.http.invalid_css.html_error.attack.s0.o1": "{0}",
  "0.http.invalid_css.html_error.attack.s0.o2": "{0}",
  "0.http.invalid_css.html_error.attack.s1.o0": "An HTTP response has been received.",
  "0.http.invalid_css.html_error.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "0.http.invalid_css.html_error.attack.s3.o0": "{0} element has been searched in an HTTP response body.",
  "0.http.invalid_css.html_error.attack.s4.o0": "A W3C CSS validator analysis has been performed for texts within the searched elements.",
  "0.http.invalid_css.html_error.result.s0.o0": "An HTTP response body is an HTML document.",
  "0.http.invalid_css.html_error.result.s1.o0": "{0} element has been searched in an HTTP response body. An XPath of the element is shown as follow.",
  "0.http.invalid_css.html_error.result.s1.o1": "{0}",
  "0.http.invalid_css.html_error.result.s2.o0": "In results of W3C Markup validator analysis of texts within the element, an 'error' has occurred due to violation of the CSS coding standard. Its analysis result message is shown as follow.",
  "0.http.invalid_css.html_error.result.s2.o1": "{0}",
  "0.http.invalid_css.html_error.solution.s0.o0": "See results of W3C CSS validator analysis to modify texts within the {0} element searched in the HTTP response body.",
  "0.http.invalid_css.html_warning.attack.s0.o0": "The following HTTP request has been passed.",
  "0.http.invalid_css.html_warning.attack.s0.o1": "{0}",
  "0.http.invalid_css.html_warning.attack.s0.o2": "{0}",
  "0.http.invalid_css.html_warning.attack.s1.o0": "An HTTP response has been received.",
  "0.http.invalid_css.html_warning.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "0.http.invalid_css.html_warning.attack.s3.o0": "{0} element has been searched in an HTTP response body.",
  "0.http.invalid_css.html_warning.attack.s4.o0": "A W3C CSS validator analysis has been performed for texts within the searched elements.",
  "0.http.invalid_css.html_warning.result.s0.o0": "An HTTP response body is an HTML document.",
  "0.http.invalid_css.html_warning.result.s1.o0": "{0} element has been searched in an HTTP response body. An XPath of the element is shown as follow.",
  "0.http.invalid_css.html_warning.result.s1.o1": "{0}",
  "0.http.invalid_css.html_warning.result.s2.o0": "In results of W3C Markup validator analysis of texts within the element, an 'alarm' has occurred due to violation of the CSS coding standard. Its analysis result message is shown as follow.",
  "0.http.invalid_css.html_warning.result.s2.o1": "{0}",
  "0.http.invalid_css.html_warning.solution.s0.o0": "See results of W3C CSS validator analysis to modify texts within the {0} element searched in the HTTP response body.",
  "0.http.invalid_html.error.attack.s0.o0": "The following HTTP request message has been sent.",
  "0.http.invalid_html.error.attack.s0.o1": "{0}",
  "0.http.invalid_html.error.attack.s0.o2": "{0}",
  "0.http.invalid_html.error.attack.s1.o0": "An HTTP response has been received.",
  "0.http.invalid_html.error.attack.s2.o0": "The HTTP response body has been checked for (X)HTML document.",
  "0.http.invalid_html.error.attack.s3.o0": "A W3C Markup validator analysis has been performed for an HTTP response body.",
  "0.http.invalid_html.error.result.s0.o0": "An HTTP response body is an (X)HTML document.",
  "0.http.invalid_html.error.result.s1.o0": "In results of W3C Markup validator analysis, the following 'error' has occurred.",
  "0.http.invalid_html.error.result.s1.o1": "{0}",
  "0.http.invalid_html.error.solution.s0.o0": "See results of W3C Markup validator analysis to modify an (X)HTML document of the HTTP response body.",
  "0.http.invalid_html.fatal.attack.s0.o0": "The following HTTP request message has been sent.",
  "0.http.invalid_html.fatal.attack.s0.o1": "{0}",
  "0.http.invalid_html.fatal.attack.s0.o2": "{0}",
  "0.http.invalid_html.fatal.attack.s1.o0": "An HTTP response has been received.",
  "0.http.invalid_html.fatal.attack.s2.o0": "The HTTP response body has been checked for (X)HTML document.",
  "0.http.invalid_html.fatal.attack.s3.o0": "A W3C Markup validator analysis has been performed for an HTTP response body.",
  "0.http.invalid_html.fatal.result.s0.o0": "An HTTP response body is an (X)HTML document.",
  "0.http.invalid_html.fatal.result.s1.o0": "In results of W3C Markup validator analysis, the following 'fault' has occurred.",
  "0.http.invalid_html.fatal.result.s1.o1": "{0}",
  "0.http.invalid_html.fatal.solution.s0.o0": "See results of W3C Markup validator analysis to modify an (X)HTML document of the HTTP response body.",
  "0.http.invalid_html.warning.attack.s0.o0": "The following HTTP request message has been sent.",
  "0.http.invalid_html.warning.attack.s0.o1": "{0}",
  "0.http.invalid_html.warning.attack.s0.o2": "{0}",
  "0.http.invalid_html.warning.attack.s1.o0": "An HTTP response has been received.",
  "0.http.invalid_html.warning.attack.s2.o0": "The HTTP response body has been checked for (X)HTML document.",
  "0.http.invalid_html.warning.attack.s3.o0": "A W3C Markup validator analysis has been performed for an HTTP response body.",
  "0.http.invalid_html.warning.result.s0.o0": "An HTTP response body is an (X)HTML document.",
  "0.http.invalid_html.warning.result.s1.o0": "In results of W3C Markup validator analysis, the following 'alarm' has occurred.",
  "0.http.invalid_html.warning.result.s1.o1": "{0}",
  "0.http.invalid_html.warning.solution.s0.o0": "See results of W3C Markup validator analysis to modify an (X)HTML document of the HTTP response body.",
  "0.http.invalid_link_text.a_blank.attack.s0.o0": "The following HTTP request has been passed.",
  "0.http.invalid_link_text.a_blank.attack.s0.o1": "{0}",
  "0.http.invalid_link_text.a_blank.attack.s0.o2": "{0}",
  "0.http.invalid_link_text.a_blank.attack.s1.o0": "An HTTP response has been received.",
  "0.http.invalid_link_text.a_blank.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "0.http.invalid_link_text.a_blank.attack.s3.o0": "A link has been searched in an HTTP response body.",
  "0.http.invalid_link_text.a_blank.attack.s4.o0": "The texts within the searched links have been checked.",
  "0.http.invalid_link_text.a_blank.result.s0.o0": "An HTTP response body is an HTML document.",
  "0.http.invalid_link_text.a_blank.result.s1.o0": "{0} element, a link to an HTTP response body, has been found. An XPath of the element is shown as follow.",
  "0.http.invalid_link_text.a_blank.result.s1.o1": "{0}",
  "0.http.invalid_link_text.a_blank.result.s2.o0": "Texts within the element consist of empty strings with whitespaces. Therefore, the texts are inadequate for link texts.",
  "0.http.invalid_link_text.a_blank.solution.s0.o0": "Set a string with a non-whitespace character for texts within the {0} element.",
  "0.http.invalid_link_text.a_empty.attack.s0.o0": "The following HTTP request has been passed.",
  "0.http.invalid_link_text.a_empty.attack.s0.o1": "{0}",
  "0.http.invalid_link_text.a_empty.attack.s0.o2": "{0}",
  "0.http.invalid_link_text.a_empty.attack.s1.o0": "An HTTP response has been received.",
  "0.http.invalid_link_text.a_empty.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "0.http.invalid_link_text.a_empty.attack.s3.o0": "A link has been searched in an HTTP response body.",
  "0.http.invalid_link_text.a_empty.attack.s4.o0": "The texts within the searched links have been checked.",
  "0.http.invalid_link_text.a_empty.result.s0.o0": "An HTTP response body is an HTML document.",
  "0.http.invalid_link_text.a_empty.result.s1.o0": "{0} element, a link to an HTTP response body, has been found. An XPath of the element is shown as follow.",
  "0.http.invalid_link_text.a_empty.result.s1.o1": "{0}",
  "0.http.invalid_link_text.a_empty.result.s2.o0": "An empty string has been found in texts within the element. Therefore, the texts are inadequate for link texts.",
  "0.http.invalid_link_text.a_empty.solution.s0.o0": "Set a non-empty string for texts within the {0} element.",
  "0.http.invalid_link_text.area_blank.attack.s0.o0": "The following HTTP request has been passed.",
  "0.http.invalid_link_text.area_blank.attack.s0.o1": "{0}",
  "0.http.invalid_link_text.area_blank.attack.s0.o2": "{0}",
  "0.http.invalid_link_text.area_blank.attack.s1.o0": "An HTTP response has been received.",
  "0.http.invalid_link_text.area_blank.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "0.http.invalid_link_text.area_blank.attack.s3.o0": "A link has been searched in an HTTP response body.",
  "0.http.invalid_link_text.area_blank.attack.s4.o0": "{0} attribute has been searched in searched links.",
  "0.http.invalid_link_text.area_blank.result.s0.o0": "An HTTP response body is an HTML document.",
  "0.http.invalid_link_text.area_blank.result.s1.o0": "{0} element, a link to an HTTP response body, has been found. An XPath of the element is shown as follow.",
  "0.http.invalid_link_text.area_blank.result.s1.o1": "{0}",
  "0.http.invalid_link_text.area_blank.result.s2.o0": "{0} attribute of the element consist of empty strings with whitespaces. Therefore, the attribute is inadequate for link texts.",
  "0.http.invalid_link_text.area_blank.solution.s0.o0": "Set a string with a non-whitespace character for {1} of {0} element.",
  "0.http.invalid_link_text.area_empty.attack.s0.o0": "The following HTTP request has been passed.",
  "0.http.invalid_link_text.area_empty.attack.s0.o1": "{0}",
  "0.http.invalid_link_text.area_empty.attack.s0.o2": "{0}",
  "0.http.invalid_link_text.area_empty.attack.s1.o0": "An HTTP response has been received.",
  "0.http.invalid_link_text.area_empty.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "0.http.invalid_link_text.area_empty.attack.s3.o0": "A link has been searched in an HTTP response body.",
  "0.http.invalid_link_text.area_empty.attack.s4.o0": "{0} attribute has been searched in searched links.",
  "0.http.invalid_link_text.area_empty.result.s0.o0": "An HTTP response body is an HTML document.",
  "0.http.invalid_link_text.area_empty.result.s1.o0": "{0} element, a link to an HTTP response body, has been found. An XPath of the element is shown as follow.",
  "0.http.invalid_link_text.area_empty.result.s1.o1": "{0}",
  "0.http.invalid_link_text.area_empty.result.s2.o0": "An empty string has been found in {0} attribute of the element. Therefore, the attribute is inadequate for link texts.",
  "0.http.invalid_link_text.area_empty.solution.s0.o0": "Set a non-empty string for {1} value of {0} element.",
  "0.http.invalid_link_text.area_none.attack.s0.o0": "The following HTTP request has been passed.",
  "0.http.invalid_link_text.area_none.attack.s0.o1": "{0}",
  "0.http.invalid_link_text.area_none.attack.s0.o2": "{0}",
  "0.http.invalid_link_text.area_none.attack.s1.o0": "An HTTP response has been received.",
  "0.http.invalid_link_text.area_none.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "0.http.invalid_link_text.area_none.attack.s3.o0": "A link has been searched in an HTTP response body.",
  "0.http.invalid_link_text.area_none.attack.s4.o0": "{0} attribute has been searched in searched links.",
  "0.http.invalid_link_text.area_none.result.s0.o0": "An HTTP response body is an HTML document.",
  "0.http.invalid_link_text.area_none.result.s1.o0": "{0} element, a link to an HTTP response body, has been found. An XPath of the element is shown as follow.",
  "0.http.invalid_link_text.area_none.result.s1.o1": "{0}",
  "0.http.invalid_link_text.area_none.result.s2.o0": "{0} attribute has not been found in the element. Therefore, its link text is missing.",
  "0.http.invalid_link_text.area_none.solution.s0.o0": "Add {1} attribute of {0} element.",
  "0.http.ldap_injection.match.attack.s0.o0": "To check the LDAP injection, an HTTP request with invalid LDAP query strings is sent to the {0} parameter.",
  "0.http.ldap_injection.match.attack.s0.o1": "The following request has been sent.",
  "0.http.ldap_injection.match.attack.s1.o0": "{0}",
  "0.http.ldap_injection.match.result.s0.o0": "The following response is received for the manipulated HTTP request.",
  "0.http.ldap_injection.match.result.s1.o0": "{0}",
  "0.http.ldap_injection.match.result.s2.o0": "A string inferred to be an LDAP error message has been found in the HTTP response body above.",
  "0.http.ldap_injection.match.result.s2.o1": "As the user input is not properly validated from the server, the attack strings are inserted to the LDAP query which may lead to the error message.",
  "0.http.ldap_injection.match.solution.s0.o0": "To prevent the LDAP injection, use Prepared Statement not to directly insert the external input to the query.",
  "0.http.ldap_injection.match.solution.s0.o1": "And filter out special characters, such as `, ', \", ), (, #, *, &, +, =, <, >, |, ;, to ensure they don't interfere with the LDAP query.",
  "0.http.ldap_injection.match.solution.s1.o0": "When the LDAP injection exposes an error message from the server, an attacker might use the message to reveal server configuration or LDAP query structure.",
  "0.http.ldap_injection.match.solution.s1.o1": "To prevent information leak, keep the error messages with system information from being exposed, and return generic error messages.",
  "0.http.local_file_include.conditional.attack_form": "A value of the parameter {0} transmitted through the form has been set as follow:",
  "0.http.local_file_include.conditional.attack_query_string": "A value of the {0} parameter transmitted through the query string has been set as follow.",
  "0.http.local_file_include.custom.attack.s0.o0": "An HTTP request to be sent to the server has been configured as follow:",
  "0.http.local_file_include.custom.attack.s0.o1": "{0}",
  "0.http.local_file_include.custom.attack.s0.o2": "The specified value comes from the custom attack string.",
  "0.http.local_file_include.custom.attack.s0.o3": "The set value corresponds to a custom attack string.",
  "0.http.local_file_include.custom.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "0.http.local_file_include.custom.attack.s1.o1": "{0}",
  "0.http.local_file_include.custom.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "0.http.local_file_include.custom.result.s0.o1": "{0}",
  "0.http.local_file_include.custom.result.s1.o0": "The following string has been found in the HTTP response body:",
  "0.http.local_file_include.custom.result.s1.o1": "{0}",
  "0.http.local_file_include.custom.result.s2.o0": "As a result of the analysis, a string complied with the custom detection rule {0} has been found.",
  "0.http.local_file_include.custom.solution.s0.o0": "When a specific file is included in a page, do not use the user input.",
  "0.http.local_file_include.custom.solution.s1.o0": "If you need to include a specific file within the server by using the user input, the user input must be verified.",
  "0.http.local_file_include.custom.solution.s1.o1": "When the user input contains character strings of a path with sensitive information or characters to move to parent paths, such as '../', they must be removed or replaced with other characters.",
  "0.http.local_file_include.invocation.attack.s0.o0": "An HTTP request to be sent to the server has been configured as follow:",
  "0.http.local_file_include.invocation.attack.s0.o1": "{0}",
  "0.http.local_file_include.invocation.attack.s0.o2": "{0}",
  "0.http.local_file_include.invocation.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "0.http.local_file_include.invocation.attack.s1.o1": "{0}",
  "0.http.local_file_include.invocation.result.s0.o0": "{0} method call has been found in the server JVM through TrueScan.",
  "0.http.local_file_include.invocation.result.s0.o1": "Arguments of {0} parameter in the method are as follow:",
  "0.http.local_file_include.invocation.result.s0.o2": "{0}",
  "0.http.local_file_include.invocation.result.s0.o3": "For more information on these methods, see the following link: {0}",
  "0.http.local_file_include.invocation.result.s1.o0": "As a result of the analysis, the value set in the HTTP request configuration has been found in {1} parameter of {0} method.",
  "0.http.local_file_include.invocation.result.s1.o1": "Therefore, the method has been called by an HTTP request sent to the server and the server files has been included to a current page through the method.",
  "0.http.local_file_include.invocation.solution.s0.o0": "When a specific file is included in a page, do not use the user input.",
  "0.http.local_file_include.invocation.solution.s1.o0": "If you need to include a specific file within the server by using the user input, the user input must be verified.",
  "0.http.local_file_include.invocation.solution.s1.o1": "When the user input contains character strings of a path with sensitive information or characters to move to parent paths, such as '../', they must be removed or replaced with other characters.",
  "0.http.local_file_include.jsp.attack.s0.o0": "An HTTP request to be sent to the server has been configured as follow:",
  "0.http.local_file_include.jsp.attack.s0.o1": "{0}",
  "0.http.local_file_include.jsp.attack.s0.o2": "{0}",
  "0.http.local_file_include.jsp.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "0.http.local_file_include.jsp.attack.s1.o1": "{0}",
  "0.http.local_file_include.jsp.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "0.http.local_file_include.jsp.result.s0.o1": "{0}",
  "0.http.local_file_include.jsp.result.s1.o0": "The following string has been found in the HTTP response body:",
  "0.http.local_file_include.jsp.result.s1.o1": "{0}",
  "0.http.local_file_include.jsp.result.s2.o0": "As a result of the analysis, {1} file contents in {0} folder specified in an HTTP request configuration has been found.",
  "0.http.local_file_include.jsp.result.s2.o1": "Therefore, the server files can be included to a current page through the HTTP request sent to the server.",
  "0.http.local_file_include.jsp.solution.s0.o0": "When a specific file is included in a page, do not use the user input.",
  "0.http.local_file_include.jsp.solution.s1.o0": "If you need to include a specific file within the server by using the user input, the user input must be verified.",
  "0.http.local_file_include.jsp.solution.s1.o1": "When the user input contains character strings of a path with sensitive information or characters to move to parent paths, such as '../', they must be removed or replaced with other characters.",
  "0.http.missing_alt_text.empty_alt.attack.s0.o0": "The following HTTP request message has been sent.",
  "0.http.missing_alt_text.empty_alt.attack.s0.o1": "{0}",
  "0.http.missing_alt_text.empty_alt.attack.s0.o2": "{0}",
  "0.http.missing_alt_text.empty_alt.result.s0.o0": "{0} web element has been searched in an HTTP response body.",
  "0.http.missing_alt_text.empty_alt.result.s0.o1": "The XPath of the web element is shown as follow.",
  "0.http.missing_alt_text.empty_alt.result.s0.o2": "{0}",
  "0.http.missing_alt_text.empty_alt.result.s0.o3": "The web element is non-text contents.",
  "0.http.missing_alt_text.empty_alt.result.s0.o4": "An empty string has been found in {0} attribute of the web element.",
  "0.http.missing_alt_text.empty_alt.result.s1.o0": "In results, non-text content has been searched that does not provide substituting texts.",
  "0.http.missing_alt_text.empty_alt.solution.s0.o0": "Need to provide substituting texts to understand the meaning or usage of non-text contents.",
  "0.http.missing_alt_text.empty_alt.solution.s0.o1": "Able to provide substituting texts by specifying {1} attribute in {0} web element.",
  "0.http.missing_alt_text.no_alt.attack.s0.o0": "The following HTTP request message has been sent.",
  "0.http.missing_alt_text.no_alt.attack.s0.o1": "{0}",
  "0.http.missing_alt_text.no_alt.attack.s0.o2": "{0}",
  "0.http.missing_alt_text.no_alt.result.s0.o0": "{0} web element has been searched in an HTTP response body.",
  "0.http.missing_alt_text.no_alt.result.s0.o1": "The XPath of the web element is shown as follow.",
  "0.http.missing_alt_text.no_alt.result.s0.o2": "{0}",
  "0.http.missing_alt_text.no_alt.result.s0.o3": "The web element is non-text contents.",
  "0.http.missing_alt_text.no_alt.result.s0.o4": "No {0} attribute has been found in the web element.",
  "0.http.missing_alt_text.no_alt.result.s1.o0": "In results, non-text content has been searched that does not provide substituting texts.",
  "0.http.missing_alt_text.no_alt.solution.s0.o0": "Need to provide substituting texts to understand the meaning or usage of non-text contents.",
  "0.http.missing_alt_text.no_alt.solution.s0.o1": "Able to provide substituting texts by specifying {1} attribute in {0} web element.",
  "0.http.missing_default_language.html_without_lang.attack.s0.o0": "The following HTTP request has been passed.",
  "0.http.missing_default_language.html_without_lang.attack.s0.o1": "{0}",
  "0.http.missing_default_language.html_without_lang.attack.s0.o2": "{0}",
  "0.http.missing_default_language.html_without_lang.attack.s1.o0": "An HTTP response has been received.",
  "0.http.missing_default_language.html_without_lang.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "0.http.missing_default_language.html_without_lang.attack.s3.o0": "{0} element has been searched in an HTTP response body.",
  "0.http.missing_default_language.html_without_lang.attack.s4.o0": "{0} attribute has been searched in searched elements.",
  "0.http.missing_default_language.html_without_lang.result.s0.o0": "An HTTP response body is an HTML document.",
  "0.http.missing_default_language.html_without_lang.result.s1.o0": "{0} element has been found in an HTTP response body. The XPath of the element is shown as follow.",
  "0.http.missing_default_language.html_without_lang.result.s1.o1": "{0}",
  "0.http.missing_default_language.html_without_lang.result.s2.o0": "{0} attribute has not been found in the element. Therefore, a default language of HTML document is missing.",
  "0.http.missing_default_language.html_without_lang.solution.s0.o0": "Add {1} attribute of {0} element.",
  "0.http.missing_default_language.xhtml_without_lang.attack.s0.o0": "The following HTTP request has been passed.",
  "0.http.missing_default_language.xhtml_without_lang.attack.s0.o1": "{0}",
  "0.http.missing_default_language.xhtml_without_lang.attack.s0.o2": "{0}",
  "0.http.missing_default_language.xhtml_without_lang.attack.s1.o0": "An HTTP response has been received.",
  "0.http.missing_default_language.xhtml_without_lang.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "0.http.missing_default_language.xhtml_without_lang.attack.s3.o0": "{0} element has been searched in an HTTP response body.",
  "0.http.missing_default_language.xhtml_without_lang.attack.s4.o0": "{0} attribute has been searched in searched elements.",
  "0.http.missing_default_language.xhtml_without_lang.attack.s5.o0": "{0} attribute has been searched in searched elements.",
  "0.http.missing_default_language.xhtml_without_lang.result.s0.o0": "An HTTP response body is an HTML document.",
  "0.http.missing_default_language.xhtml_without_lang.result.s1.o0": "{0} element has been found in an HTTP response body. The XPath of the element is shown as follow.",
  "0.http.missing_default_language.xhtml_without_lang.result.s1.o1": "{0}",
  "0.http.missing_default_language.xhtml_without_lang.result.s2.o0": "{0} attribute has been found in the element.",
  "0.http.missing_default_language.xhtml_without_lang.result.s3.o0": "{0} attribute has not been found in the element. Therefore, a default language of XHTML document is missing.",
  "0.http.missing_default_language.xhtml_without_lang.solution.s0.o0": "Add {1} attribute of {0} element.",
  "0.http.missing_label.no_id.attack.s0.o0": "The following HTTP request has been passed.",
  "0.http.missing_label.no_id.attack.s0.o1": "{0}",
  "0.http.missing_label.no_id.attack.s0.o2": "{0}",
  "0.http.missing_label.no_id.attack.s1.o0": "An HTTP response has been received.",
  "0.http.missing_label.no_id.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "0.http.missing_label.no_id.attack.s3.o0": "A required element has been searched in an HTTP response body.",
  "0.http.missing_label.no_id.attack.s4.o0": "{0} attribute has been searched in searched elements.",
  "0.http.missing_label.no_id.attack.s5.o0": "{0} element has been searched in parent elements of searched elements.",
  "0.http.missing_label.no_id.result.s0.o0": "An HTTP response body is an HTML document.",
  "0.http.missing_label.no_id.result.s1.o0": "{0} element required a label has been found in the HTTP response body. An XPath of the element is shown as follow.",
  "0.http.missing_label.no_id.result.s1.o1": "{0}",
  "0.http.missing_label.no_id.result.s2.o0": "{0} attribute has not been found in the elements.",
  "0.http.missing_label.no_id.result.s3.o0": "{0} element has not been found in the parents of the elements. Therefore, a label is missing in elements unrequired of a label.",
  "0.http.missing_label.no_id.solution.s0.o0": "Add {1} element for a parent of {0} element. Or, add {1} element and set {2} attribute of the element to {3} attribute of {0} element.",
  "0.http.missing_label.no_label.attack.s0.o0": "The following HTTP request has been passed.",
  "0.http.missing_label.no_label.attack.s0.o1": "{0}",
  "0.http.missing_label.no_label.attack.s0.o2": "{0}",
  "0.http.missing_label.no_label.attack.s1.o0": "An HTTP response has been received.",
  "0.http.missing_label.no_label.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "0.http.missing_label.no_label.attack.s3.o0": "A required element has been searched in an HTTP response body.",
  "0.http.missing_label.no_label.attack.s4.o0": "{0} attribute has been searched in searched elements.",
  "0.http.missing_label.no_label.attack.s5.o0": "{0} element has been searched in parent elements of searched elements.",
  "0.http.missing_label.no_label.result.s0.o0": "An HTTP response body is an HTML document.",
  "0.http.missing_label.no_label.result.s1.o0": "{0} element required a label has been found in the HTTP response body. An XPath of the element is shown as follow.",
  "0.http.missing_label.no_label.result.s1.o1": "{0}",
  "0.http.missing_label.no_label.result.s2.o0": "{0} attribute of the element is shown as follow.",
  "0.http.missing_label.no_label.result.s2.o1": "{0}",
  "0.http.missing_label.no_label.result.s3.o0": "{0} element has not been found in the parents of the elements.",
  "0.http.missing_label.no_label.result.s4.o0": "{1} element with the following {0} attribute has not been found in the HTTP response body.",
  "0.http.missing_label.no_label.result.s4.o1": "{0}",
  "0.http.missing_label.no_label.result.s5.o0": "Therefore, a label is missing in elements unrequired of a label.",
  "0.http.missing_label.no_label.solution.s0.o0": "Add {1} element for a parent of {0} element. Or, add {1} element and set {2} attribute of the element to {3} attribute of {0} element.",
  "0.http.mixed_content.http.attack.s0.o0": "Mixed content refers to the creation of non-encrypted content by including HTTP in the HTTPS page.",
  "0.http.mixed_content.http.attack.s0.o1": "This mixed content can also compromised HTTPS pages by sniffing or attacking of HTTP contents.",
  "0.http.mixed_content.http.attack.s0.o2": "Mixed content is mainly divided into mixed passive content with HTTP content contained in HTTPS pages and mixed active content with access to some or all parts of the DOM of HTTPS pages.",
  "0.http.mixed_content.http.attack.s0.o3": "Mixed passive content presents a low level of threat, such as broken web pages.",
  "0.http.mixed_content.http.attack.s0.o4": "Mixed passive content can fall into the following areas:",
  "0.http.mixed_content.http.attack.s0.o5": "{0}",
  "0.http.mixed_content.http.attack.s0.o6": "Mixed active content is a major threat and allows an attacker to steal the sensitive information or to install malicious code on the system.",
  "0.http.mixed_content.http.attack.s0.o7": "Mixed active content can fall into the following areas:",
  "0.http.mixed_content.http.attack.s0.o8": "{0}",
  "0.http.mixed_content.http.result.s0.o0": "The HTTP response for the page is shown as follow.",
  "0.http.mixed_content.http.result.s1.o0": "{0}",
  "0.http.mixed_content.http.result.s2.o0": "The HTTP response above confirms that {0} contains HTTP content.",
  "0.http.mixed_content.http.solution.s0.o0": "To prevent mixed content, do not use HTTP content.",
  "0.http.non_standard_technology.active_x.attack.s0.o0": "The following HTTP request has been passed.",
  "0.http.non_standard_technology.active_x.attack.s0.o1": "{0}",
  "0.http.non_standard_technology.active_x.attack.s0.o2": "{0}",
  "0.http.non_standard_technology.active_x.attack.s1.o0": "An HTTP response has been received.",
  "0.http.non_standard_technology.active_x.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "0.http.non_standard_technology.active_x.attack.s3.o0": "{0} element has been searched in an HTTP response body.",
  "0.http.non_standard_technology.active_x.attack.s4.o0": "{0} attribute has been checked in searched elements.",
  "0.http.non_standard_technology.active_x.result.s0.o0": "An HTTP response body is an HTML document.",
  "0.http.non_standard_technology.active_x.result.s1.o0": "{0} element has been found in an HTTP response body. The XPath of the element is shown as follow.",
  "0.http.non_standard_technology.active_x.result.s1.o1": "{0}",
  "0.http.non_standard_technology.active_x.result.s2.o0": "{0} attribute of the element is shown as follow.",
  "0.http.non_standard_technology.active_x.result.s2.o1": "{0}",
  "0.http.non_standard_technology.active_x.result.s3.o0": "The attribute value indicates the ActiveX has been applied.",
  "0.http.non_standard_technology.active_x.solution.s0.o0": "Use a standard technique to replace ActiveX.",
  "0.http.non_standard_technology.flash.attack.s0.o0": "The following HTTP request has been passed.",
  "0.http.non_standard_technology.flash.attack.s0.o1": "{0}",
  "0.http.non_standard_technology.flash.attack.s0.o2": "{0}",
  "0.http.non_standard_technology.flash.attack.s1.o0": "An HTTP response has been received.",
  "0.http.non_standard_technology.flash.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "0.http.non_standard_technology.flash.attack.s3.o0": "{0} element has been searched in an HTTP response body.",
  "0.http.non_standard_technology.flash.attack.s4.o0": "{0} attribute has been checked in searched elements.",
  "0.http.non_standard_technology.flash.result.s0.o0": "An HTTP response body is an HTML document.",
  "0.http.non_standard_technology.flash.result.s1.o0": "{0} element has been found in an HTTP response body. The XPath of the element is shown as follow.",
  "0.http.non_standard_technology.flash.result.s1.o1": "{0}",
  "0.http.non_standard_technology.flash.result.s2.o0": "{0} attribute of the element is shown as follow.",
  "0.http.non_standard_technology.flash.result.s2.o1": "{0}",
  "0.http.non_standard_technology.flash.result.s3.o0": "The attribute value indicates the Adobe Flash has been applied.",
  "0.http.non_standard_technology.flash.solution.s0.o0": "Use a standard technique to replace Adobe Flash.",
  "0.http.non_standard_technology.java_applet.attack.s0.o0": "The following HTTP request has been passed.",
  "0.http.non_standard_technology.java_applet.attack.s0.o1": "{0}",
  "0.http.non_standard_technology.java_applet.attack.s0.o2": "{0}",
  "0.http.non_standard_technology.java_applet.attack.s1.o0": "An HTTP response has been received.",
  "0.http.non_standard_technology.java_applet.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "0.http.non_standard_technology.java_applet.attack.s3.o0": "{0} element has been searched in an HTTP response body.",
  "0.http.non_standard_technology.java_applet.attack.s4.o0": "{0} attribute has been checked in searched elements.",
  "0.http.non_standard_technology.java_applet.result.s0.o0": "An HTTP response body is an HTML document.",
  "0.http.non_standard_technology.java_applet.result.s1.o0": "{0} element has been found in an HTTP response body. The XPath of the element is shown as follow.",
  "0.http.non_standard_technology.java_applet.result.s1.o1": "{0}",
  "0.http.non_standard_technology.java_applet.result.s2.o0": "{0} attribute of the element is shown as follow.",
  "0.http.non_standard_technology.java_applet.result.s2.o1": "{0}",
  "0.http.non_standard_technology.java_applet.result.s3.o0": "The attribute value indicates the Java applet has been applied.",
  "0.http.non_standard_technology.java_applet.solution.s0.o0": "Use a standard technique to replace Java applet.",
  "0.http.non_standard_technology.silverlight.attack.s0.o0": "The following HTTP request has been passed.",
  "0.http.non_standard_technology.silverlight.attack.s0.o1": "{0}",
  "0.http.non_standard_technology.silverlight.attack.s0.o2": "{0}",
  "0.http.non_standard_technology.silverlight.attack.s1.o0": "An HTTP response has been received.",
  "0.http.non_standard_technology.silverlight.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "0.http.non_standard_technology.silverlight.attack.s3.o0": "{0} element has been searched in an HTTP response body.",
  "0.http.non_standard_technology.silverlight.attack.s4.o0": "{0} attribute has been checked in searched elements.",
  "0.http.non_standard_technology.silverlight.result.s0.o0": "An HTTP response body is an HTML document.",
  "0.http.non_standard_technology.silverlight.result.s1.o0": "{0} element has been found in an HTTP response body. The XPath of the element is shown as follow.",
  "0.http.non_standard_technology.silverlight.result.s1.o1": "{0}",
  "0.http.non_standard_technology.silverlight.result.s2.o0": "{0} attribute of the element is shown as follow.",
  "0.http.non_standard_technology.silverlight.result.s2.o1": "{0}",
  "0.http.non_standard_technology.silverlight.result.s3.o0": "The attribute value indicates the Microsoft Silverlight has been applied.",
  "0.http.non_standard_technology.silverlight.solution.s0.o0": "Use a standard technique to replace Microsoft Silverlight.",
  "0.http.non_standard_technology.windows_media_player.attack.s0.o0": "The following HTTP request has been passed.",
  "0.http.non_standard_technology.windows_media_player.attack.s0.o1": "{0}",
  "0.http.non_standard_technology.windows_media_player.attack.s0.o2": "{0}",
  "0.http.non_standard_technology.windows_media_player.attack.s1.o0": "An HTTP response has been received.",
  "0.http.non_standard_technology.windows_media_player.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "0.http.non_standard_technology.windows_media_player.attack.s3.o0": "{0} element has been searched in an HTTP response body.",
  "0.http.non_standard_technology.windows_media_player.attack.s4.o0": "{0} attribute has been checked in searched elements.",
  "0.http.non_standard_technology.windows_media_player.result.s0.o0": "An HTTP response body is an HTML document.",
  "0.http.non_standard_technology.windows_media_player.result.s1.o0": "{0} element has been found in an HTTP response body. The XPath of the element is shown as follow.",
  "0.http.non_standard_technology.windows_media_player.result.s1.o1": "{0}",
  "0.http.non_standard_technology.windows_media_player.result.s2.o0": "{0} attribute of the element is shown as follow.",
  "0.http.non_standard_technology.windows_media_player.result.s2.o1": "{0}",
  "0.http.non_standard_technology.windows_media_player.result.s3.o0": "The attribute value indicates the Window Media Player has been applied.",
  "0.http.non_standard_technology.windows_media_player.solution.s0.o0": "Use a standard technique to replace Windows Media Player.",
  "0.http.options_method_enable.options.attack.s0.o0": "The OPTIONS Method Enable vulnerability is caused by returning a result of an OPTIONS method to unauthorized user.",
  "0.http.options_method_enable.options.attack.s0.o0 ": "The OPTIONS Method Enable vulnerability is caused by returning a result of an OPTIONS method to unauthorized user.",
  "0.http.options_method_enable.options.attack.s1.o0": "The OPTIONS Method causes a current web server to return a result of the available method.",
  "0.http.options_method_enable.options.attack.s1.o0 ": "The OPTIONS Method causes a current web server to return a result of the available method.",
  "0.http.options_method_enable.options.attack.s1.o1": "The OPTIONS method is a method that are used to find out what kind of methods are supported by the current web server.",
  "0.http.options_method_enable.options.attack.s1.o1 ": "The OPTIONS method is a method that are used to find out what kind of methods are supported by the current web server.",
  "0.http.options_method_enable.options.attack.s2.o0": "To check an unauthorized OPTIONS method, {0} method has been set and sent the HTTP request.",
  "0.http.options_method_enable.options.attack.s2.o0 ": "To check an unauthorized OPTIONS method, {0} method has been set and sent the HTTP request.",
  "0.http.options_method_enable.options.attack.s3.o0": "{0}",
  "0.http.options_method_enable.options.attack.s3.o1": "{0}",
  "0.http.options_method_enable.options.result.s0.o0": "The HTTP response for the HTTP request is shown as follow.",
  "0.http.options_method_enable.options.result.s0.o0 ": "The HTTP response for the HTTP request is shown as follow.",
  "0.http.options_method_enable.options.result.s1.o0": "{0}",
  "0.http.options_method_enable.options.result.s2.o0": "The OPTIONS request contains the following list of allowed HTTP methods:",
  "0.http.options_method_enable.options.result.s2.o0 ": "The OPTIONS request contains the following list of allowed HTTP methods:",
  "0.http.options_method_enable.options.result.s3.o0": "{0}",
  "0.http.options_method_enable.options.solution.s0.o0": "It is recommended not to allow a user to request with an OPTIONS method.",
  "0.http.options_method_enable.options.solution.s0.o0 ": "It is recommended not to allow a user to request with an OPTIONS method.",
  "0.http.options_method_enable.options.solution.s0.o1": "This requires proper server configuration.",
  "0.http.options_method_enable.options.solution.s0.o1 ": "This requires proper server configuration.",
  "0.http.parameter_tamper.error.attack.s0.o0": "Parameter tamper error attack is an attack that takes a parameter such as URL or FORM tag and changes the value.",
  "0.http.parameter_tamper.error.attack.s0.o1": "Attackers can exploit by altering their normal values, such as changing the price of a product in a shopping web application, through parameter tampering.",
  "0.http.parameter_tamper.error.attack.s0.o2": "In addition, it is also possible to take a user session or a value entered by a user by storing it in a cookie or a header,",
  "0.http.parameter_tamper.error.attack.s0.o3": "The following HTTP request with the parameter value changed to {0} attack string, which causes an error to the web application, has been sent to identify the parameter tampering vulnerable area.",
  "0.http.parameter_tamper.error.attack.s1.o0": "{0}",
  "0.http.parameter_tamper.error.attack.s1.o1": "{0}",
  "0.http.parameter_tamper.error.result.s0.o0": "The HTTP response for the HTTP request is shown as follow.",
  "0.http.parameter_tamper.error.result.s1.o0": "{0}",
  "0.http.parameter_tamper.error.result.s2.o0": "An error occurred due to {0} attack string sent by parameter tampering.",
  "0.http.parameter_tamper.error.solution.s0.o0": "To prevent parameter tampering, set the maximum / minimum length of the parameter value, limit the parameter value through the allowable range of values, pattern, etc., and check the validity.",
  "0.http.parameter_tamper.error.solution.s0.o1": "In addition to these validation checks, users must create a whitelist of values entered as parameters to accept only those that are approved, or create a blacklist to block unauthorized values.",
  "0.http.parameter_tamper.error.solution.s0.o2": "The possibility of tampering with all parts of the HTTP request, such as a header of the HTTP request, cookies, parameters of the URL, and form field values, must be considered.",
  "0.http.passport_number_disclosure.match.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "0.http.passport_number_disclosure.match.attack.s0.o1": "{0}",
  "0.http.passport_number_disclosure.match.attack.s0.o2": "{0}",
  "0.http.passport_number_disclosure.match.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "0.http.passport_number_disclosure.match.result.s0.o1": "{0}",
  "0.http.passport_number_disclosure.match.result.s1.o0": "The following string has been found in the body of the HTTP response:",
  "0.http.passport_number_disclosure.match.result.s1.o1": "{0}",
  "0.http.passport_number_disclosure.match.result.s1.o2": "The string corresponds to the passport number.",
  "0.http.passport_number_disclosure.match.result.s2.o0": "As a result of the analysis, a passport number has been found in HTTP response text.",
  "0.http.passport_number_disclosure.match.result.s2.o1": "Therefore, a passport number can be stolen from HTTP requests sent to the server.",
  "0.http.passport_number_disclosure.match.solution.s0.o0": "The HTTP response text should not include a passport number.",
  "0.http.passport_number_disclosure.match.solution.s0.o1": "Please check passport number disclosure for all HTTP response text components, including plain text and comments.",
  "0.http.password_autocomplete.form.attack.s0.o0": "Password autocomplete is a function that automatically completes the password for the convenience of the user.",
  "0.http.password_autocomplete.form.attack.s0.o1": "However, password autocompletion can automatically complete passwords that are not needed in the future, such as OTP(One-time password)",
  "0.http.password_autocomplete.form.attack.s0.o2": "Above all, important information such as a resident number or card security code can be automatically submitted to the form tag.",
  "0.http.password_autocomplete.form.attack.s1.o0": "To prevent autocompletion of these passwords, add an autocomplete property with the value 'off' in the form tag or INPUT tag for password.",
  "0.http.password_autocomplete.form.attack.s1.o1": "Autocomplete property with 'off' value can prevent the browser from saving the password entered in the field of the form tag and used in a similar form tag, and also prevents the entered value from being cached in the browser's session history.",
  "0.http.password_autocomplete.form.result.s0.o0": "The HTTP response for the page is shown as follow.",
  "0.http.password_autocomplete.form.result.s1.o0": "{0}",
  "0.http.password_autocomplete.form.result.s2.o0": "The HTTP response above confirms that there is no autocomplete property on {0} or the value of autocomplete property is not off.",
  "0.http.password_autocomplete.form.solution.s0.o0": "To prevent password autocomplete in the form tag, off for the autocomplete attribute needs to be added in the form tag as shown in the example:",
  "0.http.password_autocomplete.form.solution.s1.o0": "{0}",
  "0.http.password_autocomplete.form.solution.s2.o0": "Alternatively, the autocomplete property with an off value in the INPUT tag where important values ​​such as passwords are placed within the form tag must be added.",
  "0.http.password_autocomplete.form.solution.s3.o0": "{0}",
  "0.http.path_traversal.invocation.attack.s0.o0": "Directory traversal is an attack where the attacker's input value is used in the directory path string to gain access to the file system outside the top-level directory of the web application.",
  "0.http.path_traversal.invocation.attack.s0.o1": "An attacker can access the file system and gain access to sensitive information such as code or system files for a web application.",
  "0.http.path_traversal.invocation.attack.s0.o2": "For example, if the parameter values ​​in the URL are used to load a file as follow,",
  "0.http.path_traversal.invocation.attack.s1.o0": "{0}",
  "0.http.path_traversal.invocation.attack.s2.o0": "Most of file systems can access to files out of the root directory of the web application by using '../', which represents a path to the parent directory, as follow.",
  "0.http.path_traversal.invocation.attack.s3.o0": "{0}",
  "0.http.path_traversal.invocation.attack.s4.o0": "The following HTTP request with the {0} attack string for Path Traversal has been sent to verify that this path traversal is possible:",
  "0.http.path_traversal.invocation.attack.s5.o0": "{0}",
  "0.http.path_traversal.invocation.attack.s5.o1": "{0}",
  "0.http.path_traversal.invocation.result.s0.o0": "The {0} API for accessing to the file system within the server has been called.",
  "0.http.path_traversal.invocation.solution.s0.o0": "To prevent path traversal, the user input ​​should not be used to access files and directories in the file system.",
  "0.http.path_traversal.invocation.solution.s0.o1": "If the user input must be used, make sure that the input is not used to the entire path, and also check that the user input is valid.",
  "0.http.path_traversal.invocation.solution.s0.o2": "It is also a function that encodes possible values ​​of Path Traversal such as URI.normalize() of Java, and it is necessary to change user's input value.",
  "0.http.path_traversal.match.attack.s0.o0": "Directory traversal is an attack where the attacker's input value is used in the directory path string to gain access to the file system outside the top-level directory of the web application.",
  "0.http.path_traversal.match.attack.s0.o1": "An attacker can access the file system and gain access to sensitive information such as code or system files for a web application.",
  "0.http.path_traversal.match.attack.s0.o2": "For example, if the parameter values ​​in the URL are used to load a file as follow,",
  "0.http.path_traversal.match.attack.s1.o0": "{0}",
  "0.http.path_traversal.match.attack.s2.o0": "Most of file systems can access to files out of the root directory of the web application by using '../', which represents a path to the parent directory, as follow.",
  "0.http.path_traversal.match.attack.s3.o0": "{0}",
  "0.http.path_traversal.match.attack.s4.o0": "The following HTTP request with the {0} attack string for Path Traversal has been sent to verify that this path traversal is possible:",
  "0.http.path_traversal.match.attack.s5.o0": "{0}",
  "0.http.path_traversal.match.attack.s5.o1": "{0}",
  "0.http.path_traversal.match.result.s0.o0": "The HTTP response for the HTTP request is shown as follow.",
  "0.http.path_traversal.match.result.s1.o0": "{0}",
  "0.http.path_traversal.match.result.s2.o0": "It is confirmed that {0} attack string manipulated the path and that the contents of the file are included in the HTTP response.",
  "0.http.path_traversal.match.solution.s0.o0": "To prevent path traversal, the user input ​​should not be used to access files and directories in the file system.",
  "0.http.path_traversal.match.solution.s0.o1": "If the user input must be used, make sure that the input is not used to the entire path, and also check that the user input is valid.",
  "0.http.path_traversal.match.solution.s0.o2": "It is also a function that encodes possible values ​​of Path Traversal such as URI.normalize() of Java, and it is necessary to change user's input value.",
  "0.http.permissive_cors_setting.cors.attack.s0.o0": "The following request has been sent.",
  "0.http.permissive_cors_setting.cors.attack.s0.o1": "{0}",
  "0.http.permissive_cors_setting.cors.attack.s0.o2": "{0}",
  "0.http.permissive_cors_setting.cors.result.s0.o0": "The header named Access-Control-Allow-Origin in the response has the following value.",
  "0.http.permissive_cors_setting.cors.result.s0.o1": "{0}",
  "0.http.permissive_cors_setting.cors.result.s0.o2": "The header named Access-Control-Allow-Credentials in the response has the following value.",
  "0.http.permissive_cors_setting.cors.result.s0.o3": "{0}",
  "0.http.permissive_cors_setting.cors.solution.s0.o0": "The Access-Control-Allow-Origin header should be limited to specific trusted domains, avoiding settings of `*` or `null`. In addition, the Access-Control-Allow-Credentials header should be set to `true` only when absolutely necessary and configured to allow CORS requests only from specific sources.",
  "0.http.permissive_robots_txt_setting.setting.attack.s0.o0": "The following request has been sent.",
  "0.http.permissive_robots_txt_setting.setting.attack.s0.o1": "{0}",
  "0.http.permissive_robots_txt_setting.setting.attack.s0.o2": "{0}",
  "0.http.permissive_robots_txt_setting.setting.result.s0.o0": "{0}",
  "0.http.permissive_robots_txt_setting.setting.result.s0.o1": "Due to the settings, information of the analyzing site might be leaked through search engines.",
  "0.http.permissive_robots_txt_setting.setting.solution.s0.o0": "You can block access from certain search engines by placing the robots.txt file in the root path (/) of your web server and changing the User-agent value. You should also use the Disallow directive to restrict search engine access to certain directories or files to prevent sensitive information from being exposed.",
  "0.http.phf_command_execution.phf.attack.s0.o0": "An HTTP request has been sent to the {0} path to check the PHF CGI Remote Command Execution vulnerability.",
  "0.http.phf_command_execution.phf.attack.s1.o0": "The HTTP request is shown as follow.",
  "0.http.phf_command_execution.phf.attack.s2.o0": "{0}",
  "0.http.phf_command_execution.phf.attack.s2.o1": "{0}",
  "0.http.phf_command_execution.phf.result.s0.o0": "The PHF CGI remote command execution vulnerability is an attack intended to execute commands on the user's operating system using the 'escape_shell_cmd ()' function of the CGI program PHF.",
  "0.http.phf_command_execution.phf.result.s1.o0": "The following HTTP response message is sent for the HTTP request.",
  "0.http.phf_command_execution.phf.result.s2.o0": "{0}",
  "0.http.phf_command_execution.phf.result.s3.o0": "{0} pattern system information has been exposed in the response message above.",
  "0.http.phf_command_execution.phf.solution.s0.o0": "To resolve the vulnerability, please follow these guidelines",
  "0.http.phf_command_execution.phf.solution.s1.o0": "Do not use a vulnerable CGI program such as PHF that uses the 'escape_shell_cmd ()' function.",
  "0.http.phf_command_execution.phf.solution.s2.o0": "If the program must be used, modify the CGI program so that it does not use the 'escape_shell_cmd ()' function",
  "0.http.private_address_disclosure.pattern.attack.s0.o0": "The Private Address Exposure vulnerability is caused by exposing the private IP addresses of a Web page or HTTP response.",
  "0.http.private_address_disclosure.pattern.attack.s1.o0": "Although there are many ways for an attacker to extract the public IP address of a web application, it is not possible to take an individual IP address that is used internally in the same way.",
  "0.http.private_address_disclosure.pattern.attack.s1.o1": "However, when an individual IP address is exposed, an attacker can use it to attack web applications.",
  "0.http.private_address_disclosure.pattern.attack.s1.o2": "This can be a serious problem, especially for individual IP addresses that belong to an organization.",
  "0.http.private_address_disclosure.pattern.result.s0.o0": "An HTTP response for the page.",
  "0.http.private_address_disclosure.pattern.result.s1.o0": "{0}",
  "0.http.private_address_disclosure.pattern.result.s2.o0": "A possible individual IP address has been found in the HTTP response message above as follow:",
  "0.http.private_address_disclosure.pattern.result.s3.o0": "{0}",
  "0.http.private_address_disclosure.pattern.solution.s0.o0": "To prevent the Private Address Exposure vulnerability, users should not use private IP address in a web application",
  "0.http.private_address_disclosure.pattern.solution.s0.o1": "Please verify service banners or debug messages that are likely to expose private IP addresses.",
  "0.http.private_address_disclosure.pattern.solution.s0.o2": "If using a private IP address, users must change the private IP address to a different identifier so that it can not be exploited by an attacker.",
  "0.http.referrer_policy_header.match.attack.s0.o0": "To check that the Referrer-Policy header is lost or uses an improper option, the following HTTP request has been sent to the target URL.",
  "0.http.referrer_policy_header.match.attack.s1.o0": "{0}",
  "0.http.referrer_policy_header.match.result.s0.o0": "The following response is received for the HTTP request.",
  "0.http.referrer_policy_header.match.result.s1.o0": "{0}",
  "0.http.referrer_policy_header.match.result.s2.o0": "An improper option {0} has been found in the Referrer-Policy header from the HTTP response.",
  "0.http.referrer_policy_header.match.result.s2.o1": "As the option includes a full URL in the Referer header, sensitive information might be exposed.",
  "0.http.referrer_policy_header.match.result.s2.o2": "To prevent this from happening, set a secure option.",
  "0.http.referrer_policy_header.match.solution.s0.o0": "Avoid including sensitive data, such as session token, authentication data, in the URL.",
  "0.http.referrer_policy_header.match.solution.s0.o1": "In addition, set the Referrer-Policy header to restrict or remove data in the Referer header.",
  "0.http.referrer_policy_header.match.solution.s0.o2": "The Referrer-Policy header controls data included to the Referer header within request target, source, or the level of protocol security: requires proper options for the security and privacy protection.",
  "0.http.referrer_policy_header.match.solution.s1.o0": "The following options are recommended for the Referrer-Policy header: no-referrer, same-origin, strict-origin, strict-origin-when-cross-origin.",
  "0.http.referrer_policy_header.match.solution.s1.o1": " On the contrary, options like unsafe-url, no-referrer-when-downgrade are recommended not to be used as they use the full URLs on the Referer header.",
  "0.http.referrer_policy_header.missing.attack.s0.o0": "To check that the Referrer-Policy header is lost or uses an improper option, the following HTTP request has been sent to the target URL.",
  "0.http.referrer_policy_header.missing.attack.s1.o0": "{0}",
  "0.http.referrer_policy_header.missing.result.s0.o0": "The following response is received for the HTTP request.",
  "0.http.referrer_policy_header.missing.result.s1.o0": "{0}",
  "0.http.referrer_policy_header.missing.result.s2.o0": "No Referrer-Policy header has been found from the HTTP response.",
  "0.http.referrer_policy_header.missing.result.s2.o1": "To prevent the sensitive information from being exposed, ensure to set the proper Referrer-Policy header.",
  "0.http.referrer_policy_header.missing.solution.s0.o0": "Avoid including sensitive data, such as session token, authentication data, in the URL.",
  "0.http.referrer_policy_header.missing.solution.s0.o1": "In addition, set the Referrer-Policy header to restrict or remove data in the Referer header.",
  "0.http.referrer_policy_header.missing.solution.s0.o2": "The Referrer-Policy header controls data included to the Referer header within request target, source, or the level of protocol security: requires proper options for the security and privacy protection.",
  "0.http.referrer_policy_header.missing.solution.s1.o0": "The following options are recommended for the Referrer-Policy header: no-referrer, same-origin, strict-origin, strict-origin-when-cross-origin.",
  "0.http.referrer_policy_header.missing.solution.s1.o1": " On the contrary, options like unsafe-url, no-referrer-when-downgrade are recommended not to be used as they use the full URLs on the Referer header.",
  "0.http.remote_file_include.execute.attack.s0.o0": "The Remote File Inclusion vulnerability is caused by using a user input for file upload or execution.",
  "0.http.remote_file_include.execute.attack.s0.o1": "An attacker can exploit the vulnerability by running a file that contains malicious code through a remote file inclusion vulnerability to exploit sensitive information or to cause the web application to behave abnormally.",
  "0.http.remote_file_include.execute.attack.s0.o2": "If code with the remote file inclusion vulnerability is included in the web application server as follow,",
  "0.http.remote_file_include.execute.attack.s1.o0": "{0}",
  "0.http.remote_file_include.execute.attack.s2.o0": "An attacker can include the malicious file {0} in the web application's server as follow:",
  "0.http.remote_file_include.execute.attack.s3.o0": "{0}",
  "0.http.remote_file_include.execute.attack.s4.o0": "The following HTTP request with a Google link has been sent to check the Remote File Inclusion vulnerability:",
  "0.http.remote_file_include.execute.attack.s5.o0": "{0}",
  "0.http.remote_file_include.execute.attack.s5.o1": "{0}",
  "0.http.remote_file_include.execute.result.s0.o0": "The HTTP response for the HTTP request is shown as follow.",
  "0.http.remote_file_include.execute.result.s1.o0": "{0}",
  "0.http.remote_file_include.execute.result.s2.o0": "It is confirm that the HTTP request contained the content of the Google page.",
  "0.http.remote_file_include.execute.solution.s0.o0": "To avoid remote file inclusion vulnerabilities, users should not use the input values ​​to upload and run files.",
  "0.http.remote_file_include.execute.solution.s0.o1": "If you need to use the user input, enforce user authentication and create whitelists to include and execute only authenticated files, or create blacklists to exclude unauthorized files.",
  "0.http.remote_file_include.execute.solution.s0.o2": "In addition, by using the web firewall, uploading of remote files can be stopped.",
  "0.http.resident_registration_number_disclosure.match.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "0.http.resident_registration_number_disclosure.match.attack.s0.o1": "{0}",
  "0.http.resident_registration_number_disclosure.match.attack.s0.o2": "{0}",
  "0.http.resident_registration_number_disclosure.match.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "0.http.resident_registration_number_disclosure.match.result.s0.o1": "{0}",
  "0.http.resident_registration_number_disclosure.match.result.s1.o0": "The following string has been found in the body of the HTTP response:",
  "0.http.resident_registration_number_disclosure.match.result.s1.o1": "{0}",
  "0.http.resident_registration_number_disclosure.match.result.s1.o2": "The string corresponds to the social security number.",
  "0.http.resident_registration_number_disclosure.match.result.s2.o0": "As a result of the analysis, a social security number has been found in the HTTP response text.",
  "0.http.resident_registration_number_disclosure.match.result.s2.o1": "Therefore, a social security number can be stolen from HTTP requests sent to the server.",
  "0.http.resident_registration_number_disclosure.match.solution.s0.o0": "The HTTP response text should not include a social security number.",
  "0.http.resident_registration_number_disclosure.match.solution.s0.o1": "Please check social security number disclosure for all HTTP response text components, including plain text and comments.",
  "0.http.sensitive_information_in_error_pages.was.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "0.http.sensitive_information_in_error_pages.was.attack.s0.o1": "{0}",
  "0.http.sensitive_information_in_error_pages.was.attack.s0.o2": "{0}",
  "0.http.sensitive_information_in_error_pages.was.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "0.http.sensitive_information_in_error_pages.was.result.s0.o1": "{0}",
  "0.http.sensitive_information_in_error_pages.was.result.s1.o0": "The following string has been found in the HTTP response body:",
  "0.http.sensitive_information_in_error_pages.was.result.s1.o1": "{0}",
  "0.http.sensitive_information_in_error_pages.was.result.s2.o0": "As a result of the analysis, the target page is the error page of {0} WAS (Web Application Server) and the sensitive information has been found to be exposed from the page.",
  "0.http.sensitive_information_in_error_pages.was.result.s2.o1": "Therefore, sensitive information in the error page can be exploited by HTTP request sent to the server.",
  "0.http.sensitive_information_in_error_pages.was.solution.s0.o0": "It is recommended to correct the application error that occurs on the page.",
  "0.http.sensitive_information_in_error_pages.was.solution.s0.o1": "It is recommend to correct the error page so that no sensitive information is exposed on the error page.",
  "0.http.sensitive_information_in_meta_tag.wp_version.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "0.http.sensitive_information_in_meta_tag.wp_version.attack.s0.o1": "{0}",
  "0.http.sensitive_information_in_meta_tag.wp_version.attack.s0.o2": "{0}",
  "0.http.sensitive_information_in_meta_tag.wp_version.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "0.http.sensitive_information_in_meta_tag.wp_version.result.s0.o1": "{0}",
  "0.http.sensitive_information_in_meta_tag.wp_version.result.s1.o0": "In the HTTP response text, the following string has been found in the {1} property value of the {0} tag in the text:",
  "0.http.sensitive_information_in_meta_tag.wp_version.result.s1.o1": "{0}",
  "0.http.sensitive_information_in_meta_tag.wp_version.result.s1.o2": "The string corresponds to the WordPress version information.",
  "0.http.sensitive_information_in_meta_tag.wp_version.result.s2.o0": "As a result of analysis, WordPress version information categorized as sensitive information has been found in {0} tag of the response text.",
  "0.http.sensitive_information_in_meta_tag.wp_version.result.s2.o1": "Therefore, important information about the server can be obtained by HTTP requests sent to the server.",
  "0.http.sensitive_information_in_meta_tag.wp_version.solution.s0.o0": "Do not expose version information for server components.",
  "0.http.sensitive_information_in_meta_tag.wp_version.solution.s0.o1": "The {0} tag should not contain sensitive information, as it can be referenced by external sites.",
  "0.http.server_information_disclosure.server.attack.s0.o0": "The following request has been sent.",
  "0.http.server_information_disclosure.server.attack.s0.o1": "{0}",
  "0.http.server_information_disclosure.server.attack.s0.o2": "{0}",
  "0.http.server_information_disclosure.server.result.s0.o0": "{0} header has been found in the response.",
  "0.http.server_information_disclosure.server.result.s0.o1": "The following value is set to the header.",
  "0.http.server_information_disclosure.server.result.s0.o2": "{0}",
  "0.http.server_information_disclosure.server.solution.s0.o0": "Remove the Server header value from the response header or set it to not expose server information. You should also change your server settings to provide minimal information to prevent attackers from collecting server version information.",
  "0.http.server_information_included_in_http_headers.included.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "0.http.server_information_included_in_http_headers.included.attack.s0.o1": "{0}",
  "0.http.server_information_included_in_http_headers.included.attack.s0.o2": "{0}",
  "0.http.server_information_included_in_http_headers.included.result.s0.o0": "The HTTP response header contains the server's version information, as shown below.",
  "0.http.server_information_included_in_http_headers.included.result.s0.o1": "{0}",
  "0.http.server_information_included_in_http_headers.included.solution.s0.o0": "Change settings on the server and restrict the version from being included in the HTTP response header.",
  "0.http.server_information_included_in_http_headers.included.solution.s1.o0": "For PHP, adjust the settings in the php.ini file as shown below.",
  "0.http.server_information_included_in_http_headers.included.solution.s1.o1": "{0}",
  "0.http.server_information_included_in_http_headers.included.solution.s2.o0": "For Apache, adjust the settings in the httpd.conf file as shown below.",
  "0.http.server_information_included_in_http_headers.included.solution.s2.o1": "{0}",
  "0.http.server_information_included_in_http_headers.included.solution.s3.o0": "In Nginx, use the fastcgi_hide_header directive for header hiding.",
  "0.http.server_information_included_in_http_headers.included.solution.s3.o1": "{0}",
  "0.http.server_information_included_in_http_headers.included.solution.s4.o0": "For IIS, adjust the settings in the web.config file as shown below.",
  "0.http.server_information_included_in_http_headers.included.solution.s4.o1": "{0}",
  "0.http.server_information_included_in_http_headers.included.solution.s4.o2": "{0}",
  "0.http.server_side_code_disclosure.match.attack.s0.o0": "To check the server-side code exposure, the following HTTP request has been sent to the target URL.",
  "0.http.server_side_code_disclosure.match.attack.s1.o0": "{0}",
  "0.http.server_side_code_disclosure.match.result.s0.o0": "Data estimated as server-side code has been found in the HTTP response body.",
  "0.http.server_side_code_disclosure.match.result.s0.o1": "With the code exposure, an attacker can use it to implement further attacks.",
  "0.http.server_side_code_disclosure.match.result.s1.o0": "{0}",
  "0.http.server_side_code_disclosure.match.solution.s0.o0": "Make sure that the server-side code is not exposed unless it is intended for debugging or testing.",
  "0.http.server_side_code_disclosure.match.solution.s0.o1": "Ensure to remove the code and settings for debugging or testing after process completes.",
  "0.http.server_side_code_disclosure.match.solution.s1.o0": "And, as insufficient settings for the web application might expose a directory list, an unauthorized user can view server-side code.",
  "0.http.server_side_code_disclosure.match.solution.s1.o1": "To avoid this, it is recommend to use settings to prevent the directory list exposure.",
  "0.http.server_side_include.exec.attack.s0.o0": "SSI(Server Side Includes) is a simple server scripting language that is interpreted by a web server and sent to a browser in addition to HTML tags.",
  "0.http.server_side_include.exec.attack.s1.o0": "Commonly used SSI directives are shown as follows.",
  "0.http.server_side_include.exec.attack.s2.o0": "{0}",
  "0.http.server_side_include.exec.attack.s2.o1": "SSI injection is an attack where the attacker's input is sent to the web application's server by SSI to execute malicious code.",
  "0.http.server_side_include.exec.attack.s2.o2": "This allows an attacker to perform OS commands with the user's privileges on the web server, or to include malicious files on the page.",
  "0.http.server_side_include.exec.attack.s2.o3": "The following HTTP request with {0} attack string has been sent to check the SSI injections:",
  "0.http.server_side_include.exec.attack.s3.o0": "{0}",
  "0.http.server_side_include.exec.result.s0.o0": "The HTTP response for the HTTP request is shown as follow.",
  "0.http.server_side_include.exec.result.s1.o0": "{0}",
  "0.http.server_side_include.exec.result.s2.o0": "The HTTP response above confirms that the SSI contained in the {0} attack string has been executed.",
  "0.http.server_side_include.exec.solution.s0.o0": "To prevent SSI injection, SSI must be prevented from running when it is not needed.",
  "0.http.server_side_include.exec.solution.s0.o1": "If need to use SSI, only allow those SSI directives on that page, and prevent other SSI directives.",
  "0.http.server_side_include.exec.solution.s0.o2": "In addition, ensure that the input values are not included in the SSI and are not executed on pages that contain SSI.",
  "0.http.server_side_template_injection.match.attack.s0.o0": "To check the server side template injection, an HTTP request is sent with attack strings used on {0} parameter of the template engines.",
  "0.http.server_side_template_injection.match.attack.s1.o0": "The request is shown as below.",
  "0.http.server_side_template_injection.match.attack.s2.o0": "{0}",
  "0.http.server_side_template_injection.match.result.s0.o0": "The following response is received for the manipulated HTTP request.",
  "0.http.server_side_template_injection.match.result.s1.o0": "{0}",
  "0.http.server_side_template_injection.match.result.s2.o0": "The {0} string is found in the HTTP response body above.",
  "0.http.server_side_template_injection.match.result.s2.o1": "Therefore, as strings from the user inputs are improperly filtered, the attack strings are injected to the server side template engine and executed.",
  "0.http.server_side_template_injection.match.solution.s0.o0": "The best way to mitigate server-side template injection vulnerabilities is to apply multiple layers of sanitization and input value validation.",
  "0.http.server_side_template_injection.match.solution.s1.o0": "1. Sanitization (code stability check)",
  "0.http.server_side_template_injection.match.solution.s1.o1": "Sanitization is a way to prevent parameter values passed in from user input from being interpreted as template syntax.",
  "0.http.server_side_template_injection.match.solution.s1.o2": "To do this, template files should be kept in a predefined state, and all user input should be treated as safe variables provided by the template.",
  "0.http.server_side_template_injection.match.solution.s1.o3": "The following are examples of sanitization by popular template engines.",
  "0.http.server_side_template_injection.match.solution.s2.o0": "Python Jinja",
  "0.http.server_side_template_injection.match.solution.s2.o1": "You should use the render_template() function.",
  "0.http.server_side_template_injection.match.solution.s2.o2": "- This ensures that user input is not interpreted as template syntax, but is treated as a string.",
  "0.http.server_side_template_injection.match.solution.s3.o0": "{0}",
  "0.http.server_side_template_injection.match.solution.s4.o0": "Spring Thymeleaf",
  "0.http.server_side_template_injection.match.solution.s4.o1": "- Make sure to use th:text code instead of th:utext.",
  "0.http.server_side_template_injection.match.solution.s4.o2": "- th:text automatically escapes HTML special characters.",
  "0.http.server_side_template_injection.match.solution.s4.o3": "- th:utext is code to disable HTML escaping.",
  "0.http.server_side_template_injection.match.solution.s5.o0": "{0}",
  "0.http.server_side_template_injection.match.solution.s6.o0": "In addition to this, the user input value should not be included in the return value returned by the controller. ",
  "0.http.server_side_template_injection.match.solution.s6.o1": "If you do need to include the user input value, you can use the @ResponseBody annotation to tell the Spring framework to interpret the user input value as a simple string instead of interpreting it as a view name.",
  "0.http.server_side_template_injection.match.solution.s7.o0": "2. Input Validation",
  "0.http.server_side_template_injection.match.solution.s7.o1": "The user input should be filtered to prevent key special characters such as {0} which are commonly used in server-side template injection attack syntax.",
  "0.http.server_side_template_injection.match.solution.s7.o2": "For example, if {{7*7}} is entered, the special characters should be filtered out and become 77 instead of 49.",
  "0.http.server_side_template_injection.match.solution.s8.o0": "Languages and special characters used by template engines",
  "0.http.server_side_template_injection.match.solution.s9.o0": "{0}",
  "0.http.session_id_url.external.attack.s0.o0": "It is likely that the session token has been exposed in the current URL.",
  "0.http.session_id_url.external.attack.s1.o0": "{0}",
  "0.http.session_id_url.external.attack.s2.o0": "If there is an external link in the URL where the session token is most likely to be exposed, an attacker can access the external link through that session.",
  "0.http.session_id_url.external.result.s0.o0": "The HTTP response for a high-exposure URL in a session token is shown as follow.",
  "0.http.session_id_url.external.result.s1.o0": "{0}",
  "0.http.session_id_url.external.result.s2.o0": "The HTTP response contains an external link.",
  "0.http.session_id_url.external.solution.s0.o0": "To prevent an attacker from accessing external links through an exposed session, it is needed to have a session expiration time.",
  "0.http.session_id_url.external.solution.s0.o1": "To solve the problem, ensure that the session is not exposed.",
  "0.http.session_id_url.url.attack.s0.o0": "When a session token is exposed to a URL, an attacker can impersonate another user to access the web application:",
  "0.http.session_id_url.url.attack.s1.o0": "{0}",
  "0.http.session_id_url.url.attack.s2.o0": "This allows an attacker to act within a web application with the privileges of another user.",
  "0.http.session_id_url.url.result.s0.o0": "A session token is exposed in the URL as follow:",
  "0.http.session_id_url.url.result.s1.o0": "{0}",
  "0.http.session_id_url.url.solution.s0.o0": "To prevent exposure of session tokens, users must first ensure that URLs are not exposed.",
  "0.http.session_id_url.url.solution.s0.o1": "Also, to prevent damages due to exposure, a session must be timed out or expired when a condition, such as a certain amount of time, is reached.",
  "0.http.silverlight_domain_policy.match.attack.s0.o0": "To check that the cross domain policy is properly set in the Silverlight, the URL path is changed to {0} and the following HTTP request is sent.",
  "0.http.silverlight_domain_policy.match.attack.s1.o0": "{0}",
  "0.http.silverlight_domain_policy.match.result.s0.o0": "The access to the all domains has been found to be allowed in the HTTP response body.",
  "0.http.silverlight_domain_policy.match.result.s0.o1": "The settings might lead to vulnerabilities such as CSRF or XSS, make sure to allow the trusted domains only.",
  "0.http.silverlight_domain_policy.match.result.s1.o0": "{0}",
  "0.http.silverlight_domain_policy.match.solution.s0.o0": "When the Silverlight sets access to the cross-domain, it needs to allow the trusted domains only rather than all domains (*).",
  "0.http.silverlight_domain_policy.match.solution.s1.o0": "Microsoft has deprecated its supports on the Silverlight on October 12th, 2021.",
  "0.http.silverlight_domain_policy.match.solution.s1.o1": "As the deprecated program is not updated or patched, it is easily targeted for security attacks.",
  "0.http.silverlight_domain_policy.match.solution.s1.o2": "Therefore, remove the Silverlight installed in the web app, and replace it to the up-to-date programs such as React, Angular, or HTML5.",
  "0.http.skb__admin_page_access_control__interface_protection.match.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__admin_page_access_control__interface_protection.match.attack.s0.o1": "{0}",
  "0.http.skb__admin_page_access_control__interface_protection.match.attack.s0.o2": "{0}",
  "0.http.skb__admin_page_access_control__interface_protection.match.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.skb__admin_page_access_control__interface_protection.match.result.s0.o0": "The status code of the response is {0}.\n",
  "0.http.skb__admin_page_access_control__interface_protection.match.result.s1.o0": "The following URL is the final destination for the response.",
  "0.http.skb__admin_page_access_control__interface_protection.match.result.s1.o1": "{0}",
  "0.http.skb__admin_page_access_control__interface_protection.match.result.s2.o0": "The following string has been found in the response body:",
  "0.http.skb__admin_page_access_control__interface_protection.match.result.s2.o1": "{0}",
  "0.http.skb__admin_page_access_control__interface_protection.match.result.s3.o0": "The analysis result shows that the admin page is aceessable, and security measures, such as SSL setting, are not applied while accessing to the page.",
  "0.http.skb__admin_page_access_control__interface_protection.match.solution.s0.o0": "To secure the administrator interface, comply rules for the admin page below and specify a hard-to-guess path to separate with pages for common users.\n",
  "0.http.skb__admin_page_access_control__interface_protection.match.solution.s1.o0": "1. Fobid words related to the administrator, such as admin, manager, adm, system\n",
  "0.http.skb__admin_page_access_control__interface_protection.match.solution.s2.o0": "2. prohibit the use of default index filenames such as index, default, etc.\n",
  "0.http.skb__admin_page_access_control__interface_protection.match.solution.s3.o0": "3. disable the use of the default index page on the web server, so that the page can only be reached when the correct path is entered\n",
  "0.http.skb__admin_page_access_control__interface_protection.match.solution.s4.o0": "4. use at least 2 levels of path depth\n",
  "0.http.skb__admin_page_access_control__interface_protection.match.solution.s5.o0": "5. Change to a hard-to-guess port (i.e. forbidden to use 8080, or 8888)",
  "0.http.skb__admin_page_access_control__path_manipulation.match.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__admin_page_access_control__path_manipulation.match.attack.s0.o1": "{0}",
  "0.http.skb__admin_page_access_control__path_manipulation.match.attack.s0.o2": "{0}",
  "0.http.skb__admin_page_access_control__path_manipulation.match.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.skb__admin_page_access_control__path_manipulation.match.result.s0.o0": "The status code of the response is {0}.\n",
  "0.http.skb__admin_page_access_control__path_manipulation.match.result.s1.o0": "The following string has been found in the response body:",
  "0.http.skb__admin_page_access_control__path_manipulation.match.result.s1.o1": "{0}",
  "0.http.skb__admin_page_access_control__path_manipulation.match.result.s2.o0": "The analysis confirms that the admin page can be accessed.",
  "0.http.skb__admin_page_access_control__path_manipulation.match.solution.s0.o0": "To secure the administrator interface, comply rules for the admin page below and specify a hard-to-guess path to separate with pages for common users.\n",
  "0.http.skb__admin_page_access_control__path_manipulation.match.solution.s1.o0": "1. Fobid words related to the administrator, such as admin, manager, adm, system\n",
  "0.http.skb__admin_page_access_control__path_manipulation.match.solution.s2.o0": "2. prohibit the use of default index filenames such as index, default, etc.\n",
  "0.http.skb__admin_page_access_control__path_manipulation.match.solution.s3.o0": "3. disable the use of the default index page on the web server, so that the page can only be reached when the correct path is entered\n",
  "0.http.skb__admin_page_access_control__path_manipulation.match.solution.s4.o0": "4. use at least 2 levels of path depth\n",
  "0.http.skb__admin_page_access_control__path_manipulation.match.solution.s5.o0": "5. Change to a hard-to-guess port (i.e. forbidden to use 8080, or 8888)",
  "0.http.skb__directory_listing__directory_list.match.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__directory_listing__directory_list.match.attack.s0.o1": "{0}",
  "0.http.skb__directory_listing__directory_list.match.attack.s0.o2": "{0}",
  "0.http.skb__directory_listing__directory_list.match.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.skb__directory_listing__directory_list.match.result.s0.o0": "The status code of the response is {0}.\n",
  "0.http.skb__directory_listing__directory_list.match.result.s1.o0": "The following string has been found in the response body:",
  "0.http.skb__directory_listing__directory_list.match.result.s1.o1": "{0}",
  "0.http.skb__directory_listing__directory_list.match.result.s2.o0": "As a result of analysis, it is confirmed that the directory listing page can be accessed.",
  "0.http.skb__directory_listing__directory_list.match.solution.s0.o0": "Disable the directory listing settings on web services such as WEB or WAS.\n",
  "0.http.skb__directory_listing__directory_list.match.solution.s0.o1": "Apache: Remove `Indexes` option or add `-Indexes` option for `Options` directive in `httpd.conf` file (`apache2.conf` file under Ubuntu and other Debian-based systems)\n",
  "0.http.skb__directory_listing__directory_list.match.solution.s0.o2": "IIS 6/7/8/10: Deactivate [Directory search] in IIS management - [Website to be changed] - [Registration info] - [Home directory] tab.\n",
  "0.http.skb__directory_listing__directory_list.match.solution.s0.o3": "JBoss, Apache Tomcat: Set listings to false in the web.xml.\n",
  "0.http.skb__directory_listing__directory_list.match.solution.s0.o4": "JRun: Set browseDirs attiribute to false in default-web.xml.\n",
  "0.http.skb__directory_listing__directory_list.match.solution.s0.o5": "WebLogic: Set index-directory-enabled attribute to false for weblogic-wep-app element in weblogic.xml.\n",
  "0.http.skb__directory_listing__directory_list.match.solution.s0.o6": "WebtoB: Remove Options in http.m or set Options to `-Index`.",
  "0.http.skb__directory_listing__repository_list.match.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__directory_listing__repository_list.match.attack.s0.o1": "{0}",
  "0.http.skb__directory_listing__repository_list.match.attack.s0.o2": "{0}",
  "0.http.skb__directory_listing__repository_list.match.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.skb__directory_listing__repository_list.match.result.s0.o0": "The status code of the response is {0}.\n",
  "0.http.skb__directory_listing__repository_list.match.result.s1.o0": "The following string has been found in the response body:",
  "0.http.skb__directory_listing__repository_list.match.result.s1.o1": "{0}",
  "0.http.skb__directory_listing__repository_list.match.result.s2.o0": "As a result of analysis, it is confirmed that the directory listing page can be accessed.",
  "0.http.skb__directory_listing__repository_list.match.solution.s0.o0": "If /CVS/ or /.svc/ directory exists, you need to specify that access to the directory is not allowed.\n",
  "0.http.skb__directory_listing__repository_list.match.solution.s0.o1": "- Apache",
  "0.http.skb__directory_listing__repository_list.match.solution.s0.o2": "In httpd.conf file (apache2.conf file under Ubuntu and Debian), add <DirectoryMatch “/CVS/”> or <DirectoryMatch “/.svc/”> tag, set Deny from all attribute, and then restart the server.",
  "0.http.skb__directory_path_traversal__hardcoded_path_in_hidden_fields_or_js_files.match.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__directory_path_traversal__hardcoded_path_in_hidden_fields_or_js_files.match.attack.s0.o1": "{0}",
  "0.http.skb__directory_path_traversal__hardcoded_path_in_hidden_fields_or_js_files.match.attack.s0.o2": "{0}",
  "0.http.skb__directory_path_traversal__hardcoded_path_in_hidden_fields_or_js_files.match.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.skb__directory_path_traversal__hardcoded_path_in_hidden_fields_or_js_files.match.result.s0.o0": "The status code of the response is {0}.\n",
  "0.http.skb__directory_path_traversal__hardcoded_path_in_hidden_fields_or_js_files.match.result.s1.o0": "The following string has been found in the response body:",
  "0.http.skb__directory_path_traversal__hardcoded_path_in_hidden_fields_or_js_files.match.result.s1.o1": "{0}",
  "0.http.skb__directory_path_traversal__hardcoded_path_in_hidden_fields_or_js_files.match.result.s2.o0": "As a result of analysis, it is confirmed that the important file can be downloaded by the directory traversal.",
  "0.http.skb__directory_path_traversal__hardcoded_path_in_hidden_fields_or_js_files.match.solution.s0.o0": "Remove the absolute file path from the HTTP response texts unless it is designed to expose.",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable.match.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable.match.attack.s0.o1": "{0}",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable.match.attack.s0.o2": "{0}",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable.match.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable.match.result.s0.o0": "The status code of the response is {0}.\n",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable.match.result.s1.o0": "The following string has been found in the response body:",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable.match.result.s1.o1": "{0}",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable.match.result.s2.o0": "As a result of analysis, it is confirmed that the important file can be downloaded by the directory traversal.",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable.match.solution.s0.o0": "The input for a directory or file name received from the user requires to be verified. The following characters need to be checked.\n",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable.match.solution.s1.o0": "- '.': Check possibility of path traversal.\n",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable.match.solution.s10.o0": "While the .NET framework inherently prevents Path Traversal attacks, there have been documented cases of vulnerabilities in certain .NET versions that could bypass this security mechanism. Therefore, it is recommended to install the latest patch.\n",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable.match.solution.s11.o0": "If you don't have that patch installed, add the following to Global.asax.",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable.match.solution.s11.o1": "{0}",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable.match.solution.s2.o0": "- '/': Check accessbility to the path\n",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable.match.solution.s3.o0": "- '\\': Check access to the path based on the OS.\n",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable.match.solution.s4.o0": "- '%': UTF incoding parameter\n",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable.match.solution.s5.o0": "Also, do not filter out with “../” to verify input values. Please check the example below.\n",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable.match.solution.s6.o0": "[JSP] Sample source code to be excluded.",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable.match.solution.s6.o1": "{0}",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable.match.solution.s7.o0": "[PHP] Sample source code to be excluded.",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable.match.solution.s7.o1": "{0}",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable.match.solution.s8.o0": "[ASP] Sample source code to be excluded.",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable.match.solution.s8.o1": "{0}",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable.match.solution.s9.o0": "[ASP.NET] Sample source code to be excluded.\n",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable_with_encoding.match.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable_with_encoding.match.attack.s0.o1": "{0}",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable_with_encoding.match.attack.s0.o2": "{0}",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable_with_encoding.match.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable_with_encoding.match.result.s0.o0": "The status code of the response is {0}.\n",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable_with_encoding.match.result.s1.o0": "The following string has been found in the response body:",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable_with_encoding.match.result.s1.o1": "{0}",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable_with_encoding.match.result.s2.o0": "As a result of analysis, it is confirmed that the important file can be downloaded by the directory traversal.",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable_with_encoding.match.solution.s0.o0": "The input for a directory or file name received from the user requires to be verified. The following characters need to be checked.\n",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable_with_encoding.match.solution.s1.o0": "- '.': Check possibility of path traversal.\n",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable_with_encoding.match.solution.s10.o0": "While the .NET framework inherently prevents Path Traversal attacks, there have been documented cases of vulnerabilities in certain .NET versions that could bypass this security mechanism. Therefore, it is recommended to install the latest patch.\n",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable_with_encoding.match.solution.s11.o0": "If you don't have that patch installed, add the following to Global.asax.",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable_with_encoding.match.solution.s11.o1": "{0}",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable_with_encoding.match.solution.s2.o0": "- '/': Check accessbility to the path\n",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable_with_encoding.match.solution.s3.o0": "- '\\': Check access to the path based on the OS.\n",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable_with_encoding.match.solution.s4.o0": "- '%': UTF incoding parameter\n",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable_with_encoding.match.solution.s5.o0": "Also, do not filter out with `../` to verify input values. Please check the example below.\n",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable_with_encoding.match.solution.s6.o0": "[JSP] Sample source code to be excluded.",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable_with_encoding.match.solution.s6.o1": "{0}",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable_with_encoding.match.solution.s7.o0": "[PHP] Sample source code to be excluded.",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable_with_encoding.match.solution.s7.o1": "{0}",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable_with_encoding.match.solution.s8.o0": "[ASP] Sample source code to be excluded.",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable_with_encoding.match.solution.s8.o1": "{0}",
  "0.http.skb__directory_path_traversal__path_exposure_or_downloadable_with_encoding.match.solution.s9.o0": "[ASP.NET] Sample source code to be excluded.\n",
  "0.http.skb__encrypted_transmission__connection_information_disclosure.match.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__encrypted_transmission__connection_information_disclosure.match.attack.s0.o1": "{0}",
  "0.http.skb__encrypted_transmission__connection_information_disclosure.match.attack.s0.o2": "{0}",
  "0.http.skb__encrypted_transmission__connection_information_disclosure.match.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.skb__encrypted_transmission__connection_information_disclosure.match.result.s0.o0": "The following string has been found in the response body:",
  "0.http.skb__encrypted_transmission__connection_information_disclosure.match.result.s0.o1": "{0}",
  "0.http.skb__encrypted_transmission__connection_information_disclosure.match.result.s0.o2": "As a result of analysis, it is confirmed that the access information on FTP, DB, or system can be leaked on the page.",
  "0.http.skb__encrypted_transmission__connection_information_disclosure.match.solution.s0.o0": "The system access information, such as FTP, DB, requires not to be exposed in plain texts while refering certain resources in an applet, suvlet, jar, or war.",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.cs.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.cs.attack.s1.o0": "{0}",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.cs.attack.s1.o1": "{0}",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.cs.attack.s2.o0": "The response body for the request have been checked.",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.cs.result.s0.o0": "The response body corresponds to the SSL Server Test results from Qualys SSL Labs for the SSL and TLS settings used by the analytic target. Among those results, something about protocol version exists.\n",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.cs.result.s1.o0": "Of the cipher suites currently in use, the following cipher suites exist: {0}\n",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.cs.result.s2.o0": "As the cipher suite is insecure, it might allow futher attacks.",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.cs.solution.s0.o0": "For added security, it is recommended to use TLS v1.2 or later. For certificates, it's more secure to use RSA 1024-bit or higher and a hash algorithm based on SHA-2.",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.hash.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.hash.attack.s1.o0": "{0}",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.hash.attack.s1.o1": "{0}",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.hash.attack.s2.o0": "The response body for the request have been checked.",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.hash.result.s0.o0": "The response body corresponds to the SSL Server Test results from Qualys SSL Labs for the SSL and TLS settings used by the analytic target. Among those results, something about protocol version exists.\n",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.hash.result.s1.o0": "One of activated certificates is using the following hash algorithm: {0}",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.hash.result.s2.o0": "As the hash algorithm of the certificate is insecure, it might allow futher attacks.",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.hash.solution.s0.o0": "For added security, it is recommended to use TLS v1.2 or later. For certificates, it's more secure to use RSA 1024-bit or higher and a hash algorithm based on SHA-2.",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.length.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.length.attack.s1.o0": "{0}",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.length.attack.s1.o1": "{0}",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.length.attack.s2.o0": "The response body for the request have been checked.",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.length.result.s0.o0": "The response body corresponds to the SSL Server Test results from Qualys SSL Labs for the SSL and TLS settings used by the analytic target. Among those results, something about protocol version exists.\n",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.length.result.s1.o0": "One of activated certificates is using the following key length: {0}\n",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.length.result.s2.o0": "As the certificate does not have enough key legnth, it might allow further attacks.",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.length.solution.s0.o0": "For added security, it is recommended use TLS v1.2 or later. For certificates, it's more secure to use RSA 1024-bit or higher and a hash algorithm based on SHA-2.",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.period.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.period.attack.s1.o0": "{0}",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.period.attack.s1.o1": "{0}",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.period.attack.s2.o0": "The response body for the request have been checked.",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.period.result.s0.o0": "The response body corresponds to the SSL Server Test results from Qualys SSL Labs for the SSL and TLS settings used by the analytic target. Among those results, something about protocol version exists.\n",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.period.result.s1.o0": "One of activated certificates is using the following expiration period: {0}\n",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.period.result.s2.o0": "As the certificate is expired, it might allow futher attacks.",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.period.solution.s0.o0": "For added security, it is recommended to use TLS v1.2 or later. For certificates, it's more secure to use RSA 1024-bit or higher and a hash algorithm based on SHA-2.",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.protocol.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.protocol.attack.s1.o0": "{0}",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.protocol.attack.s1.o1": "{0}",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.protocol.attack.s2.o0": "The response body for the request have been checked.",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.protocol.result.s0.o0": "The response body corresponds to the SSL Server Test results from Qualys SSL Labs for the SSL and TLS settings used by the analytic target. Among those results, something about protocol version exists.\n",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.protocol.result.s1.o0": "The version of the protocol you are currently using is: {0}\n",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.protocol.result.s2.o0": "As the protocol version is insecure, it might allow futher attacks.",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.protocol.solution.s0.o0": "For added security, it is recommended to use TLS v1.2 or later. For certificates, it's more secure to use RSA 1024-bit or higher and a hash algorithm based on SHA-2.",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.rating.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.rating.attack.s1.o0": "{0}",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.rating.attack.s1.o1": "{0}",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.rating.attack.s2.o0": "The response body for the request have been checked.",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.rating.result.s0.o0": "The response body corresponds to the SSL Server Test results from Qualys SSL Labs for the SSL and TLS settings used by the analytic target. Among those results, something about protocol version exists.\n",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.rating.result.s1.o0": "Overall assessment rating is: {0}\n",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.rating.result.s2.o0": "The overall rating is not good, which could allow further attacks.",
  "0.http.skb__encrypted_transmission__insecure_versions_of_ssl_and_tls.rating.solution.s0.o0": "For added security, it is recommended to use TLS v1.2 or later. For certificates, it's more secure to use RSA 1024-bit or higher and a hash algorithm based on SHA-2.",
  "0.http.skb__etc__adobe_flash_player.match.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__etc__adobe_flash_player.match.attack.s0.o1": "{0}",
  "0.http.skb__etc__adobe_flash_player.match.attack.s0.o2": "{0}",
  "0.http.skb__etc__adobe_flash_player.match.attack.s0.o3": "The response body for the request have been checked.",
  "0.http.skb__etc__adobe_flash_player.match.result.s0.o0": "The following string has been found in the response body:",
  "0.http.skb__etc__adobe_flash_player.match.result.s1.o0": "{0}",
  "0.http.skb__etc__adobe_flash_player.match.result.s1.o1": "As a result of analysis, it is confirmed that the Adobe Flash Player is used on the page.",
  "0.http.skb__etc__adobe_flash_player.match.solution.s0.o0": "The Adobe Flash Player should not be used for technically deprecated. Instead, it is recommended to use open web standard technologies such as HTML5, WebGL, WebAssembly.",
  "0.http.skb__etc__php_my_admin.match.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__etc__php_my_admin.match.attack.s0.o1": "{0}",
  "0.http.skb__etc__php_my_admin.match.attack.s0.o2": "{0}",
  "0.http.skb__etc__php_my_admin.match.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.skb__etc__php_my_admin.match.result.s0.o0": "The status code of the response is {0}.\n",
  "0.http.skb__etc__php_my_admin.match.result.s1.o0": "The following string has been found in the response body:",
  "0.http.skb__etc__php_my_admin.match.result.s1.o1": "{0}",
  "0.http.skb__etc__php_my_admin.match.result.s2.o0": "The analysis confirms that phpMyAdmin is used on the analyzing target.",
  "0.http.skb__etc__php_my_admin.match.solution.s0.o0": "phpMyAdmin should not be used: if needed, you need to update phpMyAdmin to the latest version.",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.absolute_action.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.absolute_action.attack.s0.o1": "{0}",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.absolute_action.attack.s0.o2": "{0}",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.absolute_action.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.absolute_action.result.s0.o0": "In the response body, a form tag with important information is found. The XPath for that form tag is:",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.absolute_action.result.s0.o1": "{0}",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.absolute_action.result.s1.o0": "The action attribute of that form tag has the following value {0}, which means that the request made through that form tag uses the HTTP protocol.\n",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.absolute_action.result.s1.o1": "As a result of analysis, it is confirmed that the improper protocol is used to send important information.",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.absolute_action.solution.s0.o0": "If you use a form tag to send sensitive information, you must set the value of the action attribute of that form tag to send using the HTTPS protocol. You must also set the value of the method attribute of that form tag to send using the POST method.",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.get_method.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.get_method.attack.s0.o1": "{0}",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.get_method.attack.s0.o2": "{0}",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.get_method.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.get_method.result.s0.o0": "In the response body, a form tag with important information is found. The XPath for that form tag is:",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.get_method.result.s0.o1": "{0}",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.get_method.result.s1.o0": "The action attribute of that form tag has the following value {0}, which means that the request made through that form tag uses the HTTPS protocol.\n",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.get_method.result.s1.o1": "Also, the action attribute of that form tag has the following value {0}, which means that the request made through that form tag uses the GET method.\n",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.get_method.result.s1.o2": "As a result of analysis, it is confirmed that the improper method is used to send important information.",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.get_method.solution.s0.o0": "If you use a form tag to send sensitive information, you must set the value of the action attribute of that form tag to send using the HTTPS protocol. You must also set the value of the method attribute of that form tag to send using the POST method.",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.no_action.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.no_action.attack.s0.o1": "{0}",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.no_action.attack.s0.o2": "{0}",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.no_action.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.no_action.result.s0.o0": "In the response body, a form tag with important information is found. The XPath for that form tag is:",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.no_action.result.s0.o1": "{0}",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.no_action.result.s1.o0": "The value of the action attribute for the form tag does not exist. This confirms that a request from the form tag is sent to the URL of a page with the form tag. Therefore, the request from the form tag uses an identical protocol with the URL of a page with the form tag.\n",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.no_action.result.s1.o1": "Also, here is the URL of the page where that form tag exists.",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.no_action.result.s1.o2": "{0}",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.no_action.result.s1.o3": "As a result of analysis, it is confirmed that the improper protocol is used to send important information.",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.no_action.solution.s0.o0": "If you use a form tag to send sensitive information, you must set the value of the action attribute of that form tag to send using the HTTPS protocol. You must also set the value of the method attribute of that form tag to send using the POST method.",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.no_method.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.no_method.attack.s0.o1": "{0}",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.no_method.attack.s0.o2": "{0}",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.no_method.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.no_method.result.s0.o0": "In the response body, a form tag with important information is found. The XPath for that form tag is:",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.no_method.result.s0.o1": "{0}",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.no_method.result.s1.o0": "The action attribute of that form tag has the following value {0}, which means that the request made through that form tag uses the HTTPS protocol.\n",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.no_method.result.s1.o1": "Also, the method attribute for that form tag doesn't exist, which means that requests made through that form tag use the GET method.\n",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.no_method.result.s1.o2": "As a result of analysis, it is confirmed that the improper method is used to send important information.",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.no_method.solution.s0.o0": "If you use a form tag to send sensitive information, you must set the value of the action attribute of that form tag to send using the HTTPS protocol. You must also set the value of the method attribute of that form tag to send using the POST method.",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.relative_action.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.relative_action.attack.s0.o1": "{0}",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.relative_action.attack.s0.o2": "{0}",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.relative_action.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.relative_action.result.s0.o0": "In the response body, a form tag with important information is found. The XPath for that form tag is:",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.relative_action.result.s0.o1": "{0}",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.relative_action.result.s1.o0": "The value of the action attribute for the form tag is: {0} This confirms that a request from the form tag is sent to the URL of a page with the form tag. Therefore, the request from the form tag uses an identical protocol with the URL of a page with the form tag.\n",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.relative_action.result.s1.o1": "Also, here is the URL of the page where that form tag exists.",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.relative_action.result.s1.o2": "{0}",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.relative_action.result.s1.o3": "As a result of analysis, it is confirmed that the improper protocol is used to send important information.",
  "0.http.skb__http_method_restriction__form_without_https_protocol_or_post_method.relative_action.solution.s0.o0": "If you use a form tag to send sensitive information, you must set the value of the action attribute of that form tag to send using the HTTPS protocol. You must also set the value of the method attribute of that form tag to send using the POST method.",
  "0.http.skb__http_method_restriction__unsafe_methods_allowed.allow.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__http_method_restriction__unsafe_methods_allowed.allow.attack.s0.o1": "{0}",
  "0.http.skb__http_method_restriction__unsafe_methods_allowed.allow.attack.s0.o2": "{0}",
  "0.http.skb__http_method_restriction__unsafe_methods_allowed.allow.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.skb__http_method_restriction__unsafe_methods_allowed.allow.result.s0.o0": "The status code of the response is {0} for the OPTIONS method request.\n",
  "0.http.skb__http_method_restriction__unsafe_methods_allowed.allow.result.s0.o1": "And, the following value is found in the response header named Allow.",
  "0.http.skb__http_method_restriction__unsafe_methods_allowed.allow.result.s0.o2": "{0}",
  "0.http.skb__http_method_restriction__unsafe_methods_allowed.allow.result.s0.o3": "The analysis shows that the vulnerable methods are acceptable in the server.",
  "0.http.skb__http_method_restriction__unsafe_methods_allowed.allow.solution.s0.o0": "Use only HTTP methods that are essential for operation (GET, POST) and remove vulnerable HTTP METHODS (PUT, DELETE, TRACE). (OPTIONS, HEAD method is not vulnerable, but it is recommended not to use it).",
  "0.http.skb__http_method_restriction__unsafe_methods_available.delete.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__http_method_restriction__unsafe_methods_available.delete.attack.s0.o1": "{0}",
  "0.http.skb__http_method_restriction__unsafe_methods_available.delete.attack.s0.o2": "{0}",
  "0.http.skb__http_method_restriction__unsafe_methods_available.delete.attack.s1.o0": "Based on the response of the request, an additional request has been sent.",
  "0.http.skb__http_method_restriction__unsafe_methods_available.delete.attack.s1.o1": "{0}",
  "0.http.skb__http_method_restriction__unsafe_methods_available.delete.attack.s1.o2": "{0}",
  "0.http.skb__http_method_restriction__unsafe_methods_available.delete.attack.s1.o3": "The response for the request have been checked.",
  "0.http.skb__http_method_restriction__unsafe_methods_available.delete.result.s0.o0": "The status code of the response is {0} for the OPTIONS method request.\n",
  "0.http.skb__http_method_restriction__unsafe_methods_available.delete.result.s0.o1": "And, the following value is found in the response header named Allow.",
  "0.http.skb__http_method_restriction__unsafe_methods_available.delete.result.s0.o2": "{0}",
  "0.http.skb__http_method_restriction__unsafe_methods_available.delete.result.s0.o3": "As the header value shows that the DELETE method request is acceptable in the server.\n",
  "0.http.skb__http_method_restriction__unsafe_methods_available.delete.result.s1.o0": "The status code of the response is {0} for the DELETE method request.\n",
  "0.http.skb__http_method_restriction__unsafe_methods_available.delete.result.s1.o2": "The analysis confirms that the normal response can be received to the request using the TRACE method.",
  "0.http.skb__http_method_restriction__unsafe_methods_available.delete.solution.s0.o0": "Use only HTTP methods that are essential for operation (GET, POST) and remove vulnerable HTTP METHODS (PUT, DELETE, TRACE). (OPTIONS, HEAD method is not vulnerable, but it is recommended not to use it).",
  "0.http.skb__http_method_restriction__unsafe_methods_available.put.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__http_method_restriction__unsafe_methods_available.put.attack.s0.o1": "{0}",
  "0.http.skb__http_method_restriction__unsafe_methods_available.put.attack.s0.o2": "{0}",
  "0.http.skb__http_method_restriction__unsafe_methods_available.put.attack.s1.o0": "Based on the response of the request, an additional request has been sent.",
  "0.http.skb__http_method_restriction__unsafe_methods_available.put.attack.s1.o1": "{0}",
  "0.http.skb__http_method_restriction__unsafe_methods_available.put.attack.s1.o2": "{0}",
  "0.http.skb__http_method_restriction__unsafe_methods_available.put.attack.s1.o3": "The response for the request have been checked.",
  "0.http.skb__http_method_restriction__unsafe_methods_available.put.result.s0.o0": "The status code of the response is {0} for the OPTIONS method request.\n",
  "0.http.skb__http_method_restriction__unsafe_methods_available.put.result.s0.o1": "And, the following value is found in the response header named Allow.",
  "0.http.skb__http_method_restriction__unsafe_methods_available.put.result.s0.o2": "{0}",
  "0.http.skb__http_method_restriction__unsafe_methods_available.put.result.s0.o3": "As the header value shows that the PUT method request is acceptable in the server.\n",
  "0.http.skb__http_method_restriction__unsafe_methods_available.put.result.s1.o0": "The status code of the response is {0} for the PUT method request.\n",
  "0.http.skb__http_method_restriction__unsafe_methods_available.put.result.s1.o1": "Content-Location header has been found in the response.",
  "0.http.skb__http_method_restriction__unsafe_methods_available.put.result.s1.o2": "The analysis confirms that the normal response can be received to the request using the PUT method.",
  "0.http.skb__http_method_restriction__unsafe_methods_available.put.solution.s0.o0": "Use only HTTP methods that are essential for operation (GET, POST) and remove vulnerable HTTP METHODS (PUT, DELETE, TRACE). (OPTIONS, HEAD method is not vulnerable, but it is recommended not to use it).",
  "0.http.skb__http_method_restriction__unsafe_methods_available.trace.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__http_method_restriction__unsafe_methods_available.trace.attack.s0.o1": "{0}",
  "0.http.skb__http_method_restriction__unsafe_methods_available.trace.attack.s0.o2": "{0}",
  "0.http.skb__http_method_restriction__unsafe_methods_available.trace.attack.s1.o0": "Based on the response of the request, an additional request has been sent.",
  "0.http.skb__http_method_restriction__unsafe_methods_available.trace.attack.s1.o1": "{0}",
  "0.http.skb__http_method_restriction__unsafe_methods_available.trace.attack.s1.o2": "{0}",
  "0.http.skb__http_method_restriction__unsafe_methods_available.trace.attack.s1.o3": "The response for the request have been checked.",
  "0.http.skb__http_method_restriction__unsafe_methods_available.trace.result.s0.o0": "The status code of the response is {0} for the OPTIONS method request.\n",
  "0.http.skb__http_method_restriction__unsafe_methods_available.trace.result.s0.o1": "And, the following value is found in the response header named Allow.",
  "0.http.skb__http_method_restriction__unsafe_methods_available.trace.result.s0.o2": "{0}",
  "0.http.skb__http_method_restriction__unsafe_methods_available.trace.result.s0.o3": "As the header value shows that the TRACE method request is acceptable in the server.\n",
  "0.http.skb__http_method_restriction__unsafe_methods_available.trace.result.s1.o0": "The status code of the response is {0} for the TRACE method request.\n",
  "0.http.skb__http_method_restriction__unsafe_methods_available.trace.result.s1.o1": "And the following string has been found in the response body.",
  "0.http.skb__http_method_restriction__unsafe_methods_available.trace.result.s1.o2": "{0}",
  "0.http.skb__http_method_restriction__unsafe_methods_available.trace.result.s1.o3": "The analysis confirms that the normal response can be received to the request using the TRACE method.",
  "0.http.skb__http_method_restriction__unsafe_methods_available.trace.solution.s0.o0": "Use only HTTP methods that are essential for operation (GET, POST) and remove vulnerable HTTP METHODS (PUT, DELETE, TRACE). (OPTIONS, HEAD method is not vulnerable, but it is recommended not to use it).",
  "0.http.skb__improper_error_handling__db_error_messages.match.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__improper_error_handling__db_error_messages.match.attack.s0.o1": "{0}",
  "0.http.skb__improper_error_handling__db_error_messages.match.attack.s0.o2": "{0}",
  "0.http.skb__improper_error_handling__db_error_messages.match.attack.s0.o3": "The response body for the request have been checked.",
  "0.http.skb__improper_error_handling__db_error_messages.match.result.s0.o0": "The following string has been found in the response body:",
  "0.http.skb__improper_error_handling__db_error_messages.match.result.s0.o1": "{0}",
  "0.http.skb__improper_error_handling__db_error_messages.match.result.s0.o2": "That string is an error message printed out from {0}.\n",
  "0.http.skb__improper_error_handling__db_error_messages.match.result.s0.o3": "The analysis confirms that the page with insufficient handling of error messages on database exists.",
  "0.http.skb__improper_error_handling__db_error_messages.match.solution.s0.o0": "Proper DB error message handling is required. See the example below.\n",
  "0.http.skb__improper_error_handling__db_error_messages.match.solution.s0.o1": "Example) [JAVA] Insecure Code (printStackTrace)",
  "0.http.skb__improper_error_handling__db_error_messages.match.solution.s0.o2": "{0}",
  "0.http.skb__improper_error_handling__db_error_messages.match.solution.s0.o3": "Example) [JAVA] Insecure code (getMessage)",
  "0.http.skb__improper_error_handling__db_error_messages.match.solution.s0.o4": "{0}",
  "0.http.skb__improper_error_handling__db_error_messages.match.solution.s0.o5": "Example) [JAVA] Secure code (provided as an example, your implementation may vary)",
  "0.http.skb__improper_error_handling__db_error_messages.match.solution.s0.o6": "{0}",
  "0.http.skb__improper_error_handling__default_error_pages.match.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__improper_error_handling__default_error_pages.match.attack.s0.o1": "{0}",
  "0.http.skb__improper_error_handling__default_error_pages.match.attack.s0.o2": "{0}",
  "0.http.skb__improper_error_handling__default_error_pages.match.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.skb__improper_error_handling__default_error_pages.match.result.s0.o0": "The status code of the response is {0}.\n",
  "0.http.skb__improper_error_handling__default_error_pages.match.result.s1.o0": "The following string has been found in the response body:",
  "0.http.skb__improper_error_handling__default_error_pages.match.result.s1.o1": "{0}",
  "0.http.skb__improper_error_handling__default_error_pages.match.result.s2.o0": "As a result of analysis, it is confirmed that the default error page provided by WAS is used.",
  "0.http.skb__improper_error_handling__default_error_pages.match.solution.s0.o1": "- 400: Request failed, server cannot understand the request due to syntactic errors.\n",
  "0.http.skb__improper_error_handling__default_error_pages.match.solution.s0.o2": "- 401: Client authentication failed\n",
  "0.http.skb__improper_error_handling__default_error_pages.match.solution.s0.o6": "- 500: Internal server error\n",
  "0.http.skb__improper_error_handling__default_error_pages.match.solution.s0.o7": "- 501: Request method not supported by the server",
  "0.http.skb__improper_error_handling__information_exposure_on_error_pages.match.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__improper_error_handling__information_exposure_on_error_pages.match.attack.s0.o1": "{0}",
  "0.http.skb__improper_error_handling__information_exposure_on_error_pages.match.attack.s0.o2": "{0}",
  "0.http.skb__improper_error_handling__information_exposure_on_error_pages.match.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.skb__improper_error_handling__information_exposure_on_error_pages.match.result.s0.o0": "The status code of the response is {0}.\n",
  "0.http.skb__improper_error_handling__information_exposure_on_error_pages.match.result.s1.o0": "The following string has been found in the response body:",
  "0.http.skb__improper_error_handling__information_exposure_on_error_pages.match.result.s1.o1": "{0}",
  "0.http.skb__improper_error_handling__information_exposure_on_error_pages.match.result.s2.o0": "As a result of analysis, it is confirmed that the server information leaked on the error page.",
  "0.http.skb__improper_error_handling__information_exposure_on_error_pages.match.solution.s0.o0": "You can create a custom error page that requires exception handling to avoid the default error page when an error occurs. The custom page should not contain any HTTP status codes or information from the server.",
  "0.http.skb__information_exposure_via_search_engines__no_robots_txt.credentials.solution.s0.o0": "Put robots.txt in the root of source directory of the web server. Block crawlers of specific search engines by modifying the User-agent value, or restrict access to certain directories by adjusting the Disallow value.",
  "0.http.skb__information_exposure_via_search_engines__no_robots_txt.disallow.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__information_exposure_via_search_engines__no_robots_txt.disallow.attack.s0.o1": "{0}",
  "0.http.skb__information_exposure_via_search_engines__no_robots_txt.disallow.attack.s0.o2": "{0}",
  "0.http.skb__information_exposure_via_search_engines__no_robots_txt.disallow.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.skb__information_exposure_via_search_engines__no_robots_txt.disallow.result.s0.o0": "The status code of the response is {0}.\n",
  "0.http.skb__information_exposure_via_search_engines__no_robots_txt.disallow.result.s0.o1": "Also, a value is missing for the Disallow in the response body.\n",
  "0.http.skb__information_exposure_via_search_engines__no_robots_txt.disallow.result.s1.o0": "The analysis confirms that information leak against the analyzing target is possible thought the search engines.",
  "0.http.skb__information_exposure_via_search_engines__no_robots_txt.disallow.solution.s0.o0": "Put robots.txt in the root of source directory of the web server. Block crawlers of specific search engines by modifying the User-agent value, or restrict access to certain directories by adjusting the Disallow value.",
  "0.http.skb__information_exposure_via_search_engines__no_robots_txt.status.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__information_exposure_via_search_engines__no_robots_txt.status.attack.s0.o1": "{0}",
  "0.http.skb__information_exposure_via_search_engines__no_robots_txt.status.attack.s0.o2": "{0}",
  "0.http.skb__information_exposure_via_search_engines__no_robots_txt.status.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.skb__information_exposure_via_search_engines__no_robots_txt.status.result.s0.o0": "The status code of the response is {0}.\n",
  "0.http.skb__information_exposure_via_search_engines__no_robots_txt.status.result.s0.o1": "The analysis confirms that information leak against the analyzing target is possible thought the search engines.",
  "0.http.skb__information_exposure_via_search_engines__no_robots_txt.status.solution.s0.o0": "Put robots.txt in the root of source directory of the web server. Block crawlers of specific search engines by modifying the User-agent value, or restrict access to certain directories by adjusting the Disallow value.",
  "0.http.skb__information_exposure_via_search_engines__no_robots_txt.user_agent.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__information_exposure_via_search_engines__no_robots_txt.user_agent.attack.s0.o1": "{0}",
  "0.http.skb__information_exposure_via_search_engines__no_robots_txt.user_agent.attack.s0.o2": "{0}",
  "0.http.skb__information_exposure_via_search_engines__no_robots_txt.user_agent.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.skb__information_exposure_via_search_engines__no_robots_txt.user_agent.result.s0.o0": "The status code of the response is {0}.\n",
  "0.http.skb__information_exposure_via_search_engines__no_robots_txt.user_agent.result.s0.o1": "Also, value for User-agent is invalid in the response body.\n",
  "0.http.skb__information_exposure_via_search_engines__no_robots_txt.user_agent.result.s1.o0": "The analysis confirms that information leak against the analyzing target is possible thought the search engines.",
  "0.http.skb__injection_attack__command_injection.unix.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__injection_attack__command_injection.unix.attack.s0.o1": "{0}",
  "0.http.skb__injection_attack__command_injection.unix.attack.s0.o2": "{0}",
  "0.http.skb__injection_attack__command_injection.unix.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.skb__injection_attack__command_injection.unix.result.s0.o0": "The status code of the response is {0}.\n",
  "0.http.skb__injection_attack__command_injection.unix.result.s1.o0": "The following string has been found in the response body:",
  "0.http.skb__injection_attack__command_injection.unix.result.s1.o1": "{0}",
  "0.http.skb__injection_attack__command_injection.unix.result.s2.o0": "The analysis confirms that Unix OS command attacks are possible.",
  "0.http.skb__injection_attack__command_injection.unix.solution.s0.o0": "The operating system commands should not to be directly called in the application.\n",
  "0.http.skb__injection_attack__command_injection.unix.solution.s1.o0": "If you need to call a command directly, you must perform input validation checks before the data is passed to the OS's command interpreter.\n",
  "0.http.skb__injection_attack__command_injection.unix.solution.s2.o0": "The following special characters of parameter received from users require to be filtered out.",
  "0.http.skb__injection_attack__command_injection.unix.solution.s3.o1": "{0}",
  "0.http.skb__injection_attack__command_injection.windows.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__injection_attack__command_injection.windows.attack.s0.o1": "{0}",
  "0.http.skb__injection_attack__command_injection.windows.attack.s0.o2": "{0}",
  "0.http.skb__injection_attack__command_injection.windows.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.skb__injection_attack__command_injection.windows.result.s0.o0": "The status code of the response is {0}.\n",
  "0.http.skb__injection_attack__command_injection.windows.result.s1.o0": "The following string has been found in the response body:",
  "0.http.skb__injection_attack__command_injection.windows.result.s1.o1": "{0}",
  "0.http.skb__injection_attack__command_injection.windows.result.s2.o0": "The analysis confirms that Windows OS command attacks are possible.",
  "0.http.skb__injection_attack__command_injection.windows.solution.s0.o0": "The operating system commands should not to be directly called in the application.\n",
  "0.http.skb__injection_attack__command_injection.windows.solution.s1.o0": "If you need to call a command directly, you must perform input validation checks before the data is passed to the OS's command interpreter.\n",
  "0.http.skb__injection_attack__command_injection.windows.solution.s2.o0": "The following special characters of parameter received from users require to be filtered out.",
  "0.http.skb__injection_attack__command_injection.windows.solution.s3.o1": "{0}",
  "0.http.skb__injection_attack__ssi_injection.match.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__injection_attack__ssi_injection.match.attack.s0.o1": "{0}",
  "0.http.skb__injection_attack__ssi_injection.match.attack.s0.o2": "{0}",
  "0.http.skb__injection_attack__ssi_injection.match.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.skb__injection_attack__ssi_injection.match.result.s0.o0": "The status code of the response is {0}.\n",
  "0.http.skb__injection_attack__ssi_injection.match.result.s1.o0": "The following string has been found in the response body:",
  "0.http.skb__injection_attack__ssi_injection.match.result.s1.o1": "{0}",
  "0.http.skb__injection_attack__ssi_injection.match.result.s2.o0": "The analysis confirms that SSI injection attacks are possible.",
  "0.http.skb__injection_attack__ssi_injection.match.solution.s0.o0": "The user input requires to be validated, and a whitelist of allowed characters needs to be included in its logic.",
  "0.http.skb__injection_attack__ssi_injection.match.solution.s0.o1": "Special characters, such as ‘<’, ‘>’, ‘”’, ‘(’, ‘)’, ‘#’, ‘&’, require to be processed as common characters, instead of execuables, as below.",
  "0.http.skb__injection_attack__ssi_injection.match.solution.s0.o2": "{0}",
  "0.http.skb__injection_attack__ssi_injection.match.solution.s0.o3": "Also, whene the SSI is not required for the web application, add the following settings.\n",
  "0.http.skb__injection_attack__ssi_injection.match.solution.s0.o4": "Apache settings (httpd.conf)",
  "0.http.skb__injection_attack__ssi_injection.match.solution.s0.o5": "{0}",
  "0.http.skb__injection_attack__xpath_injection.error.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__injection_attack__xpath_injection.error.attack.s0.o1": "{0}",
  "0.http.skb__injection_attack__xpath_injection.error.attack.s0.o2": "{0}",
  "0.http.skb__injection_attack__xpath_injection.error.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.skb__injection_attack__xpath_injection.error.result.s0.o0": "The following string has been found in the response body:",
  "0.http.skb__injection_attack__xpath_injection.error.result.s0.o1": "{0}",
  "0.http.skb__injection_attack__xpath_injection.error.result.s1.o0": "The string shows that an error has occurred while processing the XPath.\n",
  "0.http.skb__injection_attack__xpath_injection.error.result.s2.o0": "The analysis confirms that the XPath injection vulnerabilities can be found.",
  "0.http.skb__injection_attack__xpath_injection.error.solution.s0.o0": "Based on characteristics of the services, convert data into XML: while managing settings or code information with XML files, inputs used for the XML queries require validation.\n",
  "0.http.skb__injection_attack__xpath_injection.error.solution.s0.o1": "The following special characters of parameter received from users require to be filtered out.",
  "0.http.skb__injection_attack__xpath_injection.error.solution.s0.o2": "{0}",
  "0.http.skb__injection_attack__xpath_injection.error.solution.s1.o2": "As with SQL Injection, you must perform validation on all values entered into the XPATH query.",
  "0.http.skb__injection_attack__xpath_injection.match.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__injection_attack__xpath_injection.match.attack.s0.o1": "{0}",
  "0.http.skb__injection_attack__xpath_injection.match.attack.s0.o2": "{0}",
  "0.http.skb__injection_attack__xpath_injection.match.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.skb__injection_attack__xpath_injection.match.result.s0.o0": "The following string has been found in the response body:",
  "0.http.skb__injection_attack__xpath_injection.match.result.s0.o1": "{0}",
  "0.http.skb__injection_attack__xpath_injection.match.result.s1.o0": "The string is matched to the regex predefined by the user which checks the XPath injection.",
  "0.http.skb__injection_attack__xpath_injection.match.result.s2.o0": "The analysis confirms that the XPath injection vulnerabilities are found.",
  "0.http.skb__injection_attack__xpath_injection.match.solution.s0.o0": "Based on characteristics of the services, convert data into XML: while managing settings or code information with XML files, inputs used for the XML queries require validation.\n",
  "0.http.skb__injection_attack__xpath_injection.match.solution.s0.o1": "The following special characters of parameter received from users require to be filtered out.",
  "0.http.skb__injection_attack__xpath_injection.match.solution.s0.o2": "{0}",
  "0.http.skb__injection_attack__xpath_injection.match.solution.s1.o2": "As with SQL Injection, you must perform validation on all values entered into the XPATH query.",
  "0.http.skb__injection_attack__xxe.match.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__injection_attack__xxe.match.attack.s0.o1": "{0}",
  "0.http.skb__injection_attack__xxe.match.attack.s0.o2": "{0}",
  "0.http.skb__injection_attack__xxe.match.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.skb__injection_attack__xxe.match.result.s0.o0": "The status code of the response is {0}.\n",
  "0.http.skb__injection_attack__xxe.match.result.s1.o0": "The following string has been found in the response body:",
  "0.http.skb__injection_attack__xxe.match.result.s2.o0": "{0}",
  "0.http.skb__injection_attack__xxe.match.result.s3.o0": "As a result of analysis, it is confirmed the possibility of XXE injection.",
  "0.http.skb__injection_attack__xxe.match.solution.s0.o0": "For XML handler in the server, it is recommend to set disable the Document Type Definitions (DTDs).\n",
  "0.http.skb__injection_attack__xxe.match.solution.s0.o1": "Validation of file paths on the server that are inserted via XML should be implemented to prevent the use of information from unauthorized paths. (Positive approach)\n",
  "0.http.skb__injection_attack__xxe.match.solution.s0.o2": "The following URLs should be used as a guide for implementing protection against XXE attacks when using an XML parser.\n",
  "0.http.skb__injection_attack__xxe.match.solution.s0.o3": "{0}",
  "0.http.skb__sensitive_information_exposure__information_in_comments_or_plain_texts.match.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__sensitive_information_exposure__information_in_comments_or_plain_texts.match.attack.s0.o1": "{0}",
  "0.http.skb__sensitive_information_exposure__information_in_comments_or_plain_texts.match.attack.s0.o2": "{0}",
  "0.http.skb__sensitive_information_exposure__information_in_comments_or_plain_texts.match.attack.s0.o3": "The response body for the request have been checked.",
  "0.http.skb__sensitive_information_exposure__information_in_comments_or_plain_texts.match.result.s0.o0": "The following string has been found in the response body:",
  "0.http.skb__sensitive_information_exposure__information_in_comments_or_plain_texts.match.result.s0.o1": "{0}",
  "0.http.skb__sensitive_information_exposure__information_in_comments_or_plain_texts.match.result.s1.o0": "As a result of analysis, it is confirmed that the sensitive information can be leaked on the page.",
  "0.http.skb__sensitive_information_exposure__information_in_comments_or_plain_texts.match.solution.s0.o0": "Within the script function, limit the use of file upload information, table information, specific IPs or URL Full paths, and refer to the configuration file if necessary.",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.absolute_action.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.absolute_action.attack.s0.o1": "{0}",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.absolute_action.attack.s0.o2": "{0}",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.absolute_action.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.absolute_action.result.s0.o0": "In the response body, a form tag with important information is found. The XPath for that form tag is:",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.absolute_action.result.s0.o1": "{0}",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.absolute_action.result.s1.o0": "The action attribute of that form tag has the following value {0}, which means that the request made through that form tag uses the HTTP protocol.\n",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.absolute_action.result.s1.o1": "As a result of analysis, it is confirmed that the improper protocol is used to send important information.",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.absolute_action.solution.s0.o0": "If you use a form tag to send sensitive information, you must set the value of the action attribute of that form tag to send using the HTTPS protocol. You must also set the value of the method attribute of that form tag to send using the POST method.",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.get_method.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.get_method.attack.s0.o1": "{0}",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.get_method.attack.s0.o2": "{0}",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.get_method.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.get_method.result.s0.o0": "In the response body, a form tag with important information is found. The XPath for that form tag is:",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.get_method.result.s0.o1": "{0}",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.get_method.result.s1.o0": "The action attribute of that form tag has the following value {0}, which means that the request made through that form tag uses the HTTPS protocol.\n",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.get_method.result.s1.o1": "Also, the action attribute of that form tag has the following value {0}, which means that the request made through that form tag uses the GET method.\n",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.get_method.result.s1.o2": "As a result of analysis, it is confirmed that the improper method is used to send important information.",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.get_method.solution.s0.o0": "If you use a form tag to send sensitive information, you must set the value of the action attribute of that form tag to send using the HTTPS protocol. You must also set the value of the method attribute of that form tag to send using the POST method.",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.no_action.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.no_action.attack.s0.o1": "{0}",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.no_action.attack.s0.o2": "{0}",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.no_action.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.no_action.result.s0.o0": "In the response body, a form tag with important information is found. The XPath for that form tag is:",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.no_action.result.s0.o1": "{0}",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.no_action.result.s1.o0": "The value of the action attribute for the form tag does not exist. This confirms that a request from the form tag is sent to the URL of a page with the form tag. Therefore, the request from the form tag uses an identical protocol with the URL of a page with the form tag.\n",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.no_action.result.s1.o1": "Also, here is the URL of the page where that form tag exists.",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.no_action.result.s1.o2": "{0}",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.no_action.result.s1.o3": "As a result of analysis, it is confirmed that the improper protocol is used to send important information.",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.no_action.solution.s0.o0": "If you use a form tag to send sensitive information, you must set the value of the action attribute of that form tag to send using the HTTPS protocol. You must also set the value of the method attribute of that form tag to send using the POST method.",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.no_method.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.no_method.attack.s0.o1": "{0}",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.no_method.attack.s0.o2": "{0}",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.no_method.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.no_method.result.s0.o0": "In the response body, a form tag with important information is found. The XPath for that form tag is:",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.no_method.result.s0.o1": "{0}",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.no_method.result.s1.o0": "The action attribute of that form tag has the following value {0}, which means that the request made through that form tag uses the HTTPS protocol.\n",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.no_method.result.s1.o1": "Also, the method attribute for that form tag doesn't exist, which means that requests made through that form tag use the GET method.\n",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.no_method.result.s1.o2": "As a result of analysis, it is confirmed that the improper method is used to send important information.",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.no_method.solution.s0.o0": "If you use a form tag to send sensitive information, you must set the value of the action attribute of that form tag to send using the HTTPS protocol. You must also set the value of the method attribute of that form tag to send using the POST method.",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.relative_action.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.relative_action.attack.s0.o1": "{0}",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.relative_action.attack.s0.o2": "{0}",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.relative_action.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.relative_action.result.s0.o0": "In the response body, a form tag with important information is found. The XPath for that form tag is:",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.relative_action.result.s0.o1": "{0}",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.relative_action.result.s1.o0": "The value of the action attribute for the form tag is: {0} This confirms that a request from the form tag is sent to the URL of a page with the form tag. Therefore, the request from the form tag uses an identical protocol with the URL of a page with the form tag.\n",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.relative_action.result.s1.o1": "Also, here is the URL of the page where that form tag exists.",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.relative_action.result.s1.o2": "{0}",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.relative_action.result.s1.o3": "As a result of analysis, it is confirmed that the improper protocol is used to send important information.",
  "0.http.skb__sensitive_information_exposure__public_admin_without_ssl.relative_action.solution.s0.o0": "If you use a form tag to send sensitive information, you must set the value of the action attribute of that form tag to send using the HTTPS protocol. You must also set the value of the method attribute of that form tag to send using the POST method.",
  "0.http.skb__sensitive_information_exposure__server_information_in_response_headers.server.attack.s0.o0": "To confirm the server information, check a reponse of the following request.",
  "0.http.skb__sensitive_information_exposure__server_information_in_response_headers.server.attack.s0.o1": "{0}",
  "0.http.skb__sensitive_information_exposure__server_information_in_response_headers.server.result.s0.o0": "The HTTP response header contains the server's version information, as shown below.",
  "0.http.skb__sensitive_information_exposure__server_information_in_response_headers.server.result.s0.o1": "{0}",
  "0.http.skb__sensitive_information_exposure__server_information_in_response_headers.server.result.s1.o0": "As a result of analysis, it is confirmed that the sensitive information can be leaked on the page.",
  "0.http.skb__sensitive_information_exposure__server_information_in_response_headers.server.solution.s0.o0": "Version information on a server can usually be restricted from being included in HTTP response headers by changing settings on the server.\n",
  "0.http.skb__sensitive_information_exposure__server_information_in_response_headers.server.solution.s1.o0": "- For PHP, adjust the settings in the php.ini file as shown below.\n",
  "0.http.skb__sensitive_information_exposure__server_information_in_response_headers.server.solution.s2.o0": "- For Apache, adjust the settings in the httpd.conf file as shown below.\n",
  "0.http.skb__sensitive_information_exposure__server_information_in_response_headers.server.solution.s3.o0": "- In Nginx, use the fastcgi_hide_header directive for header hiding. \n",
  "0.http.skb__sensitive_information_exposure__server_information_in_response_headers.server.solution.s4.o0": "- For IIS, adjust the settings in the web.config file as shown below.",
  "0.http.skb__sql_injection__errors_on_special_characters.match.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__sql_injection__errors_on_special_characters.match.attack.s0.o1": "{0}",
  "0.http.skb__sql_injection__errors_on_special_characters.match.attack.s0.o2": "{0}",
  "0.http.skb__sql_injection__errors_on_special_characters.match.attack.s0.o3": "The response body for the request have been checked.",
  "0.http.skb__sql_injection__errors_on_special_characters.match.result.s0.o0": "The following string has been found in the response body:",
  "0.http.skb__sql_injection__errors_on_special_characters.match.result.s0.o1": "{0}",
  "0.http.skb__sql_injection__errors_on_special_characters.match.result.s0.o2": "That string is an error message printed out from {0}.\n",
  "0.http.skb__sql_injection__errors_on_special_characters.match.result.s0.o3": "As a result of analysis, it is confirmed that the filtering on the special characters are not enough to prevent possibility of SQL injection.",
  "0.http.skb__sql_injection__errors_on_special_characters.match.solution.s0.o0": "The malicious SQL query allows an attacker to view or manipulate DBMS or data. Make sure to filter out user inputs. Special characters, such as ', ;, --, #, /* */, might cause the SQL injection. Do not use them in user inputs.\n\n",
  "0.http.skb__sql_injection__errors_on_special_characters.match.solution.s0.o1": "Java :",
  "0.http.skb__sql_injection__errors_on_special_characters.match.solution.s0.o2": "{0}",
  "0.http.skb__sql_injection__errors_on_special_characters.match.solution.s0.o3": "JSP :",
  "0.http.skb__sql_injection__errors_on_special_characters.match.solution.s0.o4": "{0}",
  "0.http.skb__sql_injection__errors_on_special_characters.match.solution.s0.o5": "PHP :",
  "0.http.skb__sql_injection__errors_on_special_characters.match.solution.s0.o6": "{0}",
  "0.http.skb__sql_injection__run_normally_on_attack_code.time_based.attack.s0.o0": "The first request has been sent as below. It is assume that the request brings delays on processing SQL queries. ",
  "0.http.skb__sql_injection__run_normally_on_attack_code.time_based.attack.s0.o1": "{0}",
  "0.http.skb__sql_injection__run_normally_on_attack_code.time_based.attack.s0.o2": "{0}",
  "0.http.skb__sql_injection__run_normally_on_attack_code.time_based.attack.s0.o3": "The second request has been sent as below. It is assume that the request brings no delay on processing SQL queries. ",
  "0.http.skb__sql_injection__run_normally_on_attack_code.time_based.attack.s0.o4": "{0}",
  "0.http.skb__sql_injection__run_normally_on_attack_code.time_based.attack.s0.o5": "{0}",
  "0.http.skb__sql_injection__run_normally_on_attack_code.time_based.attack.s0.o6": "The status code and response body for the request have been checked.",
  "0.http.skb__sql_injection__run_normally_on_attack_code.time_based.result.s0.o0": "The status code of the response is {0}.\n",
  "0.http.skb__sql_injection__run_normally_on_attack_code.time_based.result.s0.o1": "Time to get a response for the first request: {0} seconds.\n",
  "0.http.skb__sql_injection__run_normally_on_attack_code.time_based.result.s0.o2": "Time to get a response for the second request: {0} seconds.\n",
  "0.http.skb__sql_injection__run_normally_on_attack_code.time_based.result.s0.o3": "Delayed time to get a response for the first request: {0} seconds.\n",
  "0.http.skb__sql_injection__run_normally_on_attack_code.time_based.result.s0.o4": "The analysis confirms that time-based blind SQL injection attacks are possible.",
  "0.http.skb__sql_injection__run_normally_on_attack_code.time_based.solution.s0.o0": "The malicious SQL query allows an attacker to view or manipulate DBMS or data. Make sure to filter out user inputs. Special characters, such as ', ;, --, #, /* */, might cause the SQL injection. Do not use them in user inputs.\n\n",
  "0.http.skb__sql_injection__run_normally_on_attack_code.time_based.solution.s0.o1": "Java :",
  "0.http.skb__sql_injection__run_normally_on_attack_code.time_based.solution.s0.o2": "{0}",
  "0.http.skb__sql_injection__run_normally_on_attack_code.time_based.solution.s0.o3": "JSP :",
  "0.http.skb__sql_injection__run_normally_on_attack_code.time_based.solution.s0.o4": "{0}",
  "0.http.skb__sql_injection__run_normally_on_attack_code.time_based.solution.s0.o5": "PHP :",
  "0.http.skb__sql_injection__run_normally_on_attack_code.time_based.solution.s0.o6": "{0}",
  "0.http.skb__temp_files_management__default_pages.match.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__temp_files_management__default_pages.match.attack.s0.o1": "{0}",
  "0.http.skb__temp_files_management__default_pages.match.attack.s0.o2": "{0}",
  "0.http.skb__temp_files_management__default_pages.match.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.skb__temp_files_management__default_pages.match.result.s0.o0": "The status code of the response is {0}.\n",
  "0.http.skb__temp_files_management__default_pages.match.result.s1.o0": "The following string has been found in the response body:",
  "0.http.skb__temp_files_management__default_pages.match.result.s1.o1": "{0}",
  "0.http.skb__temp_files_management__default_pages.match.result.s2.o0": "As a result of analysis, it is confirmed that the default page or sample file can be accessed.",
  "0.http.skb__temp_files_management__default_pages.match.solution.s0.o0": "Delete all unnecessary files except those that are essential to the operation of the web application.\n",
  "0.http.skb__temp_files_management__default_pages.match.solution.s0.o1": "It is recommended to search and delete unnecessary extensions such as *.tar, *.psd, *.fla, *.bak, *.test, *.txt, *.old, *.zip, *.date.",
  "0.http.skb__temp_files_management__default_pages.match.solution.s0.o2": "Ensure that no unnecessary files are not left after additional development or maintenance after the service goes live. For example:\n",
  "0.http.skb__temp_files_management__default_pages.match.solution.s0.o3": "1. Disable contents and services that are installed by default during the initial service installation.\n",
  "0.http.skb__temp_files_management__default_pages.match.solution.s0.o4": "2. Delete or change default directories (/htdocs, /cig-bin, etc.).",
  "0.http.skb__temp_files_management__default_pages.match.solution.s0.o5": "3. Delete or change default pages (Manual, Sample, etc.).\n",
  "0.http.skb__temp_files_management__default_pages.match.solution.s0.o6": "Files utilized for the development or test need to be managed on the separate project.",
  "0.http.skb__temp_files_management__information_in_browser_console.match.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__temp_files_management__information_in_browser_console.match.attack.s0.o1": "{0}",
  "0.http.skb__temp_files_management__information_in_browser_console.match.attack.s0.o2": "{0}",
  "0.http.skb__temp_files_management__information_in_browser_console.match.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.skb__temp_files_management__information_in_browser_console.match.result.s0.o0": "The following string has been found in the response body:",
  "0.http.skb__temp_files_management__information_in_browser_console.match.result.s1.o0": "{0}",
  "0.http.skb__temp_files_management__information_in_browser_console.match.result.s1.o1": "As a result of analysis, it is confirmed that the sensitive information can be leaked on the page.",
  "0.http.skb__temp_files_management__information_in_browser_console.match.solution.s0.o0": "Unneccesary functions to print out the logs, such as console.log(), need to be removed from source code.",
  "0.http.skb__temp_files_management__unnecessary_files_for_operation.match.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__temp_files_management__unnecessary_files_for_operation.match.attack.s0.o1": "{0}",
  "0.http.skb__temp_files_management__unnecessary_files_for_operation.match.attack.s0.o2": "{0}",
  "0.http.skb__temp_files_management__unnecessary_files_for_operation.match.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.skb__temp_files_management__unnecessary_files_for_operation.match.result.s0.o0": "The following string has been found in the response body:",
  "0.http.skb__temp_files_management__unnecessary_files_for_operation.match.result.s1.o0": "{0}",
  "0.http.skb__temp_files_management__unnecessary_files_for_operation.match.result.s1.o1": "As a result of analysis, it is confirmed that the unnecesary file can be downloaded on the page.",
  "0.http.skb__temp_files_management__unnecessary_files_for_operation.match.solution.s0.o0": "Delete all unnecessary files except those that are essential to the operation of the web application.",
  "0.http.skb__temp_files_management__unnecessary_files_for_operation.match.solution.s0.o1": "It is recommended to search and delete unnecessary extensions such as *.tar, *.psd, *.fla, *.bak, *.test, *.txt, *.old, *.zip, *.date.\n",
  "0.http.skb__temp_files_management__unnecessary_files_for_operation.match.solution.s0.o2": "Ensure that no unnecessary files are not left after additional development or maintenance after the service goes live. For example, disable contents and services that are installed by default during the initial service installation, delete or change default directories (/htdocs, /cig-bin, etc.), and delete or change default pages (Manual, Sample, etc.), etc.\n",
  "0.http.skb__temp_files_management__unnecessary_files_for_operation.match.solution.s0.o3": "Files utilized for the development or test need to be managed on the separate project.",
  "0.http.skb__unvalidated_redirect_and_forward__cors.both.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__unvalidated_redirect_and_forward__cors.both.attack.s0.o1": "{0}",
  "0.http.skb__unvalidated_redirect_and_forward__cors.both.attack.s0.o2": "{0}",
  "0.http.skb__unvalidated_redirect_and_forward__cors.both.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.skb__unvalidated_redirect_and_forward__cors.both.result.s0.o0": "The header named {0} in the response has the following value.",
  "0.http.skb__unvalidated_redirect_and_forward__cors.both.result.s0.o1": "{0}",
  "0.http.skb__unvalidated_redirect_and_forward__cors.both.result.s1.o0": "The header named {0} in the response has the following value.",
  "0.http.skb__unvalidated_redirect_and_forward__cors.both.result.s1.o1": "{0}",
  "0.http.skb__unvalidated_redirect_and_forward__cors.both.result.s2.o0": "The analysis shows that the CORS setting is invalid.",
  "0.http.skb__unvalidated_redirect_and_forward__cors.both.solution.s0.o0": "If you have CORS enabled, you should avoid access control that relies solely on the `Access-Control-Allow-Origin` or `Access-Control-Allow-Credentials` headers because the Origin header can be manipulated to trigger requests.\n",
  "0.http.skb__unvalidated_redirect_and_forward__cors.both.solution.s0.o1": "For example, you can write a CORS regular expression like this.",
  "0.http.skb__unvalidated_redirect_and_forward__cors.both.solution.s0.o2": "{0}",
  "0.http.skb__unvalidated_redirect_and_forward__cors.credentials.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__unvalidated_redirect_and_forward__cors.credentials.attack.s0.o1": "{0}",
  "0.http.skb__unvalidated_redirect_and_forward__cors.credentials.attack.s0.o2": "{0}",
  "0.http.skb__unvalidated_redirect_and_forward__cors.credentials.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.skb__unvalidated_redirect_and_forward__cors.credentials.result.s0.o0": "The header named {0} in the response has the following value.",
  "0.http.skb__unvalidated_redirect_and_forward__cors.credentials.result.s0.o1": "{0}",
  "0.http.skb__unvalidated_redirect_and_forward__cors.credentials.result.s1.o0": "The analysis shows that the CORS setting is invalid.",
  "0.http.skb__unvalidated_redirect_and_forward__cors.credentials.solution.s0.o0": "If you have CORS enabled, you should avoid access control that relies solely on the `Access-Control-Allow-Origin` or `Access-Control-Allow-Credentials` headers because the Origin header can be manipulated to trigger requests.\n",
  "0.http.skb__unvalidated_redirect_and_forward__cors.credentials.solution.s0.o1": "For example, you can write a CORS regular expression like this.",
  "0.http.skb__unvalidated_redirect_and_forward__cors.credentials.solution.s0.o2": "{0}",
  "0.http.skb__unvalidated_redirect_and_forward__cors.origin.attack.s0.o0": "The following request has been sent.",
  "0.http.skb__unvalidated_redirect_and_forward__cors.origin.attack.s0.o1": "{0}",
  "0.http.skb__unvalidated_redirect_and_forward__cors.origin.attack.s0.o2": "{0}",
  "0.http.skb__unvalidated_redirect_and_forward__cors.origin.attack.s0.o3": "The response code and body for the request have been checked.",
  "0.http.skb__unvalidated_redirect_and_forward__cors.origin.result.s0.o0": "The header named {0} in the response has the following value.",
  "0.http.skb__unvalidated_redirect_and_forward__cors.origin.result.s0.o1": "{0}",
  "0.http.skb__unvalidated_redirect_and_forward__cors.origin.result.s1.o0": "The analysis shows that the CORS setting is invalid.",
  "0.http.skb__unvalidated_redirect_and_forward__cors.origin.solution.s0.o0": "If you have CORS enabled, you should avoid access control that relies solely on the `Access-Control-Allow-Origin` or `Access-Control-Allow-Credentials` headers because the Origin header can be manipulated to trigger requests.\n",
  "0.http.skb__unvalidated_redirect_and_forward__cors.origin.solution.s0.o1": "For example, you can write a CORS regular expression like this.",
  "0.http.skb__unvalidated_redirect_and_forward__cors.origin.solution.s0.o2": "{0}",
  "0.http.snoop_disclosure.request.attack.s0.o0": "The Snoop Servlet Information Exposure vulnerability is caused by exposing information from the Snoop servlet used by IBM WebSphere or Apache Tomcat.",
  "0.http.snoop_disclosure.request.attack.s1.o0": "The Snoop Servlet has vulnerability to leak important information such as host information of server, server type, server version and path by request modification.",
  "0.http.snoop_disclosure.request.attack.s1.o1": "The same vulnerability exists in Apache Tomcat 3.0, 3.1 and IBM WebSphere 8.0 and earlier versions that use these Snoop servlets.",
  "0.http.snoop_disclosure.request.attack.s2.o0": "An attacker can exploit the vulnerability to steal server information and use it for other attacks.",
  "0.http.snoop_disclosure.request.attack.s3.o0": "The following HTTP request including the {0} Snoop servlet path has been sent to check the Snoop Servlet Information Exposure vulnerability.",
  "0.http.snoop_disclosure.request.attack.s4.o0": "{0}",
  "0.http.snoop_disclosure.request.attack.s4.o1": "{0}",
  "0.http.snoop_disclosure.request.result.s0.o0": "The following HTTP response has been sent to the HTTP request to check the Snoop Servlet Information Exposure vulnerability:",
  "0.http.snoop_disclosure.request.result.s1.o0": "{0}",
  "0.http.snoop_disclosure.request.result.s2.o0": "The string {0} that indicates Snoop information exposures has been found in the HTTP response above.",
  "0.http.snoop_disclosure.request.solution.s0.o0": "To resolve the vulnerability, you should avoid the vulnerable Snoop servlets or web servers that use the Snoop servlets.",
  "0.http.sql_injection.match.attack.s0.o0": "The following request has been sent.",
  "0.http.sql_injection.match.attack.s0.o1": "{0}",
  "0.http.sql_injection.match.attack.s0.o2": "{0}",
  "0.http.sql_injection.match.result.s0.o0": "The following string has been found in the response body:",
  "0.http.sql_injection.match.result.s0.o1": "{0}",
  "0.http.sql_injection.match.result.s0.o2": "That string is fed into an error message output by the {0}.",
  "0.http.sql_injection.match.solution.s0.o0": "You need to avoid including user input verbatim in DB queries, thoroughly validate input, and use methods such as Prepared Statements or Object-Relational Mapping (ORM) to securely process SQL queries.",
  "0.http.subresource_integrity.match.attack.s0.o0": "To check that the integrity of external resource is validated on the web browser, the following HTTP request has been sent to the target URL.",
  "0.http.subresource_integrity.match.attack.s1.o0": "{0}",
  "0.http.subresource_integrity.match.result.s0.o0": "No attribute to validate the integrity of external resources has been found in the HTTP response body.",
  "0.http.subresource_integrity.match.result.s0.o1": "No validation on the integrity of external resources might allow an attacker to manipulate the resources or inject malicious code.",
  "0.http.subresource_integrity.match.result.s1.o0": "{0}",
  "0.http.subresource_integrity.match.solution.s0.o0": "On the web browser, use the SRI to check the integrity of external resources.",
  "0.http.subresource_integrity.match.solution.s0.o1": "The following shows how to use the SRI.",
  "0.http.subresource_integrity.match.solution.s1.o0": "Add integrity attribute to <script> or <link> tag to specify a hash value to the resource file.",
  "0.http.subresource_integrity.match.solution.s1.o1": "The integrity attribute make the browser to check the integrity by comparing the resource to the hash before loading.",
  "0.http.subresource_integrity.match.solution.s1.o2": "If the hash of the file is not matched, the browser rejects to load the resource and returns a network error.",
  "0.http.subresource_integrity.match.solution.s2.o0": "The integrity attribute starts with at least one string with suffix of hash algorithm such as sha256, sha384, sha512, and then, shows a hash of the file encoded in base64.",
  "0.http.subresource_integrity.match.solution.s3.o0": "The resources through the external CDN is widely utilized in the web, but not every CDN supports the SRI.",
  "0.http.subresource_integrity.match.solution.s3.o1": "In this case, a developer can use the SRI Hash Generator to create a hash and validate its integrity.",
  "0.http.subresource_integrity.match.solution.s4.o0": "However, it is insufficient and hard for managing to generate hashes on dynamically delivered resources or resources updated with short term.",
  "0.http.subresource_integrity.match.solution.s4.o1": "For example, when the resource gets updated the old SRI is not valid any more. To manage the resource, it requires to generate and apply a new hash for every update.",
  "0.http.subresource_integrity.match.solution.s4.o2": "For that reason, some dynamically delivered CDNs including Google Fonts, Google Maps, Kakao Maps do not support the SRI.",
  "0.http.subresource_integrity.match.solution.s5.o0": "Therefore, the external CDN does not support the SRI, use security policies like CSP(Content Security Policy) to specify trusted sources for the external resources rather than manually setting the SRI.",
  "0.http.temp_file_disclosure.access.attack.s0.o0": "The Temporary File Disclosure vulnerability is caused by exposing an undeleted temporary file that is generated by a developer or development tool.",
  "0.http.temp_file_disclosure.access.attack.s1.o0": "An attacker can use the vulnerability to access to temporary files with sensitive information.",
  "0.http.temp_file_disclosure.access.attack.s1.o1": "To see if these temporary files are accessible, Sparrow DAST attempted to access the URL below with the {0} attack string.",
  "0.http.temp_file_disclosure.access.attack.s2.o0": "{0}",
  "0.http.temp_file_disclosure.access.result.s0.o0": "The following HTTP response header is sent for a URL access attempt with an attack string.",
  "0.http.temp_file_disclosure.access.result.s1.o0": "{0}",
  "0.http.temp_file_disclosure.access.result.s2.o0": "A URL with the temporary file path can be accessed through the HTTP response header above.",
  "0.http.temp_file_disclosure.access.solution.s0.o0": "The best way to resolve a temporary file disclosure vulnerability is to remove unnecessary temporary files.",
  "0.http.temp_file_disclosure.access.solution.s1.o0": "When a temporary file is needed, the access to the temporary file should not be allowed to unauthorized users.",
  "0.http.temporary_file_disclosure.match.attack.s0.o0": "The following request has been sent.",
  "0.http.temporary_file_disclosure.match.attack.s0.o1": "{0}",
  "0.http.temporary_file_disclosure.match.attack.s0.o2": "{0}",
  "0.http.temporary_file_disclosure.match.result.s0.o0": "The following string has been found in the response body:",
  "0.http.temporary_file_disclosure.match.result.s0.o1": "{0}",
  "0.http.temporary_file_disclosure.match.solution.s0.o0": "Ensure to prevent information exposure by removing temporary files, backup files, log files, etc. that are not needed. It is recommend applying an automated process to periodically delete these files to ensure they do not remain on the server.",
  "0.http.tomcat_examples.access.attack.s0.o0": "The Apache Tomcat example vulnerability is caused by exposing an JSP examples of Apache Tomcat with the Cross-site Scripting vulnerabilities.",
  "0.http.tomcat_examples.access.attack.s1.o0": "Various examples and execution environment are provided under /examples/ under Apache Tomcat.",
  "0.http.tomcat_examples.access.attack.s1.o1": "However, since these examples are implemented without security considerations, attackers can perform cross site scripting and other attacks through these examples.",
  "0.http.tomcat_examples.access.attack.s2.o0": "In order to check that the vulnerable Apache Tomcat example is accessible, the following HTTP request is sent:",
  "0.http.tomcat_examples.access.attack.s3.o0": "{0}",
  "0.http.tomcat_examples.access.attack.s3.o1": "{0}",
  "0.http.tomcat_examples.access.result.s0.o0": "The following HTTP response has been received for the HTTP request for accessing the Apache Tomcat example.",
  "0.http.tomcat_examples.access.result.s1.o0": "{0}",
  "0.http.tomcat_examples.access.result.s2.o0": "The session example, one of the vulnerable Apache Tomcat examples, can be accessed by using the response message above.",
  "0.http.tomcat_examples.access.solution.s0.o0": "To prevent the Apache Tomcat example vulnerability, access to the Apache Tomcat default page must be blocked by default.",
  "0.http.unlimited_password_error.conditional.attack_form": "A value of the parameter {0} transmitted through the form has been set as follow:",
  "0.http.unlimited_password_error.conditional.attack_query_string": "A value of the {0} parameter transmitted through the query string has been set as follow.",
  "0.http.unlimited_password_error.five_times.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "0.http.unlimited_password_error.five_times.attack.s0.o1": "{0}",
  "0.http.unlimited_password_error.five_times.attack.s1.o0": "The first HTTP request for login attempts has been configured as follow:",
  "0.http.unlimited_password_error.five_times.attack.s1.o1": "{0}",
  "0.http.unlimited_password_error.five_times.attack.s10.o0": "The following HTTP request has been sent to the server.",
  "0.http.unlimited_password_error.five_times.attack.s10.o1": "{0}",
  "0.http.unlimited_password_error.five_times.attack.s2.o0": "The following HTTP request has been sent to the server.",
  "0.http.unlimited_password_error.five_times.attack.s2.o1": "{0}",
  "0.http.unlimited_password_error.five_times.attack.s3.o0": "The second HTTP request for the login attempt has been configured as follow:",
  "0.http.unlimited_password_error.five_times.attack.s3.o1": "{0}",
  "0.http.unlimited_password_error.five_times.attack.s4.o0": "The following HTTP request has been sent to the server.",
  "0.http.unlimited_password_error.five_times.attack.s4.o1": "{0}",
  "0.http.unlimited_password_error.five_times.attack.s5.o0": "The third HTTP request for login attempts has been configured as follow:",
  "0.http.unlimited_password_error.five_times.attack.s5.o1": "{0}",
  "0.http.unlimited_password_error.five_times.attack.s6.o0": "The following HTTP request has been sent to the server.",
  "0.http.unlimited_password_error.five_times.attack.s6.o1": "{0}",
  "0.http.unlimited_password_error.five_times.attack.s7.o0": "The fourth HTTP request for the login attempt has been configured as follow:",
  "0.http.unlimited_password_error.five_times.attack.s7.o1": "{0}",
  "0.http.unlimited_password_error.five_times.attack.s8.o0": "The following HTTP request has been sent to the server.",
  "0.http.unlimited_password_error.five_times.attack.s8.o1": "{0}",
  "0.http.unlimited_password_error.five_times.attack.s9.o0": "The fifth HTTP request for login attempts has been configured as follow:",
  "0.http.unlimited_password_error.five_times.attack.s9.o1": "{0}",
  "0.http.unlimited_password_error.five_times.result.s0.o0": "The HTTP response text for an HTTP request sent to the server is shown as follow.",
  "0.http.unlimited_password_error.five_times.result.s0.o1": "{0}",
  "0.http.unlimited_password_error.five_times.result.s0.o2": "A {0} type {1} web element named {2} has been found in its HTTP response text.",
  "0.http.unlimited_password_error.five_times.result.s1.o0": "The HTTP response text for the first HTTP request for a login attempt is shown as follow.",
  "0.http.unlimited_password_error.five_times.result.s1.o1": "{0}",
  "0.http.unlimited_password_error.five_times.result.s2.o0": "The HTTP response text for the second HTTP request for the login attempt is shown as follow.",
  "0.http.unlimited_password_error.five_times.result.s2.o1": "{0}",
  "0.http.unlimited_password_error.five_times.result.s2.o2": "The HTTP response text is identical to the HTTP response text for the first HTTP request.",
  "0.http.unlimited_password_error.five_times.result.s3.o0": "The HTTP response text for the third HTTP request for the login attempt is shown as follow.",
  "0.http.unlimited_password_error.five_times.result.s3.o1": "{0}",
  "0.http.unlimited_password_error.five_times.result.s3.o2": "The HTTP response text is identical to the HTTP response text for the first HTTP request.",
  "0.http.unlimited_password_error.five_times.result.s4.o0": "The HTTP response text for the fourth HTTP request for a login attempt is shown as follow.",
  "0.http.unlimited_password_error.five_times.result.s4.o1": "{0}",
  "0.http.unlimited_password_error.five_times.result.s4.o2": "The HTTP response text is identical to the HTTP response text for the first HTTP request.",
  "0.http.unlimited_password_error.five_times.result.s5.o0": "The HTTP response text for the fifth HTTP request for the login attempt is shown as follow.",
  "0.http.unlimited_password_error.five_times.result.s5.o1": "{0}",
  "0.http.unlimited_password_error.five_times.result.s5.o2": "The HTTP response text is identical to the HTTP response text for the first HTTP request.",
  "0.http.unlimited_password_error.five_times.result.s6.o0": "As a result of comparison, the same HTTP response text has been received for each HTTP response.",
  "0.http.unlimited_password_error.five_times.result.s6.o1": "Therefore, the server does not restrict the client's repeated login attempts.",
  "0.http.unlimited_password_error.five_times.solution.s0.o0": "If an authentication failure of a particular client occurs repeatedly, try to restrict authentication attempts on that client.",
  "0.http.unlimited_password_error.five_times.solution.s0.o1": "After authentication fails five times, an additional authentication process is required.",
  "0.http.unsafe_csp_setting.match.attack.s0.o0": "To check that an improper value is set on the CSP, the following HTTP request has been sent to the target URL.",
  "0.http.unsafe_csp_setting.match.attack.s1.o0": "{0}",
  "0.http.unsafe_csp_setting.match.result.s0.o0": "The following improper CSP setting has been found in the HTTP response header.",
  "0.http.unsafe_csp_setting.match.result.s0.o1": "With the settings, an attacker can execute attacks such as XSS, data injection, clickjacking.",
  "0.http.unsafe_csp_setting.match.result.s0.o2": "To prevent this from happening, set a secure CSP setting.",
  "0.http.unsafe_csp_setting.match.result.s1.o0": "{0}",
  "0.http.unsafe_csp_setting.match.solution.s0.o0": "Remove the CSP setting and change it into a secure CSP setting.",
  "0.http.unsafe_csp_setting.match.solution.s0.o1": "The secure CSP setting is shown in the following.",
  "0.http.unsafe_csp_setting.match.solution.s1.o0": "The 'none' prevents any resources from being loaded.",
  "0.http.unsafe_csp_setting.match.solution.s1.o1": "For example, setting object-src to 'none' prevents object resources from being loaded.",
  "0.http.unsafe_csp_setting.match.solution.s2.o0": "The 'self' allows resources that are provided by the same origin only.",
  "0.http.unsafe_csp_setting.match.solution.s2.o1": "For example, setting script-src to 'self' execute scripts provided by the same origin.",
  "0.http.unsafe_csp_setting.match.solution.s2.o2": "Yet, be cautious when using the JSONP(JSON with Padding) for the web app.",
  "0.http.unsafe_csp_setting.match.solution.s2.o3": "When a JSONP call back method is vulnerable to the allowed domains, an attacker can use it to inject malicious scripts.",
  "0.http.unsafe_csp_setting.match.solution.s2.o4": "To avoid this, it is recommend to use the CORS(Cross-Origin Resource Sharing) policy to allow requests for data only from trusted source.",
  "0.http.unsafe_csp_setting.match.solution.s3.o0": "The nonce setting uses unique nonce value to enable the inline scripts or styles in a secure way.",
  "0.http.unsafe_csp_setting.match.solution.s3.o1": "For example, setting script-src to 'nonce-RANDOM_VALUE' executes scripts including the nonce only.",
  "0.http.unsafe_csp_setting.match.solution.s4.o0": "sha256-hash setting uses a hash such as sha256, sha384, sha512 to enable inline scripts or styles in a secure way.",
  "0.http.unsafe_csp_setting.match.solution.s4.o1": "For example, setting script-src to 'sha256-HASH' executes resources while the exact hash value of inline script or style is matched.",
  "0.http.unsafe_third_party_link.match.attack.s0.o0": "To check for vulnerabilities in unsafe third-party links, the following HTTP requests were sent to the collected URLs.",
  "0.http.unsafe_third_party_link.match.attack.s1.o0": "{0}",
  "0.http.unsafe_third_party_link.match.attack.s1.o1": "{0}",
  "0.http.unsafe_third_party_link.match.result.s0.o0": "It has been confirmed that when using the target=\"_blank\" attribute in the HTTP response body, the rel=\"opener\" attribute is also set.",
  "0.http.unsafe_third_party_link.match.result.s0.o1": "This property allows a new tab or window to access the original page.",
  "0.http.unsafe_third_party_link.match.result.s0.o2": "This poses a risk that an attacker could force a redirect of the parent page to a phishing site through the `window.opener` object.",
  "0.http.unsafe_third_party_link.match.result.s1.o0": "{0}",
  "0.http.unsafe_third_party_link.match.solution.s0.o0": "It is recommended to use the Cross-Origin-Opener-Policy header to prevent tabnabbing attacks.",
  "0.http.unsafe_third_party_link.match.solution.s0.o1": "Setting this header to \"same-origin\" will cause the browser to share the browsing context group (BCG) only with documents of the same origin, while documents from different origins will be isolated.",
  "0.http.unsafe_third_party_link.match.solution.s0.o2": "As a result, documents opened from other sources have `window.opener` set to null, preventing manipulation of the original page.",
  "0.http.unsafe_third_party_link.match.solution.s1.o0": "Additionally, when using the \"_blank\" attribute to open a new window in HTML or JavaScript, the \"noopener noreferrer\" attributes should be used together.",
  "0.http.unsafe_third_party_link.match.solution.s1.o1": "This prevents the newly opened page from referencing the original page and configures the browser not to send the Referer header.",
  "0.http.unsafe_third_party_link.match.solution.s2.o0": "Modern web browsers provide the behavior of `rel=\"noopener\"` which implicitly does not set `window.opener` when `target=\"_blank\"` is set on `<a>`, `<area>`, or `<form>` elements.",
  "0.http.unsafe_third_party_link.match.solution.s2.o1": "However, this implicit behavior may not be consistent across browsers, so it is safer to set the property explicitly.",
  "0.http.unsafe_third_party_link.missing.attack.s0.o0": "To check for vulnerabilities in unsafe third-party links, the following HTTP requests were sent to the collected URLs.",
  "0.http.unsafe_third_party_link.missing.attack.s1.o0": "{0}",
  "0.http.unsafe_third_party_link.missing.attack.s1.o1": "{0}",
  "0.http.unsafe_third_party_link.missing.result.s0.o0": "The \"noopener\" attribute is missing when using the window.open() method in the HTTP response body as follows.",
  "0.http.unsafe_third_party_link.missing.result.s0.o1": "If this property does not exist, there is a risk that an attacker could force a redirect of the parent page to a phishing site through the `window.opener` object.",
  "0.http.unsafe_third_party_link.missing.result.s1.o0": "{0}",
  "0.http.unsafe_third_party_link.missing.solution.s0.o0": "It is recommended to use the Cross-Origin-Opener-Policy header to prevent tabnabbing attacks.",
  "0.http.unsafe_third_party_link.missing.solution.s0.o1": "Setting this header to \"same-origin\" will cause the browser to share the browsing context group (BCG) only with documents of the same origin, while documents from different origins will be isolated.",
  "0.http.unsafe_third_party_link.missing.solution.s0.o2": "As a result, documents opened from other sources have `window.opener` set to null, preventing manipulation of the original page.",
  "0.http.unsafe_third_party_link.missing.solution.s1.o0": "Additionally, when using the \"_blank\" attribute to open a new window in HTML or JavaScript, the \"noopener noreferrer\" attributes should be used together.",
  "0.http.unsafe_third_party_link.missing.solution.s1.o1": "This prevents the newly opened page from referencing the original page and allows you to configure the browser not to send the Referer header.",
  "0.http.unsafe_third_party_link.missing.solution.s2.o0": "Modern web browsers provide the behavior of `rel=\"noopener\"` which implicitly does not set `window.opener` when `target=\"_blank\"` is set on `<a>`, `<area>`, or `<form>` elements.",
  "0.http.unsafe_third_party_link.missing.solution.s2.o1": "However, this implicit behavior may not be consistent across browsers, so it is safer to set the property explicitly.",
  "0.http.use_of_adobe_flash_player.match.attack.s0.o0": "The following request has been sent.",
  "0.http.use_of_adobe_flash_player.match.attack.s0.o1": "{0}",
  "0.http.use_of_adobe_flash_player.match.attack.s0.o2": "{0}",
  "0.http.use_of_adobe_flash_player.match.result.s0.o0": "The following string has been found in the response body:",
  "0.http.use_of_adobe_flash_player.match.result.s0.o1": "{0}",
  "0.http.use_of_adobe_flash_player.match.solution.s0.o0": "It is recommended to remove Adobe Flash Player from your service and change it to serve content using web standard technologies such as HTML5, WebGL, and WebAssembly. Pages that contain Flash content should be modified to eliminate security threats.",
  "0.http.use_of_phpMyAdmin.match.attack.s0.o0": "The following request has been sent.",
  "0.http.use_of_phpMyAdmin.match.attack.s0.o1": "{0}",
  "0.http.use_of_phpMyAdmin.match.attack.s0.o2": "{0}",
  "0.http.use_of_phpMyAdmin.match.result.s0.o0": "The status code of the response is {0}.",
  "0.http.use_of_phpMyAdmin.match.result.s0.o1": "The following string has been found in the response body:",
  "0.http.use_of_phpMyAdmin.match.result.s0.o2": "{0}",
  "0.http.use_of_phpMyAdmin.match.solution.s0.o0": "It is recommended to limit the use of phpMyAdmin whenever possible, or upgrade to the latest version to block unnecessary page access.",
  "0.http.use_of_phpmyadmin.match.attack.s0.o0": "The following request has been sent.",
  "0.http.use_of_phpmyadmin.match.attack.s0.o1": "{0}",
  "0.http.use_of_phpmyadmin.match.attack.s0.o2": "{0}",
  "0.http.use_of_phpmyadmin.match.result.s0.o0": "The status code of the response is {0}.",
  "0.http.use_of_phpmyadmin.match.result.s0.o1": "The following string has been found in the response body:",
  "0.http.use_of_phpmyadmin.match.result.s0.o2": "{0}",
  "0.http.use_of_phpmyadmin.match.solution.s0.o0": "It is recommended to limit the use of phpMyAdmin whenever possible, or upgrade to the latest version to block unnecessary page access.",
  "0.http.weak_password.brute_force.attack.s0.o0": "The Weak Password vulnerability is caused by using an inefficient password, such as not long enough or too common, so an attacker can guess the password.",
  "0.http.weak_password.brute_force.attack.s1.o0": "Passwords such as {0}, {1}, and {2} can be easily guessed because they are overly common passwords.",
  "0.http.weak_password.brute_force.attack.s1.o1": "An attacker can attempt to infer these passwords and, if successful, access the server with the user's privileges.",
  "0.http.weak_password.brute_force.attack.s2.o0": "The following HTTP request with the attack string {1} has been sent to the {0} parameter to check the Weak Password vulnerability.",
  "0.http.weak_password.brute_force.attack.s3.o0": "{0}",
  "0.http.weak_password.brute_force.attack.s3.o1": "{0}",
  "0.http.weak_password.brute_force.result.s0.o0": "The following HTTP response has been received for the HTTP request sent to check the Weak Password vulnerability.",
  "0.http.weak_password.brute_force.result.s1.o0": "{0}",
  "0.http.weak_password.brute_force.result.s2.o0": "The HTTP response above shows that the authentication has been sent.",
  "0.http.weak_password.brute_force.solution.s0.o0": "To resolve a weak password vulnerability, an admin must force users to have sufficiently long passwords.",
  "0.http.weak_password.brute_force.solution.s0.o1": "Also, make sure to use combination of upper and lower alphabet characters, numbers, and special characters, to create unusual passwords.",
  "0.http.web_xml_disclosure.webxml.attack.s0.o0": "The Configuration File Exposure vulnerability is caused by exposing a configuration file with information about web applications.",
  "0.http.web_xml_disclosure.webxml.attack.s1.o0": "Among the configuration files, the web.xml file in WEB-INF is the deployment descriptor of the web application, which is loaded when the server is first loaded and configures the environment of the web application.",
  "0.http.web_xml_disclosure.webxml.attack.s1.o1": "In web.xml, information such as the initial parameters of the servlet context, the validity time of the session, the definition of the servlet / JSP, servlet / JSP mapping, MIME type mapping, error page handling, listener / filter settings are created.",
  "0.http.web_xml_disclosure.webxml.attack.s2.o0": "Because web.xml includes important information about the server, it should not be accessible by default.",
  "0.http.web_xml_disclosure.webxml.attack.s3.o0": "To check the Configuration File Exposure vulnerability, the following HTTP request with path {0} has been sent.",
  "0.http.web_xml_disclosure.webxml.attack.s4.o0": "{0}",
  "0.http.web_xml_disclosure.webxml.attack.s4.o1": "{0}",
  "0.http.web_xml_disclosure.webxml.result.s0.o0": "The HTTP response for the HTTP request is shown as follow.",
  "0.http.web_xml_disclosure.webxml.result.s1.o0": "{0}",
  "0.http.web_xml_disclosure.webxml.result.s2.o0": "The HTTP response has been found to be normally received.",
  "0.http.web_xml_disclosure.webxml.solution.s0.o0": "To prevent configuration file exposure vulnerabilities, users must prevent access to the path where the file is located.",
  "0.http.web_xml_disclosure.webxml.solution.s1.o0": "In addition, users must prevent user inputs accessing to the file path. When you need to use them, encode or verify them before using.",
  "0.http.x_content_type_options.conditional.no_header": "No X-Content-Type-Options header has been found in the HTTP response.",
  "0.http.x_content_type_options.conditional.not_nosniff": "The X-Content-Type-Options header's value is not nosniff.",
  "0.http.x_content_type_options.invalid.attack.s0.o0": "Missing X content type option is an invalid or missing value for the X-Content-Type-Options header in the HTTP response.",
  "0.http.x_content_type_options.invalid.attack.s1.o0": "If the HTTP response has X-Content-Type-Options and its value is nosniff, then MIME type sniffing is disabled.",
  "0.http.x_content_type_options.invalid.attack.s2.o0": "The MIME type sniffing indicates that if a MIME type is missing or a client type is incorrectly set, the browser will scan the resource and guess the exact MIME type.",
  "0.http.x_content_type_options.invalid.attack.s2.o1": "If MIME type sniffing is allowed, an attacker can pass a non-executing MIME type as an execution MIME type.",
  "0.http.x_content_type_options.invalid.attack.s3.o0": "For example, HTML with cross-site scripting can be uploaded as an image file through MIME type sniffing.",
  "0.http.x_content_type_options.invalid.attack.s3.o1": "If the value of X-Content-Type-Options is set to nosniff, it will be uploaded to the server only if it is a valid Content-Type.",
  "0.http.x_content_type_options.invalid.attack.s4.o0": "The valid Content-Type matching is shown as follow.",
  "0.http.x_content_type_options.invalid.attack.s5.o0": "{0}",
  "0.http.x_content_type_options.invalid.result.s0.o0": "The following header is added to the HTTP response.",
  "0.http.x_content_type_options.invalid.result.s1.o0": "{0}",
  "0.http.x_content_type_options.invalid.solution.s0.o0": "To avoid vulnerabilities due to MIME type sniffing, the web application server must include an X-Content-Type-Options header with a value of nosniff in the HTTP response.",
  "0.http.x_content_type_options.invalid.solution.s0.o1": "Alternatively, file uploading to the web application by a user should be prevented.",
  "0.http.x_frame_option.conditional.inproper": "An invalid X-Frame-Options header value in the HTTP response.",
  "0.http.x_frame_option.conditional.no_header": "No X-Frame-Options header has been found in the HTTP response.",
  "0.http.x_frame_option.invalid.attack.s0.o0": "The Missing X Frame Option Vulnerability is caused by an X-Frame-Options header excluded from an HTTP response.",
  "0.http.x_frame_option.invalid.attack.s1.o0": "The X-Frame-Options header is included in an HTTP response to set the browser renders the page within the <frame>, <iframe>, or <object> tags.",
  "0.http.x_frame_option.invalid.attack.s1.o1": "Use X-Frame-Options header to prevent click-jacking.",
  "0.http.x_frame_option.invalid.attack.s2.o0": "Clicking jacking is an attack method that tricks the user into clicking an embedded code or script that can be executed without the user's knowledge and knowing that the user is clicking.",
  "0.http.x_frame_option.invalid.attack.s2.o1": "This allows an attacker to reveal a user's information or control a user's computer.",
  "0.http.x_frame_option.invalid.result.s0.o0": "The following header is added to the HTTP response.",
  "0.http.x_frame_option.invalid.result.s1.o0": "{0}",
  "0.http.x_frame_option.invalid.solution.s0.o0": "The web application server must put an X-Frame-Options header with the correct value in the HTTP response.",
  "0.http.x_frame_option.invalid.solution.s0.o1": "The valid value for the X-Frame-Options header is shown as follow.",
  "0.http.x_frame_option.invalid.solution.s1.o0": "{0}",
  "0.http.xitami_information_leakage.testcgi.attack.s0.o0": "An HTTP request has been sent to the {0} path to check the Xitami Web Server Information Leakage vulnerability.",
  "0.http.xitami_information_leakage.testcgi.attack.s1.o0": "The HTTP request is shown as follow.",
  "0.http.xitami_information_leakage.testcgi.attack.s2.o0": "{0}",
  "0.http.xitami_information_leakage.testcgi.attack.s2.o1": "{0}",
  "0.http.xitami_information_leakage.testcgi.result.s0.o0": "The Xitami Information Leak vulnerability enables users to execute tesgcgi.exe file packaged in Xitami 2.5b or earlier versions when the file path is used as a default.",
  "0.http.xitami_information_leakage.testcgi.result.s1.o0": "The following HTTP response message is sent for the HTTP request.",
  "0.http.xitami_information_leakage.testcgi.result.s2.o0": "{0}",
  "0.http.xitami_information_leakage.testcgi.result.s3.o0": "A predictable pattern has been found in above HTTP response message.",
  "0.http.xitami_information_leakage.testcgi.solution.s0.o0": "To resolve the vulnerability, please follow these guidelines",
  "0.http.xitami_information_leakage.testcgi.solution.s1.o0": "Please remove testcgi.exe file.",
  "0.http.xitami_information_leakage.testcgi.solution.s2.o0": "Or, place the file in a location other than the default location.",
  "0.http.xpath_injection.conditional.attack_form": "A value of the parameter {0} transmitted through the form has been set as follow:",
  "0.http.xpath_injection.conditional.attack_query_string": "A value of the {0} parameter transmitted through the query string has been set as follow.",
  "0.http.xpath_injection.invocation.attack.s0.o0": "An HTTP request to be sent to the server has been configured as follow:",
  "0.http.xpath_injection.invocation.attack.s0.o1": "{0}",
  "0.http.xpath_injection.invocation.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "0.http.xpath_injection.invocation.attack.s1.o1": "{0}",
  "0.http.xpath_injection.invocation.result.s0.o0": "{0} method call has been found in the server JVM through TrueScan.",
  "0.http.xpath_injection.invocation.result.s0.o1": "Arguments of {0} parameter in the method are as follow:",
  "0.http.xpath_injection.invocation.result.s0.o2": "{0}",
  "0.http.xpath_injection.invocation.result.s0.o3": "For more information on these methods, see the following link: {0}",
  "0.http.xpath_injection.invocation.result.s1.o0": "As a result of the analysis, the value set in the HTTP request configuration has been found in {1} parameter of {0} method.",
  "0.http.xpath_injection.invocation.result.s1.o1": "Therefore, the method has been called by an HTTP request sent to the server and the XPath query has been processed through the method.",
  "0.http.xpath_injection.invocation.solution.s0.o0": "In XPath query configuration, user input values should not be used.",
  "0.http.xpath_injection.invocation.solution.s0.o1": "If need to construct an XPath query using user input values, user input values must be verified.",
  "0.http.xpath_injection.invocation.solution.s1.o0": "), they need to be replaced with safe characters.",
  "0.http.xpath_injection.invocation.solution.s2.o0": "When constructing an XPath query, use it after parameterizing the XPath query.",
  "0.http.xpath_injection.invocation.solution.s2.o1": "If using a parameterized XPath query, dangerous phrases, keywords, characters, and others that can be used for injection attacks can be filtered before running XPath query.",
  "0.http.xss.reflected.attack.s0.o0": "The Cross-site Scripting (XSS) vulnerability is caused by injecting a malicious script to a website.",
  "0.http.xss.reflected.attack.s0.o1": "If a web application server uses an external input value without validation, an attacker can enter a malicious script to steal information from a web application user or cause the web application to behave inappropriately.",
  "0.http.xss.reflected.attack.s0.o2": "The Non-persistent Cross-site Scripting is caused by display a malicious script entered by an attacker on a web page without further validation.",
  "0.http.xss.reflected.attack.s0.o3": "The following HTTP request with the {1} attack string has been sent to the {0} parameter to check the Non-persistent Cross-site Scripting vulnerability.",
  "0.http.xss.reflected.attack.s1.o0": "{0}",
  "0.http.xss.reflected.attack.s1.o1": "{0}",
  "0.http.xss.reflected.result.s0.o0": "Non-persistent cross-site scripting returns scripts that were entered in the server, including error messages, search results, and HTTP response messages with other input data.",
  "0.http.xss.reflected.result.s0.o1": "The following HTTP response message is sent for the HTTP request.",
  "0.http.xss.reflected.result.s1.o0": "{0}",
  "0.http.xss.reflected.result.s2.o0": "The HTTP response above shows that it contains the {0} attack string.",
  "0.http.xss.reflected.solution.s0.o0": "To resolve cross-site scripting vulnerabilities, users must validate and filter the external data received from users.",
  "0.http.xss.reflected.solution.s0.o1": "By default, it does not use external data that is entered by the user in the name of the tag or the name of the tag property, between <script> tags, between <style> tags, between HTML comments, and in disallowed locations.",
  "0.http.xss.reflected.solution.s0.o2": "Alternatively, an external data input from users must be encoded before using as follow.",
  "0.http.xss.reflected.solution.s1.o0": "Encoding when using external data input from HTML element user",
  "0.http.xss.reflected.solution.s2.o0": "{0}",
  "0.http.xss.reflected.solution.s3.o0": "In addition, to use user input data in the HTML attribute value, URL parameter, JavaScript, CSS value, etc, the external data must be encoded.",
  "0.http.xxe_injection.match.attack.s0.o0": "The following request has been sent.",
  "0.http.xxe_injection.match.attack.s0.o1": "{0}",
  "0.http.xxe_injection.match.attack.s0.o2": "{0}",
  "0.http.xxe_injection.match.result.s0.o0": "The status code of the response is {0}.",
  "0.http.xxe_injection.match.result.s0.o1": "The following string has been found in the response body:",
  "0.http.xxe_injection.match.result.s0.o2": "{0}",
  "0.http.xxe_injection.match.solution.s0.o0": "You should set up an XML parser to disable External Entity references, and securely validate and filter XML input to block malicious XML structures.",
  "0.http.xxn.styleFound.attack.s0.o0": "The X-XSS-Nightmare vulnerability is caused by bypassing XSS Filter for a malicious script. The XSS Filter is designed to prevent cross-site scripting attacks in some versions of Internet Explorer.",
  "0.http.xxn.styleFound.attack.s1.o0": "To check the X-XSS-Nightmare vulnerability, the following process has been performed.",
  "0.http.xxn.styleFound.attack.s2.o0": "{0} element has been checked to exist among elements within the page.",
  "0.http.xxn.styleFound.result.s0.o0": "The test results are shown as follows.",
  "0.http.xxn.styleFound.result.s1.o0": "The following target element {0} has been found.",
  "0.http.xxn.styleFound.result.s2.o0": "{0}",
  "0.http.xxn.styleFound.result.s3.o0": "The contents of the target {0} element are shown as follows.",
  "0.http.xxn.styleFound.result.s4.o0": "{0}",
  "0.http.xxn.styleFound.result.s5.o0": "As a result of the test, the X-XSS-Nightmare vulnerability has been found to exist.",
  "0.http.xxn.styleFound.solution.s0.o0": "The solution is shown as follow.",
  "0.http.xxn.styleFound.solution.s1.o0": "The X-XSS-Nightmare(XXN) vulnerability can occur when the {0} element is used.",
  "0.http.xxn.styleFound.solution.s2.o0": "The XXN vulnerability occurs in Internet Explorer version 8, 9, or 10 with the XXS filter.",
  "0.http.xxn.styleFound.solution.s3.o0": "To prevent the vulnerability from occurring, follow these guidelines:",
  "0.http.xxn.styleFound.solution.s4.o0": "1. Patch security update with the Windows Update as follow.",
  "0.http.xxn.styleFound.solution.s5.o0": "{0}",
  "0.http.xxn.styleFound.solution.s6.o0": "2. On the Spring Security, you can prevent the vulnerability through HTTP header settings. See: https://github.com/spring-projects/spring-security/issues/2330",
  "0.http.xxn.styleFound.solution.s7.o0": "3. On the Internet Explorer, enable its embedded feature, {0}.",
  "0.http.xxn.stylefound.attack.s0.o0": "The X-XSS-Nightmare vulnerability is caused by bypassing XSS Filter for a malicious script. The XSS Filter is designed to prevent cross-site scripting attacks in some versions of Internet Explorer.",
  "0.http.xxn.stylefound.attack.s1.o0": "To check the X-XSS-Nightmare vulnerability, the following process has been performed.",
  "0.http.xxn.stylefound.attack.s2.o0": "{0} element has been checked to exist among elements within the page.",
  "0.http.xxn.stylefound.result.s0.o0": "The test results are shown as follows.",
  "0.http.xxn.stylefound.result.s1.o0": "The following target element {0} has been found.",
  "0.http.xxn.stylefound.result.s2.o0": "{0}",
  "0.http.xxn.stylefound.result.s3.o0": "The contents of the target {0} element are shown as follows.",
  "0.http.xxn.stylefound.result.s4.o0": "{0}",
  "0.http.xxn.stylefound.result.s5.o0": "As a result of the test, the X-XSS-Nightmare vulnerability has been found to exist.",
  "0.http.xxn.stylefound.solution.s0.o0": "The solution is shown as follow.",
  "0.http.xxn.stylefound.solution.s1.o0": "The X-XSS-Nightmare(XXN) vulnerability can occur when the {0} element is used.",
  "0.http.xxn.stylefound.solution.s2.o0": "The XXN vulnerability occurs in Internet Explorer version 8, 9, or 10 with the XXS filter.",
  "0.http.xxn.stylefound.solution.s3.o0": "To prevent the vulnerability from occurring, follow these guidelines:",
  "0.http.xxn.stylefound.solution.s4.o0": "1. Perform security patches through the following Windows updates:",
  "0.http.xxn.stylefound.solution.s5.o0": "{0}",
  "0.http.xxn.stylefound.solution.s6.o0": "2. When using Spring Security, vulnerability can be prevented by setting HTTP header. Please see: https://github.com/spring-projects/spring-security/issues/2330",
  "0.http.xxn.stylefound.solution.s7.o0": "3. When using Internet Explorer, please use its own function {0}.",
  "0.socket.ajp_enable.enable.attack.s0.o0": "AJP(Apache JServ Protocol) is a binary protocol that allows a web server to handle requests to an application server located behind that server instead.",
  "0.socket.ajp_enable.enable.attack.s0.o0 ": "AJP(Apache JServ Protocol) is a binary protocol that allows a web server to handle requests to an application server located behind that server instead.",
  "0.socket.ajp_enable.enable.attack.s0.o1": "If access from any external user to the server's AJP service is possible, sensitive information on the server may be exposed.",
  "0.socket.ajp_enable.enable.attack.s0.o1 ": "If access from any external user to the server's AJP service is possible, sensitive information on the server may be exposed.",
  "0.socket.ajp_enable.enable.attack.s0.o2": "In general, AJP service uses TCP and 8009 port. By using this, it is possible to check the operation and accessibility of service by sending the following message.",
  "0.socket.ajp_enable.enable.attack.s0.o2 ": "In general, AJP service uses TCP and 8009 port. By using this, it is possible to check the operation and accessibility of service by sending the following message.",
  "0.socket.ajp_enable.enable.attack.s1.o0": "{0}",
  "0.socket.ajp_enable.enable.result.s0.o0": "As a result of message transmission, the following response has been received.",
  "0.socket.ajp_enable.enable.result.s0.o0 ": "As a result of message transmission, the following response has been received.",
  "0.socket.ajp_enable.enable.result.s1.o0": "{0}",
  "0.socket.ajp_enable.enable.solution.s0.o0": "When using AJP service, access control is required so that it cannot be accessed by any external user.",
  "0.socket.ajp_enable.enable.solution.s0.o0 ": "When using AJP service, access control is required so that it cannot be accessed by any external user.",
  "0.socket.ajp_enable.enable.solution.s0.o1": "This can be controlled using tools such as server settings or a firewall.",
  "0.socket.ajp_enable.enable.solution.s0.o1 ": "This can be controlled using tools such as server settings or a firewall.",
  "0.socket.certificate_integrity_violation.expired.attack.s0.o0": "Attempted to connect to the server using an SSL socket.",
  "0.socket.certificate_integrity_violation.expired.attack.s0.o1": "The host address of the server that attempted to connect is {0}, and the port number is {1}.",
  "0.socket.certificate_integrity_violation.expired.attack.s0.o2": "Successfully connected to the server.",
  "0.socket.certificate_integrity_violation.expired.attack.s1.o0": "Received a certificate chain from the server.",
  "0.socket.certificate_integrity_violation.expired.attack.s1.o1": "The certificate chain length is {0}.",
  "0.socket.certificate_integrity_violation.expired.result.s0.o0": "The expiration period of the certificate that belongs to the lowest levels among the received certificates has been confirmed.",
  "0.socket.certificate_integrity_violation.expired.result.s0.o1": "The certificate is valid from {0} through {1}.",
  "0.socket.certificate_integrity_violation.expired.result.s1.o0": "As a result of the analysis, the date of the analysis is out of the expiration period of the certificate.",
  "0.socket.certificate_integrity_violation.expired.result.s1.o1": "Therefore, the certificate has expired and can not be trusted.",
  "0.socket.certificate_integrity_violation.expired.solution.s0.o0": "If the certificate has expired, the certificate must be renewed",
  "0.socket.certificate_integrity_violation.expired.solution.s0.o1": "Alternatively, replace the existing certificate with a new certificate.",
  "0.socket.certificate_integrity_violation.invalid_issuer.attack.s0.o0": "Attempted to connect to the server using an SSL socket.",
  "0.socket.certificate_integrity_violation.invalid_issuer.attack.s0.o1": "The host address of the server that attempted to connect is {0}, and the port number is {1}.",
  "0.socket.certificate_integrity_violation.invalid_issuer.attack.s0.o2": "Successfully connected to the server.",
  "0.socket.certificate_integrity_violation.invalid_issuer.attack.s1.o0": "Received a certificate chain from the server.",
  "0.socket.certificate_integrity_violation.invalid_issuer.attack.s1.o1": "The certificate chain length is {0}.",
  "0.socket.certificate_integrity_violation.invalid_issuer.result.s0.o0": "The certificate issuer of the highest tier for the received chain of certificates has been verified.",
  "0.socket.certificate_integrity_violation.invalid_issuer.result.s0.o1": "The issuer of this certificate is {0}.",
  "0.socket.certificate_integrity_violation.invalid_issuer.result.s2.o0": "As a result of the analysis, the certificate issuer of the highest tier did not match the known top-level certificate authority.",
  "0.socket.certificate_integrity_violation.invalid_issuer.result.s2.o1": "Therefore, the issuer of the certificate cannot be trusted and the certificate cannot be trusted.",
  "0.socket.certificate_integrity_violation.invalid_issuer.solution.s0.o0": "Please replace the existing certificate with a certificate issued by a trusted issuer.",
  "0.socket.certificate_integrity_violation.invalid_subject.attack.s0.o0": "Attempted to connect to the server using an SSL socket.",
  "0.socket.certificate_integrity_violation.invalid_subject.attack.s0.o1": "The host address of the server that attempted to connect is {0}, and the port number is {1}.",
  "0.socket.certificate_integrity_violation.invalid_subject.attack.s0.o2": "Successfully connected to the server.",
  "0.socket.certificate_integrity_violation.invalid_subject.attack.s1.o0": "Received a certificate chain from the server.",
  "0.socket.certificate_integrity_violation.invalid_subject.attack.s1.o1": "The certificate chain length is {0}.",
  "0.socket.certificate_integrity_violation.invalid_subject.result.s0.o0": "The common name (CN) for the subject of the certificate that belongs to the lowest levels among the received certificates has been confirmed.",
  "0.socket.certificate_integrity_violation.invalid_subject.result.s0.o1": "The common name for the subject of the certificate is {0}.",
  "0.socket.certificate_integrity_violation.invalid_subject.result.s1.o0": "As a result of the analysis, the common name for the subject of the certificate does not match with the address {0} of the target site to be analyzed.",
  "0.socket.certificate_integrity_violation.invalid_subject.result.s1.o1": "Therefore, the information about the subject of the certificate is not valid and the certificate cannot be trusted.",
  "0.socket.certificate_integrity_violation.invalid_subject.solution.s0.o0": "If the subject of the certificate is incorrect, the certificate must be renewed with correct information.",
  "0.socket.certificate_integrity_violation.invalid_subject.solution.s0.o1": "Alternatively, replace the existing certificate with a new certificate that contains the correct information.",
  "0.socket.client_initiated_ssl_renegotiation_enabled.enabled.attack.s0.o0": "Attempted to connect to the server using an SSL socket.",
  "0.socket.client_initiated_ssl_renegotiation_enabled.enabled.attack.s0.o0 ": "Attempted to connect to the server using an SSL socket.",
  "0.socket.client_initiated_ssl_renegotiation_enabled.enabled.attack.s0.o1": "The host address of the server that attempted to connect is {0}, and the port number is {1}.",
  "0.socket.client_initiated_ssl_renegotiation_enabled.enabled.attack.s0.o1 ": "The host address of the server that attempted to connect is {0}, and the port number is {1}.",
  "0.socket.client_initiated_ssl_renegotiation_enabled.enabled.attack.s0.o2": "Successfully connected to the server.",
  "0.socket.client_initiated_ssl_renegotiation_enabled.enabled.attack.s0.o2 ": "Successfully connected to the server.",
  "0.socket.client_initiated_ssl_renegotiation_enabled.enabled.attack.s1.o0": "Attempted to initiate renegotiation to the server.",
  "0.socket.client_initiated_ssl_renegotiation_enabled.enabled.attack.s1.o0 ": "Attempted to initiate renegotiation to the server.",
  "0.socket.client_initiated_ssl_renegotiation_enabled.enabled.attack.s2.o0": "The following message has been sent through an SSL socket.",
  "0.socket.client_initiated_ssl_renegotiation_enabled.enabled.attack.s2.o0 ": "The following message has been sent through an SSL socket.",
  "0.socket.client_initiated_ssl_renegotiation_enabled.enabled.attack.s2.o1": "{0}",
  "0.socket.client_initiated_ssl_renegotiation_enabled.enabled.result.s0.o0": "After sending the message, the following message has been received from the server via SSL socket.",
  "0.socket.client_initiated_ssl_renegotiation_enabled.enabled.result.s0.o0 ": "After sending the message, the following message has been received through an SSL socket from the server.",
  "0.socket.client_initiated_ssl_renegotiation_enabled.enabled.result.s0.o1": "{0}",
  "0.socket.client_initiated_ssl_renegotiation_enabled.enabled.result.s1.o0": "As a result of the analysis, the server has been found to normally response after the client-initiated renegotiation.",
  "0.socket.client_initiated_ssl_renegotiation_enabled.enabled.result.s1.o0 ": "As a result of analysis, a normal response has been received after the renegotiation has initiated from the client.",
  "0.socket.client_initiated_ssl_renegotiation_enabled.enabled.result.s1.o1": "Therefore, the server enables a client-initiated SSL renegotiation.",
  "0.socket.client_initiated_ssl_renegotiation_enabled.enabled.result.s1.o1 ": "This refers that the server allows renegotiation to be initiated from the client during SSL communication. ",
  "0.socket.client_initiated_ssl_renegotiation_enabled.enabled.solution.s0.o0": "It is recommended to restrict insecure SSL renegotiation by a web or application server.",
  "0.socket.client_initiated_ssl_renegotiation_enabled.enabled.solution.s0.o0 ": "You should restrict your web server or application server from allowing insecure SSL renegotiation.",
  "0.socket.client_initiated_ssl_renegotiation_enabled.enabled.solution.s0.o1": "For a Java 8 or later based server, the following option can be added to JBM options.",
  "0.socket.client_initiated_ssl_renegotiation_enabled.enabled.solution.s0.o1 ": "For servers based on JAVA 8 and later versions, you can add the following options to the JVM options",
  "0.socket.client_initiated_ssl_renegotiation_enabled.enabled.solution.s0.o2": "{0}",
  "0.socket.dast.sw.common.6510.open.attack.s0.o0": "Ports have been scanned for the following hosts:",
  "0.socket.dast.sw.common.6510.open.attack.s0.o1": "{0}",
  "0.socket.dast.sw.common.6510.open.result.s0.o0": "Succeeded to connect to the following ports:",
  "0.socket.dast.sw.common.6510.open.result.s0.o1": "{0}",
  "0.socket.dast.sw.common.6510.open.result.s1.o1": "The analysis confirms that attemps to access or attack to the port are possible.",
  "0.socket.dast.sw.common.6510.open.solution.s0.o0": "Unnecessary ports should be disabled except those required for services. Vulnerable services listed below needs to be either blocked against external access or taken ACL measures to prevent exposure.\n",
  "0.socket.dast.sw.common.6510.open.solution.s0.o1": "- FTP: 21\n",
  "0.socket.dast.sw.common.6510.open.solution.s0.o2": "- SSH: 22\n",
  "0.socket.dast.sw.common.6510.open.solution.s0.o3": "- Remote desktop (RDP): 3389\n",
  "0.socket.dast.sw.common.6510.open.solution.s0.o4": "- DBMS default port: 1521 (Oracle), 1433 (MSSQL), 3306 (MySQL) etc.",
  "0.socket.insufficient_key_length.httpsWithWeakKey.attack.s0.o0": "The Use of Insufficient Key Length vulnerability is caused by allowing an attacker to decrypt keys with inefficient length, even in a validated cryptographic algorithm.",
  "0.socket.insufficient_key_length.httpsWithWeakKey.attack.s1.o0": "To check the Use of Insufficient Key Length vulnerability, the following process has been performed.",
  "0.socket.insufficient_key_length.httpsWithWeakKey.attack.s2.o0": "The connection to this site has been found to use the HTTPS protocol.",
  "0.socket.insufficient_key_length.httpsWithWeakKey.attack.s3.o0": "After extracting the keys of all certificates used in the connection, the key length has been verified to be less than {0} bits.",
  "0.socket.insufficient_key_length.httpsWithWeakKey.result.s0.o0": "The test results are shown as follows.",
  "0.socket.insufficient_key_length.httpsWithWeakKey.result.s1.o0": "The total number of certificates used during the connection is {0}.",
  "0.socket.insufficient_key_length.httpsWithWeakKey.result.s2.o0": "{0} of the total certificates are below the test threshold.",
  "0.socket.insufficient_key_length.httpsWithWeakKey.result.s3.o0": "The algorithm and length of each certificate are shown as follow.",
  "0.socket.insufficient_key_length.httpsWithWeakKey.result.s4.o0": "{0}",
  "0.socket.insufficient_key_length.httpsWithWeakKey.result.s5.o0": "As a result of the test, the Use of Insufficient Key Length vulnerability has been found to exist.",
  "0.socket.insufficient_key_length.httpsWithWeakKey.solution.s0.o0": "The solution is shown as follow.",
  "0.socket.insufficient_key_length.httpsWithWeakKey.solution.s1.o0": "A key length of at least {0} bits is required to be secure for certificates used for HTTPS connections.",
  "0.socket.insufficient_key_length.httpsWithWeakKey.solution.s1.o1": "Update the certificate, or expand the key length.",
  "0.socket.insufficient_key_length.httpsWithWeakKey.solution.s2.o0": "In addition, the encryption algorithm and the expiration date of key must be considered.",
  "0.socket.insufficient_key_length.httpswithweakkey.attack.s0.o0": "The Use of Insufficient Key Length vulnerability is caused by allowing an attacker to decrypt keys with inefficient length, even in a validated cryptographic algorithm.",
  "0.socket.insufficient_key_length.httpswithweakkey.attack.s1.o0": "To check the Use of Insufficient Key Length vulnerability, the following process has been performed.",
  "0.socket.insufficient_key_length.httpswithweakkey.attack.s2.o0": "The connection to this site has been found to use the HTTPS protocol.",
  "0.socket.insufficient_key_length.httpswithweakkey.attack.s3.o0": "After extracting the keys of all certificates used in the connection, the key length has been verified to be less than {0} bits.",
  "0.socket.insufficient_key_length.httpswithweakkey.result.s0.o0": "The test results are shown as follows.",
  "0.socket.insufficient_key_length.httpswithweakkey.result.s1.o0": "The total number of certificates used during the connection is {0}.",
  "0.socket.insufficient_key_length.httpswithweakkey.result.s2.o0": "{0} of the total certificates are below the test threshold.",
  "0.socket.insufficient_key_length.httpswithweakkey.result.s3.o0": "The algorithm and length of each certificate are shown as follow.",
  "0.socket.insufficient_key_length.httpswithweakkey.result.s4.o0": "{0}",
  "0.socket.insufficient_key_length.httpswithweakkey.result.s5.o0": "As a result of the test, the Use of Insufficient Key Length vulnerability has been found to exist.",
  "0.socket.insufficient_key_length.httpswithweakkey.solution.s0.o0": "The solution is shown as follow.",
  "0.socket.insufficient_key_length.httpswithweakkey.solution.s1.o0": "A key of certificate for HTTPS connection is required to be at least {0} bit.",
  "0.socket.insufficient_key_length.httpswithweakkey.solution.s1.o1": "Update the certificate, or expand the key length.",
  "0.socket.insufficient_key_length.httpswithweakkey.solution.s2.o0": "In addition, the encryption algorithm and the expiration date of key must be considered.",
  "0.socket.insufficiently_random_values.debianOpenSsl.attack.s0.o0": "The Use of Insufficient Random Value vulnerability is caused by inferring a random value due to a lack of ranges in random values.",
  "0.socket.insufficiently_random_values.debianOpenSsl.attack.s0.o1": "On some Debian-based operating systems, the keys used by OpenSSL may be vulnerable due to insufficient random values.",
  "0.socket.insufficiently_random_values.debianOpenSsl.attack.s1.o0": "To check the Use of Insufficient Random Value vulnerability, the following process has been performed.",
  "0.socket.insufficiently_random_values.debianOpenSsl.attack.s2.o0": "The OpenSSL has been found to be used due to the site connection with the HTTPS protocol.",
  "0.socket.insufficiently_random_values.debianOpenSsl.attack.s3.o0": "Checked for the existence of a certificate that uses a public key known to be vulnerable among all the certificates used in the connection.",
  "0.socket.insufficiently_random_values.debianOpenSsl.result.s0.o0": "The test results are shown as follows.",
  "0.socket.insufficiently_random_values.debianOpenSsl.result.s1.o0": "Verified that the connection uses a total of {0} certificates.",
  "0.socket.insufficiently_random_values.debianOpenSsl.result.s2.o0": "{0} keys of the public keys used by all certificates are found to be vulnerable.",
  "0.socket.insufficiently_random_values.debianOpenSsl.result.s3.o0": "The following public key with vulnerabilities has been found.",
  "0.socket.insufficiently_random_values.debianOpenSsl.result.s4.o0": "{0}",
  "0.socket.insufficiently_random_values.debianOpenSsl.result.s5.o0": "As a result of the test, the attempted attack has succeeded and the Use of Insufficient Random Value vulnerability has been found to exist.",
  "0.socket.insufficiently_random_values.debianOpenSsl.solution.s0.o0": "The solution is shown as follow.",
  "0.socket.insufficiently_random_values.debianOpenSsl.solution.s1.o0": "Use the OpenSSL version without vulnerabilities.",
  "0.socket.insufficiently_random_values.debianOpenSsl.solution.s2.o0": "For more information about the vulnerability and OpenSSL where the vulnerability exists, see below.",
  "0.socket.insufficiently_random_values.debianOpenSsl.solution.s3.o0": "{0}",
  "0.socket.insufficiently_random_values.debianopenssl.attack.s0.o0": "The Use of Insufficient Random Value vulnerability is caused by inferring a random value due to a lack of ranges in random values.",
  "0.socket.insufficiently_random_values.debianopenssl.attack.s0.o1": "On some Debian-based operating systems, the keys used by OpenSSL may be vulnerable due to insufficient random values.",
  "0.socket.insufficiently_random_values.debianopenssl.attack.s1.o0": "To check the Use of Insufficient Random Value vulnerability, the following process has been performed.",
  "0.socket.insufficiently_random_values.debianopenssl.attack.s2.o0": "The OpenSSL has been found to be used due to the site connection with the HTTPS protocol.",
  "0.socket.insufficiently_random_values.debianopenssl.attack.s3.o0": "Checked for the existence of a certificate that uses a public key known to be vulnerable among all the certificates used in the connection.",
  "0.socket.insufficiently_random_values.debianopenssl.result.s0.o0": "The test results are shown as follows.",
  "0.socket.insufficiently_random_values.debianopenssl.result.s1.o0": "It is confirmed that the connection uses a total of {0} certificates.",
  "0.socket.insufficiently_random_values.debianopenssl.result.s2.o0": "{0} keys of the public keys used by all certificates are found to be vulnerable.",
  "0.socket.insufficiently_random_values.debianopenssl.result.s3.o0": "The following public key with vulnerabilities has been found.",
  "0.socket.insufficiently_random_values.debianopenssl.result.s4.o0": "{0}",
  "0.socket.insufficiently_random_values.debianopenssl.result.s5.o0": "As a result of the test, the attempted attack has succeeded and the Use of Insufficient Random Value vulnerability has been found to exist.",
  "0.socket.insufficiently_random_values.debianopenssl.solution.s0.o0": "The solution is shown as follow.",
  "0.socket.insufficiently_random_values.debianopenssl.solution.s1.o0": "Use the OpenSSL version without vulnerabilities.",
  "0.socket.insufficiently_random_values.debianopenssl.solution.s2.o0": "For more information about the vulnerability and OpenSSL where the vulnerability exists, see below.",
  "0.socket.insufficiently_random_values.debianopenssl.solution.s3.o0": "{0}",
  "0.socket.jmx_rmi_enable.connect.attack.s0.o0": "Java Management eXtensions(JMX) is a Java API that provides tools for monitoring applications, objects, devices, and networks.",
  "0.socket.jmx_rmi_enable.connect.attack.s0.o0 ": "Java Management eXtensions(JMX) is a Java API that provides tools for monitoring applications, objects, devices, and networks.",
  "0.socket.jmx_rmi_enable.connect.attack.s0.o1": "Remote Method Invocation(RMI) is an implementation of the traditional RPC(Remote Procedure Call) interface for use in Java.",
  "0.socket.jmx_rmi_enable.connect.attack.s0.o1 ": "Remote Method Invocation(RMI) is an implementation of the traditional RPC(Remote Procedure Call) interface for use in Java.",
  "0.socket.jmx_rmi_enable.connect.attack.s0.o2": "If access from any external user to the server's JMX / RMI service is possible, sensitive information on the server can be exposed.",
  "0.socket.jmx_rmi_enable.connect.attack.s0.o2 ": "If access from any external user to the server's JMX / RMI service is possible, sensitive information on the server can be exposed.",
  "0.socket.jmx_rmi_enable.connect.attack.s0.o3": "Typically, JMX / RMI service uses TCP and 1099 ports, and may try to connect using the JMX client, preferentially targeting that port.",
  "0.socket.jmx_rmi_enable.connect.attack.s0.o3 ": "Typically, JMX / RMI service uses TCP and 1099 ports, and may try to connect using the JMX client, preferentially targeting that port.",
  "0.socket.jmx_rmi_enable.connect.attack.s0.o4": "If the connection is successful, send the following query to the server to confirm it.",
  "0.socket.jmx_rmi_enable.connect.attack.s0.o4 ": "If the connection is successful, send the following query to the server to confirm it.",
  "0.socket.jmx_rmi_enable.connect.attack.s1.o0": "{0}",
  "0.socket.jmx_rmi_enable.connect.result.s0.o0": "The following {0} property value has been found from the query result.",
  "0.socket.jmx_rmi_enable.connect.result.s0.o0 ": "The following {0} property value has been found from the query result.",
  "0.socket.jmx_rmi_enable.connect.result.s1.o0": "{0}",
  "0.socket.jmx_rmi_enable.connect.solution.s0.o0": "When using JMX / RMI services, access control is required to prevent arbitrary external users from accessing.",
  "0.socket.jmx_rmi_enable.connect.solution.s0.o0 ": "When using JMX / RMI services, access control is required to prevent arbitrary external users from accessing.",
  "0.socket.jmx_rmi_enable.connect.solution.s0.o1": "This can be controlled using tools such as server settings or a firewall.",
  "0.socket.jmx_rmi_enable.connect.solution.s0.o1 ": "This can be controlled using tools such as server settings or a firewall.",
  "0.socket.skb__etc__unnecessary_ports.open.attack.s0.o0": "Ports have been scanned for the following hosts:",
  "0.socket.skb__etc__unnecessary_ports.open.attack.s0.o1": "{0}",
  "0.socket.skb__etc__unnecessary_ports.open.result.s0.o0": "Succeeded to connect to the following ports:",
  "0.socket.skb__etc__unnecessary_ports.open.result.s0.o1": "{0}",
  "0.socket.skb__etc__unnecessary_ports.open.result.s1.o1": "The analysis confirms that attemps to access or attack to the port are possible.",
  "0.socket.skb__etc__unnecessary_ports.open.solution.s0.o0": "Unnecessary ports should be disabled except those required for services. Vulnerable services listed below needs to be either blocked against external access or taken ACL measures to prevent exposure.\n",
  "0.socket.skb__etc__unnecessary_ports.open.solution.s0.o1": "- FTP: 21\n",
  "0.socket.skb__etc__unnecessary_ports.open.solution.s0.o2": "- SSH: 22\n",
  "0.socket.skb__etc__unnecessary_ports.open.solution.s0.o3": "- Remote desktop (RDP): 3389\n",
  "0.socket.skb__etc__unnecessary_ports.open.solution.s0.o4": "- DBMS default port: 1521 (Oracle), 1433 (MSSQL), 3306 (MySQL) etc.",
  "0.socket.slow_http_dos.response.attack.s0.o0": "Slow HTTP DoS (or Slowloris) attack is a type of Denial of Service (DoS) attack that targets an HTTP service.",
  "0.socket.slow_http_dos.response.attack.s0.o1": "When an attacker client sends a request to the attacking server, it can manipulate the header of the request and set it to a larger value in the Content-Length field.",
  "0.socket.slow_http_dos.response.attack.s0.o2": "When the request is intentionally sent in separated form, rather than in a complete form, the server will keep the connection until a request at a size of the Content-Length field is sent from the client.",
  "0.socket.slow_http_dos.response.attack.s0.o3": "An attacker client can repeatedly send an incomplete request to the server over a period of time, and the server can reach a denial of service(DoS) condition as it uses all sessions.",
  "0.socket.slow_http_dos.response.attack.s1.o0": "This attack is usually accomplished by sending without the last CRLF character, which signifies the end of the request.",
  "0.socket.slow_http_dos.response.attack.s1.o1": "After setting the Content-Length value to {0} for attack, then send the HTTP request without the last CRLF character.",
  "0.socket.slow_http_dos.response.attack.s1.o2": "After waiting for about 10 seconds, then send the last part of the HTTP request with the last CRLF character.",
  "0.socket.slow_http_dos.response.result.s0.o0": "One response has been received for the two requests above. The response is shown as follow.",
  "0.socket.slow_http_dos.response.result.s1.o0": "{0}",
  "0.socket.slow_http_dos.response.solution.s0.o0": "The Slow HTTP DoS Attack is an attack using protocol vulnerability, and it is necessary to prevent it through continuous monitoring first.",
  "0.socket.slow_http_dos.response.solution.s1.o0": "The following methods can be used to reduce the threat of attacks.",
  "0.socket.slow_http_dos.response.solution.s1.o1": "First, do not allow unnecessarily large sizes for arbitrary requests.",
  "0.socket.slow_http_dos.response.solution.s1.o2": "Also, adjust the timeout for an HTTP request to an appropriate level so that it does not occupy sessions for too long.",
  "0.socket.slow_http_dos.response.solution.s1.o3": "Finally, users can check for abnormality by checking the status of the TCP socket to see if there are more sockets in the ESTABLISHED and TIME_WAIT state than usual.",
  "0.socket.slow_post_attack.custom.attack.s0.o0": "An HTTP request to be sent to the server has been configured as follow:",
  "0.socket.slow_post_attack.custom.attack.s0.o1": "The following value has been set for the HTTP request header {0}.",
  "0.socket.slow_post_attack.custom.attack.s0.o2": "{0}",
  "0.socket.slow_post_attack.custom.attack.s0.o3": "The {0} header value corresponds to the length of the custom request text.",
  "0.socket.slow_post_attack.custom.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "0.socket.slow_post_attack.custom.attack.s1.o1": "{0}",
  "0.socket.slow_post_attack.custom.attack.s2.o0": "After waiting for {0} ms, an additional {1} byte of data has been transmitted.",
  "0.socket.slow_post_attack.custom.attack.s3.o0": "After waiting for {0} ms, an additional {1} byte of data has been transmitted.",
  "0.socket.slow_post_attack.custom.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "0.socket.slow_post_attack.custom.result.s0.o1": "{0}",
  "0.socket.slow_post_attack.custom.result.s1.o0": "A normal HTTP response has been received from the server.",
  "0.socket.slow_post_attack.custom.result.s2.o0": "As a result of the analysis, POST-based HTTP request has been found to wait until it receives data size specified to {0} header value {1}.",
  "0.socket.slow_post_attack.custom.result.s2.o1": "Therefore, the HTTP request can consume network resources in server for at least {0} ms.",
  "0.socket.slow_post_attack.custom.solution.s0.o0": "Ensure a single HTTP request does not occupy the session for too long by adjusting the timeout value for each HTTP request to a reasonable level.",
  "0.socket.slow_post_attack.custom.solution.s0.o1": "If it's difficult to set a timeout, web cache software can help prevent traffic failures.",
  "0.socket.slow_post_attack.custom.solution.s1.o0": "Upper limit of the {0} header value for each HTTP request must be specified.",
  "0.socket.slow_post_attack.custom.solution.s1.o1": "If the value of the {0} header in any HTTP request exceeds the upper limit, HTTP request processing must be rejected.",
  "0.socket.slow_post_attack.waiting.attack.s0.o0": "An HTTP request to be sent to the server has been configured as follow:",
  "0.socket.slow_post_attack.waiting.attack.s0.o1": "The following value has been set for the HTTP request header {0}.",
  "0.socket.slow_post_attack.waiting.attack.s0.o2": "{0}",
  "0.socket.slow_post_attack.waiting.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "0.socket.slow_post_attack.waiting.attack.s1.o1": "{0}",
  "0.socket.slow_post_attack.waiting.attack.s2.o0": "After waiting for {0} ms, an additional {1} byte of data has been transmitted.",
  "0.socket.slow_post_attack.waiting.attack.s3.o0": "After waiting for {0} ms, an additional {1} byte of data has been transmitted.",
  "0.socket.slow_post_attack.waiting.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "0.socket.slow_post_attack.waiting.result.s0.o1": "{0}",
  "0.socket.slow_post_attack.waiting.result.s1.o0": "A normal HTTP response has been received from the server.",
  "0.socket.slow_post_attack.waiting.result.s2.o0": "As a result of the analysis, POST-based HTTP request has been found to wait until it receives data size specified to {0} header value {1}.",
  "0.socket.slow_post_attack.waiting.result.s2.o1": "Therefore, the HTTP request can consume network resources in server for at least {0} ms.",
  "0.socket.slow_post_attack.waiting.solution.s0.o0": "Ensure a single HTTP request does not occupy the session for too long by adjusting the timeout value for each HTTP request to a reasonable level.",
  "0.socket.slow_post_attack.waiting.solution.s0.o1": "If it's difficult to set a timeout, web cache software can help prevent traffic failures.",
  "0.socket.slow_post_attack.waiting.solution.s1.o0": "Upper limit of the {0} header value for each HTTP request must be specified.",
  "0.socket.slow_post_attack.waiting.solution.s1.o1": "If the value of the {0} header in any HTTP request exceeds the upper limit, HTTP request processing must be rejected.",
  "0.true_scan.command_injection.cookie__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.command_injection.cookie__parameter.attack.s1.o0": "In the cookies of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.command_injection.cookie__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.command_injection.cookie__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.command_injection.cookie__parameter.attack.s2.o2": "{0}",
  "0.true_scan.command_injection.cookie__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.command_injection.cookie__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.command_injection.cookie__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {0}th parameter of the function.",
  "0.true_scan.command_injection.cookie__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.command_injection.cookie__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.command_injection.cookie__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.command_injection.cookie__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.command_injection.cookie__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.command_injection.cookie__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.command_injection.cookie__return_value.attack.s1.o0": "In the cookies of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.command_injection.cookie__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.command_injection.cookie__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.command_injection.cookie__return_value.attack.s2.o2": "{0}",
  "0.true_scan.command_injection.cookie__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.command_injection.cookie__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.command_injection.cookie__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.command_injection.cookie__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.command_injection.cookie__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.command_injection.cookie__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.command_injection.cookie__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.command_injection.cookie__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.command_injection.custom__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.command_injection.custom__parameter.attack.s1.o0": "In the custom RPC parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.command_injection.custom__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.command_injection.custom__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.command_injection.custom__parameter.attack.s2.o2": "{0}",
  "0.true_scan.command_injection.custom__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.command_injection.custom__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.command_injection.custom__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {1}th parameter of the function.",
  "0.true_scan.command_injection.custom__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.command_injection.custom__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.command_injection.custom__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.command_injection.custom__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.command_injection.custom__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.command_injection.custom__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.command_injection.custom__return_value.attack.s1.o0": "In the custom RPC parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.command_injection.custom__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.command_injection.custom__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.command_injection.custom__return_value.attack.s2.o2": "{0}",
  "0.true_scan.command_injection.custom__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.command_injection.custom__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.command_injection.custom__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.command_injection.custom__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.command_injection.custom__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.command_injection.custom__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.command_injection.custom__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.command_injection.custom__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.command_injection.dwr__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.command_injection.dwr__parameter.attack.s1.o0": "In the custom DWR parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.command_injection.dwr__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.command_injection.dwr__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.command_injection.dwr__parameter.attack.s2.o2": "{0}",
  "0.true_scan.command_injection.dwr__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.command_injection.dwr__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.command_injection.dwr__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {2}th parameter of the function.",
  "0.true_scan.command_injection.dwr__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.command_injection.dwr__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.command_injection.dwr__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.command_injection.dwr__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.command_injection.dwr__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.command_injection.dwr__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.command_injection.dwr__return_value.attack.s1.o0": "In the custom DWR parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.command_injection.dwr__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.command_injection.dwr__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.command_injection.dwr__return_value.attack.s2.o2": "{0}",
  "0.true_scan.command_injection.dwr__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.command_injection.dwr__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.command_injection.dwr__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.command_injection.dwr__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.command_injection.dwr__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.command_injection.dwr__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.command_injection.dwr__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.command_injection.dwr__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.command_injection.form_data__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.command_injection.form_data__parameter.attack.s1.o0": "In the FORM data parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.command_injection.form_data__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.command_injection.form_data__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.command_injection.form_data__parameter.attack.s2.o2": "{0}",
  "0.true_scan.command_injection.form_data__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.command_injection.form_data__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.command_injection.form_data__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {3}th parameter of the function.",
  "0.true_scan.command_injection.form_data__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.command_injection.form_data__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.command_injection.form_data__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.command_injection.form_data__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.command_injection.form_data__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.command_injection.form_data__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.command_injection.form_data__return_value.attack.s1.o0": "In the FORM data parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.command_injection.form_data__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.command_injection.form_data__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.command_injection.form_data__return_value.attack.s2.o2": "{0}",
  "0.true_scan.command_injection.form_data__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.command_injection.form_data__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.command_injection.form_data__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.command_injection.form_data__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.command_injection.form_data__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.command_injection.form_data__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.command_injection.form_data__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.command_injection.form_data__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.command_injection.gwt__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.command_injection.gwt__parameter.attack.s1.o0": "In the GWT parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.command_injection.gwt__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.command_injection.gwt__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.command_injection.gwt__parameter.attack.s2.o2": "{0}",
  "0.true_scan.command_injection.gwt__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.command_injection.gwt__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.command_injection.gwt__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {4}th parameter of the function.",
  "0.true_scan.command_injection.gwt__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.command_injection.gwt__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.command_injection.gwt__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.command_injection.gwt__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.command_injection.gwt__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.command_injection.gwt__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.command_injection.gwt__return_value.attack.s1.o0": "In the GWT parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.command_injection.gwt__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.command_injection.gwt__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.command_injection.gwt__return_value.attack.s2.o2": "{0}",
  "0.true_scan.command_injection.gwt__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.command_injection.gwt__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.command_injection.gwt__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.command_injection.gwt__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.command_injection.gwt__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.command_injection.gwt__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.command_injection.gwt__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.command_injection.gwt__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.command_injection.http_header__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.command_injection.http_header__parameter.attack.s1.o0": "In the header of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.command_injection.http_header__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.command_injection.http_header__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.command_injection.http_header__parameter.attack.s2.o2": "{0}",
  "0.true_scan.command_injection.http_header__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.command_injection.http_header__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.command_injection.http_header__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {5}th parameter of the function.",
  "0.true_scan.command_injection.http_header__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.command_injection.http_header__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.command_injection.http_header__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.command_injection.http_header__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.command_injection.http_header__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.command_injection.http_header__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.command_injection.http_header__return_value.attack.s1.o0": "In the header of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.command_injection.http_header__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.command_injection.http_header__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.command_injection.http_header__return_value.attack.s2.o2": "{0}",
  "0.true_scan.command_injection.http_header__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.command_injection.http_header__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.command_injection.http_header__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.command_injection.http_header__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.command_injection.http_header__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.command_injection.http_header__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.command_injection.http_header__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.command_injection.http_header__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.command_injection.json__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.command_injection.json__parameter.attack.s1.o0": "In the custom JSON parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.command_injection.json__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.command_injection.json__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.command_injection.json__parameter.attack.s2.o2": "{0}",
  "0.true_scan.command_injection.json__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.command_injection.json__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.command_injection.json__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {6}th parameter of the function.",
  "0.true_scan.command_injection.json__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.command_injection.json__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.command_injection.json__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.command_injection.json__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.command_injection.json__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.command_injection.json__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.command_injection.json__return_value.attack.s1.o0": "In the custom JSON parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.command_injection.json__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.command_injection.json__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.command_injection.json__return_value.attack.s2.o2": "{0}",
  "0.true_scan.command_injection.json__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.command_injection.json__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.command_injection.json__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.command_injection.json__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.command_injection.json__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.command_injection.json__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.command_injection.json__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.command_injection.json__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.command_injection.multi_part__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.command_injection.multi_part__parameter.attack.s1.o0": "In the Multipart-Data of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.command_injection.multi_part__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.command_injection.multi_part__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.command_injection.multi_part__parameter.attack.s2.o2": "{0}",
  "0.true_scan.command_injection.multi_part__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.command_injection.multi_part__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.command_injection.multi_part__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {7}th parameter of the function.",
  "0.true_scan.command_injection.multi_part__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.command_injection.multi_part__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.command_injection.multi_part__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.command_injection.multi_part__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.command_injection.multi_part__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.command_injection.multi_part__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.command_injection.multi_part__return_value.attack.s1.o0": "In the Multipart-Data of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.command_injection.multi_part__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.command_injection.multi_part__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.command_injection.multi_part__return_value.attack.s2.o2": "{0}",
  "0.true_scan.command_injection.multi_part__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.command_injection.multi_part__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.command_injection.multi_part__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.command_injection.multi_part__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.command_injection.multi_part__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.command_injection.multi_part__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.command_injection.multi_part__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.command_injection.multi_part__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.command_injection.odata__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.command_injection.odata__parameter.attack.s1.o0": "In the FORM ODATA parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.command_injection.odata__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.command_injection.odata__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.command_injection.odata__parameter.attack.s2.o2": "{0}",
  "0.true_scan.command_injection.odata__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.command_injection.odata__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.command_injection.odata__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {8}th parameter of the function.",
  "0.true_scan.command_injection.odata__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.command_injection.odata__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.command_injection.odata__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.command_injection.odata__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.command_injection.odata__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.command_injection.odata__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.command_injection.odata__return_value.attack.s1.o0": "In the FORM ODATA parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.command_injection.odata__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.command_injection.odata__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.command_injection.odata__return_value.attack.s2.o2": "{0}",
  "0.true_scan.command_injection.odata__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.command_injection.odata__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.command_injection.odata__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.command_injection.odata__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.command_injection.odata__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.command_injection.odata__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.command_injection.odata__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.command_injection.odata__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.command_injection.query_string__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.command_injection.query_string__parameter.attack.s1.o0": "In the quary string parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.command_injection.query_string__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.command_injection.query_string__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.command_injection.query_string__parameter.attack.s2.o2": "{0}",
  "0.true_scan.command_injection.query_string__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.command_injection.query_string__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.command_injection.query_string__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {9}th parameter of the function.",
  "0.true_scan.command_injection.query_string__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.command_injection.query_string__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.command_injection.query_string__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.command_injection.query_string__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.command_injection.query_string__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.command_injection.query_string__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.command_injection.query_string__return_value.attack.s1.o0": "In the quary string parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.command_injection.query_string__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.command_injection.query_string__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.command_injection.query_string__return_value.attack.s2.o2": "{0}",
  "0.true_scan.command_injection.query_string__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.command_injection.query_string__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.command_injection.query_string__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.command_injection.query_string__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.command_injection.query_string__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.command_injection.query_string__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.command_injection.query_string__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.command_injection.query_string__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.command_injection.url_path__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.command_injection.url_path__parameter.attack.s1.o0": "The {0} path has been set for URLs of the HTTP request. {1}",
  "0.true_scan.command_injection.url_path__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.command_injection.url_path__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.command_injection.url_path__parameter.attack.s2.o2": "{0}",
  "0.true_scan.command_injection.url_path__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.command_injection.url_path__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.command_injection.url_path__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {10}th parameter of the function.",
  "0.true_scan.command_injection.url_path__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.command_injection.url_path__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.command_injection.url_path__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.command_injection.url_path__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.command_injection.url_path__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.command_injection.url_path__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.command_injection.url_path__return_value.attack.s1.o0": "The {0} path has been set for URLs of the HTTP request. {1}",
  "0.true_scan.command_injection.url_path__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.command_injection.url_path__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.command_injection.url_path__return_value.attack.s2.o2": "{0}",
  "0.true_scan.command_injection.url_path__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.command_injection.url_path__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.command_injection.url_path__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.command_injection.url_path__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.command_injection.url_path__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.command_injection.url_path__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.command_injection.url_path__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.command_injection.url_path__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.command_injection.userdef_parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.command_injection.userdef_parameter.attack.s1.o0": "In the custom RPC parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.command_injection.userdef_parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.command_injection.userdef_parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.command_injection.userdef_parameter.attack.s2.o2": "{0}",
  "0.true_scan.command_injection.userdef_parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.command_injection.userdef_parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.command_injection.userdef_parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {11}th parameter of the function.",
  "0.true_scan.command_injection.userdef_parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.command_injection.userdef_parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.command_injection.userdef_parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.command_injection.userdef_parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.command_injection.userdef_parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.command_injection.userdef_return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.command_injection.userdef_return_value.attack.s1.o0": "In the custom RPC parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.command_injection.userdef_return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.command_injection.userdef_return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.command_injection.userdef_return_value.attack.s2.o2": "{0}",
  "0.true_scan.command_injection.userdef_return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.command_injection.userdef_return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.command_injection.userdef_return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.command_injection.userdef_return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.command_injection.userdef_return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.command_injection.userdef_return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.command_injection.userdef_return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.command_injection.userdef_return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.command_injection.xml__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.command_injection.xml__parameter.attack.s1.o0": "In the XML parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.command_injection.xml__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.command_injection.xml__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.command_injection.xml__parameter.attack.s2.o2": "{0}",
  "0.true_scan.command_injection.xml__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.command_injection.xml__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.command_injection.xml__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {12}th parameter of the function.",
  "0.true_scan.command_injection.xml__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.command_injection.xml__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.command_injection.xml__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.command_injection.xml__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.command_injection.xml__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.command_injection.xml__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.command_injection.xml__return_value.attack.s1.o0": "In the XML parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.command_injection.xml__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.command_injection.xml__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.command_injection.xml__return_value.attack.s2.o2": "{0}",
  "0.true_scan.command_injection.xml__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.command_injection.xml__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.command_injection.xml__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.command_injection.xml__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.command_injection.xml__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.command_injection.xml__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.command_injection.xml__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.command_injection.xml__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.external_redirect.cookie__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.external_redirect.cookie__parameter.attack.s1.o0": "In the cookies of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.external_redirect.cookie__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.external_redirect.cookie__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.external_redirect.cookie__parameter.attack.s2.o2": "{0}",
  "0.true_scan.external_redirect.cookie__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.external_redirect.cookie__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.external_redirect.cookie__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {13}th parameter of the function.",
  "0.true_scan.external_redirect.cookie__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.external_redirect.cookie__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.external_redirect.cookie__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.external_redirect.cookie__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.external_redirect.cookie__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.external_redirect.cookie__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.external_redirect.cookie__return_value.attack.s1.o0": "In the cookies of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.external_redirect.cookie__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.external_redirect.cookie__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.external_redirect.cookie__return_value.attack.s2.o2": "{0}",
  "0.true_scan.external_redirect.cookie__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.external_redirect.cookie__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.external_redirect.cookie__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.external_redirect.cookie__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.external_redirect.cookie__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.external_redirect.cookie__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.external_redirect.cookie__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.external_redirect.cookie__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.external_redirect.custom__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.external_redirect.custom__parameter.attack.s1.o0": "In the custom RPC parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.external_redirect.custom__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.external_redirect.custom__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.external_redirect.custom__parameter.attack.s2.o2": "{0}",
  "0.true_scan.external_redirect.custom__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.external_redirect.custom__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.external_redirect.custom__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {14}th parameter of the function.",
  "0.true_scan.external_redirect.custom__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.external_redirect.custom__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.external_redirect.custom__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.external_redirect.custom__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.external_redirect.custom__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.external_redirect.custom__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.external_redirect.custom__return_value.attack.s1.o0": "In the custom RPC parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.external_redirect.custom__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.external_redirect.custom__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.external_redirect.custom__return_value.attack.s2.o2": "{0}",
  "0.true_scan.external_redirect.custom__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.external_redirect.custom__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.external_redirect.custom__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.external_redirect.custom__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.external_redirect.custom__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.external_redirect.custom__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.external_redirect.custom__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.external_redirect.custom__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.external_redirect.dwr__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.external_redirect.dwr__parameter.attack.s1.o0": "In the custom DWR parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.external_redirect.dwr__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.external_redirect.dwr__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.external_redirect.dwr__parameter.attack.s2.o2": "{0}",
  "0.true_scan.external_redirect.dwr__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.external_redirect.dwr__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.external_redirect.dwr__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {15}th parameter of the function.",
  "0.true_scan.external_redirect.dwr__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.external_redirect.dwr__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.external_redirect.dwr__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.external_redirect.dwr__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.external_redirect.dwr__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.external_redirect.dwr__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.external_redirect.dwr__return_value.attack.s1.o0": "In the custom DWR parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.external_redirect.dwr__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.external_redirect.dwr__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.external_redirect.dwr__return_value.attack.s2.o2": "{0}",
  "0.true_scan.external_redirect.dwr__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.external_redirect.dwr__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.external_redirect.dwr__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.external_redirect.dwr__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.external_redirect.dwr__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.external_redirect.dwr__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.external_redirect.dwr__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.external_redirect.dwr__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.external_redirect.form_data__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.external_redirect.form_data__parameter.attack.s1.o0": "In the FORM data parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.external_redirect.form_data__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.external_redirect.form_data__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.external_redirect.form_data__parameter.attack.s2.o2": "{0}",
  "0.true_scan.external_redirect.form_data__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.external_redirect.form_data__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.external_redirect.form_data__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {16}th parameter of the function.",
  "0.true_scan.external_redirect.form_data__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.external_redirect.form_data__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.external_redirect.form_data__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.external_redirect.form_data__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.external_redirect.form_data__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.external_redirect.form_data__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.external_redirect.form_data__return_value.attack.s1.o0": "In the FORM data parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.external_redirect.form_data__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.external_redirect.form_data__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.external_redirect.form_data__return_value.attack.s2.o2": "{0}",
  "0.true_scan.external_redirect.form_data__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.external_redirect.form_data__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.external_redirect.form_data__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.external_redirect.form_data__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.external_redirect.form_data__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.external_redirect.form_data__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.external_redirect.form_data__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.external_redirect.form_data__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.external_redirect.gwt__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.external_redirect.gwt__parameter.attack.s1.o0": "In the GWT parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.external_redirect.gwt__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.external_redirect.gwt__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.external_redirect.gwt__parameter.attack.s2.o2": "{0}",
  "0.true_scan.external_redirect.gwt__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.external_redirect.gwt__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.external_redirect.gwt__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {17}th parameter of the function.",
  "0.true_scan.external_redirect.gwt__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.external_redirect.gwt__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.external_redirect.gwt__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.external_redirect.gwt__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.external_redirect.gwt__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.external_redirect.gwt__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.external_redirect.gwt__return_value.attack.s1.o0": "In the GWT parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.external_redirect.gwt__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.external_redirect.gwt__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.external_redirect.gwt__return_value.attack.s2.o2": "{0}",
  "0.true_scan.external_redirect.gwt__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.external_redirect.gwt__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.external_redirect.gwt__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.external_redirect.gwt__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.external_redirect.gwt__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.external_redirect.gwt__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.external_redirect.gwt__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.external_redirect.gwt__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.external_redirect.http_header__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.external_redirect.http_header__parameter.attack.s1.o0": "In the header of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.external_redirect.http_header__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.external_redirect.http_header__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.external_redirect.http_header__parameter.attack.s2.o2": "{0}",
  "0.true_scan.external_redirect.http_header__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.external_redirect.http_header__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.external_redirect.http_header__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {18}th parameter of the function.",
  "0.true_scan.external_redirect.http_header__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.external_redirect.http_header__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.external_redirect.http_header__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.external_redirect.http_header__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.external_redirect.http_header__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.external_redirect.http_header__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.external_redirect.http_header__return_value.attack.s1.o0": "In the header of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.external_redirect.http_header__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.external_redirect.http_header__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.external_redirect.http_header__return_value.attack.s2.o2": "{0}",
  "0.true_scan.external_redirect.http_header__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.external_redirect.http_header__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.external_redirect.http_header__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.external_redirect.http_header__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.external_redirect.http_header__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.external_redirect.http_header__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.external_redirect.http_header__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.external_redirect.http_header__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.external_redirect.json__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.external_redirect.json__parameter.attack.s1.o0": "In the custom JSON parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.external_redirect.json__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.external_redirect.json__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.external_redirect.json__parameter.attack.s2.o2": "{0}",
  "0.true_scan.external_redirect.json__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.external_redirect.json__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.external_redirect.json__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {19}th parameter of the function.",
  "0.true_scan.external_redirect.json__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.external_redirect.json__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.external_redirect.json__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.external_redirect.json__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.external_redirect.json__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.external_redirect.json__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.external_redirect.json__return_value.attack.s1.o0": "In the custom JSON parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.external_redirect.json__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.external_redirect.json__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.external_redirect.json__return_value.attack.s2.o2": "{0}",
  "0.true_scan.external_redirect.json__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.external_redirect.json__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.external_redirect.json__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.external_redirect.json__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.external_redirect.json__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.external_redirect.json__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.external_redirect.json__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.external_redirect.json__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.external_redirect.multi_part__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.external_redirect.multi_part__parameter.attack.s1.o0": "In the Multipart-Data of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.external_redirect.multi_part__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.external_redirect.multi_part__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.external_redirect.multi_part__parameter.attack.s2.o2": "{0}",
  "0.true_scan.external_redirect.multi_part__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.external_redirect.multi_part__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.external_redirect.multi_part__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {20}th parameter of the function.",
  "0.true_scan.external_redirect.multi_part__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.external_redirect.multi_part__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.external_redirect.multi_part__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.external_redirect.multi_part__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.external_redirect.multi_part__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.external_redirect.multi_part__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.external_redirect.multi_part__return_value.attack.s1.o0": "In the Multipart-Data of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.external_redirect.multi_part__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.external_redirect.multi_part__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.external_redirect.multi_part__return_value.attack.s2.o2": "{0}",
  "0.true_scan.external_redirect.multi_part__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.external_redirect.multi_part__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.external_redirect.multi_part__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.external_redirect.multi_part__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.external_redirect.multi_part__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.external_redirect.multi_part__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.external_redirect.multi_part__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.external_redirect.multi_part__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.external_redirect.odata__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.external_redirect.odata__parameter.attack.s1.o0": "In the FORM ODATA parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.external_redirect.odata__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.external_redirect.odata__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.external_redirect.odata__parameter.attack.s2.o2": "{0}",
  "0.true_scan.external_redirect.odata__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.external_redirect.odata__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.external_redirect.odata__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {21}th parameter of the function.",
  "0.true_scan.external_redirect.odata__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.external_redirect.odata__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.external_redirect.odata__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.external_redirect.odata__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.external_redirect.odata__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.external_redirect.odata__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.external_redirect.odata__return_value.attack.s1.o0": "In the FORM ODATA parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.external_redirect.odata__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.external_redirect.odata__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.external_redirect.odata__return_value.attack.s2.o2": "{0}",
  "0.true_scan.external_redirect.odata__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.external_redirect.odata__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.external_redirect.odata__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.external_redirect.odata__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.external_redirect.odata__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.external_redirect.odata__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.external_redirect.odata__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.external_redirect.odata__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.external_redirect.query_string__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.external_redirect.query_string__parameter.attack.s1.o0": "In the quary string parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.external_redirect.query_string__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.external_redirect.query_string__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.external_redirect.query_string__parameter.attack.s2.o2": "{0}",
  "0.true_scan.external_redirect.query_string__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.external_redirect.query_string__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.external_redirect.query_string__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {22}th parameter of the function.",
  "0.true_scan.external_redirect.query_string__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.external_redirect.query_string__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.external_redirect.query_string__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.external_redirect.query_string__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.external_redirect.query_string__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.external_redirect.query_string__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.external_redirect.query_string__return_value.attack.s1.o0": "In the quary string parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.external_redirect.query_string__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.external_redirect.query_string__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.external_redirect.query_string__return_value.attack.s2.o2": "{0}",
  "0.true_scan.external_redirect.query_string__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.external_redirect.query_string__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.external_redirect.query_string__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.external_redirect.query_string__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.external_redirect.query_string__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.external_redirect.query_string__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.external_redirect.query_string__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.external_redirect.query_string__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.external_redirect.url_path__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.external_redirect.url_path__parameter.attack.s1.o0": "The {0} path has been set for URLs of the HTTP request. {1}",
  "0.true_scan.external_redirect.url_path__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.external_redirect.url_path__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.external_redirect.url_path__parameter.attack.s2.o2": "{0}",
  "0.true_scan.external_redirect.url_path__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.external_redirect.url_path__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.external_redirect.url_path__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {23}th parameter of the function.",
  "0.true_scan.external_redirect.url_path__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.external_redirect.url_path__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.external_redirect.url_path__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.external_redirect.url_path__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.external_redirect.url_path__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.external_redirect.url_path__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.external_redirect.url_path__return_value.attack.s1.o0": "The {0} path has been set for URLs of the HTTP request. {1}",
  "0.true_scan.external_redirect.url_path__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.external_redirect.url_path__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.external_redirect.url_path__return_value.attack.s2.o2": "{0}",
  "0.true_scan.external_redirect.url_path__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.external_redirect.url_path__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.external_redirect.url_path__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.external_redirect.url_path__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.external_redirect.url_path__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.external_redirect.url_path__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.external_redirect.url_path__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.external_redirect.url_path__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.external_redirect.userdef_parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.external_redirect.userdef_parameter.attack.s1.o0": "In the custom RPC parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.external_redirect.userdef_parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.external_redirect.userdef_parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.external_redirect.userdef_parameter.attack.s2.o2": "{0}",
  "0.true_scan.external_redirect.userdef_parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.external_redirect.userdef_parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.external_redirect.userdef_parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {24}th parameter of the function.",
  "0.true_scan.external_redirect.userdef_parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.external_redirect.userdef_parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.external_redirect.userdef_parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.external_redirect.userdef_parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.external_redirect.userdef_parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.external_redirect.userdef_return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.external_redirect.userdef_return_value.attack.s1.o0": "In the custom RPC parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.external_redirect.userdef_return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.external_redirect.userdef_return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.external_redirect.userdef_return_value.attack.s2.o2": "{0}",
  "0.true_scan.external_redirect.userdef_return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.external_redirect.userdef_return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.external_redirect.userdef_return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.external_redirect.userdef_return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.external_redirect.userdef_return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.external_redirect.userdef_return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.external_redirect.userdef_return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.external_redirect.userdef_return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.external_redirect.xml__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.external_redirect.xml__parameter.attack.s1.o0": "In the XML parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.external_redirect.xml__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.external_redirect.xml__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.external_redirect.xml__parameter.attack.s2.o2": "{0}",
  "0.true_scan.external_redirect.xml__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.external_redirect.xml__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.external_redirect.xml__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {25}th parameter of the function.",
  "0.true_scan.external_redirect.xml__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.external_redirect.xml__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.external_redirect.xml__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.external_redirect.xml__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.external_redirect.xml__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.external_redirect.xml__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.external_redirect.xml__return_value.attack.s1.o0": "In the XML parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.external_redirect.xml__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.external_redirect.xml__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.external_redirect.xml__return_value.attack.s2.o2": "{0}",
  "0.true_scan.external_redirect.xml__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.external_redirect.xml__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.external_redirect.xml__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.external_redirect.xml__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.external_redirect.xml__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.external_redirect.xml__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.external_redirect.xml__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.external_redirect.xml__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.local_file_include.cookie__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.local_file_include.cookie__parameter.attack.s1.o0": "In the cookies of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.local_file_include.cookie__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.local_file_include.cookie__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.local_file_include.cookie__parameter.attack.s2.o2": "{0}",
  "0.true_scan.local_file_include.cookie__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.local_file_include.cookie__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.local_file_include.cookie__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {26}th parameter of the function.",
  "0.true_scan.local_file_include.cookie__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.local_file_include.cookie__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.local_file_include.cookie__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.local_file_include.cookie__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.local_file_include.cookie__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.local_file_include.cookie__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.local_file_include.cookie__return_value.attack.s1.o0": "In the cookies of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.local_file_include.cookie__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.local_file_include.cookie__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.local_file_include.cookie__return_value.attack.s2.o2": "{0}",
  "0.true_scan.local_file_include.cookie__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.local_file_include.cookie__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.local_file_include.cookie__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.local_file_include.cookie__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.local_file_include.cookie__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.local_file_include.cookie__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.local_file_include.cookie__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.local_file_include.cookie__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.local_file_include.custom__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.local_file_include.custom__parameter.attack.s1.o0": "In the custom RPC parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.local_file_include.custom__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.local_file_include.custom__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.local_file_include.custom__parameter.attack.s2.o2": "{0}",
  "0.true_scan.local_file_include.custom__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.local_file_include.custom__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.local_file_include.custom__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {27}th parameter of the function.",
  "0.true_scan.local_file_include.custom__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.local_file_include.custom__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.local_file_include.custom__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.local_file_include.custom__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.local_file_include.custom__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.local_file_include.custom__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.local_file_include.custom__return_value.attack.s1.o0": "In the custom RPC parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.local_file_include.custom__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.local_file_include.custom__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.local_file_include.custom__return_value.attack.s2.o2": "{0}",
  "0.true_scan.local_file_include.custom__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.local_file_include.custom__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.local_file_include.custom__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.local_file_include.custom__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.local_file_include.custom__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.local_file_include.custom__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.local_file_include.custom__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.local_file_include.custom__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.local_file_include.dwr__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.local_file_include.dwr__parameter.attack.s1.o0": "In the custom DWR parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.local_file_include.dwr__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.local_file_include.dwr__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.local_file_include.dwr__parameter.attack.s2.o2": "{0}",
  "0.true_scan.local_file_include.dwr__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.local_file_include.dwr__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.local_file_include.dwr__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {28}th parameter of the function.",
  "0.true_scan.local_file_include.dwr__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.local_file_include.dwr__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.local_file_include.dwr__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.local_file_include.dwr__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.local_file_include.dwr__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.local_file_include.dwr__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.local_file_include.dwr__return_value.attack.s1.o0": "In the custom DWR parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.local_file_include.dwr__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.local_file_include.dwr__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.local_file_include.dwr__return_value.attack.s2.o2": "{0}",
  "0.true_scan.local_file_include.dwr__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.local_file_include.dwr__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.local_file_include.dwr__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.local_file_include.dwr__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.local_file_include.dwr__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.local_file_include.dwr__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.local_file_include.dwr__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.local_file_include.dwr__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.local_file_include.form_data__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.local_file_include.form_data__parameter.attack.s1.o0": "In the FORM data parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.local_file_include.form_data__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.local_file_include.form_data__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.local_file_include.form_data__parameter.attack.s2.o2": "{0}",
  "0.true_scan.local_file_include.form_data__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.local_file_include.form_data__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.local_file_include.form_data__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {29}th parameter of the function.",
  "0.true_scan.local_file_include.form_data__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.local_file_include.form_data__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.local_file_include.form_data__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.local_file_include.form_data__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.local_file_include.form_data__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.local_file_include.form_data__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.local_file_include.form_data__return_value.attack.s1.o0": "In the FORM data parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.local_file_include.form_data__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.local_file_include.form_data__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.local_file_include.form_data__return_value.attack.s2.o2": "{0}",
  "0.true_scan.local_file_include.form_data__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.local_file_include.form_data__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.local_file_include.form_data__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.local_file_include.form_data__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.local_file_include.form_data__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.local_file_include.form_data__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.local_file_include.form_data__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.local_file_include.form_data__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.local_file_include.gwt__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.local_file_include.gwt__parameter.attack.s1.o0": "In the GWT parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.local_file_include.gwt__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.local_file_include.gwt__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.local_file_include.gwt__parameter.attack.s2.o2": "{0}",
  "0.true_scan.local_file_include.gwt__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.local_file_include.gwt__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.local_file_include.gwt__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {30}th parameter of the function.",
  "0.true_scan.local_file_include.gwt__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.local_file_include.gwt__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.local_file_include.gwt__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.local_file_include.gwt__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.local_file_include.gwt__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.local_file_include.gwt__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.local_file_include.gwt__return_value.attack.s1.o0": "In the GWT parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.local_file_include.gwt__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.local_file_include.gwt__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.local_file_include.gwt__return_value.attack.s2.o2": "{0}",
  "0.true_scan.local_file_include.gwt__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.local_file_include.gwt__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.local_file_include.gwt__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.local_file_include.gwt__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.local_file_include.gwt__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.local_file_include.gwt__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.local_file_include.gwt__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.local_file_include.gwt__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.local_file_include.http_header__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.local_file_include.http_header__parameter.attack.s1.o0": "In the header of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.local_file_include.http_header__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.local_file_include.http_header__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.local_file_include.http_header__parameter.attack.s2.o2": "{0}",
  "0.true_scan.local_file_include.http_header__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.local_file_include.http_header__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.local_file_include.http_header__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {31}th parameter of the function.",
  "0.true_scan.local_file_include.http_header__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.local_file_include.http_header__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.local_file_include.http_header__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.local_file_include.http_header__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.local_file_include.http_header__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.local_file_include.http_header__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.local_file_include.http_header__return_value.attack.s1.o0": "In the header of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.local_file_include.http_header__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.local_file_include.http_header__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.local_file_include.http_header__return_value.attack.s2.o2": "{0}",
  "0.true_scan.local_file_include.http_header__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.local_file_include.http_header__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.local_file_include.http_header__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.local_file_include.http_header__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.local_file_include.http_header__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.local_file_include.http_header__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.local_file_include.http_header__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.local_file_include.http_header__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.local_file_include.json__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.local_file_include.json__parameter.attack.s1.o0": "In the custom JSON parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.local_file_include.json__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.local_file_include.json__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.local_file_include.json__parameter.attack.s2.o2": "{0}",
  "0.true_scan.local_file_include.json__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.local_file_include.json__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.local_file_include.json__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {32}th parameter of the function.",
  "0.true_scan.local_file_include.json__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.local_file_include.json__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.local_file_include.json__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.local_file_include.json__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.local_file_include.json__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.local_file_include.json__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.local_file_include.json__return_value.attack.s1.o0": "In the custom JSON parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.local_file_include.json__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.local_file_include.json__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.local_file_include.json__return_value.attack.s2.o2": "{0}",
  "0.true_scan.local_file_include.json__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.local_file_include.json__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.local_file_include.json__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.local_file_include.json__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.local_file_include.json__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.local_file_include.json__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.local_file_include.json__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.local_file_include.json__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.local_file_include.multi_part__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.local_file_include.multi_part__parameter.attack.s1.o0": "In the Multipart-Data of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.local_file_include.multi_part__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.local_file_include.multi_part__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.local_file_include.multi_part__parameter.attack.s2.o2": "{0}",
  "0.true_scan.local_file_include.multi_part__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.local_file_include.multi_part__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.local_file_include.multi_part__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {33}th parameter of the function.",
  "0.true_scan.local_file_include.multi_part__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.local_file_include.multi_part__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.local_file_include.multi_part__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.local_file_include.multi_part__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.local_file_include.multi_part__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.local_file_include.multi_part__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.local_file_include.multi_part__return_value.attack.s1.o0": "In the Multipart-Data of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.local_file_include.multi_part__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.local_file_include.multi_part__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.local_file_include.multi_part__return_value.attack.s2.o2": "{0}",
  "0.true_scan.local_file_include.multi_part__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.local_file_include.multi_part__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.local_file_include.multi_part__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.local_file_include.multi_part__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.local_file_include.multi_part__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.local_file_include.multi_part__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.local_file_include.multi_part__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.local_file_include.multi_part__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.local_file_include.odata__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.local_file_include.odata__parameter.attack.s1.o0": "In the FORM ODATA parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.local_file_include.odata__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.local_file_include.odata__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.local_file_include.odata__parameter.attack.s2.o2": "{0}",
  "0.true_scan.local_file_include.odata__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.local_file_include.odata__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.local_file_include.odata__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {34}th parameter of the function.",
  "0.true_scan.local_file_include.odata__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.local_file_include.odata__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.local_file_include.odata__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.local_file_include.odata__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.local_file_include.odata__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.local_file_include.odata__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.local_file_include.odata__return_value.attack.s1.o0": "In the FORM ODATA parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.local_file_include.odata__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.local_file_include.odata__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.local_file_include.odata__return_value.attack.s2.o2": "{0}",
  "0.true_scan.local_file_include.odata__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.local_file_include.odata__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.local_file_include.odata__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.local_file_include.odata__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.local_file_include.odata__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.local_file_include.odata__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.local_file_include.odata__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.local_file_include.odata__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.local_file_include.query_string__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.local_file_include.query_string__parameter.attack.s1.o0": "In the quary string parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.local_file_include.query_string__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.local_file_include.query_string__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.local_file_include.query_string__parameter.attack.s2.o2": "{0}",
  "0.true_scan.local_file_include.query_string__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.local_file_include.query_string__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.local_file_include.query_string__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {35}th parameter of the function.",
  "0.true_scan.local_file_include.query_string__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.local_file_include.query_string__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.local_file_include.query_string__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.local_file_include.query_string__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.local_file_include.query_string__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.local_file_include.query_string__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.local_file_include.query_string__return_value.attack.s1.o0": "In the quary string parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.local_file_include.query_string__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.local_file_include.query_string__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.local_file_include.query_string__return_value.attack.s2.o2": "{0}",
  "0.true_scan.local_file_include.query_string__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.local_file_include.query_string__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.local_file_include.query_string__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.local_file_include.query_string__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.local_file_include.query_string__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.local_file_include.query_string__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.local_file_include.query_string__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.local_file_include.query_string__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.local_file_include.url_path__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.local_file_include.url_path__parameter.attack.s1.o0": "The {0} path has been set for URLs of the HTTP request. {1}",
  "0.true_scan.local_file_include.url_path__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.local_file_include.url_path__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.local_file_include.url_path__parameter.attack.s2.o2": "{0}",
  "0.true_scan.local_file_include.url_path__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.local_file_include.url_path__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.local_file_include.url_path__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {36}th parameter of the function.",
  "0.true_scan.local_file_include.url_path__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.local_file_include.url_path__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.local_file_include.url_path__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.local_file_include.url_path__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.local_file_include.url_path__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.local_file_include.url_path__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.local_file_include.url_path__return_value.attack.s1.o0": "The {0} path has been set for URLs of the HTTP request. {1}",
  "0.true_scan.local_file_include.url_path__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.local_file_include.url_path__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.local_file_include.url_path__return_value.attack.s2.o2": "{0}",
  "0.true_scan.local_file_include.url_path__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.local_file_include.url_path__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.local_file_include.url_path__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.local_file_include.url_path__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.local_file_include.url_path__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.local_file_include.url_path__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.local_file_include.url_path__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.local_file_include.url_path__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.local_file_include.userdef_parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.local_file_include.userdef_parameter.attack.s1.o0": "In the custom RPC parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.local_file_include.userdef_parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.local_file_include.userdef_parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.local_file_include.userdef_parameter.attack.s2.o2": "{0}",
  "0.true_scan.local_file_include.userdef_parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.local_file_include.userdef_parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.local_file_include.userdef_parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {37}th parameter of the function.",
  "0.true_scan.local_file_include.userdef_parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.local_file_include.userdef_parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.local_file_include.userdef_parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.local_file_include.userdef_parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.local_file_include.userdef_parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.local_file_include.userdef_return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.local_file_include.userdef_return_value.attack.s1.o0": "In the custom RPC parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.local_file_include.userdef_return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.local_file_include.userdef_return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.local_file_include.userdef_return_value.attack.s2.o2": "{0}",
  "0.true_scan.local_file_include.userdef_return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.local_file_include.userdef_return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.local_file_include.userdef_return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.local_file_include.userdef_return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.local_file_include.userdef_return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.local_file_include.userdef_return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.local_file_include.userdef_return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.local_file_include.userdef_return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.local_file_include.xml__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.local_file_include.xml__parameter.attack.s1.o0": "In the XML parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.local_file_include.xml__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.local_file_include.xml__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.local_file_include.xml__parameter.attack.s2.o2": "{0}",
  "0.true_scan.local_file_include.xml__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.local_file_include.xml__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.local_file_include.xml__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {38}th parameter of the function.",
  "0.true_scan.local_file_include.xml__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.local_file_include.xml__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.local_file_include.xml__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.local_file_include.xml__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.local_file_include.xml__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.local_file_include.xml__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.local_file_include.xml__return_value.attack.s1.o0": "In the XML parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.local_file_include.xml__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.local_file_include.xml__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.local_file_include.xml__return_value.attack.s2.o2": "{0}",
  "0.true_scan.local_file_include.xml__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.local_file_include.xml__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.local_file_include.xml__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.local_file_include.xml__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.local_file_include.xml__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.local_file_include.xml__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.local_file_include.xml__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.local_file_include.xml__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.path_traversal.cookie__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.path_traversal.cookie__parameter.attack.s1.o0": "In the cookies of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.path_traversal.cookie__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.path_traversal.cookie__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.path_traversal.cookie__parameter.attack.s2.o2": "{0}",
  "0.true_scan.path_traversal.cookie__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.path_traversal.cookie__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.path_traversal.cookie__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {39}th parameter of the function.",
  "0.true_scan.path_traversal.cookie__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.path_traversal.cookie__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.path_traversal.cookie__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.path_traversal.cookie__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.path_traversal.cookie__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.path_traversal.cookie__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.path_traversal.cookie__return_value.attack.s1.o0": "In the cookies of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.path_traversal.cookie__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.path_traversal.cookie__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.path_traversal.cookie__return_value.attack.s2.o2": "{0}",
  "0.true_scan.path_traversal.cookie__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.path_traversal.cookie__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.path_traversal.cookie__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.path_traversal.cookie__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.path_traversal.cookie__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.path_traversal.cookie__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.path_traversal.cookie__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.path_traversal.cookie__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.path_traversal.custom__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.path_traversal.custom__parameter.attack.s1.o0": "In the custom RPC parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.path_traversal.custom__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.path_traversal.custom__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.path_traversal.custom__parameter.attack.s2.o2": "{0}",
  "0.true_scan.path_traversal.custom__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.path_traversal.custom__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.path_traversal.custom__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {40}th parameter of the function.",
  "0.true_scan.path_traversal.custom__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.path_traversal.custom__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.path_traversal.custom__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.path_traversal.custom__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.path_traversal.custom__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.path_traversal.custom__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.path_traversal.custom__return_value.attack.s1.o0": "In the custom RPC parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.path_traversal.custom__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.path_traversal.custom__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.path_traversal.custom__return_value.attack.s2.o2": "{0}",
  "0.true_scan.path_traversal.custom__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.path_traversal.custom__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.path_traversal.custom__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.path_traversal.custom__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.path_traversal.custom__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.path_traversal.custom__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.path_traversal.custom__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.path_traversal.custom__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.path_traversal.dwr__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.path_traversal.dwr__parameter.attack.s1.o0": "In the custom DWR parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.path_traversal.dwr__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.path_traversal.dwr__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.path_traversal.dwr__parameter.attack.s2.o2": "{0}",
  "0.true_scan.path_traversal.dwr__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.path_traversal.dwr__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.path_traversal.dwr__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {41}th parameter of the function.",
  "0.true_scan.path_traversal.dwr__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.path_traversal.dwr__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.path_traversal.dwr__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.path_traversal.dwr__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.path_traversal.dwr__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.path_traversal.dwr__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.path_traversal.dwr__return_value.attack.s1.o0": "In the custom DWR parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.path_traversal.dwr__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.path_traversal.dwr__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.path_traversal.dwr__return_value.attack.s2.o2": "{0}",
  "0.true_scan.path_traversal.dwr__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.path_traversal.dwr__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.path_traversal.dwr__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.path_traversal.dwr__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.path_traversal.dwr__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.path_traversal.dwr__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.path_traversal.dwr__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.path_traversal.dwr__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.path_traversal.form_data__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.path_traversal.form_data__parameter.attack.s1.o0": "In the FORM data parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.path_traversal.form_data__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.path_traversal.form_data__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.path_traversal.form_data__parameter.attack.s2.o2": "{0}",
  "0.true_scan.path_traversal.form_data__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.path_traversal.form_data__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.path_traversal.form_data__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {42}th parameter of the function.",
  "0.true_scan.path_traversal.form_data__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.path_traversal.form_data__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.path_traversal.form_data__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.path_traversal.form_data__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.path_traversal.form_data__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.path_traversal.form_data__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.path_traversal.form_data__return_value.attack.s1.o0": "In the FORM data parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.path_traversal.form_data__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.path_traversal.form_data__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.path_traversal.form_data__return_value.attack.s2.o2": "{0}",
  "0.true_scan.path_traversal.form_data__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.path_traversal.form_data__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.path_traversal.form_data__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.path_traversal.form_data__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.path_traversal.form_data__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.path_traversal.form_data__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.path_traversal.form_data__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.path_traversal.form_data__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.path_traversal.gwt__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.path_traversal.gwt__parameter.attack.s1.o0": "In the GWT parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.path_traversal.gwt__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.path_traversal.gwt__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.path_traversal.gwt__parameter.attack.s2.o2": "{0}",
  "0.true_scan.path_traversal.gwt__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.path_traversal.gwt__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.path_traversal.gwt__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {43}th parameter of the function.",
  "0.true_scan.path_traversal.gwt__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.path_traversal.gwt__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.path_traversal.gwt__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.path_traversal.gwt__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.path_traversal.gwt__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.path_traversal.gwt__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.path_traversal.gwt__return_value.attack.s1.o0": "In the GWT parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.path_traversal.gwt__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.path_traversal.gwt__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.path_traversal.gwt__return_value.attack.s2.o2": "{0}",
  "0.true_scan.path_traversal.gwt__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.path_traversal.gwt__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.path_traversal.gwt__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.path_traversal.gwt__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.path_traversal.gwt__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.path_traversal.gwt__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.path_traversal.gwt__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.path_traversal.gwt__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.path_traversal.http_header__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.path_traversal.http_header__parameter.attack.s1.o0": "In the header of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.path_traversal.http_header__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.path_traversal.http_header__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.path_traversal.http_header__parameter.attack.s2.o2": "{0}",
  "0.true_scan.path_traversal.http_header__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.path_traversal.http_header__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.path_traversal.http_header__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {44}th parameter of the function.",
  "0.true_scan.path_traversal.http_header__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.path_traversal.http_header__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.path_traversal.http_header__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.path_traversal.http_header__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.path_traversal.http_header__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.path_traversal.http_header__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.path_traversal.http_header__return_value.attack.s1.o0": "In the header of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.path_traversal.http_header__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.path_traversal.http_header__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.path_traversal.http_header__return_value.attack.s2.o2": "{0}",
  "0.true_scan.path_traversal.http_header__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.path_traversal.http_header__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.path_traversal.http_header__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.path_traversal.http_header__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.path_traversal.http_header__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.path_traversal.http_header__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.path_traversal.http_header__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.path_traversal.http_header__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.path_traversal.json__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.path_traversal.json__parameter.attack.s1.o0": "In the custom JSON parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.path_traversal.json__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.path_traversal.json__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.path_traversal.json__parameter.attack.s2.o2": "{0}",
  "0.true_scan.path_traversal.json__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.path_traversal.json__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.path_traversal.json__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {45}th parameter of the function.",
  "0.true_scan.path_traversal.json__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.path_traversal.json__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.path_traversal.json__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.path_traversal.json__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.path_traversal.json__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.path_traversal.json__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.path_traversal.json__return_value.attack.s1.o0": "In the custom JSON parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.path_traversal.json__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.path_traversal.json__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.path_traversal.json__return_value.attack.s2.o2": "{0}",
  "0.true_scan.path_traversal.json__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.path_traversal.json__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.path_traversal.json__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.path_traversal.json__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.path_traversal.json__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.path_traversal.json__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.path_traversal.json__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.path_traversal.json__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.path_traversal.multi_part__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.path_traversal.multi_part__parameter.attack.s1.o0": "In the Multipart-Data of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.path_traversal.multi_part__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.path_traversal.multi_part__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.path_traversal.multi_part__parameter.attack.s2.o2": "{0}",
  "0.true_scan.path_traversal.multi_part__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.path_traversal.multi_part__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.path_traversal.multi_part__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {46}th parameter of the function.",
  "0.true_scan.path_traversal.multi_part__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.path_traversal.multi_part__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.path_traversal.multi_part__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.path_traversal.multi_part__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.path_traversal.multi_part__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.path_traversal.multi_part__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.path_traversal.multi_part__return_value.attack.s1.o0": "In the Multipart-Data of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.path_traversal.multi_part__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.path_traversal.multi_part__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.path_traversal.multi_part__return_value.attack.s2.o2": "{0}",
  "0.true_scan.path_traversal.multi_part__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.path_traversal.multi_part__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.path_traversal.multi_part__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.path_traversal.multi_part__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.path_traversal.multi_part__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.path_traversal.multi_part__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.path_traversal.multi_part__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.path_traversal.multi_part__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.path_traversal.odata__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.path_traversal.odata__parameter.attack.s1.o0": "In the FORM ODATA parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.path_traversal.odata__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.path_traversal.odata__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.path_traversal.odata__parameter.attack.s2.o2": "{0}",
  "0.true_scan.path_traversal.odata__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.path_traversal.odata__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.path_traversal.odata__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {47}th parameter of the function.",
  "0.true_scan.path_traversal.odata__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.path_traversal.odata__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.path_traversal.odata__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.path_traversal.odata__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.path_traversal.odata__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.path_traversal.odata__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.path_traversal.odata__return_value.attack.s1.o0": "In the FORM ODATA parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.path_traversal.odata__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.path_traversal.odata__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.path_traversal.odata__return_value.attack.s2.o2": "{0}",
  "0.true_scan.path_traversal.odata__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.path_traversal.odata__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.path_traversal.odata__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.path_traversal.odata__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.path_traversal.odata__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.path_traversal.odata__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.path_traversal.odata__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.path_traversal.odata__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.path_traversal.query_string__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.path_traversal.query_string__parameter.attack.s1.o0": "In the quary string parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.path_traversal.query_string__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.path_traversal.query_string__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.path_traversal.query_string__parameter.attack.s2.o2": "{0}",
  "0.true_scan.path_traversal.query_string__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.path_traversal.query_string__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.path_traversal.query_string__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {48}th parameter of the function.",
  "0.true_scan.path_traversal.query_string__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.path_traversal.query_string__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.path_traversal.query_string__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.path_traversal.query_string__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.path_traversal.query_string__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.path_traversal.query_string__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.path_traversal.query_string__return_value.attack.s1.o0": "In the quary string parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.path_traversal.query_string__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.path_traversal.query_string__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.path_traversal.query_string__return_value.attack.s2.o2": "{0}",
  "0.true_scan.path_traversal.query_string__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.path_traversal.query_string__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.path_traversal.query_string__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.path_traversal.query_string__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.path_traversal.query_string__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.path_traversal.query_string__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.path_traversal.query_string__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.path_traversal.query_string__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.path_traversal.url_path__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.path_traversal.url_path__parameter.attack.s1.o0": "The {0} path has been set for URLs of the HTTP request. {1}",
  "0.true_scan.path_traversal.url_path__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.path_traversal.url_path__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.path_traversal.url_path__parameter.attack.s2.o2": "{0}",
  "0.true_scan.path_traversal.url_path__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.path_traversal.url_path__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.path_traversal.url_path__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {49}th parameter of the function.",
  "0.true_scan.path_traversal.url_path__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.path_traversal.url_path__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.path_traversal.url_path__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.path_traversal.url_path__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.path_traversal.url_path__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.path_traversal.url_path__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.path_traversal.url_path__return_value.attack.s1.o0": "The {0} path has been set for URLs of the HTTP request. {1}",
  "0.true_scan.path_traversal.url_path__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.path_traversal.url_path__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.path_traversal.url_path__return_value.attack.s2.o2": "{0}",
  "0.true_scan.path_traversal.url_path__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.path_traversal.url_path__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.path_traversal.url_path__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.path_traversal.url_path__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.path_traversal.url_path__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.path_traversal.url_path__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.path_traversal.url_path__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.path_traversal.url_path__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.path_traversal.userdef_parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.path_traversal.userdef_parameter.attack.s1.o0": "In the custom RPC parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.path_traversal.userdef_parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.path_traversal.userdef_parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.path_traversal.userdef_parameter.attack.s2.o2": "{0}",
  "0.true_scan.path_traversal.userdef_parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.path_traversal.userdef_parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.path_traversal.userdef_parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {50}th parameter of the function.",
  "0.true_scan.path_traversal.userdef_parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.path_traversal.userdef_parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.path_traversal.userdef_parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.path_traversal.userdef_parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.path_traversal.userdef_parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.path_traversal.userdef_return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.path_traversal.userdef_return_value.attack.s1.o0": "In the custom RPC parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.path_traversal.userdef_return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.path_traversal.userdef_return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.path_traversal.userdef_return_value.attack.s2.o2": "{0}",
  "0.true_scan.path_traversal.userdef_return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.path_traversal.userdef_return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.path_traversal.userdef_return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.path_traversal.userdef_return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.path_traversal.userdef_return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.path_traversal.userdef_return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.path_traversal.userdef_return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.path_traversal.userdef_return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.path_traversal.xml__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.path_traversal.xml__parameter.attack.s1.o0": "In the XML parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.path_traversal.xml__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.path_traversal.xml__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.path_traversal.xml__parameter.attack.s2.o2": "{0}",
  "0.true_scan.path_traversal.xml__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.path_traversal.xml__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.path_traversal.xml__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {51}th parameter of the function.",
  "0.true_scan.path_traversal.xml__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.path_traversal.xml__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.path_traversal.xml__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.path_traversal.xml__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.path_traversal.xml__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.path_traversal.xml__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.path_traversal.xml__return_value.attack.s1.o0": "In the XML parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.path_traversal.xml__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.path_traversal.xml__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.path_traversal.xml__return_value.attack.s2.o2": "{0}",
  "0.true_scan.path_traversal.xml__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.path_traversal.xml__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.path_traversal.xml__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.path_traversal.xml__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.path_traversal.xml__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.path_traversal.xml__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.path_traversal.xml__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.path_traversal.xml__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.sql_injection.cookie__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.sql_injection.cookie__parameter.attack.s1.o0": "In the cookies of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.sql_injection.cookie__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.sql_injection.cookie__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.sql_injection.cookie__parameter.attack.s2.o2": "{0}",
  "0.true_scan.sql_injection.cookie__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.sql_injection.cookie__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.sql_injection.cookie__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {52}th parameter of the function.",
  "0.true_scan.sql_injection.cookie__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.sql_injection.cookie__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.sql_injection.cookie__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.sql_injection.cookie__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.sql_injection.cookie__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.sql_injection.cookie__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.sql_injection.cookie__return_value.attack.s1.o0": "In the cookies of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.sql_injection.cookie__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.sql_injection.cookie__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.sql_injection.cookie__return_value.attack.s2.o2": "{0}",
  "0.true_scan.sql_injection.cookie__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.sql_injection.cookie__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.sql_injection.cookie__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.sql_injection.cookie__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.sql_injection.cookie__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.sql_injection.cookie__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.sql_injection.cookie__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.sql_injection.cookie__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.sql_injection.custom__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.sql_injection.custom__parameter.attack.s1.o0": "In the custom RPC parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.sql_injection.custom__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.sql_injection.custom__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.sql_injection.custom__parameter.attack.s2.o2": "{0}",
  "0.true_scan.sql_injection.custom__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.sql_injection.custom__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.sql_injection.custom__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {53}th parameter of the function.",
  "0.true_scan.sql_injection.custom__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.sql_injection.custom__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.sql_injection.custom__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.sql_injection.custom__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.sql_injection.custom__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.sql_injection.custom__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.sql_injection.custom__return_value.attack.s1.o0": "In the custom RPC parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.sql_injection.custom__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.sql_injection.custom__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.sql_injection.custom__return_value.attack.s2.o2": "{0}",
  "0.true_scan.sql_injection.custom__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.sql_injection.custom__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.sql_injection.custom__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.sql_injection.custom__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.sql_injection.custom__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.sql_injection.custom__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.sql_injection.custom__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.sql_injection.custom__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.sql_injection.dwr__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.sql_injection.dwr__parameter.attack.s1.o0": "In the custom DWR parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.sql_injection.dwr__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.sql_injection.dwr__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.sql_injection.dwr__parameter.attack.s2.o2": "{0}",
  "0.true_scan.sql_injection.dwr__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.sql_injection.dwr__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.sql_injection.dwr__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {54}th parameter of the function.",
  "0.true_scan.sql_injection.dwr__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.sql_injection.dwr__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.sql_injection.dwr__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.sql_injection.dwr__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.sql_injection.dwr__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.sql_injection.dwr__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.sql_injection.dwr__return_value.attack.s1.o0": "In the custom DWR parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.sql_injection.dwr__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.sql_injection.dwr__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.sql_injection.dwr__return_value.attack.s2.o2": "{0}",
  "0.true_scan.sql_injection.dwr__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.sql_injection.dwr__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.sql_injection.dwr__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.sql_injection.dwr__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.sql_injection.dwr__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.sql_injection.dwr__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.sql_injection.dwr__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.sql_injection.dwr__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.sql_injection.form_data__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.sql_injection.form_data__parameter.attack.s1.o0": "In the FORM data parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.sql_injection.form_data__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.sql_injection.form_data__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.sql_injection.form_data__parameter.attack.s2.o2": "{0}",
  "0.true_scan.sql_injection.form_data__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.sql_injection.form_data__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.sql_injection.form_data__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {55}th parameter of the function.",
  "0.true_scan.sql_injection.form_data__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.sql_injection.form_data__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.sql_injection.form_data__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.sql_injection.form_data__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.sql_injection.form_data__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.sql_injection.form_data__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.sql_injection.form_data__return_value.attack.s1.o0": "In the FORM data parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.sql_injection.form_data__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.sql_injection.form_data__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.sql_injection.form_data__return_value.attack.s2.o2": "{0}",
  "0.true_scan.sql_injection.form_data__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.sql_injection.form_data__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.sql_injection.form_data__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.sql_injection.form_data__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.sql_injection.form_data__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.sql_injection.form_data__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.sql_injection.form_data__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.sql_injection.form_data__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.sql_injection.gwt__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.sql_injection.gwt__parameter.attack.s1.o0": "In the GWT parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.sql_injection.gwt__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.sql_injection.gwt__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.sql_injection.gwt__parameter.attack.s2.o2": "{0}",
  "0.true_scan.sql_injection.gwt__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.sql_injection.gwt__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.sql_injection.gwt__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {56}th parameter of the function.",
  "0.true_scan.sql_injection.gwt__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.sql_injection.gwt__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.sql_injection.gwt__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.sql_injection.gwt__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.sql_injection.gwt__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.sql_injection.gwt__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.sql_injection.gwt__return_value.attack.s1.o0": "In the GWT parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.sql_injection.gwt__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.sql_injection.gwt__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.sql_injection.gwt__return_value.attack.s2.o2": "{0}",
  "0.true_scan.sql_injection.gwt__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.sql_injection.gwt__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.sql_injection.gwt__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.sql_injection.gwt__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.sql_injection.gwt__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.sql_injection.gwt__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.sql_injection.gwt__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.sql_injection.gwt__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.sql_injection.http_header__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.sql_injection.http_header__parameter.attack.s1.o0": "In the header of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.sql_injection.http_header__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.sql_injection.http_header__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.sql_injection.http_header__parameter.attack.s2.o2": "{0}",
  "0.true_scan.sql_injection.http_header__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.sql_injection.http_header__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.sql_injection.http_header__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {57}th parameter of the function.",
  "0.true_scan.sql_injection.http_header__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.sql_injection.http_header__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.sql_injection.http_header__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.sql_injection.http_header__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.sql_injection.http_header__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.sql_injection.http_header__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.sql_injection.http_header__return_value.attack.s1.o0": "In the header of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.sql_injection.http_header__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.sql_injection.http_header__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.sql_injection.http_header__return_value.attack.s2.o2": "{0}",
  "0.true_scan.sql_injection.http_header__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.sql_injection.http_header__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.sql_injection.http_header__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.sql_injection.http_header__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.sql_injection.http_header__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.sql_injection.http_header__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.sql_injection.http_header__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.sql_injection.http_header__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.sql_injection.json__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.sql_injection.json__parameter.attack.s1.o0": "In the custom JSON parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.sql_injection.json__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.sql_injection.json__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.sql_injection.json__parameter.attack.s2.o2": "{0}",
  "0.true_scan.sql_injection.json__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.sql_injection.json__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.sql_injection.json__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {58}th parameter of the function.",
  "0.true_scan.sql_injection.json__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.sql_injection.json__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.sql_injection.json__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.sql_injection.json__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.sql_injection.json__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.sql_injection.json__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.sql_injection.json__return_value.attack.s1.o0": "In the custom JSON parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.sql_injection.json__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.sql_injection.json__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.sql_injection.json__return_value.attack.s2.o2": "{0}",
  "0.true_scan.sql_injection.json__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.sql_injection.json__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.sql_injection.json__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.sql_injection.json__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.sql_injection.json__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.sql_injection.json__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.sql_injection.json__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.sql_injection.json__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.sql_injection.multi_part__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.sql_injection.multi_part__parameter.attack.s1.o0": "In the Multipart-Data of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.sql_injection.multi_part__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.sql_injection.multi_part__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.sql_injection.multi_part__parameter.attack.s2.o2": "{0}",
  "0.true_scan.sql_injection.multi_part__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.sql_injection.multi_part__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.sql_injection.multi_part__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {59}th parameter of the function.",
  "0.true_scan.sql_injection.multi_part__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.sql_injection.multi_part__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.sql_injection.multi_part__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.sql_injection.multi_part__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.sql_injection.multi_part__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.sql_injection.multi_part__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.sql_injection.multi_part__return_value.attack.s1.o0": "In the Multipart-Data of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.sql_injection.multi_part__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.sql_injection.multi_part__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.sql_injection.multi_part__return_value.attack.s2.o2": "{0}",
  "0.true_scan.sql_injection.multi_part__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.sql_injection.multi_part__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.sql_injection.multi_part__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.sql_injection.multi_part__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.sql_injection.multi_part__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.sql_injection.multi_part__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.sql_injection.multi_part__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.sql_injection.multi_part__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.sql_injection.odata__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.sql_injection.odata__parameter.attack.s1.o0": "In the FORM ODATA parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.sql_injection.odata__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.sql_injection.odata__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.sql_injection.odata__parameter.attack.s2.o2": "{0}",
  "0.true_scan.sql_injection.odata__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.sql_injection.odata__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.sql_injection.odata__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {60}th parameter of the function.",
  "0.true_scan.sql_injection.odata__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.sql_injection.odata__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.sql_injection.odata__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.sql_injection.odata__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.sql_injection.odata__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.sql_injection.odata__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.sql_injection.odata__return_value.attack.s1.o0": "In the FORM ODATA parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.sql_injection.odata__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.sql_injection.odata__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.sql_injection.odata__return_value.attack.s2.o2": "{0}",
  "0.true_scan.sql_injection.odata__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.sql_injection.odata__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.sql_injection.odata__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.sql_injection.odata__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.sql_injection.odata__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.sql_injection.odata__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.sql_injection.odata__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.sql_injection.odata__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.sql_injection.query_string__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.sql_injection.query_string__parameter.attack.s1.o0": "In the quary string parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.sql_injection.query_string__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.sql_injection.query_string__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.sql_injection.query_string__parameter.attack.s2.o2": "{0}",
  "0.true_scan.sql_injection.query_string__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.sql_injection.query_string__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.sql_injection.query_string__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {61}th parameter of the function.",
  "0.true_scan.sql_injection.query_string__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.sql_injection.query_string__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.sql_injection.query_string__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.sql_injection.query_string__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.sql_injection.query_string__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.sql_injection.query_string__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.sql_injection.query_string__return_value.attack.s1.o0": "In the quary string parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.sql_injection.query_string__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.sql_injection.query_string__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.sql_injection.query_string__return_value.attack.s2.o2": "{0}",
  "0.true_scan.sql_injection.query_string__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.sql_injection.query_string__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.sql_injection.query_string__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.sql_injection.query_string__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.sql_injection.query_string__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.sql_injection.query_string__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.sql_injection.query_string__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.sql_injection.query_string__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.sql_injection.url_path__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.sql_injection.url_path__parameter.attack.s1.o0": "The {0} path has been set for URLs of the HTTP request. {1}",
  "0.true_scan.sql_injection.url_path__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.sql_injection.url_path__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.sql_injection.url_path__parameter.attack.s2.o2": "{0}",
  "0.true_scan.sql_injection.url_path__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.sql_injection.url_path__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.sql_injection.url_path__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {62}th parameter of the function.",
  "0.true_scan.sql_injection.url_path__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.sql_injection.url_path__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.sql_injection.url_path__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.sql_injection.url_path__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.sql_injection.url_path__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.sql_injection.url_path__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.sql_injection.url_path__return_value.attack.s1.o0": "The {0} path has been set for URLs of the HTTP request. {1}",
  "0.true_scan.sql_injection.url_path__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.sql_injection.url_path__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.sql_injection.url_path__return_value.attack.s2.o2": "{0}",
  "0.true_scan.sql_injection.url_path__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.sql_injection.url_path__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.sql_injection.url_path__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.sql_injection.url_path__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.sql_injection.url_path__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.sql_injection.url_path__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.sql_injection.url_path__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.sql_injection.url_path__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.sql_injection.userdef_parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.sql_injection.userdef_parameter.attack.s1.o0": "In the custom RPC parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.sql_injection.userdef_parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.sql_injection.userdef_parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.sql_injection.userdef_parameter.attack.s2.o2": "{0}",
  "0.true_scan.sql_injection.userdef_parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.sql_injection.userdef_parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.sql_injection.userdef_parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {63}th parameter of the function.",
  "0.true_scan.sql_injection.userdef_parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.sql_injection.userdef_parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.sql_injection.userdef_parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.sql_injection.userdef_parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.sql_injection.userdef_parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.sql_injection.userdef_return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.sql_injection.userdef_return_value.attack.s1.o0": "In the custom RPC parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.sql_injection.userdef_return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.sql_injection.userdef_return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.sql_injection.userdef_return_value.attack.s2.o2": "{0}",
  "0.true_scan.sql_injection.userdef_return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.sql_injection.userdef_return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.sql_injection.userdef_return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.sql_injection.userdef_return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.sql_injection.userdef_return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.sql_injection.userdef_return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.sql_injection.userdef_return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.sql_injection.userdef_return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.sql_injection.xml__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.sql_injection.xml__parameter.attack.s1.o0": "In the XML parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.sql_injection.xml__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.sql_injection.xml__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.sql_injection.xml__parameter.attack.s2.o2": "{0}",
  "0.true_scan.sql_injection.xml__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.sql_injection.xml__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.sql_injection.xml__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {64}th parameter of the function.",
  "0.true_scan.sql_injection.xml__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.sql_injection.xml__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.sql_injection.xml__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.sql_injection.xml__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.sql_injection.xml__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.sql_injection.xml__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.sql_injection.xml__return_value.attack.s1.o0": "In the XML parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.sql_injection.xml__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.sql_injection.xml__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.sql_injection.xml__return_value.attack.s2.o2": "{0}",
  "0.true_scan.sql_injection.xml__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.sql_injection.xml__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.sql_injection.xml__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.sql_injection.xml__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.sql_injection.xml__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.sql_injection.xml__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.sql_injection.xml__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.sql_injection.xml__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.xpath_injection.cookie__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.xpath_injection.cookie__parameter.attack.s1.o0": "In the cookies of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.xpath_injection.cookie__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.xpath_injection.cookie__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.xpath_injection.cookie__parameter.attack.s2.o2": "{0}",
  "0.true_scan.xpath_injection.cookie__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.xpath_injection.cookie__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.xpath_injection.cookie__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {65}th parameter of the function.",
  "0.true_scan.xpath_injection.cookie__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.xpath_injection.cookie__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.xpath_injection.cookie__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.xpath_injection.cookie__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.xpath_injection.cookie__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.xpath_injection.cookie__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.xpath_injection.cookie__return_value.attack.s1.o0": "In the cookies of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.xpath_injection.cookie__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.xpath_injection.cookie__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.xpath_injection.cookie__return_value.attack.s2.o2": "{0}",
  "0.true_scan.xpath_injection.cookie__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.xpath_injection.cookie__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.xpath_injection.cookie__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.xpath_injection.cookie__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.xpath_injection.cookie__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.xpath_injection.cookie__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.xpath_injection.cookie__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.xpath_injection.cookie__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.xpath_injection.custom__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.xpath_injection.custom__parameter.attack.s1.o0": "In the custom RPC parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.xpath_injection.custom__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.xpath_injection.custom__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.xpath_injection.custom__parameter.attack.s2.o2": "{0}",
  "0.true_scan.xpath_injection.custom__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.xpath_injection.custom__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.xpath_injection.custom__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {66}th parameter of the function.",
  "0.true_scan.xpath_injection.custom__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.xpath_injection.custom__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.xpath_injection.custom__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.xpath_injection.custom__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.xpath_injection.custom__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.xpath_injection.custom__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.xpath_injection.custom__return_value.attack.s1.o0": "In the custom RPC parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.xpath_injection.custom__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.xpath_injection.custom__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.xpath_injection.custom__return_value.attack.s2.o2": "{0}",
  "0.true_scan.xpath_injection.custom__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.xpath_injection.custom__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.xpath_injection.custom__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.xpath_injection.custom__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.xpath_injection.custom__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.xpath_injection.custom__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.xpath_injection.custom__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.xpath_injection.custom__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.xpath_injection.dwr__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.xpath_injection.dwr__parameter.attack.s1.o0": "In the custom DWR parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.xpath_injection.dwr__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.xpath_injection.dwr__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.xpath_injection.dwr__parameter.attack.s2.o2": "{0}",
  "0.true_scan.xpath_injection.dwr__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.xpath_injection.dwr__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.xpath_injection.dwr__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {67}th parameter of the function.",
  "0.true_scan.xpath_injection.dwr__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.xpath_injection.dwr__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.xpath_injection.dwr__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.xpath_injection.dwr__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.xpath_injection.dwr__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.xpath_injection.dwr__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.xpath_injection.dwr__return_value.attack.s1.o0": "In the custom DWR parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.xpath_injection.dwr__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.xpath_injection.dwr__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.xpath_injection.dwr__return_value.attack.s2.o2": "{0}",
  "0.true_scan.xpath_injection.dwr__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.xpath_injection.dwr__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.xpath_injection.dwr__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.xpath_injection.dwr__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.xpath_injection.dwr__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.xpath_injection.dwr__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.xpath_injection.dwr__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.xpath_injection.dwr__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.xpath_injection.form_data__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.xpath_injection.form_data__parameter.attack.s1.o0": "In the FORM data parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.xpath_injection.form_data__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.xpath_injection.form_data__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.xpath_injection.form_data__parameter.attack.s2.o2": "{0}",
  "0.true_scan.xpath_injection.form_data__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.xpath_injection.form_data__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.xpath_injection.form_data__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {68}th parameter of the function.",
  "0.true_scan.xpath_injection.form_data__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.xpath_injection.form_data__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.xpath_injection.form_data__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.xpath_injection.form_data__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.xpath_injection.form_data__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.xpath_injection.form_data__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.xpath_injection.form_data__return_value.attack.s1.o0": "In the FORM data parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.xpath_injection.form_data__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.xpath_injection.form_data__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.xpath_injection.form_data__return_value.attack.s2.o2": "{0}",
  "0.true_scan.xpath_injection.form_data__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.xpath_injection.form_data__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.xpath_injection.form_data__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.xpath_injection.form_data__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.xpath_injection.form_data__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.xpath_injection.form_data__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.xpath_injection.form_data__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.xpath_injection.form_data__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.xpath_injection.gwt__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.xpath_injection.gwt__parameter.attack.s1.o0": "In the GWT parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.xpath_injection.gwt__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.xpath_injection.gwt__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.xpath_injection.gwt__parameter.attack.s2.o2": "{0}",
  "0.true_scan.xpath_injection.gwt__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.xpath_injection.gwt__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.xpath_injection.gwt__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {69}th parameter of the function.",
  "0.true_scan.xpath_injection.gwt__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.xpath_injection.gwt__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.xpath_injection.gwt__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.xpath_injection.gwt__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.xpath_injection.gwt__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.xpath_injection.gwt__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.xpath_injection.gwt__return_value.attack.s1.o0": "In the GWT parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.xpath_injection.gwt__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.xpath_injection.gwt__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.xpath_injection.gwt__return_value.attack.s2.o2": "{0}",
  "0.true_scan.xpath_injection.gwt__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.xpath_injection.gwt__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.xpath_injection.gwt__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.xpath_injection.gwt__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.xpath_injection.gwt__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.xpath_injection.gwt__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.xpath_injection.gwt__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.xpath_injection.gwt__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.xpath_injection.http_header__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.xpath_injection.http_header__parameter.attack.s1.o0": "In the header of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.xpath_injection.http_header__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.xpath_injection.http_header__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.xpath_injection.http_header__parameter.attack.s2.o2": "{0}",
  "0.true_scan.xpath_injection.http_header__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.xpath_injection.http_header__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.xpath_injection.http_header__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {70}th parameter of the function.",
  "0.true_scan.xpath_injection.http_header__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.xpath_injection.http_header__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.xpath_injection.http_header__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.xpath_injection.http_header__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.xpath_injection.http_header__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.xpath_injection.http_header__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.xpath_injection.http_header__return_value.attack.s1.o0": "In the header of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.xpath_injection.http_header__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.xpath_injection.http_header__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.xpath_injection.http_header__return_value.attack.s2.o2": "{0}",
  "0.true_scan.xpath_injection.http_header__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.xpath_injection.http_header__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.xpath_injection.http_header__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.xpath_injection.http_header__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.xpath_injection.http_header__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.xpath_injection.http_header__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.xpath_injection.http_header__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.xpath_injection.http_header__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.xpath_injection.json__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.xpath_injection.json__parameter.attack.s1.o0": "In the custom JSON parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.xpath_injection.json__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.xpath_injection.json__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.xpath_injection.json__parameter.attack.s2.o2": "{0}",
  "0.true_scan.xpath_injection.json__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.xpath_injection.json__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.xpath_injection.json__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {71}th parameter of the function.",
  "0.true_scan.xpath_injection.json__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.xpath_injection.json__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.xpath_injection.json__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.xpath_injection.json__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.xpath_injection.json__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.xpath_injection.json__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.xpath_injection.json__return_value.attack.s1.o0": "In the custom JSON parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.xpath_injection.json__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.xpath_injection.json__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.xpath_injection.json__return_value.attack.s2.o2": "{0}",
  "0.true_scan.xpath_injection.json__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.xpath_injection.json__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.xpath_injection.json__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.xpath_injection.json__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.xpath_injection.json__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.xpath_injection.json__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.xpath_injection.json__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.xpath_injection.json__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.xpath_injection.multi_part__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.xpath_injection.multi_part__parameter.attack.s1.o0": "In the Multipart-Data of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.xpath_injection.multi_part__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.xpath_injection.multi_part__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.xpath_injection.multi_part__parameter.attack.s2.o2": "{0}",
  "0.true_scan.xpath_injection.multi_part__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.xpath_injection.multi_part__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.xpath_injection.multi_part__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {72}th parameter of the function.",
  "0.true_scan.xpath_injection.multi_part__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.xpath_injection.multi_part__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.xpath_injection.multi_part__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.xpath_injection.multi_part__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.xpath_injection.multi_part__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.xpath_injection.multi_part__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.xpath_injection.multi_part__return_value.attack.s1.o0": "In the Multipart-Data of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.xpath_injection.multi_part__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.xpath_injection.multi_part__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.xpath_injection.multi_part__return_value.attack.s2.o2": "{0}",
  "0.true_scan.xpath_injection.multi_part__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.xpath_injection.multi_part__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.xpath_injection.multi_part__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.xpath_injection.multi_part__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.xpath_injection.multi_part__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.xpath_injection.multi_part__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.xpath_injection.multi_part__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.xpath_injection.multi_part__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.xpath_injection.odata__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.xpath_injection.odata__parameter.attack.s1.o0": "In the FORM ODATA parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.xpath_injection.odata__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.xpath_injection.odata__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.xpath_injection.odata__parameter.attack.s2.o2": "{0}",
  "0.true_scan.xpath_injection.odata__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.xpath_injection.odata__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.xpath_injection.odata__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {73}th parameter of the function.",
  "0.true_scan.xpath_injection.odata__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.xpath_injection.odata__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.xpath_injection.odata__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.xpath_injection.odata__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.xpath_injection.odata__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.xpath_injection.odata__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.xpath_injection.odata__return_value.attack.s1.o0": "In the FORM ODATA parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.xpath_injection.odata__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.xpath_injection.odata__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.xpath_injection.odata__return_value.attack.s2.o2": "{0}",
  "0.true_scan.xpath_injection.odata__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.xpath_injection.odata__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.xpath_injection.odata__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.xpath_injection.odata__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.xpath_injection.odata__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.xpath_injection.odata__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.xpath_injection.odata__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.xpath_injection.odata__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.xpath_injection.query_string__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.xpath_injection.query_string__parameter.attack.s1.o0": "In the quary string parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.xpath_injection.query_string__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.xpath_injection.query_string__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.xpath_injection.query_string__parameter.attack.s2.o2": "{0}",
  "0.true_scan.xpath_injection.query_string__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.xpath_injection.query_string__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.xpath_injection.query_string__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {74}th parameter of the function.",
  "0.true_scan.xpath_injection.query_string__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.xpath_injection.query_string__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.xpath_injection.query_string__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.xpath_injection.query_string__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.xpath_injection.query_string__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.xpath_injection.query_string__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.xpath_injection.query_string__return_value.attack.s1.o0": "In the quary string parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.xpath_injection.query_string__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.xpath_injection.query_string__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.xpath_injection.query_string__return_value.attack.s2.o2": "{0}",
  "0.true_scan.xpath_injection.query_string__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.xpath_injection.query_string__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.xpath_injection.query_string__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.xpath_injection.query_string__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.xpath_injection.query_string__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.xpath_injection.query_string__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.xpath_injection.query_string__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.xpath_injection.query_string__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.xpath_injection.url_path__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.xpath_injection.url_path__parameter.attack.s1.o0": "The {0} path has been set for URLs of the HTTP request. {1}",
  "0.true_scan.xpath_injection.url_path__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.xpath_injection.url_path__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.xpath_injection.url_path__parameter.attack.s2.o2": "{0}",
  "0.true_scan.xpath_injection.url_path__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.xpath_injection.url_path__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.xpath_injection.url_path__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {75}th parameter of the function.",
  "0.true_scan.xpath_injection.url_path__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.xpath_injection.url_path__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.xpath_injection.url_path__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.xpath_injection.url_path__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.xpath_injection.url_path__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.xpath_injection.url_path__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.xpath_injection.url_path__return_value.attack.s1.o0": "The {0} path has been set for URLs of the HTTP request. {1}",
  "0.true_scan.xpath_injection.url_path__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.xpath_injection.url_path__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.xpath_injection.url_path__return_value.attack.s2.o2": "{0}",
  "0.true_scan.xpath_injection.url_path__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.xpath_injection.url_path__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.xpath_injection.url_path__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.xpath_injection.url_path__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.xpath_injection.url_path__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.xpath_injection.url_path__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.xpath_injection.url_path__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.xpath_injection.url_path__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.xpath_injection.userdef_parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.xpath_injection.userdef_parameter.attack.s1.o0": "In the custom RPC parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.xpath_injection.userdef_parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.xpath_injection.userdef_parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.xpath_injection.userdef_parameter.attack.s2.o2": "{0}",
  "0.true_scan.xpath_injection.userdef_parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.xpath_injection.userdef_parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.xpath_injection.userdef_parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {76}th parameter of the function.",
  "0.true_scan.xpath_injection.userdef_parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.xpath_injection.userdef_parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.xpath_injection.userdef_parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.xpath_injection.userdef_parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.xpath_injection.userdef_parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.xpath_injection.userdef_return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.xpath_injection.userdef_return_value.attack.s1.o0": "In the custom RPC parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.xpath_injection.userdef_return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.xpath_injection.userdef_return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.xpath_injection.userdef_return_value.attack.s2.o2": "{0}",
  "0.true_scan.xpath_injection.userdef_return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.xpath_injection.userdef_return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.xpath_injection.userdef_return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.xpath_injection.userdef_return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.xpath_injection.userdef_return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.xpath_injection.userdef_return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.xpath_injection.userdef_return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.xpath_injection.userdef_return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "0.true_scan.xpath_injection.xml__parameter.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.xpath_injection.xml__parameter.attack.s1.o0": "In the XML parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.xpath_injection.xml__parameter.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.xpath_injection.xml__parameter.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.xpath_injection.xml__parameter.attack.s2.o2": "{0}",
  "0.true_scan.xpath_injection.xml__parameter.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.xpath_injection.xml__parameter.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.xpath_injection.xml__parameter.result.s2.o0": "A real vulnerability can be introduced due to a value of the {77}th parameter of the function.",
  "0.true_scan.xpath_injection.xml__parameter.result.s2.o1": "Its parameter is shown as follow: {0}",
  "0.true_scan.xpath_injection.xml__parameter.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.xpath_injection.xml__parameter.result.s3.o0": "As a result of analysis, it is possible to manipulate the value of the {0}th parameter of {1} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.xpath_injection.xml__parameter.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.xpath_injection.xml__parameter.solution.s0.o1": "The value of {1}th parameter from {0} function needs to be checked before the function gets called.",
  "0.true_scan.xpath_injection.xml__return_value.attack.s0.o0": "An HTTP request has been configured for analysis.",
  "0.true_scan.xpath_injection.xml__return_value.attack.s1.o0": "In the XML parameters of the HTTP request, {0} is set to the following: {1}",
  "0.true_scan.xpath_injection.xml__return_value.attack.s2.o0": "The configured HTTP request has been sent to the target server.",
  "0.true_scan.xpath_injection.xml__return_value.attack.s2.o1": "The HTTP request is shown as follow.",
  "0.true_scan.xpath_injection.xml__return_value.attack.s2.o2": "{0}",
  "0.true_scan.xpath_injection.xml__return_value.result.s0.o0": "TrueScan is used to receive the funciton calls from the server.",
  "0.true_scan.xpath_injection.xml__return_value.result.s1.o0": "As a result of analyzing a function call received on the server, the server has called the {0} function for the HTTP request that is sent earlier.",
  "0.true_scan.xpath_injection.xml__return_value.result.s2.o0": "A real vulnerability can be introduced due to a return value of the function.",
  "0.true_scan.xpath_injection.xml__return_value.result.s2.o1": "Its return is shown as follow: {0}",
  "0.true_scan.xpath_injection.xml__return_value.result.s2.o2": "This is an identical value in the setting while configuring the HTTP request.",
  "0.true_scan.xpath_injection.xml__return_value.result.s3.o0": "As a result of analysis, it is possible to manipulate the return of {0} function while configuring an HTTP request, which can lead to a potential vulnerability.",
  "0.true_scan.xpath_injection.xml__return_value.solution.s0.o0": "To ensure that function calls don't introduce vulnerabilities, a return value needs to be validated in a function call.",
  "0.true_scan.xpath_injection.xml__return_value.solution.s0.o1": "The return value of {0} function needs to be checked before the function gets called.",
  "1.event.absolute_path_disclosure.match.attack.s0.o0": "You have accessed to the analysis target page.",
  "1.event.absolute_path_disclosure.match.attack.s0.o1": "with the following process.",
  "1.event.absolute_path_disclosure.match.attack.s1.o0": "{0}",
  "1.event.absolute_path_disclosure.match.attack.s2.o0": "A string of absolute file path has been found in the analysis target page.",
  "1.event.absolute_path_disclosure.match.result.s0.o0": "The following process has been found in the analysis target page.",
  "1.event.absolute_path_disclosure.match.result.s1.o0": "{0}",
  "1.event.absolute_path_disclosure.match.result.s2.o0": "The string corresponds to the absolute file path.",
  "1.event.absolute_path_disclosure.match.solution.s0.o0": "Remove the absolute file path from the HTTP response texts unless it is designed to expose.",
  "1.event.command_injection.conditional.apiReqInfo": "{0}",
  "1.event.command_injection.conditional.apiReqMsg": "In addition, the following API request has been occurred as a result of executing {0} event during attempted attack.",
  "1.event.command_injection.conditional.apireqinfo": "{0}",
  "1.event.command_injection.conditional.apireqmsg": "In addition, the following API request has been occurred as a result of executing {0} event during attempted attack.",
  "1.event.command_injection.custom.attack.s0.o0": "To reach an attack target page, the following process has been performed.",
  "1.event.command_injection.custom.attack.s1.o0": "{0}",
  "1.event.command_injection.custom.attack.s2.o0": "For all {0} elements on an attack target page, the following custom attack strings has been entered:",
  "1.event.command_injection.custom.attack.s3.o0": "{0}",
  "1.event.command_injection.custom.attack.s4.o0": "{0} events has been performed for the following elements:",
  "1.event.command_injection.custom.attack.s5.o0": "{0}",
  "1.event.command_injection.custom.result.s0.o0": "The following string complied with the custom detection rule {0} has been found in the DOM of the event result.",
  "1.event.command_injection.custom.result.s1.o0": "{0}",
  "1.event.command_injection.custom.result.s2.o0": "The OS Command Injection vulnerability has been found on the checked string.",
  "1.event.command_injection.custom.solution.s0.o0": "If execute an operating system command with an external input value, verification of the external input value is required.",
  "1.event.command_injection.custom.solution.s1.o0": "Depending on the operating system, the following verification for external input values can be performed:",
  "1.event.command_injection.custom.solution.s2.o0": "For {0} operating systems, verification of the following characters is required:",
  "1.event.command_injection.custom.solution.s3.o0": "{0}",
  "1.event.command_injection.custom.solution.s4.o0": "For {0} operating systems, verification of the following characters is required:",
  "1.event.command_injection.custom.solution.s5.o0": "{0}",
  "1.event.command_injection.custom.solution.s6.o0": "In addition, permission controls are required to prevent unauthorized users from executing operating system commands.",
  "1.event.command_injection.netstat.attack.s0.o0": "To reach an attack target page, the following process has been performed.",
  "1.event.command_injection.netstat.attack.s1.o0": "{0}",
  "1.event.command_injection.netstat.attack.s2.o0": "The following string has been entered in every {0} element of the attack target page:",
  "1.event.command_injection.netstat.attack.s3.o0": "{0}",
  "1.event.command_injection.netstat.attack.s4.o0": "{0} events has been performed for the following elements:",
  "1.event.command_injection.netstat.attack.s5.o0": "{0}",
  "1.event.command_injection.netstat.result.s0.o0": "The following string has been found in the DOM of the event result.",
  "1.event.command_injection.netstat.result.s1.o0": "{0}",
  "1.event.command_injection.netstat.result.s2.o0": "The string is resulted by executing the {0} command, which indicates that the command has been executed through the server operating system.",
  "1.event.command_injection.netstat.result.s3.o0": "The OS Command Injection vulnerability has been found on the result of the command execution.",
  "1.event.command_injection.netstat.solution.s0.o0": "If execute an operating system command with an external input value, verification of the external input value is required.",
  "1.event.command_injection.netstat.solution.s1.o0": "Depending on the operating system, the following verification for external input values can be performed:",
  "1.event.command_injection.netstat.solution.s2.o0": "For {0} operating systems, verification of the following characters is required:",
  "1.event.command_injection.netstat.solution.s3.o0": "{0}",
  "1.event.command_injection.netstat.solution.s4.o0": "For {0} operating systems, verification of the following characters is required:",
  "1.event.command_injection.netstat.solution.s5.o0": "{0}",
  "1.event.command_injection.netstat.solution.s6.o0": "In addition, permission controls are required to prevent unauthorized users from executing operating system commands.",
  "1.event.csrf.formWithoutToken.attack.s0.o0": "The checker finds that an anti-CSRF token has included to one of the elements.",
  "1.event.csrf.formWithoutToken.result.s0.o0": "The following elements provoke the CSRF:",
  "1.event.csrf.formWithoutToken.result.s1.o0": "{0}",
  "1.event.csrf.formWithoutToken.solution.s0.o0": "To prevent the CSRF, add an anti-CSRF token to the FORM element.",
  "1.event.csrf.formWithoutToken.solution.s0.o1": "The Anti-CSRF token uses \"CSRFToken\", \"anticsrf\", or \"OWASP_CSRFTOKEN\" as a HIDDEN field to the FORM element.",
  "1.event.csrf.formWithoutToken.solution.s0.o2": "Or, you can use the Anti-CSRF token in JavaScript.",
  "1.event.csrf.formWithoutToken.solution.s0.o3": "But, for a page with XSS vulnerability, the CSRF cannot be prevented with the token.",
  "1.event.csrf.formwithouttoken.attack.s0.o0": "The checker finds that an anti-CSRF token has included to one of the elements.",
  "1.event.csrf.formwithouttoken.result.s0.o0": "The following elements provoke the CSRF:",
  "1.event.csrf.formwithouttoken.result.s1.o0": "{0}",
  "1.event.csrf.formwithouttoken.solution.s0.o0": "To prevent the CSRF, add an anti-CSRF token to the FORM element.",
  "1.event.csrf.formwithouttoken.solution.s0.o1": "The Anti-CSRF token uses \"CSRFToken\", \"anticsrf\", or \"OWASP_CSRFTOKEN\" as a HIDDEN field to the FORM element.",
  "1.event.csrf.formwithouttoken.solution.s0.o2": "And the Anti-CSRF token is useful for Javascript.",
  "1.event.csrf.formwithouttoken.solution.s0.o3": "But, for a page with XSS vulnerability, the CSRF cannot be prevented with the token.",
  "1.event.dast.sw.common.6500.closure.attack.s0.o0": "The first attempt to log-in has been executed on the following URL.",
  "1.event.dast.sw.common.6500.closure.attack.s0.o1": "{0}",
  "1.event.dast.sw.common.6500.closure.attack.s1.o0": "Navigated to the following URL after logging-in:",
  "1.event.dast.sw.common.6500.closure.attack.s1.o1": "{0}",
  "1.event.dast.sw.common.6500.closure.attack.s2.o0": "Got a cookie value named {0} from the browser. The value indicates the following session ID.",
  "1.event.dast.sw.common.6500.closure.attack.s2.o1": "{0}",
  "1.event.dast.sw.common.6500.closure.attack.s3.o0": "Restarted the browser after terminating it.",
  "1.event.dast.sw.common.6500.closure.attack.s4.o0": "The second attempt to log-in has been executed on the following URL.",
  "1.event.dast.sw.common.6500.closure.attack.s4.o1": "{0}",
  "1.event.dast.sw.common.6500.closure.attack.s5.o0": "Navigated to the following URL after logging-in:",
  "1.event.dast.sw.common.6500.closure.attack.s5.o1": "{0}",
  "1.event.dast.sw.common.6500.closure.attack.s6.o0": "Got a cookie value named {0} from the browser. The value indicates the following session ID.",
  "1.event.dast.sw.common.6500.closure.attack.s6.o1": "{0}",
  "1.event.dast.sw.common.6500.closure.result.s0.o0": "The session IDs generated by the first and second login attempts are found to be the same.",
  "1.event.dast.sw.common.6500.closure.result.s1.o0": "It confirms that the session ID is a fixed value.",
  "1.event.dast.sw.common.6500.closure.solution.s0.o0": "Session IDs should not be duplicated or reused, and a new session ID should be created for each login.",
  "1.event.dast.sw.common.6500.closure.solution.s1.o0": "Expiration period must be set for each session ID.",
  "1.event.dast.sw.common.6500.logout.attack.s0.o0": "The first attempt to log-in has been executed on the following URL.",
  "1.event.dast.sw.common.6500.logout.attack.s0.o1": "{0}",
  "1.event.dast.sw.common.6500.logout.attack.s1.o0": "Navigated to the following URL after logging-in:",
  "1.event.dast.sw.common.6500.logout.attack.s1.o1": "{0}",
  "1.event.dast.sw.common.6500.logout.attack.s2.o0": "Got a cookie value named {0} from the browser. The value indicates the following session ID.",
  "1.event.dast.sw.common.6500.logout.attack.s2.o1": "{0}",
  "1.event.dast.sw.common.6500.logout.attack.s3.o0": "The log-out has been attempted on a page with the following URL.",
  "1.event.dast.sw.common.6500.logout.attack.s3.o1": "{0}",
  "1.event.dast.sw.common.6500.logout.attack.s4.o0": "Navigated to the following URL after logging-out.",
  "1.event.dast.sw.common.6500.logout.attack.s4.o1": "{0}",
  "1.event.dast.sw.common.6500.logout.attack.s5.o0": "The second attempt to log-in has been executed on the following URL.",
  "1.event.dast.sw.common.6500.logout.attack.s5.o1": "{0}",
  "1.event.dast.sw.common.6500.logout.attack.s6.o0": "Navigated to the following URL after logging-in:",
  "1.event.dast.sw.common.6500.logout.attack.s6.o1": "{0}",
  "1.event.dast.sw.common.6500.logout.attack.s7.o0": "Got a cookie value named {0} from the browser. The value indicates the following session ID.",
  "1.event.dast.sw.common.6500.logout.attack.s7.o1": "{0}",
  "1.event.dast.sw.common.6500.logout.result.s0.o0": "The session IDs generated by the first and second login attempts are found to be the same.",
  "1.event.dast.sw.common.6500.logout.result.s1.o0": "It confirms that the session ID is a fixed value.",
  "1.event.dast.sw.common.6500.logout.solution.s0.o0": "Session IDs should not be duplicated or reused, and a new session ID should be created for each login.",
  "1.event.dast.sw.common.6500.logout.solution.s1.o0": "Expiration period must be set for each session ID.",
  "1.event.email_address_disclosure.email.attack.s0.o0": "You have accessed to the analysis target page.",
  "1.event.email_address_disclosure.email.attack.s0.o1": "with the following process.",
  "1.event.email_address_disclosure.email.attack.s1.o0": "{0}",
  "1.event.email_address_disclosure.email.attack.s2.o0": "A string of e-mail address has been found in the analysis target page.",
  "1.event.email_address_disclosure.email.result.s0.o0": "The following process has been found in the analysis target page.",
  "1.event.email_address_disclosure.email.result.s1.o0": "{0}",
  "1.event.email_address_disclosure.email.result.s2.o0": "The string corresponds to the e-mail address.",
  "1.event.email_address_disclosure.email.solution.s0.o0": "Remove the e-mail address from the HTTP response texts unless it is designed to expose.",
  "1.event.external_redirect.conditional.apiReqInfo": "{0}",
  "1.event.external_redirect.conditional.apiReqMsg": "The following API request has been occurred as a result of executing {0} event during attempted attack.",
  "1.event.external_redirect.conditional.apireqinfo": "{0}",
  "1.event.external_redirect.conditional.apireqmsg": "The following API request has occurred as a result of executing {0} event during attempted attack.",
  "1.event.external_redirect.invocation.solution.s0.o0": "In redirection, the target location path must be defined as a constant string, and the value entered by the user should not be used.",
  "1.event.external_redirect.invocation.solution.s0.o1": "If it is necessary to perform a redirection to a location specified to the value entered by the user, the user input value must be verified.",
  "1.event.external_redirect.redirect.attack.s0.o0": "To reach an attack target page, the following process has been performed.",
  "1.event.external_redirect.redirect.attack.s0.o1": "{0}",
  "1.event.external_redirect.redirect.attack.s1.o0": "The following string has been entered in all {0} elements of the attack target page with hash value {1} for the XPath:",
  "1.event.external_redirect.redirect.attack.s1.o1": "{0}",
  "1.event.external_redirect.redirect.attack.s2.o0": "{1} event has been performed in elements with XPath {0}.",
  "1.event.external_redirect.redirect.result.s0.o0": "After executing the event, the following string has been found in the URL of the moved page.",
  "1.event.external_redirect.redirect.result.s0.o1": "{0}",
  "1.event.external_redirect.redirect.result.s1.o0": "As a result of the analysis, the URL path that corresponds to the value entered at the event execution has been moved.",
  "1.event.external_redirect.redirect.result.s1.o1": "Therefore, redirection to the {0} position can occur due to the events performed.",
  "1.event.format_string.conditional.apiReqInfo": "{0}",
  "1.event.format_string.conditional.apiReqMsg": "In addition, the following API request has been occurred as a result of executing {0} event during attempted attack.",
  "1.event.format_string.conditional.apireqinfo": "{0}",
  "1.event.format_string.conditional.apireqmsg": "In addition, the following API request has been occurred as a result of executing {0} event during attempted attack.",
  "1.event.format_string.error.attack.s0.o0": "The Format String Injection vulnerability is caused by using a format string with user inputs in a library or function.",
  "1.event.format_string.error.attack.s1.o0": "The following attempted attack has been executed to check the Format String Injection vulnerability:",
  "1.event.format_string.error.attack.s2.o0": "To check all {0} elements for the attack targets, the following process has been performed.",
  "1.event.format_string.error.attack.s3.o0": "{0}",
  "1.event.format_string.error.attack.s4.o0": "The following has been entered in the attack target:",
  "1.event.format_string.error.attack.s5.o0": "{0}",
  "1.event.format_string.error.attack.s6.o0": "{0} event has been performed on the following elements:",
  "1.event.format_string.error.attack.s7.o0": "{0}",
  "1.event.format_string.error.result.s0.o0": "The attack results are shown as follows.",
  "1.event.format_string.error.result.s1.o0": "As a result of the event, an error message with the following information has been found in the DOM:",
  "1.event.format_string.error.result.s2.o0": "{0}",
  "1.event.format_string.error.result.s3.o0": "The error message indicates that the attack string is not properly handled.",
  "1.event.format_string.error.result.s4.o0": "As a result of the execution, the attempted attack has been succeeded and the Format String Injection vulnerability has been found.",
  "1.event.format_string.error.solution.s0.o0": "The solution is shown as follow.",
  "1.event.format_string.error.solution.s1.o0": "To eliminate the format string injection vulnerability, data validation is required when configuring the format string using external data input from the user.",
  "1.event.format_string.error.solution.s2.o0": "It is necessary to perform appropriate processing when an error occurs due to the input value, such as checking whether the input data contains a token.",
  "1.event.format_string.error.solution.s3.o0": "Or, vulnerabilities in a web server, WAS, etc. can be addressed by applying the latest patches provided by each vendor.",
  "1.event.ldap_injection.conditional.apiReqInfo": "{0}",
  "1.event.ldap_injection.conditional.apiReqMsg": "In addition, the following API request has been occurred as a result of executing {0} event during attempted attack.",
  "1.event.ldap_injection.conditional.apireqinfo": "{0}",
  "1.event.ldap_injection.conditional.apireqmsg": "In addition, the following API request has been occurred as a result of executing {0} event during attempted attack.",
  "1.event.ldap_injection.error.attack.s0.o0": "The LDAP Injection vulnerability is caused by generating LDAP statements with user inputs and manipulating the statements on web-based applications.",
  "1.event.ldap_injection.error.attack.s1.o0": "The following attempted attack has been executed to check the LDAP Injection vulnerability:",
  "1.event.ldap_injection.error.attack.s2.o0": "To check all {0} elements for the attack targets, the following process has been performed.",
  "1.event.ldap_injection.error.attack.s3.o0": "{0}",
  "1.event.ldap_injection.error.attack.s4.o0": "The following has been entered in the attack target:",
  "1.event.ldap_injection.error.attack.s5.o0": "{0}",
  "1.event.ldap_injection.error.attack.s6.o0": "{0} event has been performed on the following elements:",
  "1.event.ldap_injection.error.attack.s7.o0": "{0}",
  "1.event.ldap_injection.error.result.s0.o0": "The attack results are shown as follows.",
  "1.event.ldap_injection.error.result.s1.o0": "As a result of the event, an error message with the following information has been found in the DOM:",
  "1.event.ldap_injection.error.result.s2.o0": "{0}",
  "1.event.ldap_injection.error.result.s3.o0": "The error message indicates that the attack string is not properly handled.",
  "1.event.ldap_injection.error.result.s4.o0": "As a result of the execution, the attempted attack has been succeeded and the LDAP Injection vulnerability has been found to exist.",
  "1.event.ldap_injection.error.solution.s0.o0": "The solution is shown as follow.",
  "1.event.ldap_injection.error.solution.s1.o0": "To eliminate the LDAP injection vulnerability, the following data verification is required for the case of forming an LDAP query using external data input from the user.",
  "1.event.ldap_injection.error.solution.s2.o0": "Characters in user input data need to be replaced with safe characters, for example, '*', '&', '(', etc.",
  "1.event.ldap_injection.error.solution.s2.o1": "Here's an example:",
  "1.event.ldap_injection.error.solution.s3.o0": "{0}",
  "1.event.ldap_injection.error.solution.s4.o0": "For more strict permission control, the more stringent privilege controls must be enforced to prevent attacks from any user.",
  "1.event.local_file_include.conditional.apiReqInfo": "{0}",
  "1.event.local_file_include.conditional.apiReqMsg": "The following API request has been occurred as a result of executing {0} event during attempted attack.",
  "1.event.local_file_include.conditional.apireqinfo": "{0}",
  "1.event.local_file_include.conditional.apireqmsg": "The following API request has occurred as a result of executing {0} event during attempted attack.",
  "1.event.local_file_include.custom.attack.s0.o0": "To reach an attack target page, the following process has been performed.",
  "1.event.local_file_include.custom.attack.s0.o1": "{0}",
  "1.event.local_file_include.custom.attack.s1.o0": "The following string has been entered in all {0} elements of the attack target page:",
  "1.event.local_file_include.custom.attack.s1.o1": "{0}",
  "1.event.local_file_include.custom.attack.s1.o2": "The attack string entered corresponds to a custom attack string.",
  "1.event.local_file_include.custom.attack.s2.o0": "{1} event has been performed in elements with XPath {0}.",
  "1.event.local_file_include.custom.result.s0.o0": "After executing an event, the following string has been found in DOM of the attack target page.",
  "1.event.local_file_include.custom.result.s0.o1": "{0}",
  "1.event.local_file_include.custom.result.s1.o0": "As a result of the analysis, a string complied with the custom detection rule {0} has been found.",
  "1.event.local_file_include.custom.solution.s0.o0": "When a specific file is included in a page, do not use the user input.",
  "1.event.local_file_include.custom.solution.s1.o0": "If you need to include a specific file within the server by using the user input, the user input must be verified.",
  "1.event.local_file_include.custom.solution.s1.o1": "When the user input contains character strings of a path with sensitive information or characters to move to parent paths, such as '../', they must be removed or replaced with other characters.",
  "1.event.local_file_include.jsp.attack.s0.o0": "To reach an attack target page, the following process has been performed.",
  "1.event.local_file_include.jsp.attack.s0.o1": "{0}",
  "1.event.local_file_include.jsp.attack.s1.o0": "The following string has been entered in all {0} elements of the attack target page:",
  "1.event.local_file_include.jsp.attack.s1.o1": "{0}",
  "1.event.local_file_include.jsp.attack.s2.o0": "{1} event has been performed in elements with XPath {0}.",
  "1.event.local_file_include.jsp.result.s0.o0": "After executing an event, the following string has been found in DOM of the attack target page.",
  "1.event.local_file_include.jsp.result.s0.o1": "{0}",
  "1.event.local_file_include.jsp.result.s1.o0": "As a result of analysis, the contents categorized as the value inputted at the event execution has been found from file {1} in folder {0}.",
  "1.event.local_file_include.jsp.result.s1.o1": "Therefore, the file on the server can be included on the current page because of the event.",
  "1.event.local_file_include.jsp.solution.s0.o0": "When a specific file is included in a page, do not use the user input.",
  "1.event.local_file_include.jsp.solution.s1.o0": "If you need to include a specific file within the server by using the user input, the user input must be verified.",
  "1.event.local_file_include.jsp.solution.s1.o1": "When the user input contains character strings of a path with sensitive information or characters to move to parent paths, such as '../', they must be removed or replaced with other characters.",
  "1.event.no_response_to_missing_input.no_change_inner.attack.s0.o0": "You have accessed to the analysis target page with the following process.",
  "1.event.no_response_to_missing_input.no_change_inner.attack.s0.o1": "{0}",
  "1.event.no_response_to_missing_input.no_change_inner.attack.s1.o0": "The analysis target page has been checked for HTML document.",
  "1.event.no_response_to_missing_input.no_change_inner.attack.s2.o0": "{0} element has been searched in an analysis target page.",
  "1.event.no_response_to_missing_input.no_change_inner.attack.s3.o0": "A fillable element has been searched in child elements of searched {0} elements.",
  "1.event.no_response_to_missing_input.no_change_inner.attack.s4.o0": "Searched {0} attribute has been set to an empty string.",
  "1.event.no_response_to_missing_input.no_change_inner.attack.s5.o0": "{1} element has been searched in child elements of searched {0} element.",
  "1.event.no_response_to_missing_input.no_change_inner.attack.s6.o0": "{1} event has occurred for searched {0} element.",
  "1.event.no_response_to_missing_input.no_change_inner.attack.s7.o0": "A server response has been checked after the event.",
  "1.event.no_response_to_missing_input.no_change_inner.result.s0.o0": "The HTML document is the analysis target page.",
  "1.event.no_response_to_missing_input.no_change_inner.result.s1.o0": "{0} element has been found in the analysis target page. The XPath of the element is shown as follow.",
  "1.event.no_response_to_missing_input.no_change_inner.result.s1.o1": "{0}",
  "1.event.no_response_to_missing_input.no_change_inner.result.s2.o0": "{1} fillable element has been found in child elements of the {0} element.",
  "1.event.no_response_to_missing_input.no_change_inner.result.s3.o0": "{1} element has been found in child elements of the {0} element. The XPath of the element is shown as follow.",
  "1.event.no_response_to_missing_input.no_change_inner.result.s3.o1": "{0}",
  "1.event.no_response_to_missing_input.no_change_inner.result.s4.o0": "In results of {1} event on the {0} element, DOMs between before and after the event are identical, and no message window has been popped up.",
  "1.event.no_response_to_missing_input.no_change_inner.result.s4.o1": "Therefore, its server does not response to a missing input.",
  "1.event.no_response_to_missing_input.no_change_inner.solution.s0.o0": "Modify to change a DOM or pop up a message window when an empty string is entered in the {0} element.",
  "1.event.no_response_to_missing_input.no_change_outer.attack.s0.o0": "You have accessed to the analysis target page with the following process.",
  "1.event.no_response_to_missing_input.no_change_outer.attack.s0.o1": "{0}",
  "1.event.no_response_to_missing_input.no_change_outer.attack.s1.o0": "The analysis target page has been checked for HTML document.",
  "1.event.no_response_to_missing_input.no_change_outer.attack.s2.o0": "{0} element has been searched in an analysis target page.",
  "1.event.no_response_to_missing_input.no_change_outer.attack.s3.o0": "A fillable element has been searched in child elements of searched {0} elements.",
  "1.event.no_response_to_missing_input.no_change_outer.attack.s4.o0": "Searched {0} attribute has been set to an empty string.",
  "1.event.no_response_to_missing_input.no_change_outer.attack.s5.o0": "{1} element has been searched in non-child elements of searched {0} elements.",
  "1.event.no_response_to_missing_input.no_change_outer.attack.s6.o0": "{1} event has occurred for searched {0} element.",
  "1.event.no_response_to_missing_input.no_change_outer.attack.s7.o0": "A server response has been checked after the event.",
  "1.event.no_response_to_missing_input.no_change_outer.result.s0.o0": "The HTML document is the analysis target page.",
  "1.event.no_response_to_missing_input.no_change_outer.result.s1.o0": "{0} element has been found in the analysis target page. The XPath of the element is shown as follow.",
  "1.event.no_response_to_missing_input.no_change_outer.result.s1.o1": "{0}",
  "1.event.no_response_to_missing_input.no_change_outer.result.s2.o0": "The id attribute of {0} element is shown as follow.",
  "1.event.no_response_to_missing_input.no_change_outer.result.s2.o1": "{0}",
  "1.event.no_response_to_missing_input.no_change_outer.result.s3.o0": "{1} fillable element has been found in child elements of the {0} element.",
  "1.event.no_response_to_missing_input.no_change_outer.result.s4.o0": "{0} element has been found in the analysis target page. The XPath of the element is shown as follow.",
  "1.event.no_response_to_missing_input.no_change_outer.result.s4.o1": "{0}",
  "1.event.no_response_to_missing_input.no_change_outer.result.s5.o0": "The form attribute of {0} element is shown as follow.",
  "1.event.no_response_to_missing_input.no_change_outer.result.s5.o1": "{0}",
  "1.event.no_response_to_missing_input.no_change_outer.result.s6.o0": "In results of {1} event on the {0} element, DOMs between before and after the event are identical, and no message window has been popped up. Therefore, its server does not response to a missing input.",
  "1.event.no_response_to_missing_input.no_change_outer.solution.s0.o0": "Modify to change a DOM or pop up a message window when an empty string is entered in the {0} element.",
  "1.event.sensitive_information_in_comments.jdbc.attack.s0.o0": "Information presumed to be JDBC-related has been checked within the comments of the page.",
  "1.event.sensitive_information_in_comments.jdbc.result.s0.o0": "The following information presumed to be related to JDBC has been found in the comments:",
  "1.event.sensitive_information_in_comments.jdbc.result.s0.o1": "{0}",
  "1.event.sensitive_information_in_comments.jdbc.result.s1.o0": "Therefore, the sensitive information can be leaked through statements in comment.",
  "1.event.sensitive_information_in_comments.jdbc.solution.s0.o0": "The solution is shown as follow.",
  "1.event.sensitive_information_in_comments.jdbc.solution.s1.o0": "Comments may contain sensitive information such as JDBC-related information.",
  "1.event.sensitive_information_in_comments.jdbc.solution.s1.o1": "The information can be easily checked by the user through the view source function of the browser.",
  "1.event.sensitive_information_in_comments.jdbc.solution.s2.o0": "To prevent this information disclosure, do not use the following comments.",
  "1.event.sensitive_information_in_comments.jdbc.solution.s3.o0": "{0}",
  "1.event.sensitive_information_in_comments.jdbc.solution.s4.o0": "Instead, use server-side comments that can not be viewed by the client.",
  "1.event.sensitive_information_in_comments.jdbc.solution.s4.o1": "It is shown as follow.",
  "1.event.sensitive_information_in_comments.jdbc.solution.s5.o0": "{0}",
  "1.event.sensitive_information_in_comments.password.attack.s0.o0": "Information presumed to be password has been checked within comments in the page.",
  "1.event.sensitive_information_in_comments.password.result.s0.o0": "The following information presumed to be password has been found in the comment:",
  "1.event.sensitive_information_in_comments.password.result.s0.o1": "{0}",
  "1.event.sensitive_information_in_comments.password.result.s1.o0": "Therefore, the sensitive information can be leaked through statements in comment.",
  "1.event.sensitive_information_in_comments.password.solution.s0.o0": "The solution is shown as follow.",
  "1.event.sensitive_information_in_comments.password.solution.s1.o0": "Comments may contain sensitive information, such as passwords.",
  "1.event.sensitive_information_in_comments.password.solution.s1.o1": "The information can be easily checked by the user through the view source function of the browser.",
  "1.event.sensitive_information_in_comments.password.solution.s2.o0": "To prevent this information disclosure, do not use the following comments.",
  "1.event.sensitive_information_in_comments.password.solution.s3.o0": "{0}",
  "1.event.sensitive_information_in_comments.password.solution.s4.o0": "Instead, use server-side comments that can not be viewed by the client.",
  "1.event.sensitive_information_in_comments.password.solution.s4.o1": "It is shown as follow.",
  "1.event.sensitive_information_in_comments.password.solution.s5.o0": "{0}",
  "1.event.sql_injection.conditional.apiReqInfo": "{0}",
  "1.event.sql_injection.conditional.apiReqMsg": "In addition, the following API request has been occurred as a result of executing {0} event during attempted attack.",
  "1.event.sql_injection.conditional.apireqinfo": "{0}",
  "1.event.sql_injection.conditional.apireqmsg": "In addition, the following API request has been occurred as a result of executing {0} event during attempted attack.",
  "1.event.sql_injection.error.attack.s0.o0": "The SQL Injection vulnerability is caused by manipulating SQL queries and sending malicious information to a web application integrated with database, which allows an attackers to view or manipulate unauthorized information.",
  "1.event.sql_injection.error.attack.s1.o0": "The following attempted attack has been executed to check the SQL Injection vulnerability.",
  "1.event.sql_injection.error.attack.s2.o0": "To check all {0} web elements for the attack targets, the following process has been performed.",
  "1.event.sql_injection.error.attack.s3.o0": "{0}",
  "1.event.sql_injection.error.attack.s4.o0": "The following attack strings have been entered in the attack target:",
  "1.event.sql_injection.error.attack.s5.o0": "{0}",
  "1.event.sql_injection.error.attack.s6.o0": "{0} event has been performed on the following web elements:",
  "1.event.sql_injection.error.attack.s7.o0": "{0}",
  "1.event.sql_injection.error.result.s0.o0": "The attack results are shown as follows.",
  "1.event.sql_injection.error.result.s1.o0": "As a result of the event, an error message with the following information has been found in the DOM:",
  "1.event.sql_injection.error.result.s2.o0": "{0}",
  "1.event.sql_injection.error.result.s3.o0": "The error message indicates that the attack string is not properly handled.",
  "1.event.sql_injection.error.result.s4.o0": "As a result of the execution, the attempted attack has been succeeded and the SQL Injection vulnerability has been found to exist.",
  "1.event.sql_injection.error.solution.s0.o0": "The solution is shown as follow.",
  "1.event.sql_injection.error.solution.s1.o0": "To eliminate the SQL injection vulnerability, data validation is required in the case of forming an SQL query using external data input from the user.",
  "1.event.sql_injection.error.solution.s2.o0": "There are two main verification methods.",
  "1.event.sql_injection.error.solution.s3.o0": "First, an SQL query can be used as an argument. This depends on languages that implement web applications.",
  "1.event.sql_injection.error.solution.s4.o0": "In addition, characters in user input data, for example, some characters or reserved words such as single quotation mark ('), can be replaced with spaces.",
  "1.event.sql_injection.error.solution.s4.o1": "Here's an example:",
  "1.event.sql_injection.error.solution.s5.o0": "{0}",
  "1.event.xpath_injection.conditional.apiReqInfo": "{0}",
  "1.event.xpath_injection.conditional.apiReqMsg": "In addition, the following API request has been occurred as a result of executing {0} event during attempted attack.",
  "1.event.xpath_injection.conditional.apireqinfo": "{0}",
  "1.event.xpath_injection.conditional.apireqmsg": "In addition, the following API request has been occurred as a result of executing {0} event during attempted attack.",
  "1.event.xpath_injection.error.attack.s0.o0": "The XPath Injection vulnerability is caused by sending malicious information and manipulating XPath query to XML data on a web site, which allows an attacker to view or manipulate unauthorized data of XML structures.",
  "1.event.xpath_injection.error.attack.s1.o0": "The following attempted attack has been executed to check the XPath Injection vulnerability.",
  "1.event.xpath_injection.error.attack.s2.o0": "To check all {0} elements for the attack targets, the following process has been performed.",
  "1.event.xpath_injection.error.attack.s3.o0": "{0}",
  "1.event.xpath_injection.error.attack.s4.o0": "The following has been entered in the attack target:",
  "1.event.xpath_injection.error.attack.s5.o0": "{0}",
  "1.event.xpath_injection.error.attack.s6.o0": "{0} event has been performed on the following elements:",
  "1.event.xpath_injection.error.attack.s7.o0": "{0}",
  "1.event.xpath_injection.error.result.s0.o0": "The attack results are shown as follows.",
  "1.event.xpath_injection.error.result.s1.o0": "As a result of the event, an error message with the following information has been found in the DOM:",
  "1.event.xpath_injection.error.result.s2.o0": "{0}",
  "1.event.xpath_injection.error.result.s3.o0": "The error message indicates that the attack string is not properly handled.",
  "1.event.xpath_injection.error.result.s4.o0": "As a result of the execution, the attempted attack has been succeeded and the XPath injection vulnerability has been found to exist.",
  "1.event.xpath_injection.error.solution.s0.o0": "The solution is shown as follow.",
  "1.event.xpath_injection.error.solution.s1.o0": "To eliminate the XPath injection vulnerability, data validation is required in the case of forming an XPath query using external data input from the user.",
  "1.event.xpath_injection.error.solution.s2.o1": "There are two main verification methods.",
  "1.event.xpath_injection.error.solution.s3.o0": "First, an XPath query can be used as an argument. This depends on languages that implement web applications.",
  "1.event.xpath_injection.error.solution.s4.o0": "In addition, for some characters in the user input data, such as single quotation marks ('), the characters can be replaced with other characters.",
  "1.event.xpath_injection.error.solution.s5.o0": "Here's an example:",
  "1.event.xpath_injection.error.solution.s6.o0": "{0}",
  "1.event.xss.conditional.apiReqInfo": "{0}",
  "1.event.xss.conditional.apiReqMsg": "In addition, the following API request has been occurred as a result of executing {0} event during attempted attack.",
  "1.event.xss.conditional.apireqinfo": "{0}",
  "1.event.xss.conditional.apireqmsg": "In addition, the following API request has been occurred as a result of executing {0} event during attempted attack.",
  "1.event.xss.reflected.attack.s0.o0": "The Non-persistent Cross-site Scripting vulnerability is caused by injecting malicious scripts to a web site.",
  "1.event.xss.reflected.attack.s1.o0": "The following attempted attack has been executed to check the Non-persistent Cross-site Scripting vulnerability:",
  "1.event.xss.reflected.attack.s2.o0": "To check {0} element for the attack target, the following process has been performed.",
  "1.event.xss.reflected.attack.s3.o0": "{0}",
  "1.event.xss.reflected.attack.s4.o0": "As a search result, the following attack target element has been identified.",
  "1.event.xss.reflected.attack.s5.o0": "{0}",
  "1.event.xss.reflected.attack.s6.o0": "The following strings have been entered in the attack target. (The attack string includes the hash value of the XPath of the target elements.)",
  "1.event.xss.reflected.attack.s7.o0": "{0}",
  "1.event.xss.reflected.attack.s8.o0": "{0} event has been performed on the following elements:",
  "1.event.xss.reflected.attack.s9.o0": "{0}",
  "1.event.xss.reflected.result.s0.o0": "The attack results are shown as follows.",
  "1.event.xss.reflected.result.s1.o0": "As a result of the event, an attack script with the following information has been found in the DOM:",
  "1.event.xss.reflected.result.s2.o0": "{0}",
  "1.event.xss.reflected.result.s3.o0": "The attack script created a window named {0}.",
  "1.event.xss.reflected.result.s4.o0": "The newly created window name indicates that the attack script is executed by searched attack target elements.",
  "1.event.xss.reflected.result.s5.o0": "As a result of the execution, the attempted attack has succeeded and the Non-persistent Cross-site Scripting vulnerability has been found to exist.",
  "1.event.xss.reflected.result.s6.o0": "The issue has been found in the following page.",
  "1.event.xss.reflected.result.s7.o0": "{0}",
  "1.event.xss.reflected.solution.s0.o0": "The solution is shown as follow.",
  "1.event.xss.reflected.solution.s1.o0": "To eliminate the non-persistent cross-site scripting vulnerability, you must validate and filter the external data that is input from the user.",
  "1.event.xss.reflected.solution.s2.o0": "By default, an external input that entered by a user cannot be used in a tag name or a tag property name, between <script> tags, between <style> tags, between HTML comments, or in an unacceptable location.",
  "1.event.xss.reflected.solution.s3.o0": "Alternatively, an external data input from users must be encoded before using as follow.",
  "1.event.xss.reflected.solution.s4.o0": "Encoding when using external data input from HTML element user",
  "1.event.xss.reflected.solution.s4.o1": "{0}",
  "1.event.xss.reflected.solution.s5.o0": "Encoding is also required when using external data that is input from a user, such as HTML property values, URL parameters, JavaScript, and CSS values.",
  "1.event.xss.reflected.solution.s6.o0": "Java :",
  "1.event.xss.reflected.solution.s6.o1": "{0}",
  "1.event.xss.reflected.solution.s7.o0": "JSP :",
  "1.event.xss.reflected.solution.s7.o1": "{0}",
  "1.event.xss.reflected.solution.s8.o0": "PHP :",
  "1.event.xss.reflected.solution.s8.o1": "{0}",
  "1.event.xss.stored.attack.s0.o0": "The persistent cross-site scripting vulnerability is caused by injecting malicious scripts to web sites, and then, storing the scripts into a database.",
  "1.event.xss.stored.attack.s1.o0": "To check the persistent cross-site scripting vulnerability, your browser will be attempted the following attack.",
  "1.event.xss.stored.attack.s2.o0": "In order to search for {0} element to attack, the following process will be performed.",
  "1.event.xss.stored.attack.s3.o0": "{0}",
  "1.event.xss.stored.attack.s4.o0": "As search result, the following attack target element has been identified.",
  "1.event.xss.stored.attack.s5.o0": "{0}",
  "1.event.xss.stored.attack.s6.o0": "The following strings have been entered in the attack target. (The attack string includes the hash value of the XPath of the target elements.)",
  "1.event.xss.stored.attack.s7.o0": "{0}",
  "1.event.xss.stored.attack.s8.o0": "{0} event has been performed on the following elements:",
  "1.event.xss.stored.attack.s9.o0": "{0}",
  "1.event.xss.stored.result.s0.o0": "The attack results are shown as follows.",
  "1.event.xss.stored.result.s1.o0": "To check the persistent cross-site scripting vulnerability, your browser will be attempted the following process.",
  "1.event.xss.stored.result.s2.o0": "{0}",
  "1.event.xss.stored.result.s3.o0": "As a result of browsing, an attack script with the following information has been found in the DOM:",
  "1.event.xss.stored.result.s4.o0": "{0}",
  "1.event.xss.stored.result.s5.o0": "The attack script created a window named {0}.",
  "1.event.xss.stored.result.s6.o0": "The newly created window name indicates that the attack script is executed by searched attack target elements.",
  "1.event.xss.stored.result.s7.o0": "As a result of the execution, the attempted attack has succeeded and the Non-persistent Cross-site Scripting vulnerability has been found to exist.",
  "1.event.xss.stored.result.s8.o0": "The issue has been found in the following page.",
  "1.event.xss.stored.result.s9.o0": "{0}",
  "1.event.xss.stored.solution.s0.o0": "The solution is shown as follow.",
  "1.event.xss.stored.solution.s1.o0": "To eliminate the non-persistent cross-site scripting vulnerability, you must validate and filter the external data that is input from the user.",
  "1.event.xss.stored.solution.s2.o0": "By default, an external input that entered by a user cannot be used in a tag name or a tag property name, between <script> tags, between <style> tags, between HTML comments, or in an unacceptable location.",
  "1.event.xss.stored.solution.s3.o0": "Alternatively, an external data input from users must be encoded before using as follow.",
  "1.event.xss.stored.solution.s4.o0": "Encoding when using external data input from HTML element user",
  "1.event.xss.stored.solution.s4.o1": "{0}",
  "1.event.xss.stored.solution.s5.o0": "Encoding is also required when using external data that is input from a user, such as HTML property values, URL parameters, JavaScript, and CSS values.",
  "1.event.xss.stored.solution.s6.o0": "Java :",
  "1.event.xss.stored.solution.s6.o1": "{0}",
  "1.event.xss.stored.solution.s7.o0": "JSP :",
  "1.event.xss.stored.solution.s7.o1": "{0}",
  "1.event.xss.stored.solution.s8.o0": "PHP :",
  "1.event.xss.stored.solution.s8.o1": "{0}",
  "1.http.absolute_path_disclosure.match.attack.s0.o0": "The HTTP request has been passed.",
  "1.http.absolute_path_disclosure.match.attack.s0.o1": "The HTTP request is shown as follow.",
  "1.http.absolute_path_disclosure.match.attack.s1.o0": "{0}",
  "1.http.absolute_path_disclosure.match.attack.s1.o1": "{0}",
  "1.http.absolute_path_disclosure.match.attack.s2.o0": "An HTTP response has been received.",
  "1.http.absolute_path_disclosure.match.attack.s3.o0": "The status code of the HTTP response has been checked to be an error.",
  "1.http.absolute_path_disclosure.match.attack.s4.o0": "A string of absolute file path has been found in the HTTP response texts.",
  "1.http.absolute_path_disclosure.match.result.s0.o0": "The status code for the HTTP response is shown as follow.",
  "1.http.absolute_path_disclosure.match.result.s1.o0": "{0}",
  "1.http.absolute_path_disclosure.match.result.s2.o0": "The following string has been found in the HTTP response body:",
  "1.http.absolute_path_disclosure.match.result.s3.o0": "{0}",
  "1.http.absolute_path_disclosure.match.result.s3.o1": "The string corresponds to the absolute file path.",
  "1.http.absolute_path_disclosure.match.solution.s0.o0": "Remove the absolute file path from the HTTP response texts unless it is designed to expose.",
  "1.http.application_error.error.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "1.http.application_error.error.attack.s0.o1": "{0}",
  "1.http.application_error.error.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "1.http.application_error.error.result.s0.o1": "{0}",
  "1.http.application_error.error.result.s1.o0": "The status code for the HTTP response is shown as follow.",
  "1.http.application_error.error.result.s1.o1": "{0}",
  "1.http.application_error.error.result.s2.o0": "As a result of analysis, it is confirmed that an application error occurred on the corresponding page.",
  "1.http.application_error.error.result.s2.o1": "This means that an application error occurs due to the HTTP request sent to the server.",
  "1.http.application_error.error.solution.s0.o0": "It is recommended to correct the application error that occurs on the page.",
  "1.http.blind_sql_injection.compare_boolean_and_first_false.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "1.http.blind_sql_injection.compare_boolean_and_first_false.attack.s0.o1": "{0}",
  "1.http.blind_sql_injection.compare_boolean_and_first_false.attack.s1.o0": "The first HTTP request for HTTP response comparison has been configured as follow:",
  "1.http.blind_sql_injection.compare_boolean_and_first_false.attack.s1.o1": "{0}",
  "1.http.blind_sql_injection.compare_boolean_and_first_false.attack.s2.o0": "The following HTTP request has been sent to the server.",
  "1.http.blind_sql_injection.compare_boolean_and_first_false.attack.s2.o1": "{0}",
  "1.http.blind_sql_injection.compare_boolean_and_first_false.attack.s3.o0": "The second HTTP request for HTTP response comparison has been configured as follow:",
  "1.http.blind_sql_injection.compare_boolean_and_first_false.attack.s3.o1": "{0}",
  "1.http.blind_sql_injection.compare_boolean_and_first_false.attack.s4.o0": "The following HTTP request has been sent to the server.",
  "1.http.blind_sql_injection.compare_boolean_and_first_false.attack.s4.o1": "{0}",
  "1.http.blind_sql_injection.compare_boolean_and_first_false.result.s0.o0": "The HTTP response text for the original HTTP request sent to the server is shown as follow.",
  "1.http.blind_sql_injection.compare_boolean_and_first_false.result.s0.o1": "{0}",
  "1.http.blind_sql_injection.compare_boolean_and_first_false.result.s1.o0": "The following HTTP response text is sent for the first HTTP request to compare HTTP responses.",
  "1.http.blind_sql_injection.compare_boolean_and_first_false.result.s1.o1": "{0}",
  "1.http.blind_sql_injection.compare_boolean_and_first_false.result.s1.o2": "The HTTP response is the same as the HTTP response text for the original HTTP request.",
  "1.http.blind_sql_injection.compare_boolean_and_first_false.result.s2.o0": "The following HTTP response text is sent for the second HTTP request to compare HTTP responses:",
  "1.http.blind_sql_injection.compare_boolean_and_first_false.result.s2.o1": "{0}",
  "1.http.blind_sql_injection.compare_boolean_and_first_false.result.s2.o2": "The HTTP response is not the same as the HTTP response text for the original HTTP request.",
  "1.http.blind_sql_injection.compare_boolean_and_first_false.result.s3.o0": "As a result of comparison, a difference between the HTTP response texts has been identified based on the logical expressions included in the HTTP request parameters.",
  "1.http.blind_sql_injection.compare_boolean_and_first_false.result.s3.o1": "This indicates that activation and method to process SQL statements or logical expressions can be estimated based on the difference between the HTTP response texts generated by the HTTP request sent to the server.",
  "1.http.blind_sql_injection.compare_boolean_and_first_false.solution.s0.o0": "If using a SQL statement, use it after parameterizing the SQL statement.",
  "1.http.blind_sql_injection.compare_boolean_and_first_false.solution.s0.o1": "If using a parameterized SQL statement, dangerous phrases, keywords, characters, and others that can be used for injection attacks can be filtered before running SQL.",
  "1.http.blind_sql_injection.compare_boolean_and_first_true.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "1.http.blind_sql_injection.compare_boolean_and_first_true.attack.s0.o1": "{0}",
  "1.http.blind_sql_injection.compare_boolean_and_first_true.attack.s1.o0": "The first HTTP request for HTTP response comparison has been configured as follow:",
  "1.http.blind_sql_injection.compare_boolean_and_first_true.attack.s1.o1": "{0}",
  "1.http.blind_sql_injection.compare_boolean_and_first_true.attack.s2.o0": "The following HTTP request has been sent to the server.",
  "1.http.blind_sql_injection.compare_boolean_and_first_true.attack.s2.o1": "{0}",
  "1.http.blind_sql_injection.compare_boolean_and_first_true.attack.s3.o0": "The second HTTP request for HTTP response comparison has been configured as follow:",
  "1.http.blind_sql_injection.compare_boolean_and_first_true.attack.s3.o1": "{0}",
  "1.http.blind_sql_injection.compare_boolean_and_first_true.attack.s4.o0": "The following HTTP request has been sent to the server.",
  "1.http.blind_sql_injection.compare_boolean_and_first_true.attack.s4.o1": "{0}",
  "1.http.blind_sql_injection.compare_boolean_and_first_true.result.s0.o0": "The HTTP response text for the original HTTP request sent to the server is shown as follow.",
  "1.http.blind_sql_injection.compare_boolean_and_first_true.result.s0.o1": "{0}",
  "1.http.blind_sql_injection.compare_boolean_and_first_true.result.s1.o0": "The following HTTP response text is sent for the first HTTP request to compare HTTP responses.",
  "1.http.blind_sql_injection.compare_boolean_and_first_true.result.s1.o1": "{0}",
  "1.http.blind_sql_injection.compare_boolean_and_first_true.result.s1.o2": "The HTTP response is the same as the HTTP response text for the original HTTP request.",
  "1.http.blind_sql_injection.compare_boolean_and_first_true.result.s2.o0": "The following HTTP response text is sent for the second HTTP request to compare HTTP responses:",
  "1.http.blind_sql_injection.compare_boolean_and_first_true.result.s2.o1": "{0}",
  "1.http.blind_sql_injection.compare_boolean_and_first_true.result.s2.o2": "The HTTP response is not the same as the HTTP response text for the original HTTP request.",
  "1.http.blind_sql_injection.compare_boolean_and_first_true.result.s3.o0": "As a result of comparison, a difference between the HTTP response texts has been identified based on the logical expressions included in the HTTP request parameters.",
  "1.http.blind_sql_injection.compare_boolean_and_first_true.result.s3.o1": "This indicates that activation and method to process SQL statements or logical expressions can be estimated based on the difference between the HTTP response texts generated by the HTTP request sent to the server.",
  "1.http.blind_sql_injection.compare_boolean_and_first_true.solution.s0.o0": "If using a SQL statement, use it after parameterizing the SQL statement.",
  "1.http.blind_sql_injection.compare_boolean_and_first_true.solution.s0.o1": "If using a parameterized SQL statement, dangerous phrases, keywords, characters, and others that can be used for injection attacks can be filtered before running SQL.",
  "1.http.blind_sql_injection.compare_boolean_or_first_false.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "1.http.blind_sql_injection.compare_boolean_or_first_false.attack.s0.o1": "{0}",
  "1.http.blind_sql_injection.compare_boolean_or_first_false.attack.s1.o0": "The first HTTP request for HTTP response comparison has been configured as follow:",
  "1.http.blind_sql_injection.compare_boolean_or_first_false.attack.s1.o1": "{0}",
  "1.http.blind_sql_injection.compare_boolean_or_first_false.attack.s2.o0": "The following HTTP request has been sent to the server.",
  "1.http.blind_sql_injection.compare_boolean_or_first_false.attack.s2.o1": "{0}",
  "1.http.blind_sql_injection.compare_boolean_or_first_false.attack.s3.o0": "The second HTTP request for HTTP response comparison has been configured as follow:",
  "1.http.blind_sql_injection.compare_boolean_or_first_false.attack.s3.o1": "{0}",
  "1.http.blind_sql_injection.compare_boolean_or_first_false.attack.s4.o0": "The following HTTP request has been sent to the server.",
  "1.http.blind_sql_injection.compare_boolean_or_first_false.attack.s4.o1": "{0}",
  "1.http.blind_sql_injection.compare_boolean_or_first_false.result.s0.o0": "The HTTP response text for the original HTTP request sent to the server is shown as follow.",
  "1.http.blind_sql_injection.compare_boolean_or_first_false.result.s0.o1": "{0}",
  "1.http.blind_sql_injection.compare_boolean_or_first_false.result.s1.o0": "The following HTTP response text is sent for the first HTTP request to compare HTTP responses.",
  "1.http.blind_sql_injection.compare_boolean_or_first_false.result.s1.o1": "{0}",
  "1.http.blind_sql_injection.compare_boolean_or_first_false.result.s1.o2": "The HTTP response text length has increased by {0}% compared to the HTTP response text length for the original HTTP request.",
  "1.http.blind_sql_injection.compare_boolean_or_first_false.result.s2.o0": "The following HTTP response text is sent for the second HTTP request to compare HTTP responses:",
  "1.http.blind_sql_injection.compare_boolean_or_first_false.result.s2.o1": "{0}",
  "1.http.blind_sql_injection.compare_boolean_or_first_false.result.s2.o2": "The HTTP response is the same as the HTTP response text for the original HTTP request.",
  "1.http.blind_sql_injection.compare_boolean_or_first_false.result.s3.o0": "As a result of comparison, a difference between the HTTP response texts has been identified based on the logical expressions included in the HTTP request parameters.",
  "1.http.blind_sql_injection.compare_boolean_or_first_false.result.s3.o1": "Therefore, it is possible to estimate whether or not logical expressions in the SQL statements and SQL statements in the server are handled and processed based on the difference between the HTTP response texts generated by HTTP requests sent to the server.",
  "1.http.blind_sql_injection.compare_boolean_or_first_false.solution.s0.o0": "If using a SQL statement, use it after parameterizing the SQL statement.",
  "1.http.blind_sql_injection.compare_boolean_or_first_false.solution.s0.o1": "If using a parameterized SQL statement, dangerous phrases, keywords, characters, and others that can be used for injection attacks can be filtered before running SQL.",
  "1.http.blind_sql_injection.compare_different.attack.s0.o0": "The source HTTP request has been sent to the server as follow.",
  "1.http.blind_sql_injection.compare_different.attack.s0.o1": "{0}",
  "1.http.blind_sql_injection.compare_different.attack.s1.o0": "The source HTTP request has been modified as follow:",
  "1.http.blind_sql_injection.compare_different.attack.s1.o1": "{0}",
  "1.http.blind_sql_injection.compare_different.attack.s2.o0": "The first modified HTTP request has been sent to the server as follow.",
  "1.http.blind_sql_injection.compare_different.attack.s2.o1": "{0}",
  "1.http.blind_sql_injection.compare_different.attack.s3.o0": "The source HTTP request has been modified as follow:",
  "1.http.blind_sql_injection.compare_different.attack.s3.o1": "{0}",
  "1.http.blind_sql_injection.compare_different.attack.s4.o0": "The second modified HTTP request has been sent to the server as follow.",
  "1.http.blind_sql_injection.compare_different.attack.s4.o1": "{0}",
  "1.http.blind_sql_injection.compare_different.result.s0.o0": "An HTTP response text of the first modified HTTP request is identical with an HTTP response text of the source HTTP request.",
  "1.http.blind_sql_injection.compare_different.result.s1.o0": "An HTTP response text of the second modified HTTP request is different from an HTTP response text of the source HTTP request.",
  "1.http.blind_sql_injection.compare_different.result.s2.o0": "As a result of comparison, a difference between the HTTP response texts has been identified based on logic expressions included in the HTTP request parameters.",
  "1.http.blind_sql_injection.compare_different.result.s2.o1": "This indicates that activation and method to process SQL statements or logical expressions can be estimated based on the difference between the HTTP response texts generated by the HTTP request sent to the server.",
  "1.http.blind_sql_injection.compare_different.solution.s0.o0": "If using a SQL statement, use it after parameterizing the SQL statement.",
  "1.http.blind_sql_injection.compare_different.solution.s0.o1": "If using a parameterized SQL statement, dangerous phrases, keywords, characters, and others that can be used for injection attacks can be filtered before running SQL.",
  "1.http.blind_sql_injection.compare_expression.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "1.http.blind_sql_injection.compare_expression.attack.s0.o1": "{0}",
  "1.http.blind_sql_injection.compare_expression.attack.s1.o0": "The first HTTP request for HTTP response comparison has been configured as follow:",
  "1.http.blind_sql_injection.compare_expression.attack.s1.o1": "{0}",
  "1.http.blind_sql_injection.compare_expression.attack.s2.o0": "The following HTTP request has been sent to the server.",
  "1.http.blind_sql_injection.compare_expression.attack.s2.o1": "{0}",
  "1.http.blind_sql_injection.compare_expression.attack.s3.o0": "The second HTTP request for HTTP response comparison has been configured as follow:",
  "1.http.blind_sql_injection.compare_expression.attack.s3.o1": "{0}",
  "1.http.blind_sql_injection.compare_expression.attack.s4.o0": "The following HTTP request has been sent to the server.",
  "1.http.blind_sql_injection.compare_expression.attack.s4.o1": "{0}",
  "1.http.blind_sql_injection.compare_expression.result.s0.o0": "The HTTP response text for the original HTTP request sent to the server is shown as follow.",
  "1.http.blind_sql_injection.compare_expression.result.s0.o1": "{0}",
  "1.http.blind_sql_injection.compare_expression.result.s1.o0": "The following HTTP response text is sent for the first HTTP request to compare HTTP responses.",
  "1.http.blind_sql_injection.compare_expression.result.s1.o1": "{0}",
  "1.http.blind_sql_injection.compare_expression.result.s1.o2": "The HTTP response is the same as the HTTP response text for the original HTTP request.",
  "1.http.blind_sql_injection.compare_expression.result.s2.o0": "The following HTTP response text is sent for the second HTTP request to compare HTTP responses:",
  "1.http.blind_sql_injection.compare_expression.result.s2.o1": "{0}",
  "1.http.blind_sql_injection.compare_expression.result.s2.o2": "The HTTP response is not the same as the HTTP response text for the original HTTP request.",
  "1.http.blind_sql_injection.compare_expression.result.s3.o0": "As a result of comparison, a difference between the HTTP response texts has been identified based on expressions included in the HTTP request parameters.",
  "1.http.blind_sql_injection.compare_expression.result.s3.o1": "Therefore, it is possible to estimate whether or not logical expressions in the SQL statements and SQL statements in the server are handled and processed based on the difference between the HTTP response texts generated by HTTP requests sent to the server.",
  "1.http.blind_sql_injection.compare_expression.solution.s0.o0": "If using a SQL statement, use it after parameterizing the SQL statement.",
  "1.http.blind_sql_injection.compare_expression.solution.s0.o1": "If using a parameterized SQL statement, dangerous phrases, keywords, characters, and others that can be used for injection attacks can be filtered before running SQL.",
  "1.http.blind_sql_injection.compare_increase.attack.s0.o0": "A modified HTTP request has been sent to the server as follow.",
  "1.http.blind_sql_injection.compare_increase.attack.s0.o1": "{0}",
  "1.http.blind_sql_injection.compare_increase.attack.s1.o0": "The first HTTP request for HTTP response comparison has been configured as follow:",
  "1.http.blind_sql_injection.compare_increase.attack.s1.o1": "{0}",
  "1.http.blind_sql_injection.compare_increase.attack.s2.o0": "A modified HTTP request has been sent to the server as follow.",
  "1.http.blind_sql_injection.compare_increase.attack.s2.o1": "{0}",
  "1.http.blind_sql_injection.compare_increase.attack.s3.o0": "The second HTTP request for HTTP response comparison has been configured as follow:",
  "1.http.blind_sql_injection.compare_increase.attack.s3.o1": "{0}",
  "1.http.blind_sql_injection.compare_increase.attack.s4.o0": "A modified HTTP request has been sent to the server as follow.",
  "1.http.blind_sql_injection.compare_increase.attack.s4.o1": "{0}",
  "1.http.blind_sql_injection.compare_increase.result.s0.o0": "The HTTP response text for the original HTTP request sent to the server is shown as follow.",
  "1.http.blind_sql_injection.compare_increase.result.s0.o1": "{0}",
  "1.http.blind_sql_injection.compare_increase.result.s1.o0": "The following HTTP response text is sent for the first HTTP request to compare HTTP responses.",
  "1.http.blind_sql_injection.compare_increase.result.s1.o1": "{0}",
  "1.http.blind_sql_injection.compare_increase.result.s1.o2": "The HTTP response text length has increased by {0}% compared to the HTTP response text length for the original HTTP request.",
  "1.http.blind_sql_injection.compare_increase.result.s2.o0": "The following HTTP response text is sent for the second HTTP request to compare HTTP responses:",
  "1.http.blind_sql_injection.compare_increase.result.s2.o1": "{0}",
  "1.http.blind_sql_injection.compare_increase.result.s2.o2": "The HTTP response is the same as the HTTP response text for the original HTTP request.",
  "1.http.blind_sql_injection.compare_increase.result.s3.o0": "As a result of comparison, a difference between the HTTP response texts has been identified based on the logical expressions included in the HTTP request parameters.",
  "1.http.blind_sql_injection.compare_increase.result.s3.o1": "Therefore, it is possible to estimate whether or not logical expressions in the SQL statements and SQL statements in the server are handled and processed based on the difference between the HTTP response texts generated by HTTP requests sent to the server.",
  "1.http.blind_sql_injection.compare_increase.solution.s0.o0": "If using a SQL statement, use it after parameterizing the SQL statement.",
  "1.http.blind_sql_injection.compare_increase.solution.s0.o1": "If using a parameterized SQL statement, dangerous phrases, keywords, characters, and others that can be used for injection attacks can be filtered before running SQL.",
  "1.http.blind_sql_injection.compare_order_by.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "1.http.blind_sql_injection.compare_order_by.attack.s0.o1": "{0}",
  "1.http.blind_sql_injection.compare_order_by.attack.s1.o0": "The first HTTP request for HTTP response comparison has been configured as follow:",
  "1.http.blind_sql_injection.compare_order_by.attack.s1.o1": "{0}",
  "1.http.blind_sql_injection.compare_order_by.attack.s2.o0": "The following HTTP request has been sent to the server.",
  "1.http.blind_sql_injection.compare_order_by.attack.s2.o1": "{0}",
  "1.http.blind_sql_injection.compare_order_by.attack.s3.o0": "The second HTTP request for HTTP response comparison has been configured as follow:",
  "1.http.blind_sql_injection.compare_order_by.attack.s3.o1": "{0}",
  "1.http.blind_sql_injection.compare_order_by.attack.s4.o0": "The following HTTP request has been sent to the server.",
  "1.http.blind_sql_injection.compare_order_by.attack.s4.o1": "{0}",
  "1.http.blind_sql_injection.compare_order_by.result.s0.o0": "The HTTP response text for the original HTTP request sent to the server is shown as follow.",
  "1.http.blind_sql_injection.compare_order_by.result.s0.o1": "{0}",
  "1.http.blind_sql_injection.compare_order_by.result.s1.o0": "The following HTTP response text is sent for the first HTTP request to compare HTTP responses.",
  "1.http.blind_sql_injection.compare_order_by.result.s1.o1": "{0}",
  "1.http.blind_sql_injection.compare_order_by.result.s1.o2": "The HTTP response is the same as the HTTP response text for the original HTTP request.",
  "1.http.blind_sql_injection.compare_order_by.result.s2.o0": "The following HTTP response text is sent for the second HTTP request to compare HTTP responses:",
  "1.http.blind_sql_injection.compare_order_by.result.s2.o1": "{0}",
  "1.http.blind_sql_injection.compare_order_by.result.s2.o2": "The HTTP response is not the same as the HTTP response text for the original HTTP request.",
  "1.http.blind_sql_injection.compare_order_by.result.s3.o0": "As a result of comparison, a difference between the HTTP response texts has been identified based on the ORDER BY statement included in the HTTP request parameters.",
  "1.http.blind_sql_injection.compare_order_by.result.s3.o1": "Therefore, it is possible to estimate whether or not an ORDER BY statement in the server's SQL statement and SQL statement is handled and processed based on the difference between the HTTP response texts generated by the HTTP request sent to the server.",
  "1.http.blind_sql_injection.compare_order_by.solution.s0.o0": "If using a SQL statement, use it after parameterizing the SQL statement.",
  "1.http.blind_sql_injection.compare_order_by.solution.s0.o1": "If using a parameterized SQL statement, dangerous phrases, keywords, characters, and others that can be used for injection attacks can be filtered before running SQL.",
  "1.http.blind_sql_injection.conditional.attack_form": "A value of the parameter {0} transmitted through the form has been set as follow:",
  "1.http.blind_sql_injection.conditional.attack_query_string": "A value of the {0} parameter transmitted through the query string has been set as follow.",
  "1.http.blind_sql_injection.error_generic.attack.s0.o0": "An HTTP request to be sent to the server has been configured as follow:",
  "1.http.blind_sql_injection.error_generic.attack.s0.o1": "{0}",
  "1.http.blind_sql_injection.error_generic.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "1.http.blind_sql_injection.error_generic.attack.s1.o1": "{0}",
  "1.http.blind_sql_injection.error_generic.result.s0.o0": "The HTTP response text for an HTTP request sent to the server is shown as follow.",
  "1.http.blind_sql_injection.error_generic.result.s0.o1": "{0}",
  "1.http.blind_sql_injection.error_generic.result.s1.o0": "The following string has been found in the HTTP response body:",
  "1.http.blind_sql_injection.error_generic.result.s1.o1": "{0}",
  "1.http.blind_sql_injection.error_generic.result.s2.o0": "As a result of the analysis, a string inferred to be an error message of DBMS has been found.",
  "1.http.blind_sql_injection.error_generic.result.s2.o1": "Therefore, information about the DB and SQL statement, which is used to attack a target page through an error message generated by an HTTP request to a server, can be collected.",
  "1.http.blind_sql_injection.error_generic.solution.s0.o0": "If an error occurs due to the processing of an SQL statement, an appropriate level of error message must be printed.",
  "1.http.blind_sql_injection.error_generic.solution.s0.o1": "An error message needs to allow end users to be aware of an error condition without inferring operation information within a server.",
  "1.http.blind_sql_injection.error_specific.attack.s0.o0": "An HTTP request to be sent to the server has been configured as follow:",
  "1.http.blind_sql_injection.error_specific.attack.s0.o1": "{0}",
  "1.http.blind_sql_injection.error_specific.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "1.http.blind_sql_injection.error_specific.attack.s1.o1": "{0}",
  "1.http.blind_sql_injection.error_specific.result.s0.o0": "The HTTP response text for an HTTP request sent to the server is shown as follow.",
  "1.http.blind_sql_injection.error_specific.result.s0.o1": "{0}",
  "1.http.blind_sql_injection.error_specific.result.s1.o0": "The following string has been found in the HTTP response body:",
  "1.http.blind_sql_injection.error_specific.result.s1.o1": "{0}",
  "1.http.blind_sql_injection.error_specific.result.s2.o0": "As a result of the analysis, a string inferred to be an error message of {0} has been found.",
  "1.http.blind_sql_injection.error_specific.result.s2.o1": "Therefore, information about the DB and SQL statement, which is used to attack a target page through an error message generated by an HTTP request to a server, can be collected.",
  "1.http.blind_sql_injection.error_specific.solution.s0.o0": "If an error occurs due to the processing of an SQL statement, an appropriate level of error message must be printed.",
  "1.http.blind_sql_injection.error_specific.solution.s0.o1": "An error message needs to allow end users to be aware of an error condition without inferring operation information within a server.",
  "1.http.blind_sql_injection.error_union.attack.s0.o0": "An HTTP request to be sent to the server has been configured as follow:",
  "1.http.blind_sql_injection.error_union.attack.s0.o1": "{0}",
  "1.http.blind_sql_injection.error_union.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "1.http.blind_sql_injection.error_union.attack.s1.o1": "{0}",
  "1.http.blind_sql_injection.error_union.result.s0.o0": "The HTTP response text for an HTTP request sent to the server is shown as follow.",
  "1.http.blind_sql_injection.error_union.result.s0.o1": "{0}",
  "1.http.blind_sql_injection.error_union.result.s1.o0": "The following string has been found in the HTTP response body:",
  "1.http.blind_sql_injection.error_union.result.s1.o1": "{0}",
  "1.http.blind_sql_injection.error_union.result.s2.o0": "As a result of the analysis, a string inferred to be an error message of UNION statement in {0} has been found.",
  "1.http.blind_sql_injection.error_union.result.s2.o1": "Therefore, information about the DB and SQL statement, which is used to attack a target page through an error message generated by an HTTP request to a server, can be collected.",
  "1.http.blind_sql_injection.error_union.solution.s0.o0": "If an error occurs due to the processing of an SQL statement, an appropriate level of error message must be printed.",
  "1.http.blind_sql_injection.error_union.solution.s0.o1": "An error message needs to allow end users to be aware of an error condition without inferring operation information within a server.",
  "1.http.body_parameters_to_query.same.attack.s0.o0": "The Parameter Query Transformation vulnerability is caused by changing a parameter value of an HTTP POST request into a URL query value, which receives an identical HTTP response in return of an HTTP GET request.",
  "1.http.body_parameters_to_query.same.attack.s1.o0": "The existing HTTP POST request is shown as follow:",
  "1.http.body_parameters_to_query.same.attack.s2.o0": "{0}",
  "1.http.body_parameters_to_query.same.attack.s2.o1": "{0}",
  "1.http.body_parameters_to_query.same.attack.s3.o0": "The HTTP POST request above has been converted to a HTTP GET request to check the Parameter Query Transformation vulnerability.",
  "1.http.body_parameters_to_query.same.attack.s4.o0": "{0}",
  "1.http.body_parameters_to_query.same.attack.s4.o1": "{0}",
  "1.http.body_parameters_to_query.same.attack.s5.o0": "A body parameter value of an existing HTTP POST request is converted into {0} URL query value in the HTTP GET request above.",
  "1.http.body_parameters_to_query.same.result.s0.o0": "The following HTTP response header is sent for the existing HTTP POST request.",
  "1.http.body_parameters_to_query.same.result.s1.o0": "{0}",
  "1.http.body_parameters_to_query.same.result.s2.o0": "The following HTTP response header is sent for the converted HTTP GET request.",
  "1.http.body_parameters_to_query.same.result.s3.o0": "{0}",
  "1.http.body_parameters_to_query.same.result.s4.o0": "Above two HTTP response headers have identical counts, types, status code, and contents length.",
  "1.http.body_parameters_to_query.same.result.s4.o1": "It can be easily guessed that an HTTP response of an existing HTTP POST request is identical with an HTTP response of a converted HTTP GET request.",
  "1.http.body_parameters_to_query.same.solution.s0.o0": "To resolve the vulnerability, an HTTP POST request and an HTTP GET request need to be handled separately.",
  "1.http.body_parameters_to_query.same.solution.s1.o0": "Select an identical filter, if you need to handle them together.",
  "1.http.broken_skip_link.broken.attack.s0.o0": "The following HTTP request message has been sent.",
  "1.http.broken_skip_link.broken.attack.s0.o1": "{0}",
  "1.http.broken_skip_link.broken.attack.s0.o2": "{0}",
  "1.http.broken_skip_link.broken.attack.s1.o0": "An HTTP response has been received.",
  "1.http.broken_skip_link.broken.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "1.http.broken_skip_link.broken.attack.s3.o0": "A skip link has been searched in an HTTP response body.",
  "1.http.broken_skip_link.broken.attack.s4.o0": "The element connected with the skip link has been searched.",
  "1.http.broken_skip_link.broken.result.s0.o0": "An HTTP response body is an HTML document.",
  "1.http.broken_skip_link.broken.result.s1.o0": "{0} element, a skip link to an HTTP response body, has been found. The XPath of the element is shown as follow.",
  "1.http.broken_skip_link.broken.result.s1.o1": "{0}",
  "1.http.broken_skip_link.broken.result.s2.o0": "{0} attribute of the element is shown as follow.",
  "1.http.broken_skip_link.broken.result.s2.o1": "{0}",
  "1.http.broken_skip_link.broken.result.s3.o0": "The following element has not been found in {0} or {1} attribute of the HTTP response body.",
  "1.http.broken_skip_link.broken.result.s3.o1": "{0}",
  "1.http.broken_skip_link.broken.result.s4.o0": "Without the element, its element connected to a skip link to the HTTP response body has not been found.",
  "1.http.broken_skip_link.broken.solution.s0.o0": "Set the following for {0} or {1} attribute of the element to be connected to a skip link.",
  "1.http.broken_skip_link.broken.solution.s0.o1": "{0}",
  "1.http.buffer_overflow.input.attack.s0.o0": "The Buffer Overflow vulnerability is caused by entering a value that generates a buffer overflow, which leads to abnormal termination or behavior in web applications.",
  "1.http.buffer_overflow.input.attack.s0.o1": "The Buffer Overflow vulnerability can occur on both the web server and the application server, and is a fatal threat to web applications that use the server.",
  "1.http.buffer_overflow.input.attack.s0.o2": "If web applications are using libraries that are used to create images or send email, they are more likely to be vulnerable to buffer overflow.",
  "1.http.buffer_overflow.input.attack.s0.o3": "Also, if the web application does not check the input value precisely, it is likely that the database will behave erratically when inputting a long-length input value or output a detailed error message with high information exposure.",
  "1.http.buffer_overflow.input.attack.s0.o4": "The following HTTP request is sent to check the Buffer Overflow vulnerability:",
  "1.http.buffer_overflow.input.attack.s1.o0": "{0}",
  "1.http.buffer_overflow.input.attack.s1.o1": "{0}",
  "1.http.buffer_overflow.input.result.s0.o0": "A server error or disconnection has occurred due to an HTTP request with a long input value.",
  "1.http.buffer_overflow.input.result.s0.o1": "The following HTTP response header is sent for the HTTP request sent to check the Buffer Overflow vulnerability.",
  "1.http.buffer_overflow.input.result.s1.o0": "{0}",
  "1.http.buffer_overflow.input.solution.s0.o0": "To solve the Buffer Overflow vulnerability, developers must give full attention and test ongoing source code.",
  "1.http.buffer_overflow.input.solution.s0.o1": "Use overflow-safe libraries and functions, or use a compiler that uses a non-executable stack or prevents buffer overflows.",
  "1.http.cache_control.empty.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "1.http.cache_control.empty.attack.s0.o1": "{0}",
  "1.http.cache_control.empty.attack.s0.o2": "{0}",
  "1.http.cache_control.empty.result.s0.o0": "The following HTTP request has been received from the server.",
  "1.http.cache_control.empty.result.s1.o0": "Among the HTTP response headers, the values of the Cache-Control header and the Pragma header are both empty.",
  "1.http.cache_control.empty.result.s1.o1": "{0}",
  "1.http.cache_control.empty.solution.s0.o0": "Among the HTTP response headers, the values of the Cache-Control header and Pragma header should be set as follows.",
  "1.http.cache_control.empty.solution.s0.o1": "{0}",
  "1.http.cache_control.invalid.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "1.http.cache_control.invalid.attack.s0.o1": "{0}",
  "1.http.cache_control.invalid.attack.s0.o2": "{0}",
  "1.http.cache_control.invalid.result.s0.o0": "The following HTTP request has been received from the server.",
  "1.http.cache_control.invalid.result.s1.o0": "Among the HTTP response headers, the {0} header has the following value.",
  "1.http.cache_control.invalid.result.s1.o1": "{0}",
  "1.http.cache_control.invalid.solution.s0.o0": "You must set the value of the Cache-Control header or Pragma header in the HTTP response header as follows.",
  "1.http.cache_control.invalid.solution.s0.o1": "{0}",
  "1.http.cache_control.invalid_cache_control.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "1.http.cache_control.invalid_cache_control.attack.s0.o1": "{0}",
  "1.http.cache_control.invalid_cache_control.attack.s0.o2": "{0}",
  "1.http.cache_control.invalid_cache_control.result.s0.o0": "The following HTTP request has been received from the server.",
  "1.http.cache_control.invalid_cache_control.result.s1.o0": "Among the HTTP response headers, the Cache-Control header has the following value",
  "1.http.cache_control.invalid_cache_control.result.s1.o1": "{0}",
  "1.http.cache_control.invalid_cache_control.solution.s0.o0": "Among the HTTP response headers, the values of the Cache-Control header and Pragma header should be set as follows.",
  "1.http.cache_control.invalid_cache_control.solution.s0.o1": "{0}",
  "1.http.cache_control.invalid_pragma.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "1.http.cache_control.invalid_pragma.attack.s0.o1": "{0}",
  "1.http.cache_control.invalid_pragma.attack.s0.o2": "{0}",
  "1.http.cache_control.invalid_pragma.result.s0.o0": "The following HTTP request has been received from the server.",
  "1.http.cache_control.invalid_pragma.result.s1.o0": "Among the HTTP response headers, the Pragma header has the following values.",
  "1.http.cache_control.invalid_pragma.result.s1.o1": "{0}",
  "1.http.cache_control.invalid_pragma.solution.s0.o0": "Among the HTTP response headers, the values of the Cache-Control header and Pragma header should be set as follows.",
  "1.http.cache_control.invalid_pragma.solution.s0.o1": "{0}",
  "1.http.cache_control.null.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "1.http.cache_control.null.attack.s0.o1": "{0}",
  "1.http.cache_control.null.attack.s0.o2": "{0}",
  "1.http.cache_control.null.result.s0.o0": "The following HTTP request has been received from the server.",
  "1.http.cache_control.null.result.s1.o0": "Both the Cache-Control header and the Pragma header are missing from the HTTP response headers.",
  "1.http.cache_control.null.result.s1.o1": "{0}",
  "1.http.cache_control.null.solution.s0.o0": "Among the HTTP response headers, the values of the Cache-Control header and Pragma header should be set as follows.",
  "1.http.cache_control.null.solution.s0.o1": "{0}",
  "1.http.code_injection.script.attack.s0.o0": "Code injection is an attack in which an attacker changes the execution of a vulnerable Web application by entering the computer program code as a value.",
  "1.http.code_injection.script.attack.s0.o1": "Code injection causes worm virus propagation, data loss and contamination, and DoS.",
  "1.http.code_injection.script.attack.s0.o2": "Inserting server script code during code injection can install malicious software or execute malicious code.",
  "1.http.code_injection.script.attack.s0.o3": "The following HTTP request with the {1} attack string has been sent to the {0} parameter to insert server script code:",
  "1.http.code_injection.script.attack.s1.o0": "{0}",
  "1.http.code_injection.script.attack.s1.o1": "{0}",
  "1.http.code_injection.script.result.s0.o0": "Server script code injection is an attack that can occur at the application level, which can enable fatal attacks such as SQL injection or directory traversal.",
  "1.http.code_injection.script.result.s0.o1": "The following HTTP response is sent for the HTTP request to insert server script code:",
  "1.http.code_injection.script.result.s1.o0": "{0}",
  "1.http.code_injection.script.result.s2.o0": "The HTTP response above shows {0} attack string caused the {1}.",
  "1.http.code_injection.script.solution.s0.o0": "The best way to prevent server script code injection is to validate all the values of user input.",
  "1.http.code_injection.script.solution.s0.o1": "If need to insert code, users must encode special characters and change them to characters that do not affect the web application.",
  "1.http.command_injection.feedback.attack.s0.o0": "An HTTP request with {1} attack string has been sent to the {0} parameter to check the Operating System Command Execution vulnerability. The HTTP request is shown as follow.",
  "1.http.command_injection.feedback.attack.s0.o1": "{0}",
  "1.http.command_injection.feedback.attack.s0.o2": "{0}",
  "1.http.command_injection.feedback.result.s0.o0": "Operating system command execution is an attack aimed at executing commands on a user's operating system through vulnerable applications. The following HTTP response message is sent for the HTTP request.",
  "1.http.command_injection.feedback.result.s0.o1": "{0}",
  "1.http.command_injection.feedback.result.s0.o2": "{0} pattern system information has been exposed in the response message above.",
  "1.http.command_injection.feedback.solution.s0.o0": "To resolve the vulnerability, the system command suspected string must be examined.",
  "1.http.command_injection.timeout.attack.s0.o0": "An HTTP request with {1} attack string has been sent to the {0} parameter to check the Operating System Command Execution vulnerability. The HTTP request is shown as follow.",
  "1.http.command_injection.timeout.attack.s0.o1": "{0}",
  "1.http.command_injection.timeout.attack.s0.o2": "{0}",
  "1.http.command_injection.timeout.result.s0.o0": "Operating system command execution is an attack aimed at executing commands on a user's operating system through vulnerable applications.",
  "1.http.command_injection.timeout.result.s0.o1": "The response time for HTTP requests has been delayed.",
  "1.http.command_injection.timeout.solution.s0.o0": "To resolve the vulnerability, the system command suspected string must be examined.",
  "1.http.content_security_policy_missing.missing.attack.s0.o0": "The Missing Content-Security-Policy(CSP) header vulnerability is caused by lacking a Content-Security-Policy header in the HTTP response.",
  "1.http.content_security_policy_missing.missing.attack.s1.o0": "To check this, the following HTTP request has been sent.",
  "1.http.content_security_policy_missing.missing.attack.s2.o0": "{0}",
  "1.http.content_security_policy_missing.missing.attack.s2.o1": "{0}",
  "1.http.content_security_policy_missing.missing.result.s0.o0": "The following HTTP response header is sent for the HTTP request.",
  "1.http.content_security_policy_missing.missing.result.s1.o0": "{0}",
  "1.http.content_security_policy_missing.missing.result.s2.o0": "As you can see in the HTTP response above, there is no Content-Security-Policy header or Content-Security-Policy-Report-Only header.",
  "1.http.content_security_policy_missing.missing.result.s2.o1": "Because there is no Content-Security-Policy header, resources in untrusted domains can not be prevented from running or rendered in the browser.",
  "1.http.content_security_policy_missing.missing.solution.s0.o0": "To address the missing Content-Security-Policy Header vulnerability, users must add a Content-Security-Policy header in the web application server.",
  "1.http.content_security_policy_missing.missing.solution.s0.o1": "Do the following to receive all websites contents only within the same domain, but not on subdomains.",
  "1.http.content_security_policy_missing.missing.solution.s1.o0": "{0}",
  "1.http.content_security_policy_missing.missing.solution.s2.o0": "To include a subdomain, do the following.",
  "1.http.content_security_policy_missing.missing.solution.s3.o0": "{0}",
  "1.http.content_security_policy_missing.missing.solution.s4.o0": "In addition, resources from trusted domains can be set to use on certain HTML elements only.",
  "1.http.content_security_policy_missing.missing.solution.s5.o0": "In addition, if users want to be informed that a resource in an untrusted domain has been used without blocking it, do as following.",
  "1.http.content_security_policy_missing.missing.solution.s6.o0": "{0}",
  "1.http.content_type_missing.empty.attack.s0.o0": "The HTTP request has been passed.",
  "1.http.content_type_missing.empty.attack.s0.o1": "The HTTP request is shown as follow.",
  "1.http.content_type_missing.empty.attack.s1.o0": "{0}",
  "1.http.content_type_missing.empty.attack.s1.o1": "{0}",
  "1.http.content_type_missing.empty.attack.s2.o0": "An HTTP response has been received.",
  "1.http.content_type_missing.empty.attack.s3.o0": "Checked the existence of 'Content-Type' header of the HTTP response.",
  "1.http.content_type_missing.empty.attack.s4.o0": "Content-Type' header of the HTTP response has been verified.",
  "1.http.content_type_missing.empty.result.s0.o0": "The following header is the HTTP response.",
  "1.http.content_type_missing.empty.result.s1.o0": "{0}",
  "1.http.content_type_missing.empty.result.s2.o0": "At least one 'Content-Type' header has been found in the HTTP response.",
  "1.http.content_type_missing.empty.result.s3.o0": "An empty string has been found in one of the 'Content-Type' header.",
  "1.http.content_type_missing.empty.result.s3.o1": "Therefore, the header is inadequate for the 'Content-Type' header.",
  "1.http.content_type_missing.empty.solution.s0.o0": "Create a valid 'Content-Type' header to the HTTP response header.",
  "1.http.content_type_missing.no_header.attack.s0.o0": "The HTTP request has been passed.",
  "1.http.content_type_missing.no_header.attack.s0.o1": "The HTTP request is shown as follow.",
  "1.http.content_type_missing.no_header.attack.s1.o0": "{0}",
  "1.http.content_type_missing.no_header.attack.s1.o1": "{0}",
  "1.http.content_type_missing.no_header.attack.s2.o0": "An HTTP response has been received.",
  "1.http.content_type_missing.no_header.attack.s3.o0": "Checked the existence of 'Content-Type' header of the HTTP response.",
  "1.http.content_type_missing.no_header.result.s0.o0": "The following header is the HTTP response.",
  "1.http.content_type_missing.no_header.result.s1.o0": "{0}",
  "1.http.content_type_missing.no_header.result.s2.o0": "No 'Content-Type' header of the HTTP response has been found.",
  "1.http.content_type_missing.no_header.solution.s0.o0": "Create a valid 'Content-Type' header to the HTTP response header.",
  "1.http.content_type_missing.param_only.attack.s0.o0": "The HTTP request has been passed.",
  "1.http.content_type_missing.param_only.attack.s0.o1": "The HTTP request is shown as follow.",
  "1.http.content_type_missing.param_only.attack.s1.o0": "{0}",
  "1.http.content_type_missing.param_only.attack.s1.o1": "{0}",
  "1.http.content_type_missing.param_only.attack.s2.o0": "An HTTP response has been received.",
  "1.http.content_type_missing.param_only.attack.s3.o0": "Checked the existence of 'Content-Type' header of the HTTP response.",
  "1.http.content_type_missing.param_only.attack.s4.o0": "Content-Type' header of the HTTP response has been verified.",
  "1.http.content_type_missing.param_only.result.s0.o0": "The following header is the HTTP response.",
  "1.http.content_type_missing.param_only.result.s1.o0": "{0}",
  "1.http.content_type_missing.param_only.result.s2.o0": "At least one 'Content-Type' header has been found in the HTTP response.",
  "1.http.content_type_missing.param_only.result.s3.o0": "The following value has been found in one of the 'Content-Type' header.",
  "1.http.content_type_missing.param_only.result.s4.o0": "{0}",
  "1.http.content_type_missing.param_only.result.s5.o0": "The header does not include content type information, but parameter information only.",
  "1.http.content_type_missing.param_only.result.s5.o1": "Therefore, the header is inadequate for the 'Content-Type' header.",
  "1.http.content_type_missing.param_only.solution.s0.o0": "Create a valid 'Content-Type' header to the HTTP response header.",
  "1.http.cookie_attribute_test_http_only.exist.attack.s0.o0": "Testing for Cookie Attribute (HttpOnly) checks Set-Cookie header in HTTP response to find out whether HttpOnly attribute is specified or not.",
  "1.http.cookie_attribute_test_http_only.exist.attack.s0.o1": "To check this, the following HTTP request has been sent.",
  "1.http.cookie_attribute_test_http_only.exist.attack.s1.o0": "{0}",
  "1.http.cookie_attribute_test_http_only.exist.attack.s1.o1": "{0}",
  "1.http.cookie_attribute_test_http_only.exist.result.s0.o0": "The response for the HTTP request is shown as follow.",
  "1.http.cookie_attribute_test_http_only.exist.result.s1.o0": "{0}",
  "1.http.cookie_attribute_test_http_only.exist.solution.s0.o0": "You can use the Set-Cookie in the HTTP response to set cookie attributes or JavaScript helps you to set the attributes.",
  "1.http.cookie_attribute_test_http_only.not_exist.attack.s0.o0": "Testing for Cookie Attribute (HttpOnly) checks Set-Cookie header in HTTP response to find out whether HttpOnly attribute is specified or not.",
  "1.http.cookie_attribute_test_http_only.not_exist.attack.s0.o1": "To check this, the following HTTP request has been sent.",
  "1.http.cookie_attribute_test_http_only.not_exist.attack.s1.o0": "{0}",
  "1.http.cookie_attribute_test_http_only.not_exist.attack.s1.o1": "{0}",
  "1.http.cookie_attribute_test_http_only.not_exist.result.s0.o0": "The Set-Cookie does not exist in response of the HTTP request.",
  "1.http.cookie_attribute_test_http_only.not_exist.solution.s0.o0": "You can use the Set-Cookie in the HTTP response to set cookie attributes or JavaScript helps you to set the attributes.",
  "1.http.cookie_attribute_test_same_site.exist.attack.s0.o0": "Testing for Cookie Attribute (SameSite) checks Set-Cookie header in HTTP response to find out whether SameSite attribute is specified or not.",
  "1.http.cookie_attribute_test_same_site.exist.attack.s0.o1": "To check this, the following HTTP request has been sent.",
  "1.http.cookie_attribute_test_same_site.exist.attack.s1.o0": "{0}",
  "1.http.cookie_attribute_test_same_site.exist.attack.s1.o1": "{0}",
  "1.http.cookie_attribute_test_same_site.exist.result.s0.o0": "The response for the HTTP request is shown as follow.",
  "1.http.cookie_attribute_test_same_site.exist.result.s1.o0": "{0}",
  "1.http.cookie_attribute_test_same_site.exist.solution.s0.o0": "It is recommended to set the SameSite to Lax or Strict in order to prevent the CSRF attacks.",
  "1.http.cookie_attribute_test_same_site.exist.solution.s0.o1": "Google Chrome updates its version to 80, enhancing the SameSite defaults to Lax from None.",
  "1.http.cookie_attribute_test_same_site.exist.solution.s0.o2": "If you need to set it to None, make sure to specify the Secure attribute.",
  "1.http.cookie_attribute_test_same_site.not_exist.attack.s0.o0": "Testing for Cookie Attribute (SameSite) checks Set-Cookie header in HTTP response to find out whether SameSite attribute is specified or not.",
  "1.http.cookie_attribute_test_same_site.not_exist.attack.s0.o1": "To check this, the following HTTP request has been sent.",
  "1.http.cookie_attribute_test_same_site.not_exist.attack.s1.o0": "{0}",
  "1.http.cookie_attribute_test_same_site.not_exist.attack.s1.o1": "{0}",
  "1.http.cookie_attribute_test_same_site.not_exist.result.s0.o0": "The Set-Cookie does not exist in response of the HTTP request.",
  "1.http.cookie_attribute_test_same_site.not_exist.solution.s0.o0": "It is recommended to set the SameSite to Lax or Strict in order to prevent the CSRF attacks.",
  "1.http.cookie_attribute_test_same_site.not_exist.solution.s0.o1": "Google Chrome updates its version to 80, enhancing the SameSite defaults to Lax from None.",
  "1.http.cookie_attribute_test_same_site.not_exist.solution.s0.o2": "If you need to set it to None, make sure to specify the Secure attribute.",
  "1.http.cookie_attribute_test_secure.exist.attack.s0.o0": "Testing for Cookie Attribute (Secure) checks Set-Cookie header in HTTP response to find out whether Secure attribute is specified or not.",
  "1.http.cookie_attribute_test_secure.exist.attack.s0.o1": "To check this, the following HTTP request has been sent.",
  "1.http.cookie_attribute_test_secure.exist.attack.s1.o0": "{0}",
  "1.http.cookie_attribute_test_secure.exist.attack.s1.o1": "{0}",
  "1.http.cookie_attribute_test_secure.exist.result.s0.o0": "The response for the HTTP request is shown as follow.",
  "1.http.cookie_attribute_test_secure.exist.result.s1.o0": "{0}",
  "1.http.cookie_attribute_test_secure.exist.solution.s0.o0": "A cookie cannot be set with the Secure in the HTTP protocol: you should change it into HTTPS.",
  "1.http.cookie_attribute_test_secure.exist.solution.s0.o1": "You can use the Set-Cookie in the HTTP response to set cookie attributes or JavaScript helps you to set the attributes.",
  "1.http.cookie_attribute_test_secure.not_exist.attack.s0.o0": "Testing for Cookie Attribute (Secure) checks Set-Cookie header in HTTP response to find out whether Secure attribute is specified or not.",
  "1.http.cookie_attribute_test_secure.not_exist.attack.s0.o1": "To check this, the following HTTP request has been sent.",
  "1.http.cookie_attribute_test_secure.not_exist.attack.s1.o0": "{0}",
  "1.http.cookie_attribute_test_secure.not_exist.attack.s1.o1": "{0}",
  "1.http.cookie_attribute_test_secure.not_exist.result.s0.o0": "The Set-Cookie does not exist in response of the HTTP request.",
  "1.http.cookie_attribute_test_secure.not_exist.solution.s0.o0": "A cookie cannot be set with the Secure in the HTTP protocol: you should change it into HTTPS.",
  "1.http.cookie_attribute_test_secure.not_exist.solution.s0.o1": "You can use the Set-Cookie in the HTTP response to set cookie attributes or JavaScript helps you to set the attributes.",
  "1.http.credit_card_number_disclosure.amex.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "1.http.credit_card_number_disclosure.amex.attack.s0.o1": "{0}",
  "1.http.credit_card_number_disclosure.amex.attack.s0.o2": "{0}",
  "1.http.credit_card_number_disclosure.amex.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "1.http.credit_card_number_disclosure.amex.result.s0.o1": "{0}",
  "1.http.credit_card_number_disclosure.amex.result.s1.o0": "The following string has been found in the body of the HTTP response:",
  "1.http.credit_card_number_disclosure.amex.result.s1.o1": "{0}",
  "1.http.credit_card_number_disclosure.amex.result.s1.o2": "The string corresponds to the American Express credit card number.",
  "1.http.credit_card_number_disclosure.amex.result.s2.o0": "As a result of the analysis, an American Express credit card number has been found in the HTTP response text.",
  "1.http.credit_card_number_disclosure.amex.result.s2.o1": "Therefore, a credit card number can be stolen from HTTP requests sent to the server.",
  "1.http.credit_card_number_disclosure.amex.solution.s0.o0": "The HTTP response text should not include a credit card number.",
  "1.http.credit_card_number_disclosure.amex.solution.s0.o1": "Please check credit card number disclosure for all HTTP response text components, including plain text and comments.",
  "1.http.credit_card_number_disclosure.discover.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "1.http.credit_card_number_disclosure.discover.attack.s0.o1": "{0}",
  "1.http.credit_card_number_disclosure.discover.attack.s0.o2": "{0}",
  "1.http.credit_card_number_disclosure.discover.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "1.http.credit_card_number_disclosure.discover.result.s0.o1": "{0}",
  "1.http.credit_card_number_disclosure.discover.result.s1.o0": "The following string has been found in the body of the HTTP response:",
  "1.http.credit_card_number_disclosure.discover.result.s1.o1": "{0}",
  "1.http.credit_card_number_disclosure.discover.result.s1.o2": "The string corresponds to the Discover credit card number.",
  "1.http.credit_card_number_disclosure.discover.result.s2.o0": "As a result of the analysis, a Discover credit card number has been found in the HTTP response text.",
  "1.http.credit_card_number_disclosure.discover.result.s2.o1": "Therefore, a credit card number can be stolen from HTTP requests sent to the server.",
  "1.http.credit_card_number_disclosure.discover.solution.s0.o0": "The HTTP response text should not include a credit card number.",
  "1.http.credit_card_number_disclosure.discover.solution.s0.o1": "Please check credit card number disclosure for all HTTP response text components, including plain text and comments.",
  "1.http.credit_card_number_disclosure.master.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "1.http.credit_card_number_disclosure.master.attack.s0.o1": "{0}",
  "1.http.credit_card_number_disclosure.master.attack.s0.o2": "{0}",
  "1.http.credit_card_number_disclosure.master.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "1.http.credit_card_number_disclosure.master.result.s0.o1": "{0}",
  "1.http.credit_card_number_disclosure.master.result.s1.o0": "The following string has been found in the body of the HTTP response:",
  "1.http.credit_card_number_disclosure.master.result.s1.o1": "{0}",
  "1.http.credit_card_number_disclosure.master.result.s1.o2": "The string corresponds to the Master credit card number.",
  "1.http.credit_card_number_disclosure.master.result.s2.o0": "As a result of the analysis, a Master credit card number has been found in the HTTP response text.",
  "1.http.credit_card_number_disclosure.master.result.s2.o1": "Therefore, a credit card number can be stolen from HTTP requests sent to the server.",
  "1.http.credit_card_number_disclosure.master.solution.s0.o0": "The HTTP response text should not include a credit card number.",
  "1.http.credit_card_number_disclosure.master.solution.s0.o1": "Please check credit card number disclosure for all HTTP response text components, including plain text and comments.",
  "1.http.credit_card_number_disclosure.visa.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "1.http.credit_card_number_disclosure.visa.attack.s0.o1": "{0}",
  "1.http.credit_card_number_disclosure.visa.attack.s0.o2": "{0}",
  "1.http.credit_card_number_disclosure.visa.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "1.http.credit_card_number_disclosure.visa.result.s0.o1": "{0}",
  "1.http.credit_card_number_disclosure.visa.result.s1.o0": "The following string has been found in the body of the HTTP response:",
  "1.http.credit_card_number_disclosure.visa.result.s1.o1": "{0}",
  "1.http.credit_card_number_disclosure.visa.result.s1.o2": "The string corresponds to the VISA credit card number.",
  "1.http.credit_card_number_disclosure.visa.result.s2.o0": "As a result of the analysis, a VISA credit card number has been found in the HTTP response text.",
  "1.http.credit_card_number_disclosure.visa.result.s2.o1": "Therefore, a credit card number can be stolen from HTTP requests sent to the server.",
  "1.http.credit_card_number_disclosure.visa.solution.s0.o0": "The HTTP response text should not include a credit card number.",
  "1.http.credit_card_number_disclosure.visa.solution.s0.o1": "Please check credit card number disclosure for all HTTP response text components, including plain text and comments.",
  "1.http.crlf_injection.cookie.attack.s0.o0": "CRLF stands for Carriage Return (CR, ASCII 13, \\r) and Line Feed (LF, ASCII 10, \\n).",
  "1.http.crlf_injection.cookie.attack.s0.o1": "CR and LF on Windows, and LF on Linux and Unix indicate that a line is ended.",
  "1.http.crlf_injection.cookie.attack.s0.o2": "CRLF injection indicates that an attacker enters these CRLFs to divide the header of an HTTP response or inadvertently terminate the code in the Web application, resulting in vulnerabilities such as information disclosure and cross-site scripting.",
  "1.http.crlf_injection.cookie.attack.s0.o3": "To check the CRLF vulnerabilities, the following HTTP request with {0} attack string has been sent:",
  "1.http.crlf_injection.cookie.attack.s1.o0": "{0}",
  "1.http.crlf_injection.cookie.attack.s1.o1": "{0}",
  "1.http.crlf_injection.cookie.result.s0.o0": "The HTTP response for the HTTP request is shown as follow.",
  "1.http.crlf_injection.cookie.result.s1.o0": "{0}",
  "1.http.crlf_injection.cookie.result.s2.o0": "The body of the HTTP response contains the attack string {0}.",
  "1.http.crlf_injection.cookie.solution.s0.o0": "To prevent CRLF injection, entering CRLF as an input value by users should be blocked or escape the values ​​that are inserted in the HTTP header.",
  "1.http.cross_domain_script_inclusion.other_domain.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "1.http.cross_domain_script_inclusion.other_domain.attack.s0.o1": "{0}",
  "1.http.cross_domain_script_inclusion.other_domain.attack.s0.o2": "{0}",
  "1.http.cross_domain_script_inclusion.other_domain.result.s0.o0": "In the HTTP response body, the element is found with the following domain for src attribute in the script tag.",
  "1.http.cross_domain_script_inclusion.other_domain.result.s0.o1": "{0}",
  "1.http.cross_domain_script_inclusion.other_domain.result.s0.o2": "The domain is not identical under the current host.",
  "1.http.cross_domain_script_inclusion.other_domain.result.s1.o0": "Therefore, the script from an external domain can be run by the HTTP request sent to the server.",
  "1.http.cross_domain_script_inclusion.other_domain.solution.s0.o0": "To prevent malicious script execution through scripts in external domains, users can not use scripts from the external domain.",
  "1.http.cross_domain_script_inclusion.other_domain.solution.s0.o1": "Alternatively, there is a way to manually add scripts directly to the web application after validating scripts from external domains that do not have licensing issues.",
  "1.http.cross_domain_script_inclusion.other_domain.solution.s0.o2": "Another way to do this is to create a blacklist to exclude scripts from external domains that are not allowed, or to create a whitelist to allow scripts from only allowed external domains.",
  "1.http.custom.active_custom.attack.s0.o0": "An HTTP request to be sent to the server has been configured as follow:",
  "1.http.custom.active_custom.attack.s0.o1": "{0}",
  "1.http.custom.active_custom.attack.s0.o2": "The set value corresponds to a custom attack string.",
  "1.http.custom.active_custom.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "1.http.custom.active_custom.attack.s1.o1": "{0}",
  "1.http.custom.active_custom.attack.s1.o2": "{0}",
  "1.http.custom.active_custom.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "1.http.custom.active_custom.result.s0.o1": "{0}",
  "1.http.custom.active_custom.result.s1.o0": "The following string has been found in the HTTP response body:",
  "1.http.custom.active_custom.result.s1.o1": "{0}",
  "1.http.custom.active_custom.result.s1.o2": "The string of HTTP response text is located in {0}.",
  "1.http.custom.active_custom.result.s2.o0": "As a result of the analysis, a string complied with the custom detection rule {0} has been found.",
  "1.http.custom.conditional.attack_cookie": "The following value has been set for the cookie {0}.",
  "1.http.custom.conditional.attack_dwr": "The following value has been set for the parameter {0} from DWR request.",
  "1.http.custom.conditional.attack_form": "A value of the parameter {0} transmitted through the form has been set as follow:",
  "1.http.custom.conditional.attack_gwt": "The following value has been set for the parameter {0} from GWT RPC request.",
  "1.http.custom.conditional.attack_header": "The following value has been set for the HTTP request header {0}.",
  "1.http.custom.conditional.attack_json": "The following value has been set for the parameter {0} from JSON-RPC request.",
  "1.http.custom.conditional.attack_multipart": "The following value has been set for the parameter {0} from Multipart/form-data type request.",
  "1.http.custom.conditional.attack_query_string": "A value of the {0} parameter transmitted through the query string has been set as follow.",
  "1.http.custom.conditional.attack_url_path": "The following value has been set for the URL path.",
  "1.http.custom.conditional.attack_xml": "The following value has been set for the parameter {0} from XML-RPC request.",
  "1.http.custom.passive_custom.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "1.http.custom.passive_custom.attack.s0.o1": "{0}",
  "1.http.custom.passive_custom.attack.s0.o2": "{0}",
  "1.http.custom.passive_custom.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "1.http.custom.passive_custom.result.s0.o1": "{0}",
  "1.http.custom.passive_custom.result.s1.o0": "The following string has been found in the HTTP response body:",
  "1.http.custom.passive_custom.result.s1.o1": "{0}",
  "1.http.custom.passive_custom.result.s1.o2": "The string of HTTP response text is located in {0}.",
  "1.http.custom.passive_custom.result.s2.o0": "As a result of the analysis, a string complied with the custom detection rule {0} has been found.",
  "1.http.dast.sw.common.6519.allow.attack.s0.o0": "The following request has been sent.",
  "1.http.dast.sw.common.6519.allow.attack.s0.o1": "{0}",
  "1.http.dast.sw.common.6519.allow.attack.s0.o2": "{0}",
  "1.http.dast.sw.common.6519.allow.attack.s0.o3": "The response for the request have been checked.",
  "1.http.dast.sw.common.6519.allow.result.s0.o0": "The status code of the response is {0} for the OPTIONS method request.\n",
  "1.http.dast.sw.common.6519.allow.result.s0.o1": "And, the following value is found in the response header named Allow.",
  "1.http.dast.sw.common.6519.allow.result.s0.o2": "{0}",
  "1.http.dast.sw.common.6519.allow.result.s0.o3": "The analysis shows that the vulnerable methods are acceptable in the server.",
  "1.http.dast.sw.common.6519.allow.solution.s0.o0": "Use only HTTP methods that are essential for operation (GET, POST) and remove vulnerable HTTP METHODS (PUT, DELETE, TRACE). (OPTIONS, HEAD method is not vulnerable, but it is recommended not to use it).",
  "1.http.dast.sw.common.6519.delete.attack.s0.o0": "The following request has been sent.",
  "1.http.dast.sw.common.6519.delete.attack.s0.o1": "{0}",
  "1.http.dast.sw.common.6519.delete.attack.s0.o2": "{0}",
  "1.http.dast.sw.common.6519.delete.attack.s1.o0": "Based on the response of the request, an additional request has been sent.",
  "1.http.dast.sw.common.6519.delete.attack.s1.o1": "{0}",
  "1.http.dast.sw.common.6519.delete.attack.s1.o2": "{0}",
  "1.http.dast.sw.common.6519.delete.attack.s1.o3": "The response for the request have been checked.",
  "1.http.dast.sw.common.6519.delete.result.s0.o0": "The status code of the response is {0} for the OPTIONS method request.\n",
  "1.http.dast.sw.common.6519.delete.result.s0.o1": "And, the following value is found in the response header named Allow.",
  "1.http.dast.sw.common.6519.delete.result.s0.o2": "{0}",
  "1.http.dast.sw.common.6519.delete.result.s0.o3": "As the header value shows that the DELETE method request is acceptable in the server.\n",
  "1.http.dast.sw.common.6519.delete.result.s1.o0": "The status code of the response is {0} for the DELETE method request.\n",
  "1.http.dast.sw.common.6519.delete.result.s1.o2": "The analysis confirms that the normal response can be received to the request using the DELETE method.",
  "1.http.dast.sw.common.6519.delete.solution.s0.o0": "Use only HTTP methods that are essential for operation (GET, POST) and remove vulnerable HTTP METHODS (PUT, DELETE, TRACE). (OPTIONS, HEAD method is not vulnerable, but it is recommended not to use it).",
  "1.http.dast.sw.common.6519.put.attack.s0.o0": "The following request has been sent.",
  "1.http.dast.sw.common.6519.put.attack.s0.o1": "{0}",
  "1.http.dast.sw.common.6519.put.attack.s0.o2": "{0}",
  "1.http.dast.sw.common.6519.put.attack.s1.o0": "Based on the response of the request, an additional request has been sent.",
  "1.http.dast.sw.common.6519.put.attack.s1.o1": "{0}",
  "1.http.dast.sw.common.6519.put.attack.s1.o2": "{0}",
  "1.http.dast.sw.common.6519.put.attack.s1.o3": "The response for the request have been checked.",
  "1.http.dast.sw.common.6519.put.result.s0.o0": "The status code of the response is {0} for the OPTIONS method request.\n",
  "1.http.dast.sw.common.6519.put.result.s0.o1": "And, the following value is found in the response header named Allow.",
  "1.http.dast.sw.common.6519.put.result.s0.o2": "{0}",
  "1.http.dast.sw.common.6519.put.result.s0.o3": "As the header value shows that the PUT method request is acceptable in the server.\n",
  "1.http.dast.sw.common.6519.put.result.s1.o0": "The status code of the response is {0} for the PUT method request.\n",
  "1.http.dast.sw.common.6519.put.result.s1.o1": "Content-Location header has been found in the response.",
  "1.http.dast.sw.common.6519.put.result.s1.o2": "The analysis confirms that the normal response can be received to the request using the PUT method.",
  "1.http.dast.sw.common.6519.put.solution.s0.o0": "Use only HTTP methods that are essential for operation (GET, POST) and remove vulnerable HTTP METHODS (PUT, DELETE, TRACE). (OPTIONS, HEAD method is not vulnerable, but it is recommended not to use it).",
  "1.http.dast.sw.common.6519.trace.attack.s0.o0": "The following request has been sent.",
  "1.http.dast.sw.common.6519.trace.attack.s0.o1": "{0}",
  "1.http.dast.sw.common.6519.trace.attack.s0.o2": "{0}",
  "1.http.dast.sw.common.6519.trace.attack.s1.o0": "Based on the response of the request, an additional request has been sent.",
  "1.http.dast.sw.common.6519.trace.attack.s1.o1": "{0}",
  "1.http.dast.sw.common.6519.trace.attack.s1.o2": "{0}",
  "1.http.dast.sw.common.6519.trace.attack.s1.o3": "The response for the request have been checked.",
  "1.http.dast.sw.common.6519.trace.result.s0.o0": "The status code of the response is {0} for the OPTIONS method request.\n",
  "1.http.dast.sw.common.6519.trace.result.s0.o1": "And, the following value is found in the response header named Allow.",
  "1.http.dast.sw.common.6519.trace.result.s0.o2": "{0}",
  "1.http.dast.sw.common.6519.trace.result.s0.o3": "As the header value shows that the TRACE method request is acceptable in the server.\n",
  "1.http.dast.sw.common.6519.trace.result.s1.o0": "The status code of the response is {0} for the TRACE method request.\n",
  "1.http.dast.sw.common.6519.trace.result.s1.o1": "And the following string has been found in the response body.",
  "1.http.dast.sw.common.6519.trace.result.s1.o2": "{0}",
  "1.http.dast.sw.common.6519.trace.result.s1.o3": "The analysis confirms that the normal response can be received to the request using the TRACE method.",
  "1.http.dast.sw.common.6519.trace.solution.s0.o0": "Use only HTTP methods that are essential for operation (GET, POST) and remove vulnerable HTTP METHODS (PUT, DELETE, TRACE). (OPTIONS, HEAD method is not vulnerable, but it is recommended not to use it).",
  "1.http.deprecated_components_in_html5.attr.attack.s0.o0": "The following HTTP request has been passed.",
  "1.http.deprecated_components_in_html5.attr.attack.s0.o1": "{0}",
  "1.http.deprecated_components_in_html5.attr.attack.s0.o2": "{0}",
  "1.http.deprecated_components_in_html5.attr.attack.s1.o0": "An HTTP response has been received.",
  "1.http.deprecated_components_in_html5.attr.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "1.http.deprecated_components_in_html5.attr.attack.s3.o0": "{0} element has been searched in an HTTP response body.",
  "1.http.deprecated_components_in_html5.attr.attack.s4.o0": "{0} attribute has been searched in searched elements.",
  "1.http.deprecated_components_in_html5.attr.result.s0.o0": "An HTTP response body is an HTML document.",
  "1.http.deprecated_components_in_html5.attr.result.s1.o0": "{0} element has been found in an HTTP response body. The XPath of the element is shown as follow.",
  "1.http.deprecated_components_in_html5.attr.result.s1.o1": "{0}",
  "1.http.deprecated_components_in_html5.attr.result.s2.o0": "{0} attribute has been found in the element. The attribute is deprecated in HTML5.",
  "1.http.deprecated_components_in_html5.attr.solution.s0.o0": "Remove the {1} attribute of {0} element.",
  "1.http.deprecated_components_in_html5.tag.attack.s0.o0": "The following HTTP request has been passed.",
  "1.http.deprecated_components_in_html5.tag.attack.s0.o1": "{0}",
  "1.http.deprecated_components_in_html5.tag.attack.s0.o2": "{0}",
  "1.http.deprecated_components_in_html5.tag.attack.s1.o0": "An HTTP response has been received.",
  "1.http.deprecated_components_in_html5.tag.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "1.http.deprecated_components_in_html5.tag.attack.s3.o0": "{0} element has been searched in an HTTP response body.",
  "1.http.deprecated_components_in_html5.tag.result.s0.o0": "An HTTP response body is an HTML document.",
  "1.http.deprecated_components_in_html5.tag.result.s1.o0": "{0} element has been found in an HTTP response body. The XPath of the element is shown as follow.",
  "1.http.deprecated_components_in_html5.tag.result.s1.o1": "{0}",
  "1.http.deprecated_components_in_html5.tag.result.s2.o0": "The element is deprecated in HTML5.",
  "1.http.deprecated_components_in_html5.tag.solution.s0.o0": "Remove the {0} element or replace with other elements.",
  "1.http.directory_browsing.pattern.attack.s0.o0": "The Directory Listing is caused by exposes files or other directories within the server's directory due to a misconfiguration of the web application server.",
  "1.http.directory_browsing.pattern.attack.s0.o1": "Attackers can analyze the resources of a web application through directory listing and access files that contain sensitive information such as temporary files or dump files.",
  "1.http.directory_browsing.pattern.attack.s0.o2": "The following HTTP request has been sent to check the Directory Listing vulnerability.",
  "1.http.directory_browsing.pattern.attack.s1.o0": "{0}",
  "1.http.directory_browsing.pattern.attack.s1.o1": "{0}",
  "1.http.directory_browsing.pattern.result.s0.o0": "The HTTP response for the HTTP request is shown as follow.",
  "1.http.directory_browsing.pattern.result.s1.o0": "{0}",
  "1.http.directory_browsing.pattern.result.s2.o0": "The body of the HTTP response contains {0}, which represents a directory listing.",
  "1.http.directory_browsing.pattern.solution.s0.o0": "The Directory Listing becomes a vulnerability due to other information flowing through it.",
  "1.http.directory_browsing.pattern.solution.s1.o0": "To resolve this directory listing, do not put any sensitive information within the directory of the web application server.",
  "1.http.directory_browsing.pattern.solution.s2.o0": "Alternatively, the directory listing should be prevented for all paths under the web application server through configuration changes in the web application server.",
  "1.http.directory_indexing.index.attack.s0.o0": "The directory indexing page has been checked from the following:",
  "1.http.directory_indexing.index.attack.s1.o0": "{0}",
  "1.http.directory_indexing.index.result.s0.o0": "The directory indexing page has been detected from the URL.",
  "1.http.directory_indexing.index.result.s1.o0": "You can generate an index file or disable directory indexing option in server setting file.",
  "1.http.directory_indexing.index.solution.s0.o0": "The index file will be displayed to the user rather than directory indexing page.",
  "1.http.directory_indexing.index.solution.s0.o1": "In general, index.html, home.html, or default.asp will be treated as an index file.",
  "1.http.directory_indexing.index.solution.s0.o2": "It is secure to disable the directory indexing option in server setting file without special circumstances.",
  "1.http.directory_indexing.index.solution.s1.o0": "Apache :",
  "1.http.directory_indexing.index.solution.s2.o0": "First, create an .htaccess file in the root directory of your web server.",
  "1.http.directory_indexing.index.solution.s2.o1": "Add the following code to the .htaccess file and disable the directory indexing.",
  "1.http.directory_indexing.index.solution.s2.o2": "{0}",
  "1.http.directory_indexing.index.solution.s3.o0": "PHP :",
  "1.http.directory_indexing.index.solution.s4.o1": "Generate an index.php file in a desired directory.",
  "1.http.directory_indexing.index.solution.s4.o2": "Add the following code to the index.php and deny access to the directory.",
  "1.http.directory_indexing.index.solution.s4.o3": "{0}",
  "1.http.driver_license_number_disclosure.match.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "1.http.driver_license_number_disclosure.match.attack.s0.o1": "{0}",
  "1.http.driver_license_number_disclosure.match.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "1.http.driver_license_number_disclosure.match.result.s0.o1": "{0}",
  "1.http.driver_license_number_disclosure.match.result.s1.o0": "The following string has been found in the body of the HTTP response:",
  "1.http.driver_license_number_disclosure.match.result.s1.o1": "{0}",
  "1.http.driver_license_number_disclosure.match.result.s1.o2": "The string corresponds to the driver's license number.",
  "1.http.driver_license_number_disclosure.match.result.s2.o0": "As a result of the analysis, a driver's license number has been found in HTTP response text.",
  "1.http.driver_license_number_disclosure.match.result.s2.o1": "Therefore, a driver's license number can be stolen from HTTP requests sent to the server.",
  "1.http.driver_license_number_disclosure.match.solution.s0.o0": "HTTP response text should not include a driver's license number.",
  "1.http.driver_license_number_disclosure.match.solution.s0.o1": "Please check driver's license number disclosure for all HTTP response text components, including plain text and comments.",
  "1.http.email_address_disclosure.match.attack.s0.o0": "The HTTP request has been passed.",
  "1.http.email_address_disclosure.match.attack.s0.o1": "The HTTP request is shown as follow.",
  "1.http.email_address_disclosure.match.attack.s1.o0": "{0}",
  "1.http.email_address_disclosure.match.attack.s1.o1": "{0}",
  "1.http.email_address_disclosure.match.attack.s2.o0": "An HTTP response has been received.",
  "1.http.email_address_disclosure.match.attack.s3.o0": "The status code of the HTTP response has been checked to be an error.",
  "1.http.email_address_disclosure.match.attack.s4.o0": "A string of e-mail address has been found in the HTTP response texts.",
  "1.http.email_address_disclosure.match.result.s0.o0": "The status code for the HTTP response is shown as follow.",
  "1.http.email_address_disclosure.match.result.s1.o0": "{0}",
  "1.http.email_address_disclosure.match.result.s2.o0": "The following string has been found in the HTTP response body:",
  "1.http.email_address_disclosure.match.result.s3.o0": "{0}",
  "1.http.email_address_disclosure.match.result.s3.o1": "The string corresponds to the e-mail address.",
  "1.http.email_address_disclosure.match.solution.s0.o0": "Remove the e-mail address from the HTTP response texts unless it is designed to expose.",
  "1.http.external_redirect.conditional.attack_form": "A value of the parameter {0} transmitted through the form has been set as follow:",
  "1.http.external_redirect.conditional.attack_query_string": "A value of the {0} parameter transmitted through the query string has been set as follow.",
  "1.http.external_redirect.invocation.attack.s0.o0": "An HTTP request to be sent to the server has been configured as follow:",
  "1.http.external_redirect.invocation.attack.s0.o1": "{0}",
  "1.http.external_redirect.invocation.attack.s0.o2": "{0}",
  "1.http.external_redirect.invocation.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "1.http.external_redirect.invocation.attack.s1.o1": "{0}",
  "1.http.external_redirect.invocation.result.s0.o0": "{0} method call has been found in the server JVM through TrueScan.",
  "1.http.external_redirect.invocation.result.s0.o1": "Arguments of {0} parameter in the method are as follow:",
  "1.http.external_redirect.invocation.result.s0.o2": "{0}",
  "1.http.external_redirect.invocation.result.s0.o3": "For more information on these methods, see the following link: {0}",
  "1.http.external_redirect.invocation.result.s1.o0": "As a result of the analysis, the value set in the HTTP request configuration has been found in {1} parameter of {0} method.",
  "1.http.external_redirect.invocation.result.s1.o1": "Therefore, the method has been called by an HTTP request sent to the server, and redirects to the {0} location through that method.",
  "1.http.external_redirect.invocation.solution.s0.o0": "In redirection, the target location path must be defined as a constant string, and the value entered by the user should not be used.",
  "1.http.external_redirect.invocation.solution.s0.o1": "If it is necessary to perform a redirection to a location specified to the value entered by the user, the user input value must be verified.",
  "1.http.external_redirect.redirect_header.attack.s0.o0": "An HTTP request to be sent to the server has been configured as follow:",
  "1.http.external_redirect.redirect_header.attack.s0.o1": "{0}",
  "1.http.external_redirect.redirect_header.attack.s0.o2": "{0}",
  "1.http.external_redirect.redirect_header.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "1.http.external_redirect.redirect_header.attack.s1.o1": "{0}",
  "1.http.external_redirect.redirect_header.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "1.http.external_redirect.redirect_header.result.s0.o1": "{0}",
  "1.http.external_redirect.redirect_header.result.s1.o0": "The following string has been found in the {0} header of the HTTP response:",
  "1.http.external_redirect.redirect_header.result.s1.o1": "{0}",
  "1.http.external_redirect.redirect_header.result.s2.o0": "As a result of the analysis, the value set in the HTTP request configuration has been found in the {0} header value.",
  "1.http.external_redirect.redirect_header.result.s2.o1": "Therefore, redirection to the {0} location can occur due to HTTP requests sent to the server.",
  "1.http.external_redirect.redirect_header.solution.s0.o0": "In redirection, the target location path must be defined as a constant string, and the value entered by the user should not be used.",
  "1.http.external_redirect.redirect_header.solution.s0.o1": "When redirection to a location of the user input value is required, it must be verified.",
  "1.http.external_redirect.redirect_js.attack.s0.o0": "An HTTP request to be sent to the server has been configured as follow:",
  "1.http.external_redirect.redirect_js.attack.s0.o1": "{0}",
  "1.http.external_redirect.redirect_js.attack.s0.o2": "{0}",
  "1.http.external_redirect.redirect_js.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "1.http.external_redirect.redirect_js.attack.s1.o1": "{0}",
  "1.http.external_redirect.redirect_js.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "1.http.external_redirect.redirect_js.result.s0.o1": "{0}",
  "1.http.external_redirect.redirect_js.result.s1.o0": "The following string has been found in the JavaScript statement of HTTP response texts.",
  "1.http.external_redirect.redirect_js.result.s1.o1": "{0}",
  "1.http.external_redirect.redirect_js.result.s2.o0": "As a result of the analysis, the value set in the HTTP request configuration has been found to exist in the JavaScript statement.",
  "1.http.external_redirect.redirect_js.result.s2.o1": "Therefore, redirection to the {0} location can occur due to HTTP requests sent to the server.",
  "1.http.external_redirect.redirect_js.solution.s0.o0": "In redirection, the target location path must be defined as a constant string, and the value entered by the user should not be used.",
  "1.http.external_redirect.redirect_js.solution.s0.o1": "When redirection to a location of the user input value is required, it must be verified.",
  "1.http.external_redirect.redirect_meta.attack.s0.o0": "An HTTP request to be sent to the server has been configured as follow:",
  "1.http.external_redirect.redirect_meta.attack.s0.o1": "{0}",
  "1.http.external_redirect.redirect_meta.attack.s0.o2": "{0}",
  "1.http.external_redirect.redirect_meta.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "1.http.external_redirect.redirect_meta.attack.s1.o1": "{0}",
  "1.http.external_redirect.redirect_meta.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "1.http.external_redirect.redirect_meta.result.s0.o1": "{0}",
  "1.http.external_redirect.redirect_meta.result.s1.o0": "In the HTTP response text, the following string has been found in the property {2} of the meta tag whose {0} property value is {1}.",
  "1.http.external_redirect.redirect_meta.result.s1.o1": "{0}",
  "1.http.external_redirect.redirect_meta.result.s2.o0": "As a result of the analysis, the value set in the HTTP request configuration has been found to exist in {0} property of the Meta tag.",
  "1.http.external_redirect.redirect_meta.result.s2.o1": "Therefore, redirection to the {0} location can occur due to HTTP requests sent to the server.",
  "1.http.external_redirect.redirect_meta.solution.s0.o0": "In redirection, the target location path must be defined as a constant string, and the value entered by the user should not be used.",
  "1.http.external_redirect.redirect_meta.solution.s0.o1": "When redirection to a location of the user input value is required, it must be verified.",
  "1.http.falsified_http_method.same.attack.s0.o0": "The HTTP Request Forgery vulnerability is caused by an identical HTTP response of a random HTTP request with an HTTP response of an generic HTTP request.",
  "1.http.falsified_http_method.same.attack.s1.o0": "The following generic HTTP {0} request has been changed into a random HTTP {1} method to check the HTTP Request Forgery vulnerability.",
  "1.http.falsified_http_method.same.attack.s2.o0": "{0}",
  "1.http.falsified_http_method.same.attack.s2.o1": "{0}",
  "1.http.falsified_http_method.same.result.s0.o0": "The HTTP response header for the generic HTTP {0} request is shown as follow.",
  "1.http.falsified_http_method.same.result.s1.o0": "{0}",
  "1.http.falsified_http_method.same.result.s2.o0": "The following HTTP response header is sent for the HTTP request converted to a random {0} method.",
  "1.http.falsified_http_method.same.result.s3.o0": "{0}",
  "1.http.falsified_http_method.same.result.s4.o0": "Above two HTTP response headers have identical counts, types, status code, and contents length.",
  "1.http.falsified_http_method.same.result.s5.o0": "It can be easily guessed that a random HTTP request is handled as identical to an HTTP request of a generic {0} method.",
  "1.http.falsified_http_method.same.solution.s0.o0": "To address the HTTP request forgery vulnerability, users must not allow a random HTTP request.",
  "1.http.falsified_http_method.same.solution.s1.o0": "When you need to allow a random HTTP request, specify its security and permission setting as identical to a generic HTTP {0} request setting.",
  "1.http.format_string.execute.attack.s0.o0": "The Format String vulnerability is caused by entering a value of a format string, which allows web applications to run code that would cause inappropriate code execution, stack exposures, malfunctions, and so on.",
  "1.http.format_string.execute.attack.s0.o1": "The typical format string is shown as follow.",
  "1.http.format_string.execute.attack.s1.o0": "{0}",
  "1.http.format_string.execute.attack.s2.o0": "A HTTP request to check a format string is as follow:",
  "1.http.format_string.execute.attack.s3.o0": "{0}",
  "1.http.format_string.execute.attack.s3.o1": "{0}",
  "1.http.format_string.execute.result.s0.o0": "An HTTP request to check the Format String vulnerability has caused a format string to be executed.",
  "1.http.format_string.execute.result.s0.o1": "The following header is added to the response message.",
  "1.http.format_string.execute.result.s1.o0": "{0}",
  "1.http.format_string.execute.solution.s0.o0": "In order to prevent the Format String vulnerability, via input value validation, stop format string entry or used after escaping process.",
  "1.http.format_string.execute.solution.s0.o1": "In addition, users must be careful when using functions with format strings as follow:",
  "1.http.format_string.execute.solution.s1.o0": "C / C++ :",
  "1.http.format_string.execute.solution.s2.o0": "{0}",
  "1.http.format_string.execute.solution.s3.o0": "Java :",
  "1.http.format_string.execute.solution.s4.o0": "{0}",
  "1.http.format_string.execute.solution.s5.o0": "C# :",
  "1.http.format_string.execute.solution.s6.o0": "{0}",
  "1.http.format_string.server.attack.s0.o0": "The Format String vulnerability is caused by entering a value of a format string, which allows web applications to run code that would cause inappropriate code execution, stack exposures, malfunctions, and so on.",
  "1.http.format_string.server.attack.s0.o1": "The typical format string is shown as follow.",
  "1.http.format_string.server.attack.s1.o0": "{0}",
  "1.http.format_string.server.attack.s2.o0": "A HTTP request to check a format string is as follow:",
  "1.http.format_string.server.attack.s3.o0": "{0}",
  "1.http.format_string.server.attack.s3.o1": "{0}",
  "1.http.format_string.server.result.s0.o0": "An HTTP request to check the Format String vulnerability has caused a format string to be executed.",
  "1.http.format_string.server.result.s0.o1": "The following header is added to the response message.",
  "1.http.format_string.server.result.s1.o0": "{0}",
  "1.http.format_string.server.solution.s0.o0": "In order to prevent the Format String vulnerability, via input value validation, stop format string entry or used after escaping process.",
  "1.http.format_string.server.solution.s0.o1": "In addition, users must be careful when using functions with format strings as follow:",
  "1.http.format_string.server.solution.s1.o0": "C / C++ :",
  "1.http.format_string.server.solution.s2.o0": "{0}",
  "1.http.format_string.server.solution.s3.o0": "Java :",
  "1.http.format_string.server.solution.s4.o0": "{0}",
  "1.http.format_string.server.solution.s5.o0": "C# :",
  "1.http.format_string.server.solution.s6.o0": "{0}",
  "1.http.host_header.used.attack.s0.o0": "The Host Header vulnerability is caused by manipulating a host header, which directs links to the Host header values to a malicious site.",
  "1.http.host_header.used.attack.s1.o0": "If use the value of the Host header in the web application without further validation, an attacker can manipulate the Host header to connect to a malicious site.",
  "1.http.host_header.used.attack.s1.o1": "This can allow an attacker to intercept the user request or let the user perform unintended actions.",
  "1.http.host_header.used.attack.s2.o0": "For example, an attacker can manipulate the Host header to link a maliciously crafted password change site to a user.",
  "1.http.host_header.used.attack.s2.o1": "If the user does not recognize and change the password, the changed password information is delivered to the attacker, and the user's account information may be captured.",
  "1.http.host_header.used.attack.s3.o0": "The following HTTP request with changed host header value to {0} has been sent to check the Host Header vulnerability:",
  "1.http.host_header.used.attack.s4.o0": "{0}",
  "1.http.host_header.used.attack.s4.o1": "{0}",
  "1.http.host_header.used.result.s0.o0": "The following HTML element using host header value has been found in the HTTP response for the HTTP request:",
  "1.http.host_header.used.result.s1.o0": "{0}",
  "1.http.host_header.used.result.s2.o0": "In the HTTP response, Host header value {1} used to check {0} property has been found.",
  "1.http.host_header.used.solution.s0.o0": "The simplest way to resolve the Host header vulnerability is not using the value in the Host header.",
  "1.http.host_header.used.solution.s1.o0": "If need to use the Host header value, the Host header value must be first verified and then used.",
  "1.http.host_header.used.solution.s2.o0": "There are whitelist methods and black list methods for verifying Host header values.",
  "1.http.host_header.used.solution.s2.o1": "The whitelisting method is to accept only the specified host header value by storing the validated host header values as a list.",
  "1.http.host_header.used.solution.s2.o3": "The blacklist method is to block the specified host header when it comes in by storing the dangerous host header values as a list.",
  "1.http.host_header.used.solution.s3.o0": "If uses the Host header value after verifying in various ways, the Host Header vulnerability can be solved.",
  "1.http.inappropriate_title.duplicate_special_characters_in_page_title.attack.s0.o0": "The following HTTP request has been passed.",
  "1.http.inappropriate_title.duplicate_special_characters_in_page_title.attack.s0.o1": "{0}",
  "1.http.inappropriate_title.duplicate_special_characters_in_page_title.attack.s0.o2": "{0}",
  "1.http.inappropriate_title.duplicate_special_characters_in_page_title.attack.s1.o0": "An HTTP response has been received.",
  "1.http.inappropriate_title.duplicate_special_characters_in_page_title.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "1.http.inappropriate_title.duplicate_special_characters_in_page_title.attack.s3.o0": "{0} element has been searched in an HTTP response body.",
  "1.http.inappropriate_title.duplicate_special_characters_in_page_title.attack.s4.o0": "The texts of the element has been checked.",
  "1.http.inappropriate_title.duplicate_special_characters_in_page_title.result.s0.o0": "An HTTP response body is an HTML document.",
  "1.http.inappropriate_title.duplicate_special_characters_in_page_title.result.s1.o0": "{0} element has been found in an HTTP response body. The XPath of the element is shown as follow.",
  "1.http.inappropriate_title.duplicate_special_characters_in_page_title.result.s1.o1": "{0}",
  "1.http.inappropriate_title.duplicate_special_characters_in_page_title.result.s2.o0": "Texts within the element include the duplicated special characters, {0}.  The texts of the element is shown as follow.",
  "1.http.inappropriate_title.duplicate_special_characters_in_page_title.result.s2.o1": "{0}",
  "1.http.inappropriate_title.duplicate_special_characters_in_page_title.result.s3.o0": "Therefore, the texts are inadequate for page titles.",
  "1.http.inappropriate_title.duplicate_special_characters_in_page_title.solution.s0.o0": "Modify not to include two or more identical special characters in a row to texts within the {0} element.",
  "1.http.inappropriate_title.empty_frame_title.attack.s0.o0": "The following HTTP request has been passed.",
  "1.http.inappropriate_title.empty_frame_title.attack.s0.o1": "{0}",
  "1.http.inappropriate_title.empty_frame_title.attack.s0.o2": "{0}",
  "1.http.inappropriate_title.empty_frame_title.attack.s1.o0": "An HTTP response has been received.",
  "1.http.inappropriate_title.empty_frame_title.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "1.http.inappropriate_title.empty_frame_title.attack.s3.o0": "A frame has been searched in an HTTP response body.",
  "1.http.inappropriate_title.empty_frame_title.attack.s4.o0": "{0} attribute has been searched in the frame.",
  "1.http.inappropriate_title.empty_frame_title.result.s0.o0": "An HTTP response body is an HTML document.",
  "1.http.inappropriate_title.empty_frame_title.result.s1.o0": "{0} element, a frame to an HTTP response body, has been found. An XPath of the element is shown as follow.",
  "1.http.inappropriate_title.empty_frame_title.result.s1.o1": "{0}",
  "1.http.inappropriate_title.empty_frame_title.result.s2.o0": "An empty string has been found in {0} attribute of the element. Therefore, a frame title is missing.",
  "1.http.inappropriate_title.empty_frame_title.solution.s0.o0": "Set a non-empty string for {1} attribute of {0} element.",
  "1.http.inappropriate_title.empty_page_title.attack.s0.o0": "The following HTTP request has been passed.",
  "1.http.inappropriate_title.empty_page_title.attack.s0.o1": "{0}",
  "1.http.inappropriate_title.empty_page_title.attack.s1.o0": "An HTTP response has been received.",
  "1.http.inappropriate_title.empty_page_title.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "1.http.inappropriate_title.empty_page_title.attack.s3.o0": "{0} element has been searched in an HTTP response body.",
  "1.http.inappropriate_title.empty_page_title.attack.s4.o0": "The texts of the element has been checked.",
  "1.http.inappropriate_title.empty_page_title.result.s0.o0": "An HTTP response body is an HTML document.",
  "1.http.inappropriate_title.empty_page_title.result.s1.o0": "{0} element has been found in an HTTP response body. The XPath of the element is shown as follow.",
  "1.http.inappropriate_title.empty_page_title.result.s1.o1": "{0}",
  "1.http.inappropriate_title.empty_page_title.result.s2.o0": "An empty string has been found in texts within the element. Therefore, a page title is missing.",
  "1.http.inappropriate_title.empty_page_title.solution.s0.o0": "Set a non-empty string for texts within the {0} element.",
  "1.http.inappropriate_title.no_frame_title.attack.s0.o0": "The following HTTP request has been passed.",
  "1.http.inappropriate_title.no_frame_title.attack.s0.o1": "{0}",
  "1.http.inappropriate_title.no_frame_title.attack.s0.o2": "{0}",
  "1.http.inappropriate_title.no_frame_title.attack.s1.o0": "An HTTP response has been received.",
  "1.http.inappropriate_title.no_frame_title.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "1.http.inappropriate_title.no_frame_title.attack.s3.o0": "A frame has been searched in an HTTP response body.",
  "1.http.inappropriate_title.no_frame_title.attack.s4.o0": "{0} attribute has been searched in the frame.",
  "1.http.inappropriate_title.no_frame_title.result.s0.o0": "An HTTP response body is an HTML document.",
  "1.http.inappropriate_title.no_frame_title.result.s1.o0": "{0} element, a frame to an HTTP response body, has been found. An XPath of the element is shown as follow.",
  "1.http.inappropriate_title.no_frame_title.result.s1.o1": "{0}",
  "1.http.inappropriate_title.no_frame_title.result.s2.o0": "{0} attribute has not been found in the element. Therefore, its frame title is missing.",
  "1.http.inappropriate_title.no_frame_title.solution.s0.o0": "Add {1} attribute of {0} element.",
  "1.http.inappropriate_title.no_page_title.attack.s0.o0": "The following HTTP request has been passed.",
  "1.http.inappropriate_title.no_page_title.attack.s0.o1": "{0}",
  "1.http.inappropriate_title.no_page_title.attack.s0.o2": "{0}",
  "1.http.inappropriate_title.no_page_title.attack.s1.o0": "An HTTP response has been received.",
  "1.http.inappropriate_title.no_page_title.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "1.http.inappropriate_title.no_page_title.attack.s3.o0": "{0} element has been searched in an HTTP response body.",
  "1.http.inappropriate_title.no_page_title.result.s0.o0": "An HTTP response body is an HTML document.",
  "1.http.inappropriate_title.no_page_title.result.s1.o0": "{0} element has not been found in the HTTP response body. Therefore, its page title has not been found.",
  "1.http.inappropriate_title.no_page_title.solution.s0.o0": "Add {0} element.",
  "1.http.incompatible_css.css.attack.s0.o0": "The first HTTP request has been sent as follow.",
  "1.http.incompatible_css.css.attack.s0.o1": "{0}",
  "1.http.incompatible_css.css.attack.s0.o2": "{0}",
  "1.http.incompatible_css.css.attack.s1.o0": "The first HTTP response has been received.",
  "1.http.incompatible_css.css.attack.s2.o0": "The first HTTP response body has been checked for HTML document.",
  "1.http.incompatible_css.css.attack.s3.o0": "A connection has been searched from the first HTTP response body to a CSS document.",
  "1.http.incompatible_css.css.attack.s4.o0": "The second HTTP request has been sent to track searched connection as follow.",
  "1.http.incompatible_css.css.attack.s4.o1": "{0}",
  "1.http.incompatible_css.css.attack.s5.o0": "The second HTTP response has been received.",
  "1.http.incompatible_css.css.attack.s6.o0": "The second HTTP response body has been checked for CSS document.",
  "1.http.incompatible_css.css.attack.s7.o0": "A CSS statement analysis has been performed for the second HTTP response body.",
  "1.http.incompatible_css.css.result.s0.o0": "The first HTTP response body is an HTML document.",
  "1.http.incompatible_css.css.result.s1.o0": "{0} element has been found to connect from the first HTTP response body to a CSS document. The XPath of the element is shown as follow.",
  "1.http.incompatible_css.css.result.s1.o1": "{0}",
  "1.http.incompatible_css.css.result.s2.o0": "{0} attribute of the element is set to {1}, {2} attribute is set as follow.",
  "1.http.incompatible_css.css.result.s2.o1": "{0}",
  "1.http.incompatible_css.css.result.s3.o0": "The second HTTP response body is a CSS document.",
  "1.http.incompatible_css.css.result.s4.o0": "In results of CSS statement analysis of the second HTTP response body, {0} element has been found. Some browsers is not supported on the element.",
  "1.http.incompatible_css.css.solution.s0.o0": "Remove the {0} attribute or replace with other attributes.",
  "1.http.incompatible_css.html.attack.s0.o0": "The following HTTP request has been passed.",
  "1.http.incompatible_css.html.attack.s0.o1": "{0}",
  "1.http.incompatible_css.html.attack.s0.o2": "{0}",
  "1.http.incompatible_css.html.attack.s1.o0": "An HTTP response has been received.",
  "1.http.incompatible_css.html.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "1.http.incompatible_css.html.attack.s3.o0": "{0} element has been searched in an HTTP response body.",
  "1.http.incompatible_css.html.attack.s4.o0": "A CSS statement analysis has been performed for texts within the searched elements.",
  "1.http.incompatible_css.html.result.s0.o0": "An HTTP response body is an HTML document.",
  "1.http.incompatible_css.html.result.s1.o0": "{0} element has been found in an HTTP response body. The XPath of the element is shown as follow.",
  "1.http.incompatible_css.html.result.s1.o1": "{0}",
  "1.http.incompatible_css.html.result.s2.o0": "In results of CSS statement analysis of texts within the element, {0} element has been found. Some browsers is not supported on the element.",
  "1.http.incompatible_css.html.solution.s0.o0": "Remove the {0} attribute or replace with other attributes.",
  "1.http.incompatible_html.attr.attack.s0.o0": "The following HTTP request has been passed.",
  "1.http.incompatible_html.attr.attack.s0.o1": "{0}",
  "1.http.incompatible_html.attr.attack.s0.o2": "{0}",
  "1.http.incompatible_html.attr.attack.s1.o0": "An HTTP response has been received.",
  "1.http.incompatible_html.attr.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "1.http.incompatible_html.attr.attack.s3.o0": "{0} element has been searched in an HTTP response body.",
  "1.http.incompatible_html.attr.attack.s4.o0": "{0} attribute has been searched in searched elements.",
  "1.http.incompatible_html.attr.result.s0.o0": "An HTTP response body is an HTML document.",
  "1.http.incompatible_html.attr.result.s1.o0": "{0} element has been found in an HTTP response body. The XPath of the element is shown as follow.",
  "1.http.incompatible_html.attr.result.s1.o1": "{0}",
  "1.http.incompatible_html.attr.result.s2.o0": "{0} attribute has been found in the element. The attribute is not supported on some browsers.",
  "1.http.incompatible_html.attr.solution.s0.o0": "Remove the {1} attribute of {0} element.",
  "1.http.incompatible_html.tag.attack.s0.o0": "The following HTTP request has been passed.",
  "1.http.incompatible_html.tag.attack.s0.o1": "{0}",
  "1.http.incompatible_html.tag.attack.s0.o2": "{0}",
  "1.http.incompatible_html.tag.attack.s1.o0": "An HTTP response has been received.",
  "1.http.incompatible_html.tag.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "1.http.incompatible_html.tag.attack.s3.o0": "{0} element has been searched in an HTTP response body.",
  "1.http.incompatible_html.tag.result.s0.o0": "An HTTP response body is an HTML document.",
  "1.http.incompatible_html.tag.result.s1.o0": "{0} element has been found in an HTTP response body. The XPath of the element is shown as follow.",
  "1.http.incompatible_html.tag.result.s1.o1": "{0}",
  "1.http.incompatible_html.tag.result.s2.o0": "Some browsers is not supported on the element.",
  "1.http.incompatible_html.tag.solution.s0.o0": "Remove the {0} element or replace with other elements.",
  "1.http.incompatible_js.html_over_es5.attack.s0.o0": "The following HTTP request has been passed.",
  "1.http.incompatible_js.html_over_es5.attack.s0.o1": "{0}",
  "1.http.incompatible_js.html_over_es5.attack.s0.o2": "{0}",
  "1.http.incompatible_js.html_over_es5.attack.s1.o0": "An HTTP response has been received.",
  "1.http.incompatible_js.html_over_es5.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "1.http.incompatible_js.html_over_es5.attack.s3.o0": "{0} element has been searched in an HTTP response body.",
  "1.http.incompatible_js.html_over_es5.attack.s4.o0": "A JavaScript statement analysis has been performed for texts within the searched elements.",
  "1.http.incompatible_js.html_over_es5.result.s0.o0": "An HTTP response body is an HTML document.",
  "1.http.incompatible_js.html_over_es5.result.s1.o0": "{0} element has been found in an HTTP response body. The XPath of the element is shown as follow.",
  "1.http.incompatible_js.html_over_es5.result.s1.o1": "{0}",
  "1.http.incompatible_js.html_over_es5.result.s2.o0": "In results of JavaScript statement analysis of texts within the element, a feature is available on JavaScript {0} version. The feature name is shown as follow.",
  "1.http.incompatible_js.html_over_es5.result.s2.o1": "{0}",
  "1.http.incompatible_js.html_over_es5.result.s3.o0": "The feature is not supported on some browsers.",
  "1.http.incompatible_js.html_over_es5.solution.s0.o0": "Remove the {0} feature or replace with other features.",
  "1.http.incompatible_js.js_over_es5.attack.s0.o0": "The first HTTP request has been sent as follow.",
  "1.http.incompatible_js.js_over_es5.attack.s0.o1": "{0}",
  "1.http.incompatible_js.js_over_es5.attack.s0.o2": "{0}",
  "1.http.incompatible_js.js_over_es5.attack.s1.o0": "The first HTTP response has been received.",
  "1.http.incompatible_js.js_over_es5.attack.s2.o0": "The first HTTP response body has been checked for HTML document.",
  "1.http.incompatible_js.js_over_es5.attack.s3.o0": "A connection has been searched from the first HTTP response body to a JavaScript document.",
  "1.http.incompatible_js.js_over_es5.attack.s4.o0": "The second HTTP request has been sent to track searched connection as follow.",
  "1.http.incompatible_js.js_over_es5.attack.s4.o1": "{0}",
  "1.http.incompatible_js.js_over_es5.attack.s5.o0": "The second HTTP response has been received.",
  "1.http.incompatible_js.js_over_es5.attack.s6.o0": "The second HTTP response body has been checked for JavaScript document.",
  "1.http.incompatible_js.js_over_es5.attack.s7.o0": "A JavaScript statement analysis has been performed for the second HTTP response body.",
  "1.http.incompatible_js.js_over_es5.result.s0.o0": "The first HTTP response body is an HTML document.",
  "1.http.incompatible_js.js_over_es5.result.s1.o0": "{0} element has been found to connect from the first HTTP response body to a JavaScript document. An XPath of the element is shown as follow.",
  "1.http.incompatible_js.js_over_es5.result.s1.o1": "{0}",
  "1.http.incompatible_js.js_over_es5.result.s2.o0": "{0} attribute of the element is shown as follow.",
  "1.http.incompatible_js.js_over_es5.result.s2.o1": "{0}",
  "1.http.incompatible_js.js_over_es5.result.s3.o0": "A JavaScript document is the second HTTP response body.",
  "1.http.incompatible_js.js_over_es5.result.s4.o0": "In results of JavaScript statement analysis of the second analysis target page, a feature is available on JavaScript {0} version. The feature name is shown as follow.",
  "1.http.incompatible_js.js_over_es5.result.s4.o1": "{0}",
  "1.http.incompatible_js.js_over_es5.result.s5.o0": "The feature is not supported on some browsers.",
  "1.http.incompatible_js.js_over_es5.solution.s0.o0": "Remove the {0} feature or replace with other features.",
  "1.http.invalid_css.css_error.attack.s0.o0": "The first HTTP request has been sent as follow.",
  "1.http.invalid_css.css_error.attack.s0.o1": "{0}",
  "1.http.invalid_css.css_error.attack.s0.o2": "{0}",
  "1.http.invalid_css.css_error.attack.s1.o0": "The first HTTP response has been received.",
  "1.http.invalid_css.css_error.attack.s2.o0": "The first HTTP response body has been checked for HTML document.",
  "1.http.invalid_css.css_error.attack.s3.o0": "A connection has been searched from the first HTTP response body to a CSS document.",
  "1.http.invalid_css.css_error.attack.s4.o0": "The second HTTP request has been sent to track searched connection as follow.",
  "1.http.invalid_css.css_error.attack.s4.o1": "{0}",
  "1.http.invalid_css.css_error.attack.s5.o0": "The second HTTP response has been received.",
  "1.http.invalid_css.css_error.attack.s6.o0": "The second HTTP response body has been checked for CSS document.",
  "1.http.invalid_css.css_error.attack.s7.o0": "A W3C CSS validator analysis has been performed for the second HTTP response body.",
  "1.http.invalid_css.css_error.result.s0.o0": "The first HTTP response body is an HTML document.",
  "1.http.invalid_css.css_error.result.s1.o0": "{0} element has been found to connect from the first HTTP response body to a CSS document. The XPath of the element is shown as follow.",
  "1.http.invalid_css.css_error.result.s1.o1": "{0}",
  "1.http.invalid_css.css_error.result.s2.o0": "{0} attribute of the element is set to {1}, {2} attribute is set as follow.",
  "1.http.invalid_css.css_error.result.s2.o1": "{0}",
  "1.http.invalid_css.css_error.result.s3.o0": "The second HTTP response body is a CSS document.",
  "1.http.invalid_css.css_error.result.s4.o0": "In results of W3C Markup validator analysis of the second HTTP response body, an 'error' has occurred due to violation of the CSS coding standard. Its analysis result message is shown as follow.",
  "1.http.invalid_css.css_error.result.s4.o1": "{0}",
  "1.http.invalid_css.css_error.solution.s0.o0": "See results of W3C CSS validator analysis to modify a CSS document of the second HTTP response body.",
  "1.http.invalid_css.css_warning.attack.s0.o0": "The first HTTP request has been sent as follow.",
  "1.http.invalid_css.css_warning.attack.s0.o1": "{0}",
  "1.http.invalid_css.css_warning.attack.s0.o2": "{0}",
  "1.http.invalid_css.css_warning.attack.s1.o0": "The first HTTP response has been received.",
  "1.http.invalid_css.css_warning.attack.s2.o0": "The first HTTP response body has been checked for HTML document.",
  "1.http.invalid_css.css_warning.attack.s3.o0": "A connection has been searched from the first HTTP response body to a CSS document.",
  "1.http.invalid_css.css_warning.attack.s4.o0": "The second HTTP request has been sent to track searched connection as follow.",
  "1.http.invalid_css.css_warning.attack.s4.o1": "{0}",
  "1.http.invalid_css.css_warning.attack.s5.o0": "The second HTTP response has been received.",
  "1.http.invalid_css.css_warning.attack.s6.o0": "The second HTTP response body has been checked for CSS document.",
  "1.http.invalid_css.css_warning.attack.s7.o0": "A W3C CSS validator analysis has been performed for the second HTTP response body.",
  "1.http.invalid_css.css_warning.result.s0.o0": "The first HTTP response body is an HTML document.",
  "1.http.invalid_css.css_warning.result.s1.o0": "{0} element has been found to connect from the first HTTP response body to a CSS document. The XPath of the element is shown as follow.",
  "1.http.invalid_css.css_warning.result.s1.o1": "{0}",
  "1.http.invalid_css.css_warning.result.s2.o0": "{0} attribute of the element is set to {1}, {2} attribute is set as follow.",
  "1.http.invalid_css.css_warning.result.s2.o1": "{0}",
  "1.http.invalid_css.css_warning.result.s3.o0": "The second HTTP response body is a CSS document.",
  "1.http.invalid_css.css_warning.result.s4.o0": "In results of W3C Markup validator analysis of the second HTTP response body, an 'alarm' has occurred due to violation of the CSS coding standard. Its analysis result message is shown as follow.",
  "1.http.invalid_css.css_warning.result.s4.o1": "{0}",
  "1.http.invalid_css.css_warning.solution.s0.o0": "See results of W3C CSS validator analysis to modify a CSS document of the second HTTP response body.",
  "1.http.invalid_css.html_error.attack.s0.o0": "The following HTTP request has been passed.",
  "1.http.invalid_css.html_error.attack.s0.o1": "{0}",
  "1.http.invalid_css.html_error.attack.s0.o2": "{0}",
  "1.http.invalid_css.html_error.attack.s1.o0": "An HTTP response has been received.",
  "1.http.invalid_css.html_error.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "1.http.invalid_css.html_error.attack.s3.o0": "{0} element has been searched in an HTTP response body.",
  "1.http.invalid_css.html_error.attack.s4.o0": "A W3C CSS validator analysis has been performed for texts within the searched elements.",
  "1.http.invalid_css.html_error.result.s0.o0": "An HTTP response body is an HTML document.",
  "1.http.invalid_css.html_error.result.s1.o0": "{0} element has been searched in an HTTP response body. An XPath of the element is shown as follow.",
  "1.http.invalid_css.html_error.result.s1.o1": "{0}",
  "1.http.invalid_css.html_error.result.s2.o0": "In results of W3C Markup validator analysis of texts within the element, an 'error' has occurred due to violation of the CSS coding standard. Its analysis result message is shown as follow.",
  "1.http.invalid_css.html_error.result.s2.o1": "{0}",
  "1.http.invalid_css.html_error.solution.s0.o0": "See results of W3C CSS validator analysis to modify texts within the {0} element searched in the HTTP response body.",
  "1.http.invalid_css.html_warning.attack.s0.o0": "The following HTTP request has been passed.",
  "1.http.invalid_css.html_warning.attack.s0.o1": "{0}",
  "1.http.invalid_css.html_warning.attack.s0.o2": "{0}",
  "1.http.invalid_css.html_warning.attack.s1.o0": "An HTTP response has been received.",
  "1.http.invalid_css.html_warning.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "1.http.invalid_css.html_warning.attack.s3.o0": "{0} element has been searched in an HTTP response body.",
  "1.http.invalid_css.html_warning.attack.s4.o0": "A W3C CSS validator analysis has been performed for texts within the searched elements.",
  "1.http.invalid_css.html_warning.result.s0.o0": "An HTTP response body is an HTML document.",
  "1.http.invalid_css.html_warning.result.s1.o0": "{0} element has been searched in an HTTP response body. An XPath of the element is shown as follow.",
  "1.http.invalid_css.html_warning.result.s1.o1": "{0}",
  "1.http.invalid_css.html_warning.result.s2.o0": "In results of W3C Markup validator analysis of texts within the element, an 'alarm' has occurred due to violation of the CSS coding standard. Its analysis result message is shown as follow.",
  "1.http.invalid_css.html_warning.result.s2.o1": "{0}",
  "1.http.invalid_css.html_warning.solution.s0.o0": "See results of W3C CSS validator analysis to modify texts within the {0} element searched in the HTTP response body.",
  "1.http.invalid_html.error.attack.s0.o0": "The following HTTP request message has been sent.",
  "1.http.invalid_html.error.attack.s0.o1": "{0}",
  "1.http.invalid_html.error.attack.s0.o2": "{0}",
  "1.http.invalid_html.error.attack.s1.o0": "An HTTP response has been received.",
  "1.http.invalid_html.error.attack.s2.o0": "The HTTP response body has been checked for (X)HTML document.",
  "1.http.invalid_html.error.attack.s3.o0": "A W3C Markup validator analysis has been performed for an HTTP response body.",
  "1.http.invalid_html.error.result.s0.o0": "An HTTP response body is an (X)HTML document.",
  "1.http.invalid_html.error.result.s1.o0": "In results of W3C Markup validator analysis, the following 'error' has occurred.",
  "1.http.invalid_html.error.result.s1.o1": "{0}",
  "1.http.invalid_html.error.solution.s0.o0": "See results of W3C Markup validator analysis to modify an (X)HTML document of the HTTP response body.",
  "1.http.invalid_html.fatal.attack.s0.o0": "The following HTTP request message has been sent.",
  "1.http.invalid_html.fatal.attack.s0.o1": "{0}",
  "1.http.invalid_html.fatal.attack.s0.o2": "{0}",
  "1.http.invalid_html.fatal.attack.s1.o0": "An HTTP response has been received.",
  "1.http.invalid_html.fatal.attack.s2.o0": "The HTTP response body has been checked for (X)HTML document.",
  "1.http.invalid_html.fatal.attack.s3.o0": "A W3C Markup validator analysis has been performed for an HTTP response body.",
  "1.http.invalid_html.fatal.result.s0.o0": "An HTTP response body is an (X)HTML document.",
  "1.http.invalid_html.fatal.result.s1.o0": "In results of W3C Markup validator analysis, the following 'fault' has occurred.",
  "1.http.invalid_html.fatal.result.s1.o1": "{0}",
  "1.http.invalid_html.fatal.solution.s0.o0": "See results of W3C Markup validator analysis to modify an (X)HTML document of the HTTP response body.",
  "1.http.invalid_html.warning.attack.s0.o0": "The following HTTP request message has been sent.",
  "1.http.invalid_html.warning.attack.s0.o1": "{0}",
  "1.http.invalid_html.warning.attack.s0.o2": "{0}",
  "1.http.invalid_html.warning.attack.s1.o0": "An HTTP response has been received.",
  "1.http.invalid_html.warning.attack.s2.o0": "The HTTP response body has been checked for (X)HTML document.",
  "1.http.invalid_html.warning.attack.s3.o0": "A W3C Markup validator analysis has been performed for an HTTP response body.",
  "1.http.invalid_html.warning.result.s0.o0": "An HTTP response body is an (X)HTML document.",
  "1.http.invalid_html.warning.result.s1.o0": "In results of W3C Markup validator analysis, the following 'alarm' has occurred.",
  "1.http.invalid_html.warning.result.s1.o1": "{0}",
  "1.http.invalid_html.warning.solution.s0.o0": "See results of W3C Markup validator analysis to modify an (X)HTML document of the HTTP response body.",
  "1.http.invalid_link_text.a_blank.attack.s0.o0": "The following HTTP request has been passed.",
  "1.http.invalid_link_text.a_blank.attack.s0.o1": "{0}",
  "1.http.invalid_link_text.a_blank.attack.s0.o2": "{0}",
  "1.http.invalid_link_text.a_blank.attack.s1.o0": "An HTTP response has been received.",
  "1.http.invalid_link_text.a_blank.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "1.http.invalid_link_text.a_blank.attack.s3.o0": "A link has been searched in an HTTP response body.",
  "1.http.invalid_link_text.a_blank.attack.s4.o0": "The texts within the searched links have been checked.",
  "1.http.invalid_link_text.a_blank.result.s0.o0": "An HTTP response body is an HTML document.",
  "1.http.invalid_link_text.a_blank.result.s1.o0": "{0} element, a link to an HTTP response body, has been found. An XPath of the element is shown as follow.",
  "1.http.invalid_link_text.a_blank.result.s1.o1": "{0}",
  "1.http.invalid_link_text.a_blank.result.s2.o0": "Texts within the element consist of empty strings with whitespaces. Therefore, the texts are inadequate for link texts.",
  "1.http.invalid_link_text.a_blank.solution.s0.o0": "Set a string with a non-whitespace character for texts within the {0} element.",
  "1.http.invalid_link_text.a_empty.attack.s0.o0": "The following HTTP request has been passed.",
  "1.http.invalid_link_text.a_empty.attack.s0.o1": "{0}",
  "1.http.invalid_link_text.a_empty.attack.s0.o2": "{0}",
  "1.http.invalid_link_text.a_empty.attack.s1.o0": "An HTTP response has been received.",
  "1.http.invalid_link_text.a_empty.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "1.http.invalid_link_text.a_empty.attack.s3.o0": "A link has been searched in an HTTP response body.",
  "1.http.invalid_link_text.a_empty.attack.s4.o0": "The texts within the searched links have been checked.",
  "1.http.invalid_link_text.a_empty.result.s0.o0": "An HTTP response body is an HTML document.",
  "1.http.invalid_link_text.a_empty.result.s1.o0": "{0} element, a link to an HTTP response body, has been found. An XPath of the element is shown as follow.",
  "1.http.invalid_link_text.a_empty.result.s1.o1": "{0}",
  "1.http.invalid_link_text.a_empty.result.s2.o0": "An empty string has been found in texts within the element. Therefore, the texts are inadequate for link texts.",
  "1.http.invalid_link_text.a_empty.solution.s0.o0": "Set a non-empty string for texts within the {0} element.",
  "1.http.invalid_link_text.area_blank.attack.s0.o0": "The following HTTP request has been passed.",
  "1.http.invalid_link_text.area_blank.attack.s0.o1": "{0}",
  "1.http.invalid_link_text.area_blank.attack.s0.o2": "{0}",
  "1.http.invalid_link_text.area_blank.attack.s1.o0": "An HTTP response has been received.",
  "1.http.invalid_link_text.area_blank.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "1.http.invalid_link_text.area_blank.attack.s3.o0": "A link has been searched in an HTTP response body.",
  "1.http.invalid_link_text.area_blank.attack.s4.o0": "{0} attribute has been searched in searched links.",
  "1.http.invalid_link_text.area_blank.result.s0.o0": "An HTTP response body is an HTML document.",
  "1.http.invalid_link_text.area_blank.result.s1.o0": "{0} element, a link to an HTTP response body, has been found. An XPath of the element is shown as follow.",
  "1.http.invalid_link_text.area_blank.result.s1.o1": "{0}",
  "1.http.invalid_link_text.area_blank.result.s2.o0": "{0} attribute of the element consist of empty strings with whitespaces. Therefore, the attribute is inadequate for link texts.",
  "1.http.invalid_link_text.area_blank.solution.s0.o0": "Set a string with a non-whitespace character for {1} of {0} element.",
  "1.http.invalid_link_text.area_empty.attack.s0.o0": "The following HTTP request has been passed.",
  "1.http.invalid_link_text.area_empty.attack.s0.o1": "{0}",
  "1.http.invalid_link_text.area_empty.attack.s0.o2": "{0}",
  "1.http.invalid_link_text.area_empty.attack.s1.o0": "An HTTP response has been received.",
  "1.http.invalid_link_text.area_empty.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "1.http.invalid_link_text.area_empty.attack.s3.o0": "A link has been searched in an HTTP response body.",
  "1.http.invalid_link_text.area_empty.attack.s4.o0": "{0} attribute has been searched in searched links.",
  "1.http.invalid_link_text.area_empty.result.s0.o0": "An HTTP response body is an HTML document.",
  "1.http.invalid_link_text.area_empty.result.s1.o0": "{0} element, a link to an HTTP response body, has been found. An XPath of the element is shown as follow.",
  "1.http.invalid_link_text.area_empty.result.s1.o1": "{0}",
  "1.http.invalid_link_text.area_empty.result.s2.o0": "An empty string has been found in {0} attribute of the element. Therefore, the attribute is inadequate for link texts.",
  "1.http.invalid_link_text.area_empty.solution.s0.o0": "Set a non-empty string for {1} value of {0} element.",
  "1.http.invalid_link_text.area_none.attack.s0.o0": "The following HTTP request has been passed.",
  "1.http.invalid_link_text.area_none.attack.s0.o1": "{0}",
  "1.http.invalid_link_text.area_none.attack.s0.o2": "{0}",
  "1.http.invalid_link_text.area_none.attack.s1.o0": "An HTTP response has been received.",
  "1.http.invalid_link_text.area_none.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "1.http.invalid_link_text.area_none.attack.s3.o0": "A link has been searched in an HTTP response body.",
  "1.http.invalid_link_text.area_none.attack.s4.o0": "{0} attribute has been searched in searched links.",
  "1.http.invalid_link_text.area_none.result.s0.o0": "An HTTP response body is an HTML document.",
  "1.http.invalid_link_text.area_none.result.s1.o0": "{0} element, a link to an HTTP response body, has been found. An XPath of the element is shown as follow.",
  "1.http.invalid_link_text.area_none.result.s1.o1": "{0}",
  "1.http.invalid_link_text.area_none.result.s2.o0": "{0} attribute has not been found in the element. Therefore, its link text is missing.",
  "1.http.invalid_link_text.area_none.solution.s0.o0": "Add {1} attribute of {0} element.",
  "1.http.local_file_include.conditional.attack_form": "A value of the parameter {0} transmitted through the form has been set as follow:",
  "1.http.local_file_include.conditional.attack_query_string": "A value of the {0} parameter transmitted through the query string has been set as follow.",
  "1.http.local_file_include.custom.attack.s0.o0": "An HTTP request to be sent to the server has been configured as follow:",
  "1.http.local_file_include.custom.attack.s0.o1": "{0}",
  "1.http.local_file_include.custom.attack.s0.o2": "{0}",
  "1.http.local_file_include.custom.attack.s0.o3": "The set value corresponds to a custom attack string.",
  "1.http.local_file_include.custom.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "1.http.local_file_include.custom.attack.s1.o1": "{0}",
  "1.http.local_file_include.custom.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "1.http.local_file_include.custom.result.s0.o1": "{0}",
  "1.http.local_file_include.custom.result.s1.o0": "The following string has been found in the HTTP response body:",
  "1.http.local_file_include.custom.result.s1.o1": "{0}",
  "1.http.local_file_include.custom.result.s2.o0": "As a result of the analysis, a string complied with the custom detection rule {0} has been found.",
  "1.http.local_file_include.custom.solution.s0.o0": "When a specific file is included in a page, do not use the user input.",
  "1.http.local_file_include.custom.solution.s1.o0": "If you need to include a specific file within the server by using the user input, the user input must be verified.",
  "1.http.local_file_include.custom.solution.s1.o1": "When the user input contains character strings of a path with sensitive information or characters to move to parent paths, such as '../', they must be removed or replaced with other characters.",
  "1.http.local_file_include.invocation.attack.s0.o0": "An HTTP request to be sent to the server has been configured as follow:",
  "1.http.local_file_include.invocation.attack.s0.o1": "{0}",
  "1.http.local_file_include.invocation.attack.s0.o2": "{0}",
  "1.http.local_file_include.invocation.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "1.http.local_file_include.invocation.attack.s1.o1": "{0}",
  "1.http.local_file_include.invocation.result.s0.o0": "{0} method call has been found in the server JVM through TrueScan.",
  "1.http.local_file_include.invocation.result.s0.o1": "Arguments of {0} parameter in the method are as follow:",
  "1.http.local_file_include.invocation.result.s0.o2": "{0}",
  "1.http.local_file_include.invocation.result.s0.o3": "For more information on these methods, see the following link: {0}",
  "1.http.local_file_include.invocation.result.s1.o0": "As a result of the analysis, the value set in the HTTP request configuration has been found in {1} parameter of {0} method.",
  "1.http.local_file_include.invocation.result.s1.o1": "Therefore, the method has been called by an HTTP request sent to the server and the server files has been included to a current page through the method.",
  "1.http.local_file_include.invocation.solution.s0.o0": "When a specific file is included in a page, do not use the user input.",
  "1.http.local_file_include.invocation.solution.s1.o0": "If you need to include a specific file within the server by using the user input, the user input must be verified.",
  "1.http.local_file_include.invocation.solution.s1.o1": "When the user input contains character strings of a path with sensitive information or characters to move to parent paths, such as '../', they must be removed or replaced with other characters.",
  "1.http.local_file_include.jsp.attack.s0.o0": "An HTTP request to be sent to the server has been configured as follow:",
  "1.http.local_file_include.jsp.attack.s0.o1": "{0}",
  "1.http.local_file_include.jsp.attack.s0.o2": "{0}",
  "1.http.local_file_include.jsp.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "1.http.local_file_include.jsp.attack.s1.o1": "{0}",
  "1.http.local_file_include.jsp.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "1.http.local_file_include.jsp.result.s0.o1": "{0}",
  "1.http.local_file_include.jsp.result.s1.o0": "The following string has been found in the HTTP response body:",
  "1.http.local_file_include.jsp.result.s1.o1": "{0}",
  "1.http.local_file_include.jsp.result.s2.o0": "As a result of the analysis, {1} file contents in {0} folder specified in an HTTP request configuration has been found.",
  "1.http.local_file_include.jsp.result.s2.o1": "Therefore, the server files can be included to a current page through the HTTP request sent to the server.",
  "1.http.local_file_include.jsp.solution.s0.o0": "When a specific file is included in a page, do not use the user input.",
  "1.http.local_file_include.jsp.solution.s1.o0": "If you need to include a specific file within the server by using the user input, the user input must be verified.",
  "1.http.local_file_include.jsp.solution.s1.o1": "When the user input contains character strings of a path with sensitive information or characters to move to parent paths, such as '../', they must be removed or replaced with other characters.",
  "1.http.missing_alt_text.empty_alt.attack.s0.o0": "The following HTTP request message has been sent.",
  "1.http.missing_alt_text.empty_alt.attack.s0.o1": "{0}",
  "1.http.missing_alt_text.empty_alt.attack.s0.o2": "{0}",
  "1.http.missing_alt_text.empty_alt.result.s0.o0": "{0} web element has been searched in an HTTP response body.",
  "1.http.missing_alt_text.empty_alt.result.s0.o1": "The XPath of the web element is shown as follow.",
  "1.http.missing_alt_text.empty_alt.result.s0.o2": "{0}",
  "1.http.missing_alt_text.empty_alt.result.s0.o3": "The web element is non-text contents.",
  "1.http.missing_alt_text.empty_alt.result.s0.o4": "An empty string has been found in {0} attribute of the web element.",
  "1.http.missing_alt_text.empty_alt.result.s1.o0": "In results, non-text content has been searched that does not provide substituting texts.",
  "1.http.missing_alt_text.empty_alt.solution.s0.o0": "Need to provide substituting texts to understand the meaning or usage of non-text contents.",
  "1.http.missing_alt_text.empty_alt.solution.s0.o1": "Able to provide substituting texts by specifying {1} attribute in {0} web element.",
  "1.http.missing_alt_text.no_alt.attack.s0.o0": "The following HTTP request message has been sent.",
  "1.http.missing_alt_text.no_alt.attack.s0.o1": "{0}",
  "1.http.missing_alt_text.no_alt.attack.s0.o2": "{0}",
  "1.http.missing_alt_text.no_alt.result.s0.o0": "{0} web element has been searched in an HTTP response body.",
  "1.http.missing_alt_text.no_alt.result.s0.o1": "The XPath of the web element is shown as follow.",
  "1.http.missing_alt_text.no_alt.result.s0.o2": "{0}",
  "1.http.missing_alt_text.no_alt.result.s0.o3": "The web element is non-text contents.",
  "1.http.missing_alt_text.no_alt.result.s0.o4": "No {0} attribute has been found in the web element.",
  "1.http.missing_alt_text.no_alt.result.s1.o0": "In results, non-text content has been searched that does not provide substituting texts.",
  "1.http.missing_alt_text.no_alt.solution.s0.o0": "Need to provide substituting texts to understand the meaning or usage of non-text contents.",
  "1.http.missing_alt_text.no_alt.solution.s0.o1": "Able to provide substituting texts by specifying {1} attribute in {0} web element.",
  "1.http.missing_default_language.html_without_lang.attack.s0.o0": "The following HTTP request has been passed.",
  "1.http.missing_default_language.html_without_lang.attack.s0.o1": "{0}",
  "1.http.missing_default_language.html_without_lang.attack.s0.o2": "{0}",
  "1.http.missing_default_language.html_without_lang.attack.s1.o0": "An HTTP response has been received.",
  "1.http.missing_default_language.html_without_lang.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "1.http.missing_default_language.html_without_lang.attack.s3.o0": "{0} element has been searched in an HTTP response body.",
  "1.http.missing_default_language.html_without_lang.attack.s4.o0": "{0} attribute has been searched in searched elements.",
  "1.http.missing_default_language.html_without_lang.result.s0.o0": "An HTTP response body is an HTML document.",
  "1.http.missing_default_language.html_without_lang.result.s1.o0": "{0} element has been found in an HTTP response body. The XPath of the element is shown as follow.",
  "1.http.missing_default_language.html_without_lang.result.s1.o1": "{0}",
  "1.http.missing_default_language.html_without_lang.result.s2.o0": "{0} attribute has not been found in the element. Therefore, a default language of HTML document is missing.",
  "1.http.missing_default_language.html_without_lang.solution.s0.o0": "Add {1} attribute of {0} element.",
  "1.http.missing_default_language.xhtml_without_lang.attack.s0.o0": "The following HTTP request has been passed.",
  "1.http.missing_default_language.xhtml_without_lang.attack.s0.o1": "{0}",
  "1.http.missing_default_language.xhtml_without_lang.attack.s0.o2": "{0}",
  "1.http.missing_default_language.xhtml_without_lang.attack.s1.o0": "An HTTP response has been received.",
  "1.http.missing_default_language.xhtml_without_lang.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "1.http.missing_default_language.xhtml_without_lang.attack.s3.o0": "{0} element has been searched in an HTTP response body.",
  "1.http.missing_default_language.xhtml_without_lang.attack.s4.o0": "{0} attribute has been searched in searched elements.",
  "1.http.missing_default_language.xhtml_without_lang.attack.s5.o0": "{0} attribute has been searched in searched elements.",
  "1.http.missing_default_language.xhtml_without_lang.result.s0.o0": "An HTTP response body is an HTML document.",
  "1.http.missing_default_language.xhtml_without_lang.result.s1.o0": "{0} element has been found in an HTTP response body. The XPath of the element is shown as follow.",
  "1.http.missing_default_language.xhtml_without_lang.result.s1.o1": "{0}",
  "1.http.missing_default_language.xhtml_without_lang.result.s2.o0": "{0} attribute has been found in the element.",
  "1.http.missing_default_language.xhtml_without_lang.result.s3.o0": "{0} attribute has not been found in the element. Therefore, a default language of XHTML document is missing.",
  "1.http.missing_default_language.xhtml_without_lang.solution.s0.o0": "Add {1} attribute of {0} element.",
  "1.http.missing_label.no_id.attack.s0.o0": "The following HTTP request has been passed.",
  "1.http.missing_label.no_id.attack.s0.o1": "{0}",
  "1.http.missing_label.no_id.attack.s0.o2": "{0}",
  "1.http.missing_label.no_id.attack.s1.o0": "An HTTP response has been received.",
  "1.http.missing_label.no_id.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "1.http.missing_label.no_id.attack.s3.o0": "A required element has been searched in an HTTP response body.",
  "1.http.missing_label.no_id.attack.s4.o0": "{0} attribute has been searched in searched elements.",
  "1.http.missing_label.no_id.attack.s5.o0": "{0} element has been searched in parent elements of searched elements.",
  "1.http.missing_label.no_id.result.s0.o0": "An HTTP response body is an HTML document.",
  "1.http.missing_label.no_id.result.s1.o0": "{0} element required a label has been found in the HTTP response body. An XPath of the element is shown as follow.",
  "1.http.missing_label.no_id.result.s1.o1": "{0}",
  "1.http.missing_label.no_id.result.s2.o0": "{0} attribute has not been found in the elements.",
  "1.http.missing_label.no_id.result.s3.o0": "{0} element has not been found in the parents of the elements. Therefore, a label is missing in elements unrequired of a label.",
  "1.http.missing_label.no_id.solution.s0.o0": "Add {1} element for a parent of {0} element. Or, add {1} element and set {2} attribute of the element to {3} attribute of {0} element.",
  "1.http.missing_label.no_label.attack.s0.o0": "The following HTTP request has been passed.",
  "1.http.missing_label.no_label.attack.s0.o1": "{0}",
  "1.http.missing_label.no_label.attack.s0.o2": "{0}",
  "1.http.missing_label.no_label.attack.s1.o0": "An HTTP response has been received.",
  "1.http.missing_label.no_label.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "1.http.missing_label.no_label.attack.s3.o0": "A required element has been searched in an HTTP response body.",
  "1.http.missing_label.no_label.attack.s4.o0": "{0} attribute has been searched in searched elements.",
  "1.http.missing_label.no_label.attack.s5.o0": "{0} element has been searched in parent elements of searched elements.",
  "1.http.missing_label.no_label.result.s0.o0": "An HTTP response body is an HTML document.",
  "1.http.missing_label.no_label.result.s1.o0": "{0} element required a label has been found in the HTTP response body. An XPath of the element is shown as follow.",
  "1.http.missing_label.no_label.result.s1.o1": "{0}",
  "1.http.missing_label.no_label.result.s2.o0": "{0} attribute of the element is shown as follow.",
  "1.http.missing_label.no_label.result.s2.o1": "{0}",
  "1.http.missing_label.no_label.result.s3.o0": "{0} element has not been found in the parents of the elements.",
  "1.http.missing_label.no_label.result.s4.o0": "{1} element with the following {0} attribute has not been found in the HTTP response body.",
  "1.http.missing_label.no_label.result.s4.o1": "{0}",
  "1.http.missing_label.no_label.result.s5.o0": "Therefore, a label is missing in elements unrequired of a label.",
  "1.http.missing_label.no_label.solution.s0.o0": "Add {1} element for a parent of {0} element. Or, add {1} element and set {2} attribute of the element to {3} attribute of {0} element.",
  "1.http.mixed_content.http.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "1.http.mixed_content.http.attack.s0.o1": "{0}",
  "1.http.mixed_content.http.attack.s0.o2": "{0}",
  "1.http.mixed_content.http.result.s0.o0": "In the HTTP response body, the element has been found with following value for {0} attribute.",
  "1.http.mixed_content.http.result.s1.o0": "{0}",
  "1.http.mixed_content.http.result.s2.o0": "Therefore, the HTTP protocol based contents have been used in the HTTPS protocol based page.",
  "1.http.mixed_content.http.solution.s0.o0": "To prevent mixed content, do not use HTTP content.",
  "1.http.non_standard_technology.active_x.attack.s0.o0": "The following HTTP request has been passed.",
  "1.http.non_standard_technology.active_x.attack.s0.o1": "{0}",
  "1.http.non_standard_technology.active_x.attack.s0.o2": "{0}",
  "1.http.non_standard_technology.active_x.attack.s1.o0": "An HTTP response has been received.",
  "1.http.non_standard_technology.active_x.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "1.http.non_standard_technology.active_x.attack.s3.o0": "{0} element has been searched in an HTTP response body.",
  "1.http.non_standard_technology.active_x.attack.s4.o0": "{0} attribute has been checked in searched elements.",
  "1.http.non_standard_technology.active_x.result.s0.o0": "An HTTP response body is an HTML document.",
  "1.http.non_standard_technology.active_x.result.s1.o0": "{0} element has been found in an HTTP response body. The XPath of the element is shown as follow.",
  "1.http.non_standard_technology.active_x.result.s1.o1": "{0}",
  "1.http.non_standard_technology.active_x.result.s2.o0": "{0} attribute of the element is shown as follow.",
  "1.http.non_standard_technology.active_x.result.s2.o1": "{0}",
  "1.http.non_standard_technology.active_x.result.s3.o0": "The attribute value indicates the ActiveX has been applied.",
  "1.http.non_standard_technology.active_x.solution.s0.o0": "Use a standard technique to replace ActiveX.",
  "1.http.non_standard_technology.flash.attack.s0.o0": "The following HTTP request has been passed.",
  "1.http.non_standard_technology.flash.attack.s0.o1": "{0}",
  "1.http.non_standard_technology.flash.attack.s0.o2": "{0}",
  "1.http.non_standard_technology.flash.attack.s1.o0": "An HTTP response has been received.",
  "1.http.non_standard_technology.flash.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "1.http.non_standard_technology.flash.attack.s3.o0": "{0} element has been searched in an HTTP response body.",
  "1.http.non_standard_technology.flash.attack.s4.o0": "{0} attribute has been checked in searched elements.",
  "1.http.non_standard_technology.flash.result.s0.o0": "An HTTP response body is an HTML document.",
  "1.http.non_standard_technology.flash.result.s1.o0": "{0} element has been found in an HTTP response body. The XPath of the element is shown as follow.",
  "1.http.non_standard_technology.flash.result.s1.o1": "{0}",
  "1.http.non_standard_technology.flash.result.s2.o0": "{0} attribute of the element is shown as follow.",
  "1.http.non_standard_technology.flash.result.s2.o1": "{0}",
  "1.http.non_standard_technology.flash.result.s3.o0": "The attribute value indicates the Adobe Flash has been applied.",
  "1.http.non_standard_technology.flash.solution.s0.o0": "Use a standard technique to replace Adobe Flash.",
  "1.http.non_standard_technology.java_applet.attack.s0.o0": "The following HTTP request has been passed.",
  "1.http.non_standard_technology.java_applet.attack.s0.o1": "{0}",
  "1.http.non_standard_technology.java_applet.attack.s0.o2": "{0}",
  "1.http.non_standard_technology.java_applet.attack.s1.o0": "An HTTP response has been received.",
  "1.http.non_standard_technology.java_applet.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "1.http.non_standard_technology.java_applet.attack.s3.o0": "{0} element has been searched in an HTTP response body.",
  "1.http.non_standard_technology.java_applet.attack.s4.o0": "{0} attribute has been checked in searched elements.",
  "1.http.non_standard_technology.java_applet.result.s0.o0": "An HTTP response body is an HTML document.",
  "1.http.non_standard_technology.java_applet.result.s1.o0": "{0} element has been found in an HTTP response body. The XPath of the element is shown as follow.",
  "1.http.non_standard_technology.java_applet.result.s1.o1": "{0}",
  "1.http.non_standard_technology.java_applet.result.s2.o0": "{0} attribute of the element is shown as follow.",
  "1.http.non_standard_technology.java_applet.result.s2.o1": "{0}",
  "1.http.non_standard_technology.java_applet.result.s3.o0": "The attribute value indicates the Java applet has been applied.",
  "1.http.non_standard_technology.java_applet.solution.s0.o0": "Use a standard technique to replace Java applet.",
  "1.http.non_standard_technology.silverlight.attack.s0.o0": "The following HTTP request has been passed.",
  "1.http.non_standard_technology.silverlight.attack.s0.o1": "{0}",
  "1.http.non_standard_technology.silverlight.attack.s0.o2": "{0}",
  "1.http.non_standard_technology.silverlight.attack.s1.o0": "An HTTP response has been received.",
  "1.http.non_standard_technology.silverlight.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "1.http.non_standard_technology.silverlight.attack.s3.o0": "{0} element has been searched in an HTTP response body.",
  "1.http.non_standard_technology.silverlight.attack.s4.o0": "{0} attribute has been checked in searched elements.",
  "1.http.non_standard_technology.silverlight.result.s0.o0": "An HTTP response body is an HTML document.",
  "1.http.non_standard_technology.silverlight.result.s1.o0": "{0} element has been found in an HTTP response body. The XPath of the element is shown as follow.",
  "1.http.non_standard_technology.silverlight.result.s1.o1": "{0}",
  "1.http.non_standard_technology.silverlight.result.s2.o0": "{0} attribute of the element is shown as follow.",
  "1.http.non_standard_technology.silverlight.result.s2.o1": "{0}",
  "1.http.non_standard_technology.silverlight.result.s3.o0": "The attribute value indicates the Microsoft Silverlight has been applied.",
  "1.http.non_standard_technology.silverlight.solution.s0.o0": "Use a standard technique to replace Microsoft Silverlight.",
  "1.http.non_standard_technology.windows_media_player.attack.s0.o0": "The following HTTP request has been passed.",
  "1.http.non_standard_technology.windows_media_player.attack.s0.o1": "{0}",
  "1.http.non_standard_technology.windows_media_player.attack.s0.o2": "{0}",
  "1.http.non_standard_technology.windows_media_player.attack.s1.o0": "An HTTP response has been received.",
  "1.http.non_standard_technology.windows_media_player.attack.s2.o0": "The HTTP response body has been checked for HTML document.",
  "1.http.non_standard_technology.windows_media_player.attack.s3.o0": "{0} element has been searched in an HTTP response body.",
  "1.http.non_standard_technology.windows_media_player.attack.s4.o0": "{0} attribute has been checked in searched elements.",
  "1.http.non_standard_technology.windows_media_player.result.s0.o0": "An HTTP response body is an HTML document.",
  "1.http.non_standard_technology.windows_media_player.result.s1.o0": "{0} element has been found in an HTTP response body. The XPath of the element is shown as follow.",
  "1.http.non_standard_technology.windows_media_player.result.s1.o1": "{0}",
  "1.http.non_standard_technology.windows_media_player.result.s2.o0": "{0} attribute of the element is shown as follow.",
  "1.http.non_standard_technology.windows_media_player.result.s2.o1": "{0}",
  "1.http.non_standard_technology.windows_media_player.result.s3.o0": "The attribute value indicates the Window Media Player has been applied.",
  "1.http.non_standard_technology.windows_media_player.solution.s0.o0": "Use a standard technique to replace Windows Media Player.",
  "1.http.options_method_enable.options.attack.s0.o0": "The OPTIONS Method Enable vulnerability is caused by returning a result of an OPTIONS method to unauthorized user.",
  "1.http.options_method_enable.options.attack.s1.o0": "The OPTIONS Method causes a current web server to return a result of the available method.",
  "1.http.options_method_enable.options.attack.s1.o1": "The OPTIONS method is a method that are used to find out what kind of methods are supported by the current web server.",
  "1.http.options_method_enable.options.attack.s2.o0": "To check an unauthorized OPTIONS method, {0} method has been set and sent the HTTP request.",
  "1.http.options_method_enable.options.attack.s3.o0": "{0}",
  "1.http.options_method_enable.options.attack.s3.o1": "{0}",
  "1.http.options_method_enable.options.result.s0.o0": "The HTTP response for the HTTP request is shown as follow.",
  "1.http.options_method_enable.options.result.s1.o0": "{0}",
  "1.http.options_method_enable.options.result.s2.o0": "The OPTIONS request contains the following list of allowed HTTP methods:",
  "1.http.options_method_enable.options.result.s3.o0": "{0}",
  "1.http.options_method_enable.options.solution.s0.o0": "It is recommended not to allow a user to request with an OPTIONS method.",
  "1.http.options_method_enable.options.solution.s0.o1": "This requires proper server configuration.",
  "1.http.parameter_tamper.error.attack.s0.o0": "Parameter tamper error attack is an attack that takes a parameter such as URL or FORM tag and changes the value.",
  "1.http.parameter_tamper.error.attack.s0.o1": "Attackers can exploit by altering their normal values, such as changing the price of a product in a shopping web application, through parameter tampering.",
  "1.http.parameter_tamper.error.attack.s0.o2": "In addition, it is also possible to take a user session or a value entered by a user by storing it in a cookie or a header,",
  "1.http.parameter_tamper.error.attack.s0.o3": "The following HTTP request with the parameter value changed to {0} attack string, which causes an error to the web application, has been sent to identify the parameter tampering vulnerable area.",
  "1.http.parameter_tamper.error.attack.s1.o0": "{0}",
  "1.http.parameter_tamper.error.attack.s1.o1": "{0}",
  "1.http.parameter_tamper.error.result.s0.o0": "The HTTP response for the HTTP request is shown as follow.",
  "1.http.parameter_tamper.error.result.s1.o0": "{0}",
  "1.http.parameter_tamper.error.result.s2.o0": "An error occurred due to {0} attack string sent by parameter tampering.",
  "1.http.parameter_tamper.error.solution.s0.o0": "To prevent parameter tampering, set the maximum / minimum length of the parameter value, limit the parameter value through the allowable range of values, pattern, etc., and check the validity.",
  "1.http.parameter_tamper.error.solution.s0.o1": "In addition to these validation checks, users must create a whitelist of values entered as parameters to accept only those that are approved, or create a blacklist to block unauthorized values.",
  "1.http.parameter_tamper.error.solution.s0.o2": "The possibility of tampering with all parts of the HTTP request, such as a header of the HTTP request, cookies, parameters of the URL, and form field values, must be considered.",
  "1.http.passport_number_disclosure.match.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "1.http.passport_number_disclosure.match.attack.s0.o1": "{0}",
  "1.http.passport_number_disclosure.match.attack.s0.o2": "{0}",
  "1.http.passport_number_disclosure.match.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "1.http.passport_number_disclosure.match.result.s0.o1": "{0}",
  "1.http.passport_number_disclosure.match.result.s1.o0": "The following string has been found in the body of the HTTP response:",
  "1.http.passport_number_disclosure.match.result.s1.o1": "{0}",
  "1.http.passport_number_disclosure.match.result.s1.o2": "The string corresponds to the passport number.",
  "1.http.passport_number_disclosure.match.result.s2.o0": "As a result of the analysis, a passport number has been found in HTTP response text.",
  "1.http.passport_number_disclosure.match.result.s2.o1": "Therefore, a passport number can be stolen from HTTP requests sent to the server.",
  "1.http.passport_number_disclosure.match.solution.s0.o0": "The HTTP response text should not include a passport number.",
  "1.http.passport_number_disclosure.match.solution.s0.o1": "Please check passport number disclosure for all HTTP response text components, including plain text and comments.",
  "1.http.password_autocomplete.empty.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "1.http.password_autocomplete.empty.attack.s0.o1": "{0}",
  "1.http.password_autocomplete.empty.attack.s0.o2": "{0}",
  "1.http.password_autocomplete.empty.result.s0.o0": "In the HTTP response body, the element has been found with an empty autocomplete attribute and password for the type in the input tag.",
  "1.http.password_autocomplete.empty.result.s1.o0": "Therefore, the password can be autocompleted in the page.",
  "1.http.password_autocomplete.empty.solution.s0.o0": "To prevent password autocomplete in the form tag, off for the autocomplete attribute needs to be added in the form tag.",
  "1.http.password_autocomplete.empty.solution.s0.o1": "Alternatively, the autocomplete property with an off value in the INPUT tag where important values ​​such as passwords are placed within the form tag must be added.",
  "1.http.password_autocomplete.invalid.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "1.http.password_autocomplete.invalid.attack.s0.o1": "{0}",
  "1.http.password_autocomplete.invalid.attack.s0.o2": "{0}",
  "1.http.password_autocomplete.invalid.result.s0.o0": "In the HTTP response body, the element has been found with following value for the autocomplete attribute and password for the type in the input tag.",
  "1.http.password_autocomplete.invalid.result.s0.o1": "{0}",
  "1.http.password_autocomplete.invalid.result.s1.o0": "Therefore, the password can be autocompleted in the page.",
  "1.http.password_autocomplete.invalid.solution.s0.o0": "To prevent password autocomplete in the form tag, off for the autocomplete attribute needs to be added in the form tag.",
  "1.http.password_autocomplete.invalid.solution.s0.o1": "Alternatively, the autocomplete property with an off value in the INPUT tag where important values ​​such as passwords are placed within the form tag must be added.",
  "1.http.path_traversal.invocation.attack.s0.o0": "Directory traversal is an attack where the attacker's input value is used in the directory path string to gain access to the file system outside the top-level directory of the web application.",
  "1.http.path_traversal.invocation.attack.s0.o1": "An attacker can access the file system and gain access to sensitive information such as code or system files for a web application.",
  "1.http.path_traversal.invocation.attack.s0.o2": "For example, if the parameter values ​​in the URL are used to load a file as follow,",
  "1.http.path_traversal.invocation.attack.s1.o0": "{0}",
  "1.http.path_traversal.invocation.attack.s2.o0": "Most of file systems can access to files out of the root directory of the web application by using '../', which represents a path to the parent directory, as follow.",
  "1.http.path_traversal.invocation.attack.s3.o0": "{0}",
  "1.http.path_traversal.invocation.attack.s4.o0": "The following HTTP request with the {0} attack string for Path Traversal has been sent to verify that this path traversal is possible:",
  "1.http.path_traversal.invocation.attack.s5.o0": "{0}",
  "1.http.path_traversal.invocation.attack.s5.o1": "{0}",
  "1.http.path_traversal.invocation.result.s0.o0": "The {0} API for accessing to the file system within the server has been called.",
  "1.http.path_traversal.invocation.solution.s0.o0": "To prevent path traversal, the user input ​​should not be used to access files and directories in the file system.",
  "1.http.path_traversal.invocation.solution.s0.o1": "If the user input must be used, make sure that the input is not used to the entire path, and also check that the user input is valid.",
  "1.http.path_traversal.invocation.solution.s0.o2": "It is also a function that encodes possible values ​​of Path Traversal such as URI.normalize() of Java, and it is necessary to change user's input value.",
  "1.http.path_traversal.match.attack.s0.o0": "Directory traversal is an attack where the attacker's input value is used in the directory path string to gain access to the file system outside the top-level directory of the web application.",
  "1.http.path_traversal.match.attack.s0.o1": "An attacker can access the file system and gain access to sensitive information such as code or system files for a web application.",
  "1.http.path_traversal.match.attack.s0.o2": "For example, if the parameter values ​​in the URL are used to load a file as follow,",
  "1.http.path_traversal.match.attack.s1.o0": "{0}",
  "1.http.path_traversal.match.attack.s2.o0": "Most of file systems can access to files out of the root directory of the web application by using '../', which represents a path to the parent directory, as follow.",
  "1.http.path_traversal.match.attack.s3.o0": "{0}",
  "1.http.path_traversal.match.attack.s4.o0": "The following HTTP request with the {0} attack string for Path Traversal has been sent to verify that this path traversal is possible:",
  "1.http.path_traversal.match.attack.s5.o0": "{0}",
  "1.http.path_traversal.match.attack.s5.o1": "{0}",
  "1.http.path_traversal.match.result.s0.o0": "The HTTP response for the HTTP request is shown as follow.",
  "1.http.path_traversal.match.result.s1.o0": "{0}",
  "1.http.path_traversal.match.result.s2.o0": "It is confirmed that {0} attack string manipulated the path and that the contents of the file are included in the HTTP response.",
  "1.http.path_traversal.match.solution.s0.o0": "To prevent path traversal, the user input ​​should not be used to access files and directories in the file system.",
  "1.http.path_traversal.match.solution.s0.o1": "If the user input must be used, make sure that the input is not used to the entire path, and also check that the user input is valid.",
  "1.http.path_traversal.match.solution.s0.o2": "It is also a function that encodes possible values ​​of Path Traversal such as URI.normalize() of Java, and it is necessary to change user's input value.",
  "1.http.phf_command_execution.phf.attack.s0.o0": "An HTTP request has been sent to the {0} path to check the PHF CGI Remote Command Execution vulnerability.",
  "1.http.phf_command_execution.phf.attack.s1.o0": "The HTTP request is shown as follow.",
  "1.http.phf_command_execution.phf.attack.s2.o0": "{0}",
  "1.http.phf_command_execution.phf.attack.s2.o1": "{0}",
  "1.http.phf_command_execution.phf.result.s0.o0": "The PHF CGI remote command execution vulnerability is an attack intended to execute commands on the user's operating system using the 'escape_shell_cmd ()' function of the CGI program PHF.",
  "1.http.phf_command_execution.phf.result.s1.o0": "The following HTTP response message is sent for the HTTP request.",
  "1.http.phf_command_execution.phf.result.s2.o0": "{0}",
  "1.http.phf_command_execution.phf.result.s3.o0": "{0} pattern system information has been exposed in the response message above.",
  "1.http.phf_command_execution.phf.solution.s0.o0": "To resolve the vulnerability, please follow these guidelines",
  "1.http.phf_command_execution.phf.solution.s1.o0": "Do not use a vulnerable CGI program such as PHF that uses the 'escape_shell_cmd ()' function.",
  "1.http.phf_command_execution.phf.solution.s2.o0": "If the program must be used, modify the CGI program so that it does not use the 'escape_shell_cmd ()' function",
  "1.http.private_address_disclosure.pattern.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "1.http.private_address_disclosure.pattern.attack.s0.o1": "{0}",
  "1.http.private_address_disclosure.pattern.attack.s0.o2": "{0}",
  "1.http.private_address_disclosure.pattern.result.s0.o0": "The following string has been found in the HTTP response body:",
  "1.http.private_address_disclosure.pattern.result.s0.o1": "{0}",
  "1.http.private_address_disclosure.pattern.result.s1.o0": "Therefore, the intenal IP address has been exposed from the page.",
  "1.http.private_address_disclosure.pattern.solution.s0.o0": "To prevent the Private Address Exposure vulnerability, users should not use private IP address in a web application",
  "1.http.private_address_disclosure.pattern.solution.s0.o1": "Please verify service banners or debug messages that are likely to expose private IP addresses.",
  "1.http.private_address_disclosure.pattern.solution.s0.o2": "If using a private IP address, users must change the private IP address to a different identifier so that it can not be exploited by an attacker.",
  "1.http.remote_file_include.execute.attack.s0.o0": "The Remote File Inclusion vulnerability is caused by using a user input for file upload or execution.",
  "1.http.remote_file_include.execute.attack.s0.o1": "An attacker can exploit the vulnerability by running a file that contains malicious code through a remote file inclusion vulnerability to exploit sensitive information or to cause the web application to behave abnormally.",
  "1.http.remote_file_include.execute.attack.s0.o2": "If code with the remote file inclusion vulnerability is included in the web application server as follow,",
  "1.http.remote_file_include.execute.attack.s1.o0": "{0}",
  "1.http.remote_file_include.execute.attack.s2.o0": "An attacker can include the malicious file {0} in the web application's server as follow:",
  "1.http.remote_file_include.execute.attack.s3.o0": "{0}",
  "1.http.remote_file_include.execute.attack.s4.o0": "The following HTTP request with a Google link has been sent to check the Remote File Inclusion vulnerability:",
  "1.http.remote_file_include.execute.attack.s5.o0": "{0}",
  "1.http.remote_file_include.execute.attack.s5.o1": "{0}",
  "1.http.remote_file_include.execute.result.s0.o0": "The HTTP response for the HTTP request is shown as follow.",
  "1.http.remote_file_include.execute.result.s1.o0": "{0}",
  "1.http.remote_file_include.execute.result.s2.o0": "It is confirm that the HTTP request contained the content of the Google page.",
  "1.http.remote_file_include.execute.solution.s0.o0": "To avoid remote file inclusion vulnerabilities, users should not use the input values ​​to upload and run files.",
  "1.http.remote_file_include.execute.solution.s0.o1": "If you need to use the user input, enforce user authentication and create whitelists to include and execute only authenticated files, or create blacklists to exclude unauthorized files.",
  "1.http.remote_file_include.execute.solution.s0.o2": "In addition, by using the web firewall, uploading of remote files can be stopped.",
  "1.http.resident_registration_number_disclosure.match.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "1.http.resident_registration_number_disclosure.match.attack.s0.o1": "{0}",
  "1.http.resident_registration_number_disclosure.match.attack.s0.o2": "{0}",
  "1.http.resident_registration_number_disclosure.match.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "1.http.resident_registration_number_disclosure.match.result.s0.o1": "{0}",
  "1.http.resident_registration_number_disclosure.match.result.s1.o0": "The following string has been found in the body of the HTTP response:",
  "1.http.resident_registration_number_disclosure.match.result.s1.o1": "{0}",
  "1.http.resident_registration_number_disclosure.match.result.s1.o2": "The string corresponds to the social security number.",
  "1.http.resident_registration_number_disclosure.match.result.s2.o0": "As a result of the analysis, a social security number has been found in the HTTP response text.",
  "1.http.resident_registration_number_disclosure.match.result.s2.o1": "Therefore, a social security number can be stolen from HTTP requests sent to the server.",
  "1.http.resident_registration_number_disclosure.match.solution.s0.o0": "The HTTP response text should not include a social security number.",
  "1.http.resident_registration_number_disclosure.match.solution.s0.o1": "Please check social security number disclosure for all HTTP response text components, including plain text and comments.",
  "1.http.sensitive_information_in_error_pages.was.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "1.http.sensitive_information_in_error_pages.was.attack.s0.o1": "{0}",
  "1.http.sensitive_information_in_error_pages.was.attack.s0.o2": "{0}",
  "1.http.sensitive_information_in_error_pages.was.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "1.http.sensitive_information_in_error_pages.was.result.s0.o1": "{0}",
  "1.http.sensitive_information_in_error_pages.was.result.s1.o0": "The following string has been found in the HTTP response body:",
  "1.http.sensitive_information_in_error_pages.was.result.s1.o1": "{0}",
  "1.http.sensitive_information_in_error_pages.was.result.s2.o0": "As a result of the analysis, the target page is the error page of {0} WAS (Web Application Server) and the sensitive information has been found to be exposed from the page.",
  "1.http.sensitive_information_in_error_pages.was.result.s2.o1": "Therefore, sensitive information in the error page can be exploited by HTTP request sent to the server.",
  "1.http.sensitive_information_in_error_pages.was.solution.s0.o0": "It is recommended to correct the application error that occurs on the page.",
  "1.http.sensitive_information_in_error_pages.was.solution.s0.o1": "It is recommend to correct the error page so that no sensitive information is exposed on the error page.",
  "1.http.sensitive_information_in_meta_tag.wp_version.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "1.http.sensitive_information_in_meta_tag.wp_version.attack.s0.o1": "{0}",
  "1.http.sensitive_information_in_meta_tag.wp_version.attack.s0.o2": "{0}",
  "1.http.sensitive_information_in_meta_tag.wp_version.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "1.http.sensitive_information_in_meta_tag.wp_version.result.s0.o1": "{0}",
  "1.http.sensitive_information_in_meta_tag.wp_version.result.s1.o0": "In the HTTP response text, the following string has been found in the {1} property value of the {0} tag in the text:",
  "1.http.sensitive_information_in_meta_tag.wp_version.result.s1.o1": "{0}",
  "1.http.sensitive_information_in_meta_tag.wp_version.result.s1.o2": "The string corresponds to the WordPress version information.",
  "1.http.sensitive_information_in_meta_tag.wp_version.result.s2.o0": "As a result of analysis, WordPress version information categorized as sensitive information has been found in {0} tag of the response text.",
  "1.http.sensitive_information_in_meta_tag.wp_version.result.s2.o1": "Therefore, important information about the server can be obtained by HTTP requests sent to the server.",
  "1.http.sensitive_information_in_meta_tag.wp_version.solution.s0.o0": "Do not expose version information for server components.",
  "1.http.sensitive_information_in_meta_tag.wp_version.solution.s0.o1": "The {0} tag should not contain sensitive information, as it can be referenced by external sites.",
  "1.http.server_information_included_in_http_headers.included.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "1.http.server_information_included_in_http_headers.included.attack.s0.o1": "{0}",
  "1.http.server_information_included_in_http_headers.included.attack.s0.o2": "{0}",
  "1.http.server_information_included_in_http_headers.included.result.s0.o0": "The HTTP response header contains the server's version information, as shown below.",
  "1.http.server_information_included_in_http_headers.included.result.s0.o1": "{0}",
  "1.http.server_information_included_in_http_headers.included.solution.s0.o0": "Change settings on the server and restrict the version from being included in the HTTP response header.",
  "1.http.server_information_included_in_http_headers.included.solution.s1.o0": "For PHP, adjust the settings in the php.ini file as shown below.",
  "1.http.server_information_included_in_http_headers.included.solution.s1.o1": "{0}",
  "1.http.server_information_included_in_http_headers.included.solution.s2.o0": "For Apache, adjust the settings in the httpd.conf file as shown below.",
  "1.http.server_information_included_in_http_headers.included.solution.s2.o1": "{0}",
  "1.http.server_information_included_in_http_headers.included.solution.s3.o0": "In Nginx, use the fastcgi_hide_header directive for header hiding.",
  "1.http.server_information_included_in_http_headers.included.solution.s3.o1": "{0}",
  "1.http.server_information_included_in_http_headers.included.solution.s4.o0": "For IIS, adjust the settings in the web.config file as shown below.",
  "1.http.server_information_included_in_http_headers.included.solution.s4.o1": "{0}",
  "1.http.server_information_included_in_http_headers.included.solution.s4.o2": "{0}",
  "1.http.server_side_include.conditional.attack_form": "A value of the parameter {0} transmitted through the form has been set as follow:",
  "1.http.server_side_include.conditional.attack_query_string": "A value of the {0} parameter transmitted through the query string has been set as follow.",
  "1.http.server_side_include.custom.attack.s0.o0": "An HTTP request to be sent to the server has been configured as follow:",
  "1.http.server_side_include.custom.attack.s0.o1": "{0}",
  "1.http.server_side_include.custom.attack.s0.o2": "The set value corresponds to a custom attack string.",
  "1.http.server_side_include.custom.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "1.http.server_side_include.custom.attack.s1.o1": "{0}",
  "1.http.server_side_include.custom.attack.s1.o2": "{0}",
  "1.http.server_side_include.custom.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "1.http.server_side_include.custom.result.s0.o1": "{0}",
  "1.http.server_side_include.custom.result.s1.o0": "The following string has been found in the HTTP response body:",
  "1.http.server_side_include.custom.result.s1.o1": "{0}",
  "1.http.server_side_include.custom.result.s2.o0": "As a result of the analysis, a string complied with the custom detection rule {0} has been found.",
  "1.http.server_side_include.custom.solution.s0.o0": "The user input values should not be used to generate SSI statements.",
  "1.http.server_side_include.custom.solution.s0.o1": "If a user input values ​​must be used for SSI statement configuration, those user input values must be validated.",
  "1.http.server_side_include.exec_unix.attack.s0.o0": "An HTTP request to be sent to the server has been configured as follow:",
  "1.http.server_side_include.exec_unix.attack.s0.o1": "{0}",
  "1.http.server_side_include.exec_unix.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "1.http.server_side_include.exec_unix.attack.s1.o1": "{0}",
  "1.http.server_side_include.exec_unix.attack.s1.o2": "{0}",
  "1.http.server_side_include.exec_unix.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "1.http.server_side_include.exec_unix.result.s0.o1": "{0}",
  "1.http.server_side_include.exec_unix.result.s1.o0": "The following string has been found in the HTTP response body:",
  "1.http.server_side_include.exec_unix.result.s1.o1": "{0}",
  "1.http.server_side_include.exec_unix.result.s2.o0": "As a result of the analysis, the SSI {0} statement with the value set in the HTTP request configuration has been executed on the server.",
  "1.http.server_side_include.exec_unix.result.s2.o1": "Therefore, the file list in the root path of the UNIX-based operating system can be browsed based on the SSI statement by HTTP request sent to the server.",
  "1.http.server_side_include.exec_unix.solution.s0.o0": "The user input values should not be used to generate SSI statements.",
  "1.http.server_side_include.exec_unix.solution.s0.o1": "If a user input values ​​must be used for SSI statement configuration, those user input values must be validated.",
  "1.http.server_side_include.exec_win.attack.s0.o0": "An HTTP request to be sent to the server has been configured as follow:",
  "1.http.server_side_include.exec_win.attack.s0.o1": "{0}",
  "1.http.server_side_include.exec_win.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "1.http.server_side_include.exec_win.attack.s1.o1": "{0}",
  "1.http.server_side_include.exec_win.attack.s1.o2": "{0}",
  "1.http.server_side_include.exec_win.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "1.http.server_side_include.exec_win.result.s0.o1": "{0}",
  "1.http.server_side_include.exec_win.result.s1.o0": "The following string has been found in the HTTP response body:",
  "1.http.server_side_include.exec_win.result.s1.o1": "{0}",
  "1.http.server_side_include.exec_win.result.s2.o0": "As a result of the analysis, the SSI {0} statement with the value set in the HTTP request configuration has been executed on the server.",
  "1.http.server_side_include.exec_win.result.s2.o1": "Therefore, the file list in the root path of the Windows-based operating system can be browsed based on the SSI statement by HTTP request sent to the server.",
  "1.http.server_side_include.exec_win.solution.s0.o0": "The user input values should not be used to generate SSI statements.",
  "1.http.server_side_include.exec_win.solution.s0.o1": "If a user input values ​​must be used for SSI statement configuration, those user input values must be validated.",
  "1.http.server_side_include.invocation.attack.s0.o0": "An HTTP request to be sent to the server has been configured as follow:",
  "1.http.server_side_include.invocation.attack.s0.o1": "{0}",
  "1.http.server_side_include.invocation.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "1.http.server_side_include.invocation.attack.s1.o1": "{0}",
  "1.http.server_side_include.invocation.attack.s1.o2": "{0}",
  "1.http.server_side_include.invocation.result.s0.o0": "{0} method call has been found in the server JVM through TrueScan.",
  "1.http.server_side_include.invocation.result.s0.o1": "Arguments of {0} parameter in the method are as follow:",
  "1.http.server_side_include.invocation.result.s0.o2": "{0}",
  "1.http.server_side_include.invocation.result.s0.o3": "For more information on these methods, see the following link: {0}",
  "1.http.server_side_include.invocation.result.s1.o0": "As a result of the analysis, the value set in the HTTP request configuration has been found in {1} parameter of {0} method.",
  "1.http.server_side_include.invocation.result.s1.o1": "Therefore, the method has been called by an HTTP request sent to the server and the SSI {0} statement has been executed through that method.",
  "1.http.server_side_include.invocation.solution.s0.o0": "The user input values should not be used to generate SSI statements.",
  "1.http.server_side_include.invocation.solution.s0.o1": "If a user input values ​​must be used for SSI statement configuration, those user input values must be validated.",
  "1.http.session_id_url.url.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "1.http.session_id_url.url.attack.s0.o1": "{0}",
  "1.http.session_id_url.url.attack.s0.o2": "{0}",
  "1.http.session_id_url.url.result.s0.o0": "The following string has been found in the URL of the HTTP request.",
  "1.http.session_id_url.url.result.s0.o1": "{0}",
  "1.http.session_id_url.url.result.s1.o0": "Therefore, the session exposure can occur by the HTTP request.",
  "1.http.session_id_url.url.solution.s0.o0": "To prevent exposure of session tokens, users must first ensure that URLs are not exposed.",
  "1.http.session_id_url.url.solution.s0.o1": "Also, to prevent damages due to exposure, a session must be timed out or expired when a condition, such as a certain amount of time, is reached.",
  "1.http.snoop_disclosure.request.attack.s0.o0": "The Snoop Servlet Information Exposure vulnerability is caused by exposing information from the Snoop servlet used by IBM WebSphere or Apache Tomcat.",
  "1.http.snoop_disclosure.request.attack.s1.o0": "The Snoop Servlet has vulnerability to leak important information such as host information of server, server type, server version and path by request modification.",
  "1.http.snoop_disclosure.request.attack.s1.o1": "The same vulnerability exists in Apache Tomcat 3.0, 3.1 and IBM WebSphere 8.0 and earlier versions that use these Snoop servlets.",
  "1.http.snoop_disclosure.request.attack.s2.o0": "An attacker can exploit the vulnerability to steal server information and use it for other attacks.",
  "1.http.snoop_disclosure.request.attack.s3.o0": "The following HTTP request including the {0} Snoop servlet path has been sent to check the Snoop Servlet Information Exposure vulnerability.",
  "1.http.snoop_disclosure.request.attack.s4.o0": "{0}",
  "1.http.snoop_disclosure.request.attack.s4.o1": "{0}",
  "1.http.snoop_disclosure.request.result.s0.o0": "The following HTTP response has been sent to the HTTP request to check the Snoop Servlet Information Exposure vulnerability:",
  "1.http.snoop_disclosure.request.result.s1.o0": "{0}",
  "1.http.snoop_disclosure.request.result.s2.o0": "The string {0} that indicates Snoop information exposures has been found in the HTTP response above.",
  "1.http.snoop_disclosure.request.solution.s0.o0": "To resolve the vulnerability, you should avoid the vulnerable Snoop servlets or web servers that use the Snoop servlets.",
  "1.http.sql_injection.invocation.attack.s0.o0": "The following {0} parameter value has been set on an HTTP request to be sent to the server. {1}",
  "1.http.sql_injection.invocation.attack.s1.o0": "After setting a parameter value, the following HTTP request has been sent to the server.",
  "1.http.sql_injection.invocation.attack.s2.o0": "{0}",
  "1.http.sql_injection.invocation.result.s0.o0": "As a result of the analysis through TrueScan, {0} API has been called to process SQL query statements in the server.",
  "1.http.sql_injection.invocation.result.s1.o0": "The API argument points to SQL query statement to handle, and its value is {0}.",
  "1.http.sql_injection.invocation.result.s2.o0": "The File SQL Injection vulnerability has been found on the argument value.",
  "1.http.sql_injection.invocation.solution.s0.o0": "When using external user input data to configure an SQL query statement, you need to verify the data before using.",
  "1.http.sql_injection.invocation.solution.s1.o0": "Verify that some characters, such as apostrophe ('), are included in user inputs, and replace them with other characters.",
  "1.http.sql_injection.invocation.solution.s2.o0": "Here's an example:",
  "1.http.sql_injection.invocation.solution.s3.o0": "{0}",
  "1.http.sql_injection.invocation.solution.s4.o0": "In addition, an SQL query can be used as an argument.",
  "1.http.temp_file_disclosure.access.attack.s0.o0": "Attempted to access to the URL below that contains attack strings, {0}, in order to check unnecessary extensions in the web service from the directory.",
  "1.http.temp_file_disclosure.access.attack.s0.o1": "{0}",
  "1.http.temp_file_disclosure.access.result.s0.o0": "The following HTTP response is sent for a URL access attempt with an attack string:",
  "1.http.temp_file_disclosure.access.result.s0.o1": "{0}",
  "1.http.temp_file_disclosure.access.result.s2.o0": "A URL with the temporary file path can be accessed through the HTTP response results above.",
  "1.http.temp_file_disclosure.access.solution.s0.o0": "The best way to resolve a temporary file disclosure vulnerability is to remove unnecessary temporary files.",
  "1.http.temp_file_disclosure.access.solution.s0.o1": "When a temporary file is needed, the access to the temporary file should not be allowed to unauthorized users.",
  "1.http.temp_file_disclosure.access.solution.s0.o2": "In addition, the Django, or Spring framework handles requests after mapping URL patterns and their controllers, which prevents temporary files from disclosure.",
  "1.http.tomcat_examples.access.attack.s0.o0": "The Apache Tomcat example vulnerability is caused by exposing an JSP examples of Apache Tomcat with the Cross-site Scripting vulnerabilities.",
  "1.http.tomcat_examples.access.attack.s1.o0": "Various examples and execution environment are provided under /examples/ under Apache Tomcat.",
  "1.http.tomcat_examples.access.attack.s1.o1": "However, since these examples are implemented without security considerations, attackers can perform cross site scripting and other attacks through these examples.",
  "1.http.tomcat_examples.access.attack.s2.o0": "In order to check that the vulnerable Apache Tomcat example is accessible, the following HTTP request is sent:",
  "1.http.tomcat_examples.access.attack.s3.o0": "{0}",
  "1.http.tomcat_examples.access.attack.s3.o1": "{0}",
  "1.http.tomcat_examples.access.result.s0.o0": "The following HTTP response has been received for the HTTP request for accessing the Apache Tomcat example.",
  "1.http.tomcat_examples.access.result.s1.o0": "{0}",
  "1.http.tomcat_examples.access.result.s2.o0": "The session example, one of the vulnerable Apache Tomcat examples, can be accessed by using the response message above.",
  "1.http.tomcat_examples.access.solution.s0.o0": "To prevent the Apache Tomcat example vulnerability, access to the Apache Tomcat default page must be blocked by default.",
  "1.http.unlimited_password_error.conditional.attack_form": "A value of the parameter {0} transmitted through the form has been set as follow:",
  "1.http.unlimited_password_error.conditional.attack_query_string": "A value of the {0} parameter transmitted through the query string has been set as follow.",
  "1.http.unlimited_password_error.five_times.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "1.http.unlimited_password_error.five_times.attack.s0.o1": "{0}",
  "1.http.unlimited_password_error.five_times.attack.s0.o2": "{0}",
  "1.http.unlimited_password_error.five_times.attack.s1.o0": "An HTTP request for login attempts has been configured as follow:",
  "1.http.unlimited_password_error.five_times.attack.s1.o1": "{0}",
  "1.http.unlimited_password_error.five_times.attack.s1.o2": "{0}",
  "1.http.unlimited_password_error.five_times.attack.s2.o0": "The following HTTP request has been sent to the server.",
  "1.http.unlimited_password_error.five_times.attack.s2.o1": "{0}",
  "1.http.unlimited_password_error.five_times.attack.s3.o0": "Repeated above process for 5 times.",
  "1.http.unlimited_password_error.five_times.result.s0.o0": "The HTTP response text for an HTTP request sent to the server is shown as follow.",
  "1.http.unlimited_password_error.five_times.result.s0.o1": "{0}",
  "1.http.unlimited_password_error.five_times.result.s0.o2": "A {0} type {1} web element named {2} has been found in its HTTP response text.",
  "1.http.unlimited_password_error.five_times.result.s0.o3": "The page log-in has been found to be succeeded on the checked web elements.",
  "1.http.unlimited_password_error.five_times.result.s1.o0": "Texts of HTTP responses for HTTP requests have been compared for the 5 times of log-in attempts.",
  "1.http.unlimited_password_error.five_times.result.s2.o0": "As a result of comparison, the same HTTP response texts has been received for HTTP requests to log-in.",
  "1.http.unlimited_password_error.five_times.result.s2.o1": "Therefore, the server does not restrict the client's repeated login attempts.",
  "1.http.unlimited_password_error.five_times.solution.s0.o0": "If an authentication failure of a particular client occurs repeatedly, try to restrict authentication attempts on that client.",
  "1.http.unlimited_password_error.five_times.solution.s0.o1": "After authentication fails five times, an additional authentication process is required.",
  "1.http.weak_password.brute_force.attack.s0.o0": "The Weak Password vulnerability is caused by using an inefficient password, such as not long enough or too common, so an attacker can guess the password.",
  "1.http.weak_password.brute_force.attack.s1.o0": "Passwords such as {0}, {1}, and {2} can be easily guessed because they are overly common passwords.",
  "1.http.weak_password.brute_force.attack.s1.o1": "An attacker can attempt to infer these passwords and, if successful, access the server with the user's privileges.",
  "1.http.weak_password.brute_force.attack.s2.o0": "The following HTTP request with the attack string {1} has been sent to the {0} parameter to check the Weak Password vulnerability.",
  "1.http.weak_password.brute_force.attack.s3.o0": "{0}",
  "1.http.weak_password.brute_force.attack.s3.o1": "{0}",
  "1.http.weak_password.brute_force.result.s0.o0": "The following HTTP response has been received for the HTTP request sent to check the Weak Password vulnerability.",
  "1.http.weak_password.brute_force.result.s1.o0": "{0}",
  "1.http.weak_password.brute_force.result.s2.o0": "The HTTP response above shows that the authentication has been sent.",
  "1.http.weak_password.brute_force.solution.s0.o0": "To resolve a weak password vulnerability, an admin must force users to have sufficiently long passwords.",
  "1.http.weak_password.brute_force.solution.s0.o1": "Also, make sure to use combination of upper and lower alphabet characters, numbers, and special characters, to create unusual passwords.",
  "1.http.web_xml_disclosure.webxml.attack.s0.o0": "The Configuration File Exposure vulnerability is caused by exposing a configuration file with information about web applications.",
  "1.http.web_xml_disclosure.webxml.attack.s1.o0": "Among the configuration files, the web.xml file in WEB-INF is the deployment descriptor of the web application, which is loaded when the server is first loaded and configures the environment of the web application.",
  "1.http.web_xml_disclosure.webxml.attack.s1.o1": "In web.xml, information such as the initial parameters of the servlet context, the validity time of the session, the definition of the servlet / JSP, servlet / JSP mapping, MIME type mapping, error page handling, listener / filter settings are created.",
  "1.http.web_xml_disclosure.webxml.attack.s2.o0": "Because web.xml includes important information about the server, it should not be accessible by default.",
  "1.http.web_xml_disclosure.webxml.attack.s3.o0": "To check the Configuration File Exposure vulnerability, the following HTTP request with path {0} has been sent.",
  "1.http.web_xml_disclosure.webxml.attack.s4.o0": "{0}",
  "1.http.web_xml_disclosure.webxml.attack.s4.o1": "{0}",
  "1.http.web_xml_disclosure.webxml.result.s0.o0": "The HTTP response for the HTTP request is shown as follow.",
  "1.http.web_xml_disclosure.webxml.result.s1.o0": "{0}",
  "1.http.web_xml_disclosure.webxml.result.s2.o0": "The HTTP response has been found to be normally received.",
  "1.http.web_xml_disclosure.webxml.solution.s0.o0": "To prevent configuration file exposure vulnerabilities, users must prevent access to the path where the file is located.",
  "1.http.web_xml_disclosure.webxml.solution.s1.o0": "In addition, users must prevent user inputs accessing to the file path. When you need to use them, encode or verify them before using.",
  "1.http.xitami_information_leakage.testcgi.attack.s0.o0": "An HTTP request has been sent to the {0} path to check the Xitami Web Server Information Leakage vulnerability.",
  "1.http.xitami_information_leakage.testcgi.attack.s1.o0": "The HTTP request is shown as follow.",
  "1.http.xitami_information_leakage.testcgi.attack.s2.o0": "{0}",
  "1.http.xitami_information_leakage.testcgi.attack.s2.o1": "{0}",
  "1.http.xitami_information_leakage.testcgi.result.s0.o0": "The Xitami Information Leak vulnerability enables users to execute tesgcgi.exe file packaged in Xitami 2.5b or earlier versions when the file path is used as a default.",
  "1.http.xitami_information_leakage.testcgi.result.s1.o0": "The following HTTP response message is sent for the HTTP request.",
  "1.http.xitami_information_leakage.testcgi.result.s2.o0": "{0}",
  "1.http.xitami_information_leakage.testcgi.result.s3.o0": "A predictable pattern has been found in above HTTP response message.",
  "1.http.xitami_information_leakage.testcgi.solution.s0.o0": "To resolve the vulnerability, please follow these guidelines",
  "1.http.xitami_information_leakage.testcgi.solution.s1.o0": "Please remove testcgi.exe file.",
  "1.http.xitami_information_leakage.testcgi.solution.s2.o0": "Or, place the file in a location other than the default location.",
  "1.http.xss.reflected.attack.s0.o0": "The Cross-site Scripting (XSS) vulnerability is caused by injecting a malicious script to a website.",
  "1.http.xss.reflected.attack.s0.o1": "If a web application server uses an external input value without validation, an attacker can enter a malicious script to steal information from a web application user or cause the web application to behave inappropriately.",
  "1.http.xss.reflected.attack.s0.o2": "The Non-persistent Cross-site Scripting is caused by display a malicious script entered by an attacker on a web page without further validation.",
  "1.http.xss.reflected.attack.s0.o3": "The following HTTP request with the {1} attack string has been sent to the {0} parameter to check the Non-persistent Cross-site Scripting vulnerability.",
  "1.http.xss.reflected.attack.s1.o0": "{0}",
  "1.http.xss.reflected.attack.s1.o1": "{0}",
  "1.http.xss.reflected.result.s0.o0": "Non-persistent cross-site scripting returns scripts that were entered in the server, including error messages, search results, and HTTP response messages with other input data.",
  "1.http.xss.reflected.result.s0.o1": "The following HTTP response message is sent for the HTTP request.",
  "1.http.xss.reflected.result.s1.o0": "{0}",
  "1.http.xss.reflected.result.s2.o0": "The HTTP response above shows that it contains the {0} attack string.",
  "1.http.xss.reflected.solution.s0.o0": "The solution is shown as follow.",
  "1.http.xss.reflected.solution.s1.o0": "To eliminate the non-persistent cross-site scripting vulnerability, you must validate and filter the external data that is input from the user.",
  "1.http.xss.reflected.solution.s2.o0": "By default, an external input that entered by a user cannot be used in a tag name or a tag property name, between <script> tags, between <style> tags, between HTML comments, or in an unacceptable location.",
  "1.http.xss.reflected.solution.s3.o0": "Alternatively, an external data input from users must be encoded before using as follow.",
  "1.http.xss.reflected.solution.s4.o0": "Encoding when using external data input from HTML element user",
  "1.http.xss.reflected.solution.s4.o1": "{0}",
  "1.http.xss.reflected.solution.s5.o0": "Encoding is also required when using external data that is input from a user, such as HTML property values, URL parameters, JavaScript, and CSS values.",
  "1.http.xss.reflected.solution.s6.o0": "Java :",
  "1.http.xss.reflected.solution.s6.o1": "{0}",
  "1.http.xss.reflected.solution.s7.o0": "JSP :",
  "1.http.xss.reflected.solution.s7.o1": "{0}",
  "1.http.xss.reflected.solution.s8.o0": "PHP :",
  "1.http.xss.reflected.solution.s8.o1": "{0}",
  "1.socket.ajp_enable.custom.attack.s0.o0": "Attempted to connect to the server using an TCP socket.",
  "1.socket.ajp_enable.custom.attack.s0.o0 ": "Attempted to connect to the server using a TCP socket.",
  "1.socket.ajp_enable.custom.attack.s0.o1": "The host address of the server that attempted to connect is {0}, and the port number is {1}.",
  "1.socket.ajp_enable.custom.attack.s0.o1 ": "The host address of the server that attempted to connect is {0}, and the port number is {1}.",
  "1.socket.ajp_enable.custom.attack.s0.o2": "Port number {0} is the port number that corresponds to the user-defined port number.",
  "1.socket.ajp_enable.custom.attack.s0.o2 ": "Port number {0} is within the ranges of custom port numbers.",
  "1.socket.ajp_enable.custom.attack.s0.o3": "Successfully connected to the server.",
  "1.socket.ajp_enable.custom.attack.s0.o3 ": "Successfully connected to the server.",
  "1.socket.ajp_enable.custom.attack.s1.o0": "The following message has been sent through TCP socket.",
  "1.socket.ajp_enable.custom.attack.s1.o0 ": "The following message has been sent through a TCP socket.",
  "1.socket.ajp_enable.custom.attack.s1.o1": "{0}",
  "1.socket.ajp_enable.custom.result.s0.o0": "After sending the message, the following message has been received from the server via TCP socket.",
  "1.socket.ajp_enable.custom.result.s0.o0 ": "After sending the message, the following message has been received through a TCP socket from the server.",
  "1.socket.ajp_enable.custom.result.s0.o1": "{0}",
  "1.socket.ajp_enable.custom.result.s1.o0": "The following string has been found in the received message.",
  "1.socket.ajp_enable.custom.result.s1.o0 ": "Found the following strings from the received message:",
  "1.socket.ajp_enable.custom.result.s1.o1": "{0}",
  "1.socket.ajp_enable.custom.result.s2.o0": "As a result of the analysis, a normal response has been received from the server for the AJP ping sent to the server.",
  "1.socket.ajp_enable.custom.result.s2.o0 ": "As a result of analysis, a normal response has received from the server for the AJP ping.",
  "1.socket.ajp_enable.custom.result.s2.o1": "Therefore, the server can access the JMX/RMI service through port {0} and that the service is exposed to the outside.",
  "1.socket.ajp_enable.custom.result.s2.o1 ": "The {0} port can access to the server's AJP service, which means that the service is open.",
  "1.socket.ajp_enable.custom.solution.s0.o0": "If using the AJP service, access control should be controlled so that it can not be accessed from outside without permission.",
  "1.socket.ajp_enable.custom.solution.s0.o0 ": "When using AJP service, access control is required so that it cannot be accessed by any external user without permission.",
  "1.socket.ajp_enable.custom.solution.s0.o1": "Access rights can be controlled through tools such as firewalls.",
  "1.socket.ajp_enable.custom.solution.s0.o1 ": "Access rights can be controlled through tools such as firewalls.",
  "1.socket.ajp_enable.default.attack.s0.o0": "Attempted to connect to the server using an TCP socket.",
  "1.socket.ajp_enable.default.attack.s0.o0 ": "Attempted to connect to the server using a TCP socket.",
  "1.socket.ajp_enable.default.attack.s0.o1": "The host address of the server that attempted to connect is {0}, and the port number is {1}.",
  "1.socket.ajp_enable.default.attack.s0.o1 ": "The host address of the server that attempted to connect is {0}, and the port number is {1}.",
  "1.socket.ajp_enable.default.attack.s0.o2": "Successfully connected to the server.",
  "1.socket.ajp_enable.default.attack.s0.o2 ": "Successfully connected to the server.",
  "1.socket.ajp_enable.default.attack.s1.o0": "The following message has been sent through TCP socket.",
  "1.socket.ajp_enable.default.attack.s1.o0 ": "The following message has been sent through a TCP socket.",
  "1.socket.ajp_enable.default.attack.s1.o1": "{0}",
  "1.socket.ajp_enable.default.result.s0.o0": "After sending the message, the following message has been received from the server via TCP socket.",
  "1.socket.ajp_enable.default.result.s0.o0 ": "After sending the message, the following message has been received through a TCP socket from the server.",
  "1.socket.ajp_enable.default.result.s0.o1": "{0}",
  "1.socket.ajp_enable.default.result.s1.o0": "The following string has been found in the received message.",
  "1.socket.ajp_enable.default.result.s1.o0 ": "Found the following strings from the received message:",
  "1.socket.ajp_enable.default.result.s1.o1": "{0}",
  "1.socket.ajp_enable.default.result.s2.o0": "As a result of the analysis, a normal response has been received from the server for the AJP ping sent to the server.",
  "1.socket.ajp_enable.default.result.s2.o0 ": "As a result of analysis, a normal response has received from the server for the AJP ping.",
  "1.socket.ajp_enable.default.result.s2.o1": "Therefore, the server can access the JMX/RMI service through port {0} and that the service is exposed to the outside.",
  "1.socket.ajp_enable.default.result.s2.o1 ": "The {0} port can access to the server's AJP service, which means that the service is open.",
  "1.socket.ajp_enable.default.solution.s0.o0": "If using the AJP service, access control should be controlled so that it can not be accessed from outside without permission.",
  "1.socket.ajp_enable.default.solution.s0.o0 ": "When using AJP service, access control is required so that it cannot be accessed by any external user without permission.",
  "1.socket.ajp_enable.default.solution.s0.o1": "Access rights can be controlled through tools such as firewalls.",
  "1.socket.ajp_enable.default.solution.s0.o1 ": "Access rights can be controlled through tools such as firewalls.",
  "1.socket.ajp_enable.default.solution.s1.o0": "If using the AJP service, the default settings, including the default port number, should not be used.",
  "1.socket.ajp_enable.default.solution.s1.o0 ": "If using the AJP service, the default settings, including the default port number, should not be used.",
  "1.socket.ajp_enable.default.solution.s1.o1": "Instead of the AJP service's default port number of {0}, a different port number must be used.",
  "1.socket.ajp_enable.default.solution.s1.o1 ": "Instead of the AJP service's default port number of {0}, a different port number must be used.",
  "1.socket.ajp_enable.scanned.attack.s0.o0": "Attempted to connect to the server using an TCP socket.",
  "1.socket.ajp_enable.scanned.attack.s0.o0 ": "Attempted to connect to the server using a TCP socket.",
  "1.socket.ajp_enable.scanned.attack.s0.o1": "The host address of the server that attempted to connect is {0}, and the port number is {1}.",
  "1.socket.ajp_enable.scanned.attack.s0.o1 ": "The host address of the server that attempted to connect is {0}, and the port number is {1}.",
  "1.socket.ajp_enable.scanned.attack.s0.o2": "Successfully connected to the server.",
  "1.socket.ajp_enable.scanned.attack.s0.o2 ": "Successfully connected to the server.",
  "1.socket.ajp_enable.scanned.attack.s1.o0": "The following message has been sent through TCP socket.",
  "1.socket.ajp_enable.scanned.attack.s1.o0 ": "The following message has been sent through a TCP socket.",
  "1.socket.ajp_enable.scanned.attack.s1.o1": "{0}",
  "1.socket.ajp_enable.scanned.result.s0.o0": "After sending the message, the following message has been received from the server via TCP socket.",
  "1.socket.ajp_enable.scanned.result.s0.o0 ": "After sending the message, the following message has been received through a TCP socket from the server.",
  "1.socket.ajp_enable.scanned.result.s0.o1": "{0}",
  "1.socket.ajp_enable.scanned.result.s1.o0": "The following string has been found in the received message.",
  "1.socket.ajp_enable.scanned.result.s1.o0 ": "Found the following strings from the received message:",
  "1.socket.ajp_enable.scanned.result.s1.o1": "{0}",
  "1.socket.ajp_enable.scanned.result.s2.o0": "As a result of the analysis, a normal response has been received from the server for the AJP ping sent to the server.",
  "1.socket.ajp_enable.scanned.result.s2.o0 ": "As a result of analysis, a normal response has received from the server for the AJP ping.",
  "1.socket.ajp_enable.scanned.result.s2.o1": "Therefore, the server can access the JMX/RMI service through port {0} and that the service is exposed to the outside.",
  "1.socket.ajp_enable.scanned.result.s2.o1 ": "The {0} port can access to the server's AJP service, which means that the service is open.",
  "1.socket.ajp_enable.scanned.solution.s0.o0": "If using the AJP service, access control should be controlled so that it can not be accessed from outside without permission.",
  "1.socket.ajp_enable.scanned.solution.s0.o0 ": "When using AJP service, access control is required so that it cannot be accessed by any external user without permission.",
  "1.socket.ajp_enable.scanned.solution.s0.o1": "Access rights can be controlled through tools such as firewalls.",
  "1.socket.ajp_enable.scanned.solution.s0.o1 ": "Access rights can be controlled through tools such as firewalls.",
  "1.socket.jmx_rmi_enable.custom.attack.s0.o0": "A connection to the server has been attempted by using the JMX connector.",
  "1.socket.jmx_rmi_enable.custom.attack.s0.o0 ": "Attempted to connect to the server using a JMX connector.",
  "1.socket.jmx_rmi_enable.custom.attack.s0.o1": "The host address of the server that attempted to connect is {0}, and the port number is {1}.",
  "1.socket.jmx_rmi_enable.custom.attack.s0.o1 ": "The host address of the server that attempted to connect is {0}, and the port number is {1}.",
  "1.socket.jmx_rmi_enable.custom.attack.s0.o2": "Port number {0} is the port number that corresponds to the user-defined port number.",
  "1.socket.jmx_rmi_enable.custom.attack.s0.o2 ": "Port number {0} is within the ranges of custom port numbers.",
  "1.socket.jmx_rmi_enable.custom.attack.s0.o3": "Successfully connected to the server.",
  "1.socket.jmx_rmi_enable.custom.attack.s0.o3 ": "Successfully connected to the server.",
  "1.socket.jmx_rmi_enable.custom.attack.s1.o0": "A query has been sent through the JMX connector for the {1} property value of the MBean with object name {0}.",
  "1.socket.jmx_rmi_enable.custom.attack.s1.o0 ": "The query for {1} attribute of MBean object named {0} has been sent through a JMX connector.",
  "1.socket.jmx_rmi_enable.custom.result.s0.o0": "After executing the query, the following response from the server has been received through the JMX connector.",
  "1.socket.jmx_rmi_enable.custom.result.s0.o0 ": "After executing the query, the following response has been received through a JMX connector from the server.",
  "1.socket.jmx_rmi_enable.custom.result.s0.o1": "{0}",
  "1.socket.jmx_rmi_enable.custom.result.s1.o0": "The following string has been found in the received response.",
  "1.socket.jmx_rmi_enable.custom.result.s1.o0 ": "Found the following strings from the received response:",
  "1.socket.jmx_rmi_enable.custom.result.s1.o1": "{0}",
  "1.socket.jmx_rmi_enable.custom.result.s2.o0": "As a result of the analysis, the normal response has been received from the server for {0} property value sent to server.",
  "1.socket.jmx_rmi_enable.custom.result.s2.o0 ": "As a result of analysis, a normal response has received from the server for the query of {0} attribute.",
  "1.socket.jmx_rmi_enable.custom.result.s2.o1": "Therefore, the server can access the JMX / RMI service through port {0} and that the service is exposed to the outside.",
  "1.socket.jmx_rmi_enable.custom.result.s2.o1 ": "The {0} port can access to the server's JMX/RMI service, which means that the service is open.",
  "1.socket.jmx_rmi_enable.custom.solution.s0.o0": "If using the JMX/RMI service, access must be controlled so that it can not be accessed from outside without permission.",
  "1.socket.jmx_rmi_enable.custom.solution.s0.o0 ": "When using JMX/RMI service, access control is required so that it cannot be accessed by any external user without permission.",
  "1.socket.jmx_rmi_enable.custom.solution.s0.o1": "Access rights can be controlled through tools such as firewalls.",
  "1.socket.jmx_rmi_enable.custom.solution.s0.o1 ": "Access rights can be controlled through tools such as firewalls.",
  "1.socket.jmx_rmi_enable.default.attack.s0.o0": "A connection to the server has been attempted by using the JMX connector.",
  "1.socket.jmx_rmi_enable.default.attack.s0.o0 ": "Attempted to connect to the server using a JMX connector.",
  "1.socket.jmx_rmi_enable.default.attack.s0.o1": "The host address of the server that attempted to connect is {0}, and the port number is {1}.",
  "1.socket.jmx_rmi_enable.default.attack.s0.o1 ": "The host address of the server that attempted to connect is {0}, and the port number is {1}.",
  "1.socket.jmx_rmi_enable.default.attack.s0.o2": "Successfully connected to the server.",
  "1.socket.jmx_rmi_enable.default.attack.s0.o2 ": "Successfully connected to the server.",
  "1.socket.jmx_rmi_enable.default.attack.s1.o0": "A query has been sent through the JMX connector for the {1} property value of the MBean with object name {0}.",
  "1.socket.jmx_rmi_enable.default.attack.s1.o0 ": "The query for {1} attribute of MBean object named {0} has been sent through a JMX connector.",
  "1.socket.jmx_rmi_enable.default.result.s0.o0": "After executing the query, the following response from the server has been received through the JMX connector.",
  "1.socket.jmx_rmi_enable.default.result.s0.o0 ": "After executing the query, the following response has been received through a JMX connector from the server.",
  "1.socket.jmx_rmi_enable.default.result.s0.o1": "{0}",
  "1.socket.jmx_rmi_enable.default.result.s1.o0": "The following string has been found in the received response.",
  "1.socket.jmx_rmi_enable.default.result.s1.o0 ": "Found the following strings from the received response:",
  "1.socket.jmx_rmi_enable.default.result.s1.o1": "{0}",
  "1.socket.jmx_rmi_enable.default.result.s2.o0": "As a result of the analysis, the normal response has been received from the server for {0} property value sent to server.",
  "1.socket.jmx_rmi_enable.default.result.s2.o0 ": "As a result of analysis, a normal response has received from the server for the query of {0} attribute.",
  "1.socket.jmx_rmi_enable.default.result.s2.o1": "Therefore, the server can access the JMX / RMI service through port {0} and that the service is exposed to the outside.",
  "1.socket.jmx_rmi_enable.default.result.s2.o1 ": "The {0} port can access to the server's JMX/RMI service, which means that the service is open.",
  "1.socket.jmx_rmi_enable.default.solution.s0.o0": "If using the JMX/RMI service, access must be controlled so that it can not be accessed from outside without permission.",
  "1.socket.jmx_rmi_enable.default.solution.s0.o0 ": "When using JMX/RMI service, access control is required so that it cannot be accessed by any external user without permission.",
  "1.socket.jmx_rmi_enable.default.solution.s0.o1": "Access rights can be controlled through tools such as firewalls.",
  "1.socket.jmx_rmi_enable.default.solution.s0.o1 ": "Access rights can be controlled through tools such as firewalls.",
  "1.socket.jmx_rmi_enable.default.solution.s1.o0": "Do not use default settings including a default port number in JMX/RMI service.",
  "1.socket.jmx_rmi_enable.default.solution.s1.o0 ": "If using the JMX/RMI service, the default settings, including the default port number, should not be used.",
  "1.socket.jmx_rmi_enable.default.solution.s1.o1": "Use other port numbers instead of a default port number {0} in JMX/RMI service.",
  "1.socket.jmx_rmi_enable.default.solution.s1.o1 ": "Instead of the JMX/RMI service's default port number of {0}, a different port number must be used.",
  "1.socket.jmx_rmi_enable.scanned.attack.s0.o0": "A connection to the server has been attempted by using the JMX connector.",
  "1.socket.jmx_rmi_enable.scanned.attack.s0.o0 ": "Attempted to connect to the server using a JMX connector.",
  "1.socket.jmx_rmi_enable.scanned.attack.s0.o1": "The host address of the server that attempted to connect is {0}, and the port number is {1}.",
  "1.socket.jmx_rmi_enable.scanned.attack.s0.o1 ": "The host address of the server that attempted to connect is {0}, and the port number is {1}.",
  "1.socket.jmx_rmi_enable.scanned.attack.s0.o2": "Successfully connected to the server.",
  "1.socket.jmx_rmi_enable.scanned.attack.s0.o2 ": "Successfully connected to the server.",
  "1.socket.jmx_rmi_enable.scanned.attack.s1.o0": "A query has been sent through the JMX connector for the {1} property value of the MBean with object name {0}.",
  "1.socket.jmx_rmi_enable.scanned.attack.s1.o0 ": "The query for {1} attribute of MBean object named {0} has been sent through a JMX connector.",
  "1.socket.jmx_rmi_enable.scanned.result.s0.o0": "After executing the query, the following response from the server has been received through the JMX connector.",
  "1.socket.jmx_rmi_enable.scanned.result.s0.o0 ": "After executing the query, the following response has been received through a JMX connector from the server.",
  "1.socket.jmx_rmi_enable.scanned.result.s0.o1": "{0}",
  "1.socket.jmx_rmi_enable.scanned.result.s1.o0": "The following string has been found in the received response.",
  "1.socket.jmx_rmi_enable.scanned.result.s1.o0 ": "Found the following strings from the received response:",
  "1.socket.jmx_rmi_enable.scanned.result.s1.o1": "{0}",
  "1.socket.jmx_rmi_enable.scanned.result.s2.o0": "As a result of the analysis, the normal response has been received from the server for {0} property value sent to server.",
  "1.socket.jmx_rmi_enable.scanned.result.s2.o0 ": "As a result of analysis, a normal response has received from the server for the query of {0} attribute.",
  "1.socket.jmx_rmi_enable.scanned.result.s2.o1": "Therefore, the server can access the JMX / RMI service through port {0} and that the service is exposed to the outside.",
  "1.socket.jmx_rmi_enable.scanned.result.s2.o1 ": "The {0} port can access to the server's JMX/RMI service, which means that the service is open.",
  "1.socket.jmx_rmi_enable.scanned.solution.s0.o0": "If using the JMX/RMI service, access must be controlled so that it can not be accessed from outside without permission.",
  "1.socket.jmx_rmi_enable.scanned.solution.s0.o0 ": "When using JMX/RMI service, access control is required so that it cannot be accessed by any external user without permission.",
  "1.socket.jmx_rmi_enable.scanned.solution.s0.o1": "Access rights can be controlled through tools such as firewalls.",
  "1.socket.jmx_rmi_enable.scanned.solution.s0.o1 ": "Access rights can be controlled through tools such as firewalls.",
  "1.socket.slow_http_dos.custom.attack.s0.o0": "An HTTP request to be sent to the server has been configured as follow:",
  "1.socket.slow_http_dos.custom.attack.s0.o1": "A newline character (\"\\r\\n\") to denote the end of header information in an HTTP request has been omitted.",
  "1.socket.slow_http_dos.custom.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "1.socket.slow_http_dos.custom.attack.s1.o1": "{0}",
  "1.socket.slow_http_dos.custom.attack.s2.o0": "After waiting for {0} ms, the undelivered newline character has been successfully transmitted.",
  "1.socket.slow_http_dos.custom.attack.s2.o1": "The wait time before sending undelivered newline characters corresponds to the delay between custom requests.",
  "1.socket.slow_http_dos.custom.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "1.socket.slow_http_dos.custom.result.s0.o1": "{0}",
  "1.socket.slow_http_dos.custom.result.s1.o0": "A normal HTTP response has been received from the server.",
  "1.socket.slow_http_dos.custom.result.s2.o0": "The analysis found that the request waits for an HTTP request that does not have the last newline character in the header information to complete.",
  "1.socket.slow_http_dos.custom.result.s2.o1": "Therefore, the HTTP request can consume network resources in server for at least {0} ms.",
  "1.socket.slow_http_dos.custom.solution.s0.o0": "Ensure a single HTTP request does not occupy the session for too long by adjusting the timeout value for each HTTP request to a reasonable level.",
  "1.socket.slow_http_dos.custom.solution.s0.o1": "If it's difficult to set a timeout, web cache software can help prevent traffic failures.",
  "1.socket.slow_http_dos.waiting.attack.s0.o0": "An HTTP request to be sent to the server has been configured as follow:",
  "1.socket.slow_http_dos.waiting.attack.s0.o1": "A newline character (\"\\r\\n\") to denote the end of header information in an HTTP request has been omitted.",
  "1.socket.slow_http_dos.waiting.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "1.socket.slow_http_dos.waiting.attack.s1.o1": "{0}",
  "1.socket.slow_http_dos.waiting.attack.s2.o0": "After waiting for {0} ms, the undelivered newline character has been successfully transmitted.",
  "1.socket.slow_http_dos.waiting.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "1.socket.slow_http_dos.waiting.result.s0.o1": "{0}",
  "1.socket.slow_http_dos.waiting.result.s1.o0": "A normal HTTP response has been received from the server.",
  "1.socket.slow_http_dos.waiting.result.s2.o0": "The analysis found that the request waits for an HTTP request that does not have the last newline character in the header information to complete.",
  "1.socket.slow_http_dos.waiting.result.s2.o1": "Therefore, the HTTP request can consume network resources in server for at least {0} ms.",
  "1.socket.slow_http_dos.waiting.solution.s0.o0": "Ensure a single HTTP request does not occupy the session for too long by adjusting the timeout value for each HTTP request to a reasonable level.",
  "1.socket.slow_http_dos.waiting.solution.s0.o1": "If it's difficult to set a timeout, web cache software can help prevent traffic failures.",
  "2.event.command_injection.conditional.apiReqInfo": "{0}",
  "2.event.command_injection.conditional.apiReqMsg": "The following API request has been occurred as a result of executing {0} event during attempted attack.",
  "2.event.command_injection.conditional.apireqinfo": "{0}",
  "2.event.command_injection.conditional.apireqmsg": "The following API request has occurred as a result of executing {0} event during attempted attack.",
  "2.event.command_injection.netstat.attack.s0.o0": "To reach an attack target page, the following process has been performed.",
  "2.event.command_injection.netstat.attack.s0.o1": "{0}",
  "2.event.command_injection.netstat.attack.s1.o0": "The following string has been entered in all {0} elements of the attack target page:",
  "2.event.command_injection.netstat.attack.s1.o1": "{0}",
  "2.event.command_injection.netstat.attack.s2.o0": "{0}",
  "2.event.command_injection.netstat.attack.s3.o0": "{1} event has been performed in elements with XPath {0}.",
  "2.event.command_injection.netstat.result.s0.o0": "After executing an event, the following string has been found in DOM of the attack target page.",
  "2.event.command_injection.netstat.result.s0.o1": "{0}",
  "2.event.command_injection.netstat.result.s1.o0": "As a result of the analysis, a command execution result entered in an event has been found.",
  "2.event.command_injection.netstat.result.s1.o1": "Therefore, the performed events execute commands within server operating system.",
  "2.event.command_injection.netstat.solution.s0.o0": "If execute an operating system command with an external input value, verification of the external input value is required.",
  "2.event.command_injection.netstat.solution.s1.o0": "For {0} operating systems, verification of the following characters is required:",
  "2.event.command_injection.netstat.solution.s1.o1": "{0}",
  "2.event.command_injection.netstat.solution.s2.o0": "For {0} operating systems, verification of the following characters is required:",
  "2.event.command_injection.netstat.solution.s2.o1": "{0}",
  "2.event.sql_injection.success.attack.s0.o0": "Assigned attack strings with special characters to the log-in page in order to check the SQL injection.",
  "2.event.sql_injection.success.attack.s1.o0": "Attack Position",
  "2.event.sql_injection.success.attack.s1.o1": "{0}",
  "2.event.sql_injection.success.attack.s2.o0": "Attack Character",
  "2.event.sql_injection.success.attack.s2.o1": "{0}",
  "2.event.sql_injection.success.result.s0.o0": "The following results are sent for a log-in attempt with the attack string:",
  "2.event.sql_injection.success.result.s1.o0": "{0}",
  "2.event.sql_injection.success.result.s2.o0": "Failure of filtering out special characters that might lead to SQL injection vulnerability makes the page compromised.",
  "2.event.sql_injection.success.result.s3.o0": "The attack has been succeeded, or an abnormal action has occurred.",
  "2.event.sql_injection.success.solution.s0.o0": "The malicious SQL query allows an attacker to view or manipulate DBMS or data. Make sure to filter out user inputs.",
  "2.event.sql_injection.success.solution.s0.o1": "Special characters, such as {0}, {1}, {2}, {3}, {4}, might cause the SQL injection. Do not use them in user inputs.",
  "2.event.xpath_injection.success.attack.s0.o0": "Assigned attack strings with special characters to the log-in page in order to check the XPath injection.",
  "2.event.xpath_injection.success.attack.s1.o0": "Attack Position",
  "2.event.xpath_injection.success.attack.s1.o1": "{0}",
  "2.event.xpath_injection.success.attack.s2.o0": "Attack Character",
  "2.event.xpath_injection.success.attack.s2.o1": "{0}",
  "2.event.xpath_injection.success.result.s0.o0": "The following results are sent for a log-in attempt with the attack string:",
  "2.event.xpath_injection.success.result.s1.o0": "{0}",
  "2.event.xpath_injection.success.result.s2.o0": "Failure of filtering out special characters that might lead to XPath injection vulnerability makes the page compromised.",
  "2.event.xpath_injection.success.result.s3.o0": "The attack has been succeeded, or an abnormal action has occurred.",
  "2.event.xpath_injection.success.solution.s0.o0": "Use strict validation and allow required characters only in the user inputs to XPath query,",
  "2.event.xpath_injection.success.solution.s0.o1": "Do not allow to enter special characters, such as {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8}, {9}. To validate the inputs, whitelisting allowed characters is secure rather than filtering out forbidden special characters.",
  "2.http.absolute_path_disclosure.match.attack.s0.o0": "The HTTP request has been passed.",
  "2.http.absolute_path_disclosure.match.attack.s0.o1": "The HTTP request is shown as follow.",
  "2.http.absolute_path_disclosure.match.attack.s1.o0": "{0}",
  "2.http.absolute_path_disclosure.match.attack.s1.o1": "{0}",
  "2.http.absolute_path_disclosure.match.attack.s2.o0": "An HTTP response has been received.",
  "2.http.absolute_path_disclosure.match.attack.s3.o0": "The status code of the HTTP response has been checked to be an error.",
  "2.http.absolute_path_disclosure.match.attack.s4.o0": "A string of absolute file path has been found in the HTTP response texts.",
  "2.http.absolute_path_disclosure.match.result.s0.o0": "The status code for the HTTP response is shown as follow.",
  "2.http.absolute_path_disclosure.match.result.s1.o0": "{0}",
  "2.http.absolute_path_disclosure.match.result.s2.o0": "The following string has been found in the HTTP response body:",
  "2.http.absolute_path_disclosure.match.result.s3.o0": "{0}",
  "2.http.absolute_path_disclosure.match.result.s3.o1": "The string corresponds to the absolute file path.",
  "2.http.absolute_path_disclosure.match.solution.s0.o0": "Remove the absolute file path from the HTTP response texts unless it is designed to expose.",
  "2.http.application_error.error.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "2.http.application_error.error.attack.s0.o1": "{0}",
  "2.http.application_error.error.attack.s0.o2": "{0}",
  "2.http.application_error.error.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "2.http.application_error.error.result.s0.o1": "{0}",
  "2.http.application_error.error.result.s0.o2": "{0}",
  "2.http.application_error.error.result.s1.o0": "The status code for the HTTP response is shown as follow.",
  "2.http.application_error.error.result.s1.o1": "{0}",
  "2.http.application_error.error.result.s2.o0": "As a result of analysis, it is confirmed that an application error occurred on the corresponding page.",
  "2.http.application_error.error.result.s2.o1": "This means that an application error occurs due to the HTTP request sent to the server.",
  "2.http.application_error.error.solution.s0.o0": "It is recommended to correct the application error that occurs on the page.",
  "2.http.application_error.success.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "2.http.application_error.success.attack.s0.o1": "{0}",
  "2.http.application_error.success.attack.s0.o2": "{0}",
  "2.http.application_error.success.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "2.http.application_error.success.result.s0.o1": "{0}",
  "2.http.application_error.success.result.s0.o2": "{0}",
  "2.http.application_error.success.result.s1.o0": "The following parts of the body of the HTTP response meet the pattern for an error page.",
  "2.http.application_error.success.result.s1.o1": "{0}",
  "2.http.application_error.success.result.s2.o0": "As a result of analysis, it is confirmed that it is an error page.",
  "2.http.application_error.success.result.s2.o1": "This means that an application error occurs due to the HTTP request sent to the server.",
  "2.http.application_error.success.solution.s0.o0": "It is recommended to correct the application error that occurs on the page.",
  "2.http.blind_sql_injection.compare_different.attack.s0.o0": "The source HTTP request has been sent to the server as follow.",
  "2.http.blind_sql_injection.compare_different.attack.s0.o1": "{0}",
  "2.http.blind_sql_injection.compare_different.attack.s1.o0": "The source HTTP request has been modified as follow:",
  "2.http.blind_sql_injection.compare_different.attack.s1.o1": "{0}",
  "2.http.blind_sql_injection.compare_different.attack.s2.o0": "The first modified HTTP request has been sent to the server as follow.",
  "2.http.blind_sql_injection.compare_different.attack.s2.o1": "{0}",
  "2.http.blind_sql_injection.compare_different.attack.s3.o0": "The source HTTP request has been modified as follow:",
  "2.http.blind_sql_injection.compare_different.attack.s3.o1": "{0}",
  "2.http.blind_sql_injection.compare_different.attack.s4.o0": "The second modified HTTP request has been sent to the server as follow.",
  "2.http.blind_sql_injection.compare_different.attack.s4.o1": "{0}",
  "2.http.blind_sql_injection.compare_different.result.s0.o0": "An HTTP response text of the first modified HTTP request is identical with an HTTP response text of the source HTTP request.",
  "2.http.blind_sql_injection.compare_different.result.s1.o0": "An HTTP response text of the second modified HTTP request is different from an HTTP response text of the source HTTP request.",
  "2.http.blind_sql_injection.compare_different.result.s2.o0": "As a result of comparison, a difference between the HTTP response texts has been identified based on logic expressions included in the HTTP request parameters.",
  "2.http.blind_sql_injection.compare_different.result.s2.o1": "This indicates that activation and method to process SQL statements or logical expressions can be estimated based on the difference between the HTTP response texts generated by the HTTP request sent to the server.",
  "2.http.blind_sql_injection.compare_different.solution.s0.o0": "If using a SQL statement, use it after parameterizing the SQL statement.",
  "2.http.blind_sql_injection.compare_different.solution.s0.o1": "If using a parameterized SQL statement, dangerous phrases, keywords, characters, and others that can be used for injection attacks can be filtered before running SQL.",
  "2.http.blind_sql_injection.compare_expression.attack.s0.o0": "A modified HTTP request has been sent to the server as follow.",
  "2.http.blind_sql_injection.compare_expression.attack.s0.o1": "{0}",
  "2.http.blind_sql_injection.compare_expression.attack.s0.o2": "{0}",
  "2.http.blind_sql_injection.compare_expression.attack.s1.o0": "The first HTTP request has been modified to compare HTTP requests as follow:",
  "2.http.blind_sql_injection.compare_expression.attack.s1.o1": "{0}",
  "2.http.blind_sql_injection.compare_expression.attack.s2.o0": "A modified HTTP request has been sent to the server as follow.",
  "2.http.blind_sql_injection.compare_expression.attack.s2.o1": "{0}",
  "2.http.blind_sql_injection.compare_expression.attack.s2.o2": "{0}",
  "2.http.blind_sql_injection.compare_expression.attack.s3.o0": "The second HTTP request has been modified to compare HTTP requests as follow:",
  "2.http.blind_sql_injection.compare_expression.attack.s3.o1": "{0}",
  "2.http.blind_sql_injection.compare_expression.attack.s4.o0": "A modified HTTP request has been sent to the server as follow.",
  "2.http.blind_sql_injection.compare_expression.attack.s4.o1": "{0}",
  "2.http.blind_sql_injection.compare_expression.attack.s4.o2": "{0}",
  "2.http.blind_sql_injection.compare_expression.result.s0.o0": "The HTTP response text for the original HTTP request sent to the server is shown as follow.",
  "2.http.blind_sql_injection.compare_expression.result.s0.o1": "{0}",
  "2.http.blind_sql_injection.compare_expression.result.s1.o0": "The following HTTP response text is sent for the first HTTP request to compare HTTP responses.",
  "2.http.blind_sql_injection.compare_expression.result.s1.o1": "{0}",
  "2.http.blind_sql_injection.compare_expression.result.s1.o2": "The HTTP response is the same as the HTTP response text for the original HTTP request.",
  "2.http.blind_sql_injection.compare_expression.result.s2.o0": "The following HTTP response text is sent for the second HTTP request to compare HTTP responses:",
  "2.http.blind_sql_injection.compare_expression.result.s2.o1": "{0}",
  "2.http.blind_sql_injection.compare_expression.result.s2.o2": "The HTTP response is not the same as the HTTP response text for the original HTTP request.",
  "2.http.blind_sql_injection.compare_expression.result.s3.o0": "As a result of comparison, a difference between the HTTP response texts has been identified based on expressions included in the HTTP request parameters.",
  "2.http.blind_sql_injection.compare_expression.result.s3.o1": "Therefore, it is possible to estimate whether or not logical expressions in the SQL statements and SQL statements in the server are handled and processed based on the difference between the HTTP response texts generated by HTTP requests sent to the server.",
  "2.http.blind_sql_injection.compare_expression.solution.s0.o0": "If using a SQL statement, use it after parameterizing the SQL statement.",
  "2.http.blind_sql_injection.compare_expression.solution.s0.o1": "If using a parameterized SQL statement, dangerous phrases, keywords, characters, and others that can be used for injection attacks can be filtered before running SQL.",
  "2.http.blind_sql_injection.compare_increase.attack.s0.o0": "A modified HTTP request has been sent to the server as follow.",
  "2.http.blind_sql_injection.compare_increase.attack.s0.o1": "{0}",
  "2.http.blind_sql_injection.compare_increase.attack.s0.o2": "{0}",
  "2.http.blind_sql_injection.compare_increase.attack.s1.o0": "The first HTTP request has been modified to compare HTTP requests as follow:",
  "2.http.blind_sql_injection.compare_increase.attack.s1.o1": "{0}",
  "2.http.blind_sql_injection.compare_increase.attack.s2.o0": "A modified HTTP request has been sent to the server as follow.",
  "2.http.blind_sql_injection.compare_increase.attack.s2.o1": "{0}",
  "2.http.blind_sql_injection.compare_increase.attack.s2.o2": "{0}",
  "2.http.blind_sql_injection.compare_increase.attack.s3.o0": "The second HTTP request has been modified to compare HTTP requests as follow:",
  "2.http.blind_sql_injection.compare_increase.attack.s3.o1": "{0}",
  "2.http.blind_sql_injection.compare_increase.attack.s4.o0": "A modified HTTP request has been sent to the server as follow.",
  "2.http.blind_sql_injection.compare_increase.attack.s4.o1": "{0}",
  "2.http.blind_sql_injection.compare_increase.attack.s4.o2": "{0}",
  "2.http.blind_sql_injection.compare_increase.result.s0.o0": "The HTTP response text for the original HTTP request sent to the server is shown as follow.",
  "2.http.blind_sql_injection.compare_increase.result.s0.o1": "{0}",
  "2.http.blind_sql_injection.compare_increase.result.s1.o0": "The following HTTP response text is sent for the first HTTP request to compare HTTP responses.",
  "2.http.blind_sql_injection.compare_increase.result.s1.o1": "{0}",
  "2.http.blind_sql_injection.compare_increase.result.s1.o2": "The HTTP response text length has increased by {0}% compared to the HTTP response text length for the original HTTP request.",
  "2.http.blind_sql_injection.compare_increase.result.s2.o0": "The following HTTP response text is sent for the second HTTP request to compare HTTP responses:",
  "2.http.blind_sql_injection.compare_increase.result.s2.o1": "{0}",
  "2.http.blind_sql_injection.compare_increase.result.s2.o2": "The HTTP response is the same as the HTTP response text for the original HTTP request.",
  "2.http.blind_sql_injection.compare_increase.result.s3.o0": "As a result of comparison, a difference between the HTTP response texts has been identified based on the logical expressions included in the HTTP request parameters.",
  "2.http.blind_sql_injection.compare_increase.result.s3.o1": "Therefore, it is possible to estimate whether or not logical expressions in the SQL statements and SQL statements in the server are handled and processed based on the difference between the HTTP response texts generated by HTTP requests sent to the server.",
  "2.http.blind_sql_injection.compare_increase.solution.s0.o0": "If using a SQL statement, use it after parameterizing the SQL statement.",
  "2.http.blind_sql_injection.compare_increase.solution.s0.o1": "If using a parameterized SQL statement, dangerous phrases, keywords, characters, and others that can be used for injection attacks can be filtered before running SQL.",
  "2.http.blind_sql_injection.compare_order_by.attack.s0.o0": "A modified HTTP request has been sent to the server as follow.",
  "2.http.blind_sql_injection.compare_order_by.attack.s0.o1": "{0}",
  "2.http.blind_sql_injection.compare_order_by.attack.s0.o2": "{0}",
  "2.http.blind_sql_injection.compare_order_by.attack.s1.o0": "The first HTTP request has been modified to compare HTTP requests as follow:",
  "2.http.blind_sql_injection.compare_order_by.attack.s1.o1": "{0}",
  "2.http.blind_sql_injection.compare_order_by.attack.s2.o0": "A modified HTTP request has been sent to the server as follow.",
  "2.http.blind_sql_injection.compare_order_by.attack.s2.o1": "{0}",
  "2.http.blind_sql_injection.compare_order_by.attack.s2.o2": "{0}",
  "2.http.blind_sql_injection.compare_order_by.attack.s3.o0": "The second HTTP request has been modified to compare HTTP requests as follow:",
  "2.http.blind_sql_injection.compare_order_by.attack.s3.o1": "{0}",
  "2.http.blind_sql_injection.compare_order_by.attack.s4.o0": "A modified HTTP request has been sent to the server as follow.",
  "2.http.blind_sql_injection.compare_order_by.attack.s4.o1": "{0}",
  "2.http.blind_sql_injection.compare_order_by.attack.s4.o2": "{0}",
  "2.http.blind_sql_injection.compare_order_by.result.s0.o0": "The HTTP response text for the original HTTP request sent to the server is shown as follow.",
  "2.http.blind_sql_injection.compare_order_by.result.s0.o1": "{0}",
  "2.http.blind_sql_injection.compare_order_by.result.s1.o0": "The following HTTP response text is sent for the first HTTP request to compare HTTP responses.",
  "2.http.blind_sql_injection.compare_order_by.result.s1.o1": "{0}",
  "2.http.blind_sql_injection.compare_order_by.result.s1.o2": "The HTTP response is the same as the HTTP response text for the original HTTP request.",
  "2.http.blind_sql_injection.compare_order_by.result.s2.o0": "The following HTTP response text is sent for the second HTTP request to compare HTTP responses:",
  "2.http.blind_sql_injection.compare_order_by.result.s2.o1": "{0}",
  "2.http.blind_sql_injection.compare_order_by.result.s2.o2": "The HTTP response is not the same as the HTTP response text for the original HTTP request.",
  "2.http.blind_sql_injection.compare_order_by.result.s3.o0": "As a result of comparison, a difference between the HTTP response texts has been identified based on the ORDER BY statement included in the HTTP request parameters.",
  "2.http.blind_sql_injection.compare_order_by.result.s3.o1": "Therefore, it is possible to estimate whether or not an ORDER BY statement in the server's SQL statement and SQL statement is handled and processed based on the difference between the HTTP response texts generated by the HTTP request sent to the server.",
  "2.http.blind_sql_injection.compare_order_by.solution.s0.o0": "If using a SQL statement, use it after parameterizing the SQL statement.",
  "2.http.blind_sql_injection.compare_order_by.solution.s0.o1": "If using a parameterized SQL statement, dangerous phrases, keywords, characters, and others that can be used for injection attacks can be filtered before running SQL.",
  "2.http.blind_sql_injection.conditional.attack_form": "A value of the parameter {0} transmitted through the form has been set as follow:",
  "2.http.blind_sql_injection.conditional.attack_query_string": "A value of the {0} parameter transmitted through the query string has been set as follow.",
  "2.http.blind_sql_injection.error_generic.attack.s0.o0": "An HTTP request to be sent to the server has been modified as follow:",
  "2.http.blind_sql_injection.error_generic.attack.s0.o1": "{0}",
  "2.http.blind_sql_injection.error_generic.attack.s1.o0": "A modified HTTP request has been sent to the server as follow.",
  "2.http.blind_sql_injection.error_generic.attack.s1.o1": "{0}",
  "2.http.blind_sql_injection.error_generic.attack.s1.o2": "{0}",
  "2.http.blind_sql_injection.error_generic.result.s0.o0": "The HTTP response text for an HTTP request sent to the server is shown as follow.",
  "2.http.blind_sql_injection.error_generic.result.s0.o1": "{0}",
  "2.http.blind_sql_injection.error_generic.result.s1.o0": "The following string has been found in the HTTP response body:",
  "2.http.blind_sql_injection.error_generic.result.s1.o1": "{0}",
  "2.http.blind_sql_injection.error_generic.result.s2.o0": "As a result of the analysis, a string inferred to be an error message of DBMS has been found.",
  "2.http.blind_sql_injection.error_generic.result.s2.o1": "Therefore, information about the DB and SQL statement, which is used to attack a target page through an error message generated by an HTTP request to a server, can be collected.",
  "2.http.blind_sql_injection.error_generic.solution.s0.o0": "If an error occurs due to the processing of an SQL statement, an appropriate level of error message must be printed.",
  "2.http.blind_sql_injection.error_generic.solution.s0.o1": "An error message needs to allow end users to be aware of an error condition without inferring operation information within a server.",
  "2.http.blind_sql_injection.error_specific.attack.s0.o0": "An HTTP request to be sent to the server has been modified as follow:",
  "2.http.blind_sql_injection.error_specific.attack.s0.o1": "{0}",
  "2.http.blind_sql_injection.error_specific.attack.s1.o0": "A modified HTTP request has been sent to the server as follow.",
  "2.http.blind_sql_injection.error_specific.attack.s1.o1": "{0}",
  "2.http.blind_sql_injection.error_specific.attack.s1.o2": "{0}",
  "2.http.blind_sql_injection.error_specific.result.s0.o0": "The HTTP response text for an HTTP request sent to the server is shown as follow.",
  "2.http.blind_sql_injection.error_specific.result.s0.o1": "{0}",
  "2.http.blind_sql_injection.error_specific.result.s1.o0": "The following string has been found in the HTTP response body:",
  "2.http.blind_sql_injection.error_specific.result.s1.o1": "{0}",
  "2.http.blind_sql_injection.error_specific.result.s2.o0": "As a result of the analysis, a string inferred to be an error message of {0} has been found.",
  "2.http.blind_sql_injection.error_specific.result.s2.o1": "Therefore, information about the DB and SQL statement, which is used to attack a target page through an error message generated by an HTTP request to a server, can be collected.",
  "2.http.blind_sql_injection.error_specific.solution.s0.o0": "If an error occurs due to the processing of an SQL statement, an appropriate level of error message must be printed.",
  "2.http.blind_sql_injection.error_specific.solution.s0.o1": "An error message needs to allow end users to be aware of an error condition without inferring operation information within a server.",
  "2.http.blind_sql_injection.error_union.attack.s0.o0": "An HTTP request to be sent to the server has been modified as follow:",
  "2.http.blind_sql_injection.error_union.attack.s0.o1": "{0}",
  "2.http.blind_sql_injection.error_union.attack.s1.o0": "A modified HTTP request has been sent to the server as follow.",
  "2.http.blind_sql_injection.error_union.attack.s1.o1": "{0}",
  "2.http.blind_sql_injection.error_union.attack.s1.o2": "{0}",
  "2.http.blind_sql_injection.error_union.result.s0.o0": "The HTTP response text for an HTTP request sent to the server is shown as follow.",
  "2.http.blind_sql_injection.error_union.result.s0.o1": "{0}",
  "2.http.blind_sql_injection.error_union.result.s1.o0": "The following string has been found in the HTTP response body:",
  "2.http.blind_sql_injection.error_union.result.s1.o1": "{0}",
  "2.http.blind_sql_injection.error_union.result.s2.o0": "As a result of the analysis, a string inferred to be an error message of UNION statement in {0} has been found.",
  "2.http.blind_sql_injection.error_union.result.s2.o1": "Therefore, information about the DB and SQL statement, which is used to attack a target page through an error message generated by an HTTP request to a server, can be collected.",
  "2.http.blind_sql_injection.error_union.solution.s0.o0": "If an error occurs due to the processing of an SQL statement, an appropriate level of error message must be printed.",
  "2.http.blind_sql_injection.error_union.solution.s0.o1": "An error message needs to allow end users to be aware of an error condition without inferring operation information within a server.",
  "2.http.code_injection.script.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "2.http.code_injection.script.attack.s0.o1": "{0}",
  "2.http.code_injection.script.attack.s0.o2": "{0}",
  "2.http.code_injection.script.result.s0.o0": "The following string has been found in the HTTP response body:",
  "2.http.code_injection.script.result.s0.o1": "{0}",
  "2.http.code_injection.script.result.s1.o0": "Therefore, the code injection attack is succeeded by the HTTP request sent to the server.",
  "2.http.code_injection.script.solution.s0.o0": "The best way to prevent server script code injection is to validate all the values of user input.",
  "2.http.code_injection.script.solution.s0.o1": "If need to insert code, users must encode special characters and change them to characters that do not affect the web application.",
  "2.http.command_injection.feedback.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "2.http.command_injection.feedback.attack.s0.o1": "{0}",
  "2.http.command_injection.feedback.attack.s0.o2": "{0}",
  "2.http.command_injection.feedback.result.s0.o0": "The following string has been found in the HTTP response body:",
  "2.http.command_injection.feedback.result.s0.o1": "{0}",
  "2.http.command_injection.feedback.result.s1.o0": "Therefore, the operating system commannds can be run by the HTTP request sent to the server.",
  "2.http.command_injection.feedback.solution.s0.o0": "The system command suspected string must be examined while processing the HTTP requests.",
  "2.http.command_injection.timeout.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "2.http.command_injection.timeout.attack.s0.o1": "{0}",
  "2.http.command_injection.timeout.attack.s0.o2": "{0}",
  "2.http.command_injection.timeout.result.s0.o0": "{0} seconds for receiving the HTTP response, which is longer than its minimum, {1}.",
  "2.http.command_injection.timeout.result.s0.o1": "Therefore, the delayed time due to the HTTP request sent to the server can estimate whether the OS commands run or not.",
  "2.http.command_injection.timeout.solution.s0.o0": "The system command suspected string must be examined while processing the HTTP requests.",
  "2.http.content_type_missing.empty.attack.s0.o0": "The HTTP request has been passed.",
  "2.http.content_type_missing.empty.attack.s0.o1": "The HTTP request is shown as follow.",
  "2.http.content_type_missing.empty.attack.s1.o0": "{0}",
  "2.http.content_type_missing.empty.attack.s1.o1": "{0}",
  "2.http.content_type_missing.empty.attack.s2.o0": "An HTTP response has been received.",
  "2.http.content_type_missing.empty.attack.s3.o0": "Checked the existence of 'Content-Type' header of the HTTP response.",
  "2.http.content_type_missing.empty.attack.s4.o0": "Content-Type' header of the HTTP response has been verified.",
  "2.http.content_type_missing.empty.result.s0.o0": "The following header is the HTTP response.",
  "2.http.content_type_missing.empty.result.s1.o0": "{0}",
  "2.http.content_type_missing.empty.result.s2.o0": "At least one 'Content-Type' header has been found in the HTTP response.",
  "2.http.content_type_missing.empty.result.s3.o0": "An empty string has been found in one of the 'Content-Type' header.",
  "2.http.content_type_missing.empty.result.s3.o1": "Therefore, the header is inadequate for the 'Content-Type' header.",
  "2.http.content_type_missing.empty.solution.s0.o0": "Create a valid 'Content-Type' header to the HTTP response header.",
  "2.http.content_type_missing.no_header.attack.s0.o0": "The HTTP request has been passed.",
  "2.http.content_type_missing.no_header.attack.s0.o1": "The HTTP request is shown as follow.",
  "2.http.content_type_missing.no_header.attack.s1.o0": "{0}",
  "2.http.content_type_missing.no_header.attack.s1.o1": "{0}",
  "2.http.content_type_missing.no_header.attack.s2.o0": "An HTTP response has been received.",
  "2.http.content_type_missing.no_header.attack.s3.o0": "Checked the existence of 'Content-Type' header of the HTTP response.",
  "2.http.content_type_missing.no_header.result.s0.o0": "The following header is the HTTP response.",
  "2.http.content_type_missing.no_header.result.s1.o0": "{0}",
  "2.http.content_type_missing.no_header.result.s2.o0": "No 'Content-Type' header of the HTTP response has been found.",
  "2.http.content_type_missing.no_header.solution.s0.o0": "Create a valid 'Content-Type' header to the HTTP response header.",
  "2.http.content_type_missing.param_only.attack.s0.o0": "The HTTP request has been passed.",
  "2.http.content_type_missing.param_only.attack.s0.o1": "The HTTP request is shown as follow.",
  "2.http.content_type_missing.param_only.attack.s1.o0": "{0}",
  "2.http.content_type_missing.param_only.attack.s1.o1": "{0}",
  "2.http.content_type_missing.param_only.attack.s2.o0": "An HTTP response has been received.",
  "2.http.content_type_missing.param_only.attack.s3.o0": "Checked the existence of 'Content-Type' header of the HTTP response.",
  "2.http.content_type_missing.param_only.attack.s4.o0": "Content-Type' header of the HTTP response has been verified.",
  "2.http.content_type_missing.param_only.result.s0.o0": "The following header is the HTTP response.",
  "2.http.content_type_missing.param_only.result.s1.o0": "{0}",
  "2.http.content_type_missing.param_only.result.s2.o0": "At least one 'Content-Type' header has been found in the HTTP response.",
  "2.http.content_type_missing.param_only.result.s3.o0": "The following value has been found in one of the 'Content-Type' header.",
  "2.http.content_type_missing.param_only.result.s4.o0": "{0}",
  "2.http.content_type_missing.param_only.result.s5.o0": "The header does not include content type information, but parameter information only.",
  "2.http.content_type_missing.param_only.result.s5.o1": "Therefore, the header is inadequate for the 'Content-Type' header.",
  "2.http.content_type_missing.param_only.solution.s0.o0": "Create a valid 'Content-Type' header to the HTTP response header.",
  "2.http.cookie_attribute_test_http_only.exist.attack.s0.o0": "Testing for Cookie Attribute (HttpOnly) checks Set-Cookie header in HTTP response to find out whether HttpOnly attribute is specified or not.",
  "2.http.cookie_attribute_test_http_only.exist.attack.s0.o1": "To check this, the following HTTP request has been sent.",
  "2.http.cookie_attribute_test_http_only.exist.attack.s1.o0": "{0}",
  "2.http.cookie_attribute_test_http_only.exist.attack.s1.o1": "{0}",
  "2.http.cookie_attribute_test_http_only.exist.result.s0.o0": "The response for the HTTP request is shown as follow.",
  "2.http.cookie_attribute_test_http_only.exist.result.s1.o0": "{0}",
  "2.http.cookie_attribute_test_http_only.exist.solution.s0.o0": "You can use the Set-Cookie in the HTTP response to set cookie attributes or JavaScript helps you to set the attributes.",
  "2.http.cookie_attribute_test_http_only.not_exist.attack.s0.o0": "Testing for Cookie Attribute (HttpOnly) checks Set-Cookie header in HTTP response to find out whether HttpOnly attribute is specified or not.",
  "2.http.cookie_attribute_test_http_only.not_exist.attack.s0.o1": "To check this, the following HTTP request has been sent.",
  "2.http.cookie_attribute_test_http_only.not_exist.attack.s1.o0": "{0}",
  "2.http.cookie_attribute_test_http_only.not_exist.attack.s1.o1": "{0}",
  "2.http.cookie_attribute_test_http_only.not_exist.result.s0.o0": "The Set-Cookie does not exist in response of the HTTP request.",
  "2.http.cookie_attribute_test_http_only.not_exist.solution.s0.o0": "You can use the Set-Cookie in the HTTP response to set cookie attributes or JavaScript helps you to set the attributes.",
  "2.http.cookie_attribute_test_same_site.exist.attack.s0.o0": "Testing for Cookie Attribute (SameSite) checks Set-Cookie header in HTTP response to find out whether SameSite attribute is specified or not.",
  "2.http.cookie_attribute_test_same_site.exist.attack.s0.o1": "To check this, the following HTTP request has been sent.",
  "2.http.cookie_attribute_test_same_site.exist.attack.s1.o0": "{0}",
  "2.http.cookie_attribute_test_same_site.exist.attack.s1.o1": "{0}",
  "2.http.cookie_attribute_test_same_site.exist.result.s0.o0": "The response for the HTTP request is shown as follow.",
  "2.http.cookie_attribute_test_same_site.exist.result.s1.o0": "{0}",
  "2.http.cookie_attribute_test_same_site.exist.solution.s0.o0": "It is recommended to set the SameSite to Lax or Strict in order to prevent the CSRF attacks.",
  "2.http.cookie_attribute_test_same_site.exist.solution.s0.o1": "Google Chrome updates its version to 80, enhancing the SameSite defaults to Lax from None.",
  "2.http.cookie_attribute_test_same_site.exist.solution.s0.o2": "If you need to set it to None, make sure to specify the Secure attribute.",
  "2.http.cookie_attribute_test_same_site.not_exist.attack.s0.o0": "Testing for Cookie Attribute (SameSite) checks Set-Cookie header in HTTP response to find out whether SameSite attribute is specified or not.",
  "2.http.cookie_attribute_test_same_site.not_exist.attack.s0.o1": "To check this, the following HTTP request has been sent.",
  "2.http.cookie_attribute_test_same_site.not_exist.attack.s1.o0": "{0}",
  "2.http.cookie_attribute_test_same_site.not_exist.attack.s1.o1": "{0}",
  "2.http.cookie_attribute_test_same_site.not_exist.result.s0.o0": "The Set-Cookie does not exist in response of the HTTP request.",
  "2.http.cookie_attribute_test_same_site.not_exist.solution.s0.o0": "It is recommended to set the SameSite to Lax or Strict in order to prevent the CSRF attacks.",
  "2.http.cookie_attribute_test_same_site.not_exist.solution.s0.o1": "Google Chrome updates its version to 80, enhancing the SameSite defaults to Lax from None.",
  "2.http.cookie_attribute_test_same_site.not_exist.solution.s0.o2": "If you need to set it to None, make sure to specify the Secure attribute.",
  "2.http.cookie_attribute_test_secure.exist.attack.s0.o0": "Testing for Cookie Attribute (Secure) checks Set-Cookie header in HTTP response to find out whether Secure attribute is specified or not.",
  "2.http.cookie_attribute_test_secure.exist.attack.s0.o1": "To check this, the following HTTP request has been sent.",
  "2.http.cookie_attribute_test_secure.exist.attack.s1.o0": "{0}",
  "2.http.cookie_attribute_test_secure.exist.attack.s1.o1": "{0}",
  "2.http.cookie_attribute_test_secure.exist.result.s0.o0": "The response for the HTTP request is shown as follow.",
  "2.http.cookie_attribute_test_secure.exist.result.s1.o0": "{0}",
  "2.http.cookie_attribute_test_secure.exist.solution.s0.o0": "A cookie cannot be set with the Secure in the HTTP protocol: you should change it into HTTPS.",
  "2.http.cookie_attribute_test_secure.exist.solution.s0.o1": "You can use the Set-Cookie in the HTTP response to set cookie attributes or JavaScript helps you to set the attributes.",
  "2.http.cookie_attribute_test_secure.not_exist.attack.s0.o0": "Testing for Cookie Attribute (Secure) checks Set-Cookie header in HTTP response to find out whether Secure attribute is specified or not.",
  "2.http.cookie_attribute_test_secure.not_exist.attack.s0.o1": "To check this, the following HTTP request has been sent.",
  "2.http.cookie_attribute_test_secure.not_exist.attack.s1.o0": "{0}",
  "2.http.cookie_attribute_test_secure.not_exist.attack.s1.o1": "{0}",
  "2.http.cookie_attribute_test_secure.not_exist.result.s0.o0": "The Set-Cookie does not exist in response of the HTTP request.",
  "2.http.cookie_attribute_test_secure.not_exist.solution.s0.o0": "A cookie cannot be set with the Secure in the HTTP protocol: you should change it into HTTPS.",
  "2.http.cookie_attribute_test_secure.not_exist.solution.s0.o1": "You can use the Set-Cookie in the HTTP response to set cookie attributes or JavaScript helps you to set the attributes.",
  "2.http.crlf_injection.cookie.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "2.http.crlf_injection.cookie.attack.s0.o1": "{0}",
  "2.http.crlf_injection.cookie.attack.s0.o2": "{0}",
  "2.http.crlf_injection.cookie.result.s0.o0": "The following string has been found in the HTTP response body:",
  "2.http.crlf_injection.cookie.result.s0.o1": "{0}",
  "2.http.crlf_injection.cookie.result.s1.o0": "Therefore, the code injection attack is succeeded by the HTTP request sent to the server.",
  "2.http.crlf_injection.cookie.solution.s0.o0": "The CRLF needs to be prevented to be entered, or the value entered to the HTTP header needs to be checked.",
  "2.http.custom.active_custom.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "2.http.custom.active_custom.attack.s0.o1": "{0}",
  "2.http.custom.active_custom.attack.s0.o2": "{0}",
  "2.http.custom.active_custom.result.s0.o0": "The following string has been found in the HTTP response body:",
  "2.http.custom.active_custom.result.s0.o1": "{0}",
  "2.http.custom.passive_custom.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "2.http.custom.passive_custom.attack.s0.o1": "{0}",
  "2.http.custom.passive_custom.attack.s0.o2": "{0}",
  "2.http.custom.passive_custom.result.s0.o0": "The following string has been found in the HTTP response body:",
  "2.http.custom.passive_custom.result.s0.o1": "{0}",
  "2.http.directory_browsing.pattern.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "2.http.directory_browsing.pattern.attack.s0.o1": "{0}",
  "2.http.directory_browsing.pattern.attack.s0.o2": "{0}",
  "2.http.directory_browsing.pattern.result.s0.o0": "The following string has been found in the HTTP response body:",
  "2.http.directory_browsing.pattern.result.s0.o1": "{0}",
  "2.http.directory_browsing.pattern.result.s1.o0": "Therefore, certain directory list of the server has been exposed by the HTTP request sent to the server.",
  "2.http.directory_browsing.pattern.solution.s0.o0": "The Directory Listing becomes a vulnerability due to other information flowing through it.",
  "2.http.directory_browsing.pattern.solution.s1.o0": "To resolve this directory listing, do not put any sensitive information within the directory of the web application server.",
  "2.http.directory_browsing.pattern.solution.s2.o0": "Alternatively, the directory listing should be prevented for all paths under the web application server through configuration changes in the web application server.",
  "2.http.email_address_disclosure.match.attack.s0.o0": "The HTTP request has been passed.",
  "2.http.email_address_disclosure.match.attack.s0.o1": "The HTTP request is shown as follow.",
  "2.http.email_address_disclosure.match.attack.s1.o0": "{0}",
  "2.http.email_address_disclosure.match.attack.s1.o1": "{0}",
  "2.http.email_address_disclosure.match.attack.s2.o0": "An HTTP response has been received.",
  "2.http.email_address_disclosure.match.attack.s3.o0": "The status code of the HTTP response has been checked to be an error.",
  "2.http.email_address_disclosure.match.attack.s4.o0": "A string of e-mail address has been found in the HTTP response texts.",
  "2.http.email_address_disclosure.match.result.s0.o0": "The status code for the HTTP response is shown as follow.",
  "2.http.email_address_disclosure.match.result.s1.o0": "{0}",
  "2.http.email_address_disclosure.match.result.s2.o0": "The following string has been found in the HTTP response body:",
  "2.http.email_address_disclosure.match.result.s3.o0": "{0}",
  "2.http.email_address_disclosure.match.result.s3.o1": "The string corresponds to the e-mail address.",
  "2.http.email_address_disclosure.match.solution.s0.o0": "Remove the e-mail address from the HTTP response texts unless it is designed to expose.",
  "2.http.external_redirect.conditional.attack_form": "A value of the parameter {0} transmitted through the form has been set as follow:",
  "2.http.external_redirect.conditional.attack_query_string": "A value of the {0} parameter transmitted through the query string has been set as follow.",
  "2.http.external_redirect.invocation.attack.s0.o0": "An HTTP request to be sent to the server has been configured as follow:",
  "2.http.external_redirect.invocation.attack.s0.o1": "{0}",
  "2.http.external_redirect.invocation.attack.s0.o2": "{0}",
  "2.http.external_redirect.invocation.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "2.http.external_redirect.invocation.attack.s1.o1": "{0}",
  "2.http.external_redirect.invocation.result.s0.o0": "{0} method call has been found in the server JVM through TrueScan.",
  "2.http.external_redirect.invocation.result.s0.o1": "Arguments of {0} parameter in the method are as follow:",
  "2.http.external_redirect.invocation.result.s0.o2": "{0}",
  "2.http.external_redirect.invocation.result.s0.o3": "For more information on these methods, see the following link: {0}",
  "2.http.external_redirect.invocation.result.s1.o0": "As a result of the analysis, the value set in the HTTP request configuration has been found in {1} parameter of {0} method.",
  "2.http.external_redirect.invocation.result.s1.o1": "Therefore, the method has been called by an HTTP request sent to the server, and redirects to the {0} location through that method.",
  "2.http.external_redirect.invocation.solution.s0.o0": "In redirection, the target location path must be defined as a constant string, and the value entered by the user should not be used.",
  "2.http.external_redirect.invocation.solution.s0.o1": "If it is necessary to perform a redirection to a location specified to the value entered by the user, the user input value must be verified.",
  "2.http.external_redirect.redirect_header.attack.s0.o0": "An HTTP request to be sent to the server has been configured as follow:",
  "2.http.external_redirect.redirect_header.attack.s0.o1": "{0}",
  "2.http.external_redirect.redirect_header.attack.s0.o2": "{0}",
  "2.http.external_redirect.redirect_header.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "2.http.external_redirect.redirect_header.attack.s1.o1": "{0}",
  "2.http.external_redirect.redirect_header.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "2.http.external_redirect.redirect_header.result.s0.o1": "{0}",
  "2.http.external_redirect.redirect_header.result.s1.o0": "The following string has been found in the {0} header of the HTTP response:",
  "2.http.external_redirect.redirect_header.result.s1.o1": "{0}",
  "2.http.external_redirect.redirect_header.result.s2.o0": "As a result of the analysis, the value set in the HTTP request configuration has been found in the {0} header value.",
  "2.http.external_redirect.redirect_header.result.s2.o1": "Therefore, redirection to the {0} location can occur due to HTTP requests sent to the server.",
  "2.http.external_redirect.redirect_header.solution.s0.o0": "In redirection, the target location path must be defined as a constant string, and the value entered by the user should not be used.",
  "2.http.external_redirect.redirect_header.solution.s0.o1": "When redirection to a location of the user input value is required, it must be verified.",
  "2.http.external_redirect.redirect_js.attack.s0.o0": "An HTTP request to be sent to the server has been configured as follow:",
  "2.http.external_redirect.redirect_js.attack.s0.o1": "{0}",
  "2.http.external_redirect.redirect_js.attack.s0.o2": "{0}",
  "2.http.external_redirect.redirect_js.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "2.http.external_redirect.redirect_js.attack.s1.o1": "{0}",
  "2.http.external_redirect.redirect_js.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "2.http.external_redirect.redirect_js.result.s0.o1": "{0}",
  "2.http.external_redirect.redirect_js.result.s1.o0": "The following string has been found in the JavaScript statement of HTTP response texts.",
  "2.http.external_redirect.redirect_js.result.s1.o1": "{0}",
  "2.http.external_redirect.redirect_js.result.s2.o0": "As a result of the analysis, the value set in the HTTP request configuration has been found to exist in the JavaScript statement.",
  "2.http.external_redirect.redirect_js.result.s2.o1": "Therefore, redirection to the {0} location can occur due to HTTP requests sent to the server.",
  "2.http.external_redirect.redirect_js.solution.s0.o0": "In redirection, the target location path must be defined as a constant string, and the value entered by the user should not be used.",
  "2.http.external_redirect.redirect_js.solution.s0.o1": "When redirection to a location of the user input value is required, it must be verified.",
  "2.http.external_redirect.redirect_meta.attack.s0.o0": "An HTTP request to be sent to the server has been configured as follow:",
  "2.http.external_redirect.redirect_meta.attack.s0.o1": "{0}",
  "2.http.external_redirect.redirect_meta.attack.s0.o2": "{0}",
  "2.http.external_redirect.redirect_meta.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "2.http.external_redirect.redirect_meta.attack.s1.o1": "{0}",
  "2.http.external_redirect.redirect_meta.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "2.http.external_redirect.redirect_meta.result.s0.o1": "{0}",
  "2.http.external_redirect.redirect_meta.result.s1.o0": "In the HTTP response text, the following string has been found in the property {2} of the meta tag whose {0} property value is {1}.",
  "2.http.external_redirect.redirect_meta.result.s1.o1": "{0}",
  "2.http.external_redirect.redirect_meta.result.s2.o0": "As a result of the analysis, the value set in the HTTP request configuration has been found to exist in {0} property of the Meta tag.",
  "2.http.external_redirect.redirect_meta.result.s2.o1": "Therefore, redirection to the {0} location can occur due to HTTP requests sent to the server.",
  "2.http.external_redirect.redirect_meta.solution.s0.o0": "In redirection, the target location path must be defined as a constant string, and the value entered by the user should not be used.",
  "2.http.external_redirect.redirect_meta.solution.s0.o1": "When redirection to a location of the user input value is required, it must be verified.",
  "2.http.local_file_include.conditional.attack_form": "A value of the parameter {0} transmitted through the form has been set as follow:",
  "2.http.local_file_include.conditional.attack_query_string": "A value of the {0} parameter transmitted through the query string has been set as follow.",
  "2.http.local_file_include.custom.attack.s0.o0": "An HTTP request to be sent to the server has been configured as follow:",
  "2.http.local_file_include.custom.attack.s0.o1": "{0}",
  "2.http.local_file_include.custom.attack.s0.o3": "The set value corresponds to a custom attack string.",
  "2.http.local_file_include.custom.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "2.http.local_file_include.custom.attack.s1.o1": "{0}",
  "2.http.local_file_include.custom.attack.s1.o2": "{0}",
  "2.http.local_file_include.custom.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "2.http.local_file_include.custom.result.s0.o1": "{0}",
  "2.http.local_file_include.custom.result.s1.o0": "The following string has been found in the HTTP response body:",
  "2.http.local_file_include.custom.result.s1.o1": "{0}",
  "2.http.local_file_include.custom.result.s2.o0": "As a result of the analysis, a string complied with the custom detection rule {0} has been found.",
  "2.http.local_file_include.custom.solution.s0.o0": "When a specific file is included in a page, do not use the user input.",
  "2.http.local_file_include.custom.solution.s1.o0": "If you need to include a specific file within the server by using the user input, the user input must be verified.",
  "2.http.local_file_include.custom.solution.s1.o1": "When the user input contains character strings of a path with sensitive information or characters to move to parent paths, such as '../', they must be removed or replaced with other characters.",
  "2.http.local_file_include.invocation.attack.s0.o0": "An HTTP request to be sent to the server has been configured as follow:",
  "2.http.local_file_include.invocation.attack.s0.o1": "{0}",
  "2.http.local_file_include.invocation.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "2.http.local_file_include.invocation.attack.s1.o1": "{0}",
  "2.http.local_file_include.invocation.attack.s1.o2": "{0}",
  "2.http.local_file_include.invocation.result.s0.o0": "{0} method call has been found in the server JVM through TrueScan.",
  "2.http.local_file_include.invocation.result.s0.o1": "Arguments of {0} parameter in the method are as follow:",
  "2.http.local_file_include.invocation.result.s0.o2": "{0}",
  "2.http.local_file_include.invocation.result.s0.o3": "For more information on these methods, see the following link: {0}",
  "2.http.local_file_include.invocation.result.s1.o0": "As a result of the analysis, the value set in the HTTP request configuration has been found in {1} parameter of {0} method.",
  "2.http.local_file_include.invocation.result.s1.o1": "Therefore, the method has been called by an HTTP request sent to the server and the server files has been included to a current page through the method.",
  "2.http.local_file_include.invocation.solution.s0.o0": "When a specific file is included in a page, do not use the user input.",
  "2.http.local_file_include.invocation.solution.s1.o0": "If you need to include a specific file within the server by using the user input, the user input must be verified.",
  "2.http.local_file_include.invocation.solution.s1.o1": "When the user input contains character strings of a path with sensitive information or characters to move to parent paths, such as '../', they must be removed or replaced with other characters.",
  "2.http.local_file_include.jsp.attack.s0.o0": "An HTTP request to be sent to the server has been configured as follow:",
  "2.http.local_file_include.jsp.attack.s0.o1": "{0}",
  "2.http.local_file_include.jsp.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "2.http.local_file_include.jsp.attack.s1.o1": "{0}",
  "2.http.local_file_include.jsp.attack.s1.o2": "{0}",
  "2.http.local_file_include.jsp.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "2.http.local_file_include.jsp.result.s0.o1": "{0}",
  "2.http.local_file_include.jsp.result.s1.o0": "The following string has been found in the HTTP response body:",
  "2.http.local_file_include.jsp.result.s1.o1": "{0}",
  "2.http.local_file_include.jsp.result.s2.o0": "As a result of the analysis, {1} file contents in {0} folder specified in an HTTP request configuration has been found.",
  "2.http.local_file_include.jsp.result.s2.o1": "Therefore, the server files can be included to a current page through the HTTP request sent to the server.",
  "2.http.local_file_include.jsp.solution.s0.o0": "When a specific file is included in a page, do not use the user input.",
  "2.http.local_file_include.jsp.solution.s1.o0": "If you need to include a specific file within the server by using the user input, the user input must be verified.",
  "2.http.local_file_include.jsp.solution.s1.o1": "When the user input contains character strings of a path with sensitive information or characters to move to parent paths, such as '../', they must be removed or replaced with other characters.",
  "2.http.parameter_tamper.error.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "2.http.parameter_tamper.error.attack.s0.o1": "{0}",
  "2.http.parameter_tamper.error.attack.s0.o2": "{0}",
  "2.http.parameter_tamper.error.result.s0.o0": "The following string has been found in the HTTP response body:",
  "2.http.parameter_tamper.error.result.s0.o1": "{0}",
  "2.http.parameter_tamper.error.result.s1.o0": "Therefore, an error occurs against the HTTP request that manipulates the parameter in the server, and the HTTP request is not suspended by the server.",
  "2.http.parameter_tamper.error.solution.s0.o0": "To prevent parameter manipulation, set the maximum / minimum length of the parameter value, limit the parameter value through the allowable range of values, pattern, etc., and check the validity.",
  "2.http.parameter_tamper.error.solution.s0.o1": "In addition to these validation checks, users must create a whitelist of values entered as parameters to accept only those that are approved, or create a blacklist to block unauthorized values.",
  "2.http.parameter_tamper.error.solution.s0.o2": "The possibility of manipulation with all parts of the HTTP request, such as a header of the HTTP request, cookies, parameters of the URL, and form field values, must be considered.",
  "2.http.path_traversal.match.attack.s0.o0": "Directory traversal is an attack where the attacker's input value is used in the directory path string to gain access to the file system outside the top-level directory of the web application.",
  "2.http.path_traversal.match.attack.s0.o1": "An attacker can access the file system and gain access to sensitive information such as code or system files for a web application.",
  "2.http.path_traversal.match.attack.s0.o2": "For example, if the parameter values ​​in the URL are used to load a file as follow,",
  "2.http.path_traversal.match.attack.s1.o0": "{0}",
  "2.http.path_traversal.match.attack.s2.o0": "Most of file systems can access to files out of the root directory of the web application by using '../', which represents a path to the parent directory, as follow.",
  "2.http.path_traversal.match.attack.s3.o0": "{0}",
  "2.http.path_traversal.match.attack.s4.o0": "The following HTTP request with the {0} attack string for Path Traversal has been sent to verify that this path traversal is possible:",
  "2.http.path_traversal.match.attack.s5.o0": "{0}",
  "2.http.path_traversal.match.attack.s5.o1": "{0}",
  "2.http.path_traversal.match.result.s0.o0": "The HTTP response for the HTTP request is shown as follow.",
  "2.http.path_traversal.match.result.s1.o0": "{0}",
  "2.http.path_traversal.match.result.s2.o0": "It is confirmed that {0} attack string manipulated the path and that the contents of the file are included in the HTTP response.",
  "2.http.path_traversal.match.solution.s0.o0": "To prevent path traversal, the user input ​​should not be used to access files and directories in the file system.",
  "2.http.path_traversal.match.solution.s0.o1": "If the user input must be used, make sure that the input is not used to the entire path, and also check that the user input is valid.",
  "2.http.path_traversal.match.solution.s0.o2": "It is also a function that encodes possible values ​​of Path Traversal such as URI.normalize() of Java, and it is necessary to change user's input value.",
  "2.http.phf_command_execution.phf.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "2.http.phf_command_execution.phf.attack.s0.o1": "{0}",
  "2.http.phf_command_execution.phf.attack.s0.o2": "{0}",
  "2.http.phf_command_execution.phf.result.s0.o0": "The following string has been found in the HTTP response body:",
  "2.http.phf_command_execution.phf.result.s0.o1": "{0}",
  "2.http.phf_command_execution.phf.result.s1.o0": "Therefore, specific commands can be run by the HTTP request sent to the server.",
  "2.http.phf_command_execution.phf.solution.s0.o0": "To resolve the vulnerability, please follow these guidelines",
  "2.http.phf_command_execution.phf.solution.s1.o0": "Do not use a vulnerable CGI program such as PHF that uses the 'escape_shell_cmd ()' function.",
  "2.http.phf_command_execution.phf.solution.s2.o0": "If the program must be used, modify the CGI program so that it does not use the 'escape_shell_cmd ()' function",
  "2.http.remote_file_include.execute.attack.s0.o0": "The following origin HTTP request has been sent to the server.",
  "2.http.remote_file_include.execute.attack.s0.o1": "{0}",
  "2.http.remote_file_include.execute.attack.s0.o2": "{0}",
  "2.http.remote_file_include.execute.attack.s1.o0": "The following attack HTTP request has been sent to the server.",
  "2.http.remote_file_include.execute.attack.s1.o1": "{0}",
  "2.http.remote_file_include.execute.attack.s1.o2": "{0}",
  "2.http.remote_file_include.execute.result.s0.o0": "The following string has been found in the response body for the attack HTTP request:",
  "2.http.remote_file_include.execute.result.s0.o1": "{0}",
  "2.http.remote_file_include.execute.result.s0.o2": "The strings are missing in the response body for the origin HTTP request.",
  "2.http.remote_file_include.execute.result.s1.o0": "Therefore, the HTTP request sent to the server can add contents of external sites to the page that are originally not included.",
  "2.http.remote_file_include.execute.solution.s0.o0": "To avoid remote file inclusion vulnerabilities, users should not use the input values ​​to upload and run files.",
  "2.http.remote_file_include.execute.solution.s0.o1": "If you need to use the user input, enforce user authentication and create whitelists to include and execute only authenticated files, or create blacklists to exclude unauthorized files.",
  "2.http.remote_file_include.execute.solution.s0.o2": "In addition, by using the web firewall, uploading of remote files can be stopped.",
  "2.http.server_side_include.conditional.attack_form": "A value of the parameter {0} transmitted through the form has been set as follow:",
  "2.http.server_side_include.conditional.attack_query_string": "A value of the {0} parameter transmitted through the query string has been set as follow.",
  "2.http.server_side_include.custom.attack.s0.o0": "An HTTP request to be sent to the server has been configured as follow:",
  "2.http.server_side_include.custom.attack.s0.o1": "{0}",
  "2.http.server_side_include.custom.attack.s0.o2": "The set value corresponds to a custom attack string.",
  "2.http.server_side_include.custom.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "2.http.server_side_include.custom.attack.s1.o1": "{0}",
  "2.http.server_side_include.custom.attack.s1.o2": "{0}",
  "2.http.server_side_include.custom.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "2.http.server_side_include.custom.result.s0.o1": "{0}",
  "2.http.server_side_include.custom.result.s1.o0": "The following string has been found in the HTTP response body:",
  "2.http.server_side_include.custom.result.s1.o1": "{0}",
  "2.http.server_side_include.custom.result.s2.o0": "As a result of the analysis, a string complied with the custom detection rule {0} has been found.",
  "2.http.server_side_include.custom.solution.s0.o0": "The user input values should not be used to generate SSI statements.",
  "2.http.server_side_include.custom.solution.s0.o1": "If a user input values ​​must be used for SSI statement configuration, those user input values must be validated.",
  "2.http.server_side_include.exec_unix.attack.s0.o0": "An HTTP request to be sent to the server has been configured as follow:",
  "2.http.server_side_include.exec_unix.attack.s0.o1": "{0}",
  "2.http.server_side_include.exec_unix.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "2.http.server_side_include.exec_unix.attack.s1.o1": "{0}",
  "2.http.server_side_include.exec_unix.attack.s1.o2": "{0}",
  "2.http.server_side_include.exec_unix.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "2.http.server_side_include.exec_unix.result.s0.o1": "{0}",
  "2.http.server_side_include.exec_unix.result.s1.o0": "The following string has been found in the HTTP response body:",
  "2.http.server_side_include.exec_unix.result.s1.o1": "{0}",
  "2.http.server_side_include.exec_unix.result.s2.o0": "As a result of the analysis, the SSI {0} statement with the value set in the HTTP request configuration has been executed on the server.",
  "2.http.server_side_include.exec_unix.result.s2.o1": "Therefore, the file list in the root path of the UNIX-based operating system can be browsed based on the SSI statement by HTTP request sent to the server.",
  "2.http.server_side_include.exec_unix.solution.s0.o0": "The user input values should not be used to generate SSI statements.",
  "2.http.server_side_include.exec_unix.solution.s0.o1": "If a user input values ​​must be used for SSI statement configuration, those user input values must be validated.",
  "2.http.server_side_include.exec_win.attack.s0.o0": "An HTTP request to be sent to the server has been configured as follow:",
  "2.http.server_side_include.exec_win.attack.s0.o1": "{0}",
  "2.http.server_side_include.exec_win.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "2.http.server_side_include.exec_win.attack.s1.o1": "{0}",
  "2.http.server_side_include.exec_win.attack.s1.o2": "{0}",
  "2.http.server_side_include.exec_win.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "2.http.server_side_include.exec_win.result.s0.o1": "{0}",
  "2.http.server_side_include.exec_win.result.s1.o0": "The following string has been found in the HTTP response body:",
  "2.http.server_side_include.exec_win.result.s1.o1": "{0}",
  "2.http.server_side_include.exec_win.result.s2.o0": "As a result of the analysis, the SSI {0} statement with the value set in the HTTP request configuration has been executed on the server.",
  "2.http.server_side_include.exec_win.result.s2.o1": "Therefore, the file list in the root path of the Windows-based operating system can be browsed based on the SSI statement by HTTP request sent to the server.",
  "2.http.server_side_include.exec_win.solution.s0.o0": "The user input values should not be used to generate SSI statements.",
  "2.http.server_side_include.exec_win.solution.s0.o1": "If a user input values ​​must be used for SSI statement configuration, those user input values must be validated.",
  "2.http.server_side_include.invocation.attack.s0.o0": "An HTTP request to be sent to the server has been configured as follow:",
  "2.http.server_side_include.invocation.attack.s0.o1": "{0}",
  "2.http.server_side_include.invocation.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "2.http.server_side_include.invocation.attack.s1.o1": "{0}",
  "2.http.server_side_include.invocation.attack.s1.o2": "{0}",
  "2.http.server_side_include.invocation.result.s0.o0": "{0} method call has been found in the server JVM through TrueScan.",
  "2.http.server_side_include.invocation.result.s0.o1": "Arguments of {0} parameter in the method are as follow:",
  "2.http.server_side_include.invocation.result.s0.o2": "{0}",
  "2.http.server_side_include.invocation.result.s0.o3": "For more information on these methods, see the following link: {0}",
  "2.http.server_side_include.invocation.result.s1.o0": "As a result of the analysis, the value set in the HTTP request configuration has been found in {1} parameter of {0} method.",
  "2.http.server_side_include.invocation.result.s1.o1": "Therefore, the method has been called by an HTTP request sent to the server and the SSI {0} statement has been executed through that method.",
  "2.http.server_side_include.invocation.solution.s0.o0": "The user input values should not be used to generate SSI statements.",
  "2.http.server_side_include.invocation.solution.s0.o1": "If a user input values ​​must be used for SSI statement configuration, those user input values must be validated.",
  "2.http.snoop_disclosure.request.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "2.http.snoop_disclosure.request.attack.s0.o1": "{0}",
  "2.http.snoop_disclosure.request.attack.s0.o2": "{0}",
  "2.http.snoop_disclosure.request.result.s0.o0": "The following string has been found in the HTTP response body:",
  "2.http.snoop_disclosure.request.result.s0.o1": "{0}",
  "2.http.snoop_disclosure.request.result.s1.o0": "Therefore, the Snoop information exposure occurs by the HTTP request sent to the server.",
  "2.http.snoop_disclosure.request.solution.s0.o0": "To resolve the vulnerability, you should avoid the vulnerable Snoop servlets or web servers that use the Snoop servlets.",
  "2.http.sql_injection.conditional.attack_form": "A value of the parameter {0} transmitted through the form has been set as follow:",
  "2.http.sql_injection.conditional.attack_query_string": "A value of the {0} parameter transmitted through the query string has been set as follow.",
  "2.http.sql_injection.invocation.attack.s0.o0": "An HTTP request to be sent to the server has been configured as follow:",
  "2.http.sql_injection.invocation.attack.s0.o1": "{0}",
  "2.http.sql_injection.invocation.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "2.http.sql_injection.invocation.attack.s1.o1": "{0}",
  "2.http.sql_injection.invocation.result.s0.o0": "{0} method call has been found in the server JVM through TrueScan.",
  "2.http.sql_injection.invocation.result.s0.o1": "Arguments of {0} parameter in the method are as follow:",
  "2.http.sql_injection.invocation.result.s0.o2": "{0}",
  "2.http.sql_injection.invocation.result.s0.o3": "For more information on these methods, see the following link: {0}",
  "2.http.sql_injection.invocation.result.s1.o0": "As a result of the analysis, the value set in the HTTP request configuration has been found in {1} parameter of {0} method.",
  "2.http.sql_injection.invocation.result.s1.o1": "Therefore, the method has been called by the HTTP request sent to the server and the SQL statement has been processed through the method.",
  "2.http.sql_injection.invocation.solution.s1.o0": "If using a SQL statement, use it after parameterizing the SQL statement.",
  "2.http.sql_injection.invocation.solution.s1.o1": "If using a parameterized SQL statement, dangerous phrases, keywords, characters, and others that can be used for injection attacks can be filtered before running SQL.",
  "2.http.tomcat_examples.access.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "2.http.tomcat_examples.access.attack.s0.o1": "{0}",
  "2.http.tomcat_examples.access.attack.s0.o2": "{0}",
  "2.http.tomcat_examples.access.result.s0.o0": "The following string has been found in the HTTP response body:",
  "2.http.tomcat_examples.access.result.s0.o1": "{0}",
  "2.http.tomcat_examples.access.result.s1.o0": "Therefore, the Apache Tomcat sample page is accessible from the HTTP request.",
  "2.http.tomcat_examples.access.solution.s0.o0": "To prevent exposure of the Apache Tomcat sample page, default pages of the Apache Tomcat need to be unaccessible by default.",
  "2.http.unlimited_password_error.conditional.attack_form": "A value of the parameter {0} transmitted through the form has been set as follow:",
  "2.http.unlimited_password_error.conditional.attack_query_string": "A value of the {0} parameter transmitted through the query string has been set as follow.",
  "2.http.unlimited_password_error.five_times.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "2.http.unlimited_password_error.five_times.attack.s0.o1": "{0}",
  "2.http.unlimited_password_error.five_times.attack.s0.o2": "{0}",
  "2.http.unlimited_password_error.five_times.attack.s1.o0": "An HTTP request for login attempts has been configured as follow:",
  "2.http.unlimited_password_error.five_times.attack.s1.o1": "{0}",
  "2.http.unlimited_password_error.five_times.attack.s2.o0": "The following HTTP request has been sent to the server.",
  "2.http.unlimited_password_error.five_times.attack.s2.o1": "{0}",
  "2.http.unlimited_password_error.five_times.attack.s2.o2": "{0}",
  "2.http.unlimited_password_error.five_times.attack.s3.o0": "Repeated above process for 5 times.",
  "2.http.unlimited_password_error.five_times.result.s0.o0": "The HTTP response text for an HTTP request sent to the server is shown as follow.",
  "2.http.unlimited_password_error.five_times.result.s0.o1": "{0}",
  "2.http.unlimited_password_error.five_times.result.s0.o2": "A {0} type {1} web element named {2} has been found in its HTTP response text.",
  "2.http.unlimited_password_error.five_times.result.s0.o3": "The page log-in has been found to be succeeded on the checked web elements.",
  "2.http.unlimited_password_error.five_times.result.s1.o0": "Texts of HTTP responses for HTTP requests have been compared for the 5 times of log-in attempts.",
  "2.http.unlimited_password_error.five_times.result.s2.o0": "As a result of comparison, the same HTTP response texts has been received for HTTP requests to log-in.",
  "2.http.unlimited_password_error.five_times.result.s2.o1": "Therefore, the server does not restrict the client's repeated login attempts.",
  "2.http.unlimited_password_error.five_times.solution.s0.o0": "If an authentication failure of a particular client occurs repeatedly, try to restrict authentication attempts on that client.",
  "2.http.unlimited_password_error.five_times.solution.s0.o1": "After authentication fails five times, an additional authentication process is required.",
  "2.http.weak_password.brute_force.attack.s0.o0": "The following origin HTTP request has been sent to the server.",
  "2.http.weak_password.brute_force.attack.s0.o1": "{0}",
  "2.http.weak_password.brute_force.attack.s0.o2": "{0}",
  "2.http.weak_password.brute_force.attack.s1.o0": "The following attack HTTP request has been sent to the server.",
  "2.http.weak_password.brute_force.attack.s1.o1": "{0}",
  "2.http.weak_password.brute_force.attack.s1.o2": "{0}",
  "2.http.weak_password.brute_force.result.s0.o0": "The similarity is low enough between the response body for the origin HTTP request and the response body for the attack HTTP request.",
  "2.http.weak_password.brute_force.result.s0.o1": "The element for the password is missing on the Form type in the response for the attack HTTP request.",
  "2.http.weak_password.brute_force.result.s1.o0": "Therefore, the enthentication has succeeded by the attack HTTP request, and the verification for the password is not enough.",
  "2.http.weak_password.brute_force.solution.s0.o0": "To resolve a weak password vulnerability, an admin must force users to have sufficiently long passwords.",
  "2.http.weak_password.brute_force.solution.s0.o1": "Also, make sure to use combination of upper and lower alphabet characters, numbers, and special characters, to create unusual passwords.",
  "2.http.xitami_information_leakage.testcgi.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "2.http.xitami_information_leakage.testcgi.attack.s0.o1": "{0}",
  "2.http.xitami_information_leakage.testcgi.attack.s0.o2": "{0}",
  "2.http.xitami_information_leakage.testcgi.result.s0.o0": "The following string has been found in the HTTP response body:",
  "2.http.xitami_information_leakage.testcgi.result.s0.o1": "{0}",
  "2.http.xitami_information_leakage.testcgi.result.s1.o0": "Therefore, the Xitami information exposure has occurred by the HTTP request sent to the server.",
  "2.http.xitami_information_leakage.testcgi.solution.s0.o0": "Please remove testcgi.exe file.",
  "2.http.xitami_information_leakage.testcgi.solution.s0.o1": "Or, place the file in a location other than the default location.",
  "3.event.sql_injection.success.attack.s0.o0": "Assigned attack strings with special characters to the log-in page in order to check the SQL injection.",
  "3.event.sql_injection.success.attack.s1.o0": "Attack Position",
  "3.event.sql_injection.success.attack.s1.o1": "{0}",
  "3.event.sql_injection.success.attack.s2.o0": "Attack Character",
  "3.event.sql_injection.success.attack.s2.o1": "{0}",
  "3.event.sql_injection.success.result.s0.o0": "The following results are sent for a log-in attempt with the attack string:",
  "3.event.sql_injection.success.result.s1.o0": "{0}",
  "3.event.sql_injection.success.result.s2.o0": "Failure of filtering out special characters that might lead to SQL injection vulnerability makes the page compromised.",
  "3.event.sql_injection.success.result.s3.o0": "The attack has been succeeded, or an abnormal action has occurred.",
  "3.event.sql_injection.success.solution.s0.o0": "The malicious SQL query allows an attacker to view or manipulate DBMS or data. Make sure to filter out user inputs.",
  "3.event.sql_injection.success.solution.s0.o1": "Special characters, such as {0}, {1}, {2}, {3}, {4}, might cause the SQL injection. Do not use them in user inputs.",
  "3.event.sql_injection.success.solution.s1.o0": "Java :",
  "3.event.sql_injection.success.solution.s1.o1": "{0}",
  "3.event.sql_injection.success.solution.s2.o0": "JSP :",
  "3.event.sql_injection.success.solution.s2.o1": "{0}",
  "3.event.sql_injection.success.solution.s3.o0": "PHP :",
  "3.event.sql_injection.success.solution.s3.o1": "{0}",
  "3.http.application_error.error.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "3.http.application_error.error.attack.s0.o1": "{0}",
  "3.http.application_error.error.attack.s0.o2": "{0}",
  "3.http.application_error.error.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "3.http.application_error.error.result.s0.o1": "{0}",
  "3.http.application_error.error.result.s1.o0": "The status code for the HTTP response is shown as follow.",
  "3.http.application_error.error.result.s1.o1": "{0}",
  "3.http.application_error.error.result.s2.o0": "As a result of analysis, it is confirmed that an application error occurred on the corresponding page.",
  "3.http.application_error.error.result.s2.o1": "This means that an application error occurs due to the HTTP request sent to the server.",
  "3.http.application_error.error.solution.s0.o0": "It is recommended to correct the application error that occurs on the page.",
  "3.http.application_error.success.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "3.http.application_error.success.attack.s0.o1": "{0}",
  "3.http.application_error.success.attack.s0.o2": "{0}",
  "3.http.application_error.success.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "3.http.application_error.success.result.s0.o1": "{0}",
  "3.http.application_error.success.result.s1.o0": "The following parts of the body of the HTTP response meet the pattern for an error page.",
  "3.http.application_error.success.result.s1.o1": "{0}",
  "3.http.application_error.success.result.s2.o0": "As a result of analysis, it is confirmed that it is an error page.",
  "3.http.application_error.success.result.s2.o1": "This means that an application error occurs due to the HTTP request sent to the server.",
  "3.http.application_error.success.solution.s0.o0": "It is recommended to correct the application error that occurs on the page.",
  "3.http.blind_sql_injection.compare_boolean_and_first_false.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "3.http.blind_sql_injection.compare_boolean_and_first_false.attack.s0.o1": "The HTTP request is a control group.",
  "3.http.blind_sql_injection.compare_boolean_and_first_false.attack.s0.o2": "{0}",
  "3.http.blind_sql_injection.compare_boolean_and_first_false.attack.s0.o3": "{0}",
  "3.http.blind_sql_injection.compare_boolean_and_first_false.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "3.http.blind_sql_injection.compare_boolean_and_first_false.attack.s1.o1": "The HTTP request is a primary comparison group under assumption that 'AND FALSE' is included in SQL statement.",
  "3.http.blind_sql_injection.compare_boolean_and_first_false.attack.s1.o2": "{0}",
  "3.http.blind_sql_injection.compare_boolean_and_first_false.attack.s1.o3": "{0}",
  "3.http.blind_sql_injection.compare_boolean_and_first_false.attack.s2.o0": "The following HTTP request has been sent to the server.",
  "3.http.blind_sql_injection.compare_boolean_and_first_false.attack.s2.o1": "The HTTP request is a secondary comparison group under assumption that 'OR TRUE' is included in SQL statement.",
  "3.http.blind_sql_injection.compare_boolean_and_first_false.attack.s2.o2": "{0}",
  "3.http.blind_sql_injection.compare_boolean_and_first_false.attack.s2.o3": "{0}",
  "3.http.blind_sql_injection.compare_boolean_and_first_false.result.s0.o0": "The following HTTP request has been received from the server.",
  "3.http.blind_sql_injection.compare_boolean_and_first_false.result.s1.o0": "The response bodies are identical for the requests of the control group and primary comparison group.",
  "3.http.blind_sql_injection.compare_boolean_and_first_false.result.s1.o1": "The response bodies are not identical for the requests of the control group and secondary comparison group.",
  "3.http.blind_sql_injection.compare_boolean_and_first_false.result.s2.o0": "In results of comparing HTTP response bodies, the statements contained in their HTTP requests bring difference.",
  "3.http.blind_sql_injection.compare_boolean_and_first_false.result.s2.o1": "Due to the difference on the HTTP response bodies, information about processing SQL statements on the server can be inferred.",
  "3.http.blind_sql_injection.compare_boolean_and_first_false.solution.s0.o0": "Ensure that processing certain statements for SQLs does not lead to difference on their responses.",
  "3.http.blind_sql_injection.compare_boolean_and_first_true.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "3.http.blind_sql_injection.compare_boolean_and_first_true.attack.s0.o1": "The HTTP request is a control group.",
  "3.http.blind_sql_injection.compare_boolean_and_first_true.attack.s0.o2": "{0}",
  "3.http.blind_sql_injection.compare_boolean_and_first_true.attack.s0.o3": "{0}",
  "3.http.blind_sql_injection.compare_boolean_and_first_true.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "3.http.blind_sql_injection.compare_boolean_and_first_true.attack.s1.o1": "The HTTP request is a primary comparison group under assumption that 'AND TRUE' is included in SQL statement.",
  "3.http.blind_sql_injection.compare_boolean_and_first_true.attack.s1.o2": "{0}",
  "3.http.blind_sql_injection.compare_boolean_and_first_true.attack.s1.o3": "{0}",
  "3.http.blind_sql_injection.compare_boolean_and_first_true.attack.s2.o0": "The following HTTP request has been sent to the server.",
  "3.http.blind_sql_injection.compare_boolean_and_first_true.attack.s2.o1": "The HTTP request is a secondary comparison group under assumption that 'AND FALSE' is included in SQL statement.",
  "3.http.blind_sql_injection.compare_boolean_and_first_true.attack.s2.o2": "{0}",
  "3.http.blind_sql_injection.compare_boolean_and_first_true.attack.s2.o3": "{0}",
  "3.http.blind_sql_injection.compare_boolean_and_first_true.result.s0.o0": "The following HTTP request has been received from the server.",
  "3.http.blind_sql_injection.compare_boolean_and_first_true.result.s1.o0": "The response bodies are identical for the requests of the control group and primary comparison group.",
  "3.http.blind_sql_injection.compare_boolean_and_first_true.result.s1.o1": "The response bodies are not identical for the requests of the control group and secondary comparison group.",
  "3.http.blind_sql_injection.compare_boolean_and_first_true.result.s2.o0": "In results of comparing HTTP response bodies, the statements contained in their HTTP requests bring difference.",
  "3.http.blind_sql_injection.compare_boolean_and_first_true.result.s2.o1": "Due to the difference on the HTTP response bodies, information about processing SQL statements on the server can be inferred.",
  "3.http.blind_sql_injection.compare_boolean_and_first_true.solution.s0.o0": "Ensure that processing certain statements for SQLs does not lead to difference on their responses.",
  "3.http.blind_sql_injection.compare_boolean_or_first_false.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "3.http.blind_sql_injection.compare_boolean_or_first_false.attack.s0.o1": "The HTTP request is a control group.",
  "3.http.blind_sql_injection.compare_boolean_or_first_false.attack.s0.o2": "{0}",
  "3.http.blind_sql_injection.compare_boolean_or_first_false.attack.s0.o3": "{0}",
  "3.http.blind_sql_injection.compare_boolean_or_first_false.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "3.http.blind_sql_injection.compare_boolean_or_first_false.attack.s1.o1": "The HTTP request is a primary comparison group under assumption that 'OR TRUE' is included in SQL statement.",
  "3.http.blind_sql_injection.compare_boolean_or_first_false.attack.s1.o2": "{0}",
  "3.http.blind_sql_injection.compare_boolean_or_first_false.attack.s1.o3": "{0}",
  "3.http.blind_sql_injection.compare_boolean_or_first_false.attack.s2.o0": "The following HTTP request has been sent to the server.",
  "3.http.blind_sql_injection.compare_boolean_or_first_false.attack.s2.o1": "The HTTP request is a secondary comparison group under assumption that 'AND FALSE' is included in SQL statement.",
  "3.http.blind_sql_injection.compare_boolean_or_first_false.attack.s2.o2": "{0}",
  "3.http.blind_sql_injection.compare_boolean_or_first_false.attack.s2.o3": "{0}",
  "3.http.blind_sql_injection.compare_boolean_or_first_false.result.s0.o0": "The following HTTP request has been received from the server.",
  "3.http.blind_sql_injection.compare_boolean_or_first_false.result.s1.o0": "Compared to the size of the response body for the request of the control group, the size of response body for the request of the primary comparison group is larger by {0} % or more.",
  "3.http.blind_sql_injection.compare_boolean_or_first_false.result.s1.o1": "The response bodies are identical for the requests of the control group and secondary comparison group.",
  "3.http.blind_sql_injection.compare_boolean_or_first_false.result.s2.o0": "In results of comparing HTTP response bodies, the statements contained in their HTTP requests bring difference.",
  "3.http.blind_sql_injection.compare_boolean_or_first_false.result.s2.o1": "Due to the difference on the HTTP response bodies, information about processing SQL statements on the server can be inferred.",
  "3.http.blind_sql_injection.compare_boolean_or_first_false.solution.s0.o0": "Ensure that processing certain statements for SQLs does not lead to difference on their responses.",
  "3.http.blind_sql_injection.compare_expression.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "3.http.blind_sql_injection.compare_expression.attack.s0.o1": "The HTTP request is a control group.",
  "3.http.blind_sql_injection.compare_expression.attack.s0.o2": "{0}",
  "3.http.blind_sql_injection.compare_expression.attack.s0.o3": "{0}",
  "3.http.blind_sql_injection.compare_expression.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "3.http.blind_sql_injection.compare_expression.attack.s1.o1": "The HTTP request is a primary comparison group under assumption that '+ 2 - 2' is included in SQL statement.",
  "3.http.blind_sql_injection.compare_expression.attack.s1.o2": "{0}",
  "3.http.blind_sql_injection.compare_expression.attack.s1.o3": "{0}",
  "3.http.blind_sql_injection.compare_expression.attack.s2.o0": "The following HTTP request has been sent to the server.",
  "3.http.blind_sql_injection.compare_expression.attack.s2.o1": "The HTTP request is a secondary comparison group under assumption that '+ 3 - 2' is included in SQL statement.",
  "3.http.blind_sql_injection.compare_expression.attack.s2.o2": "{0}",
  "3.http.blind_sql_injection.compare_expression.attack.s2.o3": "{0}",
  "3.http.blind_sql_injection.compare_expression.result.s0.o0": "The following HTTP request has been received from the server.",
  "3.http.blind_sql_injection.compare_expression.result.s1.o0": "The response bodies are identical for the requests of the control group and primary comparison group.",
  "3.http.blind_sql_injection.compare_expression.result.s1.o1": "The response bodies are not identical for the requests of the control group and secondary comparison group.",
  "3.http.blind_sql_injection.compare_expression.result.s2.o0": "In results of comparing HTTP response bodies, the statements contained in their HTTP requests bring difference.",
  "3.http.blind_sql_injection.compare_expression.result.s2.o1": "Due to the difference on the HTTP response bodies, information about processing SQL statements on the server can be inferred.",
  "3.http.blind_sql_injection.compare_expression.solution.s0.o0": "Ensure that processing certain statements for SQLs does not lead to difference on their responses.",
  "3.http.blind_sql_injection.compare_order_by.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "3.http.blind_sql_injection.compare_order_by.attack.s0.o1": "The HTTP request is a control group.",
  "3.http.blind_sql_injection.compare_order_by.attack.s0.o2": "{0}",
  "3.http.blind_sql_injection.compare_order_by.attack.s0.o3": "{0}",
  "3.http.blind_sql_injection.compare_order_by.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "3.http.blind_sql_injection.compare_order_by.attack.s1.o1": "The HTTP request is a primary comparison group under assumption that 'ASC' is included in SQL statement.",
  "3.http.blind_sql_injection.compare_order_by.attack.s1.o2": "{0}",
  "3.http.blind_sql_injection.compare_order_by.attack.s1.o3": "{0}",
  "3.http.blind_sql_injection.compare_order_by.attack.s2.o0": "The following HTTP request has been sent to the server.",
  "3.http.blind_sql_injection.compare_order_by.attack.s2.o1": "The HTTP request is a secondary comparison group under assumption that 'DESC' is included in SQL statement.",
  "3.http.blind_sql_injection.compare_order_by.attack.s2.o2": "{0}",
  "3.http.blind_sql_injection.compare_order_by.attack.s2.o3": "{0}",
  "3.http.blind_sql_injection.compare_order_by.result.s0.o0": "The following HTTP request has been received from the server.",
  "3.http.blind_sql_injection.compare_order_by.result.s1.o0": "The response bodies are identical for the requests of the control group and primary comparison group.",
  "3.http.blind_sql_injection.compare_order_by.result.s1.o1": "The response bodies are not identical for the requests of the control group and secondary comparison group.",
  "3.http.blind_sql_injection.compare_order_by.result.s2.o0": "In results of comparing HTTP response bodies, the statements contained in their HTTP requests bring difference.",
  "3.http.blind_sql_injection.compare_order_by.result.s2.o1": "Due to the difference on the HTTP response bodies, information about processing SQL statements on the server can be inferred.",
  "3.http.blind_sql_injection.compare_order_by.solution.s0.o0": "Ensure that processing certain statements for SQLs does not lead to difference on their responses.",
  "3.http.blind_sql_injection.error_generic.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "3.http.blind_sql_injection.error_generic.attack.s0.o1": "{0}",
  "3.http.blind_sql_injection.error_generic.attack.s0.o2": "{0}",
  "3.http.blind_sql_injection.error_generic.result.s0.o0": "The following HTTP request has been received from the server.",
  "3.http.blind_sql_injection.error_generic.result.s1.o0": "The following string has been found in the HTTP response body:",
  "3.http.blind_sql_injection.error_generic.result.s1.o1": "{0}",
  "3.http.blind_sql_injection.error_generic.result.s2.o1": "The error message exposes information about processing SQL or DBMS running on the server.",
  "3.http.blind_sql_injection.error_generic.solution.s0.o0": "For an error from processing SQL statements, print out an appropriate level of error message.",
  "3.http.blind_sql_injection.error_generic.solution.s0.o1": "Information of the error message needs to make users acknowledge circumstances, but beware of risks to infer behaviors within its server.",
  "3.http.blind_sql_injection.error_specific.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "3.http.blind_sql_injection.error_specific.attack.s0.o1": "{0}",
  "3.http.blind_sql_injection.error_specific.attack.s0.o2": "{0}",
  "3.http.blind_sql_injection.error_specific.result.s0.o0": "The following HTTP request has been received from the server.",
  "3.http.blind_sql_injection.error_specific.result.s1.o0": "The following string has been found in the HTTP response body:",
  "3.http.blind_sql_injection.error_specific.result.s1.o1": "{0}",
  "3.http.blind_sql_injection.error_specific.result.s2.o0": "The strings might be considered as an error message of SQLs available on {0} DBMS.",
  "3.http.blind_sql_injection.error_specific.result.s2.o1": "The error message exposes information about processing certain SQL or DBMS running on the server.",
  "3.http.blind_sql_injection.error_specific.solution.s0.o0": "For an error from processing SQL statements, print out an appropriate level of error message.",
  "3.http.blind_sql_injection.error_specific.solution.s0.o1": "Information of the error message needs to make users acknowledge circumstances, but beware of risks to infer behaviors within its server.",
  "3.http.blind_sql_injection.error_union.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "3.http.blind_sql_injection.error_union.attack.s0.o1": "{0}",
  "3.http.blind_sql_injection.error_union.attack.s0.o2": "{0}",
  "3.http.blind_sql_injection.error_union.result.s0.o0": "The following HTTP request has been received from the server.",
  "3.http.blind_sql_injection.error_union.result.s1.o0": "The following string has been found in the HTTP response body:",
  "3.http.blind_sql_injection.error_union.result.s1.o1": "{0}",
  "3.http.blind_sql_injection.error_union.result.s2.o0": "The strings might be considered as an error message of UNIONs available on {0} DBMS.",
  "3.http.blind_sql_injection.error_union.result.s2.o1": "The error message exposes information about processing SQL or DBMS running on the server.",
  "3.http.blind_sql_injection.error_union.solution.s0.o0": "For an error from processing SQL statements, print out an appropriate level of error message.",
  "3.http.blind_sql_injection.error_union.solution.s0.o1": "Information of the error message needs to make users acknowledge circumstances, but beware of risks to infer behaviors within its server.",
  "3.http.external_redirect.conditional.attack_form": "A value of the parameter {0} transmitted through the form has been set as follow:",
  "3.http.external_redirect.conditional.attack_query_string": "A value of the {0} parameter transmitted through the query string has been set as follow.",
  "3.http.external_redirect.invocation.attack.s0.o0": "An HTTP request to be sent to the server has been configured as follow:",
  "3.http.external_redirect.invocation.attack.s0.o1": "{0}",
  "3.http.external_redirect.invocation.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "3.http.external_redirect.invocation.attack.s1.o1": "{0}",
  "3.http.external_redirect.invocation.attack.s1.o2": "{0}",
  "3.http.external_redirect.invocation.result.s0.o0": "{0} method call has been found in the server JVM through TrueScan.",
  "3.http.external_redirect.invocation.result.s0.o1": "Arguments of {0} parameter in the method are as follow:",
  "3.http.external_redirect.invocation.result.s0.o2": "{0}",
  "3.http.external_redirect.invocation.result.s0.o3": "For more information on these methods, see the following link: {0}",
  "3.http.external_redirect.invocation.result.s1.o0": "As a result of the analysis, the value set in the HTTP request configuration has been found in {1} parameter of {0} method.",
  "3.http.external_redirect.invocation.result.s1.o1": "Therefore, the method has been called by an HTTP request sent to the server, and redirects to the {0} location through that method.",
  "3.http.external_redirect.invocation.solution.s0.o0": "In redirection, the target location path must be defined as a constant string, and the value entered by the user should not be used.",
  "3.http.external_redirect.invocation.solution.s0.o1": "If it is necessary to perform a redirection to a location specified to the value entered by the user, the user input value must be verified.",
  "3.http.external_redirect.redirect_header.attack.s0.o0": "An HTTP request to be sent to the server has been configured as follow:",
  "3.http.external_redirect.redirect_header.attack.s0.o1": "{0}",
  "3.http.external_redirect.redirect_header.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "3.http.external_redirect.redirect_header.attack.s1.o1": "{0}",
  "3.http.external_redirect.redirect_header.attack.s1.o2": "{0}",
  "3.http.external_redirect.redirect_header.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "3.http.external_redirect.redirect_header.result.s0.o1": "{0}",
  "3.http.external_redirect.redirect_header.result.s1.o0": "The following string has been found in the {0} header of the HTTP response:",
  "3.http.external_redirect.redirect_header.result.s1.o1": "{0}",
  "3.http.external_redirect.redirect_header.result.s2.o0": "As a result of the analysis, the value set in the HTTP request configuration has been found in the {0} header value.",
  "3.http.external_redirect.redirect_header.result.s2.o1": "Therefore, redirection to the {0} location can occur due to HTTP requests sent to the server.",
  "3.http.external_redirect.redirect_header.solution.s0.o0": "In redirection, the target location path must be defined as a constant string, and the value entered by the user should not be used.",
  "3.http.external_redirect.redirect_header.solution.s0.o1": "When redirection to a location of the user input value is required, it must be verified.",
  "3.http.external_redirect.redirect_js.attack.s0.o0": "An HTTP request to be sent to the server has been configured as follow:",
  "3.http.external_redirect.redirect_js.attack.s0.o1": "{0}",
  "3.http.external_redirect.redirect_js.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "3.http.external_redirect.redirect_js.attack.s1.o1": "{0}",
  "3.http.external_redirect.redirect_js.attack.s1.o2": "{0}",
  "3.http.external_redirect.redirect_js.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "3.http.external_redirect.redirect_js.result.s0.o1": "{0}",
  "3.http.external_redirect.redirect_js.result.s1.o0": "The following string has been found in the JavaScript statement of HTTP response texts.",
  "3.http.external_redirect.redirect_js.result.s1.o1": "{0}",
  "3.http.external_redirect.redirect_js.result.s2.o0": "As a result of the analysis, the value set in the HTTP request configuration has been found to exist in the JavaScript statement.",
  "3.http.external_redirect.redirect_js.result.s2.o1": "Therefore, redirection to the {0} location can occur due to HTTP requests sent to the server.",
  "3.http.external_redirect.redirect_js.solution.s0.o0": "In redirection, the target location path must be defined as a constant string, and the value entered by the user should not be used.",
  "3.http.external_redirect.redirect_js.solution.s0.o1": "When redirection to a location of the user input value is required, it must be verified.",
  "3.http.external_redirect.redirect_meta.attack.s0.o0": "An HTTP request to be sent to the server has been configured as follow:",
  "3.http.external_redirect.redirect_meta.attack.s0.o1": "{0}",
  "3.http.external_redirect.redirect_meta.attack.s1.o0": "The following HTTP request has been sent to the server.",
  "3.http.external_redirect.redirect_meta.attack.s1.o1": "{0}",
  "3.http.external_redirect.redirect_meta.attack.s1.o2": "{0}",
  "3.http.external_redirect.redirect_meta.result.s0.o0": "The HTTP response to an HTTP request sent to the server is shown as follow.",
  "3.http.external_redirect.redirect_meta.result.s0.o1": "{0}",
  "3.http.external_redirect.redirect_meta.result.s1.o0": "In the HTTP response text, the following string has been found in the property {2} of the meta tag whose {0} property value is {1}.",
  "3.http.external_redirect.redirect_meta.result.s1.o1": "{0}",
  "3.http.external_redirect.redirect_meta.result.s2.o0": "As a result of the analysis, the value set in the HTTP request configuration has been found to exist in {0} property of the Meta tag.",
  "3.http.external_redirect.redirect_meta.result.s2.o1": "Therefore, redirection to the {0} location can occur due to HTTP requests sent to the server.",
  "3.http.external_redirect.redirect_meta.solution.s0.o0": "In redirection, the target location path must be defined as a constant string, and the value entered by the user should not be used.",
  "3.http.external_redirect.redirect_meta.solution.s0.o1": "When redirection to a location of the user input value is required, it must be verified.",
  "3.http.local_file_include.jsp.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "3.http.local_file_include.jsp.attack.s0.o1": "{0}",
  "3.http.local_file_include.jsp.attack.s0.o2": "{0}",
  "3.http.local_file_include.jsp.result.s0.o0": "The following string has been found in the HTTP response body:",
  "3.http.local_file_include.jsp.result.s0.o1": "{0}",
  "3.http.local_file_include.jsp.result.s1.o0": "Therefore, the server files can be included to a current page through the HTTP request sent to the server.",
  "3.http.local_file_include.jsp.solution.s0.o0": "When a specific file is included in a page, do not use the user input.",
  "3.http.local_file_include.jsp.solution.s1.o0": "If you need to include a specific file within the server by using the user input, the user input must be verified.",
  "3.http.local_file_include.jsp.solution.s1.o1": "When the user input contains character strings of a path with sensitive information or characters to move to parent paths, such as '../', they must be removed or replaced with other characters.",
  "3.http.path_traversal.match.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "3.http.path_traversal.match.attack.s0.o1": "{0}",
  "3.http.path_traversal.match.attack.s0.o2": "{0}",
  "3.http.path_traversal.match.result.s0.o0": "The following string has been found in the HTTP response body:",
  "3.http.path_traversal.match.result.s0.o1": "{0}",
  "3.http.path_traversal.match.result.s1.o0": "Therefore, the access to a certain path of the server has succeeded by the HTTP request sent to the server.",
  "3.http.path_traversal.match.solution.s0.o0": "To prevent path traversal, the user input ​​should not be used to access files and directories in the file system.",
  "3.http.path_traversal.match.solution.s0.o1": "If the user input must be used, make sure that the input is not used to the entire path, and also check that the user input is valid.",
  "3.http.path_traversal.match.solution.s0.o2": "It is also a function that encodes possible values ​​of Path Traversal such as URI.normalize() of Java, and it is necessary to change user's input value.",
  "3.http.server_side_include.exec.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "3.http.server_side_include.exec.attack.s0.o1": "{0}",
  "3.http.server_side_include.exec.attack.s0.o2": "{0}",
  "3.http.server_side_include.exec.result.s0.o0": "The following string has been found in the HTTP response body:",
  "3.http.server_side_include.exec.result.s0.o1": "{0}",
  "3.http.server_side_include.exec.result.s1.o0": "Therefore, the SSI statement can be run by the HTTP request sent to the server, and the file list in the root path can be browsed.",
  "3.http.server_side_include.exec.solution.s0.o0": "The user input values should not be used to generate SSI statements.",
  "3.http.server_side_include.exec.solution.s0.o1": "If a user input values ​​must be used for SSI statement configuration, those user input values must be validated.",
  "3.http.unlimited_password_error.five_times.attack.s0.o0": "The following original HTTP request has been sent to the server.",
  "3.http.unlimited_password_error.five_times.attack.s0.o1": "{0}",
  "3.http.unlimited_password_error.five_times.attack.s0.o2": "{0}",
  "3.http.unlimited_password_error.five_times.attack.s1.o0": "The following attack HTTP request has been sent to the server 5 times.",
  "3.http.unlimited_password_error.five_times.attack.s1.o1": "{0}",
  "3.http.unlimited_password_error.five_times.attack.s1.o2": "{0}",
  "3.http.unlimited_password_error.five_times.attack.s2.o0": "The following HTTP request has been sent to the server.",
  "3.http.unlimited_password_error.five_times.attack.s2.o1": "{0}",
  "3.http.unlimited_password_error.five_times.attack.s2.o2": "{0}",
  "3.http.unlimited_password_error.five_times.attack.s3.o0": "Repeated above process for 5 times.",
  "3.http.unlimited_password_error.five_times.result.s0.o0": "The element for the password is found on the input type in the response body for the origin HTTP request.",
  "3.http.unlimited_password_error.five_times.result.s0.o1": "The page log-in has been found to be succeeded on the checked web elements.",
  "3.http.unlimited_password_error.five_times.result.s0.o2": "A {0} type {1} web element named {2} has been found in its HTTP response text.",
  "3.http.unlimited_password_error.five_times.result.s0.o3": "The page log-in has been found to be succeeded on the checked web elements.",
  "3.http.unlimited_password_error.five_times.result.s1.o0": "Texts of HTTP responses for all attack requests have been compared.",
  "3.http.unlimited_password_error.five_times.result.s1.o1": "In results of comparing, the response bodies are identical.",
  "3.http.unlimited_password_error.five_times.result.s2.o0": "Therefore, the server does not restrict repeated login attempts.",
  "3.http.unlimited_password_error.five_times.result.s2.o1": "Therefore, the server does not restrict the client's repeated login attempts.",
  "3.http.unlimited_password_error.five_times.solution.s0.o0": "If an authentication failure of a particular client occurs repeatedly, try to restrict authentication attempts on that client.",
  "3.http.unlimited_password_error.five_times.solution.s0.o1": "After authentication fails five times, an additional authentication process is required.",
  "4.http.external_redirect.redirect_header.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "4.http.external_redirect.redirect_header.attack.s0.o1": "{0}",
  "4.http.external_redirect.redirect_header.attack.s0.o2": "{0}",
  "4.http.external_redirect.redirect_header.result.s0.o0": "The following string has been found in the Refresh header of the HTTP response:",
  "4.http.external_redirect.redirect_header.result.s0.o1": "{0}",
  "4.http.external_redirect.redirect_header.result.s1.o0": "Therefore, the redirection can occur by the HTTP request sent to the server.",
  "4.http.external_redirect.redirect_header.solution.s0.o0": "In redirection, the target location path must be defined as a constant string, and the value entered by the user should not be used.",
  "4.http.external_redirect.redirect_header.solution.s0.o1": "When redirection to a location of the user input value is required, it must be verified.",
  "4.http.external_redirect.redirect_js.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "4.http.external_redirect.redirect_js.attack.s0.o1": "{0}",
  "4.http.external_redirect.redirect_js.attack.s0.o2": "{0}",
  "4.http.external_redirect.redirect_js.result.s0.o0": "The following string has been found in the JavaScript statement of HTTP response texts.",
  "4.http.external_redirect.redirect_js.result.s0.o1": "{0}",
  "4.http.external_redirect.redirect_js.result.s1.o0": "Therefore, redirection can occur by the HTTP request sent to the server.",
  "4.http.external_redirect.redirect_js.solution.s0.o0": "In redirection, the target location path must be defined as a constant string, and the value entered by the user should not be used.",
  "4.http.external_redirect.redirect_js.solution.s0.o1": "When redirection to a location of the user input value is required, it must be verified.",
  "4.http.external_redirect.redirect_meta.attack.s0.o0": "The following HTTP request has been sent to the server.",
  "4.http.external_redirect.redirect_meta.attack.s0.o1": "{0}",
  "4.http.external_redirect.redirect_meta.attack.s0.o2": "{0}",
  "4.http.external_redirect.redirect_meta.result.s0.o0": "In the body or the HTTP response, the following string is found on location or refresh for http-equiv with content attribute in Meta tag. ",
  "4.http.external_redirect.redirect_meta.result.s0.o1": "{0}",
  "4.http.external_redirect.redirect_meta.result.s1.o0": "Therefore, the redirection can be succeeded by the HTTP request sent to the server.",
  "4.http.external_redirect.redirect_meta.solution.s0.o0": "In redirection, the target location path must be defined as a constant string, and the value entered by the user should not be used.",
  "4.http.external_redirect.redirect_meta.solution.s0.o1": "When redirection to a location of the user input value is required, it must be verified.",
  "ANALYSIS": "Analysis",
  "ARGUMENT_NUMBER_MISMATCH.description": "The Number Mismatch between Defined Parameters and Passed Arguments checker finds instances in which the number of parameters defined in a function and the number of arguments passed in a call to the function are different.\nThe checker reports a defect when the parameters defined in a function and the arguments passed in a call to the function do not match in number.\nMake sure the parameters defined and the arguments passed match in number.",
  "ARRAY_ACCESS_ON_POINTER.description": "The Use of Array Access Operator on Non-array checker finds expressions that perform an array access operation on a non-array pointer object.\nMake sure an array access operation is performed only on an array object or on a pointer to an array object.",
  "AtLeastOneConstructor.description": "This checks for non static classes that are not interfaces and do not have definitions of a constructor or static methods.",
  "BOOLEAN_EXPR_IN_SWITCH.description": "The Boolean Evaluation in Switch Statement Control Section checker finds switch statements whose control expression is a boolean expression, instead of an ordinary variable.\nAvoid boolean evaluation in the control section of a switch statement. For boolean evaluation, use an if statement, instead of a switch statement.",
  "BRACE_OF_STATEMENT_SHOULD_OCCUPY_LINE.description": "The Braced Block Not in Separate Line checker finds conditionals and loops whose condition section and braced body are not placed in separate lines.\nWhen writing a conditional or loop statement, make sure the opening brace of the body section starts in a new line.",
  "BooleanGetMethodName.description": "This checks for methods named as 'getX()' when the method returns a boolean. Such method should be named as 'isX()'.",
  "BooleanInstantiation.description": "This checks if new or valueOf() is used when initializing a boolean.",
  "BooleanInversion.description": "This checks for =! pattern.",
  "BoostForeachError.description": "BOOST_FOREACH caches the end() iterator. It's undefined behavior if you modify the container inside.",
  "BrokenNullCheck.description": "This checks when there is both || and comparison to Null, making the comparison to Null meaningless.",
  "ByteInstantiation.description": "This checks for the allocation of 'new Byte' or 'new java.lang.Byte'",
  "CANONICALIZE_URL_RECEIVED_BY_PROVIDER.description": "The Missing Canonicalization before File Exchange through Content Provider checker finds file names that are not canonicalized before exchanging the files with content providers.\nThe content provider android.content.ContentProvider class provides other applications capabilities to access application data through openFile() method. However, depending on the implementation of the class, use of the openFile() method can lead to a directory traversal vulnerability. Therefore, when exchanging files through a content provider, the path to the file must be canonicalized before it is used.\nBefore exchanging the file via the content provider, it must be canonicalized using File.getCanonicalPath().",
  "CASE_ENDS_WITH_WHEN_OTHERS.ABAP.description": "The Improper WHEN OTHERS Position checker finds WHEN OTHERS clauses positioned between CASE clauses.\nRelocate the WHEN OTHERS clauses to the end of their respective CASE statements.",
  "CATCH_ALL_EXCEPTIONS_THROWN_EXPLICITLY.description": "The Missing Catch for Explicitly Thrown Exception checker finds instances in which an exception explicitly thrown in code does not have a handler of a compatible type in all call paths that could lead to that point.\nMake sure the program catches all exceptions that it is expected to throw.",
  "CATCH_EXCEPTIONS_BY_REFERENCE.description": "The Catching of Exception by Non-reference checker finds catch blocks that catch an exception by a non-reference type.\nExceptions can be caught by pointer, by pointer, and by reference.\nMake sure exceptions are caught by reference.",
  "CATCH_EXCPETIONS_IN_HIERACHICAL_ORDER.description": "When testing to see if the type of an exception matches the type of a handler, a derived class exception will match with a handler for its base class. If the base class handler is found before the handler for the derived class, the base class handler will be used. The derived class handler is unreachable code and can never be executed.",
  "CHECK.DUPLICATED_PARAM.description": "The Same Variable Passed to Different Parameters checker finds calls to specified functions in which the same variable is passed to different parameters.\nYou can optionally specify functions by name. When a specified function is called, the checker checks for the same variable passed to different parameters. Some functions forbid passing the same variable to different parameters.\nDo not pass the same variable to two or more parameters when calling a specified function.",
  "CHECK.FIELD_ARRAY_LENGTH.description": "The Insufficient Field Length checker finds instances a specified struct's specified field has a shorter length than specified.\nYou can optionally specify structs and fields by name and their required field length. This rule applies only to array fields, and it counts the number of elements, not the number of bytes allocated.\nMake sure that specified structs' specified fields are declared with a length no smaller than the optionally specified value.",
  "CHECK_ALIGNMENT_OF_MEMORY.description": "The Reallocation of Memory Allocated by aligned_alloc() checker finds instances of using the realloc() function to reallocate the memory allocated by aligned_alloc().\nMake sure memory allocated by aligned_alloc() it not reallocated by realloc().",
  "CHECK_EXIST_LINK_FILES.description": "The File Opened without Check for Symlink checker finds instances of failure to check for a symbolic link when opening a file.\nYou can check for a symbolic link by setting the O_NOFOLLOW flag when calling the open() function.\nBe sure to check for a symbolic link before opening a file.",
  "CHECK_FLOATING_POINT_INPUTS_FOR_EXCEPTIONAL_VALUES_INFINITY.description": "The Missing NaN Check for Real Number checker finds code that do not properly check external inputs when they have floating points.\nAn external input, val variable can be validated by Double.isInfinite() function.",
  "CHECK_FLOATING_POINT_INPUTS_FOR_EXCEPTIONAL_VALUES_NAN.description": "The Missing NaN Check for Real Number checker finds code that do not properly check external inputs when they have floating points.\nAn external input, val variable can be validated by Double.isNaN function.",
  "CHECK_FOR_ASSIGNING_OBJECT_TO_ITSELF.description": "The Missing Equality Check between Pointers in Copy Assignment Operator checker finds definitions of copy assignment operators that do not include a protective logic against invalid self-assignment.\nSuch a logic works by checking if the source and destination point to the same object and can have various implementations. The checker searches for only limited patterns such as 'this == param.'\nWhen defining a copy assignment operator, add an expression protecting against self-assignment.",
  "CHROOT_JAIL_WITHOUT_CHANGE_WORK_DIR.description": "The Missing chdir() Call after chroot() Call function finds instances in which the chroot() function is called to modify the root directory but it is not followed by a call to the chdir() function, which is required to change the working directory.\nIf a call to chroot() is not followed by a call to chdir(), an unexpected result may occur.",
  "CLASSCAST.description": "The Invalid Downcast of Object in Collection checker finds instances in which an element is added to a collection and then taken out of the collection to be cast to another type.\nCast the element to a valid type, or use the instanceof operator to check the element's type before casting it. If Java 1.5 or a later version is used, you can specify a generic type for the collection declaration, thereby reducing the risk of invalid downcasting.",
  "CLASS_COMMENT.description": "The Class Comment Format checker finds class comments that violate their format.\nThe checker validates comments on class declarations for their compliance with the specified format. Additionally, if a comment contains a class name, the checker checks whether the class name is correct.\nWrite class comments in accordance with the specified format.",
  "CLASS_MEMBER_SHOULD_NOT_BE_PUBLIC.description": "The Field Defined as Public checker finds class fields that have the public access specifier.\nBe sure to apply the private access specifier to any class fields.",
  "CLASS_SHOULD_DECLARE_ASSIGNMENT_OPERATOR.description": "The Class without Copy Assignment Operator Definition checker finds classes that do not define an explicit copy assignment operator.\nMake sure each class defines an explicit copy assignment operator.",
  "CLASS_SHOULD_DECLARE_CONSTRUCTOR.description": "The Class without Constructor Definition checker finds classes that define no explicit constructor.\nMake sure each class defines at least one explicit constructor.",
  "CLASS_SHOULD_DECLARE_COPY_CONSTRUCTOR.description": "The Class without Copy Constructor Definition checker finds classes that do not define an explicit copy constructor.\nMake sure each class defines an explicit copy constructor.",
  "CLASS_SHOULD_DECLARE_DESTRUCTOR.description": "The Class without Destructor Definition checker finds classes that do not define an explicit destructor.\nMake sure each class defines an explicit destructor.",
  "CLEANUP_THREAD_SPECIFIC_STORAGE.description": "The Unfreed Memory after Use of tss_create() checker finds instances in which an allocated thread-specific storage remains unfreed.\nOnce a thread-specific storage is allocated by the tss_create() function, it must be freed after its use.",
  "CLEARTEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.description": "The Transmission of Key Security Information and Vehicle Information in Plain Text checker finds code that sends key security information or vehicle information in plain text without encryption or integrity verification.\nThe key security information such as the private key applied to the public key algorithm or the private key applied to the symmetric key algorithm must never be transmitted or exposed in the form of plain text outside the controller. The private key must be generated and stored by the possessor, and transmitted in cyphertext when it is being distributed. You can use block encryption algorithms, such as AES and TDES, or asymmetric key encryption algorithms, such as RSA and ECC, to generate the ciphertext. If you cannot generate the ciphertext, security information must be delivered with physical connection, such as USB and JTAG, rather than a wired or wireless network. In addition, key security information you are possessing must not be stored in plain text on external storages, such as USB memory or SD card. Make sure them to be stored in encrypted or uncrackable form if you need to use the external storages. Likewise, the integrity of sensitive information about vehicles or information that can be misused by attackers must all be preserved. If sensitive driving-related information, whose integrity is not guaranteed, is tampered with and misused by an attacker, it can lead to fatal accidents. In order to preserve integrity, authentication information such as MAC must be added, message and hash values must be transmitted to the outside in encrypted forms, and a person with the permission only can verify message authentication and integrity.\nEnsure to encrypt sensitive information or verify integrity before transmitting.",
  "CLEAR_TEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.description": "The Sensitive Information Transfer in Plaintext checker finds instances of transferring sensitive information without encrypting it.\nSensitive information transferring via communication channels must be encrypted. If necessary, secure channels such as SSL or HTTPS should be used.",
  "CLEAR_TEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION_ASPNET.description": "The Sensitive Information Transfer in Plaintext checker finds instances of transferring sensitive information without encrypting it.\nSensitive information transferring via communication channels must be encrypted. If necessary, secure channels such as SSL or HTTPS should be used.",
  "CND_WAIT_SHOULDE_BE_IN_LOOP.description": "The Use of cnd_wait without Loop checker finds calls to the cnd_wait() function that are not controlled under a loop.\nBe sure to call cnd_wait() only under loop control.",
  "CODED_ERROR_ANALYSIS_URL_QUEUE_UNEXPECTED_ERROR": "Unexpected error is occurred while analyzing the target : {0}",
  "CODED_ERROR_ANALYZER_APPLY_ISSUE_FAIL": "Failed to apply issues detected by '{0}' in {1}.",
  "CODED_ERROR_ANALYZER_CHECKER_EMPTY": "Cannot start analyzing since there is no checker. Please check the checker list of this project.",
  "CODED_ERROR_ANALYZER_LOAD_CRAWLING_RESULT_FAIL": "Failed to load crawling results.",
  "CODED_ERROR_ANALYZER_RECHECK_FAIL": "At least one recheck target was failed to analyze.",
  "CODED_ERROR_ANALYZER_TARGET_NO_CRAWLING_RESULT": "Cannot start analyzing since there is no target to analyze. Please check crawling results.",
  "CODED_ERROR_BROWSER_CANNOT_EXECUTE": "Failed to load the browser. Please check the browser files: {0}",
  "CODED_ERROR_CRAWLER_SAVE_RESULT_FAIL": "Failed to save crawling results.",
  "CODED_ERROR_CRAWLER_TARGET_NO_SEED": "Cannot start crawling. Please check the seed URLs entered when you created the project.",
  "CODED_ERROR_CRAWLER_WORKER_LOAD_FAIL": "Failed to load the crawling worker.",
  "CODED_ERROR_CRAWL_URL_QUEUE_UNEXPECTED_ERROR": "Unexpected error is occurred while crawling the target : {0}",
  "CODED_ERROR_FATAL_UNEXPECTED_ERROR": "Unexpected fatal error is occurred.",
  "CODED_ERROR_INACCESSIBLE_EB_TARGET": "Cannot access the seed URL by embedded browser.",
  "CODED_ERROR_INACCESSIBLE_ENDPOINT": "Cannot access the endpoints.",
  "CODED_ERROR_INACCESSIBLE_HB_TARGET": "Cannot access the seed URL by the HTTP client.",
  "CODED_ERROR_INVALID_OPENAPI_SPEC_FILE": "Cannot parse the OpenAPI specification file.",
  "CODED_ERROR_INVALID_RECORD_FILE": "Cannot play the event clipboard file.",
  "CODED_ERROR_INVALID_SCREENSHOT": "Cannot capture the target screen.",
  "CODED_ERROR_LOAD_RESUME_DATA_FAIL": "Failed to load the resume data.",
  "CODED_ERROR_MANAGER_NOT_READY": "Failed to ready the manager.",
  "CODED_ERROR_MEMORY_OUT_OF_MEMORY": "Out of memory. Please check memory usage or memory setting in install.properties file.",
  "CODED_ERROR_SAVE_PAUSE_DATA_FAIL": "Failed to save the paused data.",
  "CODED_ERROR_UNEXPECTED_ERROR_ON_CRAWL": "Unexpected error has been occurred while crawling.",
  "CODED_ERROR_UNEXPECTED_ERROR_ON_PRE": "Unexpected error has been occurred while pre-crawling.",
  "CODED_ERROR_UNEXPECTED_PATH": "Cannot expect the analysis paths.",
  "CODE_INJECTION.RETURN_ADDRESS.description": "The Code Injection of Return Address checker finds code that may get modified its return address and exploited.\nSpecifically, when you declare a local variable and assign a buffer to stack area, but, an external input can cause an underflow and then, change a function address.\nSo, ensure to prevent an external input from causing an underflow on stack memories and modifying the return address. For example, check an offset value, or store the external input to the heap area instead of the stack.",
  "CODE_INJECTION.description": "This security vulnerability may cause abnormal action when an attacker injects unknown code to change the intended behavior of the software.",
  "COMBINED_INCREMENT_AND_DECREMENT_OPERATOR.description": "The Incorrect Use of Increment/Decrement Operator checker finds instances of using an increment or decrement operator together with another operator.\nPut each increment and decrement operation in a separate statement to avoid confusing the sequence of operations.",
  "COMMAND_INJECTION.description": "The OS Command Injection checker finds instances in which an internal system command is executed by an unvalidated external input.\nIf a command needs to be generated or selected based on an external input, whitelist safe values for command generation and restrict values determined by external inputs to those selected from within the whitelist.",
  "COMMAND_INJECTION_ASPNET.description": "The OS Command Injection checker finds instances in which an internal system command is executed by an unvalidated external input.\nIf a command needs to be generated or selected based on an external input, whitelist safe values for command generation and restrict values determined by external inputs to those selected from within the whitelist.",
  "COMMENT_IN_CODE.description": "The Comment in Single Line of Code checker finds a comment included in the middle or top of a single line of code.\nPlace the comment at the end of the code, or to a separate line.",
  "COMPARE_LOOP_COUNTER.description": "The Invalid Comparison with Loop Counter checker finds incidents that loop counters of for statements are not compared in specified manners.\nThe checker probes that the loop counters increase or decrease by 2 or more, and are not compared to numbers. The specified manners indicate below conditions: The loop counters are not modified to ++ or -- operator in increment and decrement statements. Also, they are not compared with <=, <, >, or >= in conditions.\nModify operators for the loop counters to ++ or --. If the operators are not modified to ++ or --, ensure to use <=, <, >, or >= operator in conditional statements.",
  "COMPLEX_CONTROL_IN_SWITCH.description": "The Switch Statement Intermixed with Another Code Block checker finds switch statements in which a for loop or if conditional starts in one case label and its body block spans the next case label(s).\nDo not intermix a switch statement and another statement having a body.",
  "COMPLEX_FUNC_DECL.description": "The Complicated Function Declaration checker finds declaring a function in an extremely complicated way.\nA complicated declaration refers to declaring a function pointer with a non-typedefed return or parameter type.\nUse typedef to declare the return or parameter type separately, or do not use the function pointer.",
  "COMPLY_WITH_MODIFIER_ORDER.description": "The Modifiers in Wrong Order checker finds instances in which multiple modifiers are applied in an incorrect order.\nYou can optionally specify the order of modifiers.\nArrange modifiers in the correct order.",
  "COMPONENT.ORIGINALVERSION.FALSE": "The original version does not exist. The latest version is shown.",
  "COMPONENT.ORIGINALVERSION.TRUE": "The original version is {0}.",
  "COMPOUND_LITERAL_ADDRESS_INSIDE_LOOP.description": "The Inappropriate Use of Compound Literal in Loop checker finds instances of using a compound literal inappropriately in a loop due to failure to understand how compound literals are interpreted.\nWhen using a compound literal, it is safe to assume that its temporary object will be discarded as soon as the enclosing block ends. If a temporary object is to be used to initialize another object, you should not use a pointer to the temporary object, but an actual copy of it.",
  "COMPRESS": "Compress",
  "CONCATENATE_DIFF_TYPE_STR.description": "The Concatenation of Wide String with Regular String checker finds expressions that concatenate a wide-character string and a regular string.\nDo not concatenate a wide-character string and a regular string.",
  "CONDITIONAL_OPERATION_WITHOUT_PARENTHESIS.description": "The Unparenthesized Conditional Operation checker finds  ternary expressions in which the condition part before the ? operator is a binary expression but not enclosed in parentheses.\nTo avoid confusion, if the condition part is a binary expression, enclose the whole condition in parentheses; and if the whole ternary expression is used as an operand of another binary operation, enclose it all in parentheses.",
  "CONFIG": "Config",
  "CONFIGURATION_SETTING.description": "The External Control of System or Configuration Setting checker finds calls to the sethostid() function where the argument is not properly processed.\nMake sure an external input is not directly used as an argument for sethostid().",
  "CONSTANT_ON_LEFT_HANDSIDE.description": "The Constant on Right Side of Comparison Operator checker finds instances of comparison between a variable and a constant in which the constant comes on the right side of the comparison operator.\nWhen comparing a variable and a constant, put the constant on the left side. In C++ context, the assignment operator (=) is often used by mistake instead of the equality operator (==). If the constant is on the left side, the compiler can detect this mistake.\nWhen comparing a variable and a constant, put the constant on the left side.",
  "CONSTEXPR_IN_SWITCH.description": "The Use of constexpr in switch checker finds instances of using constexpr in a switch or case statement.\nDo not use constexpr in a switch statement. Use a pre-computed constant instead.",
  "CONST_IN_LOOP_TEST.description": "The Use of Constant in Loop Control Section checker finds loop statements whose control section includes a constant.\nYou can optionally specify values excluded from checking.\nDo not use a constant in the control section of a loop.",
  "CONST_MEMBER_FUNCTION_SHOULD_NOT_RETURN_NONCONST.description": "The Non-constant Handle Returned from const Method checker finds methods that are declared const but return a non-constant handle.\nA handle herein refers to a pointer or reference member in a class, not a value member.\nDo not return a non-constant handle from a const member, which allows for modifying the member data from outside the class.",
  "CONST_VALUE_MODIFICATION.description": "The Modification to const Object checker finds code that modifies a value of const-qualified variables.\nDo not allow const variables to change their value in any way.",
  "CONTRACT_REQUIRED": "Separate contract required",
  "CONVERSION_OPERATOR_CLASS_TYPE.description": "The Declaration of Conversion Operator for Class Type checker finds conversion operators that are declared for another class type inside a class.\nA conversion operator refers to a special method used to convert a class object to a particular type.\nDo not declare conversion operators for another class type. Instead, it is recommended to declare and use regular methods that return the intended class type.",
  "CONVERSION_OPERATOR_FUNDAMENTAL_TYPE.description": "The Declaration of Conversion Operator for Base Type checker finds conversion operators that are declared for a base type inside a class.\nA conversion operator refers to a special method used to convert a class object to a particular type.\nDo not declare conversion operators for a base type. Instead, it is recommended to declare and use regular methods that return the intended base type.",
  "CONVERT_FLOATING_POINT_IN_FLOATING_OPERATION.description": "Do not use integers in a floating point operation.",
  "CONVERT_INT_TO_FLOAT_FOR_FLOAT_OPERATION.description": "The Missing Cast before Float Operation checker finds floating-point operations that fail to cast any integer operand to a floating-point number.\nBefore performing a float-pointing operation, cast all integer operands to float-pointing.",
  "COPY": "Copy",
  "CORRECT_DECLARE_FLEXIBLE_ARRAY_MEMBER.description": "The Incorrect Declaration of Variable-length Array checker finds syntactically incorrect declarations of variable-length arrays.\nVariable length arrays is a feature where the array length is not specified at compile time but determined at runtime. If a variable-length array is given a length specification like [1], it is a violation of syntax.\nWhen using a variable-length array, do not specify its length.",
  "CREATE": "Create",
  "CRITICAL_PUBLIC_VARIABLE_WITHOUT_CONST_MODIFIER.description": "The Critical public Variable without const checker finds critical fields declared as public without const modifier.\nTypically, you can declare private fields. However, critical fields are often declared public so that they can be accessed from outside. However, not every public field is a critical field. You can optionally specify names of critical fields.\nDeclare important fields such as public with a const modifier.",
  "CRITICAL_PUBLIC_VARIABLE_WITHOUT_FINAL_MODIFIER.description": "The Critical public static Variable without final checker finds instances in which a critical member field that should not be arbitrarily modified is declared public static without the final modifier.\nBecause the checker cannot determine which fields are considered critical by the programmer, it regards primitive-type fields as critical, which are usually used as global constants.\nWhen declaring primitive fields as public static, add the final modifier. In the case of critical fields that need to be mutable, do not declare them public and have them accessed via static methods.",
  "CRITICAL_VARIABLE_IN_PUBLIC.description": "The Critical Public Variable checker finds critical variables that are declared public in a class.\nTypically, you can declare private fields. However, critical fields are often declared public so that they can be accessed from outside. However, not every public field is a critical field. You can optionally specify names of critical fields.\nMake sure any critical fields are declared private.",
  "CROSS_SITE_REQUEST_FORGERY.description": "The Cross-site Request Forgery checker finds form data transfers that are not made via the POST method.\nWhen writing an input form, choose the POST method over the GET method. And use a token between the input form and the processor for inputs therefrom so that direct URL exploitation can be prevented. For an attempt to access critical functions, in particular, be sure to demand session verification and re-authentication.",
  "CROSS_SITE_REQUEST_FORGERY_ASPNET.description": "Cross-site request forgery prevention tokens are vulnerable to cross-site request forgery attacks if you do not generate and pass a cross-site request forgery prevention token to your site in the form.",
  "CROSS_SITE_REQUEST_FORGERY_CSHARP.description": "The Cross-site Request Forgery checker finds form data transfers that are not made via the POST method.\nWhen writing an input form, choose the POST method over the GET method. And use a token between the input form and the processor for inputs therefrom so that direct URL exploitation can be prevented. For an attempt to access critical functions, in particular, be sure to demand session verification and re-authentication.",
  "CTORS_SHOULD_NOT_HAVE_SIDE_EFFECT.description": "Do not assume that copy constructor invocations will not be elided. The number of times copy constructor is called is dependent on the implementation of the compiler.",
  "CYCLOMATIC_COMPLEXITY_METRIC.description": "The Too Many Decision Points in Function checker finds functions whose internal decision points (if, while, and case statements) are more than the optionally specified number.\nYou can optionally specify the number of decision points allowed in a function.\nBecause higher cyclomatic complexity demands higher maintenance costs, make sure each function includes no more than a certain number of decision points (by default, 20).",
  "CallSuperFirst.description": "This checks if super() has been called at the beginning of the method.",
  "CallSuperInConstructor.description": "It is a good practice to call super() in a constructor. If super() is not called but another constructor (such as an overloaded constructor) is called, this rule will not report it.",
  "CallSuperLast.description": "This checks whether super has been called in the end of the method.",
  "CastAddressToIntegerAtReturn.description": "Returning an address value in a function with integer (int/long/etc) return type is not portable across different platforms and compilers. For example in 32-bit Windows and Linux they are same width, but in 64-bit Windows and Linux they are of different width. In worst case you end up casting 64-bit address down to 32-bit integer. The safe way is to always return an integer.",
  "CastIntegerToAddressAtReturn.description": "Returning an integer (int/long/etc) in a function with pointer return type is not portable across different platforms and compilers. For example in 32-bit Windows and Linux they are same width, but in 64-bit Windows and Linux they are of different width. In worst case you end up casting 64-bit integer down to 32-bit pointer. The safe way is to always return a pointer.",
  "CatchExceptionByValue.description": "The exception is caught by value. It could be caught as a (const) reference which is usually recommended in C++.",
  "CheckResultSet.description": "This checks if the value of the result of the navigation methods (next, previous, first, and last)  of ResultSet is checked before being used.",
  "CheckSkipResult.description": "The skip() method may skip a smaller number of bytes than requested. Check the returned value to avoid such situation.",
  "ClarifyCondition.description": "Suspicious condition (assignment + comparison); Clarify expression with parentheses.",
  "ClassCastExceptionWithToArray.description": "This checks for cases when ClassCastException occurring due to the Collection objects misusing toArray() method. Because almost all the Collection type objects have its toArray() method return Object[], the misuse shown in the example below will cause run-time problems.",
  "ClassNamingConventions.description": "This checks if class naming conventions are kept. The name of the class must always start with capital letter.",
  "ClassWithOnlyPrivateConstructorsShouldBeFinal.description": "Classes with only private constructors should be final unless the constructor is called by an internal class.",
  "CloneMethodMustImplementCloneable.description": "The method clone() should only be implemented if the class implements the Cloneable interface with the exception of a final method that only throws CloneNotSupportedException. This checks if this rule is broken.",
  "CloneThrowsCloneNotSupportedException.description": "This checks if a clone() method inside a class not declared final does not receive parameters and inherit CloneNotSupportedException.",
  "CloseResource.description": "This checks if resources (like Connection, Statement, and ResultSet objects) are closed after use.",
  "CollapsibleIfStatements.description": "This checks for collapsible if statements using boolean short-circuit operators.",
  "CommentSize.description": "This checks if a comment's length exceeds a predefined threshold.",
  "CompareBoolExpressionWithInt.description": "Comparison of a boolean expression with an integer other than 0 or 1.",
  "CompareObjectsWithEquals.description": "== is used for comparing objects. Using equals() instead of == is recommended for comparison of objects.",
  "ComparisonError.description": "The expression '(X & 0x6) == 0x1' is always false. Check carefully constants and operators used, these errors might be hard to spot sometimes. In case of complex expression it might help to split it to separate expressions.",
  "ComparisonOfBoolWithBoolError.description": "The variable 'var_name' is of type 'bool' and comparing 'bool' value using relational (<, >, <= or >=) operator could cause unexpected results.",
  "ComparisonOfFuncReturningBoolError.description": "The return type of function 'func_name' is 'bool' and result is of type 'bool'. Comparing 'bool' value using relational (<, >, <= or >=) operator could cause unexpected results.",
  "ComparisonOfTwoFuncsReturningBoolError.description": "The return type of function 'func_name' is 'bool' and result is of type 'bool'. Comparing 'bool' value using relational (<, >, <= or >=) operator could cause unexpected results.",
  "ConfusingTernary.description": "This checks for != in the conditional part of the ternary operator",
  "ConsecutiveLiteralAppends.description": "This checks for consecutive calls for StringBuffer's append().",
  "ConsistentReturn.description": "In Javascript, either a value must be returned or nothing must be returned throughout a function. If a value is returned and nothing is returned in the same function, a bug may occur.",
  "ConstructorCallsOverridableMethod.description": "If virtual method is called within the parent class's constructor, the child class's field is read before initialization.",
  "CopyCtorAndEqOperator.description": "The class 'class' has 'operator=' but lack of 'copy constructor'.",
  "CopyCtorPointerCopying.description": "Value of pointer 'var', which points to allocated memory, is copied in copy constructor instead of allocating new memory.",
  "CouplingBetweenObjects.description": "This checks if there are many different types of objects as a member. The default threshold is 20 types of different objects.",
  "CoutCerrMisusage.description": "Invalid usage of output stream.",
  "CyclomaticComplexity.description": "This checks if the number of the statements that increase the complexity of the code such as if, while, for, case statements is over a certain threshold.",
  "DANGEROUS_DOWNCAST.description": "The Invalid Integer Downcast checker finds instances of casting an integer to a narrower type.\nBefore an integer is downcast, the destination type must be checked if it could accommodate the original value. If you have a clear reason for downcasting, perform bitwise operations to discard high-order bits prior to the cast, thereby clarifying your intention.",
  "DANGEROUS_FUNCTION.ASP.description": "This checks for dangerous functions.",
  "DANGEROUS_FUNC_CAST.description": "The Cast of Dangerous Function Pointer checker finds instances in which a function pointer is cast to have a conflicting signature or a different return type.\nThe checker also detects casts from a function pointer with variable-length arguments to a function pointer having a changed argument or return type.\nWhen casting a function pointer, make sure the signature and type are not changed.",
  "DANGEROUS_USE_OF_TAINTED_VALUES.description": "The Use of Tainted Value checker finds instances of using tainted values without validation.\nSuch as an argument of an insecure function, an index of an array, or a control variable of a loop. Yet, for an pointer type argument of an insecure function, a tainted value can be used in its object, not its offset.\nDo not use tainted values. To be specific, check scope of the tainted values, or use a filter function to secure the values before using them.",
  "DATA": "Data itself",
  "DATA_LEAK_BETWEEN_SESSIONS.description": "The Data Leak between Sessions checker finds instances in which a field is declared in a servlet in a multithreaded environment.\nDo not declare a member field in an HttpServlet subclass unless this is inevitable; instead, declare a local variable.",
  "DEALLOCATORS_MUST_NOT_THROW_EXCEPTIONS.description": "The Exception Thrown inside Memory Deallocator checker finds expressions that throw an exception inside a memory deallocation operator.\nA memory deallocation operator herein refers to an overload of a memory deallocation operator such as delete.\nDo not throw an exception in a memory deallocation operator.",
  "DEBUG_INFORMATION.WEB.CONFIG.description": "The Debugging Information Exposal checker finds settings that enable exposing debugging information.\nDisable the setting, or use RemoveAttributes(debug) attribut to prevent debug information from being exposed for releases.",
  "DECLARE_AT_THE_BEGINNING_OF_BLOCK.description": "The Local Variable Declaration Not at Top of Function checker finds function definitions in which local variable declarations are not located at the top.\nAs an exception, the counter in a for loop is excluded from checking.\nLocal variables must be declared at the top of the function.",
  "DECLARE_CONST_MEMBER_FUNCTION.description": "The Method Declaration without const checker finds instance in which a class method is not declared const even though it does not modify an object.\nA const declaration of a method is not to allow the method to modify objects. Violating this causes a compile error.\nBe sure to declare methods with the const keyword if they don't modify objects. If a local control variable needs to change its value in a const method, declare this variable mutable instead.A variable declared mutable can be changed in a const-declared function.",
  "DECLARE_CONTROL_VARIABLES_WITHIN_FOR.description": "The Loop Control Variable Not Declared in for Loop checker finds for loops whose loop control variable is not declared within the loop but is from outside.\nA loop control variable must be declared in the loop header and should not be an object already declared outside the loop. This practice is beneficial in that the loop control variable's scope is limited within the loop.\nBe sure to declare the loop control variable in the loop header.",
  "DECLARE_COPY_CONSTRUCTOR_PROTECTED.description": "The Public Declaration of Abstract Class Copy Assignment Operator checker finds abstract classes whose copy assignment operator has public accessibility.\nIn an abstract class, set the copy assignment operator's accessibility protected.",
  "DECLARE_DESTRUCTOR_FOR_RESOURCE_CLASS.description": "The Missing Definition of Destructor in Complicated Class checker finds certain kinds of classes in which a special method is not declared or defined.\nThe checker examines classes that contain a pointer as a member field.\nYou must explicitly declare and define a destructor.",
  "DECLARE_DESTRUCTOR_USING_NEW.description": "The Missing Definition of Destructor in Dynamically Allocating Class checker finds certain kinds of classes in which a special method is not declared or defined.\nThe checker examines classes that contain a dynamically initialized field.\nYou must explicitly declare and define a destructor.",
  "DECLARE_EXPLICIT.description": "The Missing explicit Keyword checker finds constructors that take one argument but are not qualified with \"explicit.\"\nConstructors taking one argument refer to any constructors that can be invoked with only one argument passed in because all other arguments have default values.\nMake sure all constructors with one argument are declared with the explicit keyword.",
  "DECLARE_EXPLICIT_ASSIGNMENT_OPERATOR_WHEN_TEMPLATED.description": "The Class with Template Does Not Have Copy Assignment Operator Definition checker finds classes with a template that do not define an explicit copy assignment operator.\nClasses with a template refer to classes that declare a generic copy assignment operator with template parameters.\nMake sure each class defines an explicit copy assignment operator.",
  "DECLARE_EXTERNAL_OBJECT_ONLY_ONCE.description": "The Duplicate Declaration of extern Object or Function checker finds extern objects and functions declared in multiple header files.\nDeclare each extern object and function only once in one header file.",
  "DECLARE_EXTERN_IN_HEADER_FILES.description": "The Declaration in Invalid Header File checker finds instances that declaration is not performed in a header file as specified in rules.\nThe header file declaration rules are as follows: all non-inline functions, classes, variables, enumerations and enumeration constants, entities at named namespace scope, and objects with external linkage must be declared in header files. Do not write object definitions and unnamed namespace declarations and definitions in header files.\nWrite the header file as specified.",
  "DECLARE_NON_MEMBER_GENERIC_FUNC_IN_UNASSOCIATED_NAMESPACE.description": "The Non-member Template Function Definition in Namespace checker finds instances that a non-member template function is defined in relative namespaces.\nTo explicitly specify the function call, do not declare a non-member template function in the related namespaces.",
  "DECLARE_OBJECTS_SHARED_BETWEEN_THREADS.description": "The Shared Object with Expired Storage Duration checker finds instances in which an object shared between threads has a shorter storage duration than the threads' lifetimes.\nObjects with a short storage duration can include thread-local variables.\nInstead of a thread-local variable, which has a short storage duration, use a static object, which persists until the program terminates.",
  "DECLARE_ONE_NAME_ONLY_IN_EACH_TYPEDEF.description": "The typedef Declaration of Multiple Types checker finds typedef statements that declare more than one type.\nEach typedef statement must declare only one type. As the \"&\" and \"*\" modifiers apply only to the adjacent declarator, a typedef declaration of multiple types may be confusing and undermine maintainability.\nEach typedef statement must declare only one type.",
  "DECLARE_READ_ONLY_PARAMETERS.description": "The Non-const Qualified Parameter of Class Type checker finds instances in which a class-type parameter is declared not as a const reference.\nParameters of non-class primitive types need to be passed as values.\nBe sure that parameters of class types are passed as const references.",
  "DECLARE_SPECIAL_METHOD_FOR_RESOURCE_CLASS.description": "The Missing Definition of Special Method in Complicated Class checker finds certain kinds of classes in which a special method is not declared or defined.\nThe checker examines classes that contain a pointer as a member field or have a complicated destructor.\nBe sure to declare and define an explicit copy constructor and copy assignment operator.",
  "DECLARE_SPECIAL_METHOD_USING_NEW.description": "The Missing Definition of Special Method in Dynamically Allocating Class checker finds certain kinds of classes in which a special method is not declared or defined.\nThe checker examines classes that contain a dynamically initialized field.\nBe sure to declare and define an explicit copy constructor and copy assignment operator.",
  "DECLARE_STATIC_WHEN_UNLESS_EXTERNAL_LINKAGE.description": "The extern Object or Function not Externally Accessed but Declared in File Scope checker finds extern objects and functions that are not accessed from the outside but are declared in file scope.\nMake sure objects and functions used only in one file are declared static.",
  "DECLARE_TYPE_IN_HEADER_FILES.description": "The Definition That Must Be in Header checker finds instances in which an entity supposed to be defined in a header file is actually defined in a source file.\nExcept object definitions and unnamed namespace declarations and definitions, all entities should be declared in header files. Which include: all non-inline functions, classes, variables, enumerations and enumeration constants, entities at named namespace scope, and entities with external linkage.",
  "DECLARE_VARIABLE_INSIDE_SWITCH.description": "Do not declare variables inside a switch statement before the first case label.Even if programmer initializes the declared variable before the case statement, it does not become initialized inside the case statement. Thus, uninitialized value will be used if variable is initialized inside the case statement.",
  "DECLARE_VARIABLE_IN_MIDDLE_OF_BLOCK.description": "The Variable Declaration in Middle of Block checker finds instances of declaring a variable in the middle of a block, instead of in the beginning lines.\nAs an exception, labels and empty statements can precede variable declarations. You can optionally set whether to support Proframe and specify variable names exempt from checking.\nPlace variable declarations at the top of the code block.",
  "DECREMENT_ON_BOOLEAN.description": "The Use of Decrement Operator on Boolean checker finds code that performs decrement operation with -- operator on a boolean variable.\nDo not use the decrement operator on a boolean variable. Assign it either true or false, or define and use a custom function like toggle(), set(), or clear().",
  "DEEPLY_NESTED.ABAP.description": "The Deeply Nested Control Statement checker finds too deeply nested control statements.\nIf control flow statements such as IF, DO, LOOP, CASE, WHILE, SELECT, or PROVIDE are nested more deeply than the optionally specified depth, the checker detects them.\nUse AND or OR clauses to eliminate unnecessary nesting.",
  "DEEP_NESTING_BLOCKS.description": "The Block with Too Many Levels of Nesting checker finds functions that have too many levels of nesting.\nSuch a function is likely to include a large number of capabilities; you can consider dividing them into multiple smaller functions. Or, refactor the code to eliminate the deeply nested blocks.",
  "DEFAULT_ARGUMENT_CONSISTENCY_WHEN_OVERRIDING.description": "The Overriding Function Takes Different Default Argument checker finds instances in which parameters in an overriding function do not use the same default arguments as the function they override.\nParameters in an overriding virtual function shall use the same default arguments.",
  "DEFENSIVELY_COPY_MUTABLE_INPUTS_AND_MUTABLE_INTERNAL_COMPONENTS.description": "The Direct Use of Mutable Variable Input or Internal Component finds code that does not create a copy of the mutable object before it saves and returns it.\nCreate a copy of the cookie object for the mutable internal component. So that an argument value used for validation or function call does not get changed by external inputs.",
  "DEFINE_INLINE_IN_HEADER_FILES.description": "The Inline Definition in Invalid Header File checker finds instances that inline definition is not performed in a hear file as specified in rules.\nThe header file inline definition rules are as follows: The inline functions must be declared and defined in header files. Do not write unnamed namespace declarations and definitions in header files.\nWrite the header file as specified.",
  "DEFINE_OBJECT_AT_BLOCK_SCOPE.description": "The Global Variable Accessed Only in One Function checker finds instances in which a global variable is accessed only in one function.\nVariables used only in a single function need to be declared local.",
  "DEFINE_SET_NEW_HANDLER.description": "The Missing Dynamic Allocation Handler checker finds a program that uses dynamic memory allocation but does not have a dynamic allocation handler defined.\nA dynamic allocation handler refers to a function invoked in a C++ program when dynamic memory allocation is failed.\nAny C++ program that dynamically allocates memory must have a handler defined with set_new_handler() to be invoked in case of memory allocation failure. Define a handler function and pass a pointer to it to the set_new_handler() function.",
  "DEFINE_TEMPLATE_IN_HEADER_FILES.description": "The Template Definition in Invalid Header File checker finds instances that template definition is not performed in a hear file as specified in rules.\nThe header file template definition rules are as follows: Template classes or functions must be declared and defined in header files. Do not write unnamed namespace declarations and definitions in header files.\nWrite the header file as specified.",
  "DEFINE_WRAPPERS_AROUND_NATIVE_METHODS.description": "The Unwrapped Native Method checker finds a native method that is declared as private and called directly without using a wrapper method.\nNative methods are written in C and C++ languages and are defined in Java. This extensibility allows the native methods to be flexible and portable, rather than dependent on Java. The native methods are used to perform platform-specific operations, interfacing with legacy library code, and improving program performance. Defining a wrapper method facilitates installing appropriate security manager checks, validating arguments passed to native code, validating return values, defensively copying mutable inputs, and sanitizing untrusted data. Consequently, every native method must be private and must be invoked only by a wrapper method. The checker finds two cases as followings: 1: A method is declared as native modifier, but a private is not used. 2: A method is declared as public modifier, which satisfies all of the following conditions: 1) Another method N is declared as native modifier for the same object. 2) Function F calls the method N within the method. 3) Function F is executed on all execution paths.\nDeclare the native method as private, and perform a security check using a conditional statement before calling the native method.",
  "DELETE": "Delete",
  "DEPRECATED.DATA_BEGIN_OF_OCCURS.ABAP.description": "The Use of DATA BEGIN OF OCCURS Statement checker finds DATA BEGIN OF OCCURS statements.\nReplace the DATA BEGIN OF OCCURS statements with those of DATA BEGIN OF.",
  "DEPRECATED.FORM.ABAP.description": "The Use of FORM Statement checker finds FORM statements.\nFor code reusability, use METHOD or FUNCTION instead.",
  "DEPRECATED.REFRESH_ITAB_FROM_TABLE.ABAP.description": "The Use of REFRESH FROM TABLE Statement checker finds REFRESH FROM TABLE statements.\nReplace the REFRESH statements with INTO clauses in SELECT statements.",
  "DEREFERENCING_DOES_NOT_EXCEED_TWO_LEVELS.description": "The Expression with More than Two Levels of Dereferencing checker finds expressions that involve more than two dereference operations.\nIf more than two levels of dereferencing are needed, split the dereference chain into multiple expressions, for example, by storing an intermediate result in a temporary variable.",
  "DERIVATIVE_WORK": "Legal scope of derivative works",
  "DESTRUCTORS_MUST_NOT_THROW_EXCEPTIONS.description": "The Throwing of Exception Out of Destructor checker finds destructors that throw an exception.\nMake sure exceptions are not thrown out of destructors.",
  "DESTRUCTOR_SHOULD_BE_VIRTUAL.description": "The Declaration of Destructor as Non-virtual Despite Virtual Function in Class checker finds classes that include a virtual function but does not declare the destructor virtual.\nDeclare the destructor virtual if its class includes a virtual function.",
  "DESTRUCTOR_SHOULD_BE_VIRTUAL_IF_CLASS_HAS_VIRTUAL.description": "If a class contains any virtual member function then also its destructor must be virtual. This checks for flaws that breaks this rule.",
  "DIFFERENT_EXCEPTION_SPECIFICATION.description": "The Different Exception Specification checker finds instances that a single function has different exception specifications in different translation units.\nEnsure that the single function has one exception specification. Modify one of the exception specifications.",
  "DIFFERENT_FUNCTION_PTR_ASSIGN.description": "Different type of function pointer is assigned.",
  "DIFFERENT_MUTEX_ON_CONDITION_VARIABLE.description": "pthread_cond_wait() and pthread_cond_timedwait() take a condition variable and locked mutex as arguments. These functions unlock the mutex until the condition variable is signaled and then relock the mutex before returning. As long as at least one thread is blocked on the condition variable. During this time, the effect of an attempt by any thread to wait on that condition variable using a different mutex is undefined.",
  "DIFFERENT_TYPE_DECLARATIONS.description": "The Declaration of Different Data Types on Same Line checker finds instances of declaring different data types on the same line.\nThe checker reports an error if variables of different data types (pointer and base types) are declared on the same line.\nDo not declare different data types on the same line.",
  "DIRECTLY_APPEND_POINTER_AND_AMPERSAND.description": "The Pointer or Reference Operator Appended to Variable Name checker finds a variable name with a pointer or reference operator, such as asterisk or ampersand, appended in declaration.\nEnsure to append asterisk or ampersand to a variable type instead of name. Then, it helps to understand that each token indicates a part of type.\nEnsure to append asterisk or ampersand to a variable type instead of name.",
  "DIRECT_MANAGEMENT_OF_CONNECTIONS.description": "The Direct Management of Connections checker finds calls to the DriverManager.getConnection() method, which allows the J2EE application directly manages connections.\nUse other connection management methods.",
  "DIRECT_USE_OF_INTEGER_LITERAL.description": "The Immediate Use of Integer Literal checker finds instances of directly using an integer literal other than -1, 0, and 1.\nBecause -1, 0, and 1 can be used as counter values in a for loop, they are excluded from checking.\nFor an integer literal other than those values, it is recommended to assign it to a variable and use the variable instead.",
  "DIRECT_USE_OF_SOCKETS.description": "The Direct Use of Sockets checker finds instances of a J2EE program directly using sockets through the java.net.Socket class.\nUse other socket management methods.",
  "DIRECT_USE_OF_THREADS.description": "The Direct Use of Threads checker finds instances of a J2EE Web application directly using threads.\nFor EJB, use framework approaches for parallel execution, instead of using threads.",
  "DIRECT_USE_OF_UNSAFE_JNI.description": "The Direct Use of Unsafe JNI checker finds instances of using the Java Native Interface (JNI) to call code written in another programming language.\nThe checker determines that any methods defined with the native modifier may be vulnerable.\nRefrain from using the JNI so long as possible. If the use of the JNI is inevitable, perform relevant security checks on the native code and also verify for possible vulnerabilities caused by interactions between the native code and the Java program that calls it.",
  "DISABLE_STRUTS_INPUT_VALIDATION_FRAMEWORK.CONFIG.description": "The Struts: Input Validation Framework not in Use checker finds code that does not use Struts validator framework for input.\nSet up the input validation framework such as ValidatorPlugin in Struts configuration of struts.xml file.",
  "DIVIDE_BY_ZERO.RUST.description": "Division is a fundamental operation that is undefined when the denominator is zero, and in most cases will cause a runtime error or panic to handle it.",
  "DIVIDE_BY_ZERO.description": "The Division by Zero checker finds instances of division by zero.\nFor any division operations, check if the second operand may possibly be assigned a 0. If the value range of the second operand is not determinable, it is recommended to add a code checking the divisor for zero.",
  "DIVIDE_BY_ZERO_CSHARP.description": "The Division by Zero checker finds instances of division by zero.\nFor any division operations, check if the second operand may possibly be assigned a 0. If the value range of the second operand is not determinable, it is recommended to add a code checking the divisor for zero.",
  "DIV_BY_ZERO.MISSING_CHECK.description": "The Division by Unidentified Zero checker finds instances in which a function argument or return to be used for a divisor is once checked for zero but later used again with no zero check.\nFor any division operations, check if the second operand may possibly be assigned a 0. If the value range of the second operand is not determinable, it is recommended to add a code checking the divisor for zero. It is not ensured in most cases that a value passed in as a function argument or returned from another function is not zero. Therefore, it is recommended to check the divisor for zero before performing division.",
  "DIV_BY_ZERO.description": "The Division by Zero checker finds instances of division by zero.\nFor any division operations, check if the second operand may possibly be assigned a 0. If the value range of the second operand is not determinable, it is recommended to add a code checking the divisor for zero.",
  "DJANGO_DEBUG_ENABLED.description": "The Information Exposure by django Debugging checker finds a django application setting file in which debug mode is set to on.\nIn the settings.py file, modify the value of the DEBUG variable to False. The debug mode setting does not pose a significant issue but it must be fixed before the application is put in service.",
  "DOUBLE_CHECKED_LOCKING.description": "The Unnecessary Double-checked Locking checker finds instances of double-checked locking that is performed unnecessarily.\nInstead of uselessly performing repeated checks, have the whole relevant section of code synchronized.",
  "DOUBLE_CLOSE.CURSOR.description": "When using the PROC, do not free the resource that has already been freed (e.g. sql server). If this happens, undefined activity can occur and such situations will be detected.",
  "DOUBLE_CLOSE.CURSOR_ARRAY.description": "When using the PROC, do not free the resource that has already been freed (e.g. sql server). If this happens, undefined behavior can occur and such situations will be detected.",
  "DOUBLE_CLOSE.RECORD.description": "When using the PROC, do not free the resource that has already been freed (Record).  If this happens, undefined activity can occur and such situations will be detected.",
  "DOUBLE_CLOSE.description": "The Double-freeing of Resource finds attempts to close an already freed resource once again.\nA resource may be a file, network socket, etc.\nBefore freeing an allocated resource, check if it has already been freed.",
  "DOUBLE_CLOSE_THREAD.description": "The Double-freeing of Thread checker finds instances of performing both a join and a detach on the same thread.\nPerform either a join or detach on a thread only once.",
  "DOUBLE_FREE.description": "The Double-freeing of Memory checker finds instances of freeing already freed memory.\nDouble-freeing memory can corrupt potential memory locations unexpectedly, leading to abnormal termination of the program.\n\nBefore freeing an allocated memory or resource, check if it has already been freed.",
  "DOUBLE_LOCK.description": "The Double Lock checker finds attempts to lock an already locked resource.\nWhen locking a resource, check whether it is already locked.",
  "DOUBLE_OPEN.description": "The Double-accessing of Resource checker finds instances of attempting to open an opened file.\nMake sure not to open the opened file again.",
  "DOUBLE_UNLOCK.description": "The Double Unlock checker finds attempts to unlock an already unlocked resource.\nMake sure already unlocked resources are not unlocked again.",
  "DOWNLOAD": "Download",
  "DOWNLOAD_OF_CODE_WITHOUT_INTEGRITY_CHECK.description": "The Code Download without Integrity Check checker finds instances of downloading an executable code without checking its origin or integrity.\nTake measures such as using a public-key algorithm to check code files for manipulation.",
  "DOWNLOAD_OF_CODE_WITHOUT_INTEGRITY_CHECK_CSHARP.description": "The Code Download without Integrity Check checker finds instances of downloading an executable code without checking its origin or integrity.\nTake measures such as using a public-key algorithm to check code files for manipulation.",
  "DO_DECL_VARS_AT_TOP_OF_FUNC.description": "The Variable Declaration in Middle of Function checker finds function definitions in which all variables are not declared and initialized at the top.\nYou can optionally specify whether to check for initialization, function names excluded from checking, and variable names excluded from checking.\nWhen defining a function, all variables must be declared and initialized at the top.",
  "DO_NOT_ABRUPTLY_TERMINATE_THE_PROGRAM.description": "The Exception Thrown in Handler Registered with atexit() checker finds exit handlers registered with atexit() that throw an exception.\nMake sure no exceptions are thrown in functions registered with atexit().",
  "DO_NOT_ACCESS_ACCOUNT_INFORMATION.description": "It's restricted to accessing account information or password due to security issue.",
  "DO_NOT_ACCESS_OVERLAPPING_STORAGE.description": "The Assignment between Union Fields with Overlapping Memory Area checker finds expression evaluations that include an assignment between two union fields having a mutually overlapping memory area.\nDo not perform assignment between fields of the same union.",
  "DO_NOT_ACCESS_PRIVATE_MEMBER_OF_OUTER_CLASS.description": "The Access to Private Member of Nesting Class checker finds instances in which a nested class accesses a private member that belongs to its nesting class.\nUse a public method when a nesting class's private member needs to be accessed. Members to be accessible to a nested class should not be declared private, but public or protected.",
  "DO_NOT_ACCESS_SHARED_OBJECT_IN_HANDLER.description": "The Signal Handler's Access to Shared Object checker finds instances in which a signal function accesses a shared object.\nMake sure signal handlers do not access shared objects.",
  "DO_NOT_ALTER_CONTROL_VARIABLE_MORE_THAN_ONCE.description": "The Loop Control Variable Modified More Than Once checker finds loops in which the loop control variable is modified more than once in each iteration.\nMake sure a loop control variable is modified only at one single place in the loop.",
  "DO_NOT_APPEND_STRINGS.description": "The Use of + or += for String Concatenation checker finds instances of using the + operator on a string.\nThe binary operator + performs string concatenation if at least either of its operands is a string. The compound assignment operator += performs string concatenation if the left-hand assignee is a string.\nFor string concatenation, use the StringBuilder or StringBuffer class instead of the addition operators. Especially, if addition occurs multiple times, the use of such a class is helpful for better performance.",
  "DO_NOT_ASSERT_AFTER_ATEXIT.description": "The Invalid Termination Function Handler checker finds assert() calls that are made after a handler already is registered with using the atexit() function.\nIf a handler is registered using atexit(), do not use assert(). Ideally, you are recommended either to implement the termination process in some other way or never use assert() at all.",
  "DO_NOT_ASSUME_CONSTANT_WITH_EXPR.description": "The Assumption of Named Constant finds instances of assuming the value of an already named constant in an expression. Do not assume the value of a named constant such as BUFSIZ in an expression.\nA typical named constant is BUFSIZ, which is defined in the stdio.h header file. Its value is 512 by default.\nDo not assume the value of a named constant.",
  "DO_NOT_ASSUME_ENV.description": "Do not use the function strcpy() to copy the size of an environment variable to fixed size array.",
  "DO_NOT_BASE_SECURITY_CHECKS_ON_UNTRUSTED_SOURCES.description": "The Security Check for Untrusted Sources checker finds code that directly performs security checks without copying objects or arguments from untrusted sources.\nAny untrusted object or argument must be copied before a security check is performed. The copy operation must be a deep copy. In particular, implementation of the clone() method may produce a shallow copy, the clone() method itself can be compromised by an attacker. The checker finds the following targets: TargetAn argument of java.security.AccessController.doPrivileged() argumentAn argument of java.security.AccessController.doPrivilegedWithCombiner()Rule1) The argument refers to a object with PARAM class type instead of a final parameter in the method. 2) An object P created by clone() an final PARAM object is used as a parameter of the method.\nEnsure not to use non-final type of variables passed to parameters in the specified method. Do not use the copied object created by clone() of the variables in the specified doPrivileged or doPrivilegedWithCombiner function.",
  "DO_NOT_BASE_SECURITY_CHECKS_ON_UNTRUSTED_SOURCES_BAK.description": "Security checks based on untrusted sources are dangerous",
  "DO_NOT_CALCULATE_SCALED_INT_TO_POINTER.description": "The Adjustment of Pointer Size for Pointer Operation checker finds instances of manually adjusting a pointer's size in order to perform an operation on the pointer.\nDo not manually adjust pointer size.",
  "DO_NOT_COMMENT_IN_CODE_SECTION.description": "The Comment Present in Section of Code checker finds sections of code that are commented out.\nDo not comment out code sections.",
  "DO_NOT_COMPARE_OR_INSPECT_THE_STRING_REPRESENTATION_OF_FLOATING_POINT_VALUES.description": "The Comparison with Floating-point Value in String Representation checker finds instances in which a double or float value is converted to a string and compared with another string.\nTo check whether two floating-point numbers are equal, you must do it by checking whether their difference is within the predefined tolerance. Use the BigDecimal class if you need to represent a precise decimal real number.",
  "DO_NOT_CONTAIN_UNUSED_LABEL_IN_FUNCTION.description": "The Useless Label checker finds labels that are not used in functions.\nDelete unused labels.",
  "DO_NOT_CONVERT_FLOATING_TO_INTEGRAL.description": "The Cast from Real Number to Integer checker finds casts from a real number to an integer that are not through a standard library function.\nAvoid casting a real number to an integer unless it is performed using a standard library function. It is undefined to evaluate an expression involving numbers with different arithmetic precision. However, the checker regards it safe and well-intended to use such an expression together with ceil(), floor(), or round(), which respectively rounds up, down, or off the argument.\nUse a standard library function when converting a real number to an integer.",
  "DO_NOT_CREATE_INSTANCE_IN_LOOP.description": "The Creation of Instance in Loop checker finds cases in which a constructor creates an instance in a loop.\nConsider if it is necessary to create an instance in a loop; there may be an alternative that creates an instance in advance and then reuses it iteratively in the loop.",
  "DO_NOT_DECLARED_INLINE_WITHIN_CLASS_DECLARATION.description": "The Method Definition inside Class Declaration checker finds inline methods defined inside class declarations.\nMethods defined inside a class are recognized as inline methods by the compiler. Developers can define an inline method in the following three ways: Declare and define the method using the inline keyword inside a class. Declare and define the method inside a class. Define the method using the inline keyword outside a class. Among these, the checker searches for explicit and implicit inline methods declared inside a class.\nInline methods should be defined after their declaration or in separate implementation files that include the header file.",
  "DO_NOT_DECLARE_CONFLICTING_LINKAGE_CLASSIFICATIONS.description": "The Conflicting Storage Classes checker finds instances in which the declaration and definition of the same function or object use different conflicting storage classes.\nMake sure that any function and object is declared and defined with the same storage class.",
  "DO_NOT_DECLARE_IN_LOOPS.description": "The Object Declaration in Loop checker finds instances of declaring an object in a loop.\nYou can optionally specify object types to be ignored and variable names to be ignored.\nDo not declare an object in a loop.",
  "DO_NOT_DECLARE_OR_DEFINE_RESERVED_ID.description": "The Use of Reserved Word as Identifier checker finds identifiers named with strings that may possibly be reserved words.\nDo not use names starting with an underscore.",
  "DO_NOT_DEFINE_VARIADIC_FUNCTIONS.description": "The Variable-length Arguments checker finds instances of allowing a variable number of arguments to be taken.\nDo not define a function that takes a variable number of arguments.",
  "DO_NOT_DERIVE_FROM_VIRTUAL_BASE.description": "The Use of Virtual Inheritance checker finds child classes that are virtually inherited.\nIt is recommended not to use the virtual inheritance.",
  "DO_NOT_DESTROY_A_MUTEX.description": "The Destruction of Locked Mutex checker finds expressions that destroy a mutex while it is locked.\nMutexes are used to protect shared data structures being concurrently accessed.\nMake sure mutexes are not destroyed while they are locked.",
  "DO_NOT_DISCARD_FUNCTION_RETURN_VALUE.description": "The Unused Function Return checker finds expressions that call functions without using their return values except some cases.\nYet, some cases are exempted, such as a function with void return type, or method for operator overloading. The function with void return type has no return value, and a return value does not have to be used in a method for operator overloading.\nEnsure to use return values of functions except the method for operator overloading. Or explicitly perform casting a function return to void.",
  "DO_NOT_EXPLICIT_FLOATING_INTEGRAL_CONVERSION.description": "The Cast of cvalue Expression checker finds instances of casting a cvalue expression.\nA cvalue expression refers to an expression that should not undergo further conversions, either implicitly or explicitly. For example, if the result of a division of two integers is stored in a variable of a real-number type, this result is a cvalue expression. The checker reports a defect if the result is explicitly cast to a real-number type.\nDo not perform an explicit cast on a cvalue expression. Such a cast may likely have been misplaced. Relocate the cast.",
  "DO_NOT_EXTERND_VALIDATION_CLASS.description": "The Inheriting Validation Class checker finds a class that inherits ActionForm or DynaActionForm class.\nSince Form Bean does not extend ActionForm subclass of Validator framework, so that an application may expose to other weaknesses due to insufficient input validation.\nActionForm or DynaActionForm class must not to be inherited. In order to use the Struts Validator, a form must extend one of the following: ValidatorForm, ValidatorActionForm, DynaValidatorActionForm, and DynaValidatorForm. Because the Struts Validator is used for an application by implementing the validate() method on the classes, you need to extend one of above classes.",
  "DO_NOT_GET_DEVICE_ID.description": "Using IMEI for identifying devices in application may cause a security problem.",
  "DO_NOT_GET_USIM_UNIQUE_ID.description": "Accessing unique information of device in application may cause a security problem.",
  "DO_NOT_HIDE_DEREFERENCE_OP.description": "The Hiding of Dereference Using Macro checker finds instances in which a dereferencing operation is hidden by defining it as a macro.\nDo not define pointer dereferences as macros but use them expressly.",
  "DO_NOT_HIDE_DEREFERENCE_OP_IN_TYPEDEF.description": "The Hiding of Dereference Using Custom Type checker finds instances in which a dereference operation is hidden by defining it as a custom type.\nDo not define pointer dereferences as custom types but use them expressly.",
  "DO_NOT_IMPORT_ON_DEMAND.description": "The Type-import-on-demand Declaration checker finds import statements that use an asterisk (*).\nAvoid type-import-on-demand declarations, but list out all the individual classes and static members to import.",
  "DO_NOT_INCLUDE_COMMENT_IN_MACRO.description": "The Comment in Macro checker finds macro definitions that include a comment.\nDo not include a macro in a comment.",
  "DO_NOT_INCLUDE_PATH_SPECIFIER.description": "The Path Separator in #include Statement checker finds #include statements that include a path separator in the directory.\nMake sure #include statements do not include a path separator character in the directory.",
  "DO_NOT_INC_ITER_WITH_VALUE_GREATER_THAN_ONE.description": "The Increase/Decrease Iterator by more than One checker finds increase/decrease operation on iterators by more than one.\nA pointer can point an address for the last index of an array. An iterator can point an address for the last element as well.\nDo not use an expression of integer type to increase or decrease by 2 or more.",
  "DO_NOT_LET_EXTERNAL_PROCESSES_BLOCK_ON_IO_BUFFERS.description": "The indefinite Wait of External Process Caused by I/O buffer checker finds instances of using an external process that may be interrupted due to negligent management of the input or output buffer.\nUse methods such as redirectErrorStream() to redirect and handle the input and output buffers appropriately.",
  "DO_NOT_LOCK_OR_UNLOCK_IN_LOOP.description": "The Change of Locking State in Loop checker finds instances of calling a locking or unlocking method in a loop.\nYou can optionally add the names of locking/unlocking methods.\nDo not perform a lock or unlock in a loop.",
  "DO_NOT_LOG_UNSANITIZED_USER_INPUT.description": "The Log Manipulation checker finds instances of printing out unvalidated user inputs in a log.\nHave external inputs validated before they are logged. It is particularly recommended to delete newline characters.",
  "DO_NOT_MANIPULATE_TIME_T_DIRECTLY.description": "The Direct Manipulation of Time-related Variable checker finds expressions that directly manipulate a time_t variable.\nDo not directly manipulate a time_t variable by performing arithmetic on it. It is preferable to properly use a time-related function instead.",
  "DO_NOT_MIX_ARITHMETIC_PRECISION.description": "The Expression Involving Numbers with Different Arithmetic Precision checker finds expressions that involve numbers with different arithmetic precision.\nAn arithmetic operation on numbers with different precision must be performed with care using an explicit cast.\nDo not involve numbers with different arithmetic precision in the same expression.",
  "DO_NOT_MIX_SIGNED_AND_UNSIGNED.description": "The Expression Involving Numbers with Different Signedness checker finds expressions that involve numbers with different signedness.\nDo not use both signed and unsigned numbers in the same expression. An operation on numbers with different signedness can lead to an incorrect calculation, possibly causing trouble.\nDo not use both signed and unsigned numbers in the same expression.",
  "DO_NOT_MODIFY_KEY_OF_SET.description": "The Modification to Container Key checker finds expressions that modify the key of an object in a set or multiset container.\nA container is a C++ standard library object that stores a collection of various data types. Set and multiset containers automatically resort elements when added with data.\nDo not modify the key of an object in set or multiset. Data contained in a set or multiset must not be modified manually but needs to be managed only by insertion and deletion.",
  "DO_NOT_MODIFY_PRIVATE_IN_PUBLIC_FUNCTION.description": "The Storage of External Data in Private Field checker finds instances of storing an externally accessible object in a private field.\nA object sent as a public field variable or a variable argument sent by a public method can be accessed into from outside.\nA private field must assume an object created directly in a class. Or, assume a value through a private method.",
  "DO_NOT_MODIFY_STATIC_MEMBER_IN_COPY_CONSTRUCTOR.description": "The Change of Static Field in Copy Constructor checker finds expressions to change values of static fields in copy constructors.\nEnsure not to change values of static members in copy constructors.",
  "DO_NOT_MODIFY_THE_STANDARD_NAMESPACES.description": "The Alteration of Standard Namespace checker finds custom definitions of the std namespace.\nDo not redefine the std namespace. Use another namespace name, or just call the std namespace's library without altering it.",
  "DO_NOT_NOTIFY_IN_SYNCHRONIZED.description": "The Use of notify in Synchronized Block checker finds calls to the notify() method made in a synchronized block.\nCall the notifyAll() method instead to wake up all threads, then control which thread is to take the turn.",
  "DO_NOT_OPERATE_ENUMERATOR.description": "The Invalid Enumerator Operation checker finds code that uses an enumerator for an operand of arithmetic operation.\nThe enumerator can be used in comparisons only. You cannot use the enumerator for an operand of an arithmetic operator, such as + or -.\nDo not use the enumerator for an operand of an arithmetic operator.",
  "DO_NOT_OPERATE_ON_FILES_IN_SHARED_DIRECTORIES.description": "The files in shared directory must be used with caution.",
  "DO_NOT_OPERATE_ON_UNTRUSTED_FILE_LINKS.description": "The Use of Untrusted File Link checker finds instances of accessing a file without checking it for linkage to another file.\nCheck files for linkage to another file before they are accessed, and if an unintended file link is found, do not proceed to accessing the problematic file.",
  "DO_NOT_OVERLOAD_FUNCTION_WITH_SPECIALIZATION.description": "The Ambiguous Call for Template Specialization Function checker finds specialized functions in which ambiguity occurs with other functions.\nThe template specialization replaces template parameters with resulting types. Then, its classes, functions, or methods will be converted.\nMake sure to explicitly call the specialized function to avoid an ambiguity of function call. The specialized function is called by appending angle brackets between a function name and parentheses.",
  "DO_NOT_OVERLOAD_LAND_LOR_COMMA.description": "The Comma or Logical Operator Overloading checker finds classes that overload the comma operator or a logical operator.\nC++ classes are allowed to overload operators, including the comma and logical operators such as operator,(), operator&&(), and operator||().\nDo not overload operators if they can change the sequence of evaluation when overloaded.",
  "DO_NOT_OVERLOAD_NONVIRTUAL_FUNCTION.description": "The Hiding of Non-virtual Function from Base Class checker finds declarations of derived classes in which a non-virtual function from the base class is unavailable.\nDo not hide non-virtual functions inherited from the base class. If a new function implementation is needed, define it with a new name.",
  "DO_NOT_OVERLOAD_NUMERIC_AND_POINTER.description": "The Function Overloading with Ambiguous Parameters Types checker finds overloaded functions whose parameter types may be indistinguishable-for example, one is a pointer and the other is number.\nIf overloaded functions need to use parameters whose types may be indistinguishable from one another, name them differently or use different numbers of parameters for them.",
  "DO_NOT_OVERRIDE_ADDRESSOF.description": "The Overloading of Address Operator checker finds overloaded address operators in method declaration.\nDo not overload the address operators.",
  "DO_NOT_READ_STREAM_IN_LOOP.description": "The Reading from Stream in Loop checker finds instances of calling the read() method on a stream in a loop.\nDo not read from a stream in a loop.",
  "DO_NOT_RECORD_MEDIA.description": "Recording audio or video may cause invasion of privacy.",
  "DO_NOT_RECURSIVELY_REENTER_DURING_INIT_STATIC.description": "The Static Variable Initialization with Recursive Function Call checker finds instances in which expressions for initializing a static variable include a call to a recursive function.\nDo not call a recursive function when a static variable is initialized.",
  "DO_NOT_REDEFINE_ERRNO.description": "The Redefinition of errno checker finds instances of redefining the errno variable in an individual source file.\nInstead of declaring errno directly, include it in a standard header such as errno.h.",
  "DO_NOT_RELY_ON_ENUM_VALUE.description": "The Reliance on Enumerator's Integer Value checker finds instances of explicit comparison with an enumerator using its internal integer value.\nDo not reference enumerators by their integer value but by their identifier.",
  "DO_NOT_RELY_ON_THE_DEFAULT_AUTOMATIC_SIGNATURE_VERIFICATION.description": "The Use of Default Automatic-Signature Verification checker finds code that uses the default auto-signature verification only, but does not check that the signature is correct.\nUse java.security.cert.Certificate.verify function to verify the signature.",
  "DO_NOT_RELY_ON_THE_WRITE_METHOD_TO_OUTPUT_INTEGERS_OUTSIDE_THE_RANGE_0_TO_255.description": "The Output of Invalid Integer via write checker finds instances of using the write() method to output an integer that does not fall within the range of 0 to 255.\nPass only an integer of 0 to 255 to the write() method. If you aim at getting the lead significant eight bits from a larger integer, use bitwise operations to extract the eight bits before passing the integer, thereby clarifying your intention.",
  "DO_NOT_REMOVE_CONST.description": "The Casting Away const Qualifier checker finds expressions that cast a const-qualified object to a non-const type.\nDo not cast away the const qualifier from a const-qualified object.",
  "DO_NOT_REMOVE_VOLATILE.description": "The Casting Away Volatile Qualifier checker finds expressions that cast a volatile-qualified object to a non-volatile type.\nDo not cast away the volatile qualifier from a volatile object.",
  "DO_NOT_RETURN_PRIVATE_FIELD_OF_OUTER_CLASS.description": "The Return of Private Field of Nesting Class checker finds instances in which a nested class directly returns a private member that belongs to its nesting class.\nUse a public method when a nesting class's private member needs to be accessed. Members to be accessible to a nested class should not be declared private, but public or protected.",
  "DO_NOT_RETURN_SIGNAL_HANDLERS.description": "The Return from Computational Exception Signal Handler checker finds instances of implicitly or explicitly returning from a computational exception signal handler.\nDo not return from a signal handler function like SIGSEGV, SIGILL, or SIGFPE; instead, invoke a termination function.\nThe only portably safe way to leave a SIGSEGV, SIGILL, or SIGFPE handler is to invoke abort(), quick_exit(), or _Exit().",
  "DO_NOT_REUSE_IDENTIFIER_NAME.description": "The Identically Named Identifiers checker finds identifiers with the identical names.\nIdentifiers in different namespaces do not override one another even if they are named identically. Nevertheless, this checker searches for resused identifiers regardless which namespaces they belong to. Identifiers subject to checking include functions, labels, enum constants, variables, parameters, tags and fields.\nDo not use an identical name with other identifier.",
  "DO_NOT_REUSE_IDENTIFIER_WITH_EXTERNAL_LINKAGE.description": "The Duplicate Declarations of Identifier with External Linkage checker finds instances in which global identifiers with external linkage are declared once more at another level of scope.\nDelete or rename the duplicate identifiers.",
  "DO_NOT_REUSE_IDENTIFIER_WITH_STATIC_STORAGE.description": "The Static Objects with Identical Names checker finds instances in which a name given at a declaration of a static object is reused elsewhere.\nA static object herein refers to the identifier of any object with static storage duration. This includes functions as well.\nUse a unique name at each declaration of a static object.",
  "DO_NOT_REUSE_PUBLIC_IDENTIFIERS.description": "The Reuse of Public Identifier in Java Standard Library checker finds a class or interface identifier that is identically defined with a public identifier of the Java Standard Library.\nAs specified in the Java Language Specification (JLS), 6.3.2 Obscured Declarations [JLS 2005], a custom type vector might shadow a class name of java.util.Vector. Then, an unexpected behavior can occur. Well-defined import statements can resolve these issues. However, when reused name definitions are imported from other packages, use of the type-import-on-demand declaration can complicate a programmer's attempt to determine which specific definition was intended to be used. Additionally, a common practice that can lead to errors is to produce the import statements after writing the code, often via automatic inclusion of import statements by an IDE, which creates further ambiguity with respect to the names. Moreover, when a custom type is found earlier than the intended type in the Java include path, no further searches are conducted. Consequently, the wrong type is silently adopted.\nAvoid defining identifiers for classes or interfaces to be identical to public identifiers of the Java Standard Library. Its identifier list can be checked in rt.jar.",
  "DO_NOT_SEND_SMS.description": "Sending SMS directly in source code is dangerous because of source code information leak.",
  "DO_NOT_SLEEP_OR_YIELD_WITHOUT_CONTROL.description": "The Uncontrolled Use of sleep or yield checker finds unconditional calls to the sleep() or yield() method.\nCalls to these methods must be controlled within conditional blocks.",
  "DO_NOT_SPECIFY_BOUND_OF_ARRAY_FOR_STRING_LITERAL.description": "The Array with Specified Size Initialized to String checker finds array declarations that include initialization to a string literal while specifying the size of the array.\nDo not specify the size of an array if it is initialized to a string.",
  "DO_NOT_STORE_RETURNED_POINTERS.description": "The Storage of Pointer Returned by Certain Function checker finds instances in which a pointer returned by one of certain standard library functions is stored in a mutable variable.\nThese functions include getenv(), asctime(), localeconv(), setlocale(), and strerror().\nIf such a returned pointer should be used several times, store it in a constant pointer variable so that the value stored in the memory location pointed to should not be modified.",
  "DO_NOT_THROW_ITSELF_CAUSE_EXCEPTION.description": "The Throw Involves Another Throw checker finds instances in which the assignment expression of a throw statement itself causes an exception to be thrown.\nThe assignment expression of a throw statement shall not itself cause an exception to be thrown.",
  "DO_NOT_TREAT_ARRAYS_POLYMORPHICALLY.description": "The Array with Polymorphism checker finds code that assigns static pointer types to dynamic type objects.\nEnsure to use an object with declared type while assigning it to an array. If you need to assign an inherited class of declared object, convert the declared type into an inherited type.",
  "DO_NOT_TYPEDEF_ARRAYTYPE.description": "The typedef Declaration of Array Type checker finds typedef statements that declare an array type.\nAn array type should not be declared with typedef. A typedef-declared array type may be incorrectly used when a delete or bounds-checking is performed on this type.\nDo not typedef an array type.",
  "DO_NOT_USE_ABORT_STREAM_OPENED.description": "The Inappropriate Approach to Termination checker finds calls to inappropriate termination functions.\nThe proper way to terminate is calling the exit() function. Calls to other termination functions such as abort() and _Exit() are inappropriate.\nIf fopen() is ever called, use exit() for termination.",
  "DO_NOT_USE_ADJACENT_BINARY_OPERATOR.description": "The Violation of Binary Operator Spacing Rule checker finds instances in which a binary operator, except an access operator, is not separated by a whitespace from the following operand.\nThe access operator includes array reference ([ ]), strut reference (.), and struct pointer reference (->) operators.\nPut a whitespace between an operand and its binary operator except the access operator.",
  "DO_NOT_USE_ARRAY.description": "The Declaration of Array Variable checker finds instances of declaring a variable of an array type.\nYou can optionally specify the scope of checking for an array-type variable.\nDo not declare an array-type variable.",
  "DO_NOT_USE_ARRAY_ACCESS.description": "The Access to Array with Array Expression checker finds instances of using the array operator ( [] ) in accessing an array object.\nWhen accessing an array, a pointer must be used, instead of an array expression.",
  "DO_NOT_USE_AUTO.description": "The Use of auto checker finds instances of using auto keywords.\nDo not use the auto keywords. The auto keyword allocates memory to stack in variable declaration. Also, a variable nothing displayed works as same as the auto keyword. It is better to let compilers allocate memory than programmers using the auto or register keywords. Otherwise, the auto keywords are officially used to estimate variable types in C++11 Standard.\nEnsure not to use the auto keywords.",
  "DO_NOT_USE_BOOLEAN_VECTOR.description": "The Creation of Creation of Vector of bool checker finds declarations of variables that store a boolean object in a vector.\nDo not store objects of a boolean type in a vector. If a set of boolean objects is needed, store them in a bitset instead.",
  "DO_NOT_USE_BREAK_CONTINUE.description": "Do not use the statements break and continue. The statements break and continue make the code path complicated.",
  "DO_NOT_USE_BREAK_EXCEPT_SWITCH_STMT.description": "The Use of break Not in switch Statement checker finds instances of using a break statement not in a switch statement.\nUse a break statement only within a switch statement. If a break is necessary elsewhere, rephrase the condition expression to enable escaping the control flow without a break statement.",
  "DO_NOT_USE_BREAK_WITH_LABEL.description": "The Labeled break Statement checker finds instances of using a labeled break to specify the loop to terminate.\nUse an alternative instead of a labeled break. There always are alternatives that can implement the same behavior.",
  "DO_NOT_USE_COMMA_OPERATOR.description": "The Use of Comma Operator checker finds expressions that perform comma operations.\nThe checker does not report arguments of function calls with a comma.\nDo not use the comma operators.",
  "DO_NOT_USE_CONSTANT_OF_INNER_CLASS.description": "The Constant of Inner Class checker finds instances in which a constant variable declared static final in an inner class is directly referenced by an outer class.\nA constant variable that might be used by an outer class should not be declared in an inner class but in the outer class itself.",
  "DO_NOT_USE_CONST_FOR_SYMBOLIC_CONSTANT.description": "The Use of Magic Number of String Instead of Constant checker finds occurrences of a magic number or string that are directly used in code, instead of being represented by a symbolic constant.\nUse a constant instead of a magic number or string.",
  "DO_NOT_USE_CSTDIO.description": "The Use of cstdio Header checker finds preprocessor with cstdio header file.\nDo not include the cstdio header to source code. Ensure to include headers, such as iostream, in case of streams and file I/O library needed in C++.",
  "DO_NOT_USE_CSTRING.description": "The Use of cstring Header checker finds preprocessor with cstring header file.\ninstead of using cstring headers. Ensure to include headers, such as string, in case of string related library needed in C++.",
  "DO_NOT_USE_CTIME.description": "The Use of ctime Header checker finds preprocessor with ctime header file.\ninstead of using ctime headers. Ensure to include headers, such as ctime, in case of time-related library needed in C++.",
  "DO_NOT_USE_C_STYLE_ALLOCATION.description": "The Use of C Style Memory-related Function checker finds an expression with c-style memory function to allocate or free a class type.\nUse a C++ memory operator instead of the c-style memory function, for example, new operator instead of malloc(), and delete operator instead of free().",
  "DO_NOT_USE_C_STYLE_CASTING.description": "The Use of C-style Cast checker finds expressions that use a C-style type cast in source code.\nUse C++'s new typecasting features (static_cast, const_cast, dynamic_cast, and reinterpret_cast). C++ typecasting ensures better readability and provides more powerful type checking. static_cast is used for commonly allowed typecasting and catches casting type errors at compile time. const_cast is used to add to or remove the const-ness or volatile-ness of the expression. dynamic_cast is used to safely downcast custom types. It returns a null pointer or throws an exception if the expression passed in and the destination type are not in an inheritance hierarchy. reinterpret_cast is used to cast any pointer to any other pointer type.",
  "DO_NOT_USE_DANGEROUS_FUNCTIONS.description": "The Use of Dangerous Function checker finds instances of using a function known to be dangerous.\nYou can edit the list of forbidden functions.The atof(), atoi(), and atol() functions do not perform exception handling for values unconvertible to their respective types (f, i, and l). As exception handling is not defined, their returns are unpredictable. For example, handling a buffer size using atof(), atoi(), or atol() may allow for a buffer overflow. Use C standard library functions that handle exceptions: strtof (atof) and strtol (atoi, atol).The strcpy() function does not check the size of the source string copied to the destination string. If the source is longer than the destination, a buffer overflow occurs. Use the C standard library function of strncpy() instead, which specifies the maximum number of characters to be copied.The strcat() function does not check the size of the result. If the appended result is longer than the assigned size of the destination string, a buffer overflow occurs. Use the C standard library function of strncat() instead, which specifies the maximum number of characters to be appended. When errors occur with the fopen() function, their causes are hard to find. Use the C standard library function of fopen_s() instead, which returns the causes of errors.The gets() function does not check the size of the input to the destination string. If the array input from the standard input stream is larger than the destination string, a buffer overflow occurs. Use the C standard library function of fgets() or gets_s() instead, which specifies the size of the input.\nRestrain from using the functions known to be dangerous.",
  "DO_NOT_USE_DEFAULT_ARGUMENT_WITH_OVERLOADED.description": "The Use of Default Argument in Overloaded Function checker finds overloaded functions that take a default argument.\nAn overloaded function cannot take a default argument. If a function is overloaded including a default argument, it may be ambiguous which function is intended when the function name is invoked.\nDo not use a default argument in an overloaded function.",
  "DO_NOT_USE_DEF_WITHIN_A_BLOCK.description": "The Use of #define or #undef in Block checker finds instances of using the #define or #undef preprocessor directive within a function block.\nBe sure to use #define and #undef always outside a function block.",
  "DO_NOT_USE_DEPRECATED_API.description": "The Use of Deprecated API checker finds instances of using a deprecated API.\nYou can optionally specify a list of deprecated APIs.\nConsider using other APIs.",
  "DO_NOT_USE_DEPRECATED_FUNCTIONS.description": "The Call to Obsolete Functions checker finds calls to forbidden functions that are obsolete and no longer used.\nForbidden functions include: asctime(), asctime_s(), atof(), strtod(), atoi(), strtol(), atol(), strtol(), atoll(), strtoll(), ctime(), ctime_s(), gets(), gets_s(), fopen(), fmemopen|open_memstream(), fopen_s(), freopen(), freopen_s(), rewind(), fseek(), setbuf(), vsetbuf(), strtok(), strtok_r(), strtok_s(), vsprintf(), vsnprintf(), strcpy(), strcpy_s(), strcat(), and strcat_s().\nDo not use forbidden functions.",
  "DO_NOT_USE_DIGRAPH.description": "The Use of Digraph checker finds instances of using a digraph.\nDigraphs cannot be used. Occurrences of digraphs may undermine code readability.\nDo not use a digraph.",
  "DO_NOT_USE_DOWHILE.description": "Do-while statements are not used; use while or for statements instead.",
  "DO_NOT_USE_DO_WHILE.description": "The Use of Do-While Statement checker finds do-while statements.\nUse a while statement instead of a do-while statement.",
  "DO_NOT_USE_DYNAMICALLY_ALLOCATED_ARRAYS.description": "The Use of Dynamically Allocated Array checker finds instances of declaring a dynamically allocated array.\nThis rule does not apply to dynamic allocation of regular objects, but only searches for dynamic allocation of arrays.\nInstead of a dynamically allocated array, use a vector or string. As vectors and strings automatically manage storage-related requirements, programmers don't need to manually manage dynamically allocated memory. This helps prevent potential bugs and efficiency issues relating to memory.",
  "DO_NOT_USE_DYNAMIC_ALLOCATION.description": "The Use of Dynamic Allocation checker finds expression uses dynamic allocation.\nDo not perform the dynamic allocation.",
  "DO_NOT_USE_ERRNO.description": "The Use of errno Directive checker finds errno directives.\nDo not use the errno directives.",
  "DO_NOT_USE_EXTERN_OR_STATIC.description": "The Use of static or extren checker finds variable and function declarations that use the static or extren keyword.\nYou can optionally specify whether to check for extren, whether to check for static, and scope of checking.\nDo not use the static and extren keywords in the optionally specified scope.",
  "DO_NOT_USE_EXTRA_CHARACTER_AFTER_PREPROCESSOR.description": "The Preprocessor Statement Followed by Extra Characters checker finds instances in which a preprocessor statements is written normally but then followed by extra characters other than a space.\nDo not add extra non-space characters after a preprocessor statement.",
  "DO_NOT_USE_FENV_EXCEPTIONS.description": "The Forbidden Use of Exception Handling of fenv.h Header checker finds instances of using an exception handling function provided by the fenv.h header.\nDo not use an exception handling function provided by the fenv.h header.",
  "DO_NOT_USE_FINDDOMNODE.REACT.description": "React supports `findDOMNode` to search a tree and find a DOM node based on the specified class instance. However, using `findDOMNode` can lead to breaking the abstraction by allowing a parent component to render a specific child component.\nThe official React document no longer supports this and recommends not to use it.\n",
  "DO_NOT_USE_FLOAT_AS_LOOP_COUNTERS.description": "The Float Type Loop Counter checker finds instances of using a float-point variable as a loop counter.\nMake sure loop counters assume an integer variable.",
  "DO_NOT_USE_FORBIDDEN_FUNC.description": "Do not use the functions that are prohibited in the option.",
  "DO_NOT_USE_FORBIDDEN_TYPE.description": "Do not use the types that are prohibited in the option.",
  "DO_NOT_USE_FUNCTION_LIKE_MACRO.description": "The Use of Macro Function checker finds instances of defining a macro function.\nA macro function refers to a function-like macro defined using the #define preprocessor directive.\nDo not use macro functions. If regular functions need to be avoided for performance reasons, use inline functions instead.",
  "DO_NOT_USE_GETLOGIN_IN_MULTI_THREAD.description": "The Use of getlogin() in Multithreaded Environment checker finds instances of using the getlogin() function in a multithreaded environment to get a user account.\nYou can optionally add functions forbidden in a multithreaded environment.\nDo not use getlogin() in a multithreaded environment.",
  "DO_NOT_USE_GOTO_STATEMENT.description": "The Noncompliant Use of goto Statement checker finds goto statements that do not comply with the given restrictions.\nYou can optionally specify the maximum allowed number of goto statements per function and whether to apply the checks to goto statements in macros.\nDo not use goto statements.",
  "DO_NOT_USE_HARD_CODING.INITIALIZATION.description": "The Variable Initialization into Hardcoded Value checker finds instances of initializing a variable into a hardcoded value.\nYou can optionally specify expressions subject to analysis, data types subject to analysis, and expressions excluded from analysis.\nDo not initialize optionally specified variables into a hardcoded value.",
  "DO_NOT_USE_HARD_CODING.NUMBER.description": "The Hardcoded Numeric Constant checker finds instances of using an integer or real number constant directly in a function argument or expression.\nA constant used more than once needs to be represented by a variable.",
  "DO_NOT_USE_HARD_CODING.PASSWORD.description": "The Hardcoded Password checker finds calls to SQLConnect() that pass a hardcoded password.\nYou can optionally specify the format of hardcoded passwords.\nDo not put a hardcoded password in a call to SQLConnect().",
  "DO_NOT_USE_HARD_CODING.USERNAME.description": "The Hardcoded User Account checker finds calls to SQLConnect() that pass a hardcoded user account.\nDo not put a hardcoded user account in a call to SQLConnect().",
  "DO_NOT_USE_HARD_CODING.description": "The Violation of Hardcoding Prohibition checker finds instances of violating an optional hardcoding prohibition setting.\nYou can optionally specify expressions subject to analysis, expressions excluded from analysis, and whether to check for hardcoded integer values, for hardcoded floating-point values, for hardcoded character values, for hardcoded string values, for hardcoded constant values, for hardcoded non-constant values, for hardcoded conditional statements, for hardcoded assignment statements, for hardcoded calls, and for hardcoded return statements.\nAvoid hardcoding in accordance with the optional settings.",
  "DO_NOT_USE_HEXADECIMAL_ESCAPE.description": "The Use of Hexadecimal Escape Sequence checker finds expressions that use an hexadecimal escape sequence.\nA backslash followed by three digits from 0 through 7 is considered an hexadecimal escape sequence.\nDo not use hexadecimal escape sequences.",
  "DO_NOT_USE_HTTP_PROTOCOL.description": "Communication over HTTP (HyperText Transfer Protocol) is vulnerable to packet interception. HTTPS adds SSL, a secure communication, to HTTP to prevent this.",
  "DO_NOT_USE_IF_DIRECTIVE.description": "The Use of #if Directive checker finds instances of using the #if preprocessor directive.\nUse the #ifdef or #ifndef preprocessor directive instead.",
  "DO_NOT_USE_IMPLICIT_DECLARED_FUNCTION.description": "The Implicit Function Declaration checker finds implicit declarations of functions.\nMake sure all functions are explicitly declared including their argument and return types before they are used.",
  "DO_NOT_USE_INLINE.description": "The Inline Declaration of Method checker finds class methods declared as inline.\nThis checker applies to both cases: methods declared and defined at once, and methods defined outside class.\nDo not use the inline keyword in class method definition. Define methods to inline as intended, while declaring them.",
  "DO_NOT_USE_LABEL_STATEMENT.description": "The Forbidden Use of Label Statement checker finds instances of using a label statement.\nDo not use a label statement.",
  "DO_NOT_USE_LONGJMP.description": "The Use of longjmp() Function checker finds instances of using longjmp() function.\nDo not use the longjmp() function. It is recommended to configure control flows that do not require jump statements.",
  "DO_NOT_USE_MODULAR.description": "The Use of Division Operation checker finds modulo operations (%).\nYou can optionally specify whether to apply an exception in case the modulo operation is preceded by a division operation performed on the same operands.\nDo not use modulo operations.",
  "DO_NOT_USE_MULTILINE_IN_SINGLECOMMENT.description": "The One-line Comment Spanning Multiple Lines checker finds one-line comments that start with \"//\" and use backslashes to span multiple lines.\nIn C, if a backslash is put at the end of a line, the compiler considers this line and the next line combined as one extended line.\nIf you need a comment that occupies multiple lines, use /* */, which is provided for multiline comments.",
  "DO_NOT_USE_NESTED_TRY.description": "The Nested try Statement checker finds instances in which a try statement nests another try statement.\nDivide them into two separate try statements, or join them as one single try statement.",
  "DO_NOT_USE_NON_CONST_FUNCTION_POINTER.description": "Non-constant pointers to functions should not be used. Constant function pointers must be initialized when declared, but non-constant function pointers can substitute a function with the same format and cause problems.",
  "DO_NOT_USE_NON_STANDARD_CHARACTERS.description": "The #include Filename with Non-standard Character checker finds #include preprocessor statements that are passed with a filename including non-standard characters.\nMake sure filenames to be included by #include contain only standard characters.",
  "DO_NOT_USE_NOTIFY.description": "The Use of notify checker finds direct calls to the notify() method.\nInstead of using notify(), consider an approach that can specify the thread to be woken.",
  "DO_NOT_USE_NULL_MACRO.description": "The Use of Null Macro checker finds expressions that use a null macro.\nUse a zero value instead of a null macro. If using a C++11 compatible compiler, use nullptr.",
  "DO_NOT_USE_OCTAL.description": "The Use of Octal Number checker finds expressions that use an octal number.\nA constant starting with a 0 is considered an octal number.\nTake care not to use an octal number when writing a constant in code.",
  "DO_NOT_USE_OCTAL_ESCAPE.description": "The Use of Octal Escape Sequence checker finds expressions that use an octal escape sequence.\nA backslash followed by three digits from 0 through 7 is considered an octal escape sequence.\nDo not use octal escape sequences.",
  "DO_NOT_USE_OFFSETOF_MACRO.description": "The Use of offsetof Macro checker finds instances of using a offsetof macro.\nDo not use the offsetof macro included in C++ Standard library stddef.h. An undefined action can occur by using the offsetof macro in non-standard-layout class. Thus, it is not recommended to use the offsetof macro. A standard-layout type indicates a type with C layout, and features as belows: 1. Does not contain a virtual function or virtual base class. 2. Non-static data member has an identical access control. 3. Every non-static data members is standard-layout. 4. Every base class is standard-layout. 5. Does not contain identical type of data of base class for the first non-static member. 6. Does not contain a reference member. 7. Does not contain a non-static data for at least one base class or both derived and base class. To check a standard-layout type, use std::is_standard_layout in <type_traits>.\nDo not use the offsetof macro.",
  "DO_NOT_USE_POINTER_ARITHMETIC.description": "The Arithmetic Operation on Pointer checker finds instances of performing an arithmetic operation on a pointer.\nDo not use arithmetic operations on pointers.",
  "DO_NOT_USE_PRAGMA.description": "The Use of Compiler-dependent #pragma checker finds instances of using #pragma, which is a preprocessor directive used to access compiler- or platform-specific preprocessor extensions.\nDo not use #pragma statements.",
  "DO_NOT_USE_PRINTF.description": "The Use of Obsolete Function checker finds instances of using the printf() function.\nDo not use the printf() function.",
  "DO_NOT_USE_PTHREAD_KILL.description": "The Use of pthread_kill() checker finds calls to the pthread_kill() function.\nUse the pthread_cancel() function instead to terminate an individual thread.",
  "DO_NOT_USE_PUBLIC_FIELD.description": "The Use of Public Field checker finds instances of applying the public modifier to a field declaration.\nYou can optionally adjust the checking conditions. The checker performs checks on fields that match an optionally specified name pattern. If no pattern is specified, all fields are checked. If an exempted name pattern is specified, the fields matching it are excluded from checking.\nDo not use the public modifier when declaring an optionally specified field.",
  "DO_NOT_USE_RECURSION.description": "The Prohibited Recursive Call checker finds instances of using a recursive call in a function definition.\nRewrite the code for the same behavior using a loop-Theoretically, any recursive function can be replaced by a loop achieving the same purpose. If one call of a function may trigger two or more recursive calls, you may need to manually implement a stack that stores important information.",
  "DO_NOT_USE_REGISTER.description": "The Use of register checker finds instances of using register keywords.\nDo not use the register keywords.The register keywords are hints to load variables to processor registers, if possible. It is better to let compilers allocate memory than programmers using the auto or register keywords.\nEnsure not to use the register keywords.",
  "DO_NOT_USE_RESERVED_IN_MACRO.description": "The Macro Named after Reserved Word checker finds macros that are named after a reserved word.\nApart from keywords, reserved words are not allowed for use by users and spared for system operation or later use purposes.\nRename the macros to what are not reserved words.",
  "DO_NOT_USE_RESTRICT.description": "The Use of Forbidden Restrict Qualifier checker finds instances of using the restrict type qualifier.\nDo not use the restrict type qualifier.",
  "DO_NOT_USE_SAME_NAME_IN_NESTED.description": "The Identically Named Identifiers at Different Levels of Scope checker finds instances in which identically named identifiers are used at different levels of scope.\nCompilers basically allow the use of identically named identifiers. However, a later declared identifier overrides an earlier declared one.\nRegardless of scope levels, give a unique name to each identifier.",
  "DO_NOT_USE_SAME_SPELLING_IN_ANOTHER_NAMESPACE.description": "The Identically Named Identifiers in Different Namespaces checker finds instances in which identifiers belonging to different namespaces share the same name.\nIdentifiers in different namespaces do not override one another even if they are named identically. Nevertheless, this checker searches for identically named identifiers regardless which namespaces they belong to. But the names of struct and struct fields are excluded from checking.\nIdentifiers for other entities must not share the same name even if they belong to different namespaces.",
  "DO_NOT_USE_SEMICOLON_AFTER_PREPROCESSOR.description": "The Preprocessor Statement Ending with Semicolon checker finds instances in which a preprocessor statements is written normally but then ends with a semicolon.\nDo not add semicolons at the end of preprocessing statements.",
  "DO_NOT_USE_SERVERSOCKET.description": "The Use of Socket Class checker finds java.net.Socket or java.net.ServerSocket class.\nThe javax.net.ssl.SSLSocket class needs to be used instead of java.net.Socket class to send sensitive data over an insecure communication channel. The SSLSocket class provides security protocols such as Secure Sockets Layer/Transport Layer Security (SSL/TLS) to keep channels being secure from hijacking or manipulation attacks.\nPlease use javax.net.ssl.SSLSocket class instead of java.net.Socket or java.net.ServerSocket class.",
  "DO_NOT_USE_SETJMP.description": "The Use of setjmp Macro checker finds expressions with setjmp macros.\nDo not use setjmp macros. It is recommended to configure control flows that do not require jump statements.",
  "DO_NOT_USE_SETLOCALE.description": "The Use of setlocale Function checker finds instances of calling setlocale() function from locale.h library.\nDo not use the setlocale() function.",
  "DO_NOT_USE_SHARP_OPERATOR.description": "The Use of # or ## checker finds macro definitions that use the # or ## operator.\nDo not use the # or ## operator in a macro definition.",
  "DO_NOT_USE_SHIFT_ON_SIGNED_VALUE.description": "Detect use of shift on types with signs such as short, int, long, float and double.",
  "DO_NOT_USE_SHORT.description": "The Use of short Type checker finds instances of using the short type.\nShort-type objects are converted to int type when being processed by the JVM, after which they are converted back to the short type. This processing causes performance degradation.\nDo not use the short type.",
  "DO_NOT_USE_SIGNAL.description": "The Use of Use of signal() checker finds calls to the signal() function.\nDo not use signal().",
  "DO_NOT_USE_SIGNAL_HANDLING.description": "The Use of Signal Handling checker finds instances of using the signal handling specified in the signal.h header.\nThe signal handling specified in signal.h should not be used. Signal handling is platform-specific and may cause undefined behavior.\nDo not use the signal handling specified in signal.h.",
  "DO_NOT_USE_SIZEOF_ON_ARRAY_PARAM.description": "The Use of sizeof operator for Array Type checker finds instances of calling the sizeof() function on an array variable passed in a function.\nDo not use the sizeof operator for an array-type argument.",
  "DO_NOT_USE_SIZEOF_ON_PTR.description": "The Use of sizeof operator for Pointer Type checker finds instances of using the sizeof() operator on a pointer type.\nBecause any pointer type has the same size, the checker reports for a pointer-type variable used as the operand of sizeof.\nDo not use the sizeof operator on a pointer type.",
  "DO_NOT_USE_STATIC_IN_HEADER.description": "The Use of Static Qualifier in Header File checker finds instances of applying a static qualifier to a function or variable in a header file.\nYou can optionally specify whether to allow static functions and static variables.\nDo not use the static qualifier in a header file.",
  "DO_NOT_USE_STDARG_FEATURE.description": "The Forbidden Use of stdarg.h Header Function checker finds instances of using the stdarg.h header.\nDo not use the stdarg.h header.",
  "DO_NOT_USE_STDIO_H.description": "The Use of stdio checker finds instances of using stdio.h.\nDo not use the stdio.h of C standard library, as it has a number of defects and prone to raise errors. It is recommended to use some alternative libraries.\nDo not use the stdio.h header.",
  "DO_NOT_USE_STL_CONTAINER_AS_PUBLIC_BASE_CLASSES.description": "The Inheritance from STL Container checker finds classes that inherit from an STL container.\nDo not use an STL container as a base class from which a class is derived.\nDo not declare a class derived from an STL container. If an STL container is needed in a class, declare it as a field instead of using it as a base class.",
  "DO_NOT_USE_SYNCHRONIZED_STATEMENT.description": "The Use of Synchronized Statement checker finds all synchronized statements.\nIt is recommended to use a synchronized method instead of a synchronized statement.",
  "DO_NOT_USE_SYSTEM.description": "The Use of system() checker finds calls to system().\nYou can optionally add the names of system functions.\nDo not call optionally specified system functions.",
  "DO_NOT_USE_TERNARY_OPERATOR.description": "The Use of Ternary Operator checker finds instances of using a ternary operator.\nEnsure not to use the ternary operators. It is recommended to explicitly use conditional statements in order to evaluate complex conditions.\nDo not use the ternary operators.",
  "DO_NOT_USE_TGMATH_H.description": "The Use of Forbidden tgmath.h Header checker finds instances of using the standard header tgmath.h.\nUse the math.h header rather than tgmath.h.",
  "DO_NOT_USE_THROWABLE_FUNCTION_IN_COPY_ASSIGNMENT.description": "The Throwing of Exception Out of Copy Assignment Operator checker finds copy assignment operators that implement a swap logic throwing an exception.\nMake sure the swap logic implementations in copy assignment operators do not throw an exception.",
  "DO_NOT_USE_THROW_IN_CTOR_OR_DTOR.description": "The Exception Thrown from Constructor or Destructor check finds constructors and destructors that throw an exception.\nDo not use a throw statement in a constructor or destructor.",
  "DO_NOT_USE_TRIGRAPH.description": "The Use of Trigraph checker finds expressions that include a trigraph sequence.\nTrigraphs are sequences of two consecutive question marks and one identifier character. They were designed to address the problem that some language character sets could not cover the whole character set of the C programming language.\nDo not use trigraphs. Any trigraphs can be replaced by regular characters.",
  "DO_NOT_USE_UNBOUNDED_AGGREGATE_TYPE.description": "The Use of C-style Array checker finds C-style array declarations.\nUsing an STL container, like a vector, is recommended, instead of using a C-style array.",
  "DO_NOT_USE_UNDEF.description": "The Use of #undef checker finds instances of using the #undef preprocessor directive.\nDo not use #undef unless it is unavoidable.",
  "DO_NOT_USE_UNDEFINED_MACRO_IDENTIFIERS.description": "The Use of Undefined Macro Identifier checker finds preprocessors that use non-predefined macro identifiers.\nThe preprocessors indicate #if, or #elif directive. #ifdef, #ifndef and #defined directives are used to check macros, thus exempted from the checker.\nThe macro identifiers must be defined to be used in the preprocessors.",
  "DO_NOT_USE_UNION.description": "The Use of Union checker finds declarations of unions.\nDo not use a union. Instead, use structs even if they are less efficient in terms of performance.",
  "DO_NOT_USE_UNUSED_MACRO_GLOBAL.description": "The Useless Macro Declaration checker finds macro declarations that are not used anywhere in the project.\nDelete unused macros.",
  "DO_NOT_USE_UNUSED_TAG_GLOBAL.description": "The Useless Tag Declaration checker finds tag declarations that are not used anywhere in the project.\nDelete unused tags.",
  "DO_NOT_USE_UNUSED_TYPE_GLOBAL.description": "The Useless Type Declaration checker finds type declarations that are not used anywhere in the project.\nDelete unused types.",
  "DO_NOT_USE_USING_DIRECTIVE.description": "The Use of using Directive checker finds a using directive instead of explicit namespace directive or using declaration.\nThe using directive expands name sets searched for names. Then, more identifiers will be searched by a compiler, which can be an unintended result.More secure options, such as using-declarations or fully qualified names, are provided by explicitly specifying name sets.\nUse an explicit namespace directives or using declaration instead of using directives.",
  "DO_NOT_USE_VARIABLE_LENGTH_ARRAY.description": "The Use of Variable-length Array checker finds instances of declaring a static array of undefined size.\nIf the size of an array needs to be determined during execution, use dynamic allocation.",
  "DO_NOT_USE_VFORK.description": "The Use of vfork() checker finds a vfork() call followed by an execve() call.\nDo not use vfork(). Instead, use functions such as fork() that do not cause race conditions.",
  "DO_NOT_USE_VOLATILE.description": "The Use of volatile checker finds instances of using the volatile modifier.\nDo not use the volatile modifier.",
  "DO_NOT_USE_VOLATILE_IN_COMPLEX_EXPRESSION.description": "The Volatile Variable in Complex Expression checker finds complex expressions in which the same volatile-qualified variable occurs more than once.\nBe sure a volatile variable does not occur more than once in a compound expression.",
  "DO_NOT_USE_WIDE_CHARACTER.description": "The Use of Wide String checker finds instances of using a wide string.\nDo not use a wide string.",
  "DO_NOT_USE_WITH.SQL.CONFIG.description": "Do Not Use WITH Clauses checker detects the use of WITH clauses within SQL queries.",
  "DO_NOT_USE_WITH.SQL.description": "Do Not Use WITH Clauses checker detects the use of WITH clauses within SQL queries.",
  "DO_NOT_VIOLATE_CONSTRAINTS.description": "The Violation of Constraints for extern inline Function checker finds instances in which an extern inline function accesses an object whose scope is not as wide as the function.\nMake sure that an extern inline function does not access a static object. Any object accessed by an extern inline function should not be declared static.",
  "DO_NOT_WAIT_IN_SYNCHRONIZED_WITHOUT_CONTROL.description": "The Uncontrolled Call to wait() in Synchronized Block checker finds synchronized blocks that contain uncontrolled calls to the wait() method.\nBe sure to control each call to wait() with an appropriate conditional or loop.",
  "DO_NOT_WRITE_CONFUSED_CHARACTER.description": "The Identifier with Confusing Characters checker finds identifiers that include both the number \"1\" and lowercase \"l\" or both the number \"0\" and uppercase \"O.\"\nMake sure an identifier does not include both the number \"1\" and lowercase \"l\" or both the number \"0\" and uppercase \"O.\" This can cause confusion to programmers.\nMake sure an identifier does not include both the number \"1\" and lowercase \"l\" or both the number \"0\" and uppercase \"O.\"",
  "DUPLICATED.DESIGNATED_INIT.description": "The Duplicate Initializer in Designator List checker finds instances in which the same item is marked twice or more in a designator list.\nMake sure each item in a designator list is initialized only once.",
  "DUPLICATED_SECURITY_ROLE.CONFIG.description": "The Duplicate Security Role checker finds duplicate security roles.\nDo not add a duplicate security role.",
  "DUPLICATED_SERVLET_MAPPING.CONFIG.description": "The Duplicate Servlet Mapping checker finds duplicate servlet mappings.\nDo not add a duplicate servlet mapping.",
  "DYNAMIC_CODE_MANIPULATION.description": "The Dynamic Code Manipulation checker finds code that uses unvalidated external input without filtering.\nUse a verification method to validate the external input imported by ServletRequest.getParameter() method.",
  "DYNAMIC_CODE_MANIPULATION_CSHARP.description": "The Dynamic Code Manipulation checker finds code that uses unvalidated external input without filtering.\nUse a verification method to validate the external input imported by ServletRequest.getParameter() method.",
  "DYNAMIC_TYPE_IN_CTOR_OR_DTOR.description": "During construction and destruction of an object, its final type may be different to that of the completely constructed object.The result of using an object's dynamic type in a constructor or destructor may not be consistent with developer expectations.\nThe dynamic type of an object is used in the following constructs :\n1. typeid on a class with a virtual function or a virtual function in a base class.\n2. dynamic_cast\n3. A virtual call to a virtual function.\nThis rule also prohibits a call being made to a pure virtual function from within a constructor or destructor. Such calls lead to undefined behavior.",
  "DataflowAnomalyAnalysis.description": "The dataflow analysis tracks local definitions, undefinitions and references to variables on different paths on the data flow. From those informations there can be found various problems. 1. UR - Anomaly: There is a reference to a variable that was not defined before. This is a bug and leads to an error. 2. DU - Anomaly: A recently defined variable is undefined. These anomalies may appear in normal source text. 3. DD - Anomaly: A recently defined variable is redefined.",
  "DefaultLabelNotLastInSwitchStmt.description": "This checks for cases when default statement exists in the switch statement, but is not last.",
  "DefaultPackage.description": "This checks if default package private level has been used instead of explicit scope.",
  "DoNotCallGarbageCollectionExplicitly.description": "This checks if System.gc(), Runtime.gc() or System.runFinalization() is called.",
  "DoNotExtendJavaLangError.description": "This checks if Exception inherits from java.lang.Error. Error is used as a system exception and thus should not be inherited.",
  "DoNotHardCodeSDCard.description": "This checks if /sdcard is used instead of Environment.getExternalStorgeDirectory() to get SD Card's storage directory.",
  "DoNotThrowExceptionInFinally.description": "This checks if exception is thrown in the finally block.",
  "DontCallThreadRun.description": "This checks if Thread.run() method is directly called from external environment. (Thread.start() method must be called). If run() is called instead of start() in the program, the thread is not created and the the run() method is directly called so the program waits until the run() function exits.",
  "DontImportJavaLang.description": "This checks for importing java.lang.",
  "DontImportSun.description": "This checks for importing sun.* package. This package may not be portable as there is a possibility of it changing.",
  "DontNestJsfInJstlIteration.description": "This checks if custom action is in the iterate statement in the JSF component's body",
  "DontUseFloatTypeForLoopIndices.description": "This checks if float is used as a loop's index. If this is necessary, using double instead of float is recommended.",
  "DoubleCheckedLocking.description": "Partially created objects can be returned by the Double Checked Locking pattern when used in Java. This is not thread safe.",
  "DuplInheritedMember.description": "The class defines member variable with name also defined in its parent class.",
  "DuplicateImports.description": "This checks for duplicate import statements",
  "DuplicateJspImports.description": "This checks for duplicate import statements.",
  "EACH_COMMENT_LINE_LENGTH.description": "The Mismatching of Comment Length checker finds instances that a multi line comment has different lengths.\nWhen you write the multi line comment, trim the comment lines to be aligned to a shape of square.",
  "ELIMINATE_NONCHARACTER_CODE_POINTS_BEFORE_VALIDATION.description": "The Validation of Input with Non-character Included checker finds instances of validating an input string without removing non-characters from it.\nIf the deletion of non-characters is included in the validating process, have it conducted prior to substring filtering.",
  "EMPTY": "Empty",
  "EMPTY_ARRAY_SIZE.MISRA2012.description": "The Unspecified Size of Empty extern Array checker finds code that fails to specify the size of an extern array variable.\nYou can optionally adjust the detailed check list.\nWhen declaring an array variable, be sure to specify the size.",
  "EMPTY_ARRAY_SIZE.description": "The Empty Array Size checker finds array declarations without the size specified.\nYou can optionally adjust the checking criteria.\nWhen declaring an array variable, be sure to specify the size.",
  "EMPTY_BRANCH.ELSE.ABAP.description": "The Missing ELSE Branch checker finds IF-ELSE statements that do not end with an ELSE clause.\nAdd a proper ELSE clause that can handle exceptional cases.",
  "EMPTY_BRANCH.MISSING_ELSE.description": "The Missing ELSE Branch from IF-ELSE checker finds IF-ELSE statements that do not end with an ELSE clause.\nEach IF-ELSE must end with an ELSE clause.\nEach IF-ELSE must include an ELSE clause.",
  "EMPTY_BRANCH.WHEN_OTHERS.ABAP.description": "The Missing WHEN OTHERS Branch checker finds CASE statements that do not include a WHEN OTHERS clause.\nAdd a WHEN OTHERS clause to each of the CASE statements.",
  "EMPTY_BRANCH.description": "The Missing Branch checker finds if statements having no else branch and switch statements having no case or default branch.\nAdd required branches with executable code in them in accordance with the statement rules.",
  "EMPTY_CATCH_BLOCK.ABAP.description": "The Empty Exception-handling Block checker finds exception-handling blocks that have no relevant content.\nIt detects empty catch blocks containing no actual executable code.\nAdd an exception-handling code in the empty block. If you don't want any measure for an exception, you may simply leave an error message.",
  "EMPTY_CATCH_BLOCK.description": "The Empty Exception-handling Block checker finds exception-handling blocks that have no relevant content.\nIt detects empty catch blocks containing no actual executable code.\nAdd an exception-handling code in the empty block. If you don't want any measure for an exception, you may simply leave an error message.",
  "EMPTY_EXTERN_ARRAY_SIZE.description": "When declaring an array using the extern keyword, the size of the array has to be specified.",
  "EMPTY_PASSWORD.CONFIG.description": "The Blank Password checker finds a configuration file in which a password assumes a blank string.\nDo not store a password in the configuration file.",
  "EMPTY_WHILE.description": "The Empty while Statement checker finds while statements that contain no body code.\nDo not leave a while statement empty.",
  "EMPTY_WHILE_STATEMENT.description": "The Empty while Statement checker finds while statements that contains no body code.\nIf the while contains no executable statement, please do not add compounds by using braces.\nDo not use the braces in an empty while statement.",
  "ENCAPSULATE_ASSEMBLER.description": "The Unencapsulated Assembler checker finds inline assembly codes that are not separated into individual functions.\nIf an inline assembler is necessary, encapsulate the assembly inserts into specific functions.",
  "ENCLOSE_FUNCTIONS_IN_THE_UNNAMED_NAMESPACE.description": "The Incorrect Declaration of Source File-specific Function checker finds source files in which a non-member function that is not of an external interface is defined outside an unnamed namespace.\nWhen declaring a function used only within a specific source file, place its declaration in an unnamed namespace instead of declaring it static.",
  "ENGINE": "Engine",
  "ENSURE_EACH_IDENTIFIER_IS_DISTINCT.description": "The Non-unique Identifier checker finds identifiers that are not unique.\nCheck that each identifier is unique. Similarly named identifiers undermine code readability, thus causing more mistakes.\nMake sure all identifiers are unique.",
  "ENSURE_LAST_LINE_IS_EMPTY.description": "The Last Line Is Not Empty checker finds instances in which source code does not end with an empty line.\nMake sure all files with source code end with an empty line.",
  "ENSURE_MEMBER_TYPE_OF_STRUCT.description": "Member variables of a structure should only use limited types. Do not use types int and pointers.",
  "ENSURE_PASSING_VECTOR_TYPE_TO_C_STYLE.description": "The C-style Function with Vector Parameter checker finds instances in which a vector object is not correctly passed to a C-style function.\nC-style functions refer to functions that take an array argument. Among the STL containers, the vector is specified to have elements allocated in contiguous memory, which means compatibility with C-style arrays. However, passing a vector object to a C-style function's array-type parameter requires a particular manner of passing.\nWhen a vector is to be passed to a C-style function's C-style array parameter, pass &v[0], which points to the address of the first element.",
  "ENSURE_PRIVILEGE_RELINQUISHMENT.description": "The Misuse of setuid() finds instances calls to setuid(getuid()) that are not followed by a call to setuid(0).\nMake sure a call to seteuid(getuid()) is followed by a call to setuid(0).",
  "ENSURE_RETURN_VALUE_COMPARE.description": "Ensure that return values are compared against the proper type. If the return type is only partially assigned in the function, the return value must be compared to a constant literal of the same type.",
  "ENSURE_SINGLE_ENTRY_AND_EXIT_POINT.description": "The Multiple Entry or Exit Points in Compound Statement checker finds compound statements that include more than once entry or exit point. Switch statements are exempt from this rule.\nThe checker does not count exits by exception.\nMake sure each compound statement has only one entry and exit point.",
  "ENSURE_USING_NAMESPACE_POSITION.description": "The Misplaced using Directive checker finds instances that a using directive is not placed after #include in a source file.\nThe using directive is required to be placed after #include in a source file. For example, if a using directive is placed between #includes, name conflict can be found between header files.\nWrite the using directive after #include in a source file.",
  "EQUALS_METHOD_IS_OVERLOADED.description": "The Overloading of equals checker finds definitions of the equals() method that take another parameter type than java.lang.Object.\nMake sure the equals() method is defined to take a java.lang.Object parameter. If you want to prevent equals() from being overloaded by mistake, you can put the @Override annotation before the method declaration. The compiler then will throw a compile-time error if such a mistake is made.",
  "ERROR_WITHOUT_ACTION.description": "The Return without Consequent Action checker finds instances in which a function return is not used, or a function return is inspected but followed by no safeguards against possible errors.\nYou can optionally add functions subject to checking.\nMake sure the specified functions' returns are inspected and safeguards are taken according to the inspection results.",
  "EUGENE_NAMING_CONVENTION.description": "Follow nomenclature stated in the coding standard issued by Eugene Investment & Securities Co., Ltd.",
  "EUGENE_TOO_LONG_FUNCTION_NAME.description": "Follow nomenclature defined by Eugene Investment & Securities Co., Ltd.",
  "EUGENE_TOO_LONG_VARIABLE_NAME.description": "Follow nomenclature defined by Eugene Investment & Securities Co., Ltd.",
  "EUGENE_WRONG_BSNAME_IN_FILENAME.description": "Follow nomenclature defined by Eugene Investment & Securities Co., Ltd.",
  "EUGENE_WRONG_BSNAME_IN_FUNCTION_NAME.description": "Follow nomenclature defined by Eugene Investment & Securities Co., Ltd.",
  "EUGENE_WRONG_CMNAME_IN_FILE_NAME.description": "Follow nomenclature defined by Eugene Investment & Securities Co., Ltd.",
  "EUGENE_WRONG_CMNAME_IN_FUNCTION_NAME.description": "Follow nomenclature defined by Eugene Investment & Securities Co., Ltd.",
  "EUGENE_WRONG_DATA_FILE_NAME.description": "Follow nomenclature defined by Eugene Investment & Securities Co., Ltd.",
  "EUGENE_WRONG_DEFAULT_DBIO.description": "Follow nomenclature defined by Eugene Investment & Securities Co., Ltd.",
  "EUGENE_WRONG_DSNAME_IN_FILE_NAME.description": "Follow nomenclature defined by Eugene Investment & Securities Co., Ltd.",
  "EUGENE_WRONG_FUNCTION_NAME.description": "Follow nomenclature defined by Eugene Investment & Securities Co., Ltd.",
  "EUGENE_WRONG_OSNAME_IN_FILE_NAME.description": "Follow nomenclature defined by Eugene Investment & Securities Co., Ltd.",
  "EUGENE_WRONG_OSNAME_IN_FUNCTION_NAME.description": "Follow nomenclature defined by Eugene Investment & Securities Co., Ltd.",
  "EUGENE_WRONG_STRUCTURE_NAME.description": "Follow nomenclature defined by Eugene Investment & Securities Co., Ltd.",
  "EUGENE_WRONG_UMNAME_IN_FILE_NAME.description": "Follow nomenclature defined by Eugene Investment & Securities Co., Ltd.",
  "EUGENE_WRONG_UMNAME_IN_FUNCTION_NAME.description": "Follow nomenclature defined by Eugene Investment & Securities Co., Ltd.",
  "EUGENE_WRONG_USER_DBIO.description": "Follow nomenclature defined by Eugene Investment & Securities Co., Ltd.",
  "EUGENE_WRONG_VARIABLE_NAME.description": "Follow nomenclature defined by Eugene Investment & Securities Co., Ltd.",
  "EVAL_INJECTION.description": "The Injection into Dynamic Evaluation Code checker finds instances of using unvalidated external inputs in dynamic evaluation code.\nStrings passed to the eval() function during program execution are considered part of code to be executed.\nCheck if the dynamic evaluation is necessary in the program design; if possible, replace it with a static code that behaves identically. Most ordinary program actions can be implemented without dynamic evaluation; in many cases, programmers use dynamic code simply in order to avoid some bothersome coding. If the use of dynamic code with untrusted external inputs is inevitable, have those inputs filtered, or restrict argument values determined by external inputs to those selected from within a preconfigured array of appropriate values.",
  "EXCEPTION": "Exception",
  "EXCESSIVE_FUNCTION_CALLS.description": "The Exceeded Function Calls checker finds instances of function calls more than the specified number in an option.\nYou can optionally specify the maximum number of function calls.\nDo not call the function more than the optionally specified number.",
  "EXCESSIVE_IFS.description": "The Consecutive if Statements checker finds instances of using if statements consecutively.\nYou can optionally specify the maximum allowed number of consecutive if statements.\nDo not use if statements consecutively but combine them with other types of conditional statements.",
  "EXCESSIVE_SERVLET_MAPPING.CONFIG.description": "The Excessive Servlet Mapping checker finds instances of mapping multiple URL patterns to a single servlet.\nDo not define multiple URL pattern to a single servlet.",
  "EXCESSIVE_SESSION_TIMEOUT.CONFIG.description": "The Excessive Session Duration checker finds instances of setting the session duration too long.\nSet the session duration to an appropriate length.",
  "EXCESSIVE_STACK_DEPTH.description": "The Allocation of Oversized Buffer on Stack checker finds instances of allocating an oversized buffer on the stack.\nMake sure buffers allocated on the stack are no larger than 65535 bytes.",
  "EXCLUDE_UNSANITIZED_USER_INPUT_FROM_FORMAT_STRINGS.description": "Do not use unchecked user inputs in format string.",
  "EXECL_REVEALS_DATA.description": "The Check on User Argument in Call to exec System Function checker finds calls to exec system functions that are passed with user inputs but without a \"--\" string included.\nMake sure the user-input arguments passed in a call to an exec system function include a \"--\" string.",
  "EXECUTABLE": "Source code for executable components",
  "EXPLICIT_COPY_CONSTRUCTOR_WHEN_TEMPLATED_CONSTRUCTOR.description": "The Class with Template Does Not Have Copy Constructor Definition checker finds classes with a template that do not define an explicit copy constructor.\nClasses with a template refer to classes that declare a generic copy constructor with template parameters.\nMake sure each class defines an explicit copy constructor.",
  "EXPLICIT_NAME_QUALIFIER_WHEN_TEMPLATED_BASE.description": "The Ambiguous Call to Template Base Method checker finds an expression that calls a method from its template base class.\nAn ambiguous call is made as follows: A template base class is declared. A derived class is declared inheriting from the template base class. A variable or method of the base class is accessed by the derived class. In this case, the call is made without an explicit qualifier.\nIn a class template with a dependent base, any name that may be found in that dependent base shall be referred to using a qualified-id or this->. This helps to call the correct method.",
  "EXPLICIT_NULL_TYPE.CONFIG.description": "The issue of distinguishing between `null` and `undefined` is the source of many bugs. Typescript supports `strictNullChecks` which makes clear distinction and prevents developers from referencing `null` or `undefined` values.\nEnable it in your Typescript configuration file, `tsconfig.json` or `jsconfig.json`, by declaring the `strict` property inside the `compilerOptions` section to be `true`; or by declaring the `strictNullChecks` property to be `true`.\n",
  "EXPLICIT_RETURN_WHEN_NON_VOID_RETURN_FUNCTION.description": "This expression gives the value that the function returns. The absence of a return with an expression\nleads to undefined behaviour(and the compiler may not give an error).Exception\nThis rule does not apply if a function exit is due to exception handling(i.e.a throw statement).",
  "EXPLICIT_VIRTUAL_KEYWORD.description": "The Non-virtual Declaration of Overriding Method checker finds overriding methods that are not declared with the virtual keyword in the derived class.\nFunctions declared virtual in a base class are often overridden without the virtual keyword in a derived class. \nA polymorphic method must be declared explicitly virtual in the derived class.",
  "EXPOSURE_OF_ADMINISTRATION_PAGE.description": "The Exposal of Admin Page checker finds an admin page given a predictable name.\nYou can optionally specify forbidden admin page names. For example, admin.jsp can be easily predicted.\nRename the admin page with an unpredictable name.",
  "EXPOSURE_OF_DANGEROUS_METHOD.description": "The Exposure of Dangerous Method checker finds instances in which a specified method is declared public or is called in a public method.\nYou can optionally specify the names of methods that should not be exposed.\nMake sure those methods are declared private and called only in their class.",
  "EXPOSURE_OF_SYSTEM_DATA.description": "The System Information Exposure finds instances of displaying system information through error messages or by other means.\nMake sure error messages are shown only to relevant users and contain minimum necessary information. Have exceptions internally handled in source code and do not allow them to trigger an error message containing sensitive information.",
  "EXPOSURE_OF_SYSTEM_DATA_ASPNET.description": "The System Information Exposure checker finds instances of displaying system information.\nIf system-related information leaks via an output stream or logging, this may allow for malicious attacks.\nMake sure system information is not exposed.",
  "EXPR_NOT_BOOLEAN.description": "The Implicit Comparison of Boolean Value checker finds instances of comparing a boolean variable implicitly in a context such as a condition expression.\nImplicit comparison refers to an attempt to check a simple variable for zero or null without using a comparison expression.\nIf a condition expression ends with a boolean value, be sure to use an explicit comparison.",
  "EXTERNAL_CONTROL_OF_SYSTEM_OR_CONFIGURATION_SETTING.description": "The External Control of System or Configuration Setting checker finds instances of modifying a system or configuration setting using an unvalidated external input.\nDo not use an external input in creating an argument to pass to the Connection.setCatalog() method.",
  "EXTERN_VAR_AND_FUNC_SHOULD_BE_IN_INTERFACE_FILE.description": "The Declaration of extern Variable or Function Not in Interface File checker finds instances of declaring an extern variable or function not in an interface file.\nEnsure to declare the extern variable or function within the interface file.",
  "EXTRACT": "Extract",
  "EmptyCatchBlock.description": "The Catch block is empty. It must contain exception handling syntax.",
  "EmptyFinalizer.description": "This checks for method finalize() that does not have any parameters and is empty.",
  "EmptyFinallyBlock.description": "This checks if finally block is empty. If so, the finally block can be deleted.",
  "EmptyIfStmt.description": "This checks for empty if statements that leads to no action even if the conditional is true.",
  "EmptyInitializer.description": "This checks for empty initializer.",
  "EmptyStatementBlock.description": "If a block is empty, it must be deleted.",
  "EmptyStatementNotInLoop.description": "This checks for empty statements (single semicolon) not inside a loop statement.",
  "EmptyStaticInitializer.description": "This checks if static initializer is empty.",
  "EmptySwitchStatements.description": "This checks for cases when nothing happens due to empty switch statement.",
  "EmptySynchronizedBlock.description": "This checks for empty synchronized block.",
  "EmptyTryBlock.description": "This checks for empty try block that does not do anything.",
  "EmptyTryOrFinallyBlock.description": "The try or finally block is empty.",
  "EmptyWhileStmt.description": "This checks for empty while blocks that does not do anything even if the conditional is true.",
  "EqualComparison.description": "'===' should be used instead of '==' and '!==' should be used instead of '!=' in Javascript. If '==' is used, the variable's type is automatically converted and thus may lead to unintended results. '===' does not convert the variable's type automatically.",
  "EqualsNull.description": "This checks for equals(null)",
  "ExceptDeallocThrow.description": "Exception thrown in invalid state, 'p' points at deallocated memory.",
  "ExceptRethrowCopy.description": "Rethrowing an exception with 'throw varname;' creates an unnecessary copy of 'varname'. To rethrow the caught exception without unnecessary copying or slicing, use a bare 'throw;'.",
  "ExceptThrowInDestructor.description": "The class is not safe because its destructor throws an exception. If Class is used and an exception is thrown that is caught in an outer scope the program will terminate.",
  "ExceptionAsFlowControl.description": "This checks for flow control using try-catch statement.",
  "ExcessiveClassLength.description": "This checks for a class with number of lines over a predefined threshold.",
  "ExcessiveImports.description": "This checks for number of import statements being over a predefined threshold.",
  "ExcessiveMethodLength.description": "This checks for a method with number of lines over a predefined threshold.",
  "ExcessiveParameterList.description": "This checks for a method with number of parameters over a predefined threshold.",
  "ExcessivePublicCount.description": "This checks if the number of fields is over a predefined threshold.",
  "ExtendsObject.description": "This checks if unnecessary inheritance is explicitly stated when it is unnecessary to do so.",
  "FAIL": "Fail",
  "FAIL_TO_HEALTH_CHECK_WITH_DATA_WAREHOUSE": "Failed to check the status of the data warehouse service.",
  "FALSE": "No obligation for notice",
  "FIELD_ASSIGNED_IN_CONSTRUCTOR_SHOULD_BE_FINAL.description": "Variables that is assigned through the constructor must be declared final.",
  "FIELD_COMMENT.description": "The Field Variable Comment Format checker finds field variable comments that violate their format.\nThe checker validates comments on field declarations for their compliance with the specified format. Additionally, if a comment contains a field's name and type, the checker checks whether the contained values are correct.\nWrite field variable comments in accordance with the specified format.",
  "FILE": "File-level source code",
  "FILENAME_IN_ANGLE_BRACKET_OR_DOUBLE_QUOTATION.description": "The Syntactically Incorrect #include Statement checker finds instances in which the filename in an #include preprocessor statement is not written in the specified format.\nThe #include preprocessor directive must be used in the format of either #include \"filename\" or #include <filename>.\nMake sure that the filename in an #include statement complies with the specified format.",
  "FILE_COMMENT.description": "The File Comment Format checker finds file comments that violate their format.\nThe checker validates each file's first comment for its compliance with the specified format.\nWrite file comments in accordance with the specified format.",
  "FILE_PARSING_ERROR": "A file parsing error occurred.",
  "FIND": "Search",
  "FIND_STRING_IN_CONTENT.description": "The Use of Specified Keyword checker finds occurrences of specified keywords in source code.\nYou can optionally specify keywords that are not allowed to be used.\nDo not use specified keywords.",
  "FIRST_COLUMN.FUNCTION.description": "The function should be declared at the first column.",
  "FIRST_COLUMN.GLOBAL.description": "The global variable should be declared at the first column.",
  "FIRST_COLUMN.LOCAL.description": "When declaring the local variable in the function, use the indentation.",
  "FIRST_COLUMN.PREPROCESSING.description": "The preprocessor statements should start at the first column.",
  "FLEXIBLE_ARRAY_MEMBER.description": "The Use of Variable-length Array in Struct checker finds structs that include a variable-length array as a member field.\nDo not use a variable-length array as a member field in a struct. Use a fixed-length array instead; or declare a pointer, then assign a dynamically allocated array to that pointer.",
  "FLOAT_BIT_REPRESENTATION.description": "The Bitwise Access to Real Number checker finds casts or declarations that include a bitwise access to a value declared as a real number.\nAvoid bitwise access to a real-number value. To do so, you can cast the real number to a bitwise-accessible type, or avoid mix it up with an integer type in a union.",
  "FOLDER": "Folder",
  "FORBIDDEN.ARITHMETIC_OPERATION.SQL.description": "Detects the case of using arithmetic operations such as +,-, *, and / in an expression.",
  "FORBIDDEN.ASTERISK.SELECT.ABAP.description": "The Use of * in SELECT Statement checker finds SELECT statements that use * to load all columns.\nSpecify columns when using a SELECT statement.",
  "FORBIDDEN.ASTERISK.SELECT.SQL.description": "This checks if '*' is used in the SELECT query statement. It is recommended to specify the necessary column name.",
  "FORBIDDEN.BINDING_VARIABLE.SQL.description": "Detect use of binding variables in SELECT or FROM clauses.",
  "FORBIDDEN.BYPASSING_BUFFER.ABAP.description": "The Use of BYPASSING BUFFER Clause checker finds SELECT statements that use a BYPASSING BUFFER clause.\nRemove the BYPASSING BUFFER clauses from their respective SELECT statements.",
  "FORBIDDEN.DIRECT_JSP_ACCESS.CONFIG.description": "The Direct Access to JSP checker finds allowing direct access to JSP files.\nIn the settings, do not allow direct access to JSP files.",
  "FORBIDDEN.DISTINCT.ABAP.description": "The Use of DISTINCT Operator checker finds SELECT statements that use the DISTINCT operator.\nRemove the DISTINCT operator from the SELECT statements.",
  "FORBIDDEN.DISTINCT.SQL.description": "DISTINCT is used. It is recommended to use GROUP BY instead of DISTINCT",
  "FORBIDDEN.DYNAMIC_CLAUSES.SELECT.ABAP.description": "The Use of SELECT with Dynamic Conditions checker finds SELECT statements that include dynamic conditions.\nReplace the dynamic conditions with static filtering conditions in the SQL queries.",
  "FORBIDDEN.EQUALITY_FOR_BOXED_PRIMITIVES.description": "The Comparison of Boxed Primitives checker finds object type variables that are used for operands of equality operators.\nYou cannot compare boxed primitives, that is, object types, by using == or != operator. The comparison of == or != is not performed on values, but references between object types. Moreover, this leads to unexpected results in some scopes due to caching. \nYou need to compare the boxed primitives, that means object types, by using equals() method instead of the == or != operator.",
  "FORBIDDEN.FROM_DUAL.SQL.description": "Detect use of FROM DUAL.",
  "FORBIDDEN.INET_ADDRESS.description": "Used a forbidden method in the InetAddress class. It is not recommended to use the getByname, getAllByName, and getByAddress functions to obtain network addresses.",
  "FORBIDDEN.INSTANCE_ACCESSING.description": "The Access to Static Member through Object checker finds instances of accessing a class's static member through a non-class object.\nWhen accessing a static member, specify its class name.",
  "FORBIDDEN.INTERNAL_STMT.ABAP.description": "The Use of Internal Source Code-handling Statement checker finds instances of using a statement restricted only to internal use.\nThese statements include: DELETE REPORT, GENERATE REPORT, LOAD REPORT, SCAN, DELETE TEXTPOOL, EXPORT DYNPRO, IMPORT DYNPRO, DELETE DYNPRO, SYNTAX-CHECK FOR DYNPRO, and GENERATE DYNPRO.\nRemove the internal-use statements.",
  "FORBIDDEN.LOWERCASE_KEYWORD.SQL.description": "Detect usage of lowercase for specific keywords. Check on the following keywords: SELECT, FROM, WHERE, AND, OR, UPDATE, SET, DELETE, INSERT, INTO, VALUES.",
  "FORBIDDEN.MERGE.SQL.description": "Use of forbidden Merge statements.",
  "FORBIDDEN.MODIFY_PARAMETER.description": "The Modification of Parameter in Call-by-value Function checker finds instances of assigning a value to a parameter inside a function although the parameter receives a value when the function is called.\nDo not assign values to parameters. If you need to affect an argument passed by the caller function, change the parameter type to a pointer type and pass a reference to the argument variable, instead of the argument variable itself.",
  "FORBIDDEN.MULTI_DIMENSION_ARRAY.description": "The Use of High-dimensional Array checker finds arrays whose dimensions exceed the optionally specified dimension level.\nYou can optionally specify the maximum allowed number of array dimensions.\nDo not use high-dimensional arrays.",
  "FORBIDDEN.NATIVE.SQL.ABAP.description": "The Use of Native SQL checker finds EXEC statements.\nReplace with open SQL if possible. Use native SQL only when it is not replaceable (for compatibility with other DBs).",
  "FORBIDDEN.NEGATION_IN_CONDITION.SQL.description": "Detect use of negation in conditional statements.",
  "FORBIDDEN.NESTED_DECODE.SQL.description": "Detect use of nested DECODE statements.",
  "FORBIDDEN.NOT_IN_COND.ABAP.description": "The Use of NOT IN checker finds SQL queries that use NOT IN.\nReplace the instances of NOT IN with NO EXIST.",
  "FORBIDDEN.NULL_IN_SECURITY_MANAGER.description": "Do not use a null as an argument to the setSecurityManager function. In the arguments, enter the Security Manager that will manage the security policy.",
  "FORBIDDEN.OVERRIDING_FINALIZE.description": "The java.lang.Object.finalise() method is called by the garbage collector, which may or may not be called. Be careful when overriding this method, as it can be dangerous to include logic that must be executed.",
  "FORBIDDEN.PARALLEL.SQL.description": "Do not use PARALLEL QUERY/DML",
  "FORBIDDEN.PROPERTY_METHOD.description": "The following methods can change System properties and should be used with caution. Because of the potential risk that an attacker might use values obtained from untrusted input: (java.lang.System.setProperty(java.lang.String, java.lang.String), java.lang.System.setProperties(java.util.Properties))",
  "FORBIDDEN.QUERY_IN_LOOP.ABAP.description": "The Use of SELECT Statement in Loop checker finds SELECT statements that are used within a LOOP or WHILE statement.\nDo not use SELECT statements within a LOOP or WHILE statement unless they are used with UP TO 1 ROWS.",
  "FORBIDDEN.RACE_CONDITION_METHOD.description": "The following methods are known to cause race conditions. So, it is safer to use other methods such as fixed thread pools.\n(java.lang.ThreadGroup.activeCount(), java.lang.ThreadGroup.activeGroupCount(), java.lang.ThreadGroup.checkAccess(), java.lang.ThreadGroup.enumerate(java.lang.Thread[]), java.lang.ThreadGroup.enumerate(java.lang.Thread[], boolean), java.lang.ThreadGroup.enumerate(java.lang.ThreadGroup[]), java.lang.ThreadGroup.enumerate(java.lang.ThreadGroup[], boolean), java.lang.ThreadGroup.interrupt(), java.lang.ThreadGroup.destroy(), java.lang.ThreadGroup.list(), java.lang.ThreadGroup.uncaughtException(java.lang.Thread, java.lang.Throwable), java.lang.ThreadGroup.getParent(), java.lang.ThreadGroup.toString(), java.lang.ThreadGroup.getName(), java.lang.ThreadGroup.getMaxPriority(), java.lang.ThreadGroup.isDaemon(), java.lang.ThreadGroup.isDestroyed(), java.lang.ThreadGroup.setDaemon(boolean), java.lang.ThreadGroup.setMaxPriority(int), java.lang.ThreadGroup.parentOf(java.lang.ThreadGroup), java.lang.ThreadGroup.allowThreadSuspension(boolean))",
  "FORBIDDEN.REPLACING_EMAIL_ADDRESS.description": "The Assignment to Email Address Variable checker finds instances of assigning a value to a specified email address variable.\nYou can optionally specify the names of variables representing an email address.\nDo not assign a value to such a variable.",
  "FORBIDDEN.STATEMENT_EXECUTE_QUERY.description": "java.sql.Statement.executeQuery is potentially vulnerable to SQL Injection attacks due to weaknesses in its argument of the query statements. It is more secure to use PreparedStatement.executeQuery() instead of Statement.excuteQuery().",
  "FORBIDDEN.STATIC_KEYWORD_IN_PARAM.description": "The Array-type Parameter Declaration with Static Keyword checker finds function declarations that include an array-type parameter with the static keyword in the square brackets.\nDo not use the static keyword when declaring an array-type parameter.",
  "FORBIDDEN.SYSDATE.SQL.description": "Do not use SYSDATE",
  "FORBIDDEN.TABLE.SQL.description": "The Use of Forbidden Table checker finds instances of using a forbidden table.\nDo not use forbidden tables.",
  "FORBIDDEN.TABLE_COLUMN.SQL.description": "The Use of Forbidden Table Column checker finds instances of using a forbidden table column.\nDo not use forbidden table columns.",
  "FORBIDDEN.TRIM_LENGTH.description": "Avoid using String.trim().length() to check for empty strings. It is recommended to implement separate logic for whitespace or non-whitespace checking.",
  "FORBIDDEN.WITH.SQL.description": "Do not use WITH.",
  "FORBIDDEN_CALL.BEFORE_CALL.description": "The Noncompliant Sequence of Function Calls checker finds instances of violating an optionally specified sequence of function calls.\nYou can optionally specify files excluded from analysis, functions subject to analysis, functions excluded from analysis, functions to call earlier, and functions to call later.\nConform to optionally specified sequences of function calls.",
  "FORBIDDEN_CALL.LOOP.description": "The Use of Forbidden Function in Loop checker finds instances of using a function optionally specified not to be used in a loop.\nYou can optionally specify functions forbidden in specific types of loops.\nDo not use optionally forbidden functions in a loop.",
  "FORBIDDEN_DYNAMIC_TYPE_IN_CTOR_DTOR.description": "The Use of RTTI in Constructor or Destructor checker finds constructors and destructors whose implementation contains a command requiring run-time type information (RTTI).\nRTTI is a mechanism that allows the type of an object to be determined during program execution. Some C++ commands require RTTI, including typeid, dynamic_cast, and calls to virtual functions.\nIn constructors and destructors, do not use a command that requires RTTI.",
  "FORMAT_STRING.description": "The Format String checker finds type mismatches between format specifiers and their corresponding arguments.\nThe format specifiers used in C programming are as follows: Int type: d, i unsigned int type: u double type: f, F, e, E, g, G, a, A unsigned int type: x, X, o char pointer or string type: s char type: c void pointer type: p The Length field can be one of the following: hh: Promotes char to int. h: Promotes short to int. l: For integer types, causes to expect long; for floating point types, causes to expect double.ll: For integer types, causes to expect long long.L: For floating point types, causes to expect long double.\nFix the mismatches between format specifiers and the types of their corresponding arguments. You can change either format specifiers or the types of arguments.",
  "FORMAT_STRING_ARGUMENT_NUMBER_MISMATCH.description": "The Mismatch in Number between Format Specifiers and Corresponding Arguments checker finds calls to format string functions in which the number of format specifiers (%s, %x, %c, etc.) included is not equal to the number of arguments substituting for them.\nBe sure to pass the same number of substituting arguments as the number of format specifiers.",
  "FORMAT_STRING_OVERFLOW.description": "The Failure to Limit Format Specifier String Length checker finds instances of failure to limit the length of the string inserted via a format specifier.\nBe sure to limit the length of the strings inserted via format specifiers.",
  "FORM_CSRF_ATTR.HTML.description": "check csrf attritbute in form tag",
  "FORWARD_NULL.description": "The Dereference of Null Value checker finds instances of dereferencing a null constant or a null-assigned variable without checking it for null.\nIf a value that might be null is dereferenced, a NullPointerException exception may occur during program execution. This may result in an abnormal termination of the program.\nUnless a variable is ensured to never be null, make sure it is always checked for null before dereferenced.",
  "FORWARD_NULL_CSHARP.description": "The Dereference of Null Value checker finds instances of dereferencing a null constant or a null-assigned variable without checking it for null.\nIf a value that might be null is dereferenced, a NullReferenceException exception may occur during program execution. This may result in an abnormal termination of the program.\nAny variable that can possibly assume a null must be checked for null before used.",
  "FOR_LOOP_CONTROL_CHANGE_COND.description": "The Loop Control Variable Changed in Condition or Increment Clause checker finds for loops in which a loop control variable is changed in the condition or increment clause.\nA loop control variable herein refers to a variable present in a for loop's control section, other than the loop counter. This variable should not be initialized in the initialization clause and must stay unchanged in the increment clause.\nTake care not to have loop control variables changed in the increment or condition clause.",
  "FOR_LOOP_NONBOOL_CONTROL_CHANGED.description": "The Non-boolean Loop Control Variable checker finds instances in which a loop control variable is changed in the body block of the loop but is not a boolean type.\nA loop control variable herein refers to a variable present in a for loop's control section, other than the loop counter. This variable should not be initialized in the initialization clause and must stay unchanged in the increment clause.\nBe sure to declare loop control variables as a boolean type.",
  "FREE_NON_HEAP.description": "The Free of Stack-allocated Memory checker finds instances of freeing memory allocated on the stack rather than the heap.\nThese instances occur mainly when a local variable's address is freed.\nYou must free memory allocated on the heap, not on the stack.",
  "FREE_NULL_POINTER.description": "Do not free the null pointer.",
  "FUNCTION_COMMENT.description": "The Function Comment Format checker finds function comments that violate their format.\nThe checker validates comments on function declarations for their compliance with the specified format. Additionally, if a comment contains a function's name and return type, its arguments' names and types, and how many they are, the checker checks whether the contained values are correct.\nWrite function comments in accordance with the specified format.",
  "FUNCTION_DEFINITION_TYPE_MISMATCH.description": "The Mismatch between Function Definition and Declaration finds mismatches in type name between a function declaration and its definition.\nA function must be declared and defined with the same type.",
  "FUNCTION_SHALL_BE_DECL_FILE_SCOPE.description": "The Function Declaration within Function checker finds instances of declaring a file not in file scope but within another function.\nMake sure functions are declared in file scope.",
  "FUNCTION_TRY_BLOCK_SHOULD_NOT_REFERENCE_CLASS_DATA.description": "The Access to Field from Constructor or Destructor Catch finds classes whose constructor or destructor has a function-try-block that accesses a member field.\nThe function-try-block is one of the alternative syntax forms for function-body. This replaces the function body with a try and catch statement.\nIf a constructor or destructor has a function-try-block, make sure that the catch block does not access a member field.",
  "FUNCTION_WITHOUT_DEFINITION.description": "The Function Declared but Undefined checker finds instances in which a function is declared but remains not defined in a file.\nYou can optionally specify whether to check extren functions.\nMake sure that declared functions are subsequently defined.",
  "FUNCTION_WITH_VOID_RETURN_TYPE_SHOULD_HAVE_EXTERNAL_SIDE_EFFECT.description": "The Function Declaration without External Side-effect checker finds instances that functions of void return types have declared without external side-effects.\nThe external side-effect indicates to have some kinds of effects to outside. For example, reading or writing files, changing global variables, modifying reference type arguments, using volatile objects, or causing errors.\nFunctions with void return values must have external side-effects.",
  "FieldDeclarationsShouldBeAtStartOfClass.description": "Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.",
  "FinalFieldCouldBeStatic.description": "This checks for code that declares a field final and assigns a constant inside a class instead of an interface.",
  "FinalizeDoesNotCallSuperFinalize.description": "This checks if finalize() method without a parameter does not have a super.finalize() as a last statement or super.finalize() is inside the finally block.",
  "FinalizeOnlyCallsSuperFinalize.description": "This checks for finalize() method that does not have any parameters and is comprised only of one super.finalize() statement.",
  "FinalizeOverloaded.description": "This checks for finalize() methods with parameters.",
  "FinalizeShouldBeProtected.description": "Finalize method being declared as public is considered vulnerable. Doing so is against the secure coding rule. Inside the finalize() implementation,  finalize() method should not be explicitly called besides with super.finalize() thus should not be declared as public.",
  "ForLoopShouldBeWhileLoop.description": "This checks whether there is no index init/update part of the for loop.",
  "ForLoopsMustUseBraces.description": "This checks for for loops without braces.",
  "FunctionConst.description": "The member function 'class::function' can be made a const function. Making this function 'const' should not cause compiler errors. Even though the function can be made const function technically it may not make sense conceptually. Think about your design and the task of the function first - is it a function that must not change object internal state?",
  "FunctionStatic.description": "The member function 'class::function' can be made a static function. Making a function static can bring a performance benefit since no 'this' instance is passed to the function. This change should not cause compiler errors but it does not necessarily make sense conceptually. Think about your design and the task of the function first - is it a function that must not access members of class instances?",
  "GENERAL_COMMENT.description": "The Comment Format checker finds general comments that violate their format.\nThe checker checks if general comments conform to the specified general comment format.\nWrite general comments in accordance with the specified format. Comments declared with //// must be changed to those with //.",
  "GET": "Get",
  "GETCHAR_TO_INT.description": "The getchar Function Return of Invalid Type checker finds instances of assigning the getchar() function's return value to a smaller type than int.\nThe return of getchar() must be stored in an int-type variable and checked for EOF before being used.",
  "GOTO_JUMP_LATER_DECLARED_LABEL_ONLY.description": "The Backward goto Statement checker finds goto statements that jump to an earlier label.\nRefrain from using a goto statement. Most calculations imaginable can be implemented only using branches and loops without a goto. Even if a goto is necessary to simplify code that would be extremely complicated without it, avoid a backward goto that jumps to an earlier label.",
  "GUARANTEE_EXCEPTION_SAFETY.description": "The Missing Exception Safety checker finds when a program is terminated by an exception which has the potential to adversely affect the program.\nProper handling of errors and exceptions is essential for the software. The possibility of abnormal effects on the program raised by the exceptions must be eliminated in advance. Code that avoids the abnormal effects is called to be guaranteed for exception safety. Exception safety is divided into three: Strong exception safety: While ensuring basic exception safety, if an operation is terminated by an exception, there is no observable effect on the program state. Basic exception safety: The basic exception safety prevents resource leaks and makes the program state stable when the program is terminated by an exception. None: This does not guarantee either strong exception safety or basic exception safety.\nModify your code so that the non-local variable value can be changed after an exception is raised.",
  "GenericsNaming.description": "This checks if the generic name is not one letter or is not a capital letter.",
  "GlobalVariable.description": "This checks if 'var' was not used. Use of global variables makes debugging harder and thus must be used minimally",
  "GodClass.description": "God Class is a big class that has not been divided up. God Class is inefficient for maintenance",
  "GuardDebugLogging.description": "isDebugEnabled() must be used to prevent performance and memory problems when log message is created using multiple strings.",
  "HANDLE_ALL_EXCEPTIONS_BEFORE_MAIN_BEGINS_EXECUTE.description": "The Unhandled Exception from Statically Scoped Object Declaration checker finds an unhandled exception when an object is declared in static or thread-persistent scope, but not in a function block or constructor.\nNot all exceptions can be handled in C++. In particular, exceptions raised by constructors of objects in static scopes are not caught by a function-try-block. The unhandled exceptions must not be raised when the objects are declared in static scopes rather than in function blocks or constructors.\nIf object O is generated in the static scope and calls function list F while being created, the checker finds the object O that contains function G among the function list F, which does not satisfy either of the following conditions. Declared using the noexcept keyword. Declared using the noexcept(true) keyword.",
  "HANDLE_ALL_EXCEPTIONS_IF_SPECIFIED.description": "The Throwing of Unlisted Exception checker finds instances that a function throws an exception undeclared in exception specification.\nMake sure to throw exceptions declared in the exception specification. Or, add other exceptions required to be thrown.",
  "HANDLE_ALL_EXCEPTIONS_NOT_IN_SPEC.description": "The Mismatching Exception Specification checker finds declarations of functions in which an exception is thrown whose type is different from the exception specification.\nException specifications specify what exceptions a function may throw.\nAll exceptions not covered by exception specifications must be handled when thrown.",
  "HANDLE_FLOATING_POINT_ERRORS.description": "The Failure to Handle Floating-point Error checker finds instances of failure to handle possible errors following a floating-point operation.\nOnce a floating-point operation is performed, call a relevant error handling function such as fetestexcept() to check for floating-point errors.",
  "HANDLE_STANDARD_LIBRARY_ERROR.description": "The Unused Return of Standard Library Function checker finds expressions that do not use the return of a standard library function.\nBe sure to check the return of standard library functions and handle their failures.",
  "HANWHA_NAMING_CONVENTION.description": "Detect names against the naming convention for programs, functions, DM, and variables.",
  "HARDCODED_SET_FUNCTION.description": "The Set function hardcoding checker detects code that uses hardcoded information. You store the specific constants you want to use in a constant variable and use them through this variable.",
  "HARD_CODED_CRYPTOGRAPHIC_KEY.description": "If hard-coded cryptographic key is used in the source code, encryption information can be leaked and encryped data can be descrypted by exposoed key.",
  "HARD_CODED_CRYPTOGRAPHIC_KEY_CSHARP.description": "The Hardcoded Encryption Key checker finds encryption keys hardcoded in source code.\nMake sure encryption keys never assume constant values. And, even if in ciphertext, they should not be hardcoded in source code.",
  "HARD_CODED_DOMAIN_IN_HTML.description": "The Inclusion of Script from External Site checker finds HTML elements that include a script from an external site.\nMake sure only JavaScript scripts under direct control of your site are included.",
  "HARD_CODED_PASSWORD.CONFIG.description": "The Password Hardcoded in Configuration File checker finds a configuration file in which a password is stored in plaintext.\nDo not store a password in the configuration file.",
  "HARD_CODED_USER_NAME_AND_PASSWORD.description": "The Hardcoded Username and Password checker finds instances of passing a string constant to a parameter that takes a username or password.\nThe checker verifies arguments passed to the username and password parameters of java.sql.DriverManager.getConnection() method.\nIt is recommended that passwords be stored in a separate source in ciphertext and decrypted only when read from there.",
  "HEAP_INSPECTION.description": "The Heap Memory Inspection checker finds instances of failure to completely clear heap memory before release.\nBe sure to completely clear heap memory before release.",
  "HUNGARIAN_NOTATION.description": "The Noncompliance with Hungarian Notation checker finds identifiers that are not named in compliance with Hungarian notation.\nYou can optionally designate a list of prefixes used for Hungarian notation.\nComply with Hungarian notation.",
  "IGNORED_RETURN_VALUE.description": "The Unused Return Value checker finds function return values that are never used after the functions are called.\nThe checker reports for a function return value that has not been used after the function call.\nFor the function calls producing those unused return values, perform exception handling or other appropriate post-processing actions.",
  "IMPLEMENT_ABSTRACT_DATA_TYPES.description": "The Non-abstract Data Type checker finds header files in which the members of an object such as a struct are fully visible.\nAs for structs, it is preferable to leave only their prototype declarations in header files and hide their detailed implementations in individual source files.",
  "IMPLICIT_ANY_TYPE.CONFIG.description": "Typescript provides `noImplicitAny` as a `Compiler Options`. noImplicitAny' will raise an error for any variable that is implicitly inferred to be `any'. If you don't infer types and use the `any` type, Typescript behaves like normal Javascript. \nEnable it in your Typescript configuration file, `tsconfig.json` or `jsconfig.json`, by declaring the `strict` property inside the `compilerOptions` section to be `true`, or by declaring the `noImplicitAny` property to be `true`.\n",
  "IMPLICIT_CASTING.ASSIGNMENT.description": "The Implicit Cast in Assignment checker finds instances in which an implicit cast is caused by type mismatch between the two sides of an assignment operation.\nThe checker searches for an integer argument passed to a real-number parameter, or a real-number argument passed to an integer parameter.\nUse an explicit cast.",
  "IMPLICIT_CASTING.RETURN.description": "The Implicit Cast in Return checker finds instances in which an implicit cast is caused by mismatch between a method's declared return type and the actual return value's type.\nThe checker reports a warning if a method is declared to return a real number but actually returns an integer, or if a method is declared to return an integer but actually returns a real number.\nUse an explicit cast.",
  "IMPLICIT_CONVERSION_FLOAT_PARAM.description": "The Implicit Cast of Float Argument to Larger Type checker finds expressions that implicitly cast a float value to a larger float type.\nA type cast must be explicit.",
  "IMPLICIT_CONVERSION_INT_PARAM.description": "The Implicit Cast of Integer Argument to Larger Type checker finds expressions that implicitly cast an integer value to a larger integer type.\nA type cast must be explicit.",
  "IMPLICIT_NARROW_FLOAT_CONVERSION.description": "The Implicit Cast of Float to Small Type checker finds expressions that implicitly cast the value of a complex float expression to a small float type.\nA type cast must be explicit.",
  "IMPLICIT_NARROW_INTEGER_CONVERSION.description": "The Implicit Cast of Integer to Small Type checker finds expressions that implicitly cast the value of a complex integer expression to a small integer type.\nA type cast must be explicit.",
  "IMPLICIT_UNSIGNED_CHAR_TO_CHAR_HANDLING_INT.description": "The Passing of Signed to Character Function checker finds instances in which a character-handling function is passed with a value other than of the unsigned char type.\nA value of a different type must be explicitly cast to unsigned char.",
  "INCLUDE_STATIC_SPECIFIER_ON_REDECLARATION.description": "The Internal-Linkage Function without Static Storage Class checker finds instances in which a function is declared with internal linkage but later defined without applying the static storage class specifier to its redeclaration.\nIf a function has internal linkage, then all redeclarations shall include the static storage class specifier.",
  "INCLUDE_STDLIB_WITH_BRACKETS.description": "The Inappropriate Inclusion of Header checker finds instances in which a standard library header is not included using <> or a non-standard library header is not included using \"\".\nInclude standard library headers using <> and other headers using \"\".",
  "INCOMPLETE_STRUCT_UNION.description": "The Struct or Union with Incomplete Type checker finds structs and unions that are of an incomplete type.\nAn incomplete type refers to a struct or union containing a field of an undefined type, thus left in an uncertain state.\nMake sure structs and unions are declared to have a complete type.",
  "INCOMPLETE_VALIDATE_METHOD_DEFINITION.description": "The Incomplete validate Method Definition checker finds a validate method that is not defined or incorrectly defined in a subclass of a specific class.\nIf the validate method is not defined when the following class is inherited, or if the super.validate method is not called within the defined validate method to run validation, this may lead to a vulnerability. There are four inherited classes: org.apache.struts.validator.ValidatorForm, org.apache.struts.validator.ValidatorActionForm, org.apache.struts.validator.DynaValidatorForm, org.apache.struts.validator.DynaValidatorActionForm.\nThe validate method must be defined in the class that inherits the following four classes, and the super.validate method must be called within the defined validate method. org.apache.struts.validator.ValidatorForm, org.apache.struts.validator.ValidatorActionForm, org.apache.struts.validator.DynaValidatorForm, org.apache.struts.validator.DynaValidatorActionForm.",
  "INCONSISTENT_GLOBAL_VARIABLE_TYPE.description": "The Missing extern for Reuse of Declared Global Variable checker finds instances of failure to use the extern keyword when an already declared global variable's name is reused.\nIf you need to reuse a variable that has been declared global in another file, use the extern keyword.",
  "INCORRECT_CONVERSION.NUMERIC_TYPES.description": "The Inappropriate Cast between Number Types checker finds expressions that cast between an integer and a real number without validating the cast.\nPrior to conducting a cast, check that the range of the destination type covers the whole range of the source type.",
  "INCORRECT_ORDER_OF_CONSTRUCTOR_INITIALIZERS.description": "The Incorrectly Sorted Initializer List checker finds initializer lists in which the initializers for the target fields are not sorted in the correct order.\nMake sure the initializers are listed in the order of declaration of the member fields.",
  "INCORRECT_PERMISSION.description": "The Improper Granting of Privileges checker finds instances of granting a read or edit privilege improperly.\nMake sure granting a privilege does not lead to exposal of system information.",
  "INCORRECT_PERMISSION_ASSIGNMENT_FOR_CRITICAL_RESOURCE.description": "The Incorrect Permission Assignment for Critical Resource checker finds instances of allowing users other than software administrators to read or write to security-critical resources such as configuration files, executables, and libraries.\nThe checker searches for an extra permission assigned for an optionally specified critical resource file.\nFor critical resources, grant access permissions only to necessary users.",
  "INCORRECT_PERMISSION_ASSIGNMENT_FOR_CRITICAL_RESOURCE_CSHARP.description": "The Incorrect Permission Assignment for Critical Resource checker finds instances of allowing users other than software administrators to read or write to security-critical resources such as configuration files, executables, and libraries.\nA misuse of a method such as DirectorySecurity.AddAccessRule() may result in non-administrators assigned with a read or white permission for a configuration file, executable, or library.\nFor critical resources, grant access permissions only to necessary users.",
  "INCORRECT_POINTER_SCALING.description": "The Inaccurate Pointer Operation checker finds instances of performing a pointer operation inaccurately.\nYou need to ensure pointer operations are performed accurately. Operations on pointers may unexpectedly result in them pointing to wrong addresses.\nMake sure pointer operations are performed correctly.",
  "INCORRECT_SERIAL_PERSISTENT_FIELDS_MODIFIER.description": "The Invalid Modifier for serialPersistentFields checker finds declarations of the serialPersistentFields field that are not private static final.\nMake sure this field is declared private static final.",
  "INCORRECT_USE_OF_PLACEMENT_NEW.description": "The Use of placement new Operator on Improper Object checker finds placement new operation that allocates memory to an object that has not been checked for sufficient space or is not properly aligned.\nWhen a new expression is called for a given type, the default global new operator will attempt to allocate sufficient storage, and if successful, return a pointer. However, the default placement new operator simply returns the given pointer back to the caller without guaranteeing that there is sufficient space in which to construct the object.\nMake sure to allocate sufficient space of the buffer when using the placement new operator. Also, use declaration specifiers such as alignas and ensure buffers to be properly aligned.",
  "INCREMENT_ON_BOOLEAN.description": "The Use of Increment Operator on Boolean checker finds instances of using the increment operator (++) on a boolean variable.\nDo not use the increment operator on a boolean variable. Assign it either true or false, or define and use a custom function like toggle(), set(), or clear().",
  "INDICATE_SIGNEDNESS_TYPEDEF.description": "The typedef Declaration of Numeric Type without Signedness checker finds code that declares a numeric type as typedef, but fails to specify signed or unsigned.\nThe checker scans for char, short, int, long, and long long types.\nPlease specify the singed or unsigned for typedef declaration of char, short, int, long, or long long type.",
  "INEFFECTIVE_BOOLEAN_LOGICAL_OP.description": "The Logical Operator on Non-boolean Operand checker finds expressions that use a logical operator on a non-boolean operand.\nLogical operators refer to those like !, &&, and ||.\nMake sure logical operators are used only on a boolean operand.",
  "INFINITE_RECURSIVE_CALL.description": "The Infinite Recursive Calls checker finds recursive functions that are not properly controlled and thus can be called infinitely.\nPut recursive call statements under proper control statements. If you are not confident of setting recursive termination conditions properly, consider replacing the recursive code with an identically functioning loop.",
  "INLINE_FUNCTION_SHALL_BE_STATIC.description": "The Inline Function Declaration without Static checker finds inline functions that are not declared static.\nMake sure all inline functions are declared static.",
  "INPUT_FUNCTION_ERROR_HANDLING.description": "The Missing Error Handler for Input Function checker finds instances of failure to handle errors when converting character data using an input function.\nInput functions refer to those like scanf().\nWhen using an input function to convert character data, be sure to handle all possible inputs. Such error handling needs to include a check on the errno in particular.",
  "INSERT_DERIVED_INTO_CONTAINER_HOLDING_BASE.description": "The Insertion of Derived Class Object into Container checker finds expressions that store a derived class object in a container holding objects of the base class.\nA container is a C++ standard library object that stores a collection of various data types. Vectors are one example.\nMake sure that a derived class object is not stored in a container that holds objects of the base class. If this implementation is needed, store the derived class object by pointer, not by value.",
  "INSTANTIATE_TEMPLATES.description": "The Uninstantiated Template checker finds a template element that is never instantiated.\nThe template element includes a class template, function template, class template method, and class template static field.\nInstantiate the uninstantiated template element. And remove the template element that will not get instantiated.",
  "INSUFFICIENT_INIT_ARRAY.description": "The Lack of Brace Initialization of Struct/Array checker finds struct/array definitions in which the struct/array object is assigned an initial set of elements that are smaller in number than the struct/array size.\nWhen initializing a struct or array, be sure the assigned initial value set has the same number of elements as the size of the initialized object.",
  "INSUFFICIENT_PUBLIC_EXPONENT.description": "The Unoptimized Public Key Exponent checker finds RSA (Rivest Shamir Adleman) public key exponents that are not 65,537.\nWhen using RSA asymmetric encryption, set the public key exponent to 65,537.",
  "INSUFFICIENT_SESSION_EXPIRATION.description": "The Excessive Session Duration checker finds instances of passing an argument of -1 to the HttpSession.setMaxInactiveInterval() method.\nWhen setting a session timeout, use an appropriate positive number to ensure the session expires after a certain period.",
  "INSUFFICIENT_SESSION_ID.CONFIG.description": "The Insufficient Session ID Length checker finds instances of setting the session ID length too short.\nSet the session ID length long enough. The rule recommends at least 16 letters.",
  "INTEGER_OVERFLOW.description": "The Integer Overflow checker finds instances in which the result of an arithmetic operation exceeds the size of the given integer type.\nThe checker searches for addition, subtraction, and multiplication operations that meet the following conditions: 1. A dangerous external input is used as an operand. 2. The result of the evaluation is smaller than the lower limit of the data type or larger than the upper limit.\nYou must consider the ranges of integer types specific to each language or platform. When an integer-type variable is used in an operation, use a module that checks the possible range of the result value. If an external input is used for dynamic memory allocation, the variable must be checked for being within the valid range.",
  "INTEGER_OVERFLOW_CSHARP.description": "The Integer Overflow checker finds instances in which the result of an arithmetic operation exceeds the size of the given integer type.\nYou must consider the ranges of integer types specific to each language or platform. When an integer-type variable is used in an operation, use a module that checks the possible range of the result value. If an external input is used for dynamic memory allocation, the variable must be checked for being within the valid range.",
  "INTEGER_PRECISION.description": "The Use of Incorrect Integer Precision checker finds instances of using an incorrect integer precision.\nUse correct integer precisions.",
  "INTEGER_UNDERFLOW.description": "The Integer Underflow checker finds instances in which the result of an arithmetic operation such as addition, subtraction, or multiplication is lower than the range of the given data type.\nBy comparing against the result of the integer operation, make sure that a value lower than the type range is not assumed.",
  "INTERNAL_USE_ONLY": "Internal use only",
  "INT_TO_CHAR.description": "The Conversion from Int to Char checker finds instances of converting an int type to a char type.\nConversion from int to char discards values out of the range of the char type.\nDo not convert int types to char types; such conversion may cut off unstorable bits.",
  "INVALID.CVSS_FORMAT": "CVSS score needs to be between 0.0 and 10.0 with one decimal place.",
  "INVALID_DATA_TO_ASCTIME.description": "The Invalid Input to asctime() checker finds calls to the asctime() function that take an invalid or unvalidated value.\nInstead of asctime(), which can cause an overflow when receiving an invalid argument, use the more secure function of strftime().",
  "INVALID_ITERATOR.description": "Iterators are often invalidated after they are used in methods of a specific container. Accessing this invalidated iterator can result in runtime errors.\n\nAvoid using invalidated iterators.",
  "INVALID_SERVLET.CONFIG.description": "The Invalid Servlet Setting checker finds servlets with invalid settings.\nServlets with invalid settings refer to unnamed, duplicate, or otherwise inappropriately configured servlets.\nFix the faulty settings.",
  "INVOCATION_OF_EQUALS_ON_ARRAY.description": "The Use of equals between Arrays checker finds calls to the base equals() method intended for comparison between two array objects.\nIf you need to check if two arrays have identical elements, write a code that compare the elements between the arrays or use the Arrays class's equals() method.",
  "INVOKE_VIRTUAL_FUNCTION_FROM_CTOR_OR_DTOR.description": "The Virtual Function Call in Constructor or Destructor checker finds constructors and destructors that call a virtual function.\nMake sure that a constructor or destructor does not call a virtual function.",
  "IOWithoutPositioning.description": "Read and write operations without a call to a positioning function (fseek, fsetpos or rewind) or fflush in between result in undefined behaviour.",
  "ISSUE": "Issue",
  "ISSUE.AFFECTEDVERSION.EQUAL": "{0}",
  "ISSUE.AFFECTEDVERSION.GT.OR.EQUAL": "{0} or later",
  "ISSUE.AFFECTEDVERSION.GT.OR.EQUAL.AND.LT.OR.EQUAL": "between {0} and {1}",
  "ISSUE.AFFECTEDVERSION.LT.OR.EQUAL": "{0} or earlier",
  "ISSUE.REMEDIATION.NONE": "No remedy action searched.",
  "ISSUE.REMEDIATION.UPDATE": "Update the version of component {0} to {1}.",
  "ISSUE.REMEDIATION.UPDATE.VERSION.EQUAL": "Update the version to {0}.",
  "ISSUE.REMEDIATION.UPDATE.VERSION.GT.OR.EQUAL": "Update the version to {0} or later.",
  "ISSUE.REMEDIATION.UPDATE.VERSION.GT.OR.EQUAL.AND.LT.OR.EQUAL": "Update the version from {0} to {1}.",
  "ISSUE.REMEDIATION.UPDATE.VERSION.LT.OR.EQUAL": "Update the version to {0} or earlier.",
  "ISSUE.REMEDIATION.WARNING.EOL": "This component is no longer officially supported. Please use it with caution.",
  "ISSUE.REMEDIATION.WARNING.TOO_OLD": "This component has not been updated for more than two years. Use with caution.",
  "ITERATOR.description": "When calling method next() or previous() in Iterators or ListIterator, exception NoSuchElementExcept occurs. In such case, programs can terminate abnormally so it is warned. Such cases occur in following circumstances:\nNot calling methods hasNext() or previous() before using methods next() or remove().\nNot calling methods hasPrevious(), add() or next() before calling method previous().",
  "IdempotentOperations.description": "This checks for idempotent operations (e.g. x=x) as they have no effect.",
  "IdenticalConditionAfterEarlyExit.description": "Identical condition 'x', second condition is always false",
  "IfStmtsMustUseBraces.description": "Avoid using if statements without using braces to surround the code block.",
  "IframeMissingSrcAttribute.description": "IFrame must have src attribute. If Internet Explorer is used and the page was navigated through SSL, IFrame without src attribute may create a security warning popup.",
  "IgnoredReturnValue.description": "Return value of function is not used.",
  "ImmutableField.description": "This checks for a private field with its value unchanged since its initialization.",
  "ImportFromSamePackage.description": "This checks for import statements from the same package after defining with the package directive.",
  "IncorrectLogicOperator.description": "Logical disjunction always returns true: foo > 3 || foo < 4. The conditions are not necessary. Check if it is intended to use && instead.",
  "Incrementboolean.description": "The operand of a postfix increment operator may be of type bool but it is deprecated by C++ Standard (Annex D-1) and the operand is always set to true. You should assign it the value 'true' instead.",
  "InefficientEmptyStringCheck.description": "This checks if String.trim().length() is used to check for blank string. Instead, it is recommended to go through every character and use Character.isWhitespace() for each character.",
  "InitializerList.description": "Member variable 'class::variable' is in the wrong place in the initializer list. Members are initialized in the order they are declared, not in the order they are in the initializer list.  Keeping the initializer list in the same order that the members were declared prevents order dependent initialization errors.",
  "InnaccurateNumericLiteral.description": "If a number past a certain range is assigned to a variable, the variable can be unintentionally changed and act differently.",
  "InsecureCmdLineArgs.description": "Buffer overrun possible for long command line arguments.",
  "InstantiationToGetClass.description": "Avoid instantiating an object just to call getClass() on it; use the .class public member instead.",
  "IntegerInstantiation.description": "This checks for allocation of 'new Integer' or 'new java.lang.Integer'",
  "InvalidFunctionArg.description": "Invalid func_name() argument nr 1. The value is 0 or 1 (boolean) but the valid values are '1:4'.",
  "InvalidFunctionArgBool.description": "Invalid func_name() argument nr 1. A non-boolean value is required.",
  "InvalidTestForOverflow.description": "Overflow is undefined behaviour. Invalid test using overflow 'x + u < x'.",
  "JUMP_OVER_SCOPE.description": "The Jump between Blocks checker finds goto statements that jump from one block of code into a different block.\nUse a goto only within the same block or for purposes of escaping the current block.",
  "JspEncoding.description": "This checks for a missing 'meta' tag or page directive and missing encoding information.",
  "JumbledIncrementer.description": "Loop incremeters should not be jumbled. This is usually done by a mistake and can lead to unintentional results and problems.",
  "KEYWORD_AS_IDENTIFIER.ABAP.description": "Keywords should not be used as variable names. Although the use of an ABAP word for identifiers is not forbidden, it should be avoided if possible.",
  "KOSCOM.NAMING_CONVENTION.FUNCTION.description": "The function name violates code convention.",
  "KnownConditionTrueFalse.description": "The result of the conditional statement is fixed.",
  "LANGUAGE_EXTENSION_SHOULD_NOT_BE_USED.description": "The Use of Compiler-specific Code Extension checker finds instances of using a code extension compatible only with specific environments or compilers.\nComply with the language's common standards as much as possible to make sure your source code is highly compilable.",
  "LEAST_PRIVILEGE_VIOLATION.W32.description": "The Violation of Minimum Access Rule in Windows Function Call checker finds instances of failure to properly take care of access privileges in a call to a Windows function, such as CreateProcess*(), RegCreateKey*(), SHRegCreate*(), or SHRegOpen*().\nTake care when using Windows functions such as CreateProcess*(), RegCreateKey*(), SHRegCreate*(), and SHRegOpen*(). Windows functions whose name starts with \"CreateProcess\" can possibly execute a wrong binary if the execution path is not enclosed by quotation marks. Windows functions whose name starts with \"RegCreateKey\" must use HKEY_CURRENT_USER instead of HKEY_LOCAL_MACHINE. Windows functions whose name starts with \"SHRegCreate\" must use SHREGSET_HKCU instead of SHREGSET_HKLM.\nWhen using Windows functions, comply with the precautions specific to each function.",
  "LEAST_PRIVILEGE_VIOLATION.description": "The Failure to De-elevate Permission after Action checker finds instances in which the permission is elevated to perform a particular action but is not de-elevated afterword.\nYou can optionally specify functions subject to analysis and sequences of functions.\nPermissions elevated for a particular action must be de-elevated on the completion of the action.",
  "LEFTOVER_DEBUG_CODE.description": "The Leftover Debug Code finds debug code that remains not removed.\nRemove all debug code before deploying the application.",
  "LIBRARY": "Library-level source code",
  "LIMIT_OPERATOR_PRECEDENCE.description": "The Reliance on Operator Precedence in Compound Expression without Parentheses checker finds compound expressions that do not use parentheses but rely solely on the predefined operator precedence rules.\nWhen constructing a compound expression with operators of different precedence, use parentheses to explicitly set their precedence.",
  "LOAD_LIBRARY_USING_ABSOLUTE_PATH.description": "When loading libraries in your program, it is recommended to use absolute paths. Because relative paths allow an attacker to change the location of the library and execute malicious code.",
  "LOG": "Log",
  "LOGGER_ERROR_IN_CATCH.description": "When handling an exception, use the logger.error method.",
  "LOGICAL_OP_SHALL_BE_PRIMARY_EXPR.description": "The Use of Invalid Operand in Logical Operation checker finds logical operations in which an operand expression is other than a variable, constant, or a parenthesized expression.\nAs an operand of a logical operator, only a variable, constant, or parenthesized expression must be used.",
  "LOG_SENSITIVE_INFORMATION.description": "The Log Sensitive Information checker finds code that records sensitive information such as personally identifiable information in the log.\nLogging sensitive data poses concerns, including privacy security, restrictions by the law on collection of personal information, and the potential for data exposure by insiders.\nIf you record personally identifiable information such as an IP address, username and password, email address, credit card number, and social security number in the log, delete that line.",
  "LawOfDemeter.description": "The use of methods from instances that will result in coupling are forbidden. If another instance is not created and method from a related instance is used, coupling will occur.",
  "LocalHomeNamingConvention.description": "Session EJB's Local Home interface must end with LocalHome.",
  "LocalInterfaceSessionNamingConvention.description": "Session EJB's Local interface must end with Local.",
  "LocalVariableCouldBeFinal.description": "This checks for a variable that has only been assigned a value once yet is not final.",
  "LoggerIsNotStaticFinal.description": "This checks for a Logger that is not final static.",
  "LogicInversion.description": "This checks for using negating the whole expression with a logic complement operator instead of opposite operator.",
  "LongInstantiation.description": "This checks for allocation of 'new Long' or 'new java.lang.Long'",
  "LongVariable.description": "This checks if the variable length is longer than $minimum.",
  "LooseCoupling.description": "This checks for using implementation type (e.g. HashSet) instead of interface (e.g. Set).",
  "MACRO_IF_EXPRESSION_SHALL_EVAL_TO_BOOLEAN.description": "The Invalid Return from Preprocessor Conditional Expression checker finds instances in which an #if or #elif preprocessor directive's expression evaluates to neither a 0 nor 1.\nMake sure the conditional expression in a preprocessor directive always evaluates to either a 0 or 1.",
  "MAIN_IN_GLOBAL_NAMESPACE.description": "The Non-main Function Uses Name of main() checker finds instances in which a function is named main() but is not actually the main function that is called when the program starts running.\nIt is possible to define a function named main() in a non-global namespace.\nMake sure a function named main() is defined only in the global namespace. This function is the main function being the start point of the program.",
  "MAKE_BINARY_OPERATORS_NONMEMBERS.description": "The Arithmetic Operator Overloaded as Class Member checker finds method definitions that overload an arithmetic operator as a class member.\nC++ supports overloading arithmetic operators. They can be overloaded either as class methods or as regular functions.\nIf an arithmetic operator needs to be used on a class object, it must be overloaded as a non-member binary operator function that allows implicit conversion of the left operand. Then, if an integer or real number is passed as an operand, it will be implicitly cast to the relevant class type so that it can be freely used, whether it be the left or right operand.",
  "MAKE_MEMBER_DATA_PRIVATE.description": "Make member data private. Being able to modify the member data directly violates the encapsulation in object oriented programming.",
  "MAKE_PREDICATES_PURE_FUNCTIONS.description": "The Predicate Not Dependent on Parameters checker finds declarations of predicates whose return is not dependent on their parameters.\nA predicate is a special type of class passed as a predicate function object to an STL algorithm. It is typically a class that provides an overloaded ( ) operator method.\nMake sure that a predicate's result depends only on its parameters.",
  "MALICIOUS.CODE.PATTERN.description": "Detects malicious code patterns entered by an attacker manually.",
  "MALICIOUS.URL.description": "Detects malicious URL codes that violate rules.",
  "MAX_LINE_LENGTH.description": "The Too Long Line checker finds code lines that exceed the specified length.\nWrap the overlong lines at appropriate places for a better display of code on the screen.",
  "MAY_OVERFLOW_WRAP.RUST.description": "Specialized functions or types should be used when arithmetic operations have the potential to overflow. Overflows during arithmetic operations often lead to unexpected results that can lead to security vulnerabilities. Therefore, you should handle arithmetic operations that have the potential to overflow appropriately.",
  "MDBAndSessionBeanNamingConvention.description": "The EJB Specification states that any MessageDrivenBean or SessionBean should be suffixed by 'Bean'.",
  "MEMBER_FUNCTION_SHOULD_NOT_RETURN_NON_CONST_HANDLER.description": "The Non-const Handle Returned to Class Data checker finds instances in which a member function returns a non-const handle to class data.\nDo not define a member function to return a non-const handle to class data.",
  "MEMCPY_WITH_OVERLAPPING_REGIONS.description": "The Arguments with Overlapping Memory Area checker finds instances in which a function receives arguments pointing to an overlapping memory area.\nThe memccpy(), memcpy(), strcpy(), and strncpy() functions may receive arguments with an overlapping memory area.\nWhen using a C standard library function that copies memory from a source object referenced by a restrict-qualified pointer to a destination object referenced by a restrict-qualified pointer, the passed arguments must not share a memory area.",
  "MESSAGE": "Message",
  "METHOD_COMMENT.description": "The Method Comment Format finds method comments that violate their format.\nYou can optionally specify possible comment format.\nWrite method comments in accordance with the specified format.",
  "METHOD_IGNORES_RETURN_VALUE.description": "The Unused Return of String Method checker finds unused returns called by specific string manipulation methods.\nThe checker searches calls to the following String class methods: trim(), toLowerCase(), substring(), toString(), and toUpperCase().\nCheck if the method calls are used as intended. Such calls may be meaninglessly left over by mistake from editing, or remain incomplete despite further actions being planned with their returns, or placed without the knowledge that the methods do not change the original string object but create a new object.",
  "METHOD_NAME_IS_NOT_INTENDED.description": "The Suspicious Method Name checker finds user-defined methods that are considered misnamed.\nFor example, a method named equal(), tostring(), or hashcode() is highly likely to be misnamed by mistake and intended to override the equals(), toString(), or hashCode() method, respectively.\nIf the detected methods are misnamed by mistake, rename them after the methods inherited from the Object class. To prevent misnaming, you can put the @Override annotation before the method declaration so that a compile time error may be thrown in case the method is misnamed. Even if a detected method is named correctly as you intended, you'd better rename it more distinctly to avoid causing confusion to other developers.",
  "MINIMAL_SCOPE.description": "The Minimum Scope of Variable checker finds variables that are used in a particular file (or function) but not declared static for the file (or function).\nSpecifically, it finds the following cases: A global variable declared in a file is used by only one function.A global variable declared by extern is used only in a single file.\nChange the detected global variables to local variables so that they can be used within their proper scope.",
  "MINIMISE_MIXING_OF_ITERATOR.description": "The Mixed Use of Different Iterator Types checker finds statements that use different iterator types together.\nIterators are special objects used to traverse each element of a C++ container. Iterator types include iterator, const_iterator, reverse_iterator, and const_reverse_iterator.\nUsually, using the regular iterator type only is recommended.",
  "MINIMISE_USE_AUTOPTR.description": "The Misuse of auto_ptr checker finds instances of declaring a variable incorrectly with auto_ptr.\nauto_ptr is a standard C++ smart pointer. The checker reports the following cases: auto_ptr is used for an array type. auto_ptr is used with a non-dynamic variable. An auto_ptr pointer is passed by value. One auto_ptr object is assigned to another auto_ptr object of the same type.\nIf using auto_ptr is necessary, take particular care. If the compiler supports C++11 or higher, it is preferable not to use auto_ptr.",
  "MINIMIZE_VARIABLE_LIVE_RANGE.description": "The Too Wide Live Range of Variable checker finds instances in which a local variable is declared much earlier than its actual use and thus stays live in a broad range.\nDeclare local variables right before their use to reduce their live ranges as much as possible.",
  "MIPLATFORM_FORM_DATASET_ID_PREFIX.KEUMKAMWON.description": "The Financial Supervisory Service's MIPLATFORM Form Dataset ID prefix must starts with \"ds_\"",
  "MIPLATFORM_GLOBAL_DATASET_ID_PREFIX.KEUMKAMWON.description": "The Financial Supervisory Service's MIPLATFORM Global Dataset ID prefix must starts with \"USD_\"",
  "MIPLATFORM_GLOBAL_VAR_ID_PREFIX.KEUMKAMWON.description": "The Financial Supervisory Service's MIPLATFORM Global variable ID prefix must starts with \"U_\"",
  "MISMATCH.COLUMN_VALUE.INSERT.SQL.description": "The Mismatch in Number of Column Inputs finds INSERT statements in which the number of columns does not match the number of input values.\nMatch the number of columns and their input values. If a blank value is intended, pass a null instead.",
  "MISMATCH.MALLOC_TO_DELETE.description": "The Use of delete to Free Memory Allocated by Dynamic Memory Allocation Function checker finds attempts of using delete to free a memory area allocated by a dynamic memory allocation function such as malloc().\nMemory allocated by a dynamic memory allocation function must be freed by the free() function.",
  "MISMATCH.MALLOC_TO_DELETE_ARRAY.description": "The Use of delete[] to Free Memory Allocated by Dynamic Memory Allocation Function checker finds attempts of using delete[] to free a memory area allocated by a dynamic memory allocation function such as malloc.\nMemory allocated by a dynamic memory allocation function must be freed by the free() function.",
  "MISMATCH.NEW_ARRAY_TO_DELETE.description": "The Use of delete to Free Memory Allocated by new[] checker finds attempts of using delete to free a memory area allocated by new[].\nMemory allocated by new[] must be freed by the delete[] function.",
  "MISMATCH.NEW_ARRAY_TO_FREE.description": "Use of free to Free Memory Allocated by new[] checker finds attempts of using free() to free a memory area allocated by new[].\nMemory allocated by new[] must be freed by the delete[] function.",
  "MISMATCH.NEW_TO_DELETE_ARRAY.description": "Use of delete[] to Free Memory Allocated by new checker finds attempts of using delete[] to free a memory area allocated by new.\nMemory allocated by new must be freed by the delete.",
  "MISMATCH.NEW_TO_FREE.description": "Use of free to Free Memory Allocated by new checker finds attempts of using free() to free a memory area allocated by new.\nMemory allocated by new must be freed by the delete.",
  "MISMATCH.RESOURCE.description": "The Mismatch between Resource Allocation and Deallocation Functions checker finds instances in which a resource is allocated and deallocated with mutually mismatching functions.\nResources subject to checking include files, handles, and sockets.\nBe sure to use correct allocation and deallocation functions suitable for each resource type, as indicated below: Allocate file resources with fopen() and deallocate them with fclose(). Allocate handle resources with CreateFile() and deallocate them with CloseHandle(). Allocate socket resources with open() and deallocate them with close().",
  "MISMATCH.WINAPI.description": "Windows provides several APIs for allocating memory.  While some of these functions have converged over time, it is still important to always properly pair allocations and deallocations.The following shows the proper pairings: <malloc()\tfree()>, <realloc() free()>, <LocalAlloc()\tLocalFree()>, <LocalReAlloc()  LocalFree()>, <GlobalAlloc()\tGlobalFree()>, <GlobalReAlloc()\tGlobalFree()>, <VirtualAlloc()\tVirtualFree()>, <VirtualAllocEx()\tVirtualFreeEx()>, <VirtualAllocExNuma()\tVirtualFreeEx()>, <AllocateUserPhysicalPages()\tFreeUserPhysicalPages()>, <AllocateUserPhysicalPagesNuma()\tFreeUserPhysicalPages()>, <HeapAlloc()\tHeapFree()>, <HeapReAlloc()\tHeapFree()>",
  "MISMATCH_RETURN_TYPE.description": "The Type Mismatch between Declared and Actual Return Types checker finds functions that return an expression of another type than their declared type.\nCast the returned type to the declared type, or adjust it to match the declared type.",
  "MISMATCH_STORAGE_CLASS.description": "The Conflicting Storage Classes checker finds instances in which the same function or object has both external and static linkage.\nMake sure one single function or object has one single storage class.",
  "MISSING.ALIAS.TABLE.SQL.description": "Detects when alias is omitted from the table name.",
  "MISSING.ASC_DESC.ORDER_BY.SQL.description": "This checks if ASC/DESC is specified in the ORDER BY clause. It is recommended to specify ASC and DESC.",
  "MISSING.COLUMN.INSERT.SQL.description": "This checks if the columns of the table is specified in INSERT query statement. It is recommended to specify all the columns.",
  "MISSING.COMMENT.BINDING_VARIABLE.SQL.description": "Comment about binding variables does not exist.",
  "MISSING.COMMENT.COLUMN_IN_SELECT.SQL.description": "The Missing Comment on Referenced Column checker finds SELECT statements in which the referenced columns are not attached with a comment.\nMake sure that the columns referenced in SELECT statements have a comment describing the column.",
  "MISSING.DESIGNATED_INIT.description": "The Missing Item in Designator List checker finds designator lists in which some items are not given initializers.\nMake sure designator lists initialize all elements of their object.",
  "MISSING.FUNCTION_DECLARATION.description": "The Call to Non-declared Function finds instances of calling a function whose name is never declared in any of the complied sources.\nCheck for failure to declare the called functions, or for typos in their names.",
  "MISSING.INDEX_HINT.SQL.description": "This checks if INDEX HINT was included in SELECT, INSERT or DELETE query statement. It is recommended to include INDEX HINT.",
  "MISSING.ORDER_BY.SELECT.ABAP.description": "The Missing ORDER BY in SELECT Statement checker finds SELECT statements that do not contain an ORDER BY clause.\nUse SELECT statements together with an ORDER BY clause.",
  "MISSING.SORT_KEY.ABAP.description": "The Missing SORT Key checker finds SORT statements with no key fields specified.\nSpecify key fields for sorting.",
  "MISSING.TABLE_ALIAS.JOIN.SQL.description": "This checks if ALIAS for the table is not specified in the FROM clause when the tables are joined. It is recommended to specify the table ALIAS.",
  "MISSING.WHERE.DELETE.ABAP.description": "The Missing WHERE in DELETE Statement checker finds DELETE statements that do not contain a WHERE clause.\nMake sure all DELETE statements contain a WHERE clause.",
  "MISSING.WHERE.DELETE_UPDATE.SQL.description": "The Missing WHERE in DELETE or UPDATE Statement checker finds DELETE or UPDATE statements that do not contain a WHERE clause.\nIt is recommended to add a WHERE clause so that the statement may delete or update only those records that meet the given criteria.",
  "MISSING.WHERE.SELECT.ABAP.description": "The Missing WHERE in SELECT Statement checker finds SELECT statements that do not contain a WHERE clause.\nUse SELECT statements together with a WHERE clause.",
  "MISSING.WHERE.SELECT.SQL.description": "The Missing WHERE in SELECT Statement checker finds SELECT statements that do not contain a WHERE clause.\nIt is recommended to add the WHERE clause to look up columns in certain conditions.",
  "MISSING.WHERE.UPDATE.ABAP.description": "The Missing WHERE in UPDATE Statement checker finds UPDATE statements that do not contain a WHERE clause.\nAdd a WHERE clause not to update all records.",
  "MISSING_AUTHENTICATION_CONTROL.description": "The Omission of Authentication checker finds instances of failure to implement a control routine using authentication.\nYou can optionally specify the name of the authentication routine that should be called and the names of functions that must call the routine.\nMake sure an appropriate authentication routine is called at each necessary position.",
  "MISSING_AUTHENTICATION_FOR_CRITICAL_FUNCTION.description": "The Missing Authentication for Critical Function checker finds instances of failure to perform authentication for critical functionality.\nYou can optionally specify critical functions subject to checking and how to control authentication.\nRequire authentication for critical functionality.",
  "MISSING_BLANK_LINE.IMPORT.description": "The Violation of Line-wrapping Rule between import Statements checker finds instances of failure to insert a blank line between two import statements of different types.\nImport statements of similar types should be grouped without a blank line, and those of different types should be separated by a blank line.",
  "MISSING_BLANK_LINE.SECTION.description": "The Violation of Section-separating Blank Line in Method checker finds methods in which two different sections are not separated by a blank line.\nTo ensure code readability, adjacent sections in a method need to be separated by a blank line.",
  "MISSING_BLANK_LINE.description": "The Missing Blank Line checker finds instances in which a blank line is missing where it is supposed to be present.\nThe checker reports for failure to put blank lines required for each code unit. Blank-line specifications specific to different code units are as follows: 1. Subsequent to class or interface declaration: 2 blank lines 2. Subsequent to package or import declaration: 1 blank line 3. Between methods: 1 blank line 4. Subsequent to variable declaration within method: 1 blank line\nAdd blank lines as per the rules.",
  "MISSING_BLANK_LINE_BEFORE_COMMENT.description": "The Comment without Preceding Blank Line checker finds instances in which source code and its subsequent comment are not separated by a blank line.\nAdd a blank line between source code and its subsequent comment.",
  "MISSING_BLOCK_IN_CONTROL_STATEMENT.description": "The Compound Statement without Braces checker finds compound statements that do not contain curly braces.\nYou can optionally specify types of compound statements that must use braces.\nWhen writing a statement of a specified type, be sure to use braces even if it is a single-line statement.",
  "MISSING_BRACE_IN_IF_STATEMENT.description": "The Unbraced if Statement checker finds instances in which branch blocks of an if statement are not enclosed in braces.\nEven if a branch spans a single line of code, enclose it in braces for consistency.",
  "MISSING_BREAK_IN_CASE.MISRA2008.description": "The Missing break in case Statement (Misra2008) checker finds case statements that do not end with a break statement.\nIt is acceptable to use a return, continue, or goto statement instead of break. You need to use a break in the default.\nThe case statement include one of break, return, continue, or goto statement. You need to use a break in the default.",
  "MISSING_BREAK_IN_CASE.description": "The Missing break in case Statement checker finds case statements that do not end with a break statement.\nInstead of a break, you can use a return, continue, or goto.\nMake sure each case statement contains a break, goto, continue, or return.",
  "MISSING_BREAK_OR_THROW_IN_CASE.description": "The Missing Termination of Case checker finds switch statements in which a non-empty case clause is not terminated with a throw or break statement.\nIn a switch statement, the last case and default blocks must be terminated with a break or throw.",
  "MISSING_CHECK_OF_INPUT.description": "The Unvalidated Input checker finds instances in which a variable that takes an external input is not validated in a conditional such as an if statement.\nYou can optionally specify input variable names subject to checking.\nBe sure that external inputs are validated and filtered before put into use.",
  "MISSING_CLASS_IN_SOURCE_FILE.description": "The File without Public Class or Interface Declaration checker finds source files in which a properly named public class or interface does not exist.\nAny non-public class or interface must be within a public class or interface. And the outermost public class's name must match the file name.",
  "MISSING_COMPOUND_STATEMENT.description": "The Compound Statement without Braces checker finds compound statements that do not contain curly braces.\nEven if a compound statement spans a single line of code, enclose it in braces for consistency.",
  "MISSING_CUSTOM_ERROR_PAGE.WEB.CONFIG.description": "The Use of Default Error Page checker finds instances of letting the default error page show up when an error occurs.\nThus, use a customized error page instead of a default error page. For example, set customized error page mode to RemoteOnly, or specify own error page.",
  "MISSING_DEBUG_CHECK.description": "The Missing Debug Mode Check checker finds instances of failure to check for debug mode before a call to a debugging function.\nYou can optionally specify a list of debugging functions and a list of debug-mode checking functions.\nA call to a debugging function must be preceded by a call to a function that checks for debug mode.",
  "MISSING_DEFAULT_IN_SWITCH.description": "The Unused Default in Switch checker finds code that fails to use a default in switch statements.\nYou cannot prepare for unexpected actions without the default in the switch statements. \nPlease use the Default in the switch statements.",
  "MISSING_EXPLICIT_TYPE.description": "The return type has to be explicitly specified on function declaration.",
  "MISSING_FILTER_DEFINITION.CONFIG.description": "The Use of Non-existent Filter checker finds filter mappings that reference a non-existent filter.\nUse existing filters only for filter mappings.",
  "MISSING_FINALLY_IN_TRY_CATCH.description": "The Missing finally Block checker finds try statements that do not include a finally block.\nMake sure every try statement includes a finally block.",
  "MISSING_FUNCTION_DEFINITION_PARAMETER.description": "Do not omit the type of argument in the function definition.",
  "MISSING_FUNCTION_RETURN_TYPE.description": "The Missing Definition of Function Return Type checker finds functions with an undefined return type.\nMake sure the return type is defined in each function definition.",
  "MISSING_INPUT_VALIDATION.description": "Input validation needed.",
  "MISSING_INTEGRITY_CHECK.description": "The Code Download without Integrity Check checker finds instances of downloading an executable code without checking its origin or integrity.\nTake measures such as using a public-key algorithm to check code files for manipulation.",
  "MISSING_LOGIN_CONTROL.description": "The Omission of Login Attempt Limit checker finds instances of failure to implement a logic to limit the number of login attempts.\nYou can optionally specify the name of a login routine. The checker checks for a logic that ensure: Login attempts are controlled in a loop prior to a call to a login routine. If the condition expression always evaluates to true, the checker determines that login attempts are not properly controlled. The conditional expression in the loop uses a comparison operator.\nA logic that limits login attempt count must be implemented.",
  "MISSING_MESSAGE_ID_WHEN_GENERATING_MAC.description": "The Missing Message ID when Generating MAC checker finds code that does not includes message IDs for message authentication code (MAC) so that an attacker can reuse authentication.\nThe MAC tag is generated using a unique value and secret key of the message in order to guarantee authentication and integrity of the message. If an attacker intercepts and transmits the message and MAC value, it can bypass authentication as a normal request. In order to prevent the reuse attack with the authentication, a unique value must be included to generate a different MAC from the identical message.\nMake sure to include a timestamp or a random value in the default text while generating the MAC. This can guarantee to generate a different MAC from the same message.",
  "MISSING_NORMALIZATION_BEFORE_VALIDATION.description": "The Missing Normalization before Validation checker finds file names that are not normalized before they are validated for paths.\nPlease normalize the filenames before validating them for paths.",
  "MISSING_PACKAGE_DECLARATION.description": "The Missing Package Declaration checker finds a source file that does not include a package declaration at the top.\nMake sure every source file explicitly declares the package it belongs to.",
  "MISSING_PARENTHESIS_IN_EXPRESSION.description": "The Complicated Expression without Parentheses checker finds expressions that are sized large enough but lack parentheses for prioritizing the constituent operations.\nWhen using a complicated expression, use parentheses to clarify the precedence of its constituent operations.",
  "MISSING_REQUIRE_CRYPTO_STEP.description": "The Missing Call to Functions Necessary for Encryption checker finds instances of failure to call functions necessary for encryption.\nThis rule requires calls to the following functions in the defined sequence:  CryptAcquireContext(); CryptCreatehash(); CryptHasData();\nMake sure all necessary encryption functions are called.",
  "MISSING_RETURN.description": "The Missing Return Statement checker finds non-void functions that do not include a return statement.\nAll non-void functions must include a return statement.",
  "MISSING_SYNCHRONIZED_FOR_OVERRIDING.description": "Detect if synchronized modifier is not used when overriding synchronized method.",
  "MISSING_VALIDATION_OF_ARRAY_INDEX.description": "The Missing Validation of Array Indexing Parameter checker finds instances in which a parameter represents an array index but its value is not validated.\nArray index values assumed by a parameter must be validated before used.",
  "MISSING_WRAPPER_ON_VARIABLE.description": "The Missing Specific Function as Argument in Function Call checker finds calls to optionally specified functions that do not pass a function of a specific data type to the designated argument position.\nYou can optionally specify files excluded from analysis, functions subject to analysis, functions excluded from analysis, callee functions, function-type argument positions, and function names.\nWhen calling an optionally specified function, make sure calls to a designated function is passed to the specified argument position.",
  "MISSING_XML_VALIDATION_CSHARP.description": "The Missing XML Validation checker finds instances of creating an XML document from an external input without validating it.\nValidate XML documents created from external inputs before using them.",
  "MISUSE_OF_TRY_CATCH.description": "The Throwing of Non-allowed Exception checker finds throw statements in conditional statements.\nEnsure not to use the throw statements in conditional statements.",
  "MODIFICATION_CONTROL_VAR_IN_LOOP.description": "The Modification to Loop Counter inside for Loop Body checker finds expressions that make a modification to the loop counter inside the body of a for loop instead of the increment section.\nMake sure for loops do not include counter increment inside the body block. The loop counter must change only in the increment section.",
  "MODULE": "Module-level source code",
  "MULTIPLE_ALLOC_IN_SINGLE_STMT.description": "Do not allocate memory more than one time in a single statement.",
  "MULTIPLE_BINDS_TO_SAME_PORT.description": "The Use of Single Port by Multiple Services checker finds instances in which multiple services run on one port.\nMake sure multiple services do not run on the same port.",
  "MULTIPLE_BINDS_TO_THE_SAME_PORT.description": "The Multiple Binds to the Same Port checker finds instances in which multiple services run on one port.\nDisable the port reuse option.",
  "MULTIPLE_DECLARATION_IN_NAMESPACE.description": "The Overloading of Function in Namespace checker finds a function overloaded in a namespace.\nIn particular, the checker searches for a function that is overloaded in a subsequent namespace.\nDo not overload functions in the same namespace.",
  "MULTIPLE_ENV_WITH_SAME_NAME.description": "The Environment Variables with Case-insensitively Identical Names checker finds instances in which different environment variables take identical names with different cases.\nEnvironment variables refer to strings passed to the getenv() or putenv() function.\nTaking portability into consideration, name all environment variables with different spellings.",
  "MULTIPLE_FILE_ATTRIBUTES.description": "The Unassured File Identification checker finds instances of identifying a file based on a single criterion.\nThere are a number of criteria used to identify files, including filename, datetime created, and owner.\nMake sure that files are opened after they are identified by multiple criteria.",
  "MULTIPLE_SIGNAL_TO_SAME_HANDLER.description": "The Multiple Signals Connected to Single Handler checker finds instances of connecting multiple signals to a single signal handler.\nMake sure that one signal handler is connected with one signal.",
  "MUST_CATCH_ALL_EXCEPTION_IN_DTOR.description": "The Unhandleable Exception within Destructor checker finds destructors in which an exception is thrown but cannot be handled within the destructor.\nDo not use expressions that throw an unhandleable exception within a destructor. Or, add necessary handlers so that all possible exceptions can be handled.",
  "MUST_CATCH_ALL_EXCEPTION_IN_MAIN.description": "The Unhandleable Exception within Main Function checker finds instances in which an exception is thrown in the main() function but cannot be handled therewithin.\nDo not use expressions that throw an unhandleable exception within the main function. Or, add necessary handlers so that all possible exceptions can be handled.",
  "MUST_HAVE_AN_IDENTIFIER.description": "The Parameter without Identifier checker finds declarations of function prototypes whose parameter does not have an identifier.\nWhen declaring a function prototype, make sure all its parameters have an identifier.",
  "MUST_NOT_BE_MUTATE_SRC_OBJ.description": "The Modifying Source Object within Copy Operation checker finds code that changes a value of member variable of the source object received as an argument of the copy constructor or copy assignment operator.\nCopy operations with the copy constructor and copy assignment operator copy key properties of the source object to the destination object, and the resulting object becomes a copy of the original. When implementing the copy operator, the variable information of the source object must not be changed.\nAvoid modifying the source object in the copy operator.",
  "MUTABLE_EQUALS.description": "The Use of mutable Field within equals checker finds a mutable field that is used to execute a method that compares objects.\nEven some fields are mutable, java.lang.Object.equals() methods must consider only immutable state when comparing objects. Violation of this rule can produce inconsistent orderings in collections.\nYou must use final fields within equals().",
  "MUTABLE_HASHCODE.description": "The Use of Mutable Field in hashCode checker finds overrides of the Object.hashCode() method that use mutable fields.\nThe checker reports a warning when an override of Object.hashCode() reads from a non-final field. As an exception, if a field is not declared final but its value has never been changed after initialized, it can be regarded as a final field.\nWhen implementing an override of the hashCode() method, a hash must be calculated only with objects whose values are never changed since their creation.",
  "MUTUALLY_VISIBLE_ID_SHOULD_BE_UNIQUE.description": "The Identifiers with Same Initial Characters checker finds identifiers whose initial characters fail to represent a unique string different from those of any other identifiers.\nGenerally, identifiers must be unique and distinguishable only within its first 31 characters.\nMake sure that any identifiers that can access the same scope are unique within the first 31 characters.",
  "MallocOnClassError.description": "Memory for class instance allocated with malloc(), but class contains a std::string. This is unsafe, since no constructor is called and class members remain uninitialized. Consider using 'new' instead.",
  "MallocOnClassWarning.description": "Memory for class instance allocated with malloc(), but class provides constructors. This is unsafe, since no constructor is called and class members remain uninitialized. Consider using 'new' instead.",
  "MemsetClass.description": "Using 'memfunc' on class that contains a classname is unsafe, because constructor, destructor and copy operator calls are omitted. These are necessary for this non-POD type to ensure that a valid object is created.",
  "MemsetClassFloat.description": "Using memset() on class which contains a floating point number. This is not portable because memset() sets each byte of a block of memory to a specific value and the actual representation of a floating-point value is implementation defined. Note: In case of an IEEE754-1985 compatible implementation setting all bits to zero results in the value 0.0.",
  "MemsetClassReference.description": "Using 'memfunc' on class that contains a reference.",
  "MemsetFloat.description": "The 2nd memset() argument 'varname' is a float, its representation is implementation defined. memset() is used to set each byte of a block of memory to a specific value and the actual representation of a floating-point value is implementation defined.",
  "MemsetValueOutOfRange.description": "The 2nd memset() argument 'varname' doesn't fit into an 'unsigned char'. The 2nd parameter is passed as an 'int', but the function fills the block of memory using the 'unsigned char' conversion of this value.",
  "MemsetZeroBytes.description": "memset() called to fill 0 bytes. The second and third arguments might be inverted. The function memset ( void * ptr, int value, size_t num ) sets the first num bytes of the block of memory pointed by ptr to the specified value.",
  "MethodArgumentCouldBeFinal.description": "This checks for non-final method argument not being assigned.",
  "MethodNamingConventions.description": "This checks if the name of the method does not violate the standard naming convention. Method names must start with lowercase letters and should not include underscores.",
  "MethodReturnsInternalArray.description": "This checks if internal array of an class is directly returned.",
  "MethodWithSameNameAsEnclosingClass.description": "Detect methods with the same name as the enclosing class except for constructors.",
  "MisleadingVariableName.description": "Detect variables that are not fields starting with prefix 'm_'. This can cause confusion in differentiating between fields and variables.",
  "MismatchingBitAnd.description": "Mismatching bitmasks. Result is always 0.",
  "MisplacedNullCheck.description": "Detect verification of NULL being performed in the wrong place or in the wrong way.",
  "MissingBreakInSwitch.description": "Detect if a break statement does not exist in a switch block and the number of return statements and throw statements is less than the number of case labels.",
  "MissingSerialVersionUID.description": "Detect if declaration of serialVersionUID does not exists in a non-abstract class that inherits Serializable or java.io.Serializable.",
  "MissingStaticMethodInNonInstantiatableClass.description": "Detect classes that have a private constructor and does not have any other static methods or fields. These cases are not usable.",
  "ModuloAlwaysTrueFalse.description": "Comparison of modulo result is predetermined, because it is always less than 1.",
  "MoreThanOneLogger.description": "Detect declaration of two or more Logger objects in a single class.",
  "MultiCondition.description": "Expression is always false because 'else if' condition matches previous condition.",
  "NAMESPACE_IN_HEADER_SHOULD_BE_NAMED.description": "The Unnamed Namespace of Header File checker finds incidents that unnamed namespaces are located on header files instead of source files.\nThe unnamed namespace can be used in source files. Also, ensure to use named namespace for header files, if needed.",
  "NAMES_WITH_WIDER_SCOPE_SHOULD_BE_LONGER.description": "The Inclusion of Upper Level Variable Name checker finds instances in which a variable name at an upper level of scope is included to a lower level.\nEnsure not to include the variable name at an upper level of scope to its lower level.",
  "NAME_IS_USED_IN_STANDARD_LIBRARY.description": "The Reuse of Standard Library Identifier checker finds instances in which a custom definition in a source file uses an identifier used by the standard library.\nWhen naming an object or function, avoid using an identifier used by the standard library.",
  "NAME_SHOULD_NOT_START_WITH_UNDERSCORE.description": "The Identifier Starting with Underscore checker finds identifiers that start with the underscore symbol (_).\nIdentifiers should not start with an underscore. Identifiers that are named this way are usually those belonging to the standard library.\nDo not use an underscore as the first character of an identifier.",
  "NAMING_CONVENTION.ENUM.description": "When declaring the enum, it must follow the naming convention.\n1. Use the lower case letter and use the suffix '_e'.\n2. Use '_' between words.\n3. Use the upper case letter for members of the enum.\n4. If the members of the enum are composed of multiple words, use '_' between them.",
  "NAMING_CONVENTION.FUNCTION.description": "When declaring the function, it must follow the naming convention.\n1. Use the lower case letter.\n2. Use '_' between words.",
  "NAMING_CONVENTION.HEADER.description": "The name of the header file included in the source code must follow the predefined naming convention.",
  "NAMING_CONVENTION.STRUCTURE.description": "When declaring the structure, it must follow the naming convention.\n1. Use the lower case letter and use the suffix _s.\n2. Use '_' between wrods.",
  "NAMING_CONVENTION.TYPE.description": "The Noncompliant Type Name checker finds type declarations that do not comply with the naming rules.\nThe naming rules are as follows: A type name must be all lowercase and end with _t. If a type name consists of words combined, use _ as a delimiter between them. A pointer type name must end with _p.\nWhen declaring a type, comply with the naming rules.",
  "NAMING_CONVENTION.UNION.description": "When declaring the structure, it must follow the naming convention.\n1. Use the lower case and use the suffix _u.\n2. If multiple words are used, use '_' between the words.",
  "NAMING_CONVENTION.VARIABLE.description": "When declaring the variable, it must follow the naming convention. \n1. Use the lower case\n2. Use the prefix g_ for the global variable.",
  "NEGATIVE_FILE_DESCRIPTOR.description": "The Negative Argument Passed to Specific Function checker finds calls to file- and socket-handling functions that pass a negative number.\nThe checker searches calls to the following functions:__fxstat(), _dup(), _dup2(), _fdopen(), _fstat(), _fstat32(), _fstat32i64(), _fstat64(), _fstat64i32(), _fstati64(), _lseek(), _lseeki64(), _read(), _wfdopen(), _write(), accept(), bind(), close(), closesocket(), connect(), dup(), dup2(), fcntl(), fdopen(), fpathconf(), fstat(), fstatfs(), fsync(), ftruncate(), ioctl(), ioctlsocket(), listen(), lseek(), read(), readv(), recv(), recvfrom(), recvmsg(), send(), sendmsg(), unlinkat(), write(), writev()\nFile/socket functions should not be passed with a negative number.",
  "NEGATIVE_MOD_OPERATION.description": "The Modulo on Negative Number checker finds modulo operations performed on a negative number.\nMake sure modulo operations are performed only on positive numbers. To this end, check the operands for being greater than zero, or declare their type as unsigned.",
  "NESTED_SELECT.ABAP.description": "The Nested SELECT Statement checker finds SELECT statements that are nested in another SELECT statement.\nUse a JOIN clause instead of nesting a SELECT statement.",
  "NETWORK_TRIGGERED": "Obligation required even using as a network server",
  "NEVER_CREATE_CONTAINERS_OF_AUTO_PTRS.description": "The Creation of Container of auto_ptr checker finds declarations of variables that store an auto_ptr in a container.\nA container is a C++ standard library object that stores a collection of various data types. Vectors are one example.\nDo not store an auto_ptr in a container. If a smart pointer needs to be put in a container, use a reference-counting smart pointer.",
  "NEVER_QUALIFY_REFERENCE_TYPE.description": "Do not make const or volatile as a reference type.",
  "NEVER_USE_RAW_TYPE.description": "The Use of Generic Type without Type Parameter checker finds instances of using a generic collection type without a type parameter specified.\nThe checker performs checking on major generic collection types included in the java.util package.\nIf you are using Java 1.5 or a later version, it is safe to specify type parameters when using a generic type.",
  "NEW_DELETE_INSTEAD_OF_MALLOC_FREE.description": "Memory allocation using new/delete should be used instead of malloc()/free(). In C++, if class is created using malloc, the constructor is not called and destructor is not called when free is used.",
  "NON-COMMERCIAL_USE_ONLY": "No commercial use, free software from companies prohibited",
  "NONE.DISCLOSING_SRC": "No obligation for disclosure",
  "NONE.RESTRICTION": "No restriction",
  "NONEFFECTIVE_FUNCTION_CALL.description": "The Unnecessary Function Call checker finds instances in which a function call does not affect the flow of the program at all.\nYou can optionally specify struct names excluded from analysis.\nMake sure that functions are called with correct argument values.",
  "NONSERIALIZABLE_OBJECT_STORED_IN_SESSION.description": "The Non-serializable Object Stored in Session checker finds code that stores non-serializable objects in the session.\nJ2EE applications can use multiple JVMs in order to improve application reliability and performance. To allow multiple JVMs to appear as a single application to the end user, the J2EE container replicates the javax.servlet.http.HttpSession object between the JVMs so that each JVM can take action without interfering the application flow. This is possible only when all sessions are serialized and replicated between JVMs. The checker finds where types of the second argument of the following methods does not inherit java.io.Serializable interface. javax.servlet.http.HttpSession.setAttribute(java.lang.String,java.lang.Object) javax.servlet.http.HttpSession.putValue(java.lang.String,java.lang.Object)\nMake sure that the type of the object to be serialized inherits the java.io.Serializable interface.",
  "NONSYNCHRONIZED_METHOD_OVERRIDES_SYNCHRONIZED_METHOD.description": "The Overriding without synchronized checker finds instances in which a method is once declared synchronized but later overridden without using the synchronized modifier.\nA synchronized method inherited from the base class must either should not be declared, or should be declared as synchronized if it needs to redefined.",
  "NON_CONSTANT_PTR_TO_FUNCTION.description": "The Function Pointer Declaration without const checker finds instances of declaring a function pointer without using the const qualifier.\nUse the const qualifier when declaring a function pointer.",
  "NORETURN_DECLARED.description": "The Return from noreturn Function checker finds return statements from noreturn functions.\nWhich includes both explicit and implicit returns.\nDo not use return for a function declared by [[noreturn]].",
  "NORMALIZE_STRINGS_BEFORE_VALIDATING_THEM.description": "Normalize strings before validating them. Strings that can bypass the validation process can be modified to perform malicious behavior via the normalize operation.",
  "NOTIFIED_ANALYSIS_BROWSER_CLIPBOARD_CANNOT_PLAYING": "Failed to replay the log-in record file used in the crawling. The analysis will be run without logging-in. Please check that the log-in record file or its log-in page has been changed. {0}",
  "NOTIFIED_ANALYSIS_BROWSER_DOM_INVALID_ELEMENT_STATE": "The system cannot access to the HTML element. The analysis will be restricted in parts of the following URLs. {0}",
  "NOTIFIED_ANALYSIS_BROWSER_DOM_JAVASCRIPT": "An error has occurred by JavaScript execution. The analysis will be restricted in parts of the following URLs. {0}",
  "NOTIFIED_ANALYSIS_BROWSER_DOM_NO_ALERT_PRESENT": "Attempted to handle a non-existing warning message. The analysis will be restricted in parts of the following URLs. {0}",
  "NOTIFIED_ANALYSIS_BROWSER_DOM_NO_ELEMENT": "No HTML element is available to be accessed. The analysis will be restricted in parts of the following URLs. {0}",
  "NOTIFIED_ANALYSIS_BROWSER_DOM_NO_SUCH_SESSION": "No session has been found. The analysis will be restricted in parts of the following URLs. {0}",
  "NOTIFIED_ANALYSIS_BROWSER_DOM_NO_SUCH_WINDOW": "Attempted to browse to a non-existing window. The analysis will be restricted in parts of the following URLs. {0}",
  "NOTIFIED_ANALYSIS_BROWSER_DOM_SCRIPT_TIMEOUT": "Failed to execute JavaScript due to the delay. The analysis will be restricted in parts of the following URLs. {0}",
  "NOTIFIED_ANALYSIS_BROWSER_DOM_SESSION_NOT_CREATED": "The system cannot create a session for the browser. Restart the browser. The analysis will be restricted in parts of the following URLs. {0}",
  "NOTIFIED_ANALYSIS_BROWSER_DOM_SOCKET_TIMEOUT": "Failed to connect to the socket due to connection delay between the browser and the target web application. The analysis will be restricted in parts of the following URLs. {0}",
  "NOTIFIED_ANALYSIS_BROWSER_DOM_STALE_ELEMENT_REFERENCE": "No HTML element is available to be accessed. The analysis will be restricted in parts of the following URLs. {0}",
  "NOTIFIED_ANALYSIS_BROWSER_DOM_TIMEOUT": "Delayed responses of the browser. Restart the browser. The analysis will be restricted in parts of the following URLs. {0}",
  "NOTIFIED_ANALYSIS_BROWSER_DOM_UNABLE_TO_SET_COOKIE": "The system cannot set cookies for the browser. The analysis will be restricted in parts of the following URLs. {0}",
  "NOTIFIED_ANALYSIS_BROWSER_DOM_UNHANDLED_ALERT": "Found an unhandled warning message. The analysis will be restricted in parts of the following URLs. {0}",
  "NOTIFIED_ANALYSIS_BROWSER_DOM_UNKNOWN": "An unknown error has occurred. The analysis will be restricted in parts of the following URLs. {0}",
  "NOTIFIED_ANALYSIS_BROWSER_DOM_UNREACHABLE_BROWSER": "The system cannot access to the browser. Restart the browser. The analysis will be restricted in parts of the following URLs. {0}",
  "NOTIFIED_ANALYSIS_BROWSER_DOM_UNSUPPORTED_COMMAND": "An inexecutable command by the browser has occurred. The analysis will be restricted in parts of the following URLs. {0}",
  "NOTIFIED_ANALYSIS_BROWSER_LANGUAGE": "Set {0} on the browser language for the analysis starts.",
  "NOTIFIED_ANALYSIS_ENGINE_ALL_OUT_OF_MEMORY": "Failed to run analysis due to memory shortage. Please expand your memory or reduce the number of concurrent analyses.",
  "NOTIFIED_ANALYSIS_ENGINE_ALL_PAUSED": "NOTIFIED_ANALYSIS_ENGINE_ALL_PAUSED",
  "NOTIFIED_ANALYSIS_ENGINE_ALL_RESUME": "The analysis has resumed.",
  "NOTIFIED_ANALYSIS_ENGINE_URL_START_ANALYZING": "The analysis on the following URL has started. {0}",
  "NOTIFIED_ANALYSIS_ENGINE_URL_UNKNOWN": "An unknown error has occurred. Failed to run analysis on the following URL. {0}",
  "NOTIFIED_ANALYSIS_HTTP_REQUEST_PROTOCOL": "An invalid HTTP protocol. Failed to run analysis on the following request. {0}",
  "NOTIFIED_ANALYSIS_HTTP_REQUEST_SOCKET": "The system cannot send HTTP request due to a deny on TCP connection. Failed to run analysis on the following request. {0}",
  "NOTIFIED_ANALYSIS_HTTP_REQUEST_SOCKET_TIMEOUT": "The system cannot send HTTP request due to a delay on TCP connection. Failed to run analysis on the following request. {0}",
  "NOTIFIED_ANALYSIS_HTTP_REQUEST_SSL_HANDSHAKE": "The SSL connection has been denied. Failed to run analysis on the following request. {0}",
  "NOTIFIED_ANALYSIS_HTTP_REQUEST_SSL_KEY": "An invalid SSL key. Failed to run analysis on the following request. {0}",
  "NOTIFIED_ANALYSIS_HTTP_REQUEST_SSL_PEER_UNVERIFIED": "The system cannot connect to SSL due to an uncertain target. Failed to run analysis on the following request. {0}",
  "NOTIFIED_ANALYSIS_HTTP_REQUEST_SSL_PROTOCOL": "An invalid SSL protocol. Failed to run analysis on the following request. {0}",
  "NOTIFIED_ANALYSIS_HTTP_REQUEST_UNKNOWN": "An unknown error has occurred. Failed to run analysis on the following request. {0}",
  "NOTIFIED_ANALYSIS_HTTP_REQUEST_UNKNOWN_HOST": "The system cannot send an HTTP request due to an unknown host. Failed to run analysis on the following request. {0}",
  "NOTIFIED_ANALYSIS_HTTP_REQUEST_UNKNOWN_SERVICE": "The system cannot send an HTTP request due to an unknown service. Failed to run analysis on the following request. {0}",
  "NOTIFIED_ANALYSIS_SOCKET_ADDRESS_BIND": "Failed to bind a socket due to the unavailable port or invalid local address. The analysis will be restricted on the following address. {0}",
  "NOTIFIED_ANALYSIS_SOCKET_ADDRESS_CONNECT": "Failed to connect to the socket due to connection denial. The analysis will be restricted on the following address. {0}",
  "NOTIFIED_ANALYSIS_SOCKET_ADDRESS_NO_ROUTE_TO_HOST": "Failed to connect to the socket due to an unreached target The analysis will be restricted on the following address. {0}",
  "NOTIFIED_ANALYSIS_SOCKET_ADDRESS_PORT_UNREACHABLE": "Failed to create a socket due to a port out of ranges. The analysis will be restricted on the following address. {0}",
  "NOTIFIED_ANALYSIS_SOCKET_ADDRESS_SOCKET_TIMEOUT": "Failed to connect to the socket due to connection delay. The analysis will be restricted on the following address. {0}",
  "NOTIFIED_ANALYSIS_SOCKET_ADDRESS_UNKNOWN": "An unknown error has occurred. The analysis will be restricted on the following address. {0}",
  "NOTIFIED_CRAWL_BLOCK_DISCONNECTED_URLS": "An access to the following URLs are forbidden because {0} request to them has been failed, which occurs when: {1}",
  "NOTIFIED_CRAWL_BROWSER_CLIPBOARD_NEVER_USE": "No log-in record file has been used at all. The crawling performed without logging-in. A login action will be performed at the URL where the log-in record file is created during crawling. Please check the collected URLs and URL where the log-in record file is created.",
  "NOTIFIED_CRAWL_BROWSER_DOM_INVALID_ELEMENT_STATE": "The system cannot access to the HTML element. The crawling will be restricted on some pages of the following URLs. {0}",
  "NOTIFIED_CRAWL_BROWSER_DOM_JAVASCRIPT": "An error has occurred by JavaScript execution. The crawling will be restricted on some pages of the following URLs. {0}",
  "NOTIFIED_CRAWL_BROWSER_DOM_NO_ALERT_PRESENT": "Attempted to handle a non-existing warning message. The crawling will be restricted on some pages of the following URLs. {0}",
  "NOTIFIED_CRAWL_BROWSER_DOM_NO_ELEMENT": "No HTML element is available to be accessed. The crawling will be restricted on some pages of the following URLs. {0}",
  "NOTIFIED_CRAWL_BROWSER_DOM_NO_SUCH_SESSION": "No session has been found. The crawling will be restricted on some pages of the following URLs. {0}",
  "NOTIFIED_CRAWL_BROWSER_DOM_NO_SUCH_WINDOW": "Attempted to browse to a non-existing window. The crawling will be restricted on some pages of the following URLs. {0}",
  "NOTIFIED_CRAWL_BROWSER_DOM_SCRIPT_TIMEOUT": "Failed to execute JavaScript due to the delay. The crawling will be restricted on some pages of the following URLs. {0}",
  "NOTIFIED_CRAWL_BROWSER_DOM_SESSION_NOT_CREATED": "The system cannot create a session for the browser. Restart the browser. The crawling will be restricted on some pages of the following URLs. {0}",
  "NOTIFIED_CRAWL_BROWSER_DOM_SOCKET_TIMEOUT": "Failed to connect to the socket due to connection delay between the browser and the target web application. The analysis will be restricted in parts of the following URLs. {0}",
  "NOTIFIED_CRAWL_BROWSER_DOM_STALE_ELEMENT_REFERENCE": "No HTML element is available to be accessed. The crawling will be restricted on some pages of the following URLs. {0}",
  "NOTIFIED_CRAWL_BROWSER_DOM_TIMEOUT": "Delayed responses of the browser. Restart the browser. The crawling will be restricted on some pages of the following URLs. {0}",
  "NOTIFIED_CRAWL_BROWSER_DOM_UNABLE_TO_SET_COOKIE": "The system cannot set cookies for the browser. The crawling will be restricted on some pages of the following URLs. {0}",
  "NOTIFIED_CRAWL_BROWSER_DOM_UNHANDLED_ALERT": "Found an unhandled warning message. The crawling will be restricted on some pages of the following URLs. {0}",
  "NOTIFIED_CRAWL_BROWSER_DOM_UNKNOWN": "An unknown error has occurred. The crawling will be restricted on some pages of the following URLs. {0}",
  "NOTIFIED_CRAWL_BROWSER_DOM_UNREACHABLE_BROWSER": "The system cannot access to the browser. Restart the browser. The crawling will be restricted on some pages of the following URLs. {0}",
  "NOTIFIED_CRAWL_BROWSER_DOM_UNSUPPORTED_COMMAND": "An inexecutable command by the browser has occurred. The crawling will be restricted on some pages of the following URLs. {0}",
  "NOTIFIED_CRAWL_BROWSER_LANGUAGE": "Set {0} on the browser language for the crawling starts.",
  "NOTIFIED_CRAWL_BROWSER_URL_INACCESSIBLE_SEED": "The system cannot access to the project URL from the browser. The system cannot perform crawling from the browser. Please check that the target URL can be accessed by the server. {0}",
  "NOTIFIED_CRAWL_BROWSER_URL_INVALID_ELEMENT_STATE": "The system cannot access to the HTML element. Failed to perform crawling on the following URL. {0}",
  "NOTIFIED_CRAWL_BROWSER_URL_JAVASCRIPT": "An error has occurred by JavaScript execution. Failed to perform crawling on the following URL. {0}",
  "NOTIFIED_CRAWL_BROWSER_URL_NO_ALERT_PRESENT": "Attempted to handle a non-existing warning message. Failed to perform crawling on the following URL. {0}",
  "NOTIFIED_CRAWL_BROWSER_URL_NO_SUCH_SESSION": "No session has been found. Failed to perform crawling on the following URL. {0}",
  "NOTIFIED_CRAWL_BROWSER_URL_NO_SUCH_WINDOW": "Attempted to browse to a non-existing window. Failed to perform crawling on the following URL. {0}",
  "NOTIFIED_CRAWL_BROWSER_URL_REDIRECTED_SEED": "The browser has been redirected with an attempt to the project URL. The crawling has started from the next of redirected URL. {0}",
  "NOTIFIED_CRAWL_BROWSER_URL_SCRIPT_TIMEOUT": "Failed to execute JavaScript due to the delay. Failed to perform crawling on the following URL. {0}",
  "NOTIFIED_CRAWL_BROWSER_URL_SESSION_NOT_CREATED": "The system cannot create a session for the browser. Restart the browser. Failed to perform crawling on the following URL. {0}",
  "NOTIFIED_CRAWL_BROWSER_URL_STALE_ELEMENT_REFERENCE": "No HTML element is available to be accessed. Failed to perform crawling on the following URL. {0}",
  "NOTIFIED_CRAWL_BROWSER_URL_TIMEOUT": "Delayed responses of the browser. Restart the browser. Failed to perform crawling on the following URL. {0}",
  "NOTIFIED_CRAWL_BROWSER_URL_UNABLE_TO_SET_COOKIE": "The system cannot set cookies for the browser. Failed to perform crawling on the following URL. {0}",
  "NOTIFIED_CRAWL_BROWSER_URL_UNHANDLED_ALERT": "Found an unhandled warning message. Failed to perform crawling on the following URL. {0}",
  "NOTIFIED_CRAWL_BROWSER_URL_UNKNOWN": "An unknown error has occurred. Failed to perform crawling on the following URL. {0}",
  "NOTIFIED_CRAWL_BROWSER_URL_UNREACHABLE_BROWSER": "The system cannot access to the browser. Restart the browser. Failed to perform crawling on the following URL. {0}",
  "NOTIFIED_CRAWL_BROWSER_URL_UNSUPPORTED_COMMAND": "An inexecutable command by the browser has occurred. Failed to perform crawling on the following URL. {0}",
  "NOTIFIED_CRAWL_ENGINE_ALL_OUT_OF_MEMORY": "Failed to run crawling due to memory shortage. Please expand your memory or reduce the number of concurrent analyses.",
  "NOTIFIED_CRAWL_ENGINE_ALL_PAUSED": "The crawling has paused.",
  "NOTIFIED_CRAWL_ENGINE_ALL_RESUME": "The crawling has resumed.",
  "NOTIFIED_CRAWL_ENGINE_URL_START_CRAWLING": "The crawling on the following URL has started. {0}",
  "NOTIFIED_CRAWL_ENGINE_URL_UNKNOWN": "An unknown error has occurred. Failed to perform crawling on the following URL. {0}",
  "NOTIFIED_CRAWL_HTTP_REQUEST_INACCESSIBLE_SEED": "The system cannot send a request to the project URL from the HTTP client. The system cannot perform crawling from the HTTP client. Please check that the target URL can be accessed by the server. {0}",
  "NOTIFIED_CRAWL_HTTP_REQUEST_PROTOCOL": "An invalid HTTP protocol. Failed to run crawling on the following request. {0}",
  "NOTIFIED_CRAWL_HTTP_REQUEST_SOCKET": "The system cannot send HTTP request due to a deny on TCP connection. Failed to run crawling on the following request. {0}",
  "NOTIFIED_CRAWL_HTTP_REQUEST_SOCKET_TIMEOUT": "The system cannot send HTTP request due to a delay on TCP connection. Failed to run crawling on the following request. {0}",
  "NOTIFIED_CRAWL_HTTP_REQUEST_SSL_HANDSHAKE": "The SSL connection has been denied. Failed to run crawling on the following request. {0}",
  "NOTIFIED_CRAWL_HTTP_REQUEST_SSL_KEY": "An invalid SSL key. Failed to run crawling on the following request. {0}",
  "NOTIFIED_CRAWL_HTTP_REQUEST_SSL_PEER_UNVERIFIED": "The system cannot connect to SSL due to an uncertain target. Failed to run crawling on the following request. {0}",
  "NOTIFIED_CRAWL_HTTP_REQUEST_SSL_PROTOCOL": "An invalid SSL protocol. Failed to run crawling on the following request. {0}",
  "NOTIFIED_CRAWL_HTTP_REQUEST_UNKNOWN": "An unknown error has occurred. Failed to run crawling on the following request. {0}",
  "NOTIFIED_CRAWL_HTTP_REQUEST_UNKNOWN_HOST": "The system cannot send an HTTP request due to an unknown host. Failed to run crawling on the following request. {0}",
  "NOTIFIED_CRAWL_HTTP_REQUEST_UNKNOWN_SERVICE": "The system cannot send an HTTP request due to an unknown service. Failed to run crawling on the following request. {0}",
  "NOTIFIED_ENTIRE_BROWSER_ALL_CANNOT_EXECUTE": "The system cannot run crawling or analyzing through your browser. Your browser is not running. Please check a binary of the browser on the following path. {0}",
  "NOTIFIED_ENTIRE_BROWSER_CLIPBOARD_PLAYING_ERROR": "An error has occurred while replaying the log-in record file. The crawling might not be performed. Please check that the log-in record file is normally replayed through the Event Clipboard. {0} {1}",
  "NOTIFIED_ERROR_ANALYZER_NO_CHECKER": "No checker has been selected for the analysis. Check its checker list.",
  "NOTIFIED_ERROR_ANALYZER_NO_TARGET": "No target has been selected for the analysis. Check its crawling results.",
  "NOTIFIED_ERROR_ANALYZER_OUT_OF_MEMORY": "The analysis is abnormally terminated due to memory shortage. Check memory usage.",
  "NOTIFIED_ERROR_BROWSER_BLACKLIST": "An error is omitted due to persistent occurrence in the page. {0}",
  "NOTIFIED_ERROR_BROWSER_CANNOT_EXECUTE": "The inner browser does not work: {0}",
  "NOTIFIED_ERROR_CHANGE_SEED_URL": "In results of attempting to access the project URL, the browser is redirected to another URL. Now start to crawling from the redirected URL: {0}",
  "NOTIFIED_ERROR_CLIPBOARD_NEVER_EXECUTE": "No log-in record file has been executed at all. Check the log-in record file URL and crawling URL.",
  "NOTIFIED_ERROR_CRAWLER_FAILED_TO_SAVE_RESULT": "An error has occurred while storing crawling results.",
  "NOTIFIED_ERROR_CRAWLER_INACCESSIBLE_EB_SEED": "The system cannot access to the URL to be collected by your browser. Check project URL accessible from the server: {0}",
  "NOTIFIED_ERROR_CRAWLER_INACCESSIBLE_HB_SEED": "The system cannot access to the URL to be collected by your HTTP client. Check that HTTP communication between the server and the target web application is blocked by certificates or security programs: {0}",
  "NOTIFIED_ERROR_CRAWLER_NO_SEED": "No crawling has started in URLs. Check its project URL.",
  "NOTIFIED_ERROR_CRAWLER_OUT_OF_MEMORY": "The crawling is abnormally terminated due to memory shortage. Check memory usage.",
  "NOTIFIED_ERROR_CRAWLER_SKIPPED_EB_SEED": "URLs is excluded from crawling of the browsers. Please check the excluded crawling URL: {0}",
  "NOTIFIED_ERROR_CRAWLER_SKIPPED_HB_SEED": "URLs to collect is excluded from the HTTP client. Please check the excluded crawling URL: {0}",
  "NOTIFIED_ERROR_HTTP_PROTOCOL": "An error, such as TCP error, has occurred in the default protocol: {0}",
  "NOTIFIED_ERROR_HTTP_SOCKET": "The socket connection has been denied for HTTP communication: {0}",
  "NOTIFIED_ERROR_HTTP_SOCKET_TIMEOUT": "Failed to receive a response to an HTTP request due to delay: {0}",
  "NOTIFIED_ERROR_HTTP_SSL_HANDSHAKE": "The system cannot connect to SSL due to a security issue: {0}",
  "NOTIFIED_ERROR_HTTP_SSL_KEY": "The system cannot send an HTTP request due to an invalid SSL key: {0}",
  "NOTIFIED_ERROR_HTTP_SSL_PEER_UNVERIFIED": "The system cannot send an HTTP request from a peer due to lacks of certificates, unsupported encrypted authentication, SSL authentication failure, etc: {0}",
  "NOTIFIED_ERROR_HTTP_SSL_PROTOCOL": "An error has occurred in the SSL protocol: {0}",
  "NOTIFIED_ERROR_HTTP_UNKNOWN": "The system cannot send an HTTP request due to an unknown error: {0} - {1}",
  "NOTIFIED_ERROR_HTTP_UNKNOWN_HOST": "The system cannot specify an IP address or host to send HTTP request: {0}",
  "NOTIFIED_ERROR_HTTP_UNKNOWN_SERVICE": "Received an HTTP response in an unknown MIME type, or attempted to write data on read-only URL connection: {0}",
  "NOTIFIED_ERROR_OVER_REDIRECTION": "The process does not receive responses due to redirections of request messages: {0}",
  "NOTIFIED_ERROR_SOCKET_BIND": "Failed to bind a socket due to the unavailable port or invalid local address: {0}",
  "NOTIFIED_ERROR_SOCKET_CONNECT": "Failed to create a socket due to denied connection to the target: {0}",
  "NOTIFIED_ERROR_SOCKET_NO_ROUTE_TO_HOST": "Failed to create a socket due to a target unreachable with a firewall or router: {0}",
  "NOTIFIED_ERROR_SOCKET_PORT_UNREACHABLE": "Failed to create a socket due to a port out of ranges: {0}",
  "NOTIFIED_ERROR_SOCKET_TIMEOUT": "Failed to create a socket due to delayed connection. {0}",
  "NOTIFIED_ERROR_SOCKET_UNKNOWN": "Failed to create a socket due to an unknown error: {0} - {1}",
  "NOTIFIED_ERROR_WEBDRIVER_INVALID_ELEMENT_STATE": "The web element status is improper to perform {0} action. {1}",
  "NOTIFIED_ERROR_WEBDRIVER_JAVASCRIPT": "An invalid JavaScript statement tried to be executed. {0}",
  "NOTIFIED_ERROR_WEBDRIVER_NOT_DETECT_ELEMENT": "No web element is available to perform {0} action in browser: {1}",
  "NOTIFIED_ERROR_WEBDRIVER_NO_ALERT_PRESENT": "No warning message to be handled has been found.",
  "NOTIFIED_ERROR_WEBDRIVER_NO_SUCH_SESSION": "Unable to find a browser session. Restart a browser with {0} command, and a web driver with {1} port.",
  "NOTIFIED_ERROR_WEBDRIVER_NO_SUCH_WINDOW": "No tap window is available to be converted by the browser.",
  "NOTIFIED_ERROR_WEBDRIVER_SCRIPT_TIMEOUT": "The browser does not respond to JavaScript execution request for a long time. Restart a browser with {0} command, and a web driver with {1} port.",
  "NOTIFIED_ERROR_WEBDRIVER_SESSION_NOT_CREATED": "Failed to create a session on the browser. Restart a browser with {0} command, and a web driver with {1} port.",
  "NOTIFIED_ERROR_WEBDRIVER_STALE_ELEMENT_REFERENCE": "The target web server cannot import web elements due to delayed responses, or the web element of {0} action are deleted from other event actions.{1}",
  "NOTIFIED_ERROR_WEBDRIVER_TIMEOUT": "The browser response has been delayed. Restart a browser with {0} command, and a web driver with {1} port.",
  "NOTIFIED_ERROR_WEBDRIVER_UNABLE_TO_SET_COOKIE": "Failed to set cookies in the browser. {0}",
  "NOTIFIED_ERROR_WEBDRIVER_UNHANDLED_ALERT": "Found an unhandled warning message. Click check button, then, your browser will attempt to perform {0} action again.",
  "NOTIFIED_ERROR_WEBDRIVER_UNKNOWN": "An unknown error has occurred. A browser with {0} command will be restarted. A web driver with {1} port will be restarted. {2}",
  "NOTIFIED_ERROR_WEBDRIVER_UNREACHABLE_BROWSER": "The system cannot handle the browser due to a crash. Restart a browser with {0} command, and a web driver with {1} port.",
  "NOTIFIED_ERROR_WEBDRIVER_UNSUPPORTED_COMMAND": "The web driver executed unsupported commands. Restart a browser with {0} command, and a web driver with {1} port.",
  "NOT_BE_ASSIGNED_TO_OVERLAPPING_OBJECTS.description": "The Assignment between Objects with Overlapping Memory Area checker finds expression evaluations that include an assignment between two objects having a mutually overlapping memory area.\nSpecifically, the checker searches for a call to a string function in which the origin and destination objects overlap in memory.\nAvoid a function call on objects overlapping in memory.",
  "NOT_FOUND_ANALYSIS_FILE": "Analysis could not find the target file.",
  "NOT_LAST_DEFAULT_CASE.MISRA2012.description": "The switch Statement with Starting or without Ending default checker find incidents that the first or last clause of switch statements does not end with a default.\nWrite a default clause at the start or end of switch statements.",
  "NOT_LAST_DEFAULT_CASE.description": "The switch Statement without Ending default checker find incidents that the last clause of switch statements does not end with a default.\nThe checker searches for statements containing no default.\nWrite a default clause at the end of switch statements.",
  "NO_BRACKETS_TO_SWITCH_BODY.description": "The Unbraced Switch Statement checker finds switch statements whose body is not wrapped by braces.\nBe sure to wrap the body of a switch statement with braces.",
  "NO_BRACKETS_TO_THEN_ELSE.description": "The Unbraced if Statement checker finds if-elseif-else statements whose condition blocks are not wrapped by braces.\nIn an if statement, be sure to wrap each of the if, elseif, and else blocks with braces.",
  "NO_CASE_IN_NESTED_BLOCK.description": "The Use of case Not in switch Statement checker finds instances of using a case or default in a compound statement other than switch statement.\nEnsure to use the case or default only in switch statement.",
  "NO_CHANGE_THE_NAME": "Prohibit changed names",
  "NO_CHARGE": "No standalone sale or direct usage fees; may be bundled with free enterprise software.",
  "NO_CONTINUE_STMT.description": "The Use of continue Statement checker finds instances of using a continue statement.\nDo not use a continue statement.",
  "NO_EXEC_STMT_BEFORE_FIRST_SWITCH_CASE.description": "The Unreachable Code in Switch Statement checker finds executable code written in a switch statement above the first case label.\nIn a switch block must come a case label at the beginning.",
  "NO_EXPLICIT_TYPE_CASTING.description": "The Implicit Cast in Assignment checker finds instances in which an implicit cast is caused by type mismatch between the two sides of an assignment operation.\nAssignment with a larger type on the left-hand side is not subject to the checking; the checker reports only for those assignments that may alter the value.\nWhen assigning, use an explicit cast to match the types of the operands on the two sides. Even if a value change caused by a cast is implemented on purpose, the use of an explicit cast can help clarify such an intention.",
  "NO_FUNCTION_DEFINITION_IN_HEADER.description": "The Function Definition in Header File checker finds header files that contain a function definition.\nDo not define a function in a header file.",
  "NO_GLOBAL_VARIABLES_BETWEEN_FUNCTIONS.description": "The Global Variable Declared between Function Definition checker finds global variables that are declared between function and its definition.\nDo not declare the global variables in the middle of function definition. Ensure to declare the global variables before the function definition.",
  "NO_INC_EXPR_IN_FOR_LOOP.description": "The Omission of Counter Increment in for Loop checker finds for loops that do not have an increment or decrement operation in the increment section.\nMake sure for loops have an increment/decrement operation on their loop counter in the increment section.",
  "NO_MEMBER_FUNCTION_IN_STRUCT.description": "The Use of Struct like Class checker finds instances of including a member function in a struct or applying an access modifier to a struct member.\nIf you need to use an access modifier or member function, declare a class instead.",
  "NO_MODIFICATION": "No modification",
  "NO_MORE_THAN_ONE_BREAK.description": "The Multiple breaks in Loop checker finds loops that use a break statement more than once.\nIt is a good structured programming practice to restrict the number of loop termination conditions. It is possible to use only one break in a loop.\nDo not use more than one break in a loop.",
  "NO_MORE_THAN_ONE_SHARP_OPERATOR.description": "The Duplicate Occurrences of # and ## checker finds macro definitions that use the # and ## operators more than once.\nDo not use the # and ## operators more than once in a macro definition.",
  "NO_PREPROCESSING_DIRECTIVE_IN_MACRO.description": "The Use of Preprocessor Directive in Macro Function Invocation checker finds instances in which a preprocessor statement is passed as an argument to a macro function.\nA macro function refers to a function-like macro defined using the #define preprocessor directive.\nBe sure to pass no preprocessor statements in a call to a macro function.",
  "NO_PUBLIC_CONSTRUCTOR_FOR_ABSTRACT_CLASS.description": "The Public Declaration of Abstract Class Constructor checker finds abstract classes whose constructor has public accessibility.\nIn an abstract class, set the constructor's accessibility protected.",
  "NO_REAL_DECLARATION_FOR_VARIABLE.description": "The Useless extern Qualification checker finds instances in which a variable is declared with the extern qualifier despite not being used in other source files.\nDeclare the variable without the extern qualifier, or declare it in other files that need access to it.",
  "NO_SEMICOLON_ON_SAME_STMT.description": "The Misuse of Semicolon checker finds semicolons put on the same line as the condition of an if, for, or while statement.\nDo not put a semicolon on the same line as the condition of an if, for, or while statement.",
  "NO_SHIFT_SIGNED.description": "The Shift Operation on Signed Integer checker finds expressions in which a signed integer object is used as an operand of a bitwise operator.\nMake sure that shift operations are performed on an unsigned integer object.",
  "NO_SIDE_EFFECT_STMT.description": "The Statement without Side Effect checker finds statements that have no side effects.\nA side effect refers to a side modification that an expression makes to the program's memory status which leads to influencing the evaluation of other expressions.\nRemove statements with no side effects.",
  "NO_TEST_EXPR_IN_FOR_LOOP.description": "The Omission of Comparison Operator in for Loop checker finds for loops that do not have a comparison operation in the evaluation section.\nMake sure that for loops have a comparison operation on their loop counter in the evaluation section.",
  "NPathComplexity.description": "NPath complexity of certain methods represent the number of acyclic execution paths within the method. The threshold for detection is 200, and methods that meet this threshold should be simplified.",
  "NULL_DEREF.CHECK_AFTER_DEREF.description": "The Null Check after Dereference checker finds instances in which a value once dereferenced with no null check is later checked for null.\nUnless a variable is ensured to never be null, make sure it is always checked for null before dereferenced. Conversely, if a variable can never be null and so its null check is unnecessary, have it never checked for null, ensuring consistency and preventing confusion.",
  "NULL_DEREF.MALLOC_FAILED.description": "The Null Dereference Resulting from Allocation Failure checker finds instances of blindly dereferencing a pointer retrieved from a function that returns null when memory allocation fails.\nWhen a memory allocation function is called, the return value must be used only after the memory allocation is checked for success.",
  "NULL_DEREF.MISSING_CHECK.description": "This checker detects code that uses a pointer without a null check, even if the pointer was passed as an argument to a function or returned from another function after null checking.\nIt is because there is a possibility that a null is assigned to a pointer variable that was previously check for null.\nCheck for null before using the pointer variable that has already been checked for null.\n",
  "NULL_DEREF.description": "This checker detects code that attempts to read a value pointed to by a null pointer, without considering the possibility that the pointer value is null.\nThe Null dereference often causes the system to crash unexpectedly.\n\nBefore dereferencing a pointer, check it for null.",
  "NULL_RETURN.description": "The Dereference of Null Return Value checker finds instances of dereferencing a return value without checking it for null.\nIf a method's return is dereferenced without a null check, an exception may be thrown.\nA return value from a method that can return null must be checked for null before used.",
  "NULL_RETURN_CSHARP.description": "The Dereference of Null Return Value checker finds instances of dereferencing a return value without checking it for null.\nA function that might return null must be checked for null before used. Otherwise, the program may be interrupted.\nA function with a return type must be checked for null before used.",
  "NULL_RETURN_STD.description": "The Dereference of Null Return Value from Standard Library checker finds instances of dereferencing a return value from a Java standard library method without checking it for null even through the method can return null.\nIf a standard library method's return is dereferenced without a null check, an exception may be thrown.\nA return value from a standard library method that can return null must be checked for null before used.",
  "NULL_RETURN_STD_CSHARP.description": "The Dereference of Null Return Value from Standard Library checker finds instances of dereferencing a return value from a C# standard library method without checking it for null even through the method can return null.\nIf a standard library method's return is dereferenced without a null check, an exception may be thrown.\nA return value from a standard library method that can return null must be checked for null before used.",
  "NULL_RETURN_USR.description": "A warning is created when user defined methods that have the possibility of returning null are, is used to allocate a value in a certain variable and the variable is dereferenced without checking whether it is null. Usually in all programs, all functions that can possibly return null have to be checked if it returns null before using it. If not, the system can stop functioning.\nWhen the java analyzer has to detect the NULL_RETURN_USR rule, the user has to provide the library definition to the engine and this can be achieved in two ways.",
  "NULL_RETURN_USR_CSHARP.description": "This issue is reported when methods from user defined libraries that can return null is assigned to a variable, and the variable is dereferenced without checking for null. In most programs, return values of functions that can return null should always be checked for null. If this is not the case, system functionalities may stop.",
  "NULL_SHALL_BE_POINTER_CONSTANT.description": "The Assignment of Integer-type Null to Pointer Variable checker finds instances of assigning an integer value of 0 to a pointer type variable.\nIn addition to pointer assignment, the occurrences of the equality, inequality, and ternary operators are subject to the check for the assignment of integer 0 to a pointer variable.\nA 0 to be assigned as a null to a pointer must not be of an integer type such as int, but must be cast to a pointer type such as void *. Typically, you can assign the NULL macro defined in the standard header.",
  "NULL_SHALL_NOT_BE_INTERGER_VALUE.description": "The Use of Null Pointer for Integer checker finds expressions that use null pointers instead of integers.\nA null macro used to a null pointer is usually an integer, zero.\nUse a null macro in case of a null pointer, and use zero for other circumstances.",
  "NULL_STATEMENT_FOUND.description": "The Empty Statement checker finds instances of using an empty statement in a non-allowed way.\nUse empty statements only in a way that meets the requirements, do not use them at all.",
  "NcssConstructorCount.description": "The NCSS algorithm used by this rule calculates the number of lines of code of certain constructors. NCSS counts the number of statements, not including the number of comments. Single statement over multiple lines is still considered a single statement. By default, detects constructors with more than 100 statements.",
  "NcssMethodCount.description": "The NCSS algorithm used by this rule calculates the number of lines of code of certain methods. NCSS counts the number of statements, not including the number of comments. Single statement over multiple lines is still considered a single statement. By default, detects methods with more than 100 statements.",
  "NcssTypeCount.description": "The NCSS algorithm used by this rule calculates the number of lines of code of certain types. NCSS counts the number of statements, not including the number of comments. Single statement over multiple lines is still considered a single statement. By default, detects types with more than 1500 statements",
  "NegativeArraySize.description": "Declaration of array with negative size is undefined behaviour",
  "NegativeIndex.description": "Array index -1 is out of bounds.",
  "NegativeMemoryAllocationSize.description": "Memory allocation size is negative.",
  "NoClassAttribute.description": "Attribute 'class' is not allowed, and use of it will be detected. It is recommended to use attribute 'style' for CSS style.",
  "NoConstructor.description": "The class 'classname' does not have a constructor although it has private member variables. Member variables of builtin types are left uninitialized when the class is instantiated. That may cause bugs or undefined behavior.",
  "NoCopyConstructor.description": "class does not have a copy constructor which is recommended since the class contains a pointer.",
  "NoExplicitConstructor.description": "Class 'classname' has a constructor with 1 argument that is not explicit. Such constructors should in general be explicit for type safety reasons. Using the explicit keyword in the constructor means some mistakes when using the class can be avoided.",
  "NoHtmlComments.description": "HTML comments increases payload between the application server and client. It is recommended to use JSP comments.",
  "NoInlineScript.description": "Detect use of inline script of HTML. If the HTML script within <script> is extracted using attribute 'src', the script is reused between pages, and the browser caches this decreasing the overall download bandwidth.",
  "NoInlineStyleInformation.description": "Detect inclusion of style related information (Ex. <b>, <font>, or other attribute tags like align='...') in a JSP file.",
  "NoJspForward.description": "Detect forwarding between JSP files.",
  "NoLongScripts.description": "Detect inclusion of long scripts (Ex. Javascript) in a JSP file. Inclusion of many scrips in the JSP file increases the page load between the client and server. It is recommended to create a separate Javascript file and include it.",
  "NoPackage.description": "Detect code without any package declaration.",
  "NoScriptlets.description": "Detect inclusion of Scriplet in a JSP file. It is recommended to create a separate tag library instead of directly writing Java code in the JSP file.",
  "NonCaseLabelInSwitchStatement.description": "Detect labeling other than SwitchLabel with normal case numbering in a switch statement.",
  "NonStaticInitializer.description": "Detect non-static initialization block being called before the call of the constructor. This is a very useful method, but is used rarely and can cause confusion.",
  "NonThreadSafeSingleton.description": "Detect use of non thread-safe static singleton.",
  "ONE_DEFINITION_RULE.description": "The Violation of One Definition Rule checker finds code that performs more than one definition for a non-inline function or object.\nEnsure that a function or object has a single definition.",
  "ONE_READ_CHAR_PUSH_BACK.description": "The Multiple Calls to ungetc() checker finds instances of multiple calls to the ungetc() function.\nThe functions subject to this rule include both ungetc() and ungetwc().\nIf more than one character needs to be pushed by ungetc(), then fgetpos() and fsetpos() should be used before and after reading the data instead of pushing it back with ungetc().",
  "ONLY_ARG_DEPENDENT_LOOKUP.description": "The Ambiguous Call to Template Function checker finds expressions that call a template function ambiguously.\nAn ambiguous call is made as follows: Regular Function A is declared with a name of \"X.\" Template Function B is defined to call Function A. Subsequently, in Namespace C, Struct D is defined to contain a conversion operator of the same type as that of Function A's parameter. In the same Namespace C, Function E is defined to take Struct D as an argument and have the same name of \"X\" as Function A. Function F is defined in which an object of Struct D is defined and then a function named \"X\" is called. In this situation, it is unclear which function is referred to by the name \"X\" between Function A and Function E.\nUse a qualifier to clarify the function you are intending. This helps to call the correct function.",
  "ONLY_DECLARE_TRIVIAL_FUNCTINS_INLINE.description": "The Inline Declaration of Complex Function checker finds complex functions declared as inline.\nThe complex function indicates a function with a loop or recursive call.\nDo not use the inline keywords in the complex functions. Ensure to use the inline keyword for a simple function, if needed.",
  "ONLY_INLINE_NON_VIRTUAL_CTOR_DTOR.description": "The Inline Declaration of Special Method checker finds instances in which certain class methods are declared with the inline keyword.\nThe special methods checked by the checker include virtual methods, constructors, and destructors.\nDo not use the inline keyword for virtual functions, constructors, or destructors. Use this keyword only for simple, non-virtual methods.",
  "ONLY_INLINE_SIMPLE_FUNCTION.description": "The Inline Declaration of Non-trivial Function checker finds non-trivial functions declared as inline.\nThe non-trivial function indicates a function with LOCs or statements more than specified. The numbers can be optionally set up.\nDo not use the inline keywords in the non-trivial functions.",
  "ONLY_LOOP_CONTROL_IN_FOR.description": "Do not use the variables other than the controlling variable in the for loop. In the section where the variable is initialized, incremented and controlled, there should only be one variable.",
  "ONLY_LOOP_COUNT_INC_DEC.description": "The Increment on Non-loop Counter Variable checker finds for loops that perform an increment/decrement operation on a variable other than the loop counter in the increment section.\nMake sure that only the loop counter is incremented or decremented in the increment section of a for loop.",
  "ONLY_MAIN_IN_GLOBAL_SCOPE.description": "The Variable and Function Declaration in Global Scope checker finds variable or function declaration in global scopes except main function and namespace.\nEnsure not to declare variables or functions in global scopes except main functions and namespace.",
  "ONLY_ONE_LOOP_COUNT_INIT.description": "The Initialization of Non-loop Counter Variable finds for loops that initialize a variable other than the loop counter in the initialization section.\nMake sure that only the loop counter is initialized in the initialization section of a for loop.",
  "ONLY_THROW_OBJECT_OF_CLASS_TYPE.description": "The Throwing of Non-allowed Exception checker finds instances of throwing an exception that is not of an allowed type.\nThe checker allows a class type only; other types are not allowed.\nA class type to throw as an exception needs to be inherited from std::exception class.",
  "ONLY_VIRTUAL_FUNC_DEFINITION_ON_INHERIT_HIERARCHY.description": "The Duplicate Definition of Virtual Function checker finds incidents that child classes override virtual functions defined by parent classes.\nTherefore, a function gets executed as the same under any levels of hierarchy. It is not object oriented, but can strengthen safety.\nEnsure that a parent class performs one definition for each virtual function. Or ensure that a parent class defines pure virtual function, then, a child class performs one definition.",
  "OPEN_REDIRECT.description": "The Redirect to Untrusted Site checker finds instances of redirecting to a URL generated with an unvalidated external input.\nMaintain a whitelist of external site URLs and domains allowed for redirection, which needs to be checked when a user input is passed as a redirect URL.",
  "OPEN_REDIRECT_ASPNET.description": "The Redirect to Untrusted Site checker finds instances of redirecting to a URL generated with an unvalidated external input.\nMaintain a whitelist of external site URLs and domains allowed for redirection, which needs to be checked when a user input is passed as a redirect URL.",
  "OPERATOR_NEW_AND_DELETE_MISMATCHED.description": "The Failure to Overload Both Memory Operators in Same Scope checker finds classes in which only either of the new and delete operators is overloaded.\nMake sure that both the new and delete operators are overloaded in the same scope.",
  "OPTION.CUSTOM_CHECKER.CVSS_RANGE.MINIMUM.INVALID_RANGE": "Maximum CVSS score must be greater than or equal to minimum. ",
  "ORDER_EXCEPTIONS_FROM_DERIVED_TO_BASE.description": "The Catch Blocks in Incorrect Sequence checker finds instances in which catch blocks are not arranged in derived-to-base order.\nMake sure that the catch blocks are arranged from those for the derived to those for the base.",
  "ORGANIZE_CLASS_DEFINE.description": "The Class Members Placed Not in Proper Order of Accessibility checker finds classes whose member fields are not placed in the order of those declared public, protected, and private.\nPlace the class member fields in the order of those declared public, protected, and private. This rule applies to both methods and fields.",
  "ORIGINAL": "Original open source",
  "OS_COMMAND_INJECTION.description": "The OS Command Injection checker finds instances in which an internal system command is executed by an unvalidated external input.\nIf an external input is not validated by the strpbrk() function before executing a system command, the checker reports a defect.\nIf a command needs to be generated or selected based on an external input, whitelist safe values for command generation and restrict values determined by external inputs to those selected from within the whitelist.",
  "OVERLOADED_FUNCTION_TEMPLATE_NOT_BE_SPECIALIZED.description": "The Ambiguous Call to Explicitly Specialized Function checker finds calls to overloaded functions that have an explicit specialization.\nExplicit specialization refers to implementing a special version of a template or template member that supersedes the primary definition for all of its parameters. For example, a function template can be explicitly specialized for all its replaceable parameters.\nOverloaded function templates shall not be explicitly specialized. Or do not use explicit specializations.",
  "OVERRIDE_ALL_OVERLOADS_OF_BASE_CLASS.description": "The Missing Overriding of Overloaded Function checker finds derived classes that fail to override any of the overloaded virtual functions from the base class.\nOverloading refers to a class having functions with the same name but different numbers or types of parameters. Overriding refers to a derived class redefining the implementation of a method of its base class.\nBe sure to override all overloaded virtual functions. Some regular virtual functions may not need to be overridden depending on their implementation. However, if any overloaded function is overridden, all overloaded functions must be overridden.",
  "OVERRIDE_HASHCODE_AND_EQUALS.description": "The Sematic Mismatch between Equality and Hash Code checker finds instances of overriding only either of the Equals() and GetHashCode() methods-Equals() is to determine whether two objects are equal, and GetHashCode() is to get a hash code for an object.\nBoth or neither of the hashCode() and equals() methods must be overridden.\nIt is recommended to override both methods or neither of them. When implementing their overrides, make sure objects determined by equals() to be equal have the same hashCode() value, and objects having different hashCode() values are determined by equals() to be inequal.",
  "OVERRIDE_PURE_TO_NON_PURE.description": "The Overriding of Pure Virtual Function checker finds method declaration that pure virtual functions are overridden to pure virtual functions again.\nThe pure virtual function can be normally overridden in child class.",
  "OneDeclarationPerLine.description": "Detect declaration of multiple variables in a single line. Declaring multiple variables in a single line decreases readability.",
  "OnlyOneReturn.description": "Detect multiple return statements in a single method.",
  "OperatorEq.description": "The class::operator= does not conform to standard C/C++ behaviour. To conform to standard C/C++ behaviour, return a reference to self (such as: 'class &class::operator=(..) { .. return *this; }'. For safety reasons it might be better to not fix this message. If you think that safety is always more important than conformance then please ignore/suppress this message. For more details about this topic, see the book \"Effective C++\" by Scott Meyers.",
  "OperatorEqMissingReturnStatement.description": "No 'return' statement in non-void function causes undefined behavior.",
  "OperatorEqRetRefThis.description": "'operator=' should return reference to 'this' instance.",
  "OperatorEqShouldBeLeftUnimplemented.description": "'operator=' should either return reference to 'this' instance or be declared private and left unimplemented.",
  "OperatorEqToSelf.description": "'operator=' should check for assignment to self to ensure that each block of dynamically allocated memory is owned and managed by only one instance of the class.",
  "OperatorEqVarError.description": "Member variable 'classname::' is not assigned a value in 'classname::operator='.",
  "OppositeInnerCondition.description": "Opposite inner 'if' condition leads to a dead code block.",
  "OptimizableToArrayCall.description": "Detect creating and inserting an array with index 0 as the PrimarySuffix for toArray().",
  "PACKAGE_COMMENT.description": "The Package Comment Format finds package comments that violate their format.\nYou can optionally specify possible comment format.\nWrite method comments in accordance with the specified format.",
  "PACKAGE_PATH.NICE.description": "Detect if source package path from the Biz column and from the xml are different.",
  "PARAMETER_POINTER_TO_LOCAL.description": "The Local Variable Address Referenced from Outside checker finds instances in which the address of a local variable is referenced from outside the function.\nIf a parameter is passed by reference into a function and the reference or pointer points to the address of a local variable therein, the reference is no longer valid once the function ends, triggering this issue.\nDo not assign a local variable's address to an external pointer.",
  "PASS_BY_VALUE.description": "Using large data like structure as function's argument is inefficient. \nThe structure that is no bigger than the predefined size should be used as an argument.",
  "PASS_OBJECT_OF_CORRECT_TYPE_TO_VA_START.description": "TheViolation of va_start Macro Limitation rule detects violations of the limitations of the va_start macro used when dealing with variable arguments.\nThe limitations of the va_start macro include the following items.\nYou must not pass a reference type as the second argument to the va_start macro.\nPassing a class with a generic copy constructor, move constructor, or destructor as the second argument is supported as Implementation defined, which means that it may or may not be supported by the compiler.\nYou can pass parameters declared with the register keyword or parameters of function type.\nYou should not pass an object of type array.\nYou should not pass objects that cause default argument promotion.\nViolating any of the limitations of the va_start macro is undefined behaviour.",
  "PATENT_WARNING": "Patent dispute risk",
  "PATH_TRAVERSAL.description": "The Path Manipulation checker finds instances of using an unvalidated external input in creating a path to access the file system.\nIf external inputs are used as identifiers for resources (such as files), make sure they pass appropriate validation. Especially, if external inputs are filenames, use a filter to remove characters such as \", /, \\, and ..  that can be exploited for a directory traversal attack.",
  "PATH_TRAVERSAL_ASPNET.description": "The Path Manipulation checker finds instances in which an unvalidated external input creates a path accessible to the file system.\nIf external inputs are used as identifiers for resources (such as files), make sure they pass appropriate validation. Especially, if external inputs are filenames, use a filter to remove characters such as \", /, \\ and ..  that can be exploited for a directory traversal attack.",
  "PERSISTENT_COOKIE.description": "The Storage of Sensitive Data in Persistent Cookie checker finds instances of storing sensitive date in a cookie whose lifespan is set too long.\nCookie expiration must be set minimum in consideration of session duration, and permanent cookies should not contain important information such as user privileges and session IDs.",
  "PERSISTENT_COOKIE_ASPNET.description": "The Storage of Sensitive Data in Persistent Cookie checker finds instances of storing sensitive date in a cookie whose lifespan is set too long.\nCookie expiration must be set minimum in consideration of session duration, and permanent cookies should not contain important information such as user privileges and session IDs.",
  "PLACE_PLAIN_CHAR.description": "The Use of Number for plain char Type checker finds instances of assigning or comparing a number to a variable of the plain char type with no signedness specification.\nDo not use a numeric value for the plaint char type.",
  "PLACE_SIGNED_CHAR.description": "The Use of Character for signed char Type checker finds instances of assigning or comparing a character to a variable of the unsigned char or signed char type.\nDo not use a character for the signed char type.",
  "PLAINTEXT_PASSWORD.description": "The Storage of Password in Plaintext checker finds instances of storing unencrypted passwords.\nPasswords must be encrypted by a highly secure cryptographic algorithm before stored and managed.",
  "PLAIN_CHAR_OPERATION.description": "The Use of Arithmetic Operator for plain char Type checker finds instances of using a arithmetic operator to a variable of the plain char type with no signedness specification.\nDo not use a arithmetic operator for the plaint char type.",
  "PLATFORM_LIMITATION": "Limited to certain platforms",
  "POINTER_ARITHMETIC_NOT_ON_ARRAY.description": "The Pointer Operation on Non-array checker finds expressions that perform a pointer operation on a non-array pointer object.\nMake sure a pointer operation is performed only on an array object or on a pointer to an array object.",
  "POSTFIX_OPERATOR_SHOULD_RETURN_CONST.description": "The Postfix Operator with Wrong Qualifier checker finds overloads of the postfix increment and decrement operators that are not declared with the const qualifier.\nThe postfix increment and decrement operators refer respectively to the ++ and -- operators that come after the operand. When specifying an overloaded operator for the postfix form of the increment or decrement operator, the additional argument must be of type int; specifying any other type generates an error. The checker searches for const-qualified declarations of operator++(int) and operator--(int).\nThe postfix increment and decrement operators must return a const-qualified object.",
  "POSTPONE_VARIABLE_DEFINITIONS.description": "The Too Wide Live Range of Variable checker finds instances in which a local variable is declared much earlier than its actual use and thus stays live in a broad range.\nAn unnecessary cost of construction and destruction can be saved by delaying variable definition right before its use. Moreover, it helps to locate positions of variable declaration.\nDeclare local variables right before their use to reduce their live ranges as much as possible.",
  "POTENTIAL_INFINITE_LOOP.description": "The Potential Infinite Loop checker finds loops that may potentially execute an infinite number of iterations.\nThe checker determines there can possibly be an infinite loop if: - An intentional infinite loop is used without a break or return statement to exit the loop. You can optionally set the checker not to raise the alarm for this case.- In a for loop, the condition section is empty. When using a for loop, it is recommended to add an exit condition to the condition section. You can optionally set the checker not to raise the alarm for this case.- In a for loop, the loop counter's value is modified within the loop block. In a for loop, it is recommended to let the loop counter count only in the increment section. You can optionally set the checker not to raise the alarm for this case.- A loop counter of a base type such as int is compared for equality (==) or inequality (!=) and does not constantly increment or decrement at each iteration. - A loop counter of a base type such as int increments or decrements in the direction opposite to the loop limit value. - The value of a loop counter remains unchanged in the loop.\nDo not write code that may fall into an infinite loop.",
  "PRECEDE_INCLUDE.description": "The #include Not at Top of File checker finds files in which #include preprocessor statements are not located at the top.\nIn case a file begins with another preprocessor statement or a comment, the checker allows it as an exception.\nUnless subject to this exception, make sure #include comes at the top of the file.",
  "PREDICATES_SHOULD_NOT_HAVE_NONSTATIC_DATA.description": "The Modification to Non-static Field in Predicate checker finds declarations of predicate methods that modify the value of a non-static field.\nA predicate is a special type of class passed as a predicate function object to an STL algorithm. It is typically a class that provides an overloaded ( ) operator method.\nIt is not recommended to use a field in a predicate. If its use is unavoidable, declare the predicate method const to ensure the field is immutable.",
  "PREFER_SPECIAL_MEMBER_AND_OVERLOADED_OP.description": "The Use of C Standard Library to Target Unsuitable Class Object checker finds code that uses some C standard library to perform an operation on objects of non-trivial class or non-standard layout class.\nSeveral C standard library functions perform byte operations on objects. For example, std::memcmp() compares the bytes comprising the object representation of two objects, and std::memcpy() copies the bytes comprising the object representation into the destination buffer. However, for some object types, it results in undefined behavior. Do not use std::memset() to initialize an object of nontrivial class type. And do not use std::memcpy() to create a copy of the object. Also, you must not use std::memcmp() to compare objects of non-standard layout class types. Principally, it is recommended to use the alternatives provided by C++.\nEnsure to use special methods of the class or operator overloading instead of the C standard library.",
  "PREFER_TO_USE_SIGNED_VALUE.description": "The Use of Unsigned Number checker finds instances of using an unsigned number.\nIt is recommended to use a signed number instead of the unsigned number. Conversion between the signed and unsigned numbers can cause issues that are not easily identifiable.\nUse a signed number instead of unsigned number.",
  "PREMATURE_THREAD_TERMINATION.description": "The Failure to Detach Child Thread in Multithreaded Environment checker finds instances of multithreading in which a parent thread neither joins its children to wait for their finish nor detaches them (in the case the parent needs to finish earlier).\nThe checker reports a defect if a call to pthread_create() is not followed by a call to pthread_join() or pthread_detach() by the parent thread when using pthreads.\nA call to pthread_create() must be followed by a call to pthread_join() or pthread_detach() by the parent thread.",
  "PRESERVE_ARRAY_DIMENSION.description": "The Array Decayed to Pointer checker finds incidents that objects are decayed to pointer by being passed to arguments.\nEnsure not to decay the arrays to pointers while passing them to arguments. It is highly recommended to encapsulate array objects. If needed, pass the array by declaring parameters with scopes. You can declare an array type object to be used as an pointer by assigning the object to a pointer type variable. Or, specify an array type to be converted into a pointer type by using an explicit expression, such as &amp;arr[0].",
  "PRESERVE_THREAD_SAFETY_AND_LIVENESS.description": "The Misuse of Condition Variable checker finds instances of using condition variables incorrectly, thereby undermining thread safety and liveness.\nMisuse of condition variables refers to an inappropriate invocation of the cnd_wait() function, which is typically used to unblock a thread.\nMake sure each thread uses a unique condition variable. Alternatively, you can use cnd_broadcast() instead of cnd_signal().",
  "PREVENT_DATA_RACES.description": "The Access to Bit-field by Multiple Threads checker finds instances of modifying adjacent bit-fields in different threads.\nWhen storing adjacent bit-fields, protect them with a mutex before proceeding with data modification.",
  "PREVENT_DESERIALIZATION_OF_UNTRUSTED_DATA.description": "Serialization involves copying instance information into a byte stream that replicates the state of the object running in memory, which is then saved as a file or passed to the receiving end.  Deserialization is the opposite operation, transforming a binary file or byte stream into an object with a structure. During the process of sending serialized data over a network from a sender to a receiver, an attacker may manipulate the transmitted or stored stream. This untrusted deserialization creates a security vulnerability that can lead to integrity violations, remote code execution, and denial of service (DoS) attacks.\nVariables in uninitialized stack memory areas may be considered as inconsequential random numbers. However, they may store the values used in previous functions. An attacker can exploit this weakness to read values stored in memory or execute specific code.\nAfter inheriting `ObjectInputStream`, implement a `WhitelistedObjectInputStream` object for its use. When you execute `readObject()` in `WhitelistedObjectInputStream`, the `resolveClass` function is called for whitelist validation. This throws exceptions for any data that are not included in the list.",
  "PREVENT_MATH_FUNCTIONS_ERROR.description": "The Range Error in Math Function checker finds domain and range errors in math functions.\nA domain error occurs if an input argument is outside the domain over which the mathematical function is defined. A range error occurs if the mathematical result of the function cannot be represented in an object of the specified type, due to extreme magnitude.\nCheck the range of the input value before using a math function, then check the range of the output value.",
  "PREVENT_OPERATIONS_ON_DEVICES.description": "The Performance of Operation on Device checker finds instances of performing operations on devices that are only appropriated for files.\nBefore opening a file or performing certain operations on it, determine if the file is a regular file, not a special device.",
  "PREVENT_SENSITIVE_DATA_WRITE_TO_DISK.description": "The Sensitive Data Written Out from Memory to Disk checker finds instances of writing sensitive data in memory out to the disk, thus unexpectedly exposing it externally.\nMake sure sensitive data resides in memory for the shortest time possible and is cleared from memory immediately after its use. Also, to prevent sensitive data from being written to disk, disable memory dumps that are generated from an abnormal termination of the program.",
  "PREVENT_XML_INSERTION.description": "The XML Insertion checker finds code that uses an untrusted external input that is not properly filtered out in XML document.\nThe untrusted external input, userInput variable, needs to be converted into an unsigned integer type, which disables to insert any XML tags.",
  "PRIVACY.ACCOUNT.description": "The Account Information in Code checker finds bank account information included in code.\nDo not include bank account information in code.",
  "PRIVACY.CREDIT_CARD.description": "The Credit Card Information in Code checker finds credit card information included in code.\nDo not include credit card information in code.",
  "PRIVACY.DRIVER_LIC.description": "The Driver's License Number Information in Code checker finds driver's license number information included in code.\nDo not include driver's license number information in code.",
  "PRIVACY.EMAIL.description": "The Email Information in Code checker finds email information included in code.\nDo not include email information in code.",
  "PRIVACY.FOREIGNER_ID.description": "The Alien Registration Number Information in Code checker finds alien registration number information included in code.\nDo not include alien registration number information in code.",
  "PRIVACY.IP.description": "The IP Information in Code checker finds ip information included in code.\nDo not include ip information in code.",
  "PRIVACY.NATIONAL_ID.description": "The Social Security Number Information in Code checker finds social security number information included in code.\nDo not include social security number information in code.",
  "PRIVACY.PASSPORT.description": "The Passport Number Information in Code checker finds passport number information included in code.\nDo not include passport number information in code.",
  "PRIVACY.PHONE.description": "The Phone Number Information in Code checker finds phone number information included in code.\nDo not include phone number information in code.",
  "PRIVACY_CONCERNS_USING_GEOLOCATION_API.description": "The Failure to Check Permission on Geolocation API checker finds code that uses the Geolocation API to obtain the user location information, but fails to check user permission on it.\nThe Geolocation API allows a web browser to access the geographic location of a user device. Specification of the API prohibits user agents from sending location information to websites without the user's permissions as follows: \"User Agents must not send location information to Web sites without the express permission of the user. User agents must acquire permission through a user interface, unless they have prearranged trust relationships with users, as described below. Those permissions that are acquired through the user interface must be revocable and user agents must respect revoked permissions.\" To comply with the requirement above, you need to obtain permissions through the user interface to send location information to the website.The checker finds where executable code does not exist between a call to super.onGeolocationPermissionsShowPrompt() and a call to android.webkit.GeolocationPermissions.Callback.invoke().\nCheck the user permission by placing executable code between the call to super.onGeolocationPermissionsShowPrompt() and the call to android.webkit.GeolocationPermissions.Callback.invoke().",
  "PRIVATE_COLLECTION.ASSIGN.description": "The Storage of External Data in Private Collection checker finds instances of storing an externally accessible collection or pointer object in a private field.\nA collection or pointer object sent as a public field variable or a variable argument sent by a public method can be accessed into from outside.\nA private collection of pointer field must assume an object created directly in a class. When passing external data to the field, do not store the object itself, but store a copy of its individual elements.",
  "PRIVATE_COLLECTION.description": "The Private Collection Exposure checker finds instances in which a non-private method returns a private-declared array or collection field's object.\nDo not have a private collection object returned as it is by a public method. If such an implementation is needed, return a copy of it instead, or define another public method that controls access and modification to the data of the private collection.",
  "PROCESS_CONTROL.description": "The Loading of Externally Provided Path into Library checker finds instances of using an externally provided path to load a library or execute a command.\nMake sure externally provided paths are not loaded into a library.",
  "PROGRESS": "Progress",
  "PROHIBIT_DELETE_CONTAIN_ELEMENT_NUM.description": "The Indexing in Array Deallocation checker finds instances in which the delete[] operator is used to deallocate an array but with an index specified.\nDo not specify an index when using the delete[] operator to deallocate an array.",
  "PROHIBIT_ENUM_TYPE_BITFIELD.description": "The enum Declaration of Bit Field checker finds incidents of declaring enum types on bit fields.\nDo not use the enum types on the bit fields.",
  "PROHIBIT_ENUM_TYPE_BITFIELD2.description": "-",
  "PROHIBIT_FUNC_IN_STDLIB.description": "The Use of Forbidden Standard Library checker finds calls to standard library functions that are forbidden.\nThe forbidden functions include abort(), exit(), getenv(), and system() that are defined in stdlib.h.\nDo not use a forbidden standard library function.",
  "PROHIBIT_FUNC_IN_TIME.description": "The Use of Forbidden Time Library checker finds preprocessor directives that include a time library header.\nUnlike other checkers for forbidden functions, this checker prohibits including a header file itself. The forbidden time library is time.h.\nDo not use a forbidden time library function.",
  "PROVIDE_INSTALLATION_INFORMATION_REQUIRED": "Installation information required",
  "PROVIDE_OUTPUT_OPERATOR.description": "The Output Operator Unprovided checker finds classes that do not provide output operators for ostream.\nThe output operator indicates operator<<() method. To be specific, the checker checks that a reference type of ostream is returned, and operator<<() method is declared as friend, and alerts when a class does not satisfy those conditions.\nDefine the output operators in all classes.",
  "PROVIDE_PROPERLY_ALIGNED_POINTERS_TO_PLACEMENT_NEW.description": "The Invalid Use of Placement new checker finds expressions that call placement new on a misaligned address.\nPlacement new does not allocate memory but constructs an object at an existing memory location.\nWhen using placement new, use a well aligned memory address as the target buffer.",
  "PTR_EXCEED_TWO_LEVELS.description": "The Pointer with More than Two Levels of Indirection checker finds instances of declaring a pointer variable that has more than two levels of indirection.\nA pointer may be declared as a double or triple pointer in accordance with its indirection levels.\nWhen declaring a pointer, restrict its indirection to two levels at maximum.",
  "PUBLICLY_DERIVED_CLASS_SHOULD_BE_ABSTRACT.description": "The Public Inheritance of Non-abstract Class checker finds non-abstract classes publicly derived from their child classes.\nEnsure that base classes are declared abstract when they are publicly inherited.",
  "PUBLIC_DATA_ASSIGNED_TO_PRIVATE_ARRAY.description": "The Storage of External Data in Private Array checker finds instances of storing an externally accessible array object in a private array field.\nA private array field must assume an array created directly in a class. When passing external data to an array, do not store the array object itself, but store a copy of its individual elements.",
  "PUBLIC_FIELD_SHOULD_BE_USED_WITHOUT_METHOD.description": "The Coexistence of Method and Public Instance Field checker finds declarations of public instance fields that belong to a class containing a method definition.\nDeclare all instance fields as private or protected, or remove all method declarations in the class.",
  "PUBLIC_STATIC_FIELD_WITHOUT_CONST.description": "The Static Member Variable Not Marked Const checker finds where an object contains a public static member variable that is not marked const.\nA public static member variable can be read without an accessor and changed by any class in the application.\nMake sure to use the const keyword when declaring the public static member variables.",
  "PURPOSE_RESTRICTION": "Limited to certain purpose",
  "PackageCase.description": "Detect package name consisting not only of lower case characters.",
  "PointerAdditionResultNotNull.description": "Comparison is wrong. Result of 'ptr+1' can't be 0 unless there is pointer overflow, and pointer overflow is undefined behaviour.",
  "PointerArithBool.description": "Converting pointer arithmetic result to bool. The boolean result is always true unless there is pointer arithmetic overflow, and overflow is undefined behaviour. Probably a dereference is forgotten.",
  "PositionLiteralsFirstInComparisons.description": "Detect pattern .equals(constant) when comparing constants and variables via equals().",
  "PrematureDeclaration.description": "Detect variable declaration not being located before the block it is going to be used in. If the variable is not declared before the block it is going to be used in, it can be used erroneously.",
  "PreserveStackTrace.description": "Detect new Exception being thrown in a catch statement.",
  "ProperCloneImplementation.description": "Detect super.clone() not being called in method Object clone().",
  "ProperLogger.description": "Logger has to be declared as private static final and should have the correct class. If logger has to be passed to different constructors, private final is also accepted.",
  "PurgedConfiguration.description": "The configuration 'something' was not checked because its code equals another one.",
  "RACE_CONDITION.EXT.description": "The TOCTOU Race Condition Resulting from Reliance on Filename checker finds race conditions occurring between the time of checking a file's state by filename and the time of using it.\nThe checker reports when an already opened file's name is passed in a call to a file function such as chown(), stat(), chmod(), or remove().\nBy using a file pointer or descriptor, you can reduce the risk of accessing an unintended file. When performing a file operation, fchown(), fstat(), and fchmod() are recommended over chown(), stat(), and chmod(), respectively, because they don't trigger race conditions.",
  "RACE_CONDITION.SWITCH.description": "The Race Condition in Switch checker finds switch statements in which the switched variable can be modified while the switch is still executing.\nIn a switch statement, the switched variable may be modified while the switch is still executing.\nStore the test variable in a separate variable and use this variable instead for the switch statement.",
  "RACE_CONDITION.description": "File operations with filename is dangerous. Rather than filename, file descriptor and FILE pointer are recommended for file operations. After a file is opened with the filename, calling the functions such as chown(), stat(), and remove() can be malfunctioning.  Many file-related race conditions can be eliminated by using fchown(), fstat(), fchmod(), and unlink().",
  "RACE_CONDITION_STATIC_DATABASE_CONNECTION.description": "The Race Condition for Database Connection checker finds static declarations of database connection objects.\nA java.sql.Connection object is regarded as a database connection object.\nTransactional resource objects are recommended to be stored in instance fields.",
  "READ": "Read",
  "READ_WRITE_BINARY_DATA.description": "The Improper Transfer of Binary Data checker finds problematic transfers of binary data made across multiple, heterogeneous systems.\nIssues may arise when binary data transfers are made across heterogeneous systems using a function, like fread() or fwrite(), which does not guarantee data integrity.\nFor data transfers between heterogeneous systems, use either a text representation or a special library that ensures data integrity.",
  "REDISTRIBUTION_RESTRICTION": "Restrictions on Software Subcomponents including source code, binary files",
  "REDUNDANT_CAST.description": "The Unnecessary Cast checker finds instances of explicitly casting an object to exactly the same type.\nEliminate unnecessary explicit casts.",
  "REDUNDANT_CONDITION.description": "The Unnecessary Conditional Expression checker finds conditional expressions that are always or never satisfied.\nIf the detected conditional expressions are miswritten by mistake, fix them. Or, some conditional expressions might have been written correctly as intended although their consequents are actually always or never executed. In this case, delete the conditional expressions or the whole of the relevant conditional blocks.",
  "REDUNDANT_NAME.description": "The Identically Named Local and Static Variables checker finds instances in which a local variable and a static variable are given the same name.\nTake care not to give the same name to local and static variables.",
  "REFER_ATOMIC_VARIABLE_MANY_TIMES_IN_EXPRESSION.description": "The Pointing to Atomic Variable Twice in Single Expression checker finds instances of referencing an atomic variable twice in the same expression.\nTake care not to reference an atomic variable twice in the same expression.",
  "RELATIONSHIPS_IN_CONSTANT_DEFINITIONS.description": "The Missing Relation between Constants checker finds instances in which two or more variables are relevant to one another but their relation is not defined in an expression.\nWhen defining a constant relevant to another one, be sure to state their relation in the defining expression.",
  "RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION.description": "The Security Decision Relying on DNS Lookups checker finds instances in which authentication and access controls rely solely on the domain name.\nFor servers with known IP addresses, use their IP addresses.",
  "RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION_ASPNET.description": "The Security Decision Relying on DNS Lookups checker finds instances in which authentication and access controls rely solely on the domain name.\nFor servers with known IP addresses, use their IP addresses.",
  "RELIANCE_ON_UNTRUSTED_INPUTS.description": "The Security Decision Relying on Untrusted Cookie checker finds instances of storing user credentials in a cookie.\nMake sure that critical information such as state information, sensitive data, and user sessions is stored in the server, and security checks are performed on the server side. Understand all the potential areas where untrusted inputs can enter your application. Identify all inputs that are used for security decisions and determine if you can modify the design so that you do not have to rely on submitted inputs at all.",
  "RELIANCE_ON_UNTRUSTED_INPUTS_IN_A_SECURITY_DECISION.description": "The Security Decision Relying on Untrusted Cookie checker finds instances of storing user credentials in a cookie.\nMake sure that critical information such as state information, sensitive data, and user sessions is stored in the server, and security checks are performed on the server side. Understand all the potential areas where untrusted inputs can enter your application. Identify all inputs that are used for security decisions and determine if you can modify the design so that you do not have to rely on submitted inputs at all.",
  "REPRESENTATION_SIGNED_INTEGER.description": "The Assumption of Particular Signed Representation checker finds instances of constructing a wrong expression in the assumption of a specific representation of signed integers.\nDo not assume a specific representation of signed integers. One example of this practice is to use 0x1 or a bitwise operation for a parity evaluation in the assumption of ones' complement.",
  "REQUEST": "Request",
  "RESET_SIGNAL_HANDLER.description": "The Failure to Make Signal Handler Persist checker finds instances of failure to ensure a signal handler persists in different OS environments.\nA signal handler's persistence and behavior differ depending on the operating system and the implementation. Therefore, you need to understand implementation-specific details of its behavior.\nTo make a signal handler persist, use an appropriate, safe approach.",
  "RESET_STRING_ON_FGETS_FAILURE.description": "The Omission of Buffer Initialization after File Read Failure checker finds instances in which a file read function fails but the string buffer to store the function's return is not initialized.\nIf a call to the fgets() or fgetws() function fails, the destination string buffer must be initialized.\nMake sure a check is first performed to test if the file read is successful, and in case of failure, the destination buffer is initialized.",
  "RESOURCE_INJECTION.description": "The Resource Injection checker finds resource identifiers created with an unvalidated external input.\nIf external inputs need to be used for resource identifiers (such as socket ports), whitelist appropriate identifiers and restrict values determined by external inputs to those selected from within the whitelist.",
  "RESOURCE_INJECTION_ASPNET.description": "The Resource Injection checker finds resource identifiers created with an unvalidated external input.\nIf external inputs need to be used for resource identifiers (such as socket ports), whitelist appropriate identifiers and restrict values determined by external inputs to those selected from within the whitelist.",
  "RESOURCE_LEAK_CSHARP.description": "The Resource Leak checker finds instances of failure to release an allocated resource (file, socket, etc.).\nMake sure any resource allocated in a method is freed before the same method ends. Because such a resource often causes an exception when accessed, it is recommended to enclose it with a try block and have possible exceptions thrown in a finally block.",
  "RESTRICT_PARAM_VALUE_RANGE.description": "The Out of Range of Constant Argument in Function checker finds instances in which a constant argument out of range is passed to a function.\nYou can optionally specify an allowable range of each constant argument for each function.\nAdjust the values of the passed constant arguments into range.",
  "RESTRICT_USE_OF_EXTERN_KEYWORD.description": "The Use of extern checker finds instances of using extern keywords.\nDo not allow to use the extern keywords. Do not use the extern keywords where external links are implicitly used.\nDo not use the extern keywords.",
  "RETURN_EMPTY_ARRAY_INSTEAD_OF_NULL.description": "The Return of Null Instead of Empty Array checker finds functions that contain both a statement that returns an array object and a statement that returns null.\nIf a function defined to return an array does not need to return an array of specific values in some context, it is recommended to return an empty array instead of null.",
  "RETURN_ERRNO_WITH_ERRNO_T_TYPE.description": "The Invalid Error Code Return Type checker finds error code return functions whose return type is not declared as errno_t.\nWhen declaring an error code return function, specify its return type as errno_t.",
  "RETURN_FLOAT_CASTING.description": "The Return without Cast to Real Number checker finds instances in which a function is declared to return a real number but does not actually cast the return value to the real number type.\nWhen defining a function returning a real number, be sure to explicitly cast the return value.",
  "RETURN_FREE.description": "The checker detects code that returns a variable pointing to memory that has already been freed.\nCheck if the variable to be returned has already been freed.\n",
  "RETURN_IN_CATCH_STATEMENT.description": "The return Statement in catch Block checker finds catch blocks that contain a return statement.\nStore the return value in a variable and have it returned after the end of the whole try block.",
  "RETURN_LOCAL.description": "The Return of Local Variable Address checker finds instances of returning a local variable's address.\nWhen returning a buffer, it must not be an array allocated on the stack but a dynamically allocated buffer on the heap.",
  "RETURN_PARAM_ADDR.description": "The Return of Argument Address checker finds functions that return the address of an argument passed in.\nIf a function returning by reference is defined to return a passed-in argument as it is, it will return the address of the argument, instead of its value.\nFix the function to return by value or take the argument by reference instead of by value. ",
  "RETURN_REFERENCE_PARAM.description": "The Return of Argument Passed by Reference checker finds functions that take an argument passed in by reference or by const reference and return it by reference or by post.\nDo not let an argument passed by reference returned by reference or pointer. Do not return it, or do return a copy of it instead.",
  "RETURN_SHALL_NOT_HAVE_EXPRESSION.description": "The Return from Void Function checker finds instances in which a void function returns a value.\nDo not include a return statement in a void function.",
  "RETURN_VALUE_SHOULD_BE_CONST.description": "The Failure to Return Allowed Constant checker finds return statements in functions whose return value is not an optionally allowed constant.\nYou can optionally specify allowable constant values.\nHave return statements return an optionally allowed constant value.",
  "REUSE_NAME_IN_DIFFERENT_FILE.description": "The Duplicate Identifier Across Files checker finds instances in which the same function or variable identifier is used across different source files.\nMake sure all objects use different unique identifiers across all source files.",
  "REVERSIBLE_ONE_WAY_HASH.description": "The Weak Hashing Algorithm checker finds instances of using a hashing algorithm known to be insecure.\nIt also finds calls to an hash function such as MMD2, MD5, and SHA1, which is insecure.\nUse secure algorithms.",
  "RULE": "Rule",
  "RUN": "Run",
  "RedundantCondition.description": "Redundant condition: If x > 11 the condition x > 10 is always true.",
  "RedundantFieldInitializer.description": "Java initializes each field to its default value. Therefore, do not initialize to the same value as the default value.",
  "RemoteInterfaceNamingConvention.description": "Name of Remote interface of Session EJB should not end with Session, EJB or Bean.",
  "RemoteSessionInterfaceNamingConvention.description": "Name of Remote Home interface of Session EJB should end with Home.",
  "ReplaceEnumerationWithIterator.description": "Detect use of Enumeration type. This should be replaced with java.util.Iterator.",
  "ReplaceHashtableWithMap.description": "Detect use of Hashtable type. This should be replaced with java.util.Map.",
  "ReplaceVectorWithList.description": "Detect use of Vector type. This should be replaced by java.util.ArrayList.",
  "ReturnAddressOfAutoVariable.description": "Address of an auto-variable returned.",
  "ReturnAddressOfFunctionParameter.description": "Address of the function parameter becomes invalid after the function exits because function parameters are stored on the stack which is freed when the function exits. Thus the returned value is invalid.",
  "ReturnEmptyArrayRatherThanNull.description": "Detect method that returns an array returning a null statement.",
  "ReturnFromFinallyBlock.description": "If return statement is used in a finally block, exception handling may not perform correctly. return statement in the finally block may ignore exceptions that can occur in the try block.",
  "ReturnLocalVariable.description": "Pointer to local array variable returned.",
  "ReturnReference.description": "Reference to auto variable returned.",
  "SAFELY_EXTRACT_FILES_FROM_ZIPINPUTSTREAM.description": "The Insecure File Extraction through ZipInputStream checker finds instances of uncompressing an untrusted archive file without checking the contained files' sizes and names.\nWhen extracting files from an archive file, check the contained files' names and sizes before storing them.",
  "SAME_THE_NUMBER_OF_PARAMETERS.description": "The number of arguments and the number of parameters of the function do not match.",
  "SANITIZE_UNTRUSTED_DATA_PASSED_TO_A_REGEX.description": "The Untrusted Regex checker finds regex strings that contain an unvalidated external input.\nIt is recommended not to allow user-typed inputs to be used for generating a regex. If it is necessary, have those inputs filtered out for special regex characters.",
  "SANITIZE_UNTRUSTED_DATA_PASSED_TO_A_REGEX_ASPNET.description": "The Untrusted Regex checker finds regex strings that contain an unvalidated external input.\nIt is recommended not to allow user-typed inputs to be used for generating a regex. If it is necessary, have those inputs filtered out for special regex characters.",
  "SAVE_UNNECESSARY_REALLOCATION.description": "The Reallocation by Container checker finds expressions that cause a container to unnecessarily reallocate memory.\nA container is a C++ standard library object that stores a collection of various data types. Vectors are one example.\nIf containers can allocate necessary memory, make sure unnecessary reallocation does not occur. In the case of a vector, the reserve() method can be used to secure the necessary memory space inside the vector container in advance.",
  "SCRIPT_INJECTION.REACT.description": "JSON.stringify() is used to convert a JavaScript value or an object into a JSON string. In general, JSON.stringify() can be vulnerable to XSS attacks if used in an API or HTML environment, regardless of any specific vulnerabilities present. \nWhen using JSON.stringify(), filter '<' with replace or use a safe library such as serialize-javascript.\n",
  "SECURITY_DECISION_ON_DNS_LOOKUP.description": "The Security Decision Relying on DNS Lookups checker finds instances in which authentication and access controls rely solely on the domain name.\nFor servers with known IP addresses, use their IP addresses.",
  "SEMI-COPYLEFT": "Varying requirements, such as copyrights or distribution types, resolved by source code disclosure",
  "SENSITIVE_COOKIE_IN_HTTPS_SESSION_WITHOUT_SECURE_ATTRIBUTE.description": "The Insecure Cookie checker finds instances of transferring an unencrypted cookie.\nFor browser cookies that store data, the setSecure() methods must be called with true.\nMake sure that the setSecure() method is called on every cookie object with a value of true passed in.",
  "SERVER_SIDE_REQUEST_FORGERY.description": "The Server-side Request Forgery checker finds accesses to an unvalidated URL that contains an external input.\nWhen accessing a URL that contains an external input, make sure it passes appropriate validation.",
  "SERVER_SIDE_REQUEST_FORGERY_CSHARP.description": "The Server-side Request Forgery checker finds accesses to an unvalidated URL that contains an external input.\nWhen accessing a URL that contains an external input, make sure it passes appropriate validation.",
  "SERVLET_WORK_WITH_COMMITTED_RESPONSE.description": "The Servlet Action after Committed Response checker finds when some action is performed after the servlet's response is committed.\nWhen a web servlet receives a request from a client, it must produce a suitable response. During this process, Java's HttpServlet provides the HttpServletResponse object to capture a suitable response. The response can be built using an output stream provided by getOutputStream() method or a writer provided by getWriter(). And the response is committed when its status code and HTML header have been sent. However, while additional data can be appended to the response after the response is committed, but some actions cannot. For example, the encoding cannot be changed once it is committed because the encoding is included in the HTML header. javax.servlet.http.HttpServletResponse.sendError(int) javax.servlet.http.HttpServletResponse.sendError(int, java.lang.String) javax.servlet.http.HttpServletResponse.sendRedirect(java.lang.String) javax.servlet.http.HttpServletResponse.setDateHeader(java.lang.String,long) javax.servlet.http.HttpServletResponse.setHeader(java.lang.String,java.lang.String) javax.servlet.http.HttpServletResponse.setIntHeader(java.lang.String,int) javax.servlet.http.HttpServletResponse.setStatus(int) javax.servlet.http.HttpServletResponse.setStatus(int,java.lang.String) java.io.PrintWriter.flush() java.io.PrintWriter.append() java.io.PrintWriter.format() java.io.PrintWriter.print() java.io.PrintWriter.printf() java.io.PrintWriter.println() java.io.PrintWriter.write() javax.servlet.ServletOutputStream.flush() javax.servlet.ServletOutputStream.print() javax.servlet.ServletOutputStream.println()\nMake sure not to call certain methods after java.io.PrintWriter.flush() or javax.servlet.ServletOutputStream.flush() is called.",
  "SET_HTTP_ONLY_COOKIES.WEB.CONFIG.description": "The Non-HttpOnly Cookie checker finds instances in which the HttpOnly flag for a cookie is set enabled.\nSet HttpOnly attribute to on for the cookie.",
  "SET_STATIC_IN_NON_STATIC.description": "The Change in Static Field in Instance Method checker finds statements that assign a value to a static field in an instance method.\nAll non-static methods are instance methods.\nIf an instance method needs change in a static field, it is recommended to indirectly change its value by calling a static method.",
  "SHIFT_EXCEEDS_BIT_WIDTH.description": "The Shift Operation Larger than Target Type Size checker finds instances of a shift operator (>> or <<) requiring a larger shift than the bit size of the target type.\nAvoid a shift operation larger than the size of the target type.",
  "SHIFT_NEGATIVE.description": "The Shift Operation on Negative Number checker finds instances of applying a shift operator (>> or <<) to a negative number.\nDo not perform a shift operation on a negative number.",
  "SIDE_EFFECT.DESIGNATED_INIT.description": "The Side Effect in Designator List checker finds designator lists in which expressions have side effects.\nA side effect refers to a side modification that an expression makes to the program's memory status which leads to influencing the evaluation of other expressions.\nMake sure that only expressions having no interference with one another are used as elements in a designator list.",
  "SIDE_EFFECT.INITIALIZER_LISTS.description": "The Side Effect in Initializer List checker finds initializer list expressions that have side effects.\nA side effect refers to a side modification that an expression makes to the program's memory status which leads to influencing the evaluation of other expressions.\nMake sure that only expressions having no interference with one another are used as elements of an initializer list.",
  "SIDE_EFFECTS_IN_UNEVALUATED_OPERANDS.description": "Some expression involve operands that are unevaluated. The following expression do not evaluate their operands:\nsizeof(), typeid(), noexcept(), decltype() and declval().\nSince the operands in an expression is not evaluated, no effects from that operand are triggerd.\nReliance on those effects will result in unexpected behavior.",
  "SIDE_EFFECT_RHS_OF_LOGICAL_OP.description": "The Side Effect on Right-hand Side of Logical Operator checker finds expressions in which the right-hand side of a logical operator contains an operator with a side effect.\nDo not use a operator with side effects on the right-hand side of a logical operator.",
  "SIGNAL_HANDLER_CALLS_LONGJMP.description": "Do not call the function longimp() in the function registered as a signal handler. An issue is reported when the longimp() function is used in the handler.",
  "SIGNAL_HANDLER_CALLS_UNSAFE_FUNCTION.description": "The Call to Function with Unsafe Asynchronous Behavior in Signal Handler Function checker finds instances in which a function registered as a signal handler calls a function that is unsafe when behaving asynchronously.\nYou can optionally specify functions excluded from analysis.\nIn a signal handler, do not call a function that is unsafe when behaving asynchronously.",
  "SIGNAL_HANDLER_USES_NON_VOLATILE_VARIABLE.description": "The Use of Non-volatile Variable in Signal Handler checker finds signal handlers that use a global variable that is not declared volatile.\nMake sure that all global variables used by signal handlers are declared volatile.",
  "SIGN_SEAL_WRITE.description": "The Incorrect Serialization Order checker finds instances of object serialization not performed in the order of signing, sealing, and outputting.\nSerialize objects in the order of signing, sealing, and outputting.",
  "SINGLE_ARGUMENTED_CONSTRUCTOR_SHOULD_BE_EXPLICIT.description": "Ensure that single-argument constructors are marked \"explicit\"",
  "SINGLE_LOOP_COUNTER.description": "The Duplicate Loop Counter checker finds for statements with more than a single loop counter.\nEnsure to use one loop counter in for statements.",
  "SINGLE_OR_MULTI_COMMENT.description": "The Invalid Comment Type checker finds instances that a single line comment is used with multiple line comment specified in option or vice versa.\nYou can optionally specify a comment type between a single line and multi line comment.\nEnsure to use the specified comment type.",
  "SIZEOF_DO_NOT_CONTAIN_SIDE_EFFECTS.description": "The Side Effect in sizeof Operand checker finds calls to sizeof in which their operand have side effects.\nAdditionally, the checker finds calls in decltype with similar issues that are detected in the sizeof functions.\nBe sure that the sizeof operator is not used on expressions that contain side effects.",
  "SIZE_CALCULATION.description": "When using the function malloc() for dynamic memory allocation, the type of the variable must match the type that is used in the function sizeof().",
  "SOCKET_IN_WRONG_STATE.description": "The Misuse of Socket Function checker finds instances of misusing a socket-related function.\nSocket-related functions must be called only in some appropriate states, and the checker reports for calls made to those functions in an improper state.\nMake sure socket-related functions are called in an appropriate sequence.",
  "SOFTWARE_USING_THIS": "All software using this component",
  "SOURCECODE_IN_COMMENT.description": "The Code in Comment checker finds code placed in the middle of comments.\nThe checker search source code within comments (//, /*...*/). It is recommended to remove unnecessary code instead of comment handling.\nDo not place the code in the middle of comments.",
  "SOURCE_CODE": "Source Code",
  "SPECIFICATION_RESTRICTION": "Restrictions tied to specific specifications or standards",
  "SPECIFY_LENGTH_TYPEDEF.description": "The typedef Declaration without Storage Size checker finds typedef declarations for a primitive numeric type that do not specify the size of the storage.\nAmong the primitive numeric types, however, the plain char type and the C data types acting as boolean are excluded from the checks.\nWhen declaring a primitive numeric type with typedef, except for the certain types, be sure to specify the size of the storage.",
  "SQL_ID_PREFIX_PATTERN.KEUMKAMWON.description": "The Financial Supervisory Service's IBATIS SQL ID prefix must be created according to the rules.\n\nEach prefix is as follows.\nSELECT - get\nINSERT - insert\nUPDATE - update\nDELETE - delete",
  "SQL_INJECTION.IBATIS.description": "The IBATIS SQL Injection checker finds an SQL statement generated by an unvalidated external input from client to application.\nIf an unvalidated external input is used for a sting of query commands, attackers can feed an unexpected string to twist a query's meaning or alter its structure, thereby executing an arbitrary database command. To ensure secure coding, change query strings in '$..$' to '#..#' in query command definition for writing iBATIS data map files.\nPass a string as an argument by enclosing with '#..#' instead of '$..$' to prevent its structure from being changed.",
  "SQL_INJECTION.MYBATIS.description": "The MYBATIS SQL Injection checker finds an SQL statement generated by an unvalidated external input from client to application.\nIf an unvalidated external input is used for a sting of query commands, attackers can feed an unexpected string to twist a query's meaning or alter its structure, thereby executing an arbitrary database command. To ensure secure coding, change query strings in '${..}' to '#{..}' in query command definition for writing MyBatis data map files.\nPass a string as an argument by enclosing with '#' instead of '$' to prevent its structure from being changed.",
  "SQL_INJECTION.description": "The SQL Injection checker finds SQL queries that include an unvalidated external input.\nExternal inputs must be validated or parameterized before being used in SQL queries.",
  "SQL_INJECTION_ASPNET.description": "The SQL Injection checker finds SQL queries that use an untrusted external input without validating it.\nExternal inputs must be validated or parameterized before being used in SQL queries.",
  "SQL_INJECTION_HIBERNATE.description": "The SQL Injection via Hibernate checker finds instances in which an SQL statement executed via the Hibernate API is built with an unvalidated external input.\nDo not insert external inputs directly into query statements; instead, create statements with '?' signs put as placeholders for external inputs and when they are executed, pass external inputs as arguments.",
  "SQL_INJECTION_JDO.description": "The SQL Injection via JDO API checker finds instances in which an SQL or JDOQL statement executed via the Java Data Objects (JDO) API is built with an unvalidated external input.\nDo not insert external inputs directly into query statements; instead, create statements with '?' signs put as placeholders for external inputs and when they are executed, pass external inputs as arguments.",
  "SQL_INJECTION_PERSISTENCE.description": "The SQL Injection via J2EE Persistence API checker finds instances in which an SQL statement executed via the J2EE Persistence API is built with an unvalidated external input.\nWhen creating a query statement, use only string constants and the javax.persistence.Query.setParameter() method.",
  "SSI_INJECTION.description": "The SSI Injection checker finds server-side includes (SSIs) that include an unvalidated external input.\nValidate external inputs before using them.",
  "STANDARD_CHARACTERS.description": "The Use of Non-standard Character checker finds string literals that include a non-standard character.\nThe standard characters include alphabetical letters, numbers, ASCII special characters, space, backspace, tab, and newline.\nMake sure that string literals include only standard characters.",
  "STANDARD_ESCAPE_SEQUENCE.description": "The Use of Non-standard Escape Sequence checker finds escape sequences that are not provided in the ISO C standard.\nAn escape sequence is a combination of characters starting with a backslash (\\). The escape sequences provided by the ISO C standard include \\', \\'', \\?, \\\\, \\t, \\v, \\f, \\a, \\b, \\n, \\r, and \\0.\nUse only standard escape sequences.",
  "STATIC_FOR_VARIABLE_USED_IN_ONLY_ONE_FILE.description": "The Global Variable Declaration without Static checker finds instances in which a global variable used only in a single source file is declared without the static keyword.\nGlobal variables used in a single file must be declared static.",
  "STOP": "Stop",
  "STRICT_MODE.CONFIG.description": "In Typescript, the Strict mode enables type-checks extensively, which can make your program more accurate and less prone to errors. Disabling this feature can lead to weak methods being used or various errors being ignored, creating potential vulnerabilities in your source code.\nThe Strict setting enables a total of eight flags, each of which is described below.\n\n1. Always Strict: Enables ECMAScript Strict Mode by adding `use strict` to all source files.\n2. Strict Null Checks: Explicitly handles `null` and `undefined`.\n3. Strict Bind Call Apply: Ensures that the built-in methods of calling, binding, and applying functions are called with the correct arguments to the underlying function.\n4. Strict Function Types: Checks function parameters more precisely.\n5. Strict Property Initialization: Raise an error if a class property is declared but not set in the constructor.\n6. No Implicit Any: Raises an error for variables that are of type `any`.\n7. No Implicit This: Raises an error on a `this` expression that has a type of `any`.\n8. Use Unknown In Catch Variables: Changes the `error` type to `unknown` in the `catch` statement.\n\n\n\n\n\n\nIn the Typescript configuration file, `tsconfig.json` or `jsconfig.json`, declare the `strict` property inside the `compilerOptions` section to be `true`.\n",
  "STRICT_USE_FOPEN_MODE.description": "The Call to fopen() with Invalid Mode checker finds calls to fopen() made with an invalid mode argument passed in.\nWhen opening a file using fopen(), be sure to use a valid mode.",
  "STRING.DUPLICATED.ABAP.description": "The Repeated Use of String Constant checker finds string constants that are used repeatedly.\nThe checker detects instances in which an identical string constant occurs more times than the specified count.\nUse variables for repeatedly used strings.",
  "STRING_CONVERSION_WITH_CONSTRUCTOR.description": "The Return of String Using Constructor checker finds instances in which an object is created and immediately converted to a string through the toString() method.\nFind alternatives that enable conversion to strings without creating a temporary object.",
  "STRING_LITERAL_MODIFICATION.description": "The Modification of String Literal checker finds expressions that modify a string literal.\nDo not modify a string literal after its declaration. If a string needs to be modified later, declare it as something else like an array, instead of a string literal.",
  "STRING_NORMALIZATION_REQUIRED_BEFORE_VALIDATION.description": "The Unnormalized String before Validation checker finds unvalidated external inputs with strings that are not normalized.\nIf you want to validate the untrusted external inputs, strings need to be normalized first and then perform validation on them.",
  "STRTOK_CHANGES_STRING.description": "The Reuse of First Argument for strtok() checker finds instances in which the first argument passed in a call to the strtok() function is reused.\nThe strtok() function is used to split a string into words. In a call to strtok(), the token in the source string is replaced with a null.\nDo not reuse a variable that has ever been passed as the first argument for strtok(). If it needs to be reused, pass a copy of the source text to strtok().",
  "STRUTS.DUPLICATE_VALIDATION_FORM.CONFIG.description": "The Duplicate Name for Validation Forms checker finds that two or more validation forms have the same name of which validates input forms through Apache Struts Validator.\nA name needs to be unique for each validation form, so that an exact validation check can be performed.",
  "SUPPLY_AN_INITIAL_VALUE_FOR_EACH_ENTRIES.description": "The Missing Initializer in Constructor checker finds constructors that omits an initializer for a member that must be initialized.\nRegarding member initialization, the constructor should provide virtual base class constructors, non-virtual base class constructors, and then initial values or constructors for non-static data members. Initialization must be conducted using a member initializer list that includes calls to the constructors from the top base down to the derived in left-to-right order. The list then should include initializers for non-static data members in the order of their declaration.\nConduct initialization in the correct order without any necessary initializers missing.",
  "SWITCH_CASE_IN_SAME_SCOPE.description": "The Out-of-scope case Statement checker finds incidents that case statements are not close to scopes of switch statements.\nTo avoid this, case and default are required to be placed to compound commands in the body of switch statements. In other words, they must locate on the same scopes of the body of switch statements. Also, scopes of case statements are required to be the closest to switch.",
  "SYMBOLIC_LINK_RACE_CONDITION.description": "The Symlink TOCTOU Race Condition checker finds instances of accessing a file in reliance solely on the return from a call to lstat() on it.\nDo not rely solely on lstat(). Call lstat() to check a file's status, call open() to open the file, and then check if a call to fstat() returns the same result as the earlier call to lstat().",
  "SYMMETRIC_OPERATOR_SHOULD_BE_DEFINED_AS_FRIEND.description": "The Non-friend Symmetric Operator checker finds declarations of symmetric operators to which the friend keyword is not applied.\nDeclarations of the assignment operator are not subject to checking by this checker.\nUnless it is an assignment operator, any overloaded symmetric operator must be declared with the friend keyword.",
  "SYNTACTICALLY_AMBIGUOUS_DECLARATIONS.description": "The Grammatically Ambiguous Declaration checker finds code that is too ambiguous to interpret as either an expression or a declaration.\nWhen a programmer write a grammatically ambiguous declaration, compilers might have difficulty to determine it as either a declaration or an expression. In order to avoid ambiguity, you need to use braced-init-list, remove meaningless parentheses around, or use initializer with \"=\" for the explicit declaration. Additionally, avoid using function-style casts, such as  MyClass(3) and int(10), that can be ambiguous to be identified between a call and variable declaration.\nAvoid unnecessary parentheses after variable declarations or use the braced-init_list.",
  "ScopeForInVariable.description": "When a variable is used in a for statement, pay attention to the scope. If a variable is used instead of 'var', since external variable is used, unintentional variable modification can occur.",
  "SelfInitialization.description": "Member variable 'var' is initialized by itself.",
  "ShortClassName.description": "Detect class name less than five characters.",
  "ShortInstantiation.description": "Detect allocation statements such as 'new Short' and 'new java.lang.Short'.",
  "ShortMethodName.description": "Detect method names less than three characters.",
  "ShortVariable.description": "When declaring a variable, except for index of a for loop or formal parameter (exception) of a catch statement, detect variables with length 1 or 2.",
  "SignatureDeclareThrowsException.description": "Detect 'throws Exception' statement when declaring a method.",
  "SimpleDateFormatNeedsLocale.description": "Detect Locale not being set when create an SimpleDateFormat object.",
  "SimplifyBooleanAssertion.description": "Detect use of operator ! in test assertTrue() or assertFalse(). For example, assertTrue(!expr) is replaceable by assertFalse(expr).",
  "SimplifyBooleanExpressions.description": "Detect having true or false in front or behind operator ==.",
  "SimplifyBooleanReturns.description": "Detect if a Boolean value is returned from an if-else statement.",
  "SimplifyConditional.description": "When argument of type null is used for instanceof, false is returned. Extra null checking is not required. Detect if null is checked.",
  "SimplifyStartsWith.description": "Detect if argument for method startsWith() has three characters and starts with \" \" and ends with \" \".",
  "SingularField.description": "Detect private variables that is only used in a single method and first use is an assignment operation.",
  "SizeArgumentAsChar.description": "The size argument is given as a char constant.",
  "StaticEJBFieldShouldBeFinal.description": "Detect if declaration of a field is static, not final in classes that inherit SessionBean, EJBHome, EJBLocalObject or EJBObject.",
  "StdCyclomaticComplexity.description": "This checks if the number of the statements that increase the complexity of the code such as if, while, for, case statements is over 10.",
  "StlMissingComparison.description": "Missing bounds check for extra iterator increment in loop.",
  "StringInstantiation.description": "Detect use of new String(...).",
  "StringToString.description": "Detect call of method toString() in a String object.",
  "StrncatUsage.description": "At most, strncat appends the 3rd parameter's amount of characters and adds a terminating null byte.\\012The safe way to use strncat is to subtract one from the remaining space in the buffer and use it as 3rd parameter.Source: http://www.cplusplus.com/reference/cstring/strncat/\\012Source: http://www.opensource.apple.com/source/Libc/Libc-167/gen.subproj/i386.subproj/strncat.c",
  "SuspiciousConstantFieldName.description": "In a class that is not a interface, detect variable names that are not final, only consisting of upper case letters.",
  "SuspiciousEqualsMethodName.description": "Detect if the method name and number of parameters are similar to equals(Object) because it might not have been intended to override equals(Object).",
  "SuspiciousHashcodeMethodName.description": "Detect if the method name and return type is similar to method hashCode(), because it might not have been intended to override method hashCode().",
  "SuspiciousOctalEscape.description": "Detect suspicious octal escape sequence founded in strings. According to Java language specification(Section 3.10.6), octal escape sequence in a string is structure as: Back-slash(\\) + Octal Digit, OctalDigit OctalDigit, or ZeroToThree OctalDigit OctalDigit. Detect non-octal octal escape sequence in front of a octal number because it can create confusion (Ex. \\038: read as octal sequence \\03 + character 8).",
  "SwitchDensity.description": "Detect using more number of lines than the specified amount in a switch label.",
  "SwitchStmtsShouldHaveDefault.description": "Detect not including a default case in a switch statement. If default case is included, bugs by fall-through or errors can be prevented.",
  "SystemPrintln.description": "Detect call of method System.out.print() or System.err.print().",
  "TABLE_NAME_CONVENTION.SQL.description": "The Noncompliant Table Name checker finds a table name that does not comply with regular expressions specified in an option.\nModify the table name to be comply with the regular expression as specified.",
  "TAG_NAME_SHALL_BE_A_UNIQUE.description": "The Tags with Identical Names checker finds instances in which a name given at a tag declaration is reused elsewhere.\nTags refer to classes, structs, unions, enumerations, etc.\nUse a unique name at each tag declaration.",
  "TAINTED_LOOP_BOUND.description": "Tainted Information from outer environment is used as a loop bound",
  "TAKE_CARE_WHEN_USING_RENAME.description": "The Use of rename() without Duplicate Check checker finds calls to the rename() function that are made without handling the possibilities of duplicate filenames.\nUse it together with other functions to clarify what is intended with the function call. If existing functions are intended to be preserved, the rename() call needs to be preceded by an access() call to check for a duplicate filename taking into consideration use in a POSIX environment. In contrast, if existing functions are intended to be replaced, the rename() call needs to be preceded by a remove() call to remove those existing files in advance taking into consideration use in a Windows environment.",
  "TEMPLATE_SPECIALIZATION_SHOULD_BE_SAME_FILE.description": "The Template Specialization Declaration in Another File checker finds instances that default template and template specialization are declared in each file.\nThe template specialization replaces template parameters with resulting types. Then, its classes, functions, or methods will be converted.\nMake sure to perform the template specialization in the file that base template is declared.",
  "TEMPLATE_WITH_POTENTIALLY_CONFLICTING_METHODS.description": "The Template with Potentially Conflicting Methods checker finds declarations of template methods that can be potentially conflicting when the template is instantiated.\nDo not define potentially conflicting methods in a template class. One workaround for this is to use a different method name or use template specialization. ",
  "TEMP_LIFETIME_OBJ_MODIFICATION.description": "The Modification to Temporary Object checker finds expressions that result in a modification to an object with temporary lifetime.\nDo not modify an object with temporary lifetime. If a modification is necessary, assign its value to a regular variable, then make the modification to that variable.",
  "TESTED_AGAINST_CONSTANT_VALUE.description": "The Complicated Expression for Terminating Condition checker finds instances in which a complicated expression is used instead of constant to evaluate the number of iteration in for loop.\nEnsure to use the constant for condition to control the number of iteration.",
  "THREAD_SHARE_LOCAL_VARIABLE.description": "The Local Variable Shared between Threads checker finds instances in which a thread-local variable is accessed by another POSIX thread.\nAccessing the stack or thread-local variables of a thread from another thread can cause invalid memory accesses.\nTo allow data sharing between threads, use allocated memory or static variables.",
  "THROW_NOT_IN_CATCH_STMT.description": "The Empty throw Statement checker finds incidents that throw statements do not throw any objects without exception handlers.\nEnsure to avoid using the empty throw statements except when they are in the bodies of exception handlers.",
  "THROW_NULL.description": "The Throwing of Null Exception checker finds instances of explicitly throwing a null pointer as an exception.\nDo not throw the null pointer as an exception.",
  "THROW_PTR_TYPE.description": "The Throwing of Pointer Type Exception checker finds statements throwing pointer type exceptions.\nDo not throw pointer types as an exception.",
  "TIMEOUT_EXCEPTION_WITH_BACKEND": "A timeout error occurred during backend communication.",
  "TMP_FILE_IN_SHARED_DIR.description": "The Creation of Temp File in Open Directory checker finds instances of creating a temporary file in an open directory accessible to arbitrary users.\nIt is risky to create temporary files in an openly accessible director such as /tmp, /var/tmp, or C:\\TEMP.\nIt is recommended to create and store temporary files in a path accessible only to privileged users.",
  "TOCTOU_RACE_CONDITION.description": "The TOCTOU Race Condition checker finds race conditions occurring between the time of checking a resource's state and the time of using it.\nIf resource accessibility needs to be determined based on resource state, use approaches such as synchronization that ensure exclusive access to resources. Or, there are some APIs available that help implement actions handling file resources. They attempt the given resource action and return different results based on the resource's state.",
  "TOCTOU_RACE_CONDITION_CSHARP.description": "The TOCTOU Race Condition checker finds race conditions occurring between the time of checking a resource's state and the time of using it.\nIf resource accessibility needs to be determined based on resource state, use approaches such as synchronization that ensure exclusive access to resources. Or, there are some APIs available that help implement actions handling file resources. They attempt the given resource action and return different results based on the resource's state.",
  "TOC_TOU_ACCESS.description": "The TOCTOU Race Condition checker finds race conditions occurring between the time of checking a resource's state and the time of using it.\nIf resource accessibility needs to be determined based on resource state, use approaches such as synchronization that ensure exclusive access to resources. Or, there are some APIs available that help implement actions handling file resources. They attempt the given resource action and return different results based on the resource's state.",
  "TOO_BIG_FILE.ABAP.description": "The Oversized Source File checker finds source files whose lines are more than the line limit.\nSplit the code by function into separate files.",
  "TOO_BIG_FUNCTION.description": "The Too Long Function Code checker finds functions that span more than the specified line limit.\nYou can optionally specify up to how many lines a function can span.\nFix the detected functions so that they do not exceed the line limit. A function spanning too many lines is likely to include a large number of capabilities; you can consider dividing them into multiple smaller functions.",
  "TOO_COMPLEX_FOR_STATEMENT.description": "The Too Complicated for Loop Control checker finds for loops whose initialization and increment statements include more than the allowed number of expressions.\nSimplify the initialization and increment statements of each for loop. If a complicated statement is necessary, you can consider replacing the for loop with a while loop that behaves likewise.",
  "TOO_FEW_WHEN.ABAP.description": "The Too Short WHEN Clause checker finds CASE statements that include fewer than three WHEN clauses.\nUse an IF statement instead to handle the conditional branching.",
  "TOO_LONG_COLUMN.ABAP.description": "The Too Long Code Line checker finds code lines that span a longer length than the optionally specified value.\nWrap the overlong code lines.",
  "TOO_LONG_COLUMN.description": "The Too Long Code Line checker finds code lines that span a longer length than the optionally specified value.\nWrap the overlong code lines.",
  "TOO_LONG_IDENTIFIER.description": "The Identifier with Over 31 Characters checker finds instances in which an identifier representing an entity of a certain type is longer than 31 characters.\nThe checker performs checks on the identifiers of tags, variables, types, fields, and macros.\nName identifiers with a maximum of 31 characters.",
  "TOO_LONG_SOURCE_CODE_BEFORE_COMMENT.description": "The Too Long Source Code before Comment checker finds instances in which a source code preceding a comment exceeds the specified length.\nYou can optionally specify the length of code and detailed conditions.\nMake sure each source code preceding a comment do not exceed the specified length.",
  "TOO_MANY_BRANCH_IN_LOOP.ABAP.description": "The Too Many Branches in Loop checker finds loops that contain too many control statements.\nThe checker detects loops with two or more control statements (CONTINUE, EXIT, and CHECK).\nReplace detected loops with differently structured but semantically identical ones.",
  "TOO_MANY_EXECUTABLE_PATH.description": "The Too Many Execution Paths checker finds functions that have too many executable paths.\nThe number of executable paths allowed can be optionally specified.\nSuch a function is likely to include a large number of capabilities; you can consider dividing them into multiple smaller functions. Or, refactor the code to reduce the executable paths.",
  "TOO_MANY_INIT_ARRAY.description": "The Overflowing Brace Initialization of Struct/Array checker finds struct/array definitions in which the struct/array object is assigned an initial set of elements that are greater in number than the struct/array size.\nThe checker searches for an array or struct initialization that assigns an oversized set of elements.\nWhen initializing a struct or array, be sure the assigned initial value set has the same number of elements as the size of the initialized object.",
  "TOO_MANY_METHODS.description": "The Too Many Function Definitions checker finds instances in which the number of function definitions exceed the optionally specified per-file count.\nYou can optionally the maximum allowed number of function definitions per file.\nDo not define more functions than the optionally specified count.",
  "TOO_MANY_NONCYCLIC_EXECUTION_PATH.description": "The Too Many Non-iterative Executable Paths checker finds functions that have too many executable paths, except for the case in which the number of paths increases due to iterations in a loop.\nMake sure that a function includes no more than 200 non-iterative executable paths.",
  "TOO_MANY_RETURNS.description": "Do not use more return statements than specified.",
  "TRACE_OUTPUT.WEB.CONFIG.description": "The Trace Log Exposal checker finds settings that enable displaying a trace log.\nDisable the setting to prevent trace log information from exposing.",
  "TRUE": "Obligation for notice",
  "TRUST_BOUNDARY_VIOLATION.description": "The Violation of Trust Boundary checker finds instances of mixing up trusted and untrusted data.\nSending an untrusted external input as a session value or attribute could be an example.\nTrusted data must be managed in a separate storage. Any external inputs should be validated before deposited in this storage.",
  "TRYLOCK_FAIL.description": "The Attempt of trylock on Locked Resource checker finds calls to pthread_mutex_trylock() targeted at an already locked resource.\nBefore a locked resource is locked by pthread_mutex_trylock(), it must be unlocked by pthread_mutex_unlock().",
  "TYPEDEF_NAME_SHALL_BE_A_UNIQUE.description": "The typedef with Identical Names checker finds instances in which a name given at a typedef declaration is reused elsewhere.\nCompilers basically allow the use of identically named identifiers. However, a later declared identifier overrides an earlier declared one.\nUse a unique name at each typedef declaration.",
  "TYPE_MISMATCH_IN_TERNARY.description": "The Type Mismatch in Ternary Operation checker finds ternary operations in which the two conditional expressions mismatch in type.\nMake sure the two selectable expressions return the same static type.",
  "TYPE_UNDERRUN.IN_FUNC_CALL.description": "The Field Buffer Underflow from Function checker finds calls with an error for copying a specific size of data from memories.\nThe error mentioned above refers the following examples. A function call or argument in the memory address of lower bounds is used to write and read. The faulty argument is a field of a class or struct.\nWhen using a function that copies a specific size of in-memory data, make sure the specified range is kept.",
  "TYPE_UNDERRUN.STATIC.description": "The Field Buffer Underflow checker finds instances of reading or writing below the lower bound of an object in memory.\nThis type of fault includes the following situations: A value is used that attempts to read from or write to a memory location lower than the specified range of indices. The faulty argument is a field of a class or struct.\nWhen reading from or writing to a buffer, keep within its specified range.",
  "TerminateStrncpy.description": "If the source string's size fits or exceeds the given size, strncpy() does not add a zero at the end of the buffer. This causes bugs later in the code if the code assumes buffer is null-terminated.",
  "TestClassWithoutTestCases.description": "Name of test class ends with Test. If a class other than test classes follows this naming convention, it can confuse many people. Test classes should have test methods starting with test.",
  "ThisSubtraction.description": "Suspicious subtraction in this pointer. Check if it is intended to write '->'.",
  "ThrowInNoexceptFunction.description": "Exception thrown in function declared not to throw exceptions.",
  "TooFewBranchesForASwitchStatement.description": "Detect switch statements having fewer case statements than a predefined number.",
  "TooManyFields.description": "Classes that have too many fields could be redesigned to have fewer fields, possibly through some nested object grouping of some of the information. For example, a class with city/state/zip fields could instead have one Address field. The field count reporting threshold is 15.",
  "TooManyMethods.description": "Classes that have too many methods should be refactored to lower complexity and have more fine-grained objects.",
  "TooManyStaticImports.description": "Detect if number of static import statements is more than a predefined number.",
  "Toomanyconfigs.description": "Using #ifdef's to configure different conditional compilations is very error prone.",
  "UNARY_NEGATIVE_OP_ON_UNSIGNED.description": "The Use of Unary Minus Operator on Unsigned Integer Variable checker finds expressions that use the unary minus operator on an unsigned integer variable.\nDo not use the unary minus operator on an unsigned integer variable.",
  "UNBOUNDED_SOURCE_TO_ARRAY.description": "The Storage of External Data in Stack Array checker finds expressions that store external user input data in a stack array.\nAn expression that stores external input data in a stack array is as follows: The strcat() function's second argument is user input data and its first argument is a local variable.\nDo not store external input data in a stack array, but in a dynamically allocated buffer. This prevents buffer overflows regardless of the size of external data. Note that when the buffer is dynamically allocated, its size must be set larger than the size of external data.",
  "UNCAUGHT_EXCEPTION.description": "The Missing Exception Handling checker finds code that throws an exception, but does not handle it.\nWhen an unintended exception occurs, it must be caught and handled.\nPut functions that might throw exceptions inside the exception handling statements.",
  "UNCHECKED_NULL.description": "The Dereference of Non-null-checked Value finds instances in which a variable is once checked for null but later is dereferenced without a null check.\nUnless a variable is ensured to never be null, make sure it is always checked for null before dereferenced. Conversely, if a variable can never be null and so its null check is unnecessary, have it never checked for null, ensuring consistency and preventing confusion.",
  "UNCHECKED_NULL_CSHARP.description": "The Dereference of Non-null-checked Value finds instances in which a variable is once checked for null but later is dereferenced without a null check.\nUnless a variable is ensured to never be null, make sure it is always checked for null before dereferenced. Conversely, if a variable can never be null and so its null check is unnecessary, have it never checked for null, ensuring consistency and preventing confusion.",
  "UNCHECKED_OGNL_EXPRESSION.description": "The OGNL Expression Unchecked checker finds code that creates Object without external input checks.\nUse Ognl.parseExpression() method to check an external input used for creating Object.",
  "UNCHECKED_SPEL_EXPRESSION.SPRING.description": "The SpEL Expression Unchecked checker finds code that creates SpelExpression without external input checks.\nUse a separate method to check an external input used for creating SpelExpression.",
  "UNCHECK_ARRAY_LENGTH.description": "The Invalid Size of Variable-length Array checker finds declarations of variable-length arrays (VLAs) whose length is not properly controlled.\nBe sure to declare a VLA with an appropriately controlled length.",
  "UNCONTROLLED_RECURSION.description": "The Infinite Recursive Calls checker finds recursive functions that are not properly controlled and thus can be called infinitely.\nPut recursive call statements under proper control statements. If you are not confident of setting recursive termination conditions properly, consider replacing the recursive code with an identically functioning loop.",
  "UNDECIDABLE_DIVISION.description": "The Division by Undecidable Value checker finds instances of dividing by an undeterminable value.\nMake sure all division operations take a determinable value as their second operand.",
  "UNDERRUN.DYNAMIC.IN_FUNC_CALL.description": "The Dynamically Assigned Buffer Underflow from Function checker finds calls with an error for copying a specific size of data from memories.\nThe error mentioned above refers the following examples. A function call or argument in the memory address of lower bounds is used to write and read. The faulty argument is dynamically allocated memory.\nWhen using a function that copies a specific size of in-memory data, make sure the specified range is kept.",
  "UNDERRUN.DYNAMIC.description": "The Dynamically Assigned Buffer Underflow checker finds instances of reading or writing below the lower bound of an object in memory.\nThis type of fault includes the following situations: A value is used that attempts to read from or write to a memory location lower than the specified range of indices. The faulty argument is dynamically allocated memory.\nWhen reading from or writing to a buffer, keep within its specified range.",
  "UNDERRUN.STATIC.IN_FUNC_CALL.description": "The Buffer Underflow from Function checker finds calls with an error for copying a specific size of data from memories.\nThe error mentioned above refers the following examples. A function call or argument in the memory address of lower bounds is used to write and read. The faulty argument is a local variable.\nWhen using a function that copies a specific size of in-memory data, make sure the specified range is kept.",
  "UNDERRUN.STATIC.description": "The Buffer Underflow checker finds instances of reading or writing below the lower bound of an object in memory.\nThis type of fault includes the following situations: A value is used that attempts to read from or write to a memory location lower than the specified range of indices. The faulty argument is a local variable.\nWhen reading from or writing to a buffer, keep within its specified range.",
  "UNEXPECTED_SIGN_EXTENSION.description": "The Unintended Sign Extension checker finds expressions that can convert a negative number to an unsigned variable.\nWhen performing an assignment between objects with different signedness, be sure to set proper conditions not to allow conversion from a negative number to a huge positive number.",
  "UNINIT.description": "The Use of Uninitialized Variable checker finds instances of using an uninitialized local variable.\nAs uninitialized local variables take an unexpected value, this kind of error can cause an unexpected behavior.\nLocal variables must be initialized before used.",
  "UNIQUE_HEADER_FILE_NAME.description": "The Duplicate Header File Name checker finds header files whose name can be considered duplicate when interpreted according to the C99 standard.\nName header file names in compliance with the C99 standard, and make sure that each header file name is unique in your project.",
  "UNIQUE_VALUE_IN_ENUMERATOR.description": "The Partial Assignment to Enum checker finds enumeration assignment statements that assign values only to part of the enumerators.\nEither do not assign to any enumerator, or assign to all enumerators.",
  "UNIVERSAL_CHARACTER_TROUGH_CONCATENATION.description": "The Use of Universal Character for Macro Concatenation checker finds universal characters (such as Unicode) passed as arguments for macro concatenation.\nMacro concatenation must not be performed with universal characters passed in.\nDo not pass a universal character for macro concatenation.",
  "UNMATCH_TYPE_PTR_COMPARE.description": "The Comparison between Elements of Different Arrays checker finds comparison operations between arrays with different elements.\nComparison operations subject to this checking are those with the <, <=, >, >=, or == operator.\nDo not perform a comparison operation on arrays with different elements.",
  "UNMATCH_TYPE_PTR_SUBTRACT.description": "The Pointer Subtraction between Elements of Different Arrays checker finds pointer subtraction between arrays with different elements.\nDo not perform a pointer subtraction on arrays with different elements.",
  "UNNAMED_STRUCT_UNION_MEMBERS.description": "The Unnamed Field Declaration checker finds instances of declaring an unnamed field in a struct or union.\nWhen declaring a field in a struct or union, be sure to give a name to it.",
  "UNREACHABLE_CASE.description": "The Unnecessary Case checker finds unreachable case labels in switch statements.\nRemove unreachable case labels.",
  "UNREACHABLE_CODE.description": "The Unreachable Code Checker finds a code block that is unreachable in any case.\nIf the removal of a statement does not affect the program output, that piece of code is unnecessary (redundant code). Whether the statement is written on purpose is not clear to code reviewers.\nRemove the unreachable code blocks.",
  "UNREACHABLE_CODE_STRING_COMPARE.description": "The Unreachable Code in String Comparison checker finds chained conditionals with string comparison that include a never reachable branch.\nAn unreachable branch in a chained conditional with string comparison signifies a high probability of an incorrect comparison expression in the conditional. Check the comparison expressions and fix them so that no branches may be unreachable.",
  "UNREASONABLE_PARAMETER.description": "The Assignment of Invalid Length Argument checker finds instances in which a length argument being passed to a function is a negative number or too large.\nThe following functions are subject to the detection of this checker: alloca(), bcopy(), calloc(), malloc(), memccpy(), memcpy(), realloc(), and strncpy(). The checker reports a defect when the allocation size argument passed to a memory allocation function is not of unsigned int or is an unverified external input evaluated by addition or subtraction.\nTake care that a function's length argument may not take a value negative or larger than the size of the data type.",
  "UNRELEASED_LOCK.description": "The Unreleased Lock checker finds instances in which a lock object is acquired in a method but the lock is not released in the same method.\nMake sure a lock is acquired and released within the same method.",
  "UNRESTRICTED_UPLOAD_OF_FILE.description": "The Unrestricted File Upload checker finds instances of accepting a file upload without checking its type and size.\nMake sure users can upload only those files whose extensions are allowed in the whitelist. Have the names and extensions of uploaded files changed into unpredictable strings when they are stored in the server.",
  "UNRESTRICTED_UPLOAD_OF_FILE_ASPNET.description": "The Unrestricted File Upload checker finds instances of failure to restrict file types and size.\nMake sure users can upload only those files whose extensions are allowed in the whitelist. Have the names and extensions of uploaded files changed into unpredictable strings when they are stored in the server.",
  "UNSAFE_JACKSON_DESERIALIZATION.description": "The Deserialization of Unsafe Jackson checker finds code that performs deserialization with Jackson libraries or that imports sensitive data from an untrusted source.\nUse @JsonTypeInfo(use = Id.NAME) instead of @JsonTypeInfo(use = Id.CLASS) or @JsonTypeInfo(use = Id.MINIMAL_CLASS). Do not call enableDefaultTyping before deserializing ObjectMapper. And upgrade your Jackson to 2.7.10 and later version or 2.8.9 and later version. You can specify your option to find enableDefaultTyping() calls.",
  "UNSAFE_XSTREAM_DESERIALIZATION.description": "The Deserialization of Unsafe XStream checker finds code that calls XStream.fromXML() method.\nCheck your library upgrade to avoid a vulnerability from deserialization of XStream. Xstream 1.46 and earlier version is vulnerable for the issue. Ensure to use Xstream 1.47 and later version. If needed, upgrade your Struts version into 2.3.34 or 2.5.13 and later. After upgrading your libraries, you can specify your option not to find XStream.fromXML() method calls.",
  "UNSALTED_ONE_WAY_HASH.description": "The Use of Hash without Salt checker finds instances of calculating a hash without a salt.\nWhen hashing a password or other sensitive data, pass a salt to the hashing function and use the consequently returned hash value.",
  "UNSPECIFIED": "Source code disclosure required with unclear scope",
  "UNSPECIFY_BUFFER_LENGTH_CIN.description": "The Unspecified cin Buffer Size Limit checker finds calls to the \"cin\" operator without specifying the maximum number of characters to be read in the input buffer.\ncin is a C++ standard library object used to accept user input from the console.\nCall the cin.width method to specify the maximum allowed number of input characters.",
  "UNSUITABLE_BITFIELD_TYPE.description": "The Invalid Bit Field Type checker finds instances of declaring a bit field as a different type than unsigned int or signed int.\nDeclare bit fields only as unsigned or signed int.",
  "UNSYNCHRONIZED_STATIC_DATE_FORMATTER.description": "The Missing Visibility of Shared immutable Object checker finds a non-final or non-volatile field within a specific method that is not declared as synchronized.\nYou may misunderstand that all threads can reflect an updated value when a shared reference value of an immutable object gets updated in a multi-threaded environment. For example, a programmer may mistake a class with a pointer to an immutable object as immutable and thread-safe. But, even the shared object is immutable, the reference used to access the object can be mutable: so, the object with the reference cannot be updated. Therefore, access to the reference of the shared object needs to be synched in synchronized programs. References to both shared immutable and shared mutable objects must be made visible to all the threads that reference the objects. Then, immutable objects can be shared safely among multiple threads. However, references to mutable objects can be made visible before the objects are fully constructed.\nDo not use a non-final or non-volatile field within a method that is not declared as synchronized.",
  "UNTRUSTED_DATA_IN_PRIVILEGED_BLOCK.description": "The Untrusted Data in Privileged Block checker finds instances in which untrusted data passed to a parameter is directly used in a privileged block.\nMake sure external data is validated for safety before used in a privileged block.",
  "UNUSED.LOCAL_VARIABLE.description": "The Unused Local Variable checker finds local variables that are never used after declaration.\nRemove the unused variables.",
  "UNUSED_CATCH_HANDLER.description": "The Unused Exception Handler checker finds functions that include a never reached exception handling block.\nRemove unused exception handling statements.",
  "UNUSED_IMPORT.description": "The Unnecessary import Statement checker finds import statements that do not affect the execution of the program.\nThe checker searches for an import statement whose target is never used in code. It also reports for importing a class belonging to the java.lang package or to the current class's package-which is accessible without an import statement-and for duplicate type-import-on-demand declarations indicating the same package.\nRemove unnecessary import statements.",
  "UNUSED_PARAMETER.MISRA2008.description": "The Unused Parameter in Virtual Function checker finds incidents that virtual functions are declared with unused parameters.\nUse all parameters declared in the virtual functions.",
  "UNUSED_PARAMETER.description": "The Unused Parameter checker finds unused function parameters.\nRemove unused parameters from function declarations.",
  "UNUSED_STATIC_VARIABLE.description": "The Unused Static Variable checker finds static variables that are never used.\nDo not declare unused static variables.",
  "UNUSED_VALUE.description": "The Unused Variable checker finds variables that are assigned a value but never used in any executable paths while assuming that value.\nIf the removal of a statement does not affect the program output, that piece of code is unnecessary (redundant code). Whether the statement is written on purpose is not clear to code reviewers.\nRemove the unused variables.",
  "UNUSED_VARIABLE.description": "This checker detects variables that have been declared but not used within the function scope. Even if the declared variable is initialized, if the variable is never referenced, it is considered not used.",
  "UPLOAD": "Upload",
  "USELESS_ASSIGNMENT.description": "The Useless Assignment checker finds assignment statements that cannot, in any cases, make changes in the values of the variables involved.\nThe checker reports a defect when an assignment statement can never change the value of the variable under any circumstances.\nRemove the code lines that do not affect the program.",
  "USE_ADJACENT_UNARY_OPERATOR.description": "The Violation of Unary Operator Spacing Rule checker finds instances in which a unary operator such as ++ or ? and its operand are separated by a whitespace.\nUse unary operators in compliance with the rules.",
  "USE_AFTER_CLOSE.EXT.description": "The Use of Resource after Free checker finds instances of reusing an already freed resource.\nA resource herein refers to a variable like a file descriptor that represents an open file.\nBe sure to use resources only while they are valid, and free resources only upon completion of their use.",
  "USE_AFTER_CLOSE.description": "Recycled resource should not be used again.",
  "USE_AFTER_FREE.description": "The Use of Freed Memory checker finds instances of referencing an already freed memory block.\nUsing the freed memory can cause the system to behave abnormally because an invalid value is being used.\n\nBefore using memory, check it for being freed.",
  "USE_AFTER_MOVE.description": "The Reuse of Moved-from Object checker finds code that relies on and reuse the value of a moved-from object.\nMany types provided by the standard template library support move of objects by using std::move() function. Most object values are left in a valid, but unspecified state after the move operation, either move initialization or move assignment, is performed. Once the objects are moved-from, the only operations that can be safely performed on the object instances are the ones that has no preconditions. Because it is unknown whether the objects of the moved-from state satisfy the preconditions or not.\nAvoid reusing the moved-from objects.",
  "USE_A_SUBSET_OF_ASCII_FOR_FILE_AND_PATH_NAMES.description": "The Non-ASCII Character in File Name or Path checker finds instances of including a non-ASCII character in a file name or path.\nMake sure paths to a file system do not contain strange characters.",
  "USE_A_SUBSET_OF_ASCII_FOR_FILE_AND_PATH_NAMES_CSHARP.description": "The Non-ASCII Character in File Name or Path checker finds instances of including a non-ASCII character in a file name or path.\nMake sure paths to a file system do not contain strange characters.",
  "USE_BLOCK_SYNCHRONIZED.description": "Avoid overusing synchronisation. It is preferable to use block-level synchronisation over method-level.",
  "USE_BRACE_MULTI_DIMENSION_ARRAY_INIT.description": "The Struct/Array Initialization of Using Incorrectly Nested Braces checker finds instances of brace initialization in which the struct or array object is assigned a differently nested set of elements.\nUnless a strut or array object is to be initialized to 0, be sure the initial element set has the same brace-nesting structure as the initialized object.",
  "USE_CODEGUARD_WHEN_DECLARING_CLASS.description": "The Missing Include Guard in Class Definition Header checker finds header files that define a class but do not enclose it with include guards.\nInclude guards are preprocessor directives that enclose a header file to prevent duplicates of globally used class declarations. Modern compilers support other equivalent commands like #pragma once.\nHeader files with a class definition must be enclosed with preprocessor directives or start with #pragma once.",
  "USE_COMPATIBLE_ENCODINGS_ON_BOTH_SIDES_OF_FILE_OR_NETWORK_IO.description": "Use compatible encoding on both sides of file or network IO.",
  "USE_CONST_GLOBAL_AND_STATIC.description": "The Non-const Global or Static Variable checker finds global and static variables that are not declared const.\nGlobal and static variables are recommended to be declared const. A function taking a non-const global or static variable may cause a problem if reentered via recursion or multithreading. Global variables, in particular, often have trouble with maintainability.\nMake sure that global and static variables are declared const.",
  "USE_CONST_OBJECT_OR_ENUMERATORS.description": "The Macro Definition for Constant checker finds instances of defining a macro-instead of a const-qualified object or enumerator-to get a constant object.\nWhen a constant object is needed, define a const-qualified object or enumerator.",
  "USE_CONST_POINTER_FOR_STRING_VAR.description": "The String Constant Declaration without const checker finds instances of declaring pointers to string constants without using const qualifiers.\nEnsure to declare string constants as const.",
  "USE_CONST_WHENEVER_POSSIBLE.description": "The Failure to Use const on All Possible Occasions checker finds code that fails to use const keywords on any possible places of pointer parameter declaration.\nIt is recommended to use the const to declare a pointer parameter if you can. Using the const keywords prevents modification to variables and makes your function interface more stable.\nDeclare the pointer parameter with the const keyword unless it is mutable.",
  "USE_CONST_WITH_MACRO.description": "The Use of Constant Not Defined as Macro checker finds instances of using a constant that is not defined as a macro.\nAs an exception, such a constant can be used in checking against a return from a system API or framework API. You can optionally specify a common header file path and allowable functions.\nFor good code readability, it is recommended to define constants as macros.",
  "USE_CONTAINERS_OF_POINTER.description": "The Container with Class-type Elements checker finds containers of a class type that incurs a high overhead.\nA container is a C++ standard library object that stores a collection of various data types. Vectors are one example.\nUse containers of pointers or smart pointers instead. Pointers occupy only as much memory as the size of the address being pointed to and can copy data without implementing a copy operator. For this reason, they are efficient for insertion, sorting and other operations in containers without incurring a high overhead.",
  "USE_CONTAINER_MEMBER_FUNCTIONS.description": "The Use of STL Algorithm Function checker finds expressions that call an STL algorithm function on a container instead of using the container's member function with the same name.\nSTL algorithms and container member functions often have the same name. Despite being named identically, they may have differences in implementation and performance details.\nBe sure to use container methods instead of the STL algorithms of the same name.",
  "USE_CORRECT_BYTE_ORDERING.description": "Different system structures use different byte orders (little endian or big endian). When transferring data between different systems, the byte order must be considered. htonl(), htons(), ntohl(), and ntohs() match the network byte order to the host byte order. Failure to match the byte order can lead to inaccurate results.\n\nMake sure to use the alignment functions appropriately to ensure that data is sent using the correct byte order.",
  "USE_DANGEROUS_INNERHTML.REACT.description": "\"dangerouslySetInnerHTML\" is an alternative way for React to use `innerHTML` in the browser DOM. React is safe by default because it escapes most values before rendering. However, this function is insecure because it does not support input escaping, which can lead to XSS attacks.\nWhen React encounters `dangerouslySetInnerHTML`, it internally executes `setInnerHTML()` and uses innerHTML. It is not recommended to use this feature because the value is not escaped during the process. If this script is required, it is recommended to either filter the data before use or use a safe API such as dompurify or sanitize-html.\n",
  "USE_DEFINED_STANDARD_FORMS.description": "The Syntactically Incorrect #defined Statement checker finds instances of using the #defined preprocessor operator not in compliance with the syntactical rules.\nThe standard formats of using the #defined preprocessor operator include \"#defined (identifier)\" and \"#defined identifier.\"\nMake sure the #defined preprocessor operator is used in the specified format.",
  "USE_EACH_ACCESS_SPECIFIER_EXACTLY_ONCE.description": "The Access Specifiers in Incorrect Order checker finds classes in which the access specifiers are not arranged in the correct order.\nThe access specifiers must be placed in the order of public, protected, and private, and each specifier should be used only once in a class.\nWhen defining a class, place the access specifiers in the order of public, protected, and private. And make sure each of them occurs only once.",
  "USE_EMPTY_INSTEAD_OF_CHECKING_SIZE_AGAINST_ZERO.description": "The Use of size() on Empty Container checker finds instances of checking the return of the size() function against zero.\nUse empty() when checking a container for being empty.",
  "USE_EXTERN_TO_IMPORT_VARIABLE.description": "The Use of External Variable without extern Keyword checker finds instances of declaring an external variable without the extern keyword.\nWhen declaring an external variable, be sure to use the extern keyword.",
  "USE_FERROR_THAN_COMPARE_ERRNO.description": "The Improper Check for FILE Stream Errors checker finds instances of using errno to check for FILE stream errors.\nUse ferror(), instead of errno, to check for FILE stream errors.",
  "USE_FUNCTION_IN_IF_CONDITION.description": "The Use of Function in Conditional Statement checker finds conditional statements that include a function other than those optionally specified.\nYou can optionally specify functions that can be used in a conditional statement.\nDo not use functions in a conditional statement.",
  "USE_LOWER_CASE_IN_INCLUDE_FILENAMES.description": "The Uppercase Letter in Included Header Filename checker finds #include statements that include an uppercase letter in the directory.\nMake sure #include statements do not include an uppercase letter in the directory.",
  "USE_MAXIMUM_SIZED_BUFFER.description": "The Use of Maximum Buffer Size Checker finds code that uses a buffer size smaller than the maximum size of path specified in checker option.\nThis checker finds a buffer size smaller than MAX_PATH in a call to realpath(), readlink(), or PathAppend(). You can optionally specify the minimum size of the buffer.\nEnsure to set the buffer size to specified MAX_PATH or greater.",
  "USE_NEW_THROW_CAUSE.description": "When handling an exception, use the CommUtil.newThrowCuase method.",
  "USE_OF_HARDCODED_CRYPTOGRAPHIC_KEY.description": "The Hardcoded Encryption Key checker finds encryption keys hardcoded in source code.\nMake sure encryption keys never assume constant values. And, even if in ciphertext, they should not be hardcoded in source code.",
  "USE_OF_INNER_CLASS_CONTAINING_SENSITIVE_DATA.description": "The Nested Class Containing Sensitive Data checker finds instances in which a nested class accesses a private field that belongs to its nesting class.\nMake sure nested classes are declared static and do not access private fields that belong to their nesting classes.",
  "USE_OF_INSUFFICIENT_RANDOM_VALUES.description": "The Too Simple Random Value Generation checker finds instances of using predictable random numbers.\nYou can optionally specify random number generating methods that should not be used.\nUse secure way to generate random numbers rather than forbidden methods specified in the options.",
  "USE_OF_INSUFFICIENT_RANDOM_VALUES_OWASP.description": "The Inappropriate Random Value Generation checker finds instances of using a predictable random value.\nYou need to use cryptographically secure approaches that generate unpredictable random values. The SecureRandom class enables creating secure random values.",
  "USE_OF_LOW_SECURITY_ENCRYPTION_ALGORITHM.description": "The Use of Low-security Encryption Algorithm checker finds use of encryption algorithms or hash functions that are not strong enough for the level of required protection.\nIt is recommended to satisfy the security strength of 112-bit or higher for a symmetric key, also called a secret key, based encryption algorithm or hash function In addition, a key size with 112-bit or higher is recommended for an asymmetric key encryption algorithm to enhance security as possible.\nComply with the key sizes to ensure that encryption algorithms maintain sufficient security level.",
  "USE_OF_SOCKETS.description": "The Use of Sockets in EJB checker finds an EJB program directly using a server socket inside a bean to serve the clients.\nComply with the EJB specification.",
  "USE_OF_SYNCHRONIZATION_PRIMITIVES.description": "The Use of sync Primitives checker finds code that uses synchronized methods in the Enterprise JavaBeans specification.\nIf you use a synchronized keyword to synchronize in the EJB specification, this might lower synchronization quality. The EJB specification is determined by inheriting javax.ejb.SessionBean.\nAvoid to use the synchronized keyword in the EJB specification.",
  "USE_ONE_CASE_PER_LINE.description": "The Multiple case Branches in Single Line checker finds instances in which more than one case/default branch occupy a single line.\nMake sure each case and default of a switch statement is placed in a different line.",
  "USE_ONE_DECLARATION_PER_LINE.description": "The Multiple Declarations in Single Line checker finds instances in which multiple declarations are placed in a single line.\nMultiple declarations need to be separated into a single line for each declaration.",
  "USE_ONE_STATEMENT_PER_LINE.description": "The Multiple Statements in Single Line checker finds instances in which multiple statements are placed in a single line.\nSeparate them in multiple lines so that each statement may be placed in a different line.",
  "USE_ONLY_ALLOWED_TYPE.description": "Only use the types specified in the option.",
  "USE_ONLY_PERMITTED_MACROS.description": "The Useless Macro Declaration checker finds macros that are not declared in the correct manner.\nThe entities allowed in macro declarations include braced initializers, constants, strings, parenthesized expressions, type qualifiers, storage class specifiers, and do-while(0) loops.\nDo not declare or use a macro using a disallowed entity.",
  "USE_OPEN_WITH_PERMISSION.description": "The File Creation without Appropriate Access Permissions checker finds instances of creating a file without setting up proper access permissions.\nWhen opening a file, be sure to explicitly set up access permissions.",
  "USE_PARENTHESIS_TO_MACRO_REPLACEMENT_LIST.description": "The Declaration of Macro Function with Unparenthesized Arguments checker finds failure to parenthesize an argument when declaring a function-like macro, except for when they are used in a # or ## operation.\nA macro function refers to a function-like macro defined using the #define preprocessor directive.\nMake sure that arguments are always parenthesized in macro declarations.",
  "USE_PASS_BY_REFERENCE.description": "The Failure to Pass by Reference checker finds function declarations in which a parameter of a class type is passed by value or pointer.\nIn a function declaration, a class-type parameter can be passed by value, by pointer, or by reference. The first option passes a copy of the class object. The second passes the address of the class object. The third passes the address of the class object likewise, but is used in the same syntax as pass-by-value.\nWhen declaring a parameter of a class type, specify it as a reference so that it can take the class object by reference.",
  "USE_POINTER_ARITHMETIC_ON_FIELD.description": "The Arithmetic Operation on Pointer to Field checker finds instances of performing an arithmetic operation such as addition on a pointer to a struct or class's member field.\nMake sure that the fields of a struct or class are referenced by a direct pointer operation.",
  "USE_PREPROCESSOR_ONLY_INCLUDEGUARDS.description": "C++ provides safer ways of achieving what is often done using the pre-processor, by way of inline functions and constant declarations.",
  "USE_PUBLIC_DERIAVTION_ONLY.description": "The Failure to Use Public Inheritance checker finds classes that inherit by other means than public.\nBe sure to use the public keyword when a class inherits.",
  "USE_RSA_WITHOUT_OAEP.description": "The Use of RSA Algorithm without OAEP checker finds instances of using the RSA encryption algorithm without using OAEP.\nDo not use the RSA algorithm alone without OAEP.\nWhen using the RSA algorithm, be sure to use OAEP together.",
  "USE_RUNTIME_CONSTRAINT_HANDLERS.description": "The Failure to Register Handler Prior to Use of Bounds-checking Functions checker finds instances of failure to register a runtime-constraint handler prior to calling any bounds-checking functions.\nRegister the handler using the set_constraint_handler_s() function.",
  "USE_SAME_DEFAULT_VALUES.description": "The Different Default Argument Passed to Derived Function checker finds instances in which parameters in an overriding function do not use the same default arguments as the function they override.\nA default argument is a value provided in a function declaration. A virtual function declared in a base class can takes a default argument. Programmers often override such a function with a different value assigned to the default argument in a derived class.\nMake sure virtual functions take the same default values in the base and derived classes.",
  "USE_SAME_TYPE_WHEN_REDECLARING.description": "The Token Mismatch in Redeclaration checker finds instances that a type of object, return type, or parameter is not token-identical in declaration and redeclaration.\nEnsure to redeclare the token specified in declaration.",
  "USE_SHIFT_OPERATORS_CORRECTLY.description": "The Use of Shift Operator checker finds an external input that is used for a shift operation without proper validation.\nThe value to the right of a shift operation must be within the appropriate range for the type of the numeric value to the left of the shift operation. For example, if the value to the left of the shift operation is int, the range to the right of the shift operation must be between 0 and 63. If a value larger than the value to the left of the shift operation is used for the range, an unintended behavior may occur.\nThe external input needs to be validated before the shift operation.",
  "USE_SHORT_FUNCTION.description": "The Too Long and Complicated Function checker finds functions that span more lines than the limit or have too many parameters.\nWhen defining a function, make sure the numbers of parameters and lines do not exceed the specified limits. An extremely long function must be split into multiple small functions or refactored into a shorter one.",
  "USE_SINGLE_RETURN.description": "The Use of Multiple Returns checker finds instances in which a function includes more return statements than the optionally specified number.\nYou can optionally specify the maximum allowed number of return statements per function.\nUse return statements within the allowed number.",
  "USE_SIZEOF_FOR_DATATYPE.description": "The Missing sizeof for Type Evaluation checker finds incidents that sizeof are not used for functions required to evaluate their data type.\nThe functions to evaluate data type are shown as follows: memset(), memcpy(), wmemcpy(), bcopy(), strncpy(), memmove(), memccpy(), mempcpy(), wmempcpy(), snprintf(), strlcat(), calloc(), and malloc().\nEnsure to use sizeof for functions required to evaluate their data type.",
  "USE_SIZEOF_ON_PARAM.description": "The Missing Call to sizeof() checker finds instances in which a specified function is passed with an expression other than the sizeof() operator in the specified position.\nYou can optionally specify functions by name and the position index of the argument that should take sizeof().\nWhen calling a specified function, be sure to pass sizeof() to the specified argument position.",
  "USE_STANDARD_CPP_LIBRARY_HEADERS.description": "The Use of Old Standard Header File checker finds lines that include an old standard header file.\nInstead of using old header files suffixed with \".h,\" use standard C++ library headers. For example, using iostream is preferable to using iostream.h.",
  "USE_STATIC_IN_PUTENV.description": "The Call to putenv() with Pointer to Automatic Variable Passed checker finds expressions that pass a pointer to an automatic variable to the putenv() function.\nWhen calling putenv(), pass a pointer to a static variable instead.",
  "USE_STRICTFP_FOR_DIVISION.description": "The Division without strictfp checker finds methods and classes that include a division expression with floating-point numbers but are not declared with the strictfp modifier.\nAdd the strictfp modifier to the definition of any method or class that includes a division on floating-point numbers.",
  "USE_STRTOL.description": "The Improper String-to-Integer Conversion checker finds instances of converting a string to an integer without using a conversion function that provides reliable error handling.\nUse strtol() or its equivalent for easy error handling.",
  "USE_SUFFIXES_FOR_FLOAT_CONSTANT.description": "The Float Type Constant without Suffix checker finds instances that a suffix F is not specified to a float type constant, or a suffix L is not specified to a long double constant.\nEnsure to specify a suffix F to float constant, and suffix L to long double constant. It is recommended to specify an uppercase constant to a constant.\nUse the corresponding suffix to each float constant.",
  "USE_SUFFIXES_FOR_INTEGER_CONSTANT.description": "The Integer Constant without Suffix checker finds instances that an uppercase suffix is not specified to a constant.\nEnsure to specify a suffix L to long constant, suffix U to unsigned int constant, and UL to unsigned long constant. It is recommended to specify an uppercase constant to a constant.\nUse the corresponding suffix to each integer constant.",
  "USE_SUFFIX_FOR_UNSIGNED_INTEGER_LITERALS.description": "The Misuse of unsigned int-type Suffix checker finds instances that a suffix U is not specified for an integer literal of unsigned int type.\nSpecify the suffix U for the unsigned integer literal.",
  "USE_SYNCHRONIZED_PUBLIC_METHOD.description": "The Asynchronized Public Method checker finds instances in which a field is used in a method that is declared public but without the synchronized modifier.\nBe sure to use the synchronized modifier when declaring a public method that is to access a field.",
  "USE_TAB_BETWEEN_TYPE_AND_IDENTIFIER.description": "The Missing Tab between Type and Identifier checker finds variable declarations in which the type and identifier are not separated by a tab.\nPut a separating tab between the type and identifier in accordance with the coding protocol.",
  "USE_TYPEDEF_TYPE_INSTEAD_OF_BASIC.description": "The Use of Basic Type than Typedef checker finds statements that do not declared typedef on basic types, such as int or float.\nDo not use the basic types as they are. Ensure to declare them as typedef to specify storage size.",
  "USE_TYPEREF_NON_POINTER_TYPE.description": "The Pointer Type Declaration using typedef checker finds instances of using typedef to declare a pointer type other than a function pointer.\nDo not declare a pointer type with typedef.",
  "USE_UNSIGNED_INT_ON_DIVISION.description": "The Division Operation on Signed Integer checker finds division operations whose dividend or divisor is of a signed integer type.\nFor a division operation, both the dividend and divisor must be of an unsigned integer type.",
  "USE_VALUE_FROM_FGETPOS.description": "The Passing Invalid Argument to fsetpos() checker finds calls to fsetpos() that are not passed with the return of fgetpos().\nBe sure to pass the return of a fgetpos() call in any call to fsetpos().",
  "USE_VISUALLY_DISTINCT_IDENTIFIER.description": "The Similar-looking Identifiers checker finds instances of using identifiers that are hardly distinguishable from one another.\nUse visually well-distinguishable identifiers.",
  "USING_COPY_INITIALIZATION.description": "The Use of Copy Initialization checker finds class-type variables that are defined by means of copy initialization.\nIf a variable of a class type is assigned a value at declaration, the copy constructor is invoked. This is called copy initialization.\nWhen defining a class type variable, direct initialization is recommended over copy initialization. Direct initialization calls the constructor only once.",
  "USING_DIRECT_INDEX.RUST.description": "Direct array indexing can potentially cause panic, which can break your program during runtime. Therefore, you should either make sure that the index is within the scope of the array, or use the get method, which returns an Option without panic.",
  "USING_DYNAMIC_CLASS_LOADING.description": "The Dynamic Class Loading checker finds calls to the java.lang.Class.forName() method.\nConsider if any other approach can be used instead of dynamic class loading. If a class can be statically loaded, you can expect the same behavior by suffixing the class name with \".class.\" In the case that dynamic class loading is inevitable, write a defensive code while considering all possible attacks and properly document the situation.",
  "USING_FORGET.RUST.description": "The forget function in the std::mem or core::mem modules takes ownership of an object and prevents its destructor from being called, which can be a major problem in safety-critical code because it can cause memory leaks or resources not being freed properly.",
  "USING_HASH_WITHOUT_SALT.description": "The Use of Hash without Salt checker finds instances of calculating a hash without a salt.\nWhen hashing a password or other sensitive data, pass a salt to the hashing function and use the consequently returned hash value.",
  "USING_HASH_WITHOUT_SALT_CSHARP.description": "The Use of Hash without Salt checker finds instances of calculating a hash without a salt.\nWhen hashing a password or other sensitive data, pass a salt to the hashing function and use the consequently returned hash value.",
  "USING_INCOMPATIBLE_TYPE_WITH_C.RUST.description": "When interfacing with other languages through an external function interface (FFI), it is important to ensure compatibility of data types to maintain data integrity. C-compatible types are important because they ensure that the layout of data in memory follows the layout of the C language, making it predictable and interoperable in the context of FFIs.",
  "USING_MANUALLY_DROP.RUST.description": "ManuallyDrop is a wrapper type that allows Rust to explicitly manage memory and manually control memory releases. It is used when you want to control drops from occurring while maintaining ownership without explicitly calling destructors.",
  "USING_SYSTEM_EXIT.description": "The Call to API for Immediate Program Termination checker finds calls to such methods as System.exit() that terminate the virtual machine.\nDo not call the System.exit() method. If a program termination is needed, use another approach such as returning an error code to the caller.",
  "USING_TRY_MACRO.RUST.description": "To improve the readability of your code and make error handling clearer, you should use the ? operator and avoid using try! macros, which are no longer recommended. try! macros are an outdated syntax, and their use has been deprecated with the introduction of the ? operator. Using try! macros not only breaks the consistency of your code, but can also be confusing for developers.",
  "USING_UNINIT_MEM.RUST.description": "Deprecated since Rust 1.38.0, the use of std::mem::uninitialized or std::mem::MaybeUninit types can lead to unpredictable behaviour and memory safety issues by enabling the use or drop of uninitialised memory.",
  "USING_UNSAFE.RUST.description": "Unsafe blocks do not guarantee memory safety in Rust and should be avoided whenever possible. However, when using C language functions, embedded programming, and when unavoidable, unsafe can be used.",
  "USING_WEAK_CRYPTOGRAPHIC_ALGORITHM.description": "The Weak Cryptographic Algorithm checker finds instances of using a cryptographic algorithm known to be insecure.\nDeveloping your own cryptographic algorithm is dangerous; instead, use standard algorithms that have been proven in academia and industry. Use secure algorithms such as 3DES, AES, and SEED instead of those considered weak such as DES and RC5. And encryption keys must be long enough in accordance with the appropriate length suggested by each standard, secure algorithm.",
  "UncommentedEmptyConstructor.description": "Detect empty constructors without any comments because it is hard to know whether it was intentional.",
  "UncommentedEmptyMethodBody.description": "Detect empty methods without any comments because it is hard to know whether it was intentional.",
  "UnconditionalIfStatement.description": "Detect if the condition of an if statement is 'true' or 'false'.",
  "UnhandledExceptionSpecification.description": "Unhandled exception specification when calling function foo().",
  "UninitMemberVar.description": "Member variable 'classname::varname' is not initialized in the constructor.",
  "UnnecessaryBlock.description": "Unnecessary block should be removed.",
  "UnnecessaryBooleanAssertion.description": "Assertion of JUnit test on a Boolean literal is unnecessary because it always distinguishes between the same value. Detect if it is used. If the purpose is to simply stop the test, use method fail().",
  "UnnecessaryCaseChange.description": "If a comparison regardless of case is necessary, using method equalsIgnoreCase() is faster than using methods toUpperCase.equals() or toLowerCase.equals(). This rule checks if the later is used.",
  "UnnecessaryConstructor.description": "Detect if there is only a single line of code which is the declaration of a public method that does not accept and parameters or throws any exceptions in a class.",
  "UnnecessaryConversionTemporary.description": "Detect use of method toString() on a primitive type.",
  "UnnecessaryFinalModifier.description": "Detect methods not declared as final in a class declared as final (excluding interfaces).",
  "UnnecessaryFullyQualifiedName.description": "Detect if defined in import and fully qualified name is used.",
  "UnnecessaryLocalBeforeReturn.description": "Detect code that creates a variable that is going to be returned immediately.",
  "UnnecessaryModifier.description": "A class or interface with a field of type public static final or method of type public abstract is public static and ignored by the compiler thus explicitly stating the modifier is prohibited.",
  "UnnecessaryParentheses.description": "Remove unnecessary parenthesis.",
  "UnnecessaryReturn.description": "Detect return statement used in a void method.",
  "UnnecessaryWrapperObjectCreation.description": "Parsing methods (Ex. Integer.parseInt(...)) has to be called directly. Detect if this is not followed.",
  "UnpreciseMathCall.description": "Expression can be replaced by more mathematically accurate function to avoid loss of precision.",
  "UnreachableCode.description": "Statements 'return, 'break', 'continue' or 'throw' should always be used at the end of a block. Code after the following statement are not executed.",
  "UnsafeClassDivZero.description": "Public interface of Class is not safe. If parameter x is 0 that leads to division by zero.",
  "UnsynchronizedStaticDateFormatter.description": "Detect if the method that executes method format() of SimpleDateFormat is not declared as synchronized.",
  "UnusedFormalParameter.description": "Detect variables that is accepted as a formal parameter of a method but not used.",
  "UnusedLocalVariable.description": "Detect unused local variables.",
  "UnusedNullCheckInEquals.description": "Detect if method equals() is not called on an object that has been checked for null.",
  "UnusedPrivateField.description": "Detect unused private variables.",
  "UnusedPrivateFunction.description": "Unused private function: 'classname::funcname'",
  "UnusedPrivateMethod.description": "Detect unused private methods.",
  "UseArrayListInsteadOfVector.description": "Detect use of vector type.",
  "UseArraysAsList.description": "java.util.Arrays provides method asList() to create a new list from an Array. This is much faster than copying every element of the array to the list. Detect if a list is created using a loop statement instead of method asList().",
  "UseAssertEqualsInsteadOfAssertTrue.description": "Detect if method assertTrue(x.equals(y)) is used to check if the two objects are the same. It is recommended to use method assertEquals(x, y) instead.",
  "UseAssertNullInsteadOfAssertTrue.description": "Detect if methods assertTrue(x==null) or assertFalsE(x==null) is used to check if the object is null. It is recommended to use methods assertNull(x) or assertNotNull(x) instead.",
  "UseAssertSameInsteadOfAssertTrue.description": "Detect if method assertTrue(x==y) is used to check if reference of objects are the same. It is recommended to use method assertSame(x, y) instead.",
  "UseAssertTrueInsteadOfAssertEquals.description": "It is recommended to use methods assertTrue() or assertFalse() instead of assertEqual() when using assert related methods.",
  "UseCollectionIsEmpty.description": "Detect use of .size() == 0 or .size() != 0 on a collection object.",
  "UseConcatOnce.description": "Do not use nested concat() functions in XPath. Use them in simple statements.",
  "UseConcurrentHashMap.description": "ConcurrentHashMap designed especially for concurrent applications is offered in Java versions 1.5 and higher. In such case, detect if ConcurrentHashMap is not used.",
  "UseCorrectExceptionLogging.description": "For objects declared as a Logger, Detect if the PrimarySuffix argument of a block is received in the catch block and the argument name is equal to the name of the FormalParameter of the catch statement.",
  "UseEqualsToCompareStrings.description": "Detect if a string is compared with a constant through operators \"==\", or \"!=\".",
  "UseIndexOfChar.description": "Detect if indexOf(String) is used when method indexOf() of String is called. Using indexOf(char) is much faster.",
  "UseInitializationList.description": "When an object of a class is created, the constructors of all member variables are called consecutively in the order the variables are declared, even if you don't explicitly write them to the initialization list. You could avoid assigning 'variable' a value by passing the value to the constructor in the initialization list.",
  "UseLocaleWithCaseConversions.description": "Detect if argument is not used when using methods toLowerCase() and toUpperCase().",
  "UseNotifyAllInsteadOfNotify.description": "Detect argument not passed to the notify() statement.",
  "UseObjectForClearerAPI.description": "It is recommended to have the parameter of the API as a single object for re-usability, modification and maintenance.",
  "UseProperClassLoader.description": "Detect use of getClassLoader through PrimarySuffix.",
  "UseUtilityClass.description": "It is recommended to make a class as a singleton if it only contains static. Or instead, it is possible to add private constructors or make the class abstract.",
  "UseVarargs.description": "In Java 5, it is possible to use varargs in a method and in the constructor. It is recommended to use varargs instead of an array.",
  "UselessOperationOnImmutable.description": "Since calculations on Immutable objects (String, BigDecimal or BigInteger) do not change themselves, detect if the result value does not have any following operations.",
  "UselessOverridingMethod.description": "Detect if a method is created with name equal to that of the super class and does the same functionality, when calling the method of the super class is enough.",
  "UselessParentheses.description": "Remove useless parenthesis.",
  "UselessStringValueOf.description": "Detect if method String.valueOf() is called when a value is added to a string. Instead, it is recommended to directly use parameter of valueOf().",
  "VA_ARG_INTEGER_PROMOTION.description": "The Incorrect Vararg Type checker finds calls to the va_arg() function made with an argument of an incorrect type.\nIt is recommended to pass the int type to va_arg() so that issues such as integer promotions can be effectively prevented.",
  "VERIFY_PROVIDE_STANDARD_INTERFACE.description": "The Failure to Provide Standard Interface checker finds classes that do not provide at least a minimal standard interface.\nA minimal standard interface should include a default constructor, copy constructor, assignment constructor, and destructor. The checker checks each class for having these four methods implemented, and reports for any classes that fail to meet this requirement.\nMake sure all classes explicitly define at least the default constructor, copy constructor, assignment constructor, and destructor.",
  "VOID_KEYWORD_FOR_NO_PARAM.description": "The Missing void in Argumentless Function checker finds function declarations that have no arguments but do not include the void keyword in the argument list.\nWhen declaring a function with no arguments, specify \"void\" in the argument list.",
  "VOID_RETURN_VALUE_SHALL_NOT_BE_USED.description": "The Use of Void Function Return checker finds attempts at using the return of a function declared void.\nYou must not try using a void-type function in an expression or assign it to a variable. Generally, void functions are recommended to be invoked only in a separate call statement.",
  "VOLATILE_ACCESS_RHS_OF_LOGICAL_OP.description": "The Access to Volatile Object on Right-Hand Side of Logical Operator checker finds expressions in which the right-hand side of a logical operator contains a volatile-qualified variable.\nDo not use a volatile variable on the right-hand side of a logical operator.",
  "VOLATILE_VALUE_MODIFICATION.description": "The Use of volatile Qualifier for Reference Type checker finds code that uses a volatile qualifier for reference type.\nA volatile qualifier cannot be used for a reference type.",
  "VariableNamingConventions.description": "Detect violation of variable naming conventions.\n1. For a variable that is declared as static and final, but its name is not written in all uppercase letters.\n2. For a non-final variable that contains an underscore (_) in its name.\n3. For a non-final variable that its name starts with an uppercase letter.",
  "VfCsrf.description": "Calling a VF action on page loading might be vulnerable to CSRF.",
  "VfUnescapeEl.description": "Without escaping on user inputs from EL, you can be vulnerable to XSS attacks.",
  "VirtualDestructor.description": "Class 'Base' which is inherited by class 'Derived' does not have a virtual destructor. If you destroy instances of the derived class by deleting a pointer that points to the base class, only the destructor of the base class is executed. Thus, dynamic memory that is managed by the derived class could leak. This can be avoided by adding a virtual destructor to the base class.",
  "WAIT_ALL_THREAD_BEFORE_DESTROY.description": "The Manipulation of Another Thread's Mutex checker finds instances of unlocking or destroying another thread's mutex.\nDo not unlock or destroy another thread's mutex.",
  "WEAK_CRYPTOGRAPHIC_HASH_HARDCODED_SALT.description": "The Hardcoded Salt checker finds instances of using a hardcoded salt for hash calculation.\nUse a cryptographically secure approach that generates unpredictable salts randomly, or have salts generated from an external source.",
  "WEAK_ENCRYPTION.HARDCODED_SALT.description": "The Hardcoded Salt checker finds instances of using a hardcoded salt for hash calculation.\nUse a cryptographically secure approach that generates unpredictable salts randomly, or have salts generated from an external source.",
  "WEAK_ENCRYPTION.INSUFFICIENT_KEY.description": "The Short Encryption Key checker finds encryption keys that are too short.\nYou can optionally specify the minimum key length that ensures security.\nEach major algorithm suggests an appropriate length of a key that ensures an extremely long time is taken to break the key at the currently known level of technology, thus making attacks on it practically impossible. It is recommended to use a key no shorter than the suggested length. For instance, the RSA algorithm must be used with a key of at least 2,048 bits (as of 2015), while symmetric encryption algorithms require a key of at least 128 bits.",
  "WEAK_ENCRYPTION.PASSWORD.description": "The Password Encryption Using Weak Cryptographic Algorithm checker finds instances of using a simple cryptographic algorithm for password encryption.\nThe checker searches for calls to SQLConnect() in which the password in the sixth argument is encrypted by a simple cryptographic algorithm. The recommended cryptographic modules are the RSA_private_decrypt() and RSA_private_decrypt_assign() functions.\nDo not use a weak cryptographic algorithm for password encryption.",
  "WEAK_ENCRYPTION.RISKY_ALGORITHM.description": "The Weak Cryptographic Algorithm checker finds instances of using a cryptographic algorithm known to be insecure.\nThe weak cryptographic algorithms subject to the detection of the checker include RC2, RC4, RC5, RC6, MD4, MD5, SHA1, and DES.\nDeveloping your own cryptographic algorithm is dangerous; instead, use standard algorithms that have been proven in academia and industry. Use secure algorithms such as 3DES, AES, and SEED instead of those considered weak such as DES and RC5. And encryption keys must be long enough in accordance with the appropriate length suggested by each standard, secure algorithm.",
  "WEAK_ENCRYPTION.RSA_PADDING.description": "The Inappropriate RSA Padding checker finds RSA padding schemes that are inappropriate for the RSA algorithm.\nRSA_NO_PADDING should not be passed as a padding option.\nIt is recommended to use OAEP.",
  "WEAK_ENCRYPTION_INADEQUATE_RSA_PADDING.description": "The Inappropriate RSA Padding checker finds RSA padding schemes that are inappropriate for the RSA algorithm.\n\"RSA/NONE/NoPadding\" should not be passed as a padding option.\nIt is recommended to use OAEP.",
  "WEAK_ENCRYPTION_INSUFFICIENT_KEY_SIZE.description": "The Short Encryption Key checker finds encryption keys that are too short.\nYou can optionally specify the minimum key length that ensures security.\nEach major algorithm suggests an appropriate length of a key that ensures an extremely long time is taken to break the key at the currently known level of technology, thus making attacks on it practically impossible. It is recommended to use a key no shorter than the suggested length. For instance, the RSA algorithm must be used with a key of at least 2,048 bits (as of 2015), while symmetric encryption algorithms require a key of at least 128 bits.",
  "WEAK_SERVER_CERTIFICATES.description": "The Weak Server Certificate checker finds a child class that inherits X509TrustManager class, but fails to redefine an overriding function, or throw an exception from the child class.\nWhen implemented X509TrustManager fails to control certificate validation, this can lead to an error. Implement X509TrustManager interface, and validate certificates.",
  "WM__TAG__ACCESS": "Access",
  "WM__TAG__ANALYSIS": "Analysis",
  "WM__TAG__BROWSER": "Web Browser",
  "WM__TAG__CLIENT": "HTTP Client",
  "WM__TAG__CRAWL": "Crawling",
  "WM__TAG__DAST": "DAST",
  "WM__TAG__ENDPOINT": "Endpoint",
  "WM__TAG__FAILURE": "Fail",
  "WM__TAG__FIND": "Found",
  "WM__TAG__INVALID": "Invalid",
  "WM__TAG__LOGIN_RECORD": "Log-in Record",
  "WM__TAG__OPENAPI": "OpenAPI",
  "WM__TAG__PARSING": "Parsing",
  "WM__TAG__PRE": "Pre-analysis",
  "WM__TAG__PROCESS": "Engine Process",
  "WM__TAG__SEED_URL": "Analysis Target URL",
  "WM__TAG__SOCKET": "TCP Socket",
  "WM__TAG__SUCCESS": "Succeess",
  "WM__WARNING__CRAWL__OPENAPI__ENDPOINT__ACCESS__FAILURE__CONTENT": "During ingestion, the OpenAPI endpoint access failed.\n\nThe URL for that endpoint is\n\n```{0}```",
  "WM__WARNING__CRAWL__OPENAPI__ENDPOINT__ACCESS__FAILURE__TITLE": "Failed to access OpenAPI endpoint during ingest",
  "WM__WARNING__CRAWL__OPENAPI__PARSING__FAILURE__CONTENT": "During ingest, the OpenAPI specification file analysis failed. Make sure the specification file you provided is a valid file.",
  "WM__WARNING__CRAWL__OPENAPI__PARSING__FAILURE__TITLE": "Failed to analyze OpenAPI specification file during cawling",
  "WM__WARNING__CRAWL__OPENAPI__UNEXPECTED__FAILURE__CONTENT": "During ingestion, an unexpected error occurred and OpenAPI processing failed.",
  "WM__WARNING__CRAWL__OPENAPI__UNEXPECTED__FAILURE__TITLE": "Unexpected OpenAPI processing failures during ingestion",
  "WM__WARNING__PRE__BROWSER__LOGIN_RECORD__FIND__INVALID__CONTENT": "Found an invalid login record during early analysis. \n\nUnable to run the login record.\n\nThe file with the login record is: \n\n```{0}```",
  "WM__WARNING__PRE__BROWSER__LOGIN_RECORD__FIND__INVALID__TITLE": "Found an invalid login record in the browser during early analysis.",
  "WM__WARNING__PRE__BROWSER__SEED_URL__ACCESS__FAILURE__CONTENT": "Failed to access to a URL on the browser during early analysis. \n\nThe URL is:\n\n```{0}```",
  "WM__WARNING__PRE__BROWSER__SEED_URL__ACCESS__FAILURE__TITLE": "Failed to access URLs on the browser during early analysis",
  "WM__WARNING__PRE__OPENAPI__ENDPOINT__ACCESS__FAILURE__CONTENT": "During preliminary analysis, access to the OpenAPI endpoint failed.\n\nThe URL for that endpoint is\n\n```{0}```",
  "WM__WARNING__PRE__OPENAPI__ENDPOINT__ACCESS__FAILURE__TITLE": "Failed to access OpenAPI endpoints during pre-analysis",
  "WM__WARNING__PRE__OPENAPI__PARSING__FAILURE__CONTENT": "During pre-analysis, the analysis of the OpenAPI specification file failed. Make sure the specification file you provided is the correct file.",
  "WM__WARNING__PRE__OPENAPI__PARSING__FAILURE__TITLE": "Failed to analyze OpenAPI specification file during pre-analysis",
  "WM__WARNING__PRE__OPENAPI__UNEXPECTED__FAILURE__CONTENT": "During pre-analysis, an unexpected error occurred and OpenAPI processing failed.",
  "WM__WARNING__PRE__OPENAPI__UNEXPECTED__FAILURE__TITLE": "Unexpected OpenAPI processing failures during pre-analysis",
  "WRITE_DIRECTIVE_NESTED_PREPROCESSOR.description": "The Preprocessor Directive without Space checker finds instances in which a preprocessor statement does not start in the first column or an inner conditional preprocessing block does not include a space between the # character and directive name.\nMake sure preprocessor conditional statements start in the first column, and inner conditional preprocessing blocks include a space between the # character and directive name.",
  "WRITE_DIRECTIVE_PREPROCESSOR.description": "The Preprocessor Directive with Space checker finds preprocessor statements that do not start in the first column or that include a space between the # character and directive name.\nThis rule conflicts with the rule of the Preprocessor Directive without Space checker. Do not apply both rules simultaneously.\nMake sure no space comes before a preprocessor statement or between the # character and its following directive name.",
  "WRITE_STATIC_DECLARING_OPERATOR_NEW_AND_DELETE.description": "The Non-static Declaration of Memory Operator Overload checker finds overloads of the new and delete operators that are not declared static.\nMake sure overloads of the new and delete operators are declared with the static keyword.",
  "WRITE_TO_READONLY_FILE.description": "The Write to Read-only File checker finds attempts to write to a file open in read mode.\nExecute only read operations in read-only files. If you need a write to a file, open the file in a mode enabling both read and write access.",
  "WRITE_VIRTUAL_DTOR_FOR_BASE_CLASS.description": "The Declaration of Base Class Destructor as Non-virtual checker finds base classes in which the destructor is not declared virtual.\nDeclare the base class's destructor virtual.",
  "WRONG_ERROR_HANDLING.description": "The Improper Error Handling checker finds an application-independent code that does not include an error-detecting mechanism.\nApplication-independent code includes code that is shipped with the compiler or operating system, is from a third-party library, or is developed in-house.\nMake sure your application-independent code includes an error-detecting mechanism. The possible error-detection mechanism can be based on a return value, address argument, global indicator, or longjmp().",
  "WRONG_NUMBER_OF_PARAMETERS_IN_MACRO.description": "The Use of Macro Function with Fewer Arguments checker finds instances of calling a macro function with fewer arguments passed in than declared.\nA macro function refers to a function-like macro defined using the #define preprocessor directive.\nWhen calling a macro function, make sure that the number of arguments passed in matches the number of arguments declared.",
  "WRONG_PREPROCESSING_TOKEN.description": "The Invalid Preprocessing Token checker finds instances in which the # token appears as the first token on a line but is not followed by a valid preprocessing token.\nThe requirement of this rule is that all preprocessor directives shall be syntactically valid even when they occur within an excluded block of code.\nIf the # token appears as the first token on a line, then it shall be immediately followed by a valid preprocessing token.",
  "WhileLoopsMustUseBraces.description": "Detect lack of curly brackets in a while statement.",
  "Wrongmathcall.description": "Passing value '#' to #() leads to implementation-defined result.",
  "XML_EXTERNAL_ENTITY_ATTACKS.description": "The XML External Entity Attack checker finds code that an XML input containing references to external entities is processed by an improperly configured XML parser.\nThe entities are declared to define shortcuts to commonly used texts or special characters. You can define internal or external entities. For internal entities, the contents are provided in the declaration: for external entities, the contents are specified by Uniform Resource Identifier (URI). The entities may or may not be parsed. The contents of the parsed entities are called as replacement text. The unparsed entities may or may not have textual contents. If they do, the contents may or may not be XML. The parsed entities are invoked by name using entity references: the unparsed entities are invoked by name. According to XML W3C Recommendation, section 4.4.3, \"Included If Validating\" [W3C 2008], When an XML processor recognizes a reference to a parsed entity, to validate the document, the processor MUST include its replacement text. If the entity is external, and the processor is not attempting to validate the XML document, the processor MAY, but need not, include the entity's replacement text. Because inclusion of replacement text from an external entity is optional, not all XML processors are vulnerable to external entity attacks during validation. An XML external entity (XXE) attack occurs when XML input containing a reference to an external entity is processed by an improperly configured XML parser.\nYou must not use javax.xml.parsers.SAXParser.parse(). Or You need to call org.xml.sax.XMLReader.setEntityResolver() in advance of a call of org.xml.sax.XMLReader.parse().",
  "XPATH_INJECTION.description": "The XPath Injection checker finds XPath queries that include an unvalidated external input.\nExternal inputs used in XPath queries should be filtered for special characters (\", [, ], /, =, @, etc.) and reserved worlds.",
  "XPATH_INJECTION_ASPNET.description": "The XPath Injection checker finds XPath queries that include an unvalidated external input.\nMake sure external inputs used in XPath queries are filtered for special characters (\", [, ], /, =, @, etc.) and reserved words.",
  "XQUERY_INJECTION.description": "The XQuery Injection checker finds XQuery statements that include an unvalidated external input.\nMake sure external input data used in XQuery are filtered for special characters and reserved words.",
  "XQUERY_INJECTION_ASPNET.description": "The XQuery Injection checker finds XQuery statements that include an unvalidated external input.\nMake sure external input data used in XQuery are filtered for special characters and reserved words.",
  "XSLT_INJECTION_CSHARP.description": "The XSLT Injection checker finds instances of transforming XML data using an unvalidated XSLT style sheet.\nMake sure only trusted XSLT style sheets are used for transformation.",
  "XSS.JSTL_COUT_ESCAPE_XML_FALSE.description": "The Cross-site Scripting by escapeXml checker finds code that specifies escapeXml attributes to false for c:out tags in Java Standard Tag Library.\nSet the escapeXml attribute to true.",
  "XSS.WARNING.description": "If a result page is created from some condition filtering using characters from an external input, inappropriate script can be executed and expose information. Detect such cases.",
  "XSS.description": "The Cross-site Scripting checker finds instances of including an external input in HTML without validating it.\nTo prevent external inputs from being used for scripts, use a text replacement function or method to substitute characters such as <, >, &, and \" with &lt;, &gt;, &amp;, and &quot;, respectively. For bulletin boards that allow using HTML tags, make a whitelist of allowable HTML tags.",
  "XSS_ASPNET.description": "The Cross-site Scripting checker finds instances of including an external input in HTML without validating it.\nTo prevent external inputs from being used for scripts, use a text replacement function or method to substitute characters such as <, >, &, and \" with &lt;, &gt;, &amp;, and &quot;, respectively. For bulletin boards that allow using HTML tags, make a whitelist of allowable HTML tags.",
  "XSS_ATTRIBUTE.description": "The Cross-site Scripting Using Attribute Value checker finds instances of outputting an html page using the attribute value carried by an unvalidated input.\nTo prevent external inputs from being used for scripts, use a text replacement function or method to substitute characters such as <, >, &, and \" with &lt;, &gt;, &amp;, and &quot;, respectively. For bulletin boards that allow using HTML tags, make a whitelist of allowable HTML tags.",
  "XSS_DOM.description": "The DOM-based Cross-site Scripting checker finds instances of creating a DOM object with an external input in JSP.\nThe methods for creating a DOM object include document.write().\nTo prevent external inputs from being used for scripts, use a text replacement function or method to substitute characters such as <, >, &, and \" with &lt;, &gt;, &amp;, and &quot;, respectively. For bulletin boards that allow using HTML tags, make a whitelist of allowable HTML tags.",
  "XSS_ERROR_MESSAGE.description": "The Cross-site Scripting Using Error Message checker finds instances in which an error message is sent containing an external input.\nYou must disallow error messages from directly containing an external input.",
  "XSS_ERROR_MESSAGE_ASPNET.description": "The Cross-site Scripting Using Error Message checker finds instances in which an error message is sent containing an external input.\nYou must disallow error messages from directly containing an external input.",
  "XSS_FROM_URL.REACT.description": "Allowing URL values to be modified maliciously may expose you to attacks such as XSS. In particular, an attacker can intentionally execute a malicious script by manipulating a URL that contains the string \"javascript:\" in its address.\nReact warns when it encounters a vulnerable JavaScript URL. This warning informs a developer of the potential risk of using a URL but does not prevent the use of that URL.\n\n ",
  "abapchk.AVOID_ROOT_EXCEPTION.ABAP.defect": "\"CX_ROOT\" should not be caught.",
  "abapchk.BAD_CALL.BREAK_POINT.ABAP.defect": "\"BREAK-POINT\" statement should not be used in production code.",
  "abapchk.BAD_CALL.EXIT_CHECK_IN_SELECT_LOOP.ABAP.defect": "\"EXIT\" and \"CHECK\" statements should not be used in \"SELECT\" loop.",
  "abapchk.BAD_CALL.SYSTEM_CALL.ABAP.defect": "\"SYSTEM-CALL\" statement should not be used.",
  "abapchk.BAD_CALL.SYSTEM_C_FUNCTION.ABAP.defect": "System C functions(CALL statement) should not be used.",
  "abapchk.BAD_NAME.CLASS.ABAP.defect": "Class names should comply with a naming convention .",
  "abapchk.BAD_NAME.DATA.ABAP.defect": "\"DATA\" variable names should comply with a naming convention.",
  "abapchk.BAD_NAME.FORM.ABAP.defect": "\"FORM\" identifier names should comply with a naming convention.",
  "abapchk.BAD_NAME.FUNCTION.ABAP.defect": "Function names should comply with a naming convention.",
  "abapchk.BAD_NAME.INTERFACE.ABAP.defect": "\"INTERFACE\" identifier names should comply with a naming convention.",
  "abapchk.BAD_NAME.METHOD.ABAP.defect": "\"METHOD\" names should comply with a naming convention.",
  "abapchk.BAD_NAME.PROGRAM.ABAP.defect": "\"PROGRAM\" names should comply with a naming convention.",
  "abapchk.BAD_NAME.REPORT.ABAP.defect": "\"REPORT\" identifier names should comply with a naming convention.",
  "abapchk.CASE_ENDS_WITH_WHEN_OTHERS.ABAP.defect": "\"CASE\" statements should end with a \"WHEN OTHERS\" clause.",
  "abapchk.DEEPLY_NESTED.ABAP.defect": "Too deeply nested.",
  "abapchk.DEPRECATED.DATA_BEGIN_OF_OCCURS.ABAP.defect": "\"DATA BEGIN OF OCCURS\" statement is deprecated and should not be used.",
  "abapchk.DEPRECATED.FORM.ABAP.defect": "\"FORM\" statement should not be used.",
  "abapchk.DEPRECATED.REFRESH_ITAB_FROM_TABLE.ABAP.defect": "\"REFRESH itable FROM TABLE dbtable\" is obsolete and should not be used .",
  "abapchk.EMPTY_BRANCH.ELSE.ABAP.defect": "\"IF ELSEIF\" constructs shall be terminated with an \"ELSE\" clause.",
  "abapchk.EMPTY_BRANCH.WHEN_OTHERS.ABAP.defect": "\"CASE\" statements should have a \"WHEN OTHERS\" clause.",
  "abapchk.EMPTY_CATCH_BLOCK.ABAP.defect": "There is no exception handling codes in CATCH block.",
  "abapchk.FORBIDDEN.ASTERISK.SELECT.ABAP.defect": "\"SELECT * ...\" statement should not be used.",
  "abapchk.FORBIDDEN.BYPASSING_BUFFER.ABAP.defect": "SQL \"BYPASSING BUFFER\" clause should not be used.",
  "abapchk.FORBIDDEN.DISTINCT.ABAP.defect": "SQL \"DISTINCT\" operator should not be used.",
  "abapchk.FORBIDDEN.DYNAMIC_CLAUSES.SELECT.ABAP.defect": "SQL \"SELECT\" statements should not contain dynamic clauses.",
  "abapchk.FORBIDDEN.INTERNAL_STMT.ABAP.defect": "Internal source code processing statements should not be used.",
  "abapchk.FORBIDDEN.NATIVE.SQL.ABAP.defect": "Native SQL should not be used.",
  "abapchk.FORBIDDEN.NOT_IN_COND.ABAP.defect": "Do not use \"NOT IN\" in SQL",
  "abapchk.FORBIDDEN.QUERY_IN_LOOP.ABAP.defect": "\"SELECT\" should not be used in a \"LOOP\" or \"WHILE\" statement.",
  "abapchk.KEYWORD_AS_IDENTIFIER.ABAP.defect": "Keywords should not be used as variable names.",
  "abapchk.MISSING.ORDER_BY.SELECT.ABAP.defect": "Open SQL \"SELECT\" statement should have an \"ORDER BY\" clause.",
  "abapchk.MISSING.SORT_KEY.ABAP.defect": "Sort fields should be provided for an internal table sort.",
  "abapchk.MISSING.WHERE.DELETE.ABAP.defect": "\"DELETE FROM dbtab\" statements should have a \"WHERE\" clause.",
  "abapchk.MISSING.WHERE.SELECT.ABAP.defect": "\"SELECT\" statements should have a \"WHERE\" clause.",
  "abapchk.MISSING.WHERE.UPDATE.ABAP.defect": "\"UPDATE\" statement should have a \"WHERE\" clause.",
  "abapchk.NESTED_SELECT.ABAP.defect": "Use \"JOIN\" clause instead of nesting \"SELECT\" statements.",
  "abapchk.STRING.DUPLICATED.ABAP.defect": "String literals should not be duplicated.",
  "abapchk.TOO_BIG_FILE.ABAP.defect": "Files should not have too many lines.",
  "abapchk.TOO_FEW_WHEN.ABAP.defect": "\"CASE\" statements should have at least 3 \"WHEN\" clauses.",
  "abapchk.TOO_LONG_COLUMN.ABAP.defect": "The length of a line exceeds a predefined length.",
  "abapchk.TOO_MANY_BRANCH_IN_LOOP.ABAP.defect": "Loops should not contain more than a single \"CONTINUE\", \"EXIT\", \"CHECK\" statement.",
  "analyzer.analysis.all_checker_enable.description": "Enable all checkers is to activate all checkers at any checker lists. When you set this option into 'ON', then, activate all checkers of all checker lists for all analysis. On the other hand, when you set this option into 'OFF,' then, activate checkers at the selected checker list for the analysis only.",
  "analyzer.analysis.all_checker_enable.message": "Select 'ON' or 'OFF.'",
  "analyzer.analysis.all_checker_enable.name": "Enable all checkers",
  "analyzer.analysis.all_checker_enable.placeholder": "Not Applicable",
  "analyzer.analysis.checker_list.description": "Vulnerability checker is a module to check a specified vulnerability.",
  "analyzer.analysis.checker_list.message": "At least one vulnerability checker is required.",
  "analyzer.analysis.checker_list.name": "Vulnerability checker",
  "analyzer.analysis.checker_list.placeholder": "Not Applicable",
  "analyzer.analysis.disable_timing.description": "Disabled Analysis Step option sets analysis steps to be skipped. The analysis goes through the following steps: PRE, NORMAL, POST, and LAST.",
  "analyzer.analysis.disable_timing.extras.0.PRE": "PRE",
  "analyzer.analysis.disable_timing.extras.0.pre": "PRE",
  "analyzer.analysis.disable_timing.extras.1.NORMAL": "NORMAL",
  "analyzer.analysis.disable_timing.extras.1.normal": "NORMAL",
  "analyzer.analysis.disable_timing.extras.2.POST": "POST",
  "analyzer.analysis.disable_timing.extras.2.post": "POST",
  "analyzer.analysis.disable_timing.extras.3.LAST": "LAST",
  "analyzer.analysis.disable_timing.extras.3.last": "LAST",
  "analyzer.analysis.disable_timing.message": "You can only choose one step between PRE, NORMAL, POST, and LAST.",
  "analyzer.analysis.disable_timing.name": "Disabled Analysis Step",
  "analyzer.analysis.disable_timing.placeholder": "Please select the Disabled Analysis Step.",
  "analyzer.analyze.timeout.description": "If the option is set to a large value, the tool **takes more time on analyzing** and this can **increase the number of analyzing results**. If the option is set to a small value, the tool **takes less time on analyzing** and this can **lead to decrease the number of analyzing results**.  When the option is empty, `0` will be set by default and does not limit time to analyze.",
  "analyzer.analyze.timeout.message": "Enter a number between 0 and 2,147,483,647.",
  "analyzer.analyze.timeout.name": "Analyzing time limit",
  "analyzer.analyze.timeout.placeholder": "Enter a time. (unit: m)",
  "analyzer.detect.stored.description": "If this option is set to `ON`, the tool **conducts additional actions to detect storage vulnerability, and activates checkers for the storage vulnerability.** So, the tool can need more time and detect the storage vulnerability. If this option is set to `OFF`, the tool **does not conduct additional actions to detect storage vulnerability, and deactivate checkers for the storage vulnerability.** So, the tool can need less time, but cannot detect the storage vulnerability.",
  "analyzer.detect.stored.message": "Enter either 'true' or 'false.'",
  "analyzer.detect.stored.name": "Detect storage vulnerability",
  "analyzer.detect.stored.placeholder": "N/A",
  "analyzer.skip.url.description": "If a **URL includes at least one of strings entered in this option, it will not be analyzed**.",
  "analyzer.skip.url.message": "Please enter strings only.",
  "analyzer.skip.url.name": "Excluded analysis URL",
  "analyzer.skip.url.placeholder": "Please enter a URL. Press Enter key to split items.",
  "analyzer.truescan.handler.lifetime.description": "Expiration of TrueScan Handler indicates an expiration for the TrueScan handler, which finds vulnerabilities based on call information sent by the TrueScan agent. If the TrueScan handler is expires, it will be removed whether activated or not. When the handler gets removed due to performance of analysis target server, put bigger number to the option, and it will work.",
  "analyzer.truescan.handler.lifetime.message": "Enter a number more than 0.",
  "analyzer.truescan.handler.lifetime.name": "Expiration of TrueScan Handler",
  "analyzer.truescan.handler.lifetime.placeholder": "N/A",
  "analyzer.variant.injectable.description": "Penetration target is where the attack string is placed for analysis during the analysis process. The analyzer replaces the value of the penetration target with the attack string in the request it sent at the time of crawling and resends the request. The more penetration targets, the wider the scope of the analysis, which improves the analysis performance but slows down the analysis. Less penetration targets improve the speed of analysis, but they may narrow the scope of the vulnerability.",
  "analyzer.variant.injectable.extras.0.QUERY_STRING": "Quary String",
  "analyzer.variant.injectable.extras.0.query_string": "Query String",
  "analyzer.variant.injectable.extras.1.FORM_DATA": "FORM Data",
  "analyzer.variant.injectable.extras.1.form_data": "FORM Data",
  "analyzer.variant.injectable.extras.2.COOKIE": "Cookie",
  "analyzer.variant.injectable.extras.2.cookie": "Cookie",
  "analyzer.variant.injectable.extras.3.HTTP_HEADERS": "HTTP Header",
  "analyzer.variant.injectable.extras.3.http_headers": "HTTP Header",
  "analyzer.variant.injectable.extras.4.URL_PATH": "URL Path",
  "analyzer.variant.injectable.extras.4.url_path": "URL Path",
  "analyzer.variant.injectable.message": "Penetration attack target needs to be one of the selections.",
  "analyzer.variant.injectable.name": "Penetration Attack Target",
  "analyzer.variant.injectable.placeholder": "Select a penetration attack target.",
  "analyzer.variant.rpc.description": "The RPC attack target indicates a data format where to put attack strings in analysis process. An analyzer sends a request back by inserting an attack string when a request uses one of XML, JSON, DRW, open data protocol, Google Web Toolkit, multipart/form-data format. If this option gets broader, analysis performance will improve because analysis range expands, but the speed will impair. If this option gets diminished, the speed will improve, but analysis performance will impair because analysis range gets narrowed.",
  "analyzer.variant.rpc.extras.0.MULTI_PART": "multipart/form-data",
  "analyzer.variant.rpc.extras.0.multi_part": "multipart/form-data",
  "analyzer.variant.rpc.extras.1.XML": "XML",
  "analyzer.variant.rpc.extras.1.xml": "XML",
  "analyzer.variant.rpc.extras.2.JSON": "JSON",
  "analyzer.variant.rpc.extras.2.json": "JSON",
  "analyzer.variant.rpc.extras.3.GWT": "Google Web Toolkit",
  "analyzer.variant.rpc.extras.3.gwt": "Google Web Toolkit",
  "analyzer.variant.rpc.extras.4.DWR": "DWR",
  "analyzer.variant.rpc.extras.4.dwr": "DWR",
  "analyzer.variant.rpc.message": "The RPC Attack Target needs to be one of the selections.",
  "analyzer.variant.rpc.name": "RPC Attack Target",
  "analyzer.variant.rpc.placeholder": "Select an RPC attack target.",
  "arithOperationsOnVoidPointer.description": "When using void pointers in calculations, the behaviour is undefined.",
  "charBitOp.description": "When using char variables in bit operations, sign extension can generate unexpected results.",
  "charLiteralWithCharPtrCompare.description": "Char literals need to be compared with pointers.",
  "checkCastIntToCharAndBack.description": "Storing a function return value in char variable and then comparing with EOF. Comparing the char variable with EOF can have unexpected results.",
  "checker.absolute_path_disclosure.name": "Absolute Path Exposure",
  "checker.absolute_path_disclosure.remedy": "To fix the vulnerability, remove an absolute file path from web pages.",
  "checker.absolute_path_disclosure.target": "Absolute Path Exposure' checker finds an absolute file path on web pages.",
  "checker.absolute_path_disclosure.vulnerability": "Attackers can exploit the unintended absolute path in the web pages to convey additional attacks.",
  "checker.active_custom.attack_strings.description": "An attack string is a string that can be included within an HTTP request sent to the server during an attack.",
  "checker.active_custom.attack_strings.message": "Please enter at least 1 string.",
  "checker.active_custom.attack_strings.name": "Attack String",
  "checker.active_custom.attack_strings.placeholder": "Please enter an attack string. (Example: <script>alert(1);</script>)",
  "checker.active_custom.detection_rules.description": "Detection rule is a regular expression that is used to check a vulnerability in the server's HTTP response to an attack.",
  "checker.active_custom.detection_rules.message": "Please enter the correct regular expression format.",
  "checker.active_custom.detection_rules.name": "Detection rule",
  "checker.active_custom.detection_rules.placeholder": "Please enter a regular expression to use as a detection rule. (Example: <script>alert(1);</script>)",
  "checker.active_custom.exclusion_rules.description": "An exclusion rule is a regular expression that is used to define what to exclude from checks.",
  "checker.active_custom.exclusion_rules.message": "Please enter the correct regular expression format.",
  "checker.active_custom.exclusion_rules.name": "Exclusion Rule",
  "checker.active_custom.exclusion_rules.placeholder": "Please enter a regular expression to use as an exclusion rule. (Example: <script>alert(1);</script>)",
  "checker.active_custom.variant.injectable.description": "Penetration target is where the attack string is placed for analysis during the analysis process. The analyzer replaces the value of the penetration target with the attack string in the request it sent at the time of crawling and resends the request. The more penetration targets, the wider the scope of the analysis, which improves the analysis performance but slows down the analysis. Less penetration targets improve the speed of analysis, but they may narrow the scope of the vulnerability.",
  "checker.active_custom.variant.injectable.extras.0.QUERY_STRING": "Quary String",
  "checker.active_custom.variant.injectable.extras.0.query_string": "Query String",
  "checker.active_custom.variant.injectable.extras.1.FORM_DATA": "FORM Data",
  "checker.active_custom.variant.injectable.extras.1.form_data": "FORM Data",
  "checker.active_custom.variant.injectable.extras.2.COOKIE": "Cookie",
  "checker.active_custom.variant.injectable.extras.2.cookie": "Cookie",
  "checker.active_custom.variant.injectable.extras.3.HTTP_HEADERS": "HTTP Header",
  "checker.active_custom.variant.injectable.extras.3.http_headers": "HTTP Header",
  "checker.active_custom.variant.injectable.extras.4.URL_PATH": "URL Path",
  "checker.active_custom.variant.injectable.extras.4.url_path": "URL Path",
  "checker.active_custom.variant.injectable.message": "Penetration attack target needs to be one of the selections.",
  "checker.active_custom.variant.injectable.name": "Penetration Attack Target",
  "checker.active_custom.variant.injectable.placeholder": "Select a penetration attack target.",
  "checker.active_custom.variant.rpc.description": "The RPC attack target indicates a data format where to put attack strings in analysis process. An analyzer sends a request back by inserting an attack string when a request uses one of XML, JSON, DRW, open data protocol, Google Web Toolkit, multipart/form-data format. If this option gets broader, analysis performance will improve because analysis range expands, but the speed will impair. If this option gets diminished, the speed will improve, but analysis performance will impair because analysis range gets narrowed.",
  "checker.active_custom.variant.rpc.extras.0.MULTI_PART": "multipart/form-data",
  "checker.active_custom.variant.rpc.extras.0.multi_part": "multipart/form-data",
  "checker.active_custom.variant.rpc.extras.1.XML": "XML",
  "checker.active_custom.variant.rpc.extras.1.xml": "XML",
  "checker.active_custom.variant.rpc.extras.2.JSON": "JSON",
  "checker.active_custom.variant.rpc.extras.2.json": "JSON",
  "checker.active_custom.variant.rpc.extras.3.GWT": "Google Web Toolkit",
  "checker.active_custom.variant.rpc.extras.3.gwt": "Google Web Toolkit",
  "checker.active_custom.variant.rpc.extras.4.DWR": "DWR",
  "checker.active_custom.variant.rpc.extras.4.dwr": "DWR",
  "checker.active_custom.variant.rpc.message": "The RPC Attack Target needs to be one of the selections.",
  "checker.active_custom.variant.rpc.name": "RPC Attack Target",
  "checker.active_custom.variant.rpc.placeholder": "Select an RPC attack target.",
  "checker.ajp_enable.ports.description": "Port number is a number string to connect to a port or attack the port.",
  "checker.ajp_enable.ports.description ": "The port number can be used as a string to connect to the port or attempt for an attack.",
  "checker.ajp_enable.ports.message": "Please enter at least 1 string.",
  "checker.ajp_enable.ports.message ": "Please enter at least 1 string.",
  "checker.ajp_enable.ports.name": "Port Number",
  "checker.ajp_enable.ports.name ": "Port Number",
  "checker.ajp_enable.ports.placeholder": "Please enter a string that corresponds to the port number.",
  "checker.ajp_enable.ports.placeholder ": "Please enter a string that corresponds to the port number.",
  "checker.bfla.admin_api_body.description": "This is the reference or baseline of request body to identify whether a specific API request corresponds to the administrative API endpoint. It must be input in JSON format. If the HTTP method is selected as **GET**, the provided request body will not be used.",
  "checker.bfla.admin_api_body.name": "Request body of administrative API endpoint",
  "checker.bfla.admin_api_body.placeholder": "Please enter the request body in JSON format.",
  "checker.bfla.admin_api_method.description": "This is the reference or baseline of request HTTP method to identify whether a specific API request corresponds to an administrative API endpoint.",
  "checker.bfla.admin_api_method.name": "Request HTTP method of administrative API endpoint",
  "checker.bfla.admin_api_url.description": "This is the reference or baseline of request URL to identify whether a specific API request corresponds to the administrative API endpoint.",
  "checker.bfla.admin_api_url.name": "Request URL of administrative API endpoint",
  "checker.bfla.admin_api_url.placeholder": "Please enter the request URL.",
  "checker.blind_sql_injection.variant.injectable.description": "Penetration target is where the attack string is placed for analysis during the analysis process. The analyzer replaces the value of the penetration target with the attack string in the request it sent at the time of crawling and resends the request. The more penetration targets, the wider the scope of the analysis, which improves the analysis performance but slows down the analysis. Less penetration targets improve the speed of analysis, but they may narrow the scope of the vulnerability.",
  "checker.blind_sql_injection.variant.injectable.extras.0.query_string": "Query String",
  "checker.blind_sql_injection.variant.injectable.extras.1.form_data": "FORM Data",
  "checker.blind_sql_injection.variant.injectable.extras.2.cookie": "Cookie",
  "checker.blind_sql_injection.variant.injectable.extras.3.http_headers": "HTTP Header",
  "checker.blind_sql_injection.variant.injectable.extras.4.url_path": "URL Path",
  "checker.blind_sql_injection.variant.injectable.message": "Penetration attack target needs to be one of the selections.",
  "checker.blind_sql_injection.variant.injectable.name": "Penetration Attack Target",
  "checker.blind_sql_injection.variant.injectable.placeholder": "Select a penetration attack target.",
  "checker.blind_sql_injection.variant.rpc.description": "RPC attack target indicates a data format where to put attack strings in analysis process. An analyzer sends a request back by inserting an attack string when a request uses one of XML, JSON, DRW, open data protocol, Google Web Toolkit, multipart/form-data format. If this option gets broader, analysis performance will improve because analysis range expands, but the speed will impair. If this option gets diminished, the speed will improve, but analysis performance will impair because analysis range gets narrowed.",
  "checker.blind_sql_injection.variant.rpc.extras.0.multi_part": "multipart/form-data",
  "checker.blind_sql_injection.variant.rpc.extras.1.xml": "XML",
  "checker.blind_sql_injection.variant.rpc.extras.2.json": "JSON",
  "checker.blind_sql_injection.variant.rpc.extras.3.gwt": "Google Web Toolkit",
  "checker.blind_sql_injection.variant.rpc.extras.4.dwr": "DWR",
  "checker.blind_sql_injection.variant.rpc.message": "RPC Attack Target needs to be one of the selections.",
  "checker.blind_sql_injection.variant.rpc.name": "RPC Attack Target",
  "checker.blind_sql_injection.variant.rpc.placeholder": "Select an RPC attack target.",
  "checker.bopla.admin_api_body.description": "This is the reference or baseline of request body to identify whether a specific API request corresponds to the administrative API endpoint. It must be input in JSON format. If the HTTP method is selected as `**GET**`, the provided request body will not be used.",
  "checker.bopla.admin_api_body.name": "Request body of administrative API endpoint",
  "checker.bopla.admin_api_body.placeholder": "Please enter the request body in JSON format.",
  "checker.bopla.admin_api_method.description": "This is the reference or baseline of request HTTP method to identify whether a specific API request corresponds to an administrative API endpoint.",
  "checker.bopla.admin_api_method.name": "Request HTTP method of administrative API endpoint",
  "checker.bopla.admin_api_url.description": "This is the reference or baseline of request URL to identify whether a specific API request corresponds to an administrative API endpoint.",
  "checker.bopla.admin_api_url.name": "Request URL of administrative API endpoint",
  "checker.bopla.admin_api_url.placeholder": "Please enter the request URL.",
  "checker.broken_skip_link.exclusion_css_selector.description": "The Excluded CSS Selector indicates a directive to point out the excluded web element.",
  "checker.broken_skip_link.exclusion_css_selector.message": "Enter a CSS Selector in a valid format.",
  "checker.broken_skip_link.exclusion_css_selector.name": "Excluded CSS Selector",
  "checker.broken_skip_link.exclusion_css_selector.placeholder": "ko'])",
  "checker.broken_skip_link.exclusion_xpath.description": "The Excluded XPath indicates a directive to point out the excluded web element.",
  "checker.broken_skip_link.exclusion_xpath.message": "Enter an XPath in a valid format.",
  "checker.broken_skip_link.exclusion_xpath.name": "Excluded XPath",
  "checker.broken_skip_link.exclusion_xpath.placeholder": "Enter an XPath of an excluded web element. (Example: /html/body/div[3])",
  "checker.broken_skip_link.name": "Broken Skip Link",
  "checker.broken_skip_link.remedy": "To fix the vulnerability, provide skip links with valid connection settings.",
  "checker.broken_skip_link.target": "The Broken Skip Link checker finds skip links with invalid connection settings.",
  "checker.broken_skip_link.vulnerability": "Due to the broken skip link, screen reader users can have troubles of hearing repeated sections from pages to access to contents. In addition, physically handicapped users can have troubles to scroll down to the contents.",
  "checker.buffer_overflow.variant.injectable.description": "Penetration target is where the attack string is placed for analysis during the analysis process. The analyzer replaces the value of the penetration target with the attack string in the request it sent at the time of crawling and resends the request. The more penetration targets, the wider the scope of the analysis, which improves the analysis performance but slows down the analysis. Less penetration targets improve the speed of analysis, but they may narrow the scope of the vulnerability.",
  "checker.buffer_overflow.variant.injectable.extras.0.query_string": "Query String",
  "checker.buffer_overflow.variant.injectable.extras.1.form_data": "FORM Data",
  "checker.buffer_overflow.variant.injectable.extras.2.cookie": "Cookie",
  "checker.buffer_overflow.variant.injectable.extras.3.http_headers": "HTTP Header",
  "checker.buffer_overflow.variant.injectable.extras.4.url_path": "URL Path",
  "checker.buffer_overflow.variant.injectable.message": "Penetration attack target needs to be one of the selections.",
  "checker.buffer_overflow.variant.injectable.name": "Penetration Attack Target",
  "checker.buffer_overflow.variant.injectable.placeholder": "Select a penetration attack target.",
  "checker.buffer_overflow.variant.rpc.description": "RPC attack target indicates a data format where to put attack strings in analysis process. An analyzer sends a request back by inserting an attack string when a request uses one of XML, JSON, DRW, open data protocol, Google Web Toolkit, multipart/form-data format. If this option gets broader, analysis performance will improve because analysis range expands, but the speed will impair. If this option gets diminished, the speed will improve, but analysis performance will impair because analysis range gets narrowed.",
  "checker.buffer_overflow.variant.rpc.extras.0.multi_part": "multipart/form-data",
  "checker.buffer_overflow.variant.rpc.extras.1.xml": "XML",
  "checker.buffer_overflow.variant.rpc.extras.2.json": "JSON",
  "checker.buffer_overflow.variant.rpc.extras.3.gwt": "Google Web Toolkit",
  "checker.buffer_overflow.variant.rpc.extras.4.dwr": "DWR",
  "checker.buffer_overflow.variant.rpc.message": "RPC Attack Target needs to be one of the selections.",
  "checker.buffer_overflow.variant.rpc.name": "RPC Attack Target",
  "checker.buffer_overflow.variant.rpc.placeholder": "Select an RPC attack target.",
  "checker.code_injection.variant.injectable.description": "Penetration target is where the attack string is placed for analysis during the analysis process. The analyzer replaces the value of the penetration target with the attack string in the request it sent at the time of crawling and resends the request. The more penetration targets, the wider the scope of the analysis, which improves the analysis performance but slows down the analysis. Less penetration targets improve the speed of analysis, but they may narrow the scope of the vulnerability.",
  "checker.code_injection.variant.injectable.extras.0.query_string": "Query String",
  "checker.code_injection.variant.injectable.extras.1.form_data": "FORM Data",
  "checker.code_injection.variant.injectable.extras.2.cookie": "Cookie",
  "checker.code_injection.variant.injectable.extras.3.http_headers": "HTTP Header",
  "checker.code_injection.variant.injectable.extras.4.url_path": "URL Path",
  "checker.code_injection.variant.injectable.message": "Penetration attack target needs to be one of the selections.",
  "checker.code_injection.variant.injectable.name": "Penetration Attack Target",
  "checker.code_injection.variant.injectable.placeholder": "Select a penetration attack target.",
  "checker.code_injection.variant.rpc.description": "RPC attack target indicates a data format where to put attack strings in analysis process. An analyzer sends a request back by inserting an attack string when a request uses one of XML, JSON, DRW, open data protocol, Google Web Toolkit, multipart/form-data format. If this option gets broader, analysis performance will improve because analysis range expands, but the speed will impair. If this option gets diminished, the speed will improve, but analysis performance will impair because analysis range gets narrowed.",
  "checker.code_injection.variant.rpc.extras.0.multi_part": "multipart/form-data",
  "checker.code_injection.variant.rpc.extras.1.xml": "XML",
  "checker.code_injection.variant.rpc.extras.2.json": "JSON",
  "checker.code_injection.variant.rpc.extras.3.gwt": "Google Web Toolkit",
  "checker.code_injection.variant.rpc.extras.4.dwr": "DWR",
  "checker.code_injection.variant.rpc.message": "RPC Attack Target needs to be one of the selections.",
  "checker.code_injection.variant.rpc.name": "RPC Attack Target",
  "checker.code_injection.variant.rpc.placeholder": "Select an RPC attack target.",
  "checker.command_injection.variant.injectable.description": "Penetration target is where the attack string is placed for analysis during the analysis process. The analyzer replaces the value of the penetration target with the attack string in the request it sent at the time of crawling and resends the request. The more penetration targets, the wider the scope of the analysis, which improves the analysis performance but slows down the analysis. Less penetration targets improve the speed of analysis, but they may narrow the scope of the vulnerability.",
  "checker.command_injection.variant.injectable.extras.0.query_string": "Query String",
  "checker.command_injection.variant.injectable.extras.1.form_data": "FORM Data",
  "checker.command_injection.variant.injectable.extras.2.cookie": "Cookie",
  "checker.command_injection.variant.injectable.extras.3.http_headers": "HTTP Header",
  "checker.command_injection.variant.injectable.extras.4.url_path": "URL Path",
  "checker.command_injection.variant.injectable.message": "Penetration attack target needs to be one of the selections.",
  "checker.command_injection.variant.injectable.name": "Penetration Attack Target",
  "checker.command_injection.variant.injectable.placeholder": "Select a penetration attack target.",
  "checker.command_injection.variant.rpc.description": "RPC attack target indicates a data format where to put attack strings in analysis process. An analyzer sends a request back by inserting an attack string when a request uses one of XML, JSON, DRW, open data protocol, Google Web Toolkit, multipart/form-data format. If this option gets broader, analysis performance will improve because analysis range expands, but the speed will impair. If this option gets diminished, the speed will improve, but analysis performance will impair because analysis range gets narrowed.",
  "checker.command_injection.variant.rpc.extras.0.multi_part": "multipart/form-data",
  "checker.command_injection.variant.rpc.extras.1.xml": "XML",
  "checker.command_injection.variant.rpc.extras.2.json": "JSON",
  "checker.command_injection.variant.rpc.extras.3.gwt": "Google Web Toolkit",
  "checker.command_injection.variant.rpc.extras.4.dwr": "DWR",
  "checker.command_injection.variant.rpc.message": "RPC Attack Target needs to be one of the selections.",
  "checker.command_injection.variant.rpc.name": "RPC Attack Target",
  "checker.command_injection.variant.rpc.placeholder": "Select an RPC attack target.",
  "checker.content_type_missing.name": "Missing Content Type",
  "checker.content_type_missing.remedy": "Create a valid 'Content-Type' header to the HTTP response.",
  "checker.content_type_missing.target": "Missing Content Type' checker finds a missing 'Content-Type' header in an HTTP response.",
  "checker.content_type_missing.vulnerability": "When the 'Content-Type' header is missing, a browser recognizes MIME types based on the HTTP response texts. Attackers can use it to execute malicious code on the browser.",
  "checker.dacg.weakness.name.117": "Improper Log Output Validation",
  "checker.dacg.weakness.name.119": "Memory Pollution",
  "checker.dacg.weakness.name.120": "Buffer Overflow",
  "checker.dacg.weakness.name.122": "Heap Based Buffer Overflow",
  "checker.dacg.weakness.name.16": "Insecure Configuration",
  "checker.dacg.weakness.name.183": "Vulnerable Whitelist",
  "checker.dacg.weakness.name.185": "Improper Regular Expression",
  "checker.dacg.weakness.name.20": "Improper Input Validation",
  "checker.dacg.weakness.name.200": "Information Exposure",
  "checker.dacg.weakness.name.208": "Information Disclosure through Time Gap",
  "checker.dacg.weakness.name.22": "Path Traversal",
  "checker.dacg.weakness.name.269": "Improper Privilege Management",
  "checker.dacg.weakness.name.284": "Improper Access Control",
  "checker.dacg.weakness.name.285": "Improper Authorization",
  "checker.dacg.weakness.name.287": "Improper Authentication",
  "checker.dacg.weakness.name.295": "Improper Certificate Validation",
  "checker.dacg.weakness.name.297": "Improper Certificate and Host Mismatch Validation",
  "checker.dacg.weakness.name.300": "Channel Accessible from Non-endpoint Location",
  "checker.dacg.weakness.name.319": "Sensitive Information in Plain Text",
  "checker.dacg.weakness.name.330": "Use of Insufficiently Random Value",
  "checker.dacg.weakness.name.347": "Improper Electronic Signature Validation",
  "checker.dacg.weakness.name.352": "Cross-site Request Forgery",
  "checker.dacg.weakness.name.358": "Improperly Implemented Security Check for Standard",
  "checker.dacg.weakness.name.367": "Time-of-check Time-of-use (TOCTOU) Race Condition",
  "checker.dacg.weakness.name.377": "Temporary File Disclosure",
  "checker.dacg.weakness.name.400": "Improper Resource Consumption Control",
  "checker.dacg.weakness.name.434": "Unlimited File Upload",
  "checker.dacg.weakness.name.502": "Deserialization of Untrusted Data",
  "checker.dacg.weakness.name.506": "Embedded Malicious Code",
  "checker.dacg.weakness.name.522": "Insufficiently Protected Credentials",
  "checker.dacg.weakness.name.532": "Inclusion of Sensitive Information in Log Files",
  "checker.dacg.weakness.name.59": "Link Following",
  "checker.dacg.weakness.name.601": "Unverified Redirection",
  "checker.dacg.weakness.name.61": "Symbolic Link Following",
  "checker.dacg.weakness.name.611": "XXE Injection",
  "checker.dacg.weakness.name.640": "Weak Password Recovery Mechanism",
  "checker.dacg.weakness.name.643": "XPath Injection",
  "checker.dacg.weakness.name.693": "Protection Mechanism Failure",
  "checker.dacg.weakness.name.697": "Comparison Failure",
  "checker.dacg.weakness.name.78": "OS Command Injection",
  "checker.dacg.weakness.name.79": "Cross-site Scripting",
  "checker.dacg.weakness.name.790": "Improper Filtering for Special Elements",
  "checker.dacg.weakness.name.89": "SQL Injection",
  "checker.dacg.weakness.name.90": "LDAP Injection",
  "checker.dacg.weakness.name.91": "XPath Injection",
  "checker.dacg.weakness.name.916": "Password Hash Value Generation via Insufficient Calculation",
  "checker.dacg.weakness.name.93": "CRLF Injection",
  "checker.dacg.weakness.name.94": "Code Injection",
  "checker.dacg.weakness.name.942": "Overly Permissive Cross-domain Whitelist",
  "checker.dacg.weakness.name.95": "Eval Injection",
  "checker.dacg.weakness.name.98": "PHP Remote File Inclusion",
  "checker.dacg_iis.attack": "An attacker can search known vulnerability information about Internet Information Service (IIS) by using the vulnerability.",
  "checker.dacg_iis.cause": "The vulnerability is cased by using Internet Information Service (IIS) with known vulnerabilities.",
  "checker.dacg_iis.effect": "When the attack has succeeded, the attacker can use the information acquired from the search to perform more attacks.",
  "checker.dacg_iis.name": "Internet Information Service (IIS) with {0} vulnerability",
  "checker.dacg_iis.vulnerability": "Your current version of Internet Information Service (IIS) has {0} vulnerability.",
  "checker.dacg_mvn.attack": "An attacker can search known vulnerability information about a certain Maven library by using the vulnerability.",
  "checker.dacg_mvn.cause": "The vulnerability is cased by using a Maven library with known vulnerabilities.",
  "checker.dacg_mvn.effect": "When the attack has succeeded, the attacker can use the information acquired from the search to perform more attacks.",
  "checker.dacg_mvn.name": "{1} Maven library with {0} vulnerability",
  "checker.dacg_mvn.vulnerability": "Your current version of {0} Maven library has {1} vulnerability.",
  "checker.dacg_npm.attack": "An attacker can search known vulnerability information about a certain NPM library by using the vulnerability.",
  "checker.dacg_npm.cause": "The vulnerability is cased by using an NPM library with known vulnerabilities.",
  "checker.dacg_npm.effect": "When the attack has succeeded, the attacker can use the information acquired from the search to perform more attacks.",
  "checker.dacg_npm.name": "{1} NPM library with {0} vulnerability",
  "checker.dacg_npm.vulnerability": "Your current version of {0} NPM library has {1} vulnerability.",
  "checker.dacg_technote.attack": "An attacker can search known vulnerability information about Technote by using the vulnerability.",
  "checker.dacg_technote.cause": "The vulnerability is cased by using Technote with known vulnerabilities.",
  "checker.dacg_technote.effect": "When the attack has succeeded, the attacker can use the information acquired from the search to perform more attacks.",
  "checker.dacg_technote.name": "Technote with {0} vulnerability",
  "checker.dacg_technote.vulnerability": "Your current version of Technote has {0} vulnerability.",
  "checker.dacg_wp.core.attack": "An attacker can search known vulnerability information about WordPress by using the vulnerability.",
  "checker.dacg_wp.core.cause": "The vulnerability is cased by using WordPress with known vulnerabilities.",
  "checker.dacg_wp.core.effect": "When the attack has succeeded, the attacker can use the information acquired from the search to perform more attacks.",
  "checker.dacg_wp.core.name": "WordPress with {0} vulnerability",
  "checker.dacg_wp.core.vulnerability": "Your current version of WordPress has {0} vulnerability.",
  "checker.dacg_wp.plugin.attack": "An attacker can search known vulnerability information about a certain WordPress plug-in by using the vulnerability.",
  "checker.dacg_wp.plugin.cause": "The vulnerability is cased by using a WordPress plug-in with known vulnerabilities.",
  "checker.dacg_wp.plugin.effect": "When the attack has succeeded, the attacker can use the information acquired from the search to perform more attacks.",
  "checker.dacg_wp.plugin.name": "{1} WordPress plug-in with {0} vulnerability",
  "checker.dacg_wp.plugin.vulnerability": "Your current version of {0} WordPress plug-in has {1} vulnerability.",
  "checker.dacg_wp.theme.attack": "An attacker can search known vulnerability information about a certain WordPress theme by using the vulnerability.",
  "checker.dacg_wp.theme.cause": "The vulnerability is cased by using a WordPress theme with known vulnerabilities.",
  "checker.dacg_wp.theme.effect": "When the attack has succeeded, the attacker can use the information acquired from the search to perform more attacks.",
  "checker.dacg_wp.theme.name": "{1} WordPress Theme with {0} vulnerability",
  "checker.dacg_wp.theme.vulnerability": "Your current version of {0} WordPress theme has {1} vulnerability.",
  "checker.dacg_zeroboard.attack": "An attacker can search known vulnerability information about Zeroboard by using the vulnerability.",
  "checker.dacg_zeroboard.cause": "The vulnerability is cased by using Zeroboard with known vulnerabilities.",
  "checker.dacg_zeroboard.effect": "When the attack has succeeded, the attacker can use the information acquired from the search to perform more attacks.",
  "checker.dacg_zeroboard.name": "Zeroboard with {0} Vulnerability",
  "checker.dacg_zeroboard.vulnerability": "Your current version of Zeroboard has {0} vulnerability.",
  "checker.dast.sw.common.4556.ports.description": "Port number is a number string to connect to a port or attack the port.",
  "checker.dast.sw.common.4556.ports.message": "Please enter at least one string.",
  "checker.dast.sw.common.4556.ports.name": "Port Number",
  "checker.dast.sw.common.4556.ports.placeholder": "Please enter a string that corresponds to the port number.",
  "checker.dast.sw.common.4557.patterns.error_page.description": "The Error Page Pattern is regular expressions to inspect an error page for a response with Status code 200.",
  "checker.dast.sw.common.4557.patterns.error_page.message": "Please enter at least one regular expression pattern.",
  "checker.dast.sw.common.4557.patterns.error_page.name": "Error Page Pattern",
  "checker.dast.sw.common.4557.patterns.error_page.placeholder": "Enter a regular expression for a pattern of the error page.",
  "checker.dast.sw.common.4559.variant.injectable.description": "Penetration target is where the attack string is placed for analysis during the analysis process. The analyzer replaces the value of the penetration target with the attack string in the request it sent at the time of crawling and resends the request. The more penetration targets, the wider the scope of the analysis, which improves the analysis performance but slows down the analysis. Less penetration targets improve the speed of analysis, but they may narrow the scope of the vulnerability.",
  "checker.dast.sw.common.4559.variant.injectable.extras.0.QUERY_STRING": "Quary String",
  "checker.dast.sw.common.4559.variant.injectable.extras.0.query_string": "Query String",
  "checker.dast.sw.common.4559.variant.injectable.extras.1.FORM_DATA": "FORM Data",
  "checker.dast.sw.common.4559.variant.injectable.extras.1.form_data": "FORM Data",
  "checker.dast.sw.common.4559.variant.injectable.extras.2.COOKIE": "Cookie",
  "checker.dast.sw.common.4559.variant.injectable.extras.2.cookie": "Cookie",
  "checker.dast.sw.common.4559.variant.injectable.extras.3.HTTP_HEADERS": "HTTP Header",
  "checker.dast.sw.common.4559.variant.injectable.extras.3.http_headers": "HTTP Header",
  "checker.dast.sw.common.4559.variant.injectable.extras.4.URL_PATH": "URL Path",
  "checker.dast.sw.common.4559.variant.injectable.extras.4.url_path": "URL Path",
  "checker.dast.sw.common.4559.variant.injectable.message": "Penetration attack target needs to be one of the selections.",
  "checker.dast.sw.common.4559.variant.injectable.name": "Penetration Attack Target",
  "checker.dast.sw.common.4559.variant.injectable.placeholder": "Select a penetration attack target.",
  "checker.dast.sw.common.4559.variant.rpc.description": "The RPC attack target indicates a data format where to put attack strings in analysis process. An analyzer sends a request back by inserting an attack string when a request uses one of XML, JSON, DRW, open data protocol, Google Web Toolkit, multipart/form-data format. If this option gets broader, analysis performance will improve because analysis range expands, but the speed will impair. If this option gets diminished, the speed will improve, but analysis performance will impair because analysis range gets narrowed.",
  "checker.dast.sw.common.4559.variant.rpc.extras.0.MULTI_PART": "multipart/form-data",
  "checker.dast.sw.common.4559.variant.rpc.extras.0.multi_part": "multipart/form-data",
  "checker.dast.sw.common.4559.variant.rpc.extras.1.XML": "XML",
  "checker.dast.sw.common.4559.variant.rpc.extras.1.xml": "XML",
  "checker.dast.sw.common.4559.variant.rpc.extras.2.JSON": "JSON",
  "checker.dast.sw.common.4559.variant.rpc.extras.2.json": "JSON",
  "checker.dast.sw.common.4559.variant.rpc.extras.3.GWT": "Google Web Toolkit",
  "checker.dast.sw.common.4559.variant.rpc.extras.3.gwt": "Google Web Toolkit",
  "checker.dast.sw.common.4559.variant.rpc.extras.4.DWR": "DWR",
  "checker.dast.sw.common.4559.variant.rpc.extras.4.dwr": "DWR",
  "checker.dast.sw.common.4559.variant.rpc.message": "The RPC Attack Target needs to be one of the selections.",
  "checker.dast.sw.common.4559.variant.rpc.name": "RPC Attack Target",
  "checker.dast.sw.common.4559.variant.rpc.placeholder": "Select an RPC attack target.",
  "checker.dast.sw.common.4562.exclusion_css_selector.description": "The Excluded CSS Selector indicates a directive to point out the excluded web element.",
  "checker.dast.sw.common.4562.exclusion_css_selector.message": "Please enter the correct CSS selector format.",
  "checker.dast.sw.common.4562.exclusion_css_selector.name": "Excluded CSS Selector",
  "checker.dast.sw.common.4562.exclusion_css_selector.placeholder": "Enter a CSS selector of an element to exclude. (Example: a.logo[href='ko'])",
  "checker.dast.sw.common.4562.exclusion_xpath.description": "The Excluded XPath indicates a directive to point out the excluded web element.",
  "checker.dast.sw.common.4562.exclusion_xpath.message": "Please enter the correct XPath format.",
  "checker.dast.sw.common.4562.exclusion_xpath.name": "Excluded XPath",
  "checker.dast.sw.common.4562.exclusion_xpath.placeholder": "Enter an XPath of an element to exclude. (Example: /html/body/div[3])",
  "checker.dast.sw.common.4563.variant.injectable.description": "Penetration target is where the attack string is placed for analysis during the analysis process. The analyzer replaces the value of the penetration target with the attack string in the request it sent at the time of crawling and resends the request. The more penetration targets, the wider the scope of the analysis, which improves the analysis performance but slows down the analysis. Less penetration targets improve the speed of analysis, but they may narrow the scope of the vulnerability.",
  "checker.dast.sw.common.4563.variant.injectable.extras.0.QUERY_STRING": "Quary String",
  "checker.dast.sw.common.4563.variant.injectable.extras.0.query_string": "Query String",
  "checker.dast.sw.common.4563.variant.injectable.extras.1.FORM_DATA": "FORM Data",
  "checker.dast.sw.common.4563.variant.injectable.extras.1.form_data": "FORM Data",
  "checker.dast.sw.common.4563.variant.injectable.extras.2.COOKIE": "Cookie",
  "checker.dast.sw.common.4563.variant.injectable.extras.2.cookie": "Cookie",
  "checker.dast.sw.common.4563.variant.injectable.extras.3.HTTP_HEADERS": "HTTP Header",
  "checker.dast.sw.common.4563.variant.injectable.extras.3.http_headers": "HTTP Header",
  "checker.dast.sw.common.4563.variant.injectable.extras.4.URL_PATH": "URL Path",
  "checker.dast.sw.common.4563.variant.injectable.extras.4.url_path": "URL Path",
  "checker.dast.sw.common.4563.variant.injectable.message": "Penetration attack target needs to be one of the selections.",
  "checker.dast.sw.common.4563.variant.injectable.name": "Penetration Attack Target",
  "checker.dast.sw.common.4563.variant.injectable.placeholder": "Select a penetration attack target.",
  "checker.dast.sw.common.4563.variant.rpc.description": "The RPC attack target indicates a data format where to put attack strings in analysis process. An analyzer sends a request back by inserting an attack string when a request uses one of XML, JSON, DRW, open data protocol, Google Web Toolkit, multipart/form-data format. If this option gets broader, analysis performance will improve because analysis range expands, but the speed will impair. If this option gets diminished, the speed will improve, but analysis performance will impair because analysis range gets narrowed.",
  "checker.dast.sw.common.4563.variant.rpc.extras.0.MULTI_PART": "multipart/form-data",
  "checker.dast.sw.common.4563.variant.rpc.extras.0.multi_part": "multipart/form-data",
  "checker.dast.sw.common.4563.variant.rpc.extras.1.XML": "XML",
  "checker.dast.sw.common.4563.variant.rpc.extras.1.xml": "XML",
  "checker.dast.sw.common.4563.variant.rpc.extras.2.JSON": "JSON",
  "checker.dast.sw.common.4563.variant.rpc.extras.2.json": "JSON",
  "checker.dast.sw.common.4563.variant.rpc.extras.3.GWT": "Google Web Toolkit",
  "checker.dast.sw.common.4563.variant.rpc.extras.3.gwt": "Google Web Toolkit",
  "checker.dast.sw.common.4563.variant.rpc.extras.4.DWR": "DWR",
  "checker.dast.sw.common.4563.variant.rpc.extras.4.dwr": "DWR",
  "checker.dast.sw.common.4563.variant.rpc.message": "The RPC Attack Target needs to be one of the selections.",
  "checker.dast.sw.common.4563.variant.rpc.name": "RPC Attack Target",
  "checker.dast.sw.common.4563.variant.rpc.placeholder": "Select an RPC attack target.",
  "checker.dast.sw.common.4567.variant.injectable.description": "Penetration target is where the attack string is placed for analysis during the analysis process. The analyzer replaces the value of the penetration target with the attack string in the request it sent at the time of crawling and resends the request. The more penetration targets, the wider the scope of the analysis, which improves the analysis performance but slows down the analysis. Less penetration targets improve the speed of analysis, but they may narrow the scope of the vulnerability.",
  "checker.dast.sw.common.4567.variant.injectable.extras.0.QUERY_STRING": "Quary String",
  "checker.dast.sw.common.4567.variant.injectable.extras.0.query_string": "Query String",
  "checker.dast.sw.common.4567.variant.injectable.extras.1.FORM_DATA": "FORM Data",
  "checker.dast.sw.common.4567.variant.injectable.extras.1.form_data": "FORM Data",
  "checker.dast.sw.common.4567.variant.injectable.extras.2.COOKIE": "Cookie",
  "checker.dast.sw.common.4567.variant.injectable.extras.2.cookie": "Cookie",
  "checker.dast.sw.common.4567.variant.injectable.extras.3.HTTP_HEADERS": "HTTP Header",
  "checker.dast.sw.common.4567.variant.injectable.extras.3.http_headers": "HTTP Header",
  "checker.dast.sw.common.4567.variant.injectable.extras.4.URL_PATH": "URL Path",
  "checker.dast.sw.common.4567.variant.injectable.extras.4.url_path": "URL Path",
  "checker.dast.sw.common.4567.variant.injectable.message": "Penetration attack target needs to be one of the selections.",
  "checker.dast.sw.common.4567.variant.injectable.name": "Penetration Attack Target",
  "checker.dast.sw.common.4567.variant.injectable.placeholder": "Select a penetration attack target.",
  "checker.dast.sw.common.4567.variant.rpc.description": "The RPC attack target indicates a data format where to put attack strings in analysis process. An analyzer sends a request back by inserting an attack string when a request uses one of XML, JSON, DRW, open data protocol, Google Web Toolkit, multipart/form-data format. If this option gets broader, analysis performance will improve because analysis range expands, but the speed will impair. If this option gets diminished, the speed will improve, but analysis performance will impair because analysis range gets narrowed.",
  "checker.dast.sw.common.4567.variant.rpc.extras.0.MULTI_PART": "multipart/form-data",
  "checker.dast.sw.common.4567.variant.rpc.extras.0.multi_part": "multipart/form-data",
  "checker.dast.sw.common.4567.variant.rpc.extras.1.XML": "XML",
  "checker.dast.sw.common.4567.variant.rpc.extras.1.xml": "XML",
  "checker.dast.sw.common.4567.variant.rpc.extras.2.JSON": "JSON",
  "checker.dast.sw.common.4567.variant.rpc.extras.2.json": "JSON",
  "checker.dast.sw.common.4567.variant.rpc.extras.3.GWT": "Google Web Toolkit",
  "checker.dast.sw.common.4567.variant.rpc.extras.3.gwt": "Google Web Toolkit",
  "checker.dast.sw.common.4567.variant.rpc.extras.4.DWR": "DWR",
  "checker.dast.sw.common.4567.variant.rpc.extras.4.dwr": "DWR",
  "checker.dast.sw.common.4567.variant.rpc.message": "The RPC Attack Target needs to be one of the selections.",
  "checker.dast.sw.common.4567.variant.rpc.name": "RPC Attack Target",
  "checker.dast.sw.common.4567.variant.rpc.placeholder": "Select an RPC attack target.",
  "checker.dast.sw.common.4568.variant.injectable.description": "Penetration target is where the attack string is placed for analysis during the analysis process. The analyzer replaces the value of the penetration target with the attack string in the request it sent at the time of crawling and resends the request. The more penetration targets, the wider the scope of the analysis, which improves the analysis performance but slows down the analysis. Less penetration targets improve the speed of analysis, but they may narrow the scope of the vulnerability.",
  "checker.dast.sw.common.4568.variant.injectable.extras.0.QUERY_STRING": "Quary String",
  "checker.dast.sw.common.4568.variant.injectable.extras.0.query_string": "Query String",
  "checker.dast.sw.common.4568.variant.injectable.extras.1.FORM_DATA": "FORM Data",
  "checker.dast.sw.common.4568.variant.injectable.extras.1.form_data": "FORM Data",
  "checker.dast.sw.common.4568.variant.injectable.extras.2.COOKIE": "Cookie",
  "checker.dast.sw.common.4568.variant.injectable.extras.2.cookie": "Cookie",
  "checker.dast.sw.common.4568.variant.injectable.extras.3.HTTP_HEADERS": "HTTP Header",
  "checker.dast.sw.common.4568.variant.injectable.extras.3.http_headers": "HTTP Header",
  "checker.dast.sw.common.4568.variant.injectable.extras.4.URL_PATH": "URL Path",
  "checker.dast.sw.common.4568.variant.injectable.extras.4.url_path": "URL Path",
  "checker.dast.sw.common.4568.variant.injectable.message": "Penetration attack target needs to be one of the selections.",
  "checker.dast.sw.common.4568.variant.injectable.name": "Penetration Attack Target",
  "checker.dast.sw.common.4568.variant.injectable.placeholder": "Select a penetration attack target.",
  "checker.dast.sw.common.4568.variant.rpc.description": "The RPC attack target indicates a data format where to put attack strings in analysis process. An analyzer sends a request back by inserting an attack string when a request uses one of XML, JSON, DRW, open data protocol, Google Web Toolkit, multipart/form-data format. If this option gets broader, analysis performance will improve because analysis range expands, but the speed will impair. If this option gets diminished, the speed will improve, but analysis performance will impair because analysis range gets narrowed.",
  "checker.dast.sw.common.4568.variant.rpc.extras.0.MULTI_PART": "multipart/form-data",
  "checker.dast.sw.common.4568.variant.rpc.extras.0.multi_part": "multipart/form-data",
  "checker.dast.sw.common.4568.variant.rpc.extras.1.XML": "XML",
  "checker.dast.sw.common.4568.variant.rpc.extras.1.xml": "XML",
  "checker.dast.sw.common.4568.variant.rpc.extras.2.JSON": "JSON",
  "checker.dast.sw.common.4568.variant.rpc.extras.2.json": "JSON",
  "checker.dast.sw.common.4568.variant.rpc.extras.3.GWT": "Google Web Toolkit",
  "checker.dast.sw.common.4568.variant.rpc.extras.3.gwt": "Google Web Toolkit",
  "checker.dast.sw.common.4568.variant.rpc.extras.4.DWR": "DWR",
  "checker.dast.sw.common.4568.variant.rpc.extras.4.dwr": "DWR",
  "checker.dast.sw.common.4568.variant.rpc.message": "The RPC Attack Target needs to be one of the selections.",
  "checker.dast.sw.common.4568.variant.rpc.name": "RPC Attack Target",
  "checker.dast.sw.common.4568.variant.rpc.placeholder": "Select an RPC attack target.",
  "checker.dast.sw.common.5770.exclusion_tag.description": "The excluded tag is a tag name to be excluded from detection.",
  "checker.dast.sw.common.5770.exclusion_tag.message": "Enter a valid name for the tag.",
  "checker.dast.sw.common.5770.exclusion_tag.name": "Excluded Tag",
  "checker.dast.sw.common.5770.exclusion_tag.placeholder": "Enter a tag to exclude. (Example: div)",
  "checker.dast.sw.common.5774.variant.injectable.description": "Penetration target is where the attack string is placed for analysis during the analysis process. The analyzer replaces the value of the penetration target with the attack string in the request it sent at the time of crawling and resends the request. The more penetration targets, the wider the scope of the analysis, which improves the analysis performance but slows down the analysis. Less penetration targets improve the speed of analysis, but they may narrow the scope of the vulnerability.",
  "checker.dast.sw.common.5774.variant.injectable.extras.0.QUERY_STRING": "Quary String",
  "checker.dast.sw.common.5774.variant.injectable.extras.0.query_string": "Query String",
  "checker.dast.sw.common.5774.variant.injectable.extras.1.FORM_DATA": "FORM Data",
  "checker.dast.sw.common.5774.variant.injectable.extras.1.form_data": "FORM Data",
  "checker.dast.sw.common.5774.variant.injectable.extras.2.COOKIE": "Cookie",
  "checker.dast.sw.common.5774.variant.injectable.extras.2.cookie": "Cookie",
  "checker.dast.sw.common.5774.variant.injectable.extras.3.HTTP_HEADERS": "HTTP Header",
  "checker.dast.sw.common.5774.variant.injectable.extras.3.http_headers": "HTTP Header",
  "checker.dast.sw.common.5774.variant.injectable.extras.4.URL_PATH": "URL Path",
  "checker.dast.sw.common.5774.variant.injectable.extras.4.url_path": "URL Path",
  "checker.dast.sw.common.5774.variant.injectable.message": "Penetration attack target needs to be one of the selections.",
  "checker.dast.sw.common.5774.variant.injectable.name": "Penetration Attack Target",
  "checker.dast.sw.common.5774.variant.injectable.placeholder": "Select a penetration attack target.",
  "checker.dast.sw.common.5774.variant.rpc.description": "The RPC attack target indicates a data format where to put attack strings in analysis process. An analyzer sends a request back by inserting an attack string when a request uses one of XML, JSON, DRW, open data protocol, Google Web Toolkit, multipart/form-data format. If this option gets broader, analysis performance will improve because analysis range expands, but the speed will impair. If this option gets diminished, the speed will improve, but analysis performance will impair because analysis range gets narrowed.",
  "checker.dast.sw.common.5774.variant.rpc.extras.0.MULTI_PART": "multipart/form-data",
  "checker.dast.sw.common.5774.variant.rpc.extras.0.multi_part": "multipart/form-data",
  "checker.dast.sw.common.5774.variant.rpc.extras.1.XML": "XML",
  "checker.dast.sw.common.5774.variant.rpc.extras.1.xml": "XML",
  "checker.dast.sw.common.5774.variant.rpc.extras.2.JSON": "JSON",
  "checker.dast.sw.common.5774.variant.rpc.extras.2.json": "JSON",
  "checker.dast.sw.common.5774.variant.rpc.extras.3.GWT": "Google Web Toolkit",
  "checker.dast.sw.common.5774.variant.rpc.extras.3.gwt": "Google Web Toolkit",
  "checker.dast.sw.common.5774.variant.rpc.extras.4.DWR": "DWR",
  "checker.dast.sw.common.5774.variant.rpc.extras.4.dwr": "DWR",
  "checker.dast.sw.common.5774.variant.rpc.message": "The RPC Attack Target needs to be one of the selections.",
  "checker.dast.sw.common.5774.variant.rpc.name": "RPC Attack Target",
  "checker.dast.sw.common.5774.variant.rpc.placeholder": "Select an RPC attack target.",
  "checker.dast.sw.common.5779.exclusion_css_selector.description": "The Excluded CSS Selector indicates a directive to point out the excluded web element.",
  "checker.dast.sw.common.5779.exclusion_css_selector.message": "Please enter the correct CSS selector format.",
  "checker.dast.sw.common.5779.exclusion_css_selector.name": "Excluded CSS Selector",
  "checker.dast.sw.common.5779.exclusion_css_selector.placeholder": "Enter a CSS selector of an element to exclude. (Example: a.logo[href='ko'])",
  "checker.dast.sw.common.5779.exclusion_xpath.description": "The Excluded XPath indicates a directive to point out the excluded web element.",
  "checker.dast.sw.common.5779.exclusion_xpath.message": "Please enter the correct XPath format.",
  "checker.dast.sw.common.5779.exclusion_xpath.name": "Excluded XPath",
  "checker.dast.sw.common.5779.exclusion_xpath.placeholder": "Enter an XPath of an element to exclude. (Example: /html/body/div[3])",
  "checker.dast.sw.common.5780.variant.injectable.description": "Penetration target is where the attack string is placed for analysis during the analysis process. The analyzer replaces the value of the penetration target with the attack string in the request it sent at the time of crawling and resends the request. The more penetration targets, the wider the scope of the analysis, which improves the analysis performance but slows down the analysis. Less penetration targets improve the speed of analysis, but they may narrow the scope of the vulnerability.",
  "checker.dast.sw.common.5780.variant.injectable.extras.0.HTTP_HEADERS": "HTTP Header",
  "checker.dast.sw.common.5780.variant.injectable.extras.0.http_headers": "HTTP Header",
  "checker.dast.sw.common.5780.variant.injectable.message": "Penetration attack target needs to be one of the selections.",
  "checker.dast.sw.common.5780.variant.injectable.name": "Penetration Attack Target",
  "checker.dast.sw.common.5780.variant.injectable.placeholder": "Select a penetration attack target.",
  "checker.dast.sw.common.5782.variant.injectable.description": "Penetration target is where the attack string is placed for analysis during the analysis process. The analyzer replaces the value of the penetration target with the attack string in the request it sent at the time of crawling and resends the request. The more penetration targets, the wider the scope of the analysis, which improves the analysis performance but slows down the analysis. Less penetration targets improve the speed of analysis, but they may narrow the scope of the vulnerability.",
  "checker.dast.sw.common.5782.variant.injectable.extras.0.HTTP_HEADERS": "HTTP Header",
  "checker.dast.sw.common.5782.variant.injectable.extras.0.http_headers": "HTTP Header",
  "checker.dast.sw.common.5782.variant.injectable.message": "Penetration attack target needs to be one of the selections.",
  "checker.dast.sw.common.5782.variant.injectable.name": "Penetration Attack Target",
  "checker.dast.sw.common.5782.variant.injectable.placeholder": "Select a penetration attack target.",
  "checker.dast.sw.common.5783.exclusion_rules.description": "An exclusion rule is a regular expression that is used to define what to exclude from checks.",
  "checker.dast.sw.common.5783.exclusion_rules.message": "Please enter at least one regular expression.",
  "checker.dast.sw.common.5783.exclusion_rules.name": "Exclusion Rule",
  "checker.dast.sw.common.5783.exclusion_rules.placeholder": "Please enter a regular expression to use as an exclusion rule.",
  "checker.dast.sw.common.5783.session_id_name.description": "The session ID name is a string used to determine whether the session ID with that name is fixed.",
  "checker.dast.sw.common.5783.session_id_name.message": "Please enter at least one string.",
  "checker.dast.sw.common.5783.session_id_name.name": "Session ID Name",
  "checker.dast.sw.common.5783.session_id_name.placeholder": "Please enter a string that corresponds to the session ID name.",
  "checker.dast.sw.common.5786.variant.injectable.description": "Penetration target is where the attack string is placed for analysis during the analysis process. The analyzer replaces the value of the penetration target with the attack string in the request it sent at the time of crawling and resends the request. The more penetration targets, the wider the scope of the analysis, which improves the analysis performance but slows down the analysis. Less penetration targets improve the speed of analysis, but they may narrow the scope of the vulnerability.",
  "checker.dast.sw.common.5786.variant.injectable.extras.0.HTTP_HEADERS": "HTTP Header",
  "checker.dast.sw.common.5786.variant.injectable.extras.0.http_headers": "HTTP Header",
  "checker.dast.sw.common.5786.variant.injectable.message": "Penetration attack target needs to be one of the selections.",
  "checker.dast.sw.common.5786.variant.injectable.name": "Penetration Attack Target",
  "checker.dast.sw.common.5786.variant.injectable.placeholder": "Select a penetration attack target.",
  "checker.dast.sw.common.5788.exclusion_css_selector.description": "The Excluded CSS Selector indicates a directive to point out the excluded web element.",
  "checker.dast.sw.common.5788.exclusion_css_selector.message": "Please enter the correct CSS selector format.",
  "checker.dast.sw.common.5788.exclusion_css_selector.name": "Excluded CSS Selector",
  "checker.dast.sw.common.5788.exclusion_css_selector.placeholder": "Enter a CSS selector of an element to exclude. (Example: a.logo[href='ko'])",
  "checker.dast.sw.common.5788.exclusion_xpath.description": "The Excluded XPath indicates a directive to point out the excluded web element.",
  "checker.dast.sw.common.5788.exclusion_xpath.message": "Please enter the correct XPath format.",
  "checker.dast.sw.common.5788.exclusion_xpath.name": "Excluded XPath",
  "checker.dast.sw.common.5788.exclusion_xpath.placeholder": "Enter an XPath of an element to exclude. (Example: /html/body/div[3])",
  "checker.dast.sw.common.5789.ports.description": "Port number is a number string to connect to a port or attack the port.",
  "checker.dast.sw.common.5789.ports.message": "Please enter at least one string.",
  "checker.dast.sw.common.5789.ports.name": "Port Number",
  "checker.dast.sw.common.5789.ports.placeholder": "Please enter a string that corresponds to the port number.",
  "checker.dast.sw.common.5790.attack_strings.description": "An attack string is a string that can be included within an HTTP request sent to the server during an attack.",
  "checker.dast.sw.common.5790.attack_strings.message": "Please enter at least one string.",
  "checker.dast.sw.common.5790.attack_strings.name": "Attack String",
  "checker.dast.sw.common.5790.attack_strings.placeholder": "Please enter an attack string. (Example: <script>alert(1);</script>)",
  "checker.dast.sw.common.5790.detection_rules.description": "Detection rule is a regular expression that is used to check a vulnerability in the server's HTTP response to an attack.",
  "checker.dast.sw.common.5790.detection_rules.message": "Please enter the correct regular expression format.",
  "checker.dast.sw.common.5790.detection_rules.name": "Detection rule",
  "checker.dast.sw.common.5790.detection_rules.placeholder": "Please enter a regular expression to use as a detection rule. (Example: <script>alert(1);</script>)",
  "checker.dast.sw.common.5790.exclusion_rules.description": "An exclusion rule is a regular expression that is used to define what to exclude from checks.",
  "checker.dast.sw.common.5790.exclusion_rules.message": "Please enter the correct regular expression format.",
  "checker.dast.sw.common.5790.exclusion_rules.name": "Exclusion Rule",
  "checker.dast.sw.common.5790.exclusion_rules.placeholder": "Please enter a regular expression to use as an exclusion rule. (Example: <script>alert(1);</script>)",
  "checker.dast.sw.common.5790.variant.injectable.description": "Penetration target is where the attack string is placed for analysis during the analysis process. The analyzer replaces the value of the penetration target with the attack string in the request it sent at the time of crawling and resends the request. The more penetration targets, the wider the scope of the analysis, which improves the analysis performance but slows down the analysis. Less penetration targets improve the speed of analysis, but they may narrow the scope of the vulnerability.",
  "checker.dast.sw.common.5790.variant.injectable.extras.0.QUERY_STRING": "Quary String",
  "checker.dast.sw.common.5790.variant.injectable.extras.0.query_string": "Query String",
  "checker.dast.sw.common.5790.variant.injectable.extras.1.FORM_DATA": "FORM Data",
  "checker.dast.sw.common.5790.variant.injectable.extras.1.form_data": "FORM Data",
  "checker.dast.sw.common.5790.variant.injectable.extras.2.COOKIE": "Cookie",
  "checker.dast.sw.common.5790.variant.injectable.extras.2.cookie": "Cookie",
  "checker.dast.sw.common.5790.variant.injectable.extras.3.HTTP_HEADERS": "HTTP Header",
  "checker.dast.sw.common.5790.variant.injectable.extras.3.http_headers": "HTTP Header",
  "checker.dast.sw.common.5790.variant.injectable.extras.4.URL_PATH": "URL Path",
  "checker.dast.sw.common.5790.variant.injectable.extras.4.url_path": "URL Path",
  "checker.dast.sw.common.5790.variant.injectable.message": "Penetration attack target needs to be one of the selections.",
  "checker.dast.sw.common.5790.variant.injectable.name": "Penetration Attack Target",
  "checker.dast.sw.common.5790.variant.injectable.placeholder": "Select a penetration attack target.",
  "checker.dast.sw.common.5790.variant.rpc.description": "The RPC attack target indicates a data format where to put attack strings in analysis process. An analyzer sends a request back by inserting an attack string when a request uses one of XML, JSON, DRW, open data protocol, Google Web Toolkit, multipart/form-data format. If this option gets broader, analysis performance will improve because analysis range expands, but the speed will impair. If this option gets diminished, the speed will improve, but analysis performance will impair because analysis range gets narrowed.",
  "checker.dast.sw.common.5790.variant.rpc.extras.0.MULTI_PART": "multipart/form-data",
  "checker.dast.sw.common.5790.variant.rpc.extras.0.multi_part": "multipart/form-data",
  "checker.dast.sw.common.5790.variant.rpc.extras.1.XML": "XML",
  "checker.dast.sw.common.5790.variant.rpc.extras.1.xml": "XML",
  "checker.dast.sw.common.5790.variant.rpc.extras.2.JSON": "JSON",
  "checker.dast.sw.common.5790.variant.rpc.extras.2.json": "JSON",
  "checker.dast.sw.common.5790.variant.rpc.extras.3.GWT": "Google Web Toolkit",
  "checker.dast.sw.common.5790.variant.rpc.extras.3.gwt": "Google Web Toolkit",
  "checker.dast.sw.common.5790.variant.rpc.extras.4.DWR": "DWR",
  "checker.dast.sw.common.5790.variant.rpc.extras.4.dwr": "DWR",
  "checker.dast.sw.common.5790.variant.rpc.message": "The RPC Attack Target needs to be one of the selections.",
  "checker.dast.sw.common.5790.variant.rpc.name": "RPC Attack Target",
  "checker.dast.sw.common.5790.variant.rpc.placeholder": "Select an RPC attack target.",
  "checker.dast.sw.common.5791.exclusion_css_selector.description": "The Excluded CSS Selector indicates a directive to point out the excluded web element.",
  "checker.dast.sw.common.5791.exclusion_css_selector.message": "Please enter the correct CSS selector format.",
  "checker.dast.sw.common.5791.exclusion_css_selector.name": "Excluded CSS Selector",
  "checker.dast.sw.common.5791.exclusion_css_selector.placeholder": "Enter a CSS selector of an element to exclude. (Example: a.logo[href='ko'])",
  "checker.dast.sw.common.5791.exclusion_xpath.description": "The Excluded XPath indicates a directive to point out the excluded web element.",
  "checker.dast.sw.common.5791.exclusion_xpath.message": "Please enter the correct XPath format.",
  "checker.dast.sw.common.5791.exclusion_xpath.name": "Excluded XPath",
  "checker.dast.sw.common.5791.exclusion_xpath.placeholder": "Enter an XPath of an element to exclude. (Example: /html/body/div[3])",
  "checker.dast.sw.common.5793.exclusion_css_selector.description": "The Excluded CSS Selector indicates a directive to point out the excluded web element.",
  "checker.dast.sw.common.5793.exclusion_css_selector.message": "Please enter the correct CSS selector format.",
  "checker.dast.sw.common.5793.exclusion_css_selector.name": "Excluded CSS Selector",
  "checker.dast.sw.common.5793.exclusion_css_selector.placeholder": "Enter a CSS selector of an element to exclude. (Example: a.logo[href='ko'])",
  "checker.dast.sw.common.5793.exclusion_xpath.description": "The Excluded XPath indicates a directive to point out the excluded web element.",
  "checker.dast.sw.common.5793.exclusion_xpath.message": "Please enter the correct XPath format.",
  "checker.dast.sw.common.5793.exclusion_xpath.name": "Excluded XPath",
  "checker.dast.sw.common.5793.exclusion_xpath.placeholder": "Enter an XPath of an element to exclude. (Example: /html/body/div[3])",
  "checker.dast.sw.common.5798.variant.injectable.description": "Penetration target is where the attack string is placed for analysis during the analysis process. The analyzer replaces the value of the penetration target with the attack string in the request it sent at the time of crawling and resends the request. The more penetration targets, the wider the scope of the analysis, which improves the analysis performance but slows down the analysis. Less penetration targets improve the speed of analysis, but they may narrow the scope of the vulnerability.",
  "checker.dast.sw.common.5798.variant.injectable.extras.0.QUERY_STRING": "Quary String",
  "checker.dast.sw.common.5798.variant.injectable.extras.0.query_string": "Query String",
  "checker.dast.sw.common.5798.variant.injectable.extras.1.FORM_DATA": "FORM Data",
  "checker.dast.sw.common.5798.variant.injectable.extras.1.form_data": "FORM Data",
  "checker.dast.sw.common.5798.variant.injectable.extras.2.COOKIE": "Cookie",
  "checker.dast.sw.common.5798.variant.injectable.extras.2.cookie": "Cookie",
  "checker.dast.sw.common.5798.variant.injectable.extras.3.HTTP_HEADERS": "HTTP Header",
  "checker.dast.sw.common.5798.variant.injectable.extras.3.http_headers": "HTTP Header",
  "checker.dast.sw.common.5798.variant.injectable.extras.4.URL_PATH": "URL Path",
  "checker.dast.sw.common.5798.variant.injectable.extras.4.url_path": "URL Path",
  "checker.dast.sw.common.5798.variant.injectable.message": "Penetration attack target needs to be one of the selections.",
  "checker.dast.sw.common.5798.variant.injectable.name": "Penetration Attack Target",
  "checker.dast.sw.common.5798.variant.injectable.placeholder": "Select a penetration attack target.",
  "checker.dast.sw.common.5798.variant.rpc.description": "The RPC attack target indicates a data format where to put attack strings in analysis process. An analyzer sends a request back by inserting an attack string when a request uses one of XML, JSON, DRW, open data protocol, Google Web Toolkit, multipart/form-data format. If this option gets broader, analysis performance will improve because analysis range expands, but the speed will impair. If this option gets diminished, the speed will improve, but analysis performance will impair because analysis range gets narrowed.",
  "checker.dast.sw.common.5798.variant.rpc.extras.0.MULTI_PART": "multipart/form-data",
  "checker.dast.sw.common.5798.variant.rpc.extras.0.multi_part": "multipart/form-data",
  "checker.dast.sw.common.5798.variant.rpc.extras.1.XML": "XML",
  "checker.dast.sw.common.5798.variant.rpc.extras.1.xml": "XML",
  "checker.dast.sw.common.5798.variant.rpc.extras.2.JSON": "JSON",
  "checker.dast.sw.common.5798.variant.rpc.extras.2.json": "JSON",
  "checker.dast.sw.common.5798.variant.rpc.extras.3.GWT": "Google Web Toolkit",
  "checker.dast.sw.common.5798.variant.rpc.extras.3.gwt": "Google Web Toolkit",
  "checker.dast.sw.common.5798.variant.rpc.extras.4.DWR": "DWR",
  "checker.dast.sw.common.5798.variant.rpc.extras.4.dwr": "DWR",
  "checker.dast.sw.common.5798.variant.rpc.message": "The RPC Attack Target needs to be one of the selections.",
  "checker.dast.sw.common.5798.variant.rpc.name": "RPC Attack Target",
  "checker.dast.sw.common.5798.variant.rpc.placeholder": "Select an RPC attack target.",
  "checker.dast.sw.common.5801.variant.injectable.description": "Penetration target is where the attack string is placed for analysis during the analysis process. The analyzer replaces the value of the penetration target with the attack string in the request it sent at the time of crawling and resends the request. The more penetration targets, the wider the scope of the analysis, which improves the analysis performance but slows down the analysis. Less penetration targets improve the speed of analysis, but they may narrow the scope of the vulnerability.",
  "checker.dast.sw.common.5801.variant.injectable.extras.0.QUERY_STRING": "Quary String",
  "checker.dast.sw.common.5801.variant.injectable.extras.0.query_string": "Query String",
  "checker.dast.sw.common.5801.variant.injectable.extras.1.FORM_DATA": "FORM Data",
  "checker.dast.sw.common.5801.variant.injectable.extras.1.form_data": "FORM Data",
  "checker.dast.sw.common.5801.variant.injectable.extras.2.COOKIE": "Cookie",
  "checker.dast.sw.common.5801.variant.injectable.extras.2.cookie": "Cookie",
  "checker.dast.sw.common.5801.variant.injectable.extras.3.HTTP_HEADERS": "HTTP Header",
  "checker.dast.sw.common.5801.variant.injectable.extras.3.http_headers": "HTTP Header",
  "checker.dast.sw.common.5801.variant.injectable.extras.4.URL_PATH": "URL Path",
  "checker.dast.sw.common.5801.variant.injectable.extras.4.url_path": "URL Path",
  "checker.dast.sw.common.5801.variant.injectable.message": "Penetration attack target needs to be one of the selections.",
  "checker.dast.sw.common.5801.variant.injectable.name": "Penetration Attack Target",
  "checker.dast.sw.common.5801.variant.injectable.placeholder": "Select a penetration attack target.",
  "checker.dast.sw.common.5801.variant.rpc.description": "The RPC attack target indicates a data format where to put attack strings in analysis process. An analyzer sends a request back by inserting an attack string when a request uses one of XML, JSON, DRW, open data protocol, Google Web Toolkit, multipart/form-data format. If this option gets broader, analysis performance will improve because analysis range expands, but the speed will impair. If this option gets diminished, the speed will improve, but analysis performance will impair because analysis range gets narrowed.",
  "checker.dast.sw.common.5801.variant.rpc.extras.0.MULTI_PART": "multipart/form-data",
  "checker.dast.sw.common.5801.variant.rpc.extras.0.multi_part": "multipart/form-data",
  "checker.dast.sw.common.5801.variant.rpc.extras.1.XML": "XML",
  "checker.dast.sw.common.5801.variant.rpc.extras.1.xml": "XML",
  "checker.dast.sw.common.5801.variant.rpc.extras.2.JSON": "JSON",
  "checker.dast.sw.common.5801.variant.rpc.extras.2.json": "JSON",
  "checker.dast.sw.common.5801.variant.rpc.extras.3.GWT": "Google Web Toolkit",
  "checker.dast.sw.common.5801.variant.rpc.extras.3.gwt": "Google Web Toolkit",
  "checker.dast.sw.common.5801.variant.rpc.extras.4.DWR": "DWR",
  "checker.dast.sw.common.5801.variant.rpc.extras.4.dwr": "DWR",
  "checker.dast.sw.common.5801.variant.rpc.message": "The RPC Attack Target needs to be one of the selections.",
  "checker.dast.sw.common.5801.variant.rpc.name": "RPC Attack Target",
  "checker.dast.sw.common.5801.variant.rpc.placeholder": "Select an RPC attack target.",
  "checker.dast.sw.common.5802.variant.injectable.description": "Penetration target is where the attack string is placed for analysis during the analysis process. The analyzer replaces the value of the penetration target with the attack string in the request it sent at the time of crawling and resends the request. The more penetration targets, the wider the scope of the analysis, which improves the analysis performance but slows down the analysis. Less penetration targets improve the speed of analysis, but they may narrow the scope of the vulnerability.",
  "checker.dast.sw.common.5802.variant.injectable.extras.0.QUERY_STRING": "Quary String",
  "checker.dast.sw.common.5802.variant.injectable.extras.0.query_string": "Query String",
  "checker.dast.sw.common.5802.variant.injectable.extras.1.FORM_DATA": "FORM Data",
  "checker.dast.sw.common.5802.variant.injectable.extras.1.form_data": "FORM Data",
  "checker.dast.sw.common.5802.variant.injectable.extras.2.COOKIE": "Cookie",
  "checker.dast.sw.common.5802.variant.injectable.extras.2.cookie": "Cookie",
  "checker.dast.sw.common.5802.variant.injectable.extras.3.HTTP_HEADERS": "HTTP Header",
  "checker.dast.sw.common.5802.variant.injectable.extras.3.http_headers": "HTTP Header",
  "checker.dast.sw.common.5802.variant.injectable.extras.4.URL_PATH": "URL Path",
  "checker.dast.sw.common.5802.variant.injectable.extras.4.url_path": "URL Path",
  "checker.dast.sw.common.5802.variant.injectable.message": "Penetration attack target needs to be one of the selections.",
  "checker.dast.sw.common.5802.variant.injectable.name": "Penetration Attack Target",
  "checker.dast.sw.common.5802.variant.injectable.placeholder": "Select a penetration attack target.",
  "checker.dast.sw.common.5802.variant.rpc.description": "The RPC attack target indicates a data format where to put attack strings in analysis process. An analyzer sends a request back by inserting an attack string when a request uses one of XML, JSON, DRW, open data protocol, Google Web Toolkit, multipart/form-data format. If this option gets broader, analysis performance will improve because analysis range expands, but the speed will impair. If this option gets diminished, the speed will improve, but analysis performance will impair because analysis range gets narrowed.",
  "checker.dast.sw.common.5802.variant.rpc.extras.0.MULTI_PART": "multipart/form-data",
  "checker.dast.sw.common.5802.variant.rpc.extras.0.multi_part": "multipart/form-data",
  "checker.dast.sw.common.5802.variant.rpc.extras.1.XML": "XML",
  "checker.dast.sw.common.5802.variant.rpc.extras.1.xml": "XML",
  "checker.dast.sw.common.5802.variant.rpc.extras.2.JSON": "JSON",
  "checker.dast.sw.common.5802.variant.rpc.extras.2.json": "JSON",
  "checker.dast.sw.common.5802.variant.rpc.extras.3.GWT": "Google Web Toolkit",
  "checker.dast.sw.common.5802.variant.rpc.extras.3.gwt": "Google Web Toolkit",
  "checker.dast.sw.common.5802.variant.rpc.extras.4.DWR": "DWR",
  "checker.dast.sw.common.5802.variant.rpc.extras.4.dwr": "DWR",
  "checker.dast.sw.common.5802.variant.rpc.message": "The RPC Attack Target needs to be one of the selections.",
  "checker.dast.sw.common.5802.variant.rpc.name": "RPC Attack Target",
  "checker.dast.sw.common.5802.variant.rpc.placeholder": "Select an RPC attack target.",
  "checker.dast.sw.common.5803.exclusion_rules.description": "An exclusion rule is a regular expression that is used to define what to exclude from checks.",
  "checker.dast.sw.common.5803.exclusion_rules.message": "Please enter at least one regular expression.",
  "checker.dast.sw.common.5803.exclusion_rules.name": "Exclusion Rule",
  "checker.dast.sw.common.5803.exclusion_rules.placeholder": "Please enter a regular expression to use as an exclusion rule.",
  "checker.dast.sw.common.5803.session_id_name.description": "The session ID name is a string used to determine whether the session ID with that name is fixed.",
  "checker.dast.sw.common.5803.session_id_name.message": "Please enter at least one string.",
  "checker.dast.sw.common.5803.session_id_name.name": "Session ID Name",
  "checker.dast.sw.common.5803.session_id_name.placeholder": "Please enter a string that corresponds to the session ID name.",
  "checker.dast.sw.common.5805.variant.injectable.description": "Penetration target is where the attack string is placed for analysis during the analysis process. The analyzer replaces the value of the penetration target with the attack string in the request it sent at the time of crawling and resends the request. The more penetration targets, the wider the scope of the analysis, which improves the analysis performance but slows down the analysis. Less penetration targets improve the speed of analysis, but they may narrow the scope of the vulnerability.",
  "checker.dast.sw.common.5805.variant.injectable.extras.0.QUERY_STRING": "Quary String",
  "checker.dast.sw.common.5805.variant.injectable.extras.0.query_string": "Query String",
  "checker.dast.sw.common.5805.variant.injectable.extras.1.FORM_DATA": "FORM Data",
  "checker.dast.sw.common.5805.variant.injectable.extras.1.form_data": "FORM Data",
  "checker.dast.sw.common.5805.variant.injectable.extras.2.COOKIE": "Cookie",
  "checker.dast.sw.common.5805.variant.injectable.extras.2.cookie": "Cookie",
  "checker.dast.sw.common.5805.variant.injectable.extras.3.HTTP_HEADERS": "HTTP Header",
  "checker.dast.sw.common.5805.variant.injectable.extras.3.http_headers": "HTTP Header",
  "checker.dast.sw.common.5805.variant.injectable.extras.4.URL_PATH": "URL Path",
  "checker.dast.sw.common.5805.variant.injectable.extras.4.url_path": "URL Path",
  "checker.dast.sw.common.5805.variant.injectable.message": "Penetration attack target needs to be one of the selections.",
  "checker.dast.sw.common.5805.variant.injectable.name": "Penetration Attack Target",
  "checker.dast.sw.common.5805.variant.injectable.placeholder": "Select a penetration attack target.",
  "checker.dast.sw.common.5805.variant.rpc.description": "The RPC attack target indicates a data format where to put attack strings in analysis process. An analyzer sends a request back by inserting an attack string when a request uses one of XML, JSON, DRW, open data protocol, Google Web Toolkit, multipart/form-data format. If this option gets broader, analysis performance will improve because analysis range expands, but the speed will impair. If this option gets diminished, the speed will improve, but analysis performance will impair because analysis range gets narrowed.",
  "checker.dast.sw.common.5805.variant.rpc.extras.0.MULTI_PART": "multipart/form-data",
  "checker.dast.sw.common.5805.variant.rpc.extras.0.multi_part": "multipart/form-data",
  "checker.dast.sw.common.5805.variant.rpc.extras.1.XML": "XML",
  "checker.dast.sw.common.5805.variant.rpc.extras.1.xml": "XML",
  "checker.dast.sw.common.5805.variant.rpc.extras.2.JSON": "JSON",
  "checker.dast.sw.common.5805.variant.rpc.extras.2.json": "JSON",
  "checker.dast.sw.common.5805.variant.rpc.extras.3.GWT": "Google Web Toolkit",
  "checker.dast.sw.common.5805.variant.rpc.extras.3.gwt": "Google Web Toolkit",
  "checker.dast.sw.common.5805.variant.rpc.extras.4.DWR": "DWR",
  "checker.dast.sw.common.5805.variant.rpc.extras.4.dwr": "DWR",
  "checker.dast.sw.common.5805.variant.rpc.message": "The RPC Attack Target needs to be one of the selections.",
  "checker.dast.sw.common.5805.variant.rpc.name": "RPC Attack Target",
  "checker.dast.sw.common.5805.variant.rpc.placeholder": "Select an RPC attack target.",
  "checker.dast.sw.common.5811.attack_strings.description": "An attack string is a string that can be included within an HTTP request sent to the server during an attack.",
  "checker.dast.sw.common.5811.attack_strings.message": "Please enter at least one string.",
  "checker.dast.sw.common.5811.attack_strings.name": "Attack String",
  "checker.dast.sw.common.5811.attack_strings.placeholder": "Please enter an attack string. (Example: <script>alert(1);</script>)",
  "checker.dast.sw.common.5811.detection_rules.description": "Detection rule is a regular expression that is used to check a vulnerability in the server's HTTP response to an attack.",
  "checker.dast.sw.common.5811.detection_rules.message": "Please enter the correct regular expression format.",
  "checker.dast.sw.common.5811.detection_rules.name": "Detection rule",
  "checker.dast.sw.common.5811.detection_rules.placeholder": "Please enter a regular expression to use as a detection rule. (Example: <script>alert(1);</script>)",
  "checker.dast.sw.common.5811.exclusion_rules.description": "An exclusion rule is a regular expression that is used to define what to exclude from checks.",
  "checker.dast.sw.common.5811.exclusion_rules.message": "Please enter the correct regular expression format.",
  "checker.dast.sw.common.5811.exclusion_rules.name": "Exclusion Rule",
  "checker.dast.sw.common.5811.exclusion_rules.placeholder": "Please enter a regular expression to use as an exclusion rule. (Example: <script>alert(1);</script>)",
  "checker.dast.sw.common.5811.variant.injectable.description": "Penetration target is where the attack string is placed for analysis during the analysis process. The analyzer replaces the value of the penetration target with the attack string in the request it sent at the time of crawling and resends the request. The more penetration targets, the wider the scope of the analysis, which improves the analysis performance but slows down the analysis. Less penetration targets improve the speed of analysis, but they may narrow the scope of the vulnerability.",
  "checker.dast.sw.common.5811.variant.injectable.extras.0.QUERY_STRING": "Quary String",
  "checker.dast.sw.common.5811.variant.injectable.extras.0.query_string": "Query String",
  "checker.dast.sw.common.5811.variant.injectable.extras.1.FORM_DATA": "FORM Data",
  "checker.dast.sw.common.5811.variant.injectable.extras.1.form_data": "FORM Data",
  "checker.dast.sw.common.5811.variant.injectable.extras.2.COOKIE": "Cookie",
  "checker.dast.sw.common.5811.variant.injectable.extras.2.cookie": "Cookie",
  "checker.dast.sw.common.5811.variant.injectable.extras.3.HTTP_HEADERS": "HTTP Header",
  "checker.dast.sw.common.5811.variant.injectable.extras.3.http_headers": "HTTP Header",
  "checker.dast.sw.common.5811.variant.injectable.extras.4.URL_PATH": "URL Path",
  "checker.dast.sw.common.5811.variant.injectable.extras.4.url_path": "URL Path",
  "checker.dast.sw.common.5811.variant.injectable.message": "Penetration attack target needs to be one of the selections.",
  "checker.dast.sw.common.5811.variant.injectable.name": "Penetration Attack Target",
  "checker.dast.sw.common.5811.variant.injectable.placeholder": "Select a penetration attack target.",
  "checker.dast.sw.common.5811.variant.rpc.description": "The RPC attack target indicates a data format where to put attack strings in analysis process. An analyzer sends a request back by inserting an attack string when a request uses one of XML, JSON, DRW, open data protocol, Google Web Toolkit, multipart/form-data format. If this option gets broader, analysis performance will improve because analysis range expands, but the speed will impair. If this option gets diminished, the speed will improve, but analysis performance will impair because analysis range gets narrowed.",
  "checker.dast.sw.common.5811.variant.rpc.extras.0.MULTI_PART": "multipart/form-data",
  "checker.dast.sw.common.5811.variant.rpc.extras.0.multi_part": "multipart/form-data",
  "checker.dast.sw.common.5811.variant.rpc.extras.1.XML": "XML",
  "checker.dast.sw.common.5811.variant.rpc.extras.1.xml": "XML",
  "checker.dast.sw.common.5811.variant.rpc.extras.2.JSON": "JSON",
  "checker.dast.sw.common.5811.variant.rpc.extras.2.json": "JSON",
  "checker.dast.sw.common.5811.variant.rpc.extras.3.GWT": "Google Web Toolkit",
  "checker.dast.sw.common.5811.variant.rpc.extras.3.gwt": "Google Web Toolkit",
  "checker.dast.sw.common.5811.variant.rpc.extras.4.DWR": "DWR",
  "checker.dast.sw.common.5811.variant.rpc.extras.4.dwr": "DWR",
  "checker.dast.sw.common.5811.variant.rpc.message": "The RPC Attack Target needs to be one of the selections.",
  "checker.dast.sw.common.5811.variant.rpc.name": "RPC Attack Target",
  "checker.dast.sw.common.5811.variant.rpc.placeholder": "Select an RPC attack target.",
  "checker.dast.sw.common.5812.exclusion_rules.description": "An exclusion rule is a regular expression that is used to define what to exclude from checks.",
  "checker.dast.sw.common.5812.exclusion_rules.message": "Please enter at least one regular expression.",
  "checker.dast.sw.common.5812.exclusion_rules.name": "Exclusion Rule",
  "checker.dast.sw.common.5812.exclusion_rules.placeholder": "Please enter a regular expression to use as an exclusion rule.",
  "checker.dast.sw.common.5812.session_id_name.description": "The session ID name is a string used to determine whether the session ID with that name is fixed.",
  "checker.dast.sw.common.5812.session_id_name.message": "Please enter at least one string.",
  "checker.dast.sw.common.5812.session_id_name.name": "Session ID Name",
  "checker.dast.sw.common.5812.session_id_name.placeholder": "Please enter a string that corresponds to the session ID name.",
  "checker.dast.sw.common.5814.exclusion_rules.description": "An exclusion rule is a regular expression that is used to define what to exclude from checks.",
  "checker.dast.sw.common.5814.exclusion_rules.message": "Please enter at least one regular expression.",
  "checker.dast.sw.common.5814.exclusion_rules.name": "Exclusion Rule",
  "checker.dast.sw.common.5814.exclusion_rules.placeholder": "Please enter a regular expression to use as an exclusion rule.",
  "checker.dast.sw.common.5814.session_id_name.description": "The session ID name is a string used to determine whether the session ID with that name is fixed.",
  "checker.dast.sw.common.5814.session_id_name.message": "Please enter at least one string.",
  "checker.dast.sw.common.5814.session_id_name.name": "Session ID Name",
  "checker.dast.sw.common.5814.session_id_name.placeholder": "Please enter a string that corresponds to the session ID name.",
  "checker.dast.sw.common.5815.delay.description": "The delay between requests is the time to wait before sending the next request following an earlier sent request. The maximum value is 60,000 ms. The value can be up to 60,000. If this option is set to 0, it is disabled.",
  "checker.dast.sw.common.5815.delay.message": "Enter a number between 0 and 60,000.",
  "checker.dast.sw.common.5815.delay.name": "Delay between Requests",
  "checker.dast.sw.common.5815.delay.placeholder": "Enter the delay between requests in milliseconds (1 / 1000th of a second).",
  "checker.dast.sw.common.5816.contentLength.description": "The length of the request text is the size of the text of the request sent to the server at the time of the attack. The value can be up to 1,048,576. If this option is set to 0, it is disabled.",
  "checker.dast.sw.common.5816.contentLength.message": "Enter a number between 0 and 1,048,576.",
  "checker.dast.sw.common.5816.contentLength.name": "Request Text Length",
  "checker.dast.sw.common.5816.contentLength.placeholder": "Please enter the length of the request text.",
  "checker.dast.sw.common.5816.contentlength.name": "Request Text Length",
  "checker.dast.sw.common.5816.contentlength.placeholder": "Please enter the length of the request text.",
  "checker.dast.sw.common.5821.variant.injectable.description": "Penetration target is where the attack string is placed for analysis during the analysis process. The analyzer replaces the value of the penetration target with the attack string in the request it sent at the time of crawling and resends the request. The more penetration targets, the wider the scope of the analysis, which improves the analysis performance but slows down the analysis. Less penetration targets improve the speed of analysis, but they may narrow the scope of the vulnerability.",
  "checker.dast.sw.common.5821.variant.injectable.extras.0.QUERY_STRING": "Quary String",
  "checker.dast.sw.common.5821.variant.injectable.extras.0.query_string": "Query String",
  "checker.dast.sw.common.5821.variant.injectable.extras.1.FORM_DATA": "FORM Data",
  "checker.dast.sw.common.5821.variant.injectable.extras.1.form_data": "FORM Data",
  "checker.dast.sw.common.5821.variant.injectable.extras.2.COOKIE": "Cookie",
  "checker.dast.sw.common.5821.variant.injectable.extras.2.cookie": "Cookie",
  "checker.dast.sw.common.5821.variant.injectable.extras.3.HTTP_HEADERS": "HTTP Header",
  "checker.dast.sw.common.5821.variant.injectable.extras.3.http_headers": "HTTP Header",
  "checker.dast.sw.common.5821.variant.injectable.extras.4.URL_PATH": "URL Path",
  "checker.dast.sw.common.5821.variant.injectable.extras.4.url_path": "URL Path",
  "checker.dast.sw.common.5821.variant.injectable.message": "Penetration attack target needs to be one of the selections.",
  "checker.dast.sw.common.5821.variant.injectable.name": "Penetration Attack Target",
  "checker.dast.sw.common.5821.variant.injectable.placeholder": "Select a penetration attack target.",
  "checker.dast.sw.common.5821.variant.rpc.description": "The RPC attack target indicates a data format where to put attack strings in analysis process. An analyzer sends a request back by inserting an attack string when a request uses one of XML, JSON, DRW, open data protocol, Google Web Toolkit, multipart/form-data format. If this option gets broader, analysis performance will improve because analysis range expands, but the speed will impair. If this option gets diminished, the speed will improve, but analysis performance will impair because analysis range gets narrowed.",
  "checker.dast.sw.common.5821.variant.rpc.extras.0.MULTI_PART": "multipart/form-data",
  "checker.dast.sw.common.5821.variant.rpc.extras.0.multi_part": "multipart/form-data",
  "checker.dast.sw.common.5821.variant.rpc.extras.1.XML": "XML",
  "checker.dast.sw.common.5821.variant.rpc.extras.1.xml": "XML",
  "checker.dast.sw.common.5821.variant.rpc.extras.2.JSON": "JSON",
  "checker.dast.sw.common.5821.variant.rpc.extras.2.json": "JSON",
  "checker.dast.sw.common.5821.variant.rpc.extras.3.GWT": "Google Web Toolkit",
  "checker.dast.sw.common.5821.variant.rpc.extras.3.gwt": "Google Web Toolkit",
  "checker.dast.sw.common.5821.variant.rpc.extras.4.DWR": "DWR",
  "checker.dast.sw.common.5821.variant.rpc.extras.4.dwr": "DWR",
  "checker.dast.sw.common.5821.variant.rpc.message": "The RPC Attack Target needs to be one of the selections.",
  "checker.dast.sw.common.5821.variant.rpc.name": "RPC Attack Target",
  "checker.dast.sw.common.5821.variant.rpc.placeholder": "Select an RPC attack target.",
  "checker.dast.sw.common.5823.variant.injectable.description": "Penetration target is where the attack string is placed for analysis during the analysis process. The analyzer replaces the value of the penetration target with the attack string in the request it sent at the time of crawling and resends the request. The more penetration targets, the wider the scope of the analysis, which improves the analysis performance but slows down the analysis. Less penetration targets improve the speed of analysis, but they may narrow the scope of the vulnerability.",
  "checker.dast.sw.common.5823.variant.injectable.extras.0.QUERY_STRING": "Quary String",
  "checker.dast.sw.common.5823.variant.injectable.extras.0.query_string": "Query String",
  "checker.dast.sw.common.5823.variant.injectable.extras.1.FORM_DATA": "FORM Data",
  "checker.dast.sw.common.5823.variant.injectable.extras.1.form_data": "FORM Data",
  "checker.dast.sw.common.5823.variant.injectable.extras.2.COOKIE": "Cookie",
  "checker.dast.sw.common.5823.variant.injectable.extras.2.cookie": "Cookie",
  "checker.dast.sw.common.5823.variant.injectable.extras.3.HTTP_HEADERS": "HTTP Header",
  "checker.dast.sw.common.5823.variant.injectable.extras.3.http_headers": "HTTP Header",
  "checker.dast.sw.common.5823.variant.injectable.extras.4.URL_PATH": "URL Path",
  "checker.dast.sw.common.5823.variant.injectable.extras.4.url_path": "URL Path",
  "checker.dast.sw.common.5823.variant.injectable.message": "Penetration attack target needs to be one of the selections.",
  "checker.dast.sw.common.5823.variant.injectable.name": "Penetration Attack Target",
  "checker.dast.sw.common.5823.variant.injectable.placeholder": "Select a penetration attack target.",
  "checker.dast.sw.common.5823.variant.rpc.description": "The RPC attack target indicates a data format where to put attack strings in analysis process. An analyzer sends a request back by inserting an attack string when a request uses one of XML, JSON, DRW, open data protocol, Google Web Toolkit, multipart/form-data format. If this option gets broader, analysis performance will improve because analysis range expands, but the speed will impair. If this option gets diminished, the speed will improve, but analysis performance will impair because analysis range gets narrowed.",
  "checker.dast.sw.common.5823.variant.rpc.extras.0.MULTI_PART": "multipart/form-data",
  "checker.dast.sw.common.5823.variant.rpc.extras.0.multi_part": "multipart/form-data",
  "checker.dast.sw.common.5823.variant.rpc.extras.1.XML": "XML",
  "checker.dast.sw.common.5823.variant.rpc.extras.1.xml": "XML",
  "checker.dast.sw.common.5823.variant.rpc.extras.2.JSON": "JSON",
  "checker.dast.sw.common.5823.variant.rpc.extras.2.json": "JSON",
  "checker.dast.sw.common.5823.variant.rpc.extras.3.GWT": "Google Web Toolkit",
  "checker.dast.sw.common.5823.variant.rpc.extras.3.gwt": "Google Web Toolkit",
  "checker.dast.sw.common.5823.variant.rpc.extras.4.DWR": "DWR",
  "checker.dast.sw.common.5823.variant.rpc.extras.4.dwr": "DWR",
  "checker.dast.sw.common.5823.variant.rpc.message": "The RPC Attack Target needs to be one of the selections.",
  "checker.dast.sw.common.5823.variant.rpc.name": "RPC Attack Target",
  "checker.dast.sw.common.5823.variant.rpc.placeholder": "Select an RPC attack target.",
  "checker.dast.sw.common.5826.variant.injectable.description": "Penetration target is where the attack string is placed for analysis during the analysis process. The analyzer replaces the value of the penetration target with the attack string in the request it sent at the time of crawling and resends the request. The more penetration targets, the wider the scope of the analysis, which improves the analysis performance but slows down the analysis. Less penetration targets improve the speed of analysis, but they may narrow the scope of the vulnerability.",
  "checker.dast.sw.common.5826.variant.injectable.extras.0.QUERY_STRING": "Quary String",
  "checker.dast.sw.common.5826.variant.injectable.extras.0.query_string": "Query String",
  "checker.dast.sw.common.5826.variant.injectable.extras.1.FORM_DATA": "FORM Data",
  "checker.dast.sw.common.5826.variant.injectable.extras.1.form_data": "FORM Data",
  "checker.dast.sw.common.5826.variant.injectable.extras.2.COOKIE": "Cookie",
  "checker.dast.sw.common.5826.variant.injectable.extras.2.cookie": "Cookie",
  "checker.dast.sw.common.5826.variant.injectable.extras.3.HTTP_HEADERS": "HTTP Header",
  "checker.dast.sw.common.5826.variant.injectable.extras.3.http_headers": "HTTP Header",
  "checker.dast.sw.common.5826.variant.injectable.extras.4.URL_PATH": "URL Path",
  "checker.dast.sw.common.5826.variant.injectable.extras.4.url_path": "URL Path",
  "checker.dast.sw.common.5826.variant.injectable.message": "Penetration attack target needs to be one of the selections.",
  "checker.dast.sw.common.5826.variant.injectable.name": "Penetration Attack Target",
  "checker.dast.sw.common.5826.variant.injectable.placeholder": "Select a penetration attack target.",
  "checker.dast.sw.common.5826.variant.rpc.description": "The RPC attack target indicates a data format where to put attack strings in analysis process. An analyzer sends a request back by inserting an attack string when a request uses one of XML, JSON, DRW, open data protocol, Google Web Toolkit, multipart/form-data format. If this option gets broader, analysis performance will improve because analysis range expands, but the speed will impair. If this option gets diminished, the speed will improve, but analysis performance will impair because analysis range gets narrowed.",
  "checker.dast.sw.common.5826.variant.rpc.extras.0.MULTI_PART": "multipart/form-data",
  "checker.dast.sw.common.5826.variant.rpc.extras.0.multi_part": "multipart/form-data",
  "checker.dast.sw.common.5826.variant.rpc.extras.1.XML": "XML",
  "checker.dast.sw.common.5826.variant.rpc.extras.1.xml": "XML",
  "checker.dast.sw.common.5826.variant.rpc.extras.2.JSON": "JSON",
  "checker.dast.sw.common.5826.variant.rpc.extras.2.json": "JSON",
  "checker.dast.sw.common.5826.variant.rpc.extras.3.GWT": "Google Web Toolkit",
  "checker.dast.sw.common.5826.variant.rpc.extras.3.gwt": "Google Web Toolkit",
  "checker.dast.sw.common.5826.variant.rpc.extras.4.DWR": "DWR",
  "checker.dast.sw.common.5826.variant.rpc.extras.4.dwr": "DWR",
  "checker.dast.sw.common.5826.variant.rpc.message": "The RPC Attack Target needs to be one of the selections.",
  "checker.dast.sw.common.5826.variant.rpc.name": "RPC Attack Target",
  "checker.dast.sw.common.5826.variant.rpc.placeholder": "Select an RPC attack target.",
  "checker.dast.sw.common.5828.variant.injectable.description": "Penetration target is where the attack string is placed for analysis during the analysis process. The analyzer replaces the value of the penetration target with the attack string in the request it sent at the time of crawling and resends the request. The more penetration targets, the wider the scope of the analysis, which improves the analysis performance but slows down the analysis. Less penetration targets improve the speed of analysis, but they may narrow the scope of the vulnerability.",
  "checker.dast.sw.common.5828.variant.injectable.extras.0.QUERY_STRING": "Quary String",
  "checker.dast.sw.common.5828.variant.injectable.extras.0.query_string": "Query String",
  "checker.dast.sw.common.5828.variant.injectable.extras.1.FORM_DATA": "FORM Data",
  "checker.dast.sw.common.5828.variant.injectable.extras.1.form_data": "FORM Data",
  "checker.dast.sw.common.5828.variant.injectable.extras.2.COOKIE": "Cookie",
  "checker.dast.sw.common.5828.variant.injectable.extras.2.cookie": "Cookie",
  "checker.dast.sw.common.5828.variant.injectable.extras.3.HTTP_HEADERS": "HTTP Header",
  "checker.dast.sw.common.5828.variant.injectable.extras.3.http_headers": "HTTP Header",
  "checker.dast.sw.common.5828.variant.injectable.extras.4.URL_PATH": "URL Path",
  "checker.dast.sw.common.5828.variant.injectable.extras.4.url_path": "URL Path",
  "checker.dast.sw.common.5828.variant.injectable.message": "Penetration attack target needs to be one of the selections.",
  "checker.dast.sw.common.5828.variant.injectable.name": "Penetration Attack Target",
  "checker.dast.sw.common.5828.variant.injectable.placeholder": "Select a penetration attack target.",
  "checker.dast.sw.common.5828.variant.rpc.description": "The RPC attack target indicates a data format where to put attack strings in analysis process. An analyzer sends a request back by inserting an attack string when a request uses one of XML, JSON, DRW, open data protocol, Google Web Toolkit, multipart/form-data format. If this option gets broader, analysis performance will improve because analysis range expands, but the speed will impair. If this option gets diminished, the speed will improve, but analysis performance will impair because analysis range gets narrowed.",
  "checker.dast.sw.common.5828.variant.rpc.extras.0.MULTI_PART": "multipart/form-data",
  "checker.dast.sw.common.5828.variant.rpc.extras.0.multi_part": "multipart/form-data",
  "checker.dast.sw.common.5828.variant.rpc.extras.1.XML": "XML",
  "checker.dast.sw.common.5828.variant.rpc.extras.1.xml": "XML",
  "checker.dast.sw.common.5828.variant.rpc.extras.2.JSON": "JSON",
  "checker.dast.sw.common.5828.variant.rpc.extras.2.json": "JSON",
  "checker.dast.sw.common.5828.variant.rpc.extras.3.GWT": "Google Web Toolkit",
  "checker.dast.sw.common.5828.variant.rpc.extras.3.gwt": "Google Web Toolkit",
  "checker.dast.sw.common.5828.variant.rpc.extras.4.DWR": "DWR",
  "checker.dast.sw.common.5828.variant.rpc.extras.4.dwr": "DWR",
  "checker.dast.sw.common.5828.variant.rpc.message": "The RPC Attack Target needs to be one of the selections.",
  "checker.dast.sw.common.5828.variant.rpc.name": "RPC Attack Target",
  "checker.dast.sw.common.5828.variant.rpc.placeholder": "Select an RPC attack target.",
  "checker.dast.sw.common.5901.timeout.description": "Qualys SSL Labs Analyzing Timeout indicates time to wait for response to the analyzing request from the Qualys SSL Labs.",
  "checker.dast.sw.common.5901.timeout.message": "Enter a number greater than 1.",
  "checker.dast.sw.common.5901.timeout.name": "Qualys SSL Labs Analyzing Timeout",
  "checker.dast.sw.common.5901.timeout.placeholder": "Enter a time. (unit: m)",
  "checker.dast.sw.common.6495.path.attack.description": "Use `Custom Path for Admin Page` to configure URLs, such as http://host.com/`ADMIN_PAGE_PATH`. The path found in the URL indicates containing the Admin page.",
  "checker.dast.sw.common.6495.path.attack.message": "(None)",
  "checker.dast.sw.common.6495.path.attack.name": "Custom Path for Admin Page",
  "checker.dast.sw.common.6495.path.attack.placeholder": "Please enter a path. Press Enter key to split items.",
  "checker.dast.sw.common.6495.regex.test.description": "Use the `Custom Regex for Admin Page` to analyze the response body. The regex found in the body indicates containing contents of the admin page.",
  "checker.dast.sw.common.6495.regex.test.message": "(None)",
  "checker.dast.sw.common.6495.regex.test.name": "Custom Regex for Admin Page",
  "checker.dast.sw.common.6495.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "checker.dast.sw.common.6496.path.attack.description": "Use `Custom Path for Admin Page` to configure URLs, such as http://host.com/`ADMIN_PAGE_PATH`. The path found in the URL indicates containing the Admin page.",
  "checker.dast.sw.common.6496.path.attack.message": "(None)",
  "checker.dast.sw.common.6496.path.attack.name": "Custom Path for Admin Page",
  "checker.dast.sw.common.6496.path.attack.placeholder": "Please enter a path. Press Enter key to split items.",
  "checker.dast.sw.common.6496.regex.test.description": "Use the `Custom Regex for Admin Page` to analyze the response body. The regex found in the body indicates containing contents of the admin page.",
  "checker.dast.sw.common.6496.regex.test.message": "(None)",
  "checker.dast.sw.common.6496.regex.test.name": "Custom regex to check contents of admin page",
  "checker.dast.sw.common.6496.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "checker.dast.sw.common.6497.files.login.description": "Attempt to log-in with information of `Custom Log-in Record File`.",
  "checker.dast.sw.common.6497.files.login.message": "(None)",
  "checker.dast.sw.common.6497.files.login.name": "Custom Log-in Record File",
  "checker.dast.sw.common.6497.files.login.placeholder": "(None)",
  "checker.dast.sw.common.6497.files.logout.description": "Attempt to log-in with information of `Custom Log-out Record File`.",
  "checker.dast.sw.common.6497.files.logout.message": "(None)",
  "checker.dast.sw.common.6497.files.logout.name": "Custom Log-out Record File",
  "checker.dast.sw.common.6497.files.logout.placeholder": "(None)",
  "checker.dast.sw.common.6497.sessions.names.description": "Detect a session matched with the `Custom Session Name`. And perform security checks for the session.",
  "checker.dast.sw.common.6497.sessions.names.message": "(None)",
  "checker.dast.sw.common.6497.sessions.names.name": "Custom Session Name",
  "checker.dast.sw.common.6497.sessions.names.placeholder": "Please enter a session name. Press Enter key to split items.",
  "checker.dast.sw.common.6498.files.login.description": "Attempt to log-in with information of `Custom Log-in Record File`.",
  "checker.dast.sw.common.6498.files.login.message": "(None)",
  "checker.dast.sw.common.6498.files.login.name": "Custom Log-in Record File",
  "checker.dast.sw.common.6498.files.login.placeholder": "(None)",
  "checker.dast.sw.common.6498.sessions.names.description": "Detect a session matched with the `Custom Session Name`. And perform security checks for the session.",
  "checker.dast.sw.common.6498.sessions.names.message": "(None)",
  "checker.dast.sw.common.6498.sessions.names.name": "Custom Session Name",
  "checker.dast.sw.common.6498.sessions.names.placeholder": "Please enter a session name. Press Enter key to split items.",
  "checker.dast.sw.common.6498.sessions.timeout.description": "After waiting for seconds of the `Custom Session Timeout`, then check that the session expires.",
  "checker.dast.sw.common.6498.sessions.timeout.message": "A number between 0 and 86400 is available.",
  "checker.dast.sw.common.6498.sessions.timeout.name": "Custom Session Timeout",
  "checker.dast.sw.common.6498.sessions.timeout.placeholder": "Enter time for the timeout (in seconds).",
  "checker.dast.sw.common.6500.files.login.description": "Attempt to log-in with information of `Custom Log-in Record File`.",
  "checker.dast.sw.common.6500.files.login.message": "(None)",
  "checker.dast.sw.common.6500.files.login.name": "Custom Log-in Record File",
  "checker.dast.sw.common.6500.files.login.placeholder": "(None)",
  "checker.dast.sw.common.6500.sessions.names.description": "Detect a session matched with the `Custom Session Name`. And perform security checks for the session.",
  "checker.dast.sw.common.6500.sessions.names.message": "(None)",
  "checker.dast.sw.common.6500.sessions.names.name": "Custom Session Name",
  "checker.dast.sw.common.6500.sessions.names.placeholder": "Please enter a session name. Press Enter key to split items.",
  "checker.dast.sw.common.6503.patterns.attack.description": "Use the `Custom Pattern To Raise DB Error Message` to configure the request parameter. The parameter will raise the DB error.",
  "checker.dast.sw.common.6503.patterns.attack.message": "(None)",
  "checker.dast.sw.common.6503.patterns.attack.name": "Custom Pattern To Raise DB Error Message",
  "checker.dast.sw.common.6503.patterns.attack.placeholder": "Please enter a pattern that raises DB error messages. Press Enter key to split items.",
  "checker.dast.sw.common.6503.regex.test.description": "Use the `Custom Regex for DB Error Message` to analyze the response body. The regex found in the body indicates containing contents of the error message.",
  "checker.dast.sw.common.6503.regex.test.message": "(None)",
  "checker.dast.sw.common.6503.regex.test.name": "Custom Regex for DB Error Message",
  "checker.dast.sw.common.6503.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "checker.dast.sw.common.6504.patterns.attack.time_based.false.description": "Configure the request parameters using the `Custom Latency-Free SQL Insertion Pattern`. When processing SQL queries that include these request parameters, it is assumed that they will not cause any latency. If the request parameter causes a delay, the checker may malfunction. Also, note that each value you enter is used in conjunction with the `Custom latency-inducing SQL insertion pattern` option value and the `Custom expected latency` option value, based on the order in which you enter them.",
  "checker.dast.sw.common.6504.patterns.attack.time_based.false.message": "(None)",
  "checker.dast.sw.common.6504.patterns.attack.time_based.false.name": "Custom SQL Injection Pattern Not To Raise Delay",
  "checker.dast.sw.common.6504.patterns.attack.time_based.false.placeholder": "Please enter a pattern of SQL injection that does not raise delays. Press Enter key to split items.",
  "checker.dast.sw.common.6504.patterns.attack.time_based.true.description": "Configure the request parameters using the `Custom Latency-inducing SQL Insertion Pattern`. When processing a SQL query statement that includes this request parameter, it is assumed that a certain amount of delay will occur. If the request parameter does not cause a delay, the checker may malfunction. Also, note that each value you enter is used in conjunction with the `Custom latency-inducing SQL insertion pattern` option value and the `Custom expected latency` option value, based on the order in which they are entered.",
  "checker.dast.sw.common.6504.patterns.attack.time_based.true.message": "(None)",
  "checker.dast.sw.common.6504.patterns.attack.time_based.true.name": "Custom SQL Injection Pattern To Raise Delay",
  "checker.dast.sw.common.6504.patterns.attack.time_based.true.placeholder": "Please enter a pattern of SQL injection that raises delays. Press Enter key to split items.",
  "checker.dast.sw.common.6504.time.test.expected_delay.description": "User-defined expected latency is the amount of latency that can be expected to occur during the processing of a `user-defined latency-inducing SQL insert pattern`. If this value is too small, the checker may malfunction. Also note that the checker works in pairs with `Custom Latency-Causing SQL Insertion Pattern` and `Custom Latency-Non-Causing SQL Insertion Pattern` based on the order of their input, so be careful with the order of their input.",
  "checker.dast.sw.common.6504.time.test.expected_delay.message": "A number between 0 and 86400 is available.",
  "checker.dast.sw.common.6504.time.test.expected_delay.name": "Custom Expected Delay",
  "checker.dast.sw.common.6504.time.test.expected_delay.placeholder": "Enter time to delay. (unit: sec)",
  "checker.dast.sw.common.6505.unix.patterns.attack.description": "Use the `Custom UNIX Command Injection Pattern` to configure the request parameter. This will execute the UNIX ommands including the parameter.",
  "checker.dast.sw.common.6505.unix.patterns.attack.message": "(None)",
  "checker.dast.sw.common.6505.unix.patterns.attack.name": "Custom UNIX Command Injection Pattern",
  "checker.dast.sw.common.6505.unix.patterns.attack.placeholder": "Please enter a pattern of OS injection. Press Enter key to split items.",
  "checker.dast.sw.common.6505.unix.regex.test.description": "Use the `Custom Regex for Unix Command` to analyze the response body. The regex found in the body indicates containing results of executing the Unix commands.",
  "checker.dast.sw.common.6505.unix.regex.test.message": "(None)",
  "checker.dast.sw.common.6505.unix.regex.test.name": "Custom Regex for UNIX Command",
  "checker.dast.sw.common.6505.unix.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "checker.dast.sw.common.6505.windows.patterns.attack.description": "Use the `Custom Windows Command Injection Pattern` to configure the request parameter. This will execute the Windows commands including the parameter.",
  "checker.dast.sw.common.6505.windows.patterns.attack.message": "(None)",
  "checker.dast.sw.common.6505.windows.patterns.attack.name": "Custom Windows Command Injection Pattern",
  "checker.dast.sw.common.6505.windows.patterns.attack.placeholder": "Please enter a pattern of OS injection. Press Enter key to split items.",
  "checker.dast.sw.common.6505.windows.regex.test.description": "Use the `Custom Regex for Windows Command` to analyze the response body. The regex found in the body indicates containing results of executing the Windows commands.",
  "checker.dast.sw.common.6505.windows.regex.test.message": "(None)",
  "checker.dast.sw.common.6505.windows.regex.test.name": "Custom Regex for Windows Command",
  "checker.dast.sw.common.6505.windows.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "checker.dast.sw.common.6506.patterns.attack.description": "Use the `Custom Xpath Injection Pattern` to configure the request parameter. This will execute an Xpath query including the parameter.",
  "checker.dast.sw.common.6506.patterns.attack.message": "(None)",
  "checker.dast.sw.common.6506.patterns.attack.name": "Custom Xpath Injection Pattern",
  "checker.dast.sw.common.6506.patterns.attack.placeholder": "Please enter a pattern of Xpath query injection. Press Enter key to split items.",
  "checker.dast.sw.common.6506.regex.test.description": "Use the `Custom Regex for XPath Query` to analyze the response body. The regex found in the body indicates containing results of executing the XPath query.",
  "checker.dast.sw.common.6506.regex.test.message": "(None)",
  "checker.dast.sw.common.6506.regex.test.name": "Custom Regex for Xpath Query",
  "checker.dast.sw.common.6506.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "checker.dast.sw.common.6507.cookie.auth.names.description": "Use the `Custom Cookie Name` to poison the cookies. The poisoned cookie will be used to bypass authentication.",
  "checker.dast.sw.common.6507.cookie.auth.names.message": "(None)",
  "checker.dast.sw.common.6507.cookie.auth.names.name": "Custom Cookie Name",
  "checker.dast.sw.common.6507.cookie.auth.names.placeholder": "Enter a cookie name. Press Enter key to split items.",
  "checker.dast.sw.common.6507.files.login.description": "Attempt to log-in with information of `Custom Log-in Record File`.",
  "checker.dast.sw.common.6507.files.login.message": "(None)",
  "checker.dast.sw.common.6507.files.login.name": "Custom Log-in Record File",
  "checker.dast.sw.common.6507.files.login.placeholder": "(None)",
  "checker.dast.sw.common.6508.patterns.attack.description": "Use the `Custom XXE Injection Pattern` to configure the request parameter. This will execute an XML query including the parameter.",
  "checker.dast.sw.common.6508.patterns.attack.message": "(None)",
  "checker.dast.sw.common.6508.patterns.attack.name": "Custom XXE Injection Pattern",
  "checker.dast.sw.common.6508.patterns.attack.placeholder": "Please enter a pattern of XXE injection. Press Enter key to split items.",
  "checker.dast.sw.common.6508.regex.test.description": "Use the `Custom Regex for XML Query` to analyze the response body. The regex found in the body indicates containing results of executing the XML query.",
  "checker.dast.sw.common.6508.regex.test.message": "(None)",
  "checker.dast.sw.common.6508.regex.test.name": "Custom Regex for XML Query",
  "checker.dast.sw.common.6508.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "checker.dast.sw.common.6509.patterns.attack.description": "Use the `Custom SSI Injection Pattern` to configure the request parameter. The parameter might execute the SSI statement.",
  "checker.dast.sw.common.6509.patterns.attack.message": "(None)",
  "checker.dast.sw.common.6509.patterns.attack.name": "Custom SSI Injection Pattern",
  "checker.dast.sw.common.6509.patterns.attack.placeholder": "Please enter a pattern of attacks. Press Enter key to split items.",
  "checker.dast.sw.common.6509.regex.test.description": "Use the `Custom Regex for SSI Command` to analyze the response body. The regex found in the body indicates containing results of executing the SSI commands.",
  "checker.dast.sw.common.6509.regex.test.message": "(None)",
  "checker.dast.sw.common.6509.regex.test.name": "Custom Regex for SSI Command",
  "checker.dast.sw.common.6509.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "checker.dast.sw.common.6510.port.excluded.description": "Use the `Custom Excluded Port` to exclude the ports from validation. The ports need permission to be accessed.",
  "checker.dast.sw.common.6510.port.excluded.message": "(None)",
  "checker.dast.sw.common.6510.port.excluded.name": "Custom Excluded Port",
  "checker.dast.sw.common.6510.port.excluded.placeholder": "Enter a port number. Press Enter key to split items.",
  "checker.dast.sw.common.6510.socket.timeout.description": "Wait for the socket connection to be established for the time in milliseconds corresponding to the `Custom Socket Connection Timeout`.",
  "checker.dast.sw.common.6510.socket.timeout.message": "A number between 50 and 10000 is available.",
  "checker.dast.sw.common.6510.socket.timeout.name": "Custom Socket Timeout",
  "checker.dast.sw.common.6510.socket.timeout.placeholder": "Enter time for the timeout (in seconds).",
  "checker.dast.sw.common.6511.path.attack.description": "Use `Custom Path for phpMyAdmin Page` to configure URLs, such as http://host.com/`PHP_MY_ADMIN_PAGE_PATH`. The path found in the URL indicates containing the phpMyAdmin page.",
  "checker.dast.sw.common.6511.path.attack.message": "(None)",
  "checker.dast.sw.common.6511.path.attack.name": "Custom Path for phpMyAdmin Page",
  "checker.dast.sw.common.6511.path.attack.placeholder": "Please enter a path. Press Enter key to split items.",
  "checker.dast.sw.common.6511.regex.test.description": "Use the `Custom Regex for phpMyAdmin Page` to analyze the response body. The regex found in the body indicates containing contents of the phpMyAdmin page.",
  "checker.dast.sw.common.6511.regex.test.message": "(None)",
  "checker.dast.sw.common.6511.regex.test.name": "Custom Regex for phpMyAdmin Page",
  "checker.dast.sw.common.6511.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "checker.dast.sw.common.6512.regex.test.description": "Use the `Custom Regex for Adobe Flash Player` to analyze the response body. The regex found in the body indicates containing contents of the Adobe Flash Player.",
  "checker.dast.sw.common.6512.regex.test.message": "(None)",
  "checker.dast.sw.common.6512.regex.test.name": "Custom Regex for Adobe Flash Player",
  "checker.dast.sw.common.6512.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "checker.dast.sw.common.6513.patterns.attack.description": "Use the `Custom Reference Pattern for Important File Path` to configure the request parameter. The parameter might download a file from the path.",
  "checker.dast.sw.common.6513.patterns.attack.message": "(None)",
  "checker.dast.sw.common.6513.patterns.attack.name": "Custom Reference Pattern for Sensitive File",
  "checker.dast.sw.common.6513.patterns.attack.placeholder": "Please enter a pattern of attacks. Press Enter key to split items.",
  "checker.dast.sw.common.6513.regex.test.description": "Use the `Custom Regex for Important File` to analyze the response body. The regex found in the body indicates containing contents of the important file.",
  "checker.dast.sw.common.6513.regex.test.message": "(None)",
  "checker.dast.sw.common.6513.regex.test.name": "Custom Regex for Important File",
  "checker.dast.sw.common.6513.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "checker.dast.sw.common.6514.regex.test.description": "Analyze the response body using a `custom file path check regular expression`. If a match to that regex exists in the response body, it is assumed that file path information exists inside hidden fields and JavaScript areas of the response body.",
  "checker.dast.sw.common.6514.regex.test.message": "(None)",
  "checker.dast.sw.common.6514.regex.test.name": "Custom Regex for File Path",
  "checker.dast.sw.common.6514.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "checker.dast.sw.common.6515.patterns.attack.description": "Use **encorded URL** for `Custom Reference Pattern for Sensitive File` to configure the request parameter. The parameter might download a file from the path.",
  "checker.dast.sw.common.6515.patterns.attack.message": "(None)",
  "checker.dast.sw.common.6515.patterns.attack.name": "Custom Reference Pattern for Sensitive File",
  "checker.dast.sw.common.6515.patterns.attack.placeholder": "Please enter a pattern of attacks. Press Enter key to split items.",
  "checker.dast.sw.common.6515.regex.test.description": "Use the `Custom Regex for Important File` to analyze the response body. The regex found in the body indicates containing contents of the important file.",
  "checker.dast.sw.common.6515.regex.test.message": "(None)",
  "checker.dast.sw.common.6515.regex.test.name": "Custom Regex for Important File",
  "checker.dast.sw.common.6515.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "checker.dast.sw.common.6518.path.attack.description": "Use `Custom Path for Directory List` to configure URLs, such as http://host.com/`DIRECTORY_LIST_PAGE_PATH`. The path found in the URL indicates containing the directory list.",
  "checker.dast.sw.common.6518.path.attack.message": "(None)",
  "checker.dast.sw.common.6518.path.attack.name": "Custom Path for Directory List",
  "checker.dast.sw.common.6518.path.attack.placeholder": "Please enter a path. Press Enter key to split items.",
  "checker.dast.sw.common.6518.regex.test.description": "Use the `Custom Regex for Directory List` to analyze the response body. The regex found in the body indicates containing contents of the directory list.",
  "checker.dast.sw.common.6518.regex.test.message": "(None)",
  "checker.dast.sw.common.6518.regex.test.name": "Custom Regex for Directory List",
  "checker.dast.sw.common.6518.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "checker.dast.sw.common.6520.path.attack.description": "Use `Custom Path for Default Error Page` to configure URLs, such as http://host.com/`DEFAULT_ERROR_PAGE_PATH`. The path found in the URL indicates containing the default error page.",
  "checker.dast.sw.common.6520.path.attack.message": "(None)",
  "checker.dast.sw.common.6520.path.attack.name": "Custom Path for Default Error Page",
  "checker.dast.sw.common.6520.path.attack.placeholder": "Please enter a path. Press Enter key to split items.",
  "checker.dast.sw.common.6520.regex.test.description": "Use the `Custom Regex for Default Error Page` to analyze the response body. The regex found in the body indicates containing contents of the default error page.",
  "checker.dast.sw.common.6520.regex.test.message": "(None)",
  "checker.dast.sw.common.6520.regex.test.name": "Custom Regex for Default Error Message",
  "checker.dast.sw.common.6520.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "checker.dast.sw.common.6522.patterns.attack.description": "Use the `Custom Pattern To Raise DB Error Message` to configure the request parameter. The parameter will raise the DB error.",
  "checker.dast.sw.common.6522.patterns.attack.message": "(None)",
  "checker.dast.sw.common.6522.patterns.attack.name": "Custom pattern to raise DB error message",
  "checker.dast.sw.common.6522.patterns.attack.placeholder": "Please enter a pattern that raises DB error messages. Press Enter key to split items.",
  "checker.dast.sw.common.6522.regex.test.description": "Use the `Custom Regex for DB Error message` to analyze the response body. The regex found in the body indicates containing contents of the DB error message.",
  "checker.dast.sw.common.6522.regex.test.message": "(None)",
  "checker.dast.sw.common.6522.regex.test.name": "Custom Regex for DB Error Message",
  "checker.dast.sw.common.6522.regex.test.placeholder": "Enter a string for the regex. Press Enter key to split items.",
  "checker.dast.sw.common.6523.regex.test.description": "Use the `Custom Regex for Sensitive Information` to analyze the response body. The regex found in the body indicates containing contents of the sensitive information.",
  "checker.dast.sw.common.6523.regex.test.message": "(None)",
  "checker.dast.sw.common.6523.regex.test.name": "Custom Regex for Sensitive Information",
  "checker.dast.sw.common.6523.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "checker.dast.sw.common.6524.regex.test.description": "Use the `Custom Server Version Information Check Regular Expression` to analyze the response body. The regex found in the header indicates containing contents of the server version.",
  "checker.dast.sw.common.6524.regex.test.message": "(None)",
  "checker.dast.sw.common.6524.regex.test.name": "Custom Regex for Server Version",
  "checker.dast.sw.common.6524.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "checker.dast.sw.common.6526.regex.test.description": "Use the `Custom Regex for Service Access` to analyze the response body. The regex found in the body indicates containing contents of the certain service access.",
  "checker.dast.sw.common.6526.regex.test.message": "(None)",
  "checker.dast.sw.common.6526.regex.test.name": "Custom Regex for Service Access",
  "checker.dast.sw.common.6526.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "checker.dast.sw.common.6527.time.waiting.description": "Wait for the `SSL labs Server Test` analysis to complete, waiting for the time in seconds corresponding to the `Custom SSL labs Server Test analysis wait time`.",
  "checker.dast.sw.common.6527.time.waiting.message": "A number between 0 and 86400 is available.",
  "checker.dast.sw.common.6527.time.waiting.name": "Custom SSL labs Server Test Timout",
  "checker.dast.sw.common.6527.time.waiting.placeholder": "Enter time to wait for analyzing. (unit: sec)",
  "checker.dast.sw.common.6528.regex.test.description": "Use the `Custom Regex for User Agent Setting` to analyze the response body. The regex found in the body indicates containing unappropriate settings.",
  "checker.dast.sw.common.6528.regex.test.message": "(None)",
  "checker.dast.sw.common.6528.regex.test.name": "Custom Regex for User Agent Setting",
  "checker.dast.sw.common.6528.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "checker.dast.sw.common.6529.path.attack.description": "Use `Custom Path for Repository List` to configure URLs, such as http://host.com/`REPOSITORY_LIST_PAGE_PATH`. The path found in the URL indicates containing the repository list.",
  "checker.dast.sw.common.6529.path.attack.message": "(None)",
  "checker.dast.sw.common.6529.path.attack.name": "Custom Path for Repository List",
  "checker.dast.sw.common.6529.path.attack.placeholder": "Please enter a path. Press Enter key to split items.",
  "checker.dast.sw.common.6529.regex.test.description": "Use the `Custom Regex for Repository List` to analyze the response body. The regex found in the body indicates containing contents of the repository list.",
  "checker.dast.sw.common.6529.regex.test.message": "(None)",
  "checker.dast.sw.common.6529.regex.test.name": "Custom Regex for Repository List",
  "checker.dast.sw.common.6529.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "checker.dast.sw.common.6530.extensions.description": "Search the page for link addresses that end with an extension that corresponds to the `Custom File Extension`. The address is assumed to be available for downloading files with that particular extension.",
  "checker.dast.sw.common.6530.extensions.message": "(None)",
  "checker.dast.sw.common.6530.extensions.name": "Custom extension",
  "checker.dast.sw.common.6530.extensions.placeholder": "Enter an extension. Press Enter key to split items.",
  "checker.dast.sw.common.6531.path.attack.description": "Use `Custom Path for Default Page` to configure URLs, such as http://host.com/`DEFAULT_PAGE_PATH`. The path found in the URL indicates containing the default page.",
  "checker.dast.sw.common.6531.path.attack.message": "(None)",
  "checker.dast.sw.common.6531.path.attack.name": "Custom Path for Default Page",
  "checker.dast.sw.common.6531.path.attack.placeholder": "Please enter a path. Press Enter key to split items.",
  "checker.dast.sw.common.6531.regex.test.description": "Use the `Custom Regex for Default Page` to analyze the response body. The regex found in the body indicates containing contents of the default page.",
  "checker.dast.sw.common.6531.regex.test.message": "(None)",
  "checker.dast.sw.common.6531.regex.test.name": "Custom regex to check contents of default page",
  "checker.dast.sw.common.6531.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "checker.dast.sw.common.6533.files.login.description": "Attempt to log-in with information of `Custom Log-in Record File`.",
  "checker.dast.sw.common.6533.files.login.message": "(None)",
  "checker.dast.sw.common.6533.files.login.name": "Custom Log-in Record File",
  "checker.dast.sw.common.6533.files.login.placeholder": "(None)",
  "checker.dast.sw.common.6533.sessions.names.description": "Detect a session matched with the `Custom Session Name`. And perform security checks for the session.",
  "checker.dast.sw.common.6533.sessions.names.message": "(None)",
  "checker.dast.sw.common.6533.sessions.names.name": "Custom Session Name",
  "checker.dast.sw.common.6533.sessions.names.placeholder": "Please enter a session name. Press Enter key to split items.",
  "checker.dast.sw.common.6533.sessions.timeout.description": "After waiting for seconds of the `Custom Session Timeout`, then check that the session expires.",
  "checker.dast.sw.common.6533.sessions.timeout.message": "A number between 0 and 86400 is available.",
  "checker.dast.sw.common.6533.sessions.timeout.name": "Custom Session Timeout",
  "checker.dast.sw.common.6533.sessions.timeout.placeholder": "Enter time for the timeout (in seconds).",
  "checker.dast.sw.common.6534.files.login.description": "Attempt to log-in with information of `Custom Log-in Record File`.",
  "checker.dast.sw.common.6534.files.login.message": "(None)",
  "checker.dast.sw.common.6534.files.login.name": "Custom Log-in Record File",
  "checker.dast.sw.common.6534.files.login.placeholder": "(None)",
  "checker.dast.sw.common.6534.sessions.names.description": "Detect a session matched with the `Custom Session Name`. And perform security checks for the session.",
  "checker.dast.sw.common.6534.sessions.names.message": "(None)",
  "checker.dast.sw.common.6534.sessions.names.name": "Custom Session Name",
  "checker.dast.sw.common.6534.sessions.names.placeholder": "Please enter a session name. Press Enter key to split items.",
  "checker.dast.sw.common.6534.sessions.timeout.description": "After waiting for seconds of the `Custom Session Timeout`, then check that the session expires.",
  "checker.dast.sw.common.6534.sessions.timeout.message": "A number between 0 and 86400 is available.",
  "checker.dast.sw.common.6534.sessions.timeout.name": "Custom Session Timeout",
  "checker.dast.sw.common.6534.sessions.timeout.placeholder": "Enter time for the timeout (in seconds).",
  "checker.dast.sw.common5776.variant.injectable.description": "Penetration target is where the attack string is placed for analysis during the analysis process. The analyzer replaces the value of the penetration target with the attack string in the request it sent at the time of crawling and resends the request. The more penetration targets, the wider the scope of the analysis, which improves the analysis performance but slows down the analysis. Less penetration targets improve the speed of analysis, but they may narrow the scope of the vulnerability.",
  "checker.dast.sw.common5776.variant.injectable.extras.0.QUERY_STRING": "Quary String",
  "checker.dast.sw.common5776.variant.injectable.extras.0.query_string": "Query String",
  "checker.dast.sw.common5776.variant.injectable.extras.1.FORM_DATA": "FORM Data",
  "checker.dast.sw.common5776.variant.injectable.extras.1.form_data": "FORM Data",
  "checker.dast.sw.common5776.variant.injectable.extras.2.COOKIE": "Cookie",
  "checker.dast.sw.common5776.variant.injectable.extras.2.cookie": "Cookie",
  "checker.dast.sw.common5776.variant.injectable.extras.3.HTTP_HEADERS": "HTTP Header",
  "checker.dast.sw.common5776.variant.injectable.extras.3.http_headers": "HTTP Header",
  "checker.dast.sw.common5776.variant.injectable.extras.4.URL_PATH": "URL Path",
  "checker.dast.sw.common5776.variant.injectable.extras.4.url_path": "URL Path",
  "checker.dast.sw.common5776.variant.injectable.message": "Penetration attack target needs to be one of the selections.",
  "checker.dast.sw.common5776.variant.injectable.name": "Penetration Attack Target",
  "checker.dast.sw.common5776.variant.injectable.placeholder": "Select a penetration attack target.",
  "checker.dast.sw.common5776.variant.rpc.description": "The RPC attack target indicates a data format where to put attack strings in analysis process. An analyzer sends a request back by inserting an attack string when a request uses one of XML, JSON, DRW, open data protocol, Google Web Toolkit, multipart/form-data format. If this option gets broader, analysis performance will improve because analysis range expands, but the speed will impair. If this option gets diminished, the speed will improve, but analysis performance will impair because analysis range gets narrowed.",
  "checker.dast.sw.common5776.variant.rpc.extras.0.MULTI_PART": "multipart/form-data",
  "checker.dast.sw.common5776.variant.rpc.extras.0.multi_part": "multipart/form-data",
  "checker.dast.sw.common5776.variant.rpc.extras.1.XML": "XML",
  "checker.dast.sw.common5776.variant.rpc.extras.1.xml": "XML",
  "checker.dast.sw.common5776.variant.rpc.extras.2.JSON": "JSON",
  "checker.dast.sw.common5776.variant.rpc.extras.2.json": "JSON",
  "checker.dast.sw.common5776.variant.rpc.extras.3.GWT": "Google Web Toolkit",
  "checker.dast.sw.common5776.variant.rpc.extras.3.gwt": "Google Web Toolkit",
  "checker.dast.sw.common5776.variant.rpc.extras.4.DWR": "DWR",
  "checker.dast.sw.common5776.variant.rpc.extras.4.dwr": "DWR",
  "checker.dast.sw.common5776.variant.rpc.message": "The RPC Attack Target needs to be one of the selections.",
  "checker.dast.sw.common5776.variant.rpc.name": "RPC Attack Target",
  "checker.dast.sw.common5776.variant.rpc.placeholder": "Select an RPC attack target.",
  "checker.deprecated_components_in_html5.exclusion_tag.description": "The excluded tag is a tag name to be excluded from detection.",
  "checker.deprecated_components_in_html5.exclusion_tag.message": "Enter a valid tag name.",
  "checker.deprecated_components_in_html5.exclusion_tag.name": "Excluded Tag",
  "checker.deprecated_components_in_html5.exclusion_tag.placeholder": "Enter an excluded tag name. (Example: div)",
  "checker.deprecated_components_in_html5.name": "Deprecated Component of HTML5",
  "checker.deprecated_components_in_html5.remedy": "Do not use the deprecated components of HTML5.",
  "checker.deprecated_components_in_html5.target": "The Deprecated Component of HTML5 checker finds tags or attributes that are deprecated in HTML5.",
  "checker.deprecated_components_in_html5.vulnerability": "Incorrect information can be sent to users with brand-new browsers or devices when the deprecated components of HTML5 are used.",
  "checker.email_address_disclosure.name": "E-mail Address Exposure",
  "checker.email_address_disclosure.remedy": "To fix the vulnerability, remove an unnecessary e-mail address from web pages.",
  "checker.email_address_disclosure.target": "E-mail Address Exposure' checker finds an e-mail address on web pages.",
  "checker.email_address_disclosure.vulnerability": "Attackers can exploit the unintended e-mail address in the web pages.",
  "checker.external_redirect.variant.injectable.description": "Penetration target is where the attack string is placed for analysis during the analysis process. The analyzer replaces the value of the penetration target with the attack string in the request it sent at the time of crawling and resends the request. The more penetration targets, the wider the scope of the analysis, which improves the analysis performance but slows down the analysis. Less penetration targets improve the speed of analysis, but they may narrow the scope of the vulnerability.",
  "checker.external_redirect.variant.injectable.extras.0.query_string": "Query String",
  "checker.external_redirect.variant.injectable.extras.1.form_data": "FORM Data",
  "checker.external_redirect.variant.injectable.extras.2.cookie": "Cookie",
  "checker.external_redirect.variant.injectable.extras.3.http_headers": "HTTP Header",
  "checker.external_redirect.variant.injectable.extras.4.url_path": "URL Path",
  "checker.external_redirect.variant.injectable.message": "Penetration attack target needs to be one of the selections.",
  "checker.external_redirect.variant.injectable.name": "Penetration Attack Target",
  "checker.external_redirect.variant.injectable.placeholder": "Select a penetration attack target.",
  "checker.external_redirect.variant.rpc.description": "RPC attack target indicates a data format where to put attack strings in analysis process. An analyzer sends a request back by inserting an attack string when a request uses one of XML, JSON, DRW, open data protocol, Google Web Toolkit, multipart/form-data format. If this option gets broader, analysis performance will improve because analysis range expands, but the speed will impair. If this option gets diminished, the speed will improve, but analysis performance will impair because analysis range gets narrowed.",
  "checker.external_redirect.variant.rpc.extras.0.multi_part": "multipart/form-data",
  "checker.external_redirect.variant.rpc.extras.1.xml": "XML",
  "checker.external_redirect.variant.rpc.extras.2.json": "JSON",
  "checker.external_redirect.variant.rpc.extras.3.gwt": "Google Web Toolkit",
  "checker.external_redirect.variant.rpc.extras.4.dwr": "DWR",
  "checker.external_redirect.variant.rpc.message": "RPC Attack Target needs to be one of the selections.",
  "checker.external_redirect.variant.rpc.name": "RPC Attack Target",
  "checker.external_redirect.variant.rpc.placeholder": "Select an RPC attack target.",
  "checker.format_string.variant.injectable.description": "Penetration target is where the attack string is placed for analysis during the analysis process. The analyzer replaces the value of the penetration target with the attack string in the request it sent at the time of crawling and resends the request. The more penetration targets, the wider the scope of the analysis, which improves the analysis performance but slows down the analysis. Less penetration targets improve the speed of analysis, but they may narrow the scope of the vulnerability.",
  "checker.format_string.variant.injectable.extras.0.query_string": "Query String",
  "checker.format_string.variant.injectable.extras.1.form_data": "FORM Data",
  "checker.format_string.variant.injectable.extras.2.cookie": "Cookie",
  "checker.format_string.variant.injectable.extras.3.http_headers": "HTTP Header",
  "checker.format_string.variant.injectable.extras.4.url_path": "URL Path",
  "checker.format_string.variant.injectable.message": "Penetration attack target needs to be one of the selections.",
  "checker.format_string.variant.injectable.name": "Penetration Attack Target",
  "checker.format_string.variant.injectable.placeholder": "Select a penetration attack target.",
  "checker.format_string.variant.rpc.description": "RPC attack target indicates a data format where to put attack strings in analysis process. An analyzer sends a request back by inserting an attack string when a request uses one of XML, JSON, DRW, open data protocol, Google Web Toolkit, multipart/form-data format. If this option gets broader, analysis performance will improve because analysis range expands, but the speed will impair. If this option gets diminished, the speed will improve, but analysis performance will impair because analysis range gets narrowed.",
  "checker.format_string.variant.rpc.extras.0.multi_part": "multipart/form-data",
  "checker.format_string.variant.rpc.extras.1.xml": "XML",
  "checker.format_string.variant.rpc.extras.2.json": "JSON",
  "checker.format_string.variant.rpc.extras.3.gwt": "Google Web Toolkit",
  "checker.format_string.variant.rpc.extras.4.dwr": "DWR",
  "checker.format_string.variant.rpc.message": "RPC Attack Target needs to be one of the selections.",
  "checker.format_string.variant.rpc.name": "RPC Attack Target",
  "checker.format_string.variant.rpc.placeholder": "Select an RPC attack target.",
  "checker.graphql_bopla.admin_api_body.description": "This is the reference or baseline of request body to identify whether a specific API request corresponds to the administrative API endpoint. It must be input in JSON format. If the HTTP method is selected as `**GET**`, the provided request body will not be used.",
  "checker.graphql_bopla.admin_api_body.name": "Request body of administrative API endpoint",
  "checker.graphql_bopla.admin_api_body.placeholder": "Please enter the request body in JSON format.",
  "checker.graphql_bopla.admin_api_method.description": "This is the reference or baseline of request HTTP method to identify whether a specific API request corresponds to an administrative API endpoint.",
  "checker.graphql_bopla.admin_api_method.name": "Request HTTP method of administrative API endpoint",
  "checker.graphql_bopla.admin_api_url.description": "This is the reference or baseline of request URL to identify whether a specific API request corresponds to an administrative API endpoint.",
  "checker.graphql_bopla.admin_api_url.name": "Request URL of administrative API endpoint",
  "checker.graphql_bopla.admin_api_url.placeholder": "Please enter the request URL.",
  "checker.graphql_sql_injection.regex.test.description": "Use the `Custom Regex for DB Error Message` to analyze the response body. The regex found in the body indicates containing contents of the error message.",
  "checker.graphql_sql_injection.regex.test.name": "Custom Regex for DB Error Message",
  "checker.graphql_sql_injection.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "checker.inappropriate_title.exclusion_css_selector.description": "The Excluded CSS Selector indicates a directive to point out the excluded web element.",
  "checker.inappropriate_title.exclusion_css_selector.message": "Enter a CSS Selector in a valid format.",
  "checker.inappropriate_title.exclusion_css_selector.name": "Excluded CSS Selector",
  "checker.inappropriate_title.exclusion_css_selector.placeholder": "ko'])",
  "checker.inappropriate_title.exclusion_xpath.description": "The Excluded XPath indicates a directive to point out the excluded web element.",
  "checker.inappropriate_title.exclusion_xpath.message": "Enter an XPath in a valid format.",
  "checker.inappropriate_title.exclusion_xpath.name": "Excluded XPath",
  "checker.inappropriate_title.exclusion_xpath.placeholder": "Enter an XPath of an excluded web element. (Example: /html/body/div[3])",
  "checker.inappropriate_title.name": "Improper Title",
  "checker.inappropriate_title.remedy": "Need to provide appropriate titles for web pages, frames, and content blocks.",
  "checker.inappropriate_title.target": "The Improper Title checker finds improper titles from web pages, frames, content blocks.",
  "checker.inappropriate_title.vulnerability": "Users can have troubles to understand contents when web page titles are missing. Visually impaired, cognitive impaired, or severe physically handicapped users can have troubles to understand frames with its focus changed when frame titles are missing. Users can have troubles to identify titles and contents, browse between titles, or understand the contents when content block titles are missing. In addition, visually impaired users can have troubles to use screen readers when two or more duplicated special characters are included in the titles.",
  "checker.incompatible_css.name": "Incompatible CSS",
  "checker.incompatible_css.remedy": "At least use CSS attributes supported by all major web browsers.",
  "checker.incompatible_css.target": "The Incompatible CSS checker finds that CSS attributes unsupported by some web browsers are used in pages.",
  "checker.incompatible_css.variant.injectable.description": "Penetration target is where the attack string is placed for analysis during the analysis process. The analyzer replaces the value of the penetration target with the attack string in the request it sent at the time of crawling and resends the request. The more penetration targets, the wider the scope of the analysis, which improves the analysis performance but slows down the analysis. Less penetration targets improve the speed of analysis, but they may narrow the scope of the vulnerability.",
  "checker.incompatible_css.variant.injectable.extras.0.http_headers": "HTTP Header",
  "checker.incompatible_css.variant.injectable.message": "Penetration attack target needs to be one of the selections.",
  "checker.incompatible_css.variant.injectable.name": "Penetration Attack Target",
  "checker.incompatible_css.variant.injectable.placeholder": "Select a penetration attack target.",
  "checker.incompatible_css.vulnerability": "Diverse information can be sent to users due to CSS attribute handling differences of web browsers with unsupported CSS attributes.",
  "checker.incompatible_html.name": "Incompatible HTML",
  "checker.incompatible_html.remedy": "At least use HTML components supported by all major web browsers.",
  "checker.incompatible_html.target": "The Incompatible HTML checker finds that HTML components unsupported by some web browsers are used in pages.",
  "checker.incompatible_html.vulnerability": "Diverse information can be sent to users due to JavaScript handling differences of web browsers with unsupported HTML components.",
  "checker.incompatible_js.name": "Incompatible JavaScript",
  "checker.incompatible_js.remedy": "At least use JavaScript features supported by all major web browsers.",
  "checker.incompatible_js.target": "The Incompatible JavaScript checker finds that JavaScript features unsupported by some web browsers are used in pages.",
  "checker.incompatible_js.variant.injectable.description": "Penetration target is where the attack string is placed for analysis during the analysis process. The analyzer replaces the value of the penetration target with the attack string in the request it sent at the time of crawling and resends the request. The more penetration targets, the wider the scope of the analysis, which improves the analysis performance but slows down the analysis. Less penetration targets improve the speed of analysis, but they may narrow the scope of the vulnerability.",
  "checker.incompatible_js.variant.injectable.extras.0.http_headers": "HTTP Header",
  "checker.incompatible_js.variant.injectable.message": "Penetration attack target needs to be one of the selections.",
  "checker.incompatible_js.variant.injectable.name": "Penetration Attack Target",
  "checker.incompatible_js.variant.injectable.placeholder": "Select a penetration attack target.",
  "checker.incompatible_js.vulnerability": "Diverse information can be sent to users due to JavaScript handling differences of web browsers with unsupported JavaScript features.",
  "checker.incomplete_session_expiration.exclusion_rules.description": "An exclusion rule is a regular expression that is used to define what to exclude from checks.",
  "checker.incomplete_session_expiration.exclusion_rules.message": "Please enter at least 1 regular expression.",
  "checker.incomplete_session_expiration.exclusion_rules.name": "Exclusion Rule",
  "checker.incomplete_session_expiration.exclusion_rules.placeholder": "Please enter a regular expression to use as an exclusion rule.",
  "checker.incomplete_session_expiration.session_id_name.description": "The session ID name is a string used to determine whether the session ID with that name is fixed.",
  "checker.incomplete_session_expiration.session_id_name.message": "Please enter at least 1 string.",
  "checker.incomplete_session_expiration.session_id_name.name": "Session ID Name",
  "checker.incomplete_session_expiration.session_id_name.placeholder": "Please enter a string that corresponds to the session ID name.",
  "checker.invalid_css.name": "Invalid CSS",
  "checker.invalid_css.remedy": "Comply the CSS standard in pages.",
  "checker.invalid_css.target": "The Invalid CSS checker finds contents with CSS standard violations.",
  "checker.invalid_css.variant.injectable.description": "Penetration target is where the attack string is placed for analysis during the analysis process. The analyzer replaces the value of the penetration target with the attack string in the request it sent at the time of crawling and resends the request. The more penetration targets, the wider the scope of the analysis, which improves the analysis performance but slows down the analysis. Less penetration targets improve the speed of analysis, but they may narrow the scope of the vulnerability.",
  "checker.invalid_css.variant.injectable.extras.0.http_headers": "HTTP Header",
  "checker.invalid_css.variant.injectable.message": "Penetration attack target needs to be one of the selections.",
  "checker.invalid_css.variant.injectable.name": "Penetration Attack Target",
  "checker.invalid_css.variant.injectable.placeholder": "Select a penetration attack target.",
  "checker.invalid_css.vulnerability": "Diverse information can be sent to users due to page handling differences of browsers with CSS standard violations in pages.",
  "checker.invalid_html.name": "Invalid HTML",
  "checker.invalid_html.remedy": "Comply the (X)HTML standard in pages.",
  "checker.invalid_html.target": "The Invalid HTML checker finds contents with (X)HTML standard violations in pages.",
  "checker.invalid_html.vulnerability": "Diverse information can be sent to users due to page handling differences of browsers with (X)HTML standard violations in pages.",
  "checker.invalid_link_text.exclusion_css_selector.description": "The Excluded CSS Selector indicates a directive to point out the excluded web element.",
  "checker.invalid_link_text.exclusion_css_selector.message": "Enter a CSS Selector in a valid format.",
  "checker.invalid_link_text.exclusion_css_selector.name": "Excluded CSS Selector",
  "checker.invalid_link_text.exclusion_css_selector.placeholder": "ko'])",
  "checker.invalid_link_text.exclusion_xpath.description": "The Excluded XPath indicates a directive to point out the excluded web element.",
  "checker.invalid_link_text.exclusion_xpath.message": "Enter an XPath in a valid format.",
  "checker.invalid_link_text.exclusion_xpath.name": "Excluded XPath",
  "checker.invalid_link_text.exclusion_xpath.placeholder": "Enter an XPath of an excluded web element. (Example: /html/body/div[3])",
  "checker.invalid_link_text.name": "Invalid Link Text",
  "checker.invalid_link_text.remedy": "Provide link texts to understand the meaning or usage of the link.",
  "checker.invalid_link_text.target": "The Invalid Link Text checker finds links with invalid link texts.",
  "checker.invalid_link_text.vulnerability": "Users can have troubles to predict responses or browsing pages of links when the link texts are invalid.",
  "checker.jmx_rmi_enable.ports.description": "Port number is a number string to connect to a port or attack the port.",
  "checker.jmx_rmi_enable.ports.description ": "The port number can be used as a string to connect to the port or attempt for an attack.",
  "checker.jmx_rmi_enable.ports.message": "Please enter at least 1 string.",
  "checker.jmx_rmi_enable.ports.message ": "Please enter at least 1 string.",
  "checker.jmx_rmi_enable.ports.name": "Port Number",
  "checker.jmx_rmi_enable.ports.name ": "Port Number",
  "checker.jmx_rmi_enable.ports.placeholder": "Please enter a string that corresponds to the port number.",
  "checker.jmx_rmi_enable.ports.placeholder ": "Please enter a string that corresponds to the port number.",
  "checker.local_file_include.attack_strings.description": "An attack string is a string that can be included within an HTTP request sent to the server during an attack.",
  "checker.local_file_include.attack_strings.message": "Please enter at least 1 string.",
  "checker.local_file_include.attack_strings.name": "Attack String",
  "checker.local_file_include.attack_strings.placeholder": "Please enter an attack string. (Example: <script>alert(1);</script>)",
  "checker.local_file_include.detection_rules.description": "Detection rule is a regular expression that is used to check a vulnerability in the server's HTTP response to an attack.",
  "checker.local_file_include.detection_rules.message": "Please enter the correct regular expression format.",
  "checker.local_file_include.detection_rules.name": "Detection rule",
  "checker.local_file_include.detection_rules.placeholder": "Please enter a regular expression to use as a detection rule. (Example: <script>alert(1);</script>)",
  "checker.local_file_include.exclusion_rules.description": "An exclusion rule is a regular expression that is used to define what to exclude from checks.",
  "checker.local_file_include.exclusion_rules.message": "Please enter the correct regular expression format.",
  "checker.local_file_include.exclusion_rules.name": "Exclusion Rule",
  "checker.local_file_include.exclusion_rules.placeholder": "Please enter a regular expression to use as an exclusion rule. (Example: <script>alert(1);</script>)",
  "checker.local_file_include.variant.injectable.description": "Penetration target is where the attack string is placed for analysis during the analysis process. The analyzer replaces the value of the penetration target with the attack string in the request it sent at the time of crawling and resends the request. The more penetration targets, the wider the scope of the analysis, which improves the analysis performance but slows down the analysis. Less penetration targets improve the speed of analysis, but they may narrow the scope of the vulnerability.",
  "checker.local_file_include.variant.injectable.extras.0.query_string": "Query String",
  "checker.local_file_include.variant.injectable.extras.1.form_data": "FORM Data",
  "checker.local_file_include.variant.injectable.extras.2.cookie": "Cookie",
  "checker.local_file_include.variant.injectable.extras.3.http_headers": "HTTP Header",
  "checker.local_file_include.variant.injectable.extras.4.url_path": "URL Path",
  "checker.local_file_include.variant.injectable.message": "Penetration attack target needs to be one of the selections.",
  "checker.local_file_include.variant.injectable.name": "Penetration Attack Target",
  "checker.local_file_include.variant.injectable.placeholder": "Select a penetration attack target.",
  "checker.local_file_include.variant.rpc.description": "RPC attack target indicates a data format where to put attack strings in analysis process. An analyzer sends a request back by inserting an attack string when a request uses one of XML, JSON, DRW, open data protocol, Google Web Toolkit, multipart/form-data format. If this option gets broader, analysis performance will improve because analysis range expands, but the speed will impair. If this option gets diminished, the speed will improve, but analysis performance will impair because analysis range gets narrowed.",
  "checker.local_file_include.variant.rpc.extras.0.multi_part": "multipart/form-data",
  "checker.local_file_include.variant.rpc.extras.1.xml": "XML",
  "checker.local_file_include.variant.rpc.extras.2.json": "JSON",
  "checker.local_file_include.variant.rpc.extras.3.gwt": "Google Web Toolkit",
  "checker.local_file_include.variant.rpc.extras.4.dwr": "DWR",
  "checker.local_file_include.variant.rpc.message": "RPC Attack Target needs to be one of the selections.",
  "checker.local_file_include.variant.rpc.name": "RPC Attack Target",
  "checker.local_file_include.variant.rpc.placeholder": "Select an RPC attack target.",
  "checker.missing_alt_text.exclusion_css_selector.description": "The Excluded CSS Selector indicates a directive to point out the excluded web element.",
  "checker.missing_alt_text.exclusion_css_selector.message": "Enter a CSS Selector in a valid format.",
  "checker.missing_alt_text.exclusion_css_selector.name": "Excluded CSS Selector",
  "checker.missing_alt_text.exclusion_css_selector.placeholder": "ko'])",
  "checker.missing_alt_text.exclusion_xpath.description": "The Excluded XPath indicates a directive to point out the excluded web element.",
  "checker.missing_alt_text.exclusion_xpath.message": "Enter an XPath in a valid format.",
  "checker.missing_alt_text.exclusion_xpath.name": "Excluded XPath",
  "checker.missing_alt_text.exclusion_xpath.placeholder": "Enter an XPath of an excluded web element. (Example: /html/body/div[3])",
  "checker.missing_alt_text.name": "Missing Substituting Texts",
  "checker.missing_alt_text.remedy": "Need to provide substituting texts to understand the meaning or usage of non-text contents.",
  "checker.missing_alt_text.target": "The Missing Substituting Texts checker finds non-text contents that does not provide substituting texts.",
  "checker.missing_alt_text.vulnerability": "Visually impaired users can get incorrect information or cannot get information when substituting texts are missing for non-text contents.",
  "checker.missing_default_language.name": "Default Language Undisplayed",
  "checker.missing_default_language.remedy": "Specify the default languages of pages.",
  "checker.missing_default_language.target": "The Default Language Undisplayed checker finds pages without specifying their default languages.",
  "checker.missing_default_language.vulnerability": "Screen readers cannot acknowledge languages to convert into voices or provide pronunciation to them when the default languages are not specified in pages.",
  "checker.missing_label.exclusion_css_selector.description": "The Excluded CSS Selector indicates a directive to point out the excluded web element.",
  "checker.missing_label.exclusion_css_selector.message": "Enter a CSS Selector in a valid format.",
  "checker.missing_label.exclusion_css_selector.name": "Excluded CSS Selector",
  "checker.missing_label.exclusion_css_selector.placeholder": "ko'])",
  "checker.missing_label.exclusion_xpath.description": "The Excluded XPath indicates a directive to point out the excluded web element.",
  "checker.missing_label.exclusion_xpath.message": "Enter an XPath in a valid format.",
  "checker.missing_label.exclusion_xpath.name": "Excluded XPath",
  "checker.missing_label.exclusion_xpath.placeholder": "Enter an XPath of an excluded web element. (Example: /html/body/div[3])",
  "checker.missing_label.name": "Missing Label",
  "checker.missing_label.remedy": "Provide labels for entry forms.",
  "checker.missing_label.target": "The Missing Label checker finds labels that are not entered to entry forms.",
  "checker.missing_label.vulnerability": "Handicapped users can have troubles to enter materials in entry forms when labels are missing.",
  "checker.no_response_to_missing_input.name": "Missing Entry Unresponded",
  "checker.no_response_to_missing_input.remedy": "Need to provide appropriate responses for missing entries.",
  "checker.no_response_to_missing_input.target": "The Missing Entry Unresponded checker finds missing entries that does not have proper responses.",
  "checker.no_response_to_missing_input.vulnerability": "Without the proper responses, users can have troubles to identify missing entries.",
  "checker.non_standard_technology.name": "Non-standard Techniques",
  "checker.non_standard_technology.remedy": "Do not use the non-standard techniques in pages.",
  "checker.non_standard_technology.target": "The Non-standard Techniques checker finds that non-standard techniques are used.",
  "checker.non_standard_technology.vulnerability": "Users unable to use non-standard techniques can have troubles to apply the techniques when the non-standard techniques are using.",
  "checker.parameter_tamper.variant.injectable.description": "Penetration target is where the attack string is placed for analysis during the analysis process. The analyzer replaces the value of the penetration target with the attack string in the request it sent at the time of crawling and resends the request. The more penetration targets, the wider the scope of the analysis, which improves the analysis performance but slows down the analysis. Less penetration targets improve the speed of analysis, but they may narrow the scope of the vulnerability.",
  "checker.parameter_tamper.variant.injectable.extras.0.query_string": "Query String",
  "checker.parameter_tamper.variant.injectable.extras.1.form_data": "FORM Data",
  "checker.parameter_tamper.variant.injectable.extras.2.cookie": "Cookie",
  "checker.parameter_tamper.variant.injectable.extras.3.http_headers": "HTTP Header",
  "checker.parameter_tamper.variant.injectable.extras.4.url_path": "URL Path",
  "checker.parameter_tamper.variant.injectable.message": "Penetration attack target needs to be one of the selections.",
  "checker.parameter_tamper.variant.injectable.name": "Penetration Attack Target",
  "checker.parameter_tamper.variant.injectable.placeholder": "Select a penetration attack target.",
  "checker.parameter_tamper.variant.rpc.description": "RPC attack target indicates a data format where to put attack strings in analysis process. An analyzer sends a request back by inserting an attack string when a request uses one of XML, JSON, DRW, open data protocol, Google Web Toolkit, multipart/form-data format. If this option gets broader, analysis performance will improve because analysis range expands, but the speed will impair. If this option gets diminished, the speed will improve, but analysis performance will impair because analysis range gets narrowed.",
  "checker.parameter_tamper.variant.rpc.extras.0.multi_part": "multipart/form-data",
  "checker.parameter_tamper.variant.rpc.extras.1.xml": "XML",
  "checker.parameter_tamper.variant.rpc.extras.2.json": "JSON",
  "checker.parameter_tamper.variant.rpc.extras.3.gwt": "Google Web Toolkit",
  "checker.parameter_tamper.variant.rpc.extras.4.dwr": "DWR",
  "checker.parameter_tamper.variant.rpc.message": "RPC Attack Target needs to be one of the selections.",
  "checker.parameter_tamper.variant.rpc.name": "RPC Attack Target",
  "checker.parameter_tamper.variant.rpc.placeholder": "Select an RPC attack target.",
  "checker.passive_custom.detection_rules.description": "Detection rule is a regular expression that is used to check a vulnerability in the server's HTTP response to an attack.",
  "checker.passive_custom.detection_rules.message": "Please enter the correct regular expression format.",
  "checker.passive_custom.detection_rules.name": "Detection rule",
  "checker.passive_custom.detection_rules.placeholder": "Please enter a regular expression to use as a detection rule. (Example: <script>alert(1);</script>)",
  "checker.passive_custom.exclusion_rules.description": "An exclusion rule is a regular expression that is used to define what to exclude from checks.",
  "checker.passive_custom.exclusion_rules.message": "Please enter the correct regular expression format.",
  "checker.passive_custom.exclusion_rules.name": "Exclusion Rule",
  "checker.passive_custom.exclusion_rules.placeholder": "Please enter a regular expression to use as an exclusion rule. (Example: <script>alert(1);</script>)",
  "checker.path_traversal.variant.injectable.description": "Penetration target is where the attack string is placed for analysis during the analysis process. The analyzer replaces the value of the penetration target with the attack string in the request it sent at the time of crawling and resends the request. The more penetration targets, the wider the scope of the analysis, which improves the analysis performance but slows down the analysis. Less penetration targets improve the speed of analysis, but they may narrow the scope of the vulnerability.",
  "checker.path_traversal.variant.injectable.extras.0.query_string": "Query String",
  "checker.path_traversal.variant.injectable.extras.1.form_data": "FORM Data",
  "checker.path_traversal.variant.injectable.extras.2.cookie": "Cookie",
  "checker.path_traversal.variant.injectable.extras.3.http_headers": "HTTP Header",
  "checker.path_traversal.variant.injectable.extras.4.url_path": "URL Path",
  "checker.path_traversal.variant.injectable.message": "Penetration attack target needs to be one of the selections.",
  "checker.path_traversal.variant.injectable.name": "Penetration Attack Target",
  "checker.path_traversal.variant.injectable.placeholder": "Select a penetration attack target.",
  "checker.path_traversal.variant.rpc.description": "RPC attack target indicates a data format where to put attack strings in analysis process. An analyzer sends a request back by inserting an attack string when a request uses one of XML, JSON, DRW, open data protocol, Google Web Toolkit, multipart/form-data format. If this option gets broader, analysis performance will improve because analysis range expands, but the speed will impair. If this option gets diminished, the speed will improve, but analysis performance will impair because analysis range gets narrowed.",
  "checker.path_traversal.variant.rpc.extras.0.multi_part": "multipart/form-data",
  "checker.path_traversal.variant.rpc.extras.1.xml": "XML",
  "checker.path_traversal.variant.rpc.extras.2.json": "JSON",
  "checker.path_traversal.variant.rpc.extras.3.gwt": "Google Web Toolkit",
  "checker.path_traversal.variant.rpc.extras.4.dwr": "DWR",
  "checker.path_traversal.variant.rpc.message": "RPC Attack Target needs to be one of the selections.",
  "checker.path_traversal.variant.rpc.name": "RPC Attack Target",
  "checker.path_traversal.variant.rpc.placeholder": "Select an RPC attack target.",
  "checker.phf_command_execution.variant.injectable.description": "Penetration target is where the attack string is placed for analysis during the analysis process. The analyzer replaces the value of the penetration target with the attack string in the request it sent at the time of crawling and resends the request. The more penetration targets, the wider the scope of the analysis, which improves the analysis performance but slows down the analysis. Less penetration targets improve the speed of analysis, but they may narrow the scope of the vulnerability.",
  "checker.phf_command_execution.variant.injectable.extras.0.query_string": "Query String",
  "checker.phf_command_execution.variant.injectable.extras.1.form_data": "FORM Data",
  "checker.phf_command_execution.variant.injectable.extras.2.cookie": "Cookie",
  "checker.phf_command_execution.variant.injectable.extras.3.http_headers": "HTTP Header",
  "checker.phf_command_execution.variant.injectable.extras.4.url_path": "URL Path",
  "checker.phf_command_execution.variant.injectable.message": "Penetration attack target needs to be one of the selections.",
  "checker.phf_command_execution.variant.injectable.name": "Penetration Attack Target",
  "checker.phf_command_execution.variant.injectable.placeholder": "Select a penetration attack target.",
  "checker.phf_command_execution.variant.rpc.description": "RPC attack target indicates a data format where to put attack strings in analysis process. An analyzer sends a request back by inserting an attack string when a request uses one of XML, JSON, DRW, open data protocol, Google Web Toolkit, multipart/form-data format. If this option gets broader, analysis performance will improve because analysis range expands, but the speed will impair. If this option gets diminished, the speed will improve, but analysis performance will impair because analysis range gets narrowed.",
  "checker.phf_command_execution.variant.rpc.extras.0.multi_part": "multipart/form-data",
  "checker.phf_command_execution.variant.rpc.extras.1.xml": "XML",
  "checker.phf_command_execution.variant.rpc.extras.2.json": "JSON",
  "checker.phf_command_execution.variant.rpc.extras.3.gwt": "Google Web Toolkit",
  "checker.phf_command_execution.variant.rpc.extras.4.dwr": "DWR",
  "checker.phf_command_execution.variant.rpc.message": "RPC Attack Target needs to be one of the selections.",
  "checker.phf_command_execution.variant.rpc.name": "RPC Attack Target",
  "checker.phf_command_execution.variant.rpc.placeholder": "Select an RPC attack target.",
  "checker.predictable_session.exclusion_rules.description": "An exclusion rule is a regular expression that is used to define what to exclude from checks.",
  "checker.predictable_session.exclusion_rules.message": "Please enter at least 1 regular expression.",
  "checker.predictable_session.exclusion_rules.name": "Exclusion Rule",
  "checker.predictable_session.exclusion_rules.placeholder": "Please enter a regular expression to use as an exclusion rule.",
  "checker.predictable_session.session_id_name.description": "The session ID name is a string used to determine whether the session ID with that name is fixed.",
  "checker.predictable_session.session_id_name.message": "Please enter at least 1 string.",
  "checker.predictable_session.session_id_name.name": "Session ID Name",
  "checker.predictable_session.session_id_name.placeholder": "Please enter a string that corresponds to the session ID name.",
  "checker.remote_file_include.variant.injectable.description": "Penetration target is where the attack string is placed for analysis during the analysis process. The analyzer replaces the value of the penetration target with the attack string in the request it sent at the time of crawling and resends the request. The more penetration targets, the wider the scope of the analysis, which improves the analysis performance but slows down the analysis. Less penetration targets improve the speed of analysis, but they may narrow the scope of the vulnerability.",
  "checker.remote_file_include.variant.injectable.extras.0.query_string": "Query String",
  "checker.remote_file_include.variant.injectable.extras.1.form_data": "FORM Data",
  "checker.remote_file_include.variant.injectable.extras.2.cookie": "Cookie",
  "checker.remote_file_include.variant.injectable.extras.3.http_headers": "HTTP Header",
  "checker.remote_file_include.variant.injectable.extras.4.url_path": "URL Path",
  "checker.remote_file_include.variant.injectable.message": "Penetration attack target needs to be one of the selections.",
  "checker.remote_file_include.variant.injectable.name": "Penetration Attack Target",
  "checker.remote_file_include.variant.injectable.placeholder": "Select a penetration attack target.",
  "checker.remote_file_include.variant.rpc.description": "RPC attack target indicates a data format where to put attack strings in analysis process. An analyzer sends a request back by inserting an attack string when a request uses one of XML, JSON, DRW, open data protocol, Google Web Toolkit, multipart/form-data format. If this option gets broader, analysis performance will improve because analysis range expands, but the speed will impair. If this option gets diminished, the speed will improve, but analysis performance will impair because analysis range gets narrowed.",
  "checker.remote_file_include.variant.rpc.extras.0.multi_part": "multipart/form-data",
  "checker.remote_file_include.variant.rpc.extras.1.xml": "XML",
  "checker.remote_file_include.variant.rpc.extras.2.json": "JSON",
  "checker.remote_file_include.variant.rpc.extras.3.gwt": "Google Web Toolkit",
  "checker.remote_file_include.variant.rpc.extras.4.dwr": "DWR",
  "checker.remote_file_include.variant.rpc.message": "RPC Attack Target needs to be one of the selections.",
  "checker.remote_file_include.variant.rpc.name": "RPC Attack Target",
  "checker.remote_file_include.variant.rpc.placeholder": "Select an RPC attack target.",
  "checker.rest_ldap_injection.regex.test.description": "Use the `Custom Regex for LDAP Error Message` to analyze the response body. The regex found in the body indicates containing contents of the error message.",
  "checker.rest_ldap_injection.regex.test.name": "Custom Regex for LDAP Error Message",
  "checker.rest_ldap_injection.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "checker.rest_sql_injection_database_exposure.regex.test.description": "Use the `Custom Regex for DB Error Message` to analyze the response body. The regex found in the body indicates containing contents of the error message.",
  "checker.rest_sql_injection_database_exposure.regex.test.name": "Custom Regex for DB Error Message",
  "checker.rest_sql_injection_database_exposure.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "checker.server_side_include.attack_strings.description": "An attack string is a string that can be included within an HTTP request sent to the server during an attack.",
  "checker.server_side_include.attack_strings.message": "Please enter at least 1 string.",
  "checker.server_side_include.attack_strings.name": "Attack String",
  "checker.server_side_include.attack_strings.placeholder": "Please enter an attack string. (Example: <script>alert(1);</script>)",
  "checker.server_side_include.detection_rules.description": "Detection rule is a regular expression that is used to check a vulnerability in the server's HTTP response to an attack.",
  "checker.server_side_include.detection_rules.message": "Please enter the correct regular expression format.",
  "checker.server_side_include.detection_rules.name": "Detection rule",
  "checker.server_side_include.detection_rules.placeholder": "Please enter a regular expression to use as a detection rule. (Example: <script>alert(1);</script>)",
  "checker.server_side_include.exclusion_rules.description": "An exclusion rule is a regular expression that is used to define what to exclude from checks.",
  "checker.server_side_include.exclusion_rules.message": "Please enter the correct regular expression format.",
  "checker.server_side_include.exclusion_rules.name": "Exclusion Rule",
  "checker.server_side_include.exclusion_rules.placeholder": "Please enter a regular expression to use as an exclusion rule. (Example: <script>alert(1);</script>)",
  "checker.server_side_include.variant.injectable.description": "Penetration target is where the attack string is placed for analysis during the analysis process. The analyzer replaces the value of the penetration target with the attack string in the request it sent at the time of crawling and resends the request. The more penetration targets, the wider the scope of the analysis, which improves the analysis performance but slows down the analysis. Less penetration targets improve the speed of analysis, but they may narrow the scope of the vulnerability.",
  "checker.server_side_include.variant.injectable.extras.0.query_string": "Query String",
  "checker.server_side_include.variant.injectable.extras.1.form_data": "FORM Data",
  "checker.server_side_include.variant.injectable.extras.2.cookie": "Cookie",
  "checker.server_side_include.variant.injectable.extras.3.http_headers": "HTTP Header",
  "checker.server_side_include.variant.injectable.extras.4.url_path": "URL Path",
  "checker.server_side_include.variant.injectable.message": "Penetration attack target needs to be one of the selections.",
  "checker.server_side_include.variant.injectable.name": "Penetration Attack Target",
  "checker.server_side_include.variant.injectable.placeholder": "Select a penetration attack target.",
  "checker.server_side_include.variant.rpc.description": "RPC attack target indicates a data format where to put attack strings in analysis process. An analyzer sends a request back by inserting an attack string when a request uses one of XML, JSON, DRW, open data protocol, Google Web Toolkit, multipart/form-data format. If this option gets broader, analysis performance will improve because analysis range expands, but the speed will impair. If this option gets diminished, the speed will improve, but analysis performance will impair because analysis range gets narrowed.",
  "checker.server_side_include.variant.rpc.extras.0.multi_part": "multipart/form-data",
  "checker.server_side_include.variant.rpc.extras.1.xml": "XML",
  "checker.server_side_include.variant.rpc.extras.2.json": "JSON",
  "checker.server_side_include.variant.rpc.extras.3.gwt": "Google Web Toolkit",
  "checker.server_side_include.variant.rpc.extras.4.dwr": "DWR",
  "checker.server_side_include.variant.rpc.message": "RPC Attack Target needs to be one of the selections.",
  "checker.server_side_include.variant.rpc.name": "RPC Attack Target",
  "checker.server_side_include.variant.rpc.placeholder": "Select an RPC attack target.",
  "checker.session_fixation.exclusion_rules.description": "An exclusion rule is a regular expression that is used to define what to exclude from checks.",
  "checker.session_fixation.exclusion_rules.message": "Please enter at least 1 regular expression.",
  "checker.session_fixation.exclusion_rules.name": "Exclusion Rule",
  "checker.session_fixation.exclusion_rules.placeholder": "Please enter a regular expression to use as an exclusion rule.",
  "checker.session_fixation.session_id_name.description": "The session ID name is a string used to determine whether the session ID with that name is fixed.",
  "checker.session_fixation.session_id_name.message": "Please enter at least 1 string.",
  "checker.session_fixation.session_id_name.name": "Session ID Name",
  "checker.session_fixation.session_id_name.placeholder": "Please enter a string that corresponds to the session ID name.",
  "checker.session_replay.exclusion_rules.description": "An exclusion rule is a regular expression that is used to define what to exclude from checks.",
  "checker.session_replay.exclusion_rules.message": "Please enter at least 1 regular expression.",
  "checker.session_replay.exclusion_rules.name": "Exclusion Rule",
  "checker.session_replay.exclusion_rules.placeholder": "Please enter a regular expression to use as an exclusion rule.",
  "checker.session_replay.session_id_name.description": "The session ID name is a string used to determine whether the session ID with that name is fixed.",
  "checker.session_replay.session_id_name.message": "Please enter at least 1 string.",
  "checker.session_replay.session_id_name.name": "Session ID Name",
  "checker.session_replay.session_id_name.placeholder": "Please enter a string that corresponds to the session ID name.",
  "checker.slow_http_dos.delay.description": "The delay between requests is the time to wait before sending the next request following an earlier sent request. The maximum value is 60,000 ms. The value can be up to 60,000. If this option is set to 0, it is disabled.",
  "checker.slow_http_dos.delay.message": "Enter a number between 0 and 60,000.",
  "checker.slow_http_dos.delay.name": "Delay between Requests",
  "checker.slow_http_dos.delay.placeholder": "Enter the delay between requests in milliseconds (1 / 1000th of a second).",
  "checker.slow_post_attack.contentlength.description": "The length of the request text is the size of the text of the request sent to the server at the time of the attack. The value can be up to 1,048,576. If this option is set to 0, it is disabled.",
  "checker.slow_post_attack.contentlength.message": "Enter a number between 0 and 1,048,576.",
  "checker.slow_post_attack.contentlength.name": "Request Text Length",
  "checker.slow_post_attack.contentlength.placeholder": "Please enter the length of the request text.",
  "checker.unlimited_password_error.variant.injectable.description": "Penetration target is where the attack string is placed for analysis during the analysis process. The analyzer replaces the value of the penetration target with the attack string in the request it sent at the time of crawling and resends the request. The more penetration targets, the wider the scope of the analysis, which improves the analysis performance but slows down the analysis. Less penetration targets improve the speed of analysis, but they may narrow the scope of the vulnerability.",
  "checker.unlimited_password_error.variant.injectable.extras.0.query_string": "Query String",
  "checker.unlimited_password_error.variant.injectable.extras.1.form_data": "FORM Data",
  "checker.unlimited_password_error.variant.injectable.extras.2.cookie": "Cookie",
  "checker.unlimited_password_error.variant.injectable.extras.3.http_headers": "HTTP Header",
  "checker.unlimited_password_error.variant.injectable.extras.4.url_path": "URL Path",
  "checker.unlimited_password_error.variant.injectable.message": "Penetration attack target needs to be one of the selections.",
  "checker.unlimited_password_error.variant.injectable.name": "Penetration Attack Target",
  "checker.unlimited_password_error.variant.injectable.placeholder": "Select a penetration attack target.",
  "checker.unlimited_password_error.variant.rpc.description": "RPC attack target indicates a data format where to put attack strings in analysis process. An analyzer sends a request back by inserting an attack string when a request uses one of XML, JSON, DRW, open data protocol, Google Web Toolkit, multipart/form-data format. If this option gets broader, analysis performance will improve because analysis range expands, but the speed will impair. If this option gets diminished, the speed will improve, but analysis performance will impair because analysis range gets narrowed.",
  "checker.unlimited_password_error.variant.rpc.extras.0.multi_part": "multipart/form-data",
  "checker.unlimited_password_error.variant.rpc.extras.1.xml": "XML",
  "checker.unlimited_password_error.variant.rpc.extras.2.json": "JSON",
  "checker.unlimited_password_error.variant.rpc.extras.3.gwt": "Google Web Toolkit",
  "checker.unlimited_password_error.variant.rpc.extras.4.dwr": "DWR",
  "checker.unlimited_password_error.variant.rpc.message": "RPC Attack Target needs to be one of the selections.",
  "checker.unlimited_password_error.variant.rpc.name": "RPC Attack Target",
  "checker.unlimited_password_error.variant.rpc.placeholder": "Select an RPC attack target.",
  "checker.url_access_control.name": "URL Access Control Failure",
  "checker.url_access_control.remedy": "Users must be verified for URL paths to control direct access to the URL by an unauthorized user.",
  "checker.url_access_control.target": "The URL Access Control Failure checker finds a direct access to a URL by an unauthorized user due to the lack of access controls for the URL exposed with authentication.",
  "checker.url_access_control.vulnerability": "When a URL access required an authentication process is not controlled An attacker can access to the URL with an unauthorized ID. The attacker can use the vulnerability to perform privileged actions, steal information or execute abnormal actions.",
  "checker.weak_password.variant.injectable.description": "Penetration target is where the attack string is placed for analysis during the analysis process. The analyzer replaces the value of the penetration target with the attack string in the request it sent at the time of crawling and resends the request. The more penetration targets, the wider the scope of the analysis, which improves the analysis performance but slows down the analysis. Less penetration targets improve the speed of analysis, but they may narrow the scope of the vulnerability.",
  "checker.weak_password.variant.injectable.extras.0.query_string": "Query String",
  "checker.weak_password.variant.injectable.extras.1.form_data": "FORM Data",
  "checker.weak_password.variant.injectable.extras.2.cookie": "Cookie",
  "checker.weak_password.variant.injectable.extras.3.http_headers": "HTTP Header",
  "checker.weak_password.variant.injectable.extras.4.url_path": "URL Path",
  "checker.weak_password.variant.injectable.message": "Penetration attack target needs to be one of the selections.",
  "checker.weak_password.variant.injectable.name": "Penetration Attack Target",
  "checker.weak_password.variant.injectable.placeholder": "Select a penetration attack target.",
  "checker.weak_password.variant.rpc.description": "RPC attack target indicates a data format where to put attack strings in analysis process. An analyzer sends a request back by inserting an attack string when a request uses one of XML, JSON, DRW, open data protocol, Google Web Toolkit, multipart/form-data format. If this option gets broader, analysis performance will improve because analysis range expands, but the speed will impair. If this option gets diminished, the speed will improve, but analysis performance will impair because analysis range gets narrowed.",
  "checker.weak_password.variant.rpc.extras.0.multi_part": "multipart/form-data",
  "checker.weak_password.variant.rpc.extras.1.xml": "XML",
  "checker.weak_password.variant.rpc.extras.2.json": "JSON",
  "checker.weak_password.variant.rpc.extras.3.gwt": "Google Web Toolkit",
  "checker.weak_password.variant.rpc.extras.4.dwr": "DWR",
  "checker.weak_password.variant.rpc.message": "RPC Attack Target needs to be one of the selections.",
  "checker.weak_password.variant.rpc.name": "RPC Attack Target",
  "checker.weak_password.variant.rpc.placeholder": "Select an RPC attack target.",
  "checker.xitami_information_leakage.variant.injectable.description": "Penetration target is where the attack string is placed for analysis during the analysis process. The analyzer replaces the value of the penetration target with the attack string in the request it sent at the time of crawling and resends the request. The more penetration targets, the wider the scope of the analysis, which improves the analysis performance but slows down the analysis. Less penetration targets improve the speed of analysis, but they may narrow the scope of the vulnerability.",
  "checker.xitami_information_leakage.variant.injectable.extras.0.query_string": "Query String",
  "checker.xitami_information_leakage.variant.injectable.extras.1.form_data": "FORM Data",
  "checker.xitami_information_leakage.variant.injectable.extras.2.cookie": "Cookie",
  "checker.xitami_information_leakage.variant.injectable.extras.3.http_headers": "HTTP Header",
  "checker.xitami_information_leakage.variant.injectable.extras.4.url_path": "URL Path",
  "checker.xitami_information_leakage.variant.injectable.message": "Penetration attack target needs to be one of the selections.",
  "checker.xitami_information_leakage.variant.injectable.name": "Penetration Attack Target",
  "checker.xitami_information_leakage.variant.injectable.placeholder": "Select a penetration attack target.",
  "checker.xitami_information_leakage.variant.rpc.description": "RPC attack target indicates a data format where to put attack strings in analysis process. An analyzer sends a request back by inserting an attack string when a request uses one of XML, JSON, DRW, open data protocol, Google Web Toolkit, multipart/form-data format. If this option gets broader, analysis performance will improve because analysis range expands, but the speed will impair. If this option gets diminished, the speed will improve, but analysis performance will impair because analysis range gets narrowed.",
  "checker.xitami_information_leakage.variant.rpc.extras.0.multi_part": "multipart/form-data",
  "checker.xitami_information_leakage.variant.rpc.extras.1.xml": "XML",
  "checker.xitami_information_leakage.variant.rpc.extras.2.json": "JSON",
  "checker.xitami_information_leakage.variant.rpc.extras.3.gwt": "Google Web Toolkit",
  "checker.xitami_information_leakage.variant.rpc.extras.4.dwr": "DWR",
  "checker.xitami_information_leakage.variant.rpc.message": "RPC Attack Target needs to be one of the selections.",
  "checker.xitami_information_leakage.variant.rpc.name": "RPC Attack Target",
  "checker.xitami_information_leakage.variant.rpc.placeholder": "Select an RPC attack target.",
  "checker.xss.variant.injectable.description": "Penetration target is where the attack string is placed for analysis during the analysis process. The analyzer replaces the value of the penetration target with the attack string in the request it sent at the time of crawling and resends the request. The more penetration targets, the wider the scope of the analysis, which improves the analysis performance but slows down the analysis. Less penetration targets improve the speed of analysis, but they may narrow the scope of the vulnerability.",
  "checker.xss.variant.injectable.extras.0.query_string": "Query String",
  "checker.xss.variant.injectable.extras.1.form_data": "FORM Data",
  "checker.xss.variant.injectable.extras.2.cookie": "Cookie",
  "checker.xss.variant.injectable.extras.3.http_headers": "HTTP Header",
  "checker.xss.variant.injectable.extras.4.url_path": "URL Path",
  "checker.xss.variant.injectable.message": "Penetration attack target needs to be one of the selections.",
  "checker.xss.variant.injectable.name": "Penetration Attack Target",
  "checker.xss.variant.injectable.placeholder": "Select a penetration attack target.",
  "checker.xss.variant.rpc.description": "RPC attack target indicates a data format where to put attack strings in analysis process. An analyzer sends a request back by inserting an attack string when a request uses one of XML, JSON, DRW, open data protocol, Google Web Toolkit, multipart/form-data format. If this option gets broader, analysis performance will improve because analysis range expands, but the speed will impair. If this option gets diminished, the speed will improve, but analysis performance will impair because analysis range gets narrowed.",
  "checker.xss.variant.rpc.extras.0.multi_part": "multipart/form-data",
  "checker.xss.variant.rpc.extras.1.xml": "XML",
  "checker.xss.variant.rpc.extras.2.json": "JSON",
  "checker.xss.variant.rpc.extras.3.gwt": "Google Web Toolkit",
  "checker.xss.variant.rpc.extras.4.dwr": "DWR",
  "checker.xss.variant.rpc.message": "RPC Attack Target needs to be one of the selections.",
  "checker.xss.variant.rpc.name": "RPC Attack Target",
  "checker.xss.variant.rpc.placeholder": "Select an RPC attack target.",
  "clarifyCalculation.description": "Suspicious calculation. Please use parentheses to clarify the code.",
  "clarifyStatement.description": "Ineffective statement similar to *A++. Check if it is intended to use (*A)++.",
  "comchk.BAD_BLOCK_COMMENT.invalid_line": "Start or End of block comment is not match the rule.",
  "comchk.BAD_COMMENT.TYPE.add_line": "Add [{1}] at line \"{0}\"",
  "comchk.BAD_COMMENT.TYPE.comment_number": "The number of comment [{0}]",
  "comchk.BAD_COMMENT.TYPE.delete_line": "Delete line \"{0}\"",
  "comchk.BAD_COMMENT.TYPE.invalid_line": "Invalid line \"{0}\" [{1}]",
  "comchk.BAD_COMMENT.TYPE.no_comment": "No comment for [{0}]",
  "comchk.BAD_COMMENT.TYPE.not_exist": "The type comment do not exist. Add a new comment using the comment sample below.",
  "comchk.BAD_COMMENT.TYPE.replace_line": "Replace line \"{0}\"  using the line sample below.",
  "comchk.BAD_INDENTATION.COMMENT.invalid_line": "The indentation of the comment should be {0} column, but now it is {1} column.",
  "comchk.BAD_STRING_IN_COMMENT.invalid_line": "The comment has a bad style string.",
  "comchk.CLASS_COMMENT.add_line": "Add [{1}] at line \"{0}\"",
  "comchk.CLASS_COMMENT.comment_number": "The number of comment [{0}]",
  "comchk.CLASS_COMMENT.delete_line": "Delete line \"{0}\"",
  "comchk.CLASS_COMMENT.invalid_line": "Invalid line \"{0}\" [{1}]",
  "comchk.CLASS_COMMENT.no_comment": "No comment for [{0}]",
  "comchk.CLASS_COMMENT.not_exist": "The class comment do not exist. Add a new comment using the comment sample below.",
  "comchk.CLASS_COMMENT.replace_line": "Replace line \"{0}\"  using the line sample below.",
  "comchk.COMMENT_IN_CODE.invalid_line": "Comment in the middle of codes makes mess around.",
  "comchk.COMMON.example": "{0}",
  "comchk.EACH_COMMENT_LINE_LENGTH.invalid_line": "This length of comment is improper.",
  "comchk.FIELD_COMMENT.add_line": "Add [{1}] at line \"{0}\"",
  "comchk.FIELD_COMMENT.comment_number": "The number of comment [{0}]",
  "comchk.FIELD_COMMENT.delete_line": "Delete line \"{0}\"",
  "comchk.FIELD_COMMENT.invalid_line": "Invalid line \"{0}\" [{1}]",
  "comchk.FIELD_COMMENT.no_comment": "No comment for [{0}]",
  "comchk.FIELD_COMMENT.not_exist": "The variable comment do not exist. Add a new comment using the comment sample below.",
  "comchk.FIELD_COMMENT.replace_line": "Replace line \"{0}\"  using the line sample below.",
  "comchk.FILE_COMMENT.add_line": "The length of this line is longer than {0}",
  "comchk.FILE_COMMENT.comment_number": "The number of comment [{0}]",
  "comchk.FILE_COMMENT.delete_line": "Delete line \"{0}\"",
  "comchk.FILE_COMMENT.invalid_line": "Invalid line \"{0}\" [{1}]",
  "comchk.FILE_COMMENT.no_comment": "No comment for [{0}]",
  "comchk.FILE_COMMENT.not_exist": "The file comment do not exist. Add a new comment using the comment sample below.",
  "comchk.FILE_COMMENT.replace_line": "Replace line \"{0}\"  using the line sample below.",
  "comchk.FUNCTION_COMMENT.add_line": "Add [{1}] at line \"{0}\"",
  "comchk.FUNCTION_COMMENT.comment_number": "The number of comment [{0}]",
  "comchk.FUNCTION_COMMENT.delete_line": "Delete line \"{0}\"",
  "comchk.FUNCTION_COMMENT.invalid_line": "Invalid line \"{0}\" [{1}]",
  "comchk.FUNCTION_COMMENT.no_comment": "No comment for [{0}]",
  "comchk.FUNCTION_COMMENT.not_exist": "The function comment do not exist. Add a new comment using the comment sample below.",
  "comchk.FUNCTION_COMMENT.replace_line": "Replace line \"{0}\"  using the line sample below.",
  "comchk.GENERAL_COMMENT.add_line": "Add [{1}] at line \"{0}\"",
  "comchk.GENERAL_COMMENT.comment_number": "The number of comment [{0}]",
  "comchk.GENERAL_COMMENT.delete_line": "Delete line \"{0}\"",
  "comchk.GENERAL_COMMENT.invalid_line": "Invalid line \"{0}\" [{1}]",
  "comchk.GENERAL_COMMENT.no_comment": "No comment for [{0}]",
  "comchk.GENERAL_COMMENT.not_exist": "The general comment do not exist. Add a new comment using the comment sample below.",
  "comchk.GENERAL_COMMENT.replace_line": "Replace line \"{0}\"  using the line sample below.",
  "comchk.METHOD_COMMENT.add_line": "Add [{1}] at line \"{0}\"",
  "comchk.METHOD_COMMENT.comment_number": "The number of comment [{0}]",
  "comchk.METHOD_COMMENT.delete_line": "Delete line \"{0}\"",
  "comchk.METHOD_COMMENT.invalid_line": "Invalid line \"{0}\" [{1}]",
  "comchk.METHOD_COMMENT.no_comment": "No comment for [{0}]",
  "comchk.METHOD_COMMENT.not_exist": "The method comment do not exist. Add a new comment using the comment sample below.",
  "comchk.METHOD_COMMENT.replace_line": "Replace line \"{0}\"  using the line sample below.",
  "comchk.MISSING_BLANK_LINE_BEFORE_COMMENT.invalid_line": "A blank line is missing before the comment.",
  "comchk.PACKAGE_COMMENT.add_line": "Add [{1}] at line \"{0}\"",
  "comchk.PACKAGE_COMMENT.comment_number": "The number of comment [{0}]",
  "comchk.PACKAGE_COMMENT.delete_line": "Delete line \"{0}\"",
  "comchk.PACKAGE_COMMENT.invalid_line": "Invalid line \"{0}\" [{1}]",
  "comchk.PACKAGE_COMMENT.no_comment": "No comment for [{0}]",
  "comchk.PACKAGE_COMMENT.not_exist": "The package comment do not exist. Add a new comment using the comment sample below.",
  "comchk.PACKAGE_COMMENT.replace_line": "Replace line \"{0}\"  using the line sample below.",
  "comchk.PASSWORD_IN_COMMENT.invalid_line": "Password(s) is(are) used in the comment",
  "comchk.SINGLE_OR_MULTI_COMMENT.invalid_line": "Only use single line comment, if rule option is selected.",
  "comchk.SOURCECODE_IN_COMMENT.invalid_line": "A source code sting is found in comments.",
  "comchk.TOO_LONG_SOURCE_CODE_BEFORE_COMMENT.invalid_line": "Source code is too long to write comments.",
  "commaSeparatedReturn.description": "Comma is used in return statement. The comma can easily be misread as a ;.",
  "common.browser.add_extensions.description": "Import Browser Extension specifies a path to the browser extension to be imported while the browser is on. The extension needs to be a crx file or a directory.",
  "common.browser.add_extensions.message": "A file is required in a format of crx file or directory.",
  "common.browser.add_extensions.name": "Import Browser Extension",
  "common.browser.add_extensions.placeholder": "Not Applicable",
  "common.browser.alert_accept.description": "Check Warning Message indicates to click a check button on a warning message during crawling or analysis.",
  "common.browser.alert_accept.message": "Select 'ON' or 'OFF.'",
  "common.browser.alert_accept.name": "Check Warning Message",
  "common.browser.alert_accept.placeholder": "Not Applicable",
  "common.browser.block_element_threshold.description": "Number of Event Errors option indicates the number of errors to stop executing events of the HTML elements when the errors occur on the events.",
  "common.browser.block_element_threshold.message": "Enter a number between 1 and 9999.",
  "common.browser.block_element_threshold.name": "Number of Event Errors",
  "common.browser.block_element_threshold.placeholder": "Not Applicable",
  "common.browser.block_url_threshold.description": "Number of URL Errors option indicates the number of errors to restrict the access on certain URL due to a lack of the response or timeout during the access. If you set the option to 0, the option does not restrict the access regardless how many errors occur during the access.",
  "common.browser.block_url_threshold.message": "Enter a number between 0 and 9999.",
  "common.browser.block_url_threshold.name": "Number of URL Errors",
  "common.browser.block_url_threshold.placeholder": "Enter a number.",
  "common.browser.disable_go_url_event.description": "Disable URL Move option restricts the browser not to move URLs. If you set the option to 'ON', the browser is not allowed to move URLs and click HTML elements enlisted in Alternative Click of URL Move (XPath) option.",
  "common.browser.disable_go_url_event.message": "Select 'ON' or 'OFF.'",
  "common.browser.disable_go_url_event.name": "Disable URL Move",
  "common.browser.disable_go_url_event.placeholder": "Not Applicable",
  "common.browser.display.description": "Show Browser option is to show browser in URL crawling. When you set this option into 'ON', then, you can check a browser collecting URL on your screen. Which can easily check URL crawling process normally operating.",
  "common.browser.display.message": "Select 'ON' or 'OFF.'",
  "common.browser.display.name": "Show browser",
  "common.browser.display.placeholder": "Not Applicable",
  "common.browser.display_login_directly.description": "Browser Manual Login option opens the inner browser, shows it to the users, and then allows users to manually login to the web application for the analysis.",
  "common.browser.display_login_directly.message": "Select 'ON' or 'OFF.'",
  "common.browser.display_login_directly.name": "Browser Manual Login",
  "common.browser.display_login_directly.placeholder": "Not Applicable",
  "common.browser.display_login_directly_time.description": "Browser Manual Login Time specifies time to start the analysis while entering information of the manual login on the browser. The option defaults to 120 seconds.",
  "common.browser.display_login_directly_time.message": "Enter a number between 30 and 600.",
  "common.browser.display_login_directly_time.name": "Browser Manual Login Time",
  "common.browser.display_login_directly_time.placeholder": "Enter a time. (unit: second)",
  "common.browser.display_login_in_server.description": "Server-side Manual Login option opens the browser of the server, starts SSO authentication or two-step verification, and then sends its cookies to the browser for the analysis.",
  "common.browser.display_login_in_server.message": "Select 'ON' or 'OFF.'",
  "common.browser.display_login_in_server.name": "Server-side Manual Login",
  "common.browser.display_login_in_server.placeholder": "Not Applicable",
  "common.browser.ecl_per_page.description": "Additional Event from Event Clipboard File is a list of paths to event clipboard files (.ecl) that record additional events to perform on the browser after performing events to reach a page. When you need to perform certain events on a certain page, enter the paths to the files that you have recorded with the Event Clipboard. Then, the browser will read those files and perform the events in the Event Clipboard after reaching the page.",
  "common.browser.ecl_per_page.message": "An ecl file is required.",
  "common.browser.ecl_per_page.name": "Additional Event from Event Clipboard File",
  "common.browser.ecl_per_page.placeholder": "Not Applicable",
  "common.browser.event_load_timeout.description": "Event-performing target loading timeout indicates a time to wait for loading a target that performs the event.",
  "common.browser.event_load_timeout.message": "Enter a number between 0 and 600,000.",
  "common.browser.event_load_timeout.name": "Event-performing Target Loading Timeout",
  "common.browser.event_load_timeout.placeholder": "Enter a time. (unit: ms)",
  "common.browser.ignore_get_after_seed.description": "Ignored Browser GET Request option indicates a list of URL strings that the browser does not send the GET request after the browser accesses to the project URL when one or more strings of the list is included to the URL. The option is not case-sensitive.",
  "common.browser.ignore_get_after_seed.message": "Please enter strings only.",
  "common.browser.ignore_get_after_seed.name": "Ignored Browser GET Request",
  "common.browser.ignore_get_after_seed.placeholder": "Please enter a string. Press Enter key to split items.",
  "common.browser.ignore_get_handling.description": "Sub for Ignored GET Request option indicates an action that needs to be carried out instead of the ignored GET request. 'Go Back' means to go back to the previous page, 'Refresh' means to refresh the page, 'Failure Page' shows an failed message page, 'Change to POST' means to convert the ignored GET request to POST.",
  "common.browser.ignore_get_handling.extras.0.BACK": "Go Back",
  "common.browser.ignore_get_handling.extras.0.back": "Go Back",
  "common.browser.ignore_get_handling.extras.1.REFRESH": "Refresh",
  "common.browser.ignore_get_handling.extras.1.refresh": "Refresh",
  "common.browser.ignore_get_handling.extras.2.FAIL": "Failure Page",
  "common.browser.ignore_get_handling.extras.2.fail": "Failure Page",
  "common.browser.ignore_get_handling.extras.3.CHANGE_POST": "Change POST",
  "common.browser.ignore_get_handling.extras.3.change_post": "Change to POST",
  "common.browser.ignore_get_handling.message": "Select one between Go Back, Refresh, Failure Page, Change to POST.",
  "common.browser.ignore_get_handling.name": "Sub for Ignored GET Request",
  "common.browser.ignore_get_handling.placeholder": "Not Applicable",
  "common.browser.ignore_post_after_seed.description": "Ignored Browser POST Request option indicates a list of URL strings that the browser does not send the POST request after the browser accesses to the project URL when one or more strings of the list is included to the URL. The option is not case-sensitive.",
  "common.browser.ignore_post_after_seed.message": "Please enter strings only.",
  "common.browser.ignore_post_after_seed.name": "Ignored Browser POST Request",
  "common.browser.ignore_post_after_seed.placeholder": "Please enter a string. Press Enter key to split items.",
  "common.browser.initial_timeout.description": "Browser timeout indicates a time to wait for generating DOM after an event is performed by a browser. If this option is set to low, the URL crawling speed will be improved, but the performance can be impaired because dynamically imported resources can be missing. On the other hand, if this option is set to high, the URL crawling speed will get slow, but the performance can be improved because dynamically imported resources will not be missed.",
  "common.browser.initial_timeout.message": "Enter a number between 0 and 10,000.",
  "common.browser.initial_timeout.name": "Browser Timeout To First Byte",
  "common.browser.initial_timeout.placeholder": "Enter a time. (unit: ms)",
  "common.browser.limit_alert_handling.description": "Number of Warning Message indicates the number of times to handle a repeated warning message. This option defaults to 3.",
  "common.browser.limit_alert_handling.message": "Enter a number between 0 and 10.",
  "common.browser.limit_alert_handling.name": "Number of Warning Message",
  "common.browser.limit_alert_handling.placeholder": "Enter a request count.",
  "common.browser.prompt_text.description": "Prompt Input option indicates a value to be entered in the prompt input during analysis.",
  "common.browser.prompt_text.message": "Please enter strings only.",
  "common.browser.prompt_text.name": "Prompt Input",
  "common.browser.prompt_text.placeholder": "Please enter a value.",
  "common.browser.replace_go_url_by_click.description": "URL Move Substitute (XPath) option shows a list of HTML elements to click instead of moving its URL when Disable URL Move option is set to 'ON.' Click the events of the HTML elements entered in the option in a row.",
  "common.browser.replace_go_url_by_click.message": "Enter an XPath.",
  "common.browser.replace_go_url_by_click.name": "URL Move Substitute (XPath)",
  "common.browser.replace_go_url_by_click.placeholder": "Please enter an XPath to add. Press Enter key to split items.",
  "common.browser.selection.description": "Browser indicates a browser used for analyzing. Chromium is an open-source version of Chrome, and PhantomJS is a headless browser operating without a screen. Chromium supports the latest web technologies provided by Chrome browser. PhantomJS steadily works in old systems where Chromium does not.",
  "common.browser.selection.extras.0.PHANTOMJS": "PhantomJS",
  "common.browser.selection.extras.0.phantomjs": "PhantomJS",
  "common.browser.selection.extras.1.CHROMIUM": "Chromium",
  "common.browser.selection.extras.1.chromium": "Chromium",
  "common.browser.selection.message": "Now, support PhantomJS and Chromium only.",
  "common.browser.selection.name": "Browser",
  "common.browser.selection.placeholder": "Not Applicable",
  "common.browser.storage_clear.description": "Reset Browser Storage clears out Session and Locale storages before the browser visits a certain web page. If you set the option to ‘ON’ the browser removes the storages whenever it visits a page.",
  "common.browser.storage_clear.message": "Select ‘ON’ or ‘OFF’",
  "common.browser.storage_clear.name": "Reset Browser Storage",
  "common.browser.storage_clear.placeholder": "Not Applicable",
  "common.browser.turn_off.description": "Browser Off indicates to turn off a browser. Set this option to 'ON,' then the browser will be turned off and only HTTP client will collect information. Because the browser is off, you cannot collect and analyze with the browser, but the speed gets improved by analyzing with HTTP client only.",
  "common.browser.turn_off.message": "Select 'ON' or 'OFF.'",
  "common.browser.turn_off.name": "Browser Off",
  "common.browser.turn_off.placeholder": "Not Applicable",
  "common.client.connect_timeout.description": "Connection Timeout indicates a maximum time to wait for reading or writing a target web application in URL crawling. If this option is set to high, URL crawling process will normally proceed even a web application connection is delayed due to network environments. Yet, URL crawling cancel can be delayed as well even the target web application server is disconnected. If this option is set to low, the speed gets improved. However, URL crawling process cannot normally proceed when a connection to the target web application server is delayed. When the option value set to -1, it continues to wait for connection completed. (unit: ms)",
  "common.client.connect_timeout.message": "Enter a number between -1 and 30,000.",
  "common.client.connect_timeout.name": "Connection Timeout",
  "common.client.connect_timeout.placeholder": "Enter a time. (unit: ms)",
  "common.client.ignore_get.description": "Ignored HTTP Client GET Request option indicates a list of URL strings that the HTTP client does not send the GET request when one or more strings of the list is included to the URL. When a certain URL contains one of the list items, the HTTP client will not send the GET request. The option is not case-sensitive.",
  "common.client.ignore_get.message": "Please enter strings only.",
  "common.client.ignore_get.name": "Ignored HTTP Client GET Request",
  "common.client.ignore_get.placeholder": "Please enter a string. Press Enter key to split items.",
  "common.client.ignore_post.description": "Ignored HTTP Client POST Request option indicates a list of URL strings that the HTTP client does not send the POST request when one or more strings of the list is included to the URL. When a certain URL contains one of the list items, the HTTP client will not send the POST request. The option is not case-sensitive.",
  "common.client.ignore_post.message": "Please enter strings only.",
  "common.client.ignore_post.name": "Ignored HTTP Client POST Request",
  "common.client.ignore_post.placeholder": "Please enter a string. Press Enter key to split items.",
  "common.client.read_timeout.description": "Reading Timeout indicates the maximum time to wait for a response from a target web application due to server issues or network environments. If this option is set to high, URL crawling process will normally proceed even a response is delayed due to network environments. Yet, URL crawling can be delayed as well even the target web application server has an issue or its response is missing. If this option is set to low, the speed gets improved. However, URL crawling process cannot normally proceed when the target web application response is delayed. When the option value set to -1, it continues to wait for the response. (unit: ms)",
  "common.client.read_timeout.message": "Enter a number between -1 and 30,000.",
  "common.client.read_timeout.name": "Reading Timeout",
  "common.client.read_timeout.placeholder": "Enter a time. (unit: ms)",
  "common.client.write_timeout.description": "Writing Timeout indicates the maximum time to wait for a request of target web application in URL crawling due to server issues or network environments. If this option is set to high, URL crawling process will normally proceed even a request is delayed due to network environments. Yet, URL crawling can be delayed as well because the target web application server has an issue or its request is missing. If this option is set to low, the speed gets improved. However, URL crawling process cannot normally proceed when the request delivery is delayed. When the option value set to -1, it continues to wait for the request. (unit: ms)",
  "common.client.write_timeout.message": "Enter a number between -1 and 30,000.",
  "common.client.write_timeout.name": "Writing Timeout",
  "common.client.write_timeout.placeholder": "Enter a time. (unit: ms)",
  "common.compare.dom_without_text.description": "If you set this option to `ON`, plain texts will be excluded while comparing the DOM in the crawling and analyzing.",
  "common.compare.dom_without_text.message": "Select 'ON' or 'OFF.'",
  "common.compare.dom_without_text.name": "Compare DOM after Excluding Text",
  "common.compare.dom_without_text.placeholder": "Not Applicable",
  "common.compare.dom_without_text_attributes.description": "If this option is set to `ON`, the tag attributes and plain texts will be excluded and the tag name will only be used while comparing the DOM.",
  "common.compare.dom_without_text_attributes.message": "Select 'ON' or 'OFF.'",
  "common.compare.dom_without_text_attributes.name": "Compare DOM after Excluding Text and Tag Attributes",
  "common.compare.dom_without_text_attributes.placeholder": "Not Applicable",
  "common.compare.ignore_dom_attributes.description": "Property to Ignore in DOM Comparison indicates properties to ignore in URL crawling process when comparing DOM changes. Enter an property name in this option which will be ignored in DOM comparison between before and after event execution. For example, when you enter 'isopen' in this option, changes of isopen property value will be ignored when changed from false to true in a tag for sub-menu.",
  "common.compare.ignore_dom_attributes.message": "Please enter strings only.",
  "common.compare.ignore_dom_attributes.name": "Property to ignore in DOM comparison",
  "common.compare.ignore_dom_attributes.placeholder": "Enter a property name to ignore.",
  "common.compare.ignore_url_anchor.description": "URL Comparison without Anchor(#) indicates to ignore the URL anchors(#) in URL comparison. If this option is set to 'ON', URLs with different URL anchors will be ignored. For example, in case of http://localhost:8080/test#11000, http://localhost:8080/test#12000, and http://localhost:8080/test#13000, compare the URLs without anchors(#), such as http://localhost:8080/test, and eliminate duplication. If this option is set to 'OFF,' URLs will be compared with the anchors(#).",
  "common.compare.ignore_url_anchor.message": "Select 'ON' or 'OFF.'",
  "common.compare.ignore_url_anchor.name": "URL Comparison without Anchor(#)",
  "common.compare.ignore_url_anchor.placeholder": "Not Applicable",
  "common.compare.ignore_url_query_value.description": "URL Comparison without Query option specifies that the queries of URLs need to be considered for comparing the new URLs with the already detected URLs in crawling. If the option is set to **ON**, the queries of the URLs will be removed from the comparison. For example, removing queries from `http://test.com?p=1&q=2` and `http://test.com?q=4&p=5` makes both URLs to be converted as `http://test.com?p=&q=`, and identified as a same URL. If this option is set to **OFF**, the URLs with different queries will be identified as different URLs.",
  "common.compare.ignore_url_query_value.message": "Select 'ON' or 'OFF.'",
  "common.compare.ignore_url_query_value.name": "Query Removed in URL Comparison",
  "common.compare.ignore_url_query_value.placeholder": "Not Applicable",
  "common.connect.client_selection.description": "Crawling Client is a list of clients to connect to the target web application for crawling. Sparrow DAST can connect to the target application by using an HTTP client or browser. When \"HTTP Client\" is selected from this option, the HTTP request message will be sent from the crawler to the HTTP client to perform crawling. On the other hand, if \"Browser\" is selected, chromium will be run by the crawler in headless mode for crawling.",
  "common.connect.client_selection.extras.0.HTTP_CLIENT": "HTTP Client",
  "common.connect.client_selection.extras.0.http_client": "HTTP Client",
  "common.connect.client_selection.extras.1.BROWSER": "Browser",
  "common.connect.client_selection.extras.1.browser": "Browser",
  "common.connect.client_selection.message": "Select one between HTTP Client and Browser.",
  "common.connect.client_selection.name": "Crawling Client",
  "common.connect.client_selection.placeholder": "Not Applicable",
  "common.connect.http_version.description": "HTTP version indicates an HTTP version used to request in URL crawling process. HTTP requests are configured based on their HTTP version. When a target web application does not support HTTP/1.1 version, you need to change the version into a compatible one to normally crawling URLs.",
  "common.connect.http_version.extras.0.HTTP/1.1": "HTTP version 1.1",
  "common.connect.http_version.extras.0.http/1.1": "HTTP version 1.1",
  "common.connect.http_version.extras.1.HTTP/1.0": "HTTP version 1.0",
  "common.connect.http_version.extras.1.http/1.0": "HTTP version 1.0",
  "common.connect.http_version.extras.2.HTTP/0.9": "HTTP version 0.9",
  "common.connect.http_version.extras.2.http/0.9": "HTTP version 0.9",
  "common.connect.http_version.message": "Now, HTTP/0.9, HTTP/1.0, HTTP/1.1 are supported only.",
  "common.connect.http_version.name": "HTTP version",
  "common.connect.http_version.placeholder": "Not Applicable",
  "common.connect.user_agent.description": "User agent is browser information to arrange to an HTTP request headers.",
  "common.connect.user_agent.message": "This field cannot be emptied.",
  "common.connect.user_agent.name": "User Agent",
  "common.connect.user_agent.placeholder": "Enter a user agent.",
  "common.limit.url.length.description": "The URL Length indicates the maximum length of URLs for crawling and analyzing. A URL length longer than the specified value cannot be crawled and analyzed. If this option is set to -1, the url length will not be restricted.",
  "common.limit.url.length.message": "Enter a number between -1 and 50,000.",
  "common.limit.url.length.name": "URL Length",
  "common.limit.url.length.placeholder": "Enter the length of the url.",
  "common.metric.measure.description": "Enable Engine Data sets to measure actions in an engine: what kind of actions, how often, and how long time.",
  "common.metric.measure.message": "Select 'ON' or 'OFF.'",
  "common.metric.measure.name": "Enable Engine Data",
  "common.metric.measure.placeholder": "Not Applicable",
  "common.records.login.description": "**Log-in Record File** indicates to conduct recorded actions when crawling or analyzing carries out at the exact URLs started recording in Event Clipboard. This allows to pass authentication for sign-in page.",
  "common.records.login.message": "Log-in record file needs to be an .ecl file recorded with Sparrow DAST Event Clipboard or a .side file recorded with Selenium IDE.",
  "common.records.login.name": "Log-in record file",
  "common.records.login.placeholder": "Not Applicable",
  "common.records.logout.description": "If you need to perform a logout during crawling or analyzing, this will **replay user actions as recorded in the attached file**.",
  "common.records.logout.message": "Log-in record file needs to be an .ecl file recorded with Sparrow DAST Event Clipboard or a .side file recorded with Selenium IDE.",
  "common.records.logout.name": "Log-out record file",
  "common.records.logout.placeholder": "Not Applicable",
  "common.records.sub.login.description": "If you need to perform a sub log-in during crawling or analyzing, this will **replay user actions as recorded in the attached file**.",
  "common.records.sub.login.message": "Sub Log-in record file needs to be an .ecl file recorded with Sparrow DAST Event Clipboard or a .side file recorded with Selenium IDE.",
  "common.records.sub.login.name": "Sub log-in record file",
  "common.records.sub.login.placeholder": "Not Applicable",
  "common.request.enable_no_cache.description": "Enable No-cache Header option sets no-cache value to the Pragma and Cache-Control header from the HTTP requests used for the analysis.",
  "common.request.enable_no_cache.message": "Select 'ON' or 'OFF.'",
  "common.request.enable_no_cache.name": "Enable No-cache Header",
  "common.request.enable_no_cache.placeholder": "Not Applicable",
  "common.request.max_redirect.description": "Max Request Redirections indicates the number of temporary request messages created for a redirection when Request redirection option is set to 'On.' For example, when you are redirected 10 times for reaching a certain URL. If this option is set to less than 10, you cannot reach to the URL. If more than 10, you can reach to the URL. So, if this option is set to high, the performance can improve because the number of redirection is high, but the speed will impair. On the other hand, if this option is set to low, the performance will impair because the number of redirection is low, but the speed will improve. If this option is set to 0, no redirection will be performed.",
  "common.request.max_redirect.message": "Enter a number between 0 and 64.",
  "common.request.max_redirect.name": "Max Request Redirections",
  "common.request.max_redirect.placeholder": "Enter a number.",
  "common.request.redirect.description": "Request Redirection indicates to automatically send a temporary HTTP request for a redirection which sends an HTTP request of an HTTP response from another HTTP request. If this option is set to 'On,' URL crawling does not proceed in a temporary HTTP request. So, the speed will improve. On the other hand, if this option is set to 'Off,' URL crawling proceeds in a temporary HTTP request. But, the speed will impair.",
  "common.request.redirect.message": "Select 'ON' or 'OFF.'",
  "common.request.redirect.name": "Request Redirection",
  "common.request.redirect.placeholder": "Not Applicable",
  "comparisonFunctionIsAlwaysTrueOrFalse.description": "Comparison of two identical variables always evaluates same result.",
  "confidence_score.dast.base_score": "The default value of confidence score.",
  "confidence_score.dast.browser_restarted": "The browser was restarted during analysis due to an error.",
  "confidence_score.dast.custom_element": "The sourced value or element name was specified by the developer.",
  "confidence_score.dast.event_skipped_in_clipboard": "Some events could not be replayed on the event clipboard.",
  "confidence_score.dast.javascript_event": "State transitions may not be fully captured due to JavaScript execution.",
  "confidence_score.dast.long_event_sequence": "Unlikely to replay the issue since too many events were involved.",
  "confidence_score.dast.slow_network": "May be temporarily detected due to network slowdown.",
  "confidence_score.dast.too_many_redirect": "May be temporarily detected due to too many redirects.",
  "confidence_score.sast.adhoc_taint": "The flow may have been estimated differently from its actual behavior of semantic inference.",
  "confidence_score.sast.base_score": "The default value of confidence score.",
  "confidence_score.sast.contain_loop": "Analyzing {0} loops may result in different behaviors during execution based on the number of iterations.",
  "confidence_score.sast.many_assumption": "Analyzed {0} control flow branches based on assumed condition values, which may lead to different behaviors in actual execution depending on each condition.",
  "confidence_score.sast.nobuild": "Analyzed without building C/C++.",
  "confidence_score.sast.parse_error": "The analysis results may be inaccurate due to parsing errors occurring in {0} sources related to the issue.",
  "confidence_score.sast.uncertain_propagation": "The flow may have been estimated broadly from its actual behavior due to function call. {0}",
  "confidence_score.sca.base_score": "The default value of confidence score.",
  "confidence_score.sca.component.match_category.snippet": "Detected through the snippet analysis.",
  "confidence_score.sca.component.match_category.sourcecode": "Detected through source code file matching analysis.",
  "confidence_score.sca.component.provider_type.user": "A custom component.",
  "confidence_score.sca.component.repository.notfound": "It is difficult to infer the exact repository of the component.",
  "confidence_score.sca.component.sourcecode.composition_count": "It is difficult to infer the exact component with {0} source code.",
  "confidence_score.sca.component.sourcecode.composition_duplication": "The {0} source files are identical.",
  "confidence_score.sca.component.version_type.none": "This component has no version information.",
  "confidence_score.sca.component.version_type.ranged": "A component has ranged versions.",
  "confidence_score.sca.component.warehouse.notfound": "This component is not queried in the data warehouse.",
  "confidence_score.sca.component.warehouse.version_notfound": "This version is not queried in the data warehouse.",
  "configchk.ALWAYS_STRICT_MODE.CONFIG.defect": "Disabling `alwaysStrict` might lead to vulnerabilities by using weak methods or ignoring various errors.",
  "configchk.ANDROID_MANIFEST_AVOID_DEBUGGABLE_ACCESS.defect": "The android:debuggable attribute is set to true in application.",
  "configchk.ANDROID_MANIFEST_AVOID_EXPORTED_ACCESS.defect": "The android:exported attribute is set to true in {0}.",
  "configchk.BAD_QUERY_TO_CUD_OTHER_APP.XSQL.CONFIG.defect": "Do not perform queries in the wrong way. Manipulating tables in other applications is prohibited.",
  "configchk.BAD_QUERY_TO_R_OTHER_APP.XSQL.CONFIG.defect": "Do not perform queries in the wrong way. Manipulating tables in other applications is prohibited.",
  "configchk.DISABLE_STRUTS_INPUT_VALIDATION_FRAMEWORK.CONFIG.defect.plugin": "ValidatorPlugIn does not exist in the Struts configuration file.",
  "configchk.DISABLE_STRUTS_INPUT_VALIDATION_FRAMEWORK.CONFIG.defect.property": "The set-property tag with the property property pathnames in the ValidatorPlugIn tag does not exist.",
  "configchk.DO_NOT_USE_COMMIT.XSQL.CONFIG.defect": "COMMIT is used within SQL syntax.",
  "configchk.DO_NOT_USE_DECODE.XSQL.CONFIG.defect": "DECODE is used within SQL syntax.",
  "configchk.DO_NOT_USE_LOWERCASE.XSQL.CONFIG.defect": "Lowercase letters are used within SQL syntax.",
  "configchk.DO_NOT_USE_LOWERCASE.XSQL.CONFIG.defect_0": "Lowercase letters starting with {0} are used within SQL syntax.",
  "configchk.DO_NOT_USE_ROLLBACK.XSQL.CONFIG.defect": "ROLLBACK is used within SQL syntax.",
  "configchk.DO_NOT_USE_SELECT_ASTERISK.XSQL.CONFIG.defect": "SELECT * is used within SQL syntax.",
  "configchk.DO_NOT_USE_SEQ_IN_ORDER_BY.XSQL.CONFIG.defect": "A sequence value is used in an ORDER BY clause.",
  "configchk.DO_NOT_USE_WITH.SQL.CONFIG.defect": "You are using a WITH clause within a query.",
  "configchk.DROPPED_ERROR_PAGE_J2EE.CONFIG.defect": "Missing error page settings can expose internal information on your server.",
  "configchk.DUPLICATED_SECURITY_ROLE.CONFIG.defect": "Multiple security roles with the same name exist.",
  "configchk.DUPLICATED_SERVLET_MAPPING.CONFIG.defect": "Duplicated servlet mapping is defined.",
  "configchk.EMPTY_PASSWORD.CONFIG.defect": "Empty password used",
  "configchk.EXCESSIVE_SERVLET_MAPPING.CONFIG.defect": "This servlet is already mapping",
  "configchk.EXCESSIVE_SESSION_TIMEOUT.CONFIG.defect": "An overly long session timeout is defined",
  "configchk.EXPLICIT_NULL_TYPE.CONFIG.defect": "Disabling `strictNullChecks` might lead to vulnerabilities by unintendedly using `null` and `undefined`.",
  "configchk.FORBIDDEN.DIRECT_JSP_ACCESS.CONFIG.defect": "Allow direct access to Java Server Pages",
  "configchk.HARD_CODED_PASSWORD.CONFIG.defect": "Password {1} from key {0} is hardcoded.",
  "configchk.IMPLICIT_ANY_TYPE.CONFIG.defect": "Setting `noImplicitAny` to OFF prevents errors from being thrown on variables that are assumed to be `any`. It might lead to vulnerabilities.",
  "configchk.IMPROPER_CARGO_SETTING.CONFIG.defect.debug": "If you disable debug-assertions, debug assertions are ignored, making it harder to find bugs.",
  "configchk.IMPROPER_CARGO_SETTING.CONFIG.defect.overflow": "If you disable overflow-checks, integer overflows will not be detected when they occur.",
  "configchk.IMPROPER_DEBUG_LEVEL.CONFIG.defect": "The debug level is set too high,",
  "configchk.INSERT_WITHOUT_COLUMN.XSQL.CONFIG.defect": "A column name is missing from the INSERT clause.",
  "configchk.INSUFFICIENT_SESSION_ID.CONFIG.defect": "The length of sesison ID is too short.",
  "configchk.INVALID_COLUMN_COMMENT.XSQL.CONFIG.defect": "Single-line comment (--) is used in column comments.",
  "configchk.INVALID_SERVLET.CONFIG.defect": "Invalid servlet is found",
  "configchk.MISSING_FILTER_DEFINITION.CONFIG.defect": "This filter mapping reference the non-existing filter.",
  "configchk.MISSING_TABLE_OWNER.XSQL.CONFIG.defect": "The owner name used the missing table name.",
  "configchk.STRICT_MODE.CONFIG.defect": "Disabling Strict mode might lead to vulnerabilities by using weak methods or ignoring various errors.",
  "configchk.STRUTS.DUPLICATE_VALIDATION_FORM.CONFIG.defect": "Duplicate Struts validation form name exists.",
  "configchk.STRUTS_VALIDATOR_TURNED_OFF.CONFIG.defect": "Validation is disabled, meaning that user input is not validated.",
  "constStatement.description": "Found a statement that begins with constant.",
  "cppcheck.ArgumentSize.defect": "The array is too small, the function expects a bigger one.",
  "cppcheck.ArrayIndexOutOfBounds.defect": "Index of array is out of bounds.",
  "cppcheck.ArrayIndexOutOfBoundsCond.defect": "Array accessed at index which is out of bounds.",
  "cppcheck.ArrayIndexThenCheck.defect": "Array index 'index' is used before limits check.",
  "cppcheck.AssertWithSideEffect.defect": "Function is called inside assert statement",
  "cppcheck.AssignBoolToFloat.defect": "Boolean value assigned to floating point variable.",
  "cppcheck.AssignBoolToPointer.defect": "Boolean value assigned to pointer.",
  "cppcheck.AssignIfError.defect": "Mismatching assignment and comparison.",
  "cppcheck.AssignmentAddressToInteger.defect": "Assinging a pointer to an integer",
  "cppcheck.AssignmentInAssert.defect": "Variable is modified inside assert statement",
  "cppcheck.AssignmentIntegerToAddress.defect": "Assigning an integer to a pointer.",
  "cppcheck.AutoVariables.defect": "Address of local auto-variable assigned to a function parameter.",
  "cppcheck.AutoVariablesAssignGlobalPointer.defect": "Assigning an address of the local array variable to global array pointer.",
  "cppcheck.AutovarInvalidDeallocation.defect": "Deallocation of an auto-variable results in undefined behaviour.",
  "cppcheck.BadBitmaskCheck.defect": "Operator '|' always returns true when any of operands is not zero. Check if it is intended to use '&'.",
  "cppcheck.BitwiseOnBoolean.defect": "Boolean variable is used in bitwise operation.",
  "cppcheck.BoostForeachError.defect": "Modifying the container inside BOOST_FOREACH is undefined behavior.",
  "cppcheck.BufferAccessOutOfBounds.defect": "Buffer is accessed out of bounds",
  "cppcheck.BufferNotZeroTerminated.defect": "The buffer is not null-terminated after the call to strncpy().",
  "cppcheck.CastAddressToIntegerAtReturn.defect": "Returning a pointer type in a function with an integer return type.",
  "cppcheck.CastIntegerToAddressAtReturn.defect": "Returning an integer in a function with pointer return type.",
  "cppcheck.CatchExceptionByValue.defect": "Exception should be caught by reference.",
  "cppcheck.ClarifyCondition.defect": "Suspicious condition (assignment + comparison);",
  "cppcheck.CompareBoolExpressionWithInt.defect": "Comparison of a boolean expression with an integer other than 0 or 1.",
  "cppcheck.ComparisonError.defect": "This condition statement is always false.",
  "cppcheck.ComparisonOfBoolWithBoolError.defect": "Comparison of a variable having boolean value using relational (<, >, <= or >=) operator.",
  "cppcheck.ComparisonOfFuncReturningBoolError.defect": "Comparison of a function returning boolean value using relational (<, >, <= or >=) operator.",
  "cppcheck.ComparisonOfTwoFuncsReturningBoolError.defect": "Comparison of a function returning boolean value using relational (<, >, <= or >=) operator.",
  "cppcheck.CopyCtorAndEqOperator.defect": "The class 'class' has 'operator=' but lack of 'copy constructor'.",
  "cppcheck.CopyCtorPointerCopying.defect": "Value of pointer is copied in copy constructor instead of allocating new memory.",
  "cppcheck.CoutCerrMisusage.defect": "Invalid usage of output stream.",
  "cppcheck.DuplInheritedMember.defect": "The class defines member variable with name also defined in its parent class.",
  "cppcheck.ExceptDeallocThrow.defect": "Exception thrown in invalid state,",
  "cppcheck.ExceptRethrowCopy.defect": "Throwing a copy of the caught exception instead of rethrowing the original exception.",
  "cppcheck.ExceptThrowInDestructor.defect": "Class is not safe, destructor throws exception",
  "cppcheck.FunctionConst.defect": "Technically the member function can be const.",
  "cppcheck.FunctionStatic.defect": "Technically the member function can be static.",
  "cppcheck.IOWithoutPositioning.defect": "Read and write operations without a call to a positioning function.",
  "cppcheck.IdenticalConditionAfterEarlyExit.defect": "Identical condition, second condition is always false",
  "cppcheck.IgnoredReturnValue.defect": "Return value of function is not used.",
  "cppcheck.IncorrectLogicOperator.defect": "Logical disjunction always evaluates to true",
  "cppcheck.Incrementboolean.defect": "Incrementing a variable of type bool with operator++",
  "cppcheck.InitializerList.defect": "Member variable is in the wrong place in the initializer list.",
  "cppcheck.InsecureCmdLineArgs.defect": "Buffer overrun possible for long command line arguments.",
  "cppcheck.InvalidFunctionArg.defect": "Invalid func_name() argument nr 1.",
  "cppcheck.InvalidFunctionArgBool.defect": "Invalid func_name() argument nr 1.",
  "cppcheck.InvalidTestForOverflow.defect": "Overflow is undefined behaviour. Invalid test using overflow 'x + u < x'.",
  "cppcheck.KnownConditionTrueFalse.defect": "The result of the conditional statement is fixed.",
  "cppcheck.MallocOnClassError.defect": "Memory for class instance allocated with malloc(), but class contains a std::string.",
  "cppcheck.MallocOnClassWarning.defect": "Memory for class instance allocated with malloc(), but class provides constructors.",
  "cppcheck.MemsetClass.defect": "Using 'memfunc' on class that contains a classname.",
  "cppcheck.MemsetClassFloat.defect": "Using memset() on class which contains a floating point number.",
  "cppcheck.MemsetClassReference.defect": "Using 'memfunc' on class that contains a reference.",
  "cppcheck.MemsetFloat.defect": "The 2nd memset() argument is a float.",
  "cppcheck.MemsetValueOutOfRange.defect": "The 2nd memset() argument doesn't fit into an 'unsigned char'.",
  "cppcheck.MemsetZeroBytes.defect": "memset() called to fill 0 bytes.",
  "cppcheck.MismatchingBitAnd.defect": "Mismatching bitmasks. Result is always 0.",
  "cppcheck.ModuloAlwaysTrueFalse.defect": "Comparison of modulo result is predetermined.",
  "cppcheck.MultiCondition.defect": "Expression is always false because 'else if' condition matches previous condition.",
  "cppcheck.NegativeArraySize.defect": "Declaration of array with negative size is undefined behaviour",
  "cppcheck.NegativeIndex.defect": "Array index of negative integer is out of bounds.",
  "cppcheck.NegativeMemoryAllocationSize.defect": "Memory allocation size is negative.",
  "cppcheck.NoConstructor.defect": "The class 'classname' does not have a constructor.",
  "cppcheck.NoCopyConstructor.defect": "class does not have a copy constructor which is recommended since the class contains a pointer.",
  "cppcheck.NoExplicitConstructor.defect": "Class 'classname' has a constructor with 1 argument that is not explicit.",
  "cppcheck.OperatorEq.defect": "'class::operator=' should return 'class &'.",
  "cppcheck.OperatorEqMissingReturnStatement.defect": "'operator=No 'return' statement in non-void function causes undefined behavior.",
  "cppcheck.OperatorEqRetRefThis.defect": "'operator=' should return reference to 'this' instance.",
  "cppcheck.OperatorEqShouldBeLeftUnimplemented.defect": "'operator='operator=' should either return reference to 'this' instance or be declared private and left unimplemented.",
  "cppcheck.OperatorEqToSelf.defect": "'operator=' should check for assignment to self to avoid problems with dynamic memory.",
  "cppcheck.OperatorEqVarError.defect": "Member variable is not assigned a value in 'classname::operator='.",
  "cppcheck.OppositeInnerCondition.defect": "Opposite inner 'if' condition leads to a dead code block.",
  "cppcheck.OutOfBounds.defect": "index is out of bounds",
  "cppcheck.PointerAdditionResultNotNull.defect": "Pointer overflow is undefined behaviour.",
  "cppcheck.PointerArithBool.defect": "Converting pointer arithmetic result to bool.",
  "cppcheck.PointerOutOfBounds.defect": "Pointer arithmetic is out of bounds.",
  "cppcheck.PossibleBufferAccessOutOfBounds.defect": "Array index 'index' is used before limits check.",
  "cppcheck.PurgedConfiguration.defect": "The configuration 'something' was not checked because its code equals another one.",
  "cppcheck.RedundantCondition.defect": "Redundant condition.",
  "cppcheck.ReturnAddressOfAutoVariable.defect": "Address of an auto-variable returned.",
  "cppcheck.ReturnAddressOfFunctionParameter.defect": "Address of function parameter returned.",
  "cppcheck.ReturnLocalVariable.defect": "Pointer to local array variable returned.",
  "cppcheck.ReturnReference.defect": "Pointer to local array variable returned.",
  "cppcheck.SelfInitialization.defect": "Member variable is initialized by itself.",
  "cppcheck.SizeArgumentAsChar.defect": "The size argument is given as a char constant.",
  "cppcheck.StlMissingComparison.defect": "Missing bounds check for extra iterator increment in loop.",
  "cppcheck.StrncatUsage.defect": "Dangerous usage of strncat",
  "cppcheck.TerminateStrncpy.defect": "The buffer may not be null-terminated after the call to strncpy().",
  "cppcheck.ThisSubtraction.defect": "Pointer subtraction for this pointer.",
  "cppcheck.ThrowInNoexceptFunction.defect": "Exception thrown in function declared not to throw exceptions.",
  "cppcheck.Toomanyconfigs.defect": "Too many #ifdef configuration",
  "cppcheck.UnhandledExceptionSpecification.defect": "Unhandled exception specification when calling function.",
  "cppcheck.UninitMemberVar.defect": "Member variable 'classname::varname' is not initialized in the constructor.",
  "cppcheck.UnpreciseMathCall.defect": "Expression can be replaced by more mathematically accurate function to avoid loss of precision.",
  "cppcheck.UnsafeClassDivZero.defect": "Public interface of Class is not safe. If parameter x is 0 that leads to division by zero.",
  "cppcheck.UnusedPrivateFunction.defect": "Unused private function: 'classname::funcname'",
  "cppcheck.UseInitializationList.defect": "Variable is assigned in constructor body.",
  "cppcheck.UselessAssignmentArg.defect": "Assignment of function parameter has no effect outside the function.",
  "cppcheck.UselessAssignmentPtrArg.defect": "Assignment of function parameter has no effect outside the function.",
  "cppcheck.VirtualDestructor.defect": "Class 'Base' which is inherited by class 'Derived' does not have a virtual destructor.",
  "cppcheck.Wrongmathcall.defect": "Passing value '#' to #() leads to implementation-defined result.",
  "cppcheck.accessForwarded.defect": "Access of a forwarded variable.",
  "cppcheck.accessMoved.defect": "Access of a moved variable.",
  "cppcheck.arithOperationsOnVoidPointer.defect": "When using void pointers in calculations, the behaviour is undefined.",
  "cppcheck.charBitOp.defect": "When using char variables in bit operations, sign extension can generate unexpected results.",
  "cppcheck.charLiteralWithCharPtrCompare.defect": "Char literal compared with a pointer.",
  "cppcheck.checkCastIntToCharAndBack.defect": "Storing a function return value in char variable and then comparing with EOF.",
  "cppcheck.clarifyCalculation.defect": "Clarify calculation precedence for operators.",
  "cppcheck.clarifyStatement.defect": "Ineffective statement similar to *A++.",
  "cppcheck.commaSeparatedReturn.defect": "Comma is used in return statement.",
  "cppcheck.comparisonFunctionIsAlwaysTrueOrFalse.defect": "Comparison of two identical variables always evaluates same result.",
  "cppcheck.constStatement.defect": "Found a statement that begins with constant.",
  "cppcheck.cstyleCast.defect": "C-style pointer casting detected.",
  "cppcheck.deadpointer.defect": "Dead pointer usage.",
  "cppcheck.deallocDealloc.defetct": "Deallocating a deallocated pointer.",
  "cppcheck.deallocret.defect": "Returning/dereferencing after it is deallocated/released.",
  "cppcheck.deallocuse.defect": "Dereferencing the pointer after it is deallocated / released.",
  "cppcheck.derefInvalidIterator.defect": "Possible dereference of an invalid iterator.",
  "cppcheck.doubleFree.defect": "Momory is freed twice.",
  "cppcheck.duplicateBranch.defect": "Identical condition found in another branch.",
  "cppcheck.duplicateBreak.defect": "Consecutive return, break, continue, goto or throw statements are unnecessary.",
  "cppcheck.duplicateExpression.defect": "Same expression on both sides of a logical operator.",
  "cppcheck.duplicateExpressionTernary.defect": "Same expression in both branches of ternary operator.",
  "cppcheck.eraseDereference.defect": "An invalid iterator is used.",
  "cppcheck.fflushOnInputStream.defect": "fflush() is called on input stream.",
  "cppcheck.floatConversionOverflow.defect": "Undefined behaviour: float to integer conversion overflow.",
  "cppcheck.funcArgNamesDifferent.defect": "Function argument names are different between declaration and definition.",
  "cppcheck.funcArgOrderDifferent.defect": "Function argument orders are different between declaration and definition.",
  "cppcheck.incompleteArrayFill.defect": "An array is filled incompletely.",
  "cppcheck.incorrectStringBooleanError.defect": "Conversion of a string literal to bool always evaluates to true.",
  "cppcheck.incorrectStringCompare.defect": "A string literal doesn't match length argument for substr().",
  "cppcheck.integerOverflow.defect": "Signed integer overflow for expression.",
  "cppcheck.invalidIterator1.defect": "Invalid iterator.",
  "cppcheck.invalidIterator2.defect": "After push_back|push_front|insert(), the iterator may be invalid.",
  "cppcheck.invalidLengthModifierError.defect": "'I' in format string (no. 1) is a length modifier and cannot be used without a conversion specifier.",
  "cppcheck.invalidPointer.defect": "Invalid the pointer in a vector after push_back().",
  "cppcheck.invalidPointerCast.defect": "Casting between pointers which have an incompatible binary data representation.",
  "cppcheck.invalidPrintfArgType_float.defect": "%f in format string (no. 1) requires a double type.",
  "cppcheck.invalidPrintfArgType_n.defect": "%n in format string (no. 1) requires a int* type.",
  "cppcheck.invalidPrintfArgType_p.defect": "%p in format string (no. 1) requires an address.",
  "cppcheck.invalidPrintfArgType_s.defect": "%s in format string (no. 1) requires a char* type.",
  "cppcheck.invalidPrintfArgType_sint.defect": "%i in format string (no. 1) requires an int type.",
  "cppcheck.invalidPrintfArgType_uint.defect": "%u in format string (no. 1) requires an unsigned int type.",
  "cppcheck.invalidScanfArgType_float.defect": "%f in format string (no. 1) requires a float* type.",
  "cppcheck.invalidScanfArgType_int.defect": "%d in format string (no. 1) requires a int* type.",
  "cppcheck.invalidScanfArgType_s.defect": "%s in format string (no. 1) requires a char* type.",
  "cppcheck.invalidScanfFormatWidth.defect": "Width given in format string (no. 10) is larger than destination buffer.",
  "cppcheck.invalidscanf.defect": "scanf() without field width limits can crash with huge input data.",
  "cppcheck.iterators.defect": "Same iterator is used with different containers.",
  "cppcheck.leakNoVarFunctionCall.defect": "Allocation with a function, but the outer function does not release it.",
  "cppcheck.leakReturnValNotUsed.defect": "Return value of allocatioin function is not stored.",
  "cppcheck.leakUnsafeArgAlloc.defect": "Unsafe allocation. If an another function in arguments throws, memory could be leaked.",
  "cppcheck.literalWithCharPtrCompare.defect": "String literal compared with a variable.",
  "cppcheck.memleak.defect": "Memory leak.",
  "cppcheck.memleakOnRealloc.defect": "Common realloc mistake: the assigned pointer is nulled but not freed upon failure.",
  "cppcheck.mismatchAllocDealloc.defect": "Mismatching allocation and deallocation.",
  "cppcheck.mismatchSize.defect": "The allocated size is not a multiple of the type's size.",
  "cppcheck.mismatchingContainers.defect": "Iterators of different containers are used together.",
  "cppcheck.missingInclude.defect": "Include file not found.",
  "cppcheck.multiplySizeof.defect": "Multiplying sizeof() with sizeof() indicates a logic error.",
  "cppcheck.nanInArithmeticExpression.defect": "Using NaN/Inf in a computation.",
  "cppcheck.nullPointer.defect": "Null pointer dereference.",
  "cppcheck.nullPointerArithmetic.defect": "There is pointer arithmetic with null pointer.",
  "cppcheck.nullPointerDefaultArg.defect": "Possible null pointer dereference if the default parameter value is used.",
  "cppcheck.nullPointerRedundantCheck.defect": "Either the condition is redundant or there is possible null pointer dereference.",
  "cppcheck.overlappingStrcmp.defect": "The conditions are overlapped.",
  "cppcheck.passedByValue.defect": "A function parameter should be passed by reference.",
  "cppcheck.pointerLessThanZero.defect": "A pointer can not be negative.",
  "cppcheck.pointerPositive.defect": "A pointer can not be negative.",
  "cppcheck.pointerSize.defect": "Size of a pointer used instead of size of its data.",
  "cppcheck.postfixOperator.defect": "Prefer prefix ++/-- operators for non-primitive types.",
  "cppcheck.publicAllocationError.defect": "Possible leak in public function. The pointer is not deallocated before it is allocated.",
  "cppcheck.raceAfterInterlockedDecrement.defect": "Race condition: non-interlocked access after InterlockedDecrement(). Use InterlockedDecrement() return value instead.",
  "cppcheck.readWriteOnlyFile.defect": "Read operation on a file that was opened only for writing.",
  "cppcheck.reademptycontainer.defect": "Reading from an empty STL container.",
  "cppcheck.redundantAssignInSwitch.defect": "Variable &apos;var&apos; is reassigned a value before the old one has been used. \"break;\" missing?",
  "cppcheck.redundantAssignment.defect": "A variable is reassigned a value before the old one has been used.",
  "cppcheck.redundantCopy.defect": "A buffer is being written before its old content has been used.",
  "cppcheck.redundantCopyInSwitch.defect": "A buffer is being written before its old content has been used. \"break;\" missing?",
  "cppcheck.redundantCopyLocalConst.defect": "Use const reference to avoid unnecessary data copying.",
  "cppcheck.redundantIfRemove.defect": "Redundant checking of STL container element existence before removing it.",
  "cppcheck.redundantPointerOp.defect": "Redundant pointer operation.",
  "cppcheck.resourceLeak.defect": "Resource leak.",
  "cppcheck.returnTempReference.defect": "Reference to temporary returned.",
  "cppcheck.seekOnAppendedFile.defect": "Repositioning operation performed on a file opened in append mode has no effect.",
  "cppcheck.selfAssignment.defect": "Redundant assignment of a variable to itself.",
  "cppcheck.shiftNegative.defect": "Shifting by a negative value is undefined behaviour.",
  "cppcheck.shiftNegativeLHS.defect": "Shifting a negative value is technically undefined behaviour.",
  "cppcheck.shiftTooManyBits.defect": "Shifting a value by bigger bits than its size is undefined behavior.",
  "cppcheck.shiftTooManyBitsSigned.defect": "Shifting signed 32-bit value by 31 bits is undefined behaviour.",
  "cppcheck.signConversion.defect": "Suspicious code: sign conversion of a variable in calculation, even though the variable can have a negative value.",
  "cppcheck.signedCharArrayIndex.defect": "Signed char type used as array index.",
  "cppcheck.sizeofCalculation.defect": "Found calculation inside sizeof().",
  "cppcheck.sizeofDereferencedVoidPointer.defect": "Behaviour of sizeof(void) is not covered by the ISO C standard.",
  "cppcheck.sizeofDivisionMemfunc.defect": "Division by result of sizeof(). memset() expects a size in bytes.",
  "cppcheck.sizeofFunctionCall.defect": "Found function call inside sizeof().",
  "cppcheck.sizeofVoid.defect": "Behaviour of sizeof(void) is not covered by the ISO C standard.",
  "cppcheck.sizeofsizeof.defect": "Calling sizeof on sizeof.",
  "cppcheck.sizeofwithnumericparameter.defect": "Suspicious usage of sizeof with a numeric constant as parameter.",
  "cppcheck.sizeofwithsilentarraypointer.defect": "Using sizeof on array given as function argument returns size of a pointer.",
  "cppcheck.sprintfOverlappingData.defect": "Undefined behavior: A variable is used as parameter and destination in s[n]printf().",
  "cppcheck.staticStringCompare.defect": "Unnecessary comparison of static strings.",
  "cppcheck.stlBoundaries.defect": "Dangerous comparison using operator < or > on iterator.",
  "cppcheck.stlIfFind.defect": "The result of find() is an iterator, but it is not properly checked.",
  "cppcheck.stlOutOfBounds.defect": "When i==foo.size(), foo[i] is out of bounds.",
  "cppcheck.stlSize.defect": "Possible inefficient checking for emptiness.",
  "cppcheck.stlcstr.defect": "Dangerous usage of c_str(). The value returned by c_str() is invalid after this call.",
  "cppcheck.stlcstrParam.defect": "Passing the result of c_str() to a function that takes std::string as argument no. 0 is slow and redundant.",
  "cppcheck.stlcstrReturn.defect": "Returning the result of c_str() in a function that returns std::string is slow and redundant.",
  "cppcheck.strPlusChar.defect": "Unusual pointer arithmetic. A value of type char is added to a string literal.",
  "cppcheck.stringCompare.defect": "Comparison of identical string variables.",
  "cppcheck.stringLiteralWrite.defect": "Modifying string literal directly or indirectly is undefined behaviour.",
  "cppcheck.suspiciousCase.defect": "Found suspicious case label in switch(). logical operations probably do not work as intended.",
  "cppcheck.suspiciousEqualityComparison.defect": "Found suspicious equality comparison.",
  "cppcheck.suspiciousSemicolon.defect": "Suspicious use of ;.",
  "cppcheck.truncLongCastAssignment.defect": "int result is assigned to long variable.",
  "cppcheck.truncLongCastReturn.defect": "int result is returned as long value.",
  "cppcheck.unassignedVariable.defect": "A variable is not assigned a value.",
  "cppcheck.uninitStructMember.defect": "Uninitialized struct member.",
  "cppcheck.uninitdata.defect": "Memory is allocated but not initialized.",
  "cppcheck.uninitstring.defect": "Dangerous usage. strncpy doesn't always null-terminate it.",
  "cppcheck.uninitvar.defect": "Uninitialized variable.",
  "cppcheck.unknownEvaluationOrder.defect": "An expression depends on order of evaluation of side effects.",
  "cppcheck.unknownSignCharArrayIndex.defect": "Char type used as array index.",
  "cppcheck.unreachableCode.defect": "Statements following return, break, continue, goto or throw will never be executed.",
  "cppcheck.unsafeClassCanLeak.defect": "This field can leak by wrong usage.",
  "cppcheck.unsignedLessThanZero.defect": "Checking if an unsigned variable is less than zero.",
  "cppcheck.unsignedPositive.defect": "An unsigned variable can't be negative so it is unnecessary to test it.",
  "cppcheck.unusedFunction.defect": "A function is never used.",
  "cppcheck.unusedLabel.defect": "A label is not used.",
  "cppcheck.unusedLabelSwitch.defect": "A label is not used.",
  "cppcheck.unusedScopedObject.defect": "Instance of an object is destroyed immediately.",
  "cppcheck.unusedStructMember.defect": "A struct memeber is never used.",
  "cppcheck.unusedVariable.defect": "Unused variable.",
  "cppcheck.useAutoPointerArray.defect": "You should not use auto_ptr for pointers obtained with operator new[].",
  "cppcheck.useAutoPointerContainer.defect": "You can randomly lose access to pointers if you store auto_ptr, unique_ptr pointers in an STL container.",
  "cppcheck.useAutoPointerCopy.defect": "Copying auto_ptr pointer to another does not create two equal objects since one has lost its ownership of the pointer.",
  "cppcheck.useAutoPointerMalloc.defect": "You should not use auto_ptr for pointers obtained with function malloc.",
  "cppcheck.useClosedFile.defect": "Used file that is not opened.",
  "cppcheck.uselessCallsCompare.defect": "It is inefficient to call str.find(str) as it always returns 0.",
  "cppcheck.uselessCallsEmpty.defect": "Ineffective call of function empty.",
  "cppcheck.uselessCallsRemove.defect": "Return value of std::remove() ignored. Elements remain in container.",
  "cppcheck.uselessCallsSubstr.defect": "Ineffective call of function substr because it returns a copy of the object. Use operator= instead.",
  "cppcheck.uselessCallsSwap.defect": "It is inefficient to swap a object with itself by calling swap.",
  "cppcheck.va_end_missing.defect": "va_list was opened but not closed by va_end().",
  "cppcheck.va_list_usedBeforeStarted.defect": "va_list used before va_start() was called.",
  "cppcheck.va_start_referencePassed.defect": "Using reference as parameter for va_start() results in undefined behaviour.",
  "cppcheck.va_start_subsequentCalls.defect": "va_start() or va_copy() called subsequently without va_end() in between.",
  "cppcheck.va_start_wrongParameter.defect": "A variable given to va_start() is not last named argument of the function.",
  "cppcheck.varFuncNullUB.defect": "Passing NULL after the last typed argument to a variadic function leads to undefined behaviour.",
  "cppcheck.variableScope.defect": "The scope of the variable can be reduced.",
  "cppcheck.writeReadOnlyFile.defect": "Write operation on a file that was opened only for reading.",
  "cppcheck.wrongPipeParameterSize.defect": "A buffer must have size of 2 integers if used as parameter of pipe().",
  "cppcheck.wrongPrintfScanfArgNum.defect": "printf format string requires 3 parameters but only 2 are given.",
  "cppcheck.wrongPrintfScanfParameterPositionError.defect": "'n$' in format string requires an appropriate argument.",
  "cppcheck.zerodiv.defect": "Division by zero occurs.",
  "cppcheck.zerodivcond.defect": "Either the condition is redundant or there is division by zero.",
  "crawler.bowser.update_dom_if_changed.description": "If this option is set to `ON`, DOM that was previously crawled but has changed structure will be updated, added to the DOM queue, and then crawled again.",
  "crawler.bowser.update_dom_if_changed.message": "Select 'ON' or 'OFF.'",
  "crawler.bowser.update_dom_if_changed.name": "Update DOM Changes (Debug)",
  "crawler.bowser.update_dom_if_changed.placeholder": "Not Applicable",
  "crawler.browser.event_selection.description": "Event to execute indicates a list of events to execute on a browser. All events selected in this option will be performed in URL crawling process by a browser. Select 'click' button, then, a browser will perform the option. On the other hand, when you unselect this option, then, a browser will not perform the option.",
  "crawler.browser.event_selection.extras.0.click": "Click",
  "crawler.browser.event_selection.extras.1.keypress": "Value",
  "crawler.browser.event_selection.message": "Select one from specified events.",
  "crawler.browser.event_selection.name": "Event to execute",
  "crawler.browser.event_selection.placeholder": "Select an event to execute.",
  "crawler.browser.explicit_timeout.description": "If the option is set to a large value, the tool **can find URLs of a web application that takes time to reflect events to DOMs**, but take more time for crawling. If the option is set to a small value, the tool can take less time for crawling, but **cannot find URLs of the web application that takes time to reflect events to DOMs**",
  "crawler.browser.explicit_timeout.message": "Enter a number between 0 and 5,000.",
  "crawler.browser.explicit_timeout.name": "Event timeout",
  "crawler.browser.explicit_timeout.placeholder": "Enter a time. (unit: ms)",
  "crawler.browser.mobile_mode.description": "If this option is set to `ON`, the tool **changes its browser to Mobile screen and analyzes the URLs.** If this option is set to `OFF`, the tool **uses its browser of basic PC screen**.",
  "crawler.browser.mobile_mode.message": "Enter either 'true' or 'false.'",
  "crawler.browser.mobile_mode.name": "Mobile screen",
  "crawler.browser.mobile_mode.placeholder": "Not Applicable",
  "crawler.browser.page_load_strategy_eager.description": "If this option is set to `ON`, the tool **proceeds crawling while not waiting that resources get loaded on page.** Therefore, pages where resources are essential cannot be normally collected. If this option is set to `OFF`, the tool **proceeds crawling after resources get loaded on the page.** Therefore, the tool can collect a page where resources are essential, but takes more time on a page with problem to load resources.",
  "crawler.browser.page_load_strategy_eager.message": "Enter either 'true' or 'false.'",
  "crawler.browser.page_load_strategy_eager.name": "Partial page loading",
  "crawler.browser.page_load_strategy_eager.placeholder": "Not Applicable",
  "crawler.browser.precheck_link_access.description": "Pre-check Link option enables an HTTP client to check that links of HTML elements are accessible by your browser. If this option is set to 'ON,' the HTTP client will check that the links of HTML elements are accessible. Which can save time for the browser to attempt connecting broken links. However, crawling speed can be impaired due to checking all links, especially for the HTML elements without the broken links. If this option is set to 'OFF,' the HTTP client will not check that the links of HTML elements are accessible. Which can save time for the HTTP client to check that links are accessible. However, time to attempt connecting the broken links can be wasted, especially for the HTML elements with more inaccessible links. Therefore, it is recommended to set this option to 'ON' for an application with more broken links, or to 'OFF' for an application with less broken links. Then, the crawling speed can be improved.",
  "crawler.browser.precheck_link_access.message": "Select 'ON' or 'OFF.'",
  "crawler.browser.precheck_link_access.name": "Pre-check Link",
  "crawler.browser.precheck_link_access.placeholder": "Not Applicable",
  "crawler.browser.resource_load_timeout.description": "If the option is set to a small value, the tool **starts to collect resource without waiting for loading completed**. Therefore, pages where resources are essential cannot be normally collected. If the option is set to a large value, the tool **waits for resource loading** and takes more time for crawling.",
  "crawler.browser.resource_load_timeout.message": "Enter a number between 1 and 600,000.",
  "crawler.browser.resource_load_timeout.name": "Resource loading timeout",
  "crawler.browser.resource_load_timeout.placeholder": "Enter a time. (unit: ms)",
  "crawler.browser.sequential_sub_events_by_xpath.description": "Events containing the XPath entered in this option will be sequentially executed as click subevents. For example, if you enter the XPath for the OPTION tag of SELECT, it will execute the OPTION tag sequentially.",
  "crawler.browser.sequential_sub_events_by_xpath.message": "Enter an XPath.",
  "crawler.browser.sequential_sub_events_by_xpath.name": "Sequential Sub-event (XPath)",
  "crawler.browser.sequential_sub_events_by_xpath.placeholder": "Please enter an XPath to add. Press Enter key to split items.",
  "crawler.client.timeout.description": "If the option is set to a large value, the tool **proceeds the analysis with delayed response due to network environments**. Yet, the tool can need more time due to persistent disconnection to a web server. If the option is set to a small value, the tool **takes less time for analyzing, but cannot proceeds the analysis with delayed response due to network environments**.",
  "crawler.client.timeout.message": "Enter a number between 0 and 30,000.",
  "crawler.client.timeout.name": "HTTP client timeout",
  "crawler.client.timeout.placeholder": "Enter a time. (unit: ms)",
  "crawler.crawl.additional_scopes.description": "If a **URL includes at least one of URLs entered in this option, it will be collected**. For instance, when a target URL is set to `http://sparrow.com/main`, the tool does not collect `https://google.com` due to its different scheme and domain. But, after you enter `google.com` in the option, then `https://google.com` will be collected.",
  "crawler.crawl.additional_scopes.message": "Please enter strings only.",
  "crawler.crawl.additional_scopes.name": "Additional crawling URL",
  "crawler.crawl.additional_scopes.placeholder": "Please enter a string. Press Enter key to split items.",
  "crawler.crawl.event_maximum.description": "If this option is set to `HIGH`, the tool **delivers more events on a page** and **takes more time for crawling**. If this option is set to `LOW`, the tool delivers less events on a page and **takes less time for crawling**.",
  "crawler.crawl.event_maximum.message": "Enter a number between 1 and 256.",
  "crawler.crawl.event_maximum.name": "Max Events per Page",
  "crawler.crawl.event_maximum.placeholder": "Enter a number.",
  "crawler.crawl.max_ajax_depth.description": "If this option is set to `HIGH`, the tool **collects DOMs far from the first DOM** generated while browsing to URLs and **takes more time for crawling**. If this option is set to `LOW`, the tool does not collect DOMs far from the first DOM and **takes less time for crawling**.",
  "crawler.crawl.max_ajax_depth.message": "Enter a number between 1 and 10.",
  "crawler.crawl.max_ajax_depth.name": "Max DOM Crawling Depth",
  "crawler.crawl.max_ajax_depth.placeholder": "Enter a crawling depth.",
  "crawler.crawl.max_depth.description": "If this option is set to `HIGH`, the tool **collects URLs far from Target URL** and **takes more time for crawling**. If this option is set to `LOW`, the tool does not collect URLs far from Target URL and **takes less time for crawling**.",
  "crawler.crawl.max_depth.message": "Enter a number between 0 and 256.",
  "crawler.crawl.max_depth.name": "URL Crawling Depth",
  "crawler.crawl.max_depth.placeholder": "Enter a crawling depth.",
  "crawler.crawl.max_url.description": "If the option is set to a large value, you can find the **more number of URLs, but this can lead to increase the crawling time** as well. If the option set to a small value, you can find the **less number of URLs, and this can lead to redue the time**. When the option is empty, `0` will be set by default and does not limit the number of URLs to be crawled.",
  "crawler.crawl.max_url.message": "Enter a number between 0 and 2,147,483,647.",
  "crawler.crawl.max_url.name": "Crawling URLs",
  "crawler.crawl.max_url.placeholder": "Enter a number.",
  "crawler.crawl.records.description": "Log-in record file indicates an .ecl or an .side file recorded about user actions with Sparrow DAST Event Clipboard or Selenium IDE file respectively. If a log-in record file is attached, a crawler can replay user actions in URL crawling and analysis process when it comes to a URL used to record the file in Sparrow DAST Event Clipboard or Selenium IDE. This enables to pass an authentication process in a log-in page.",
  "crawler.crawl.records.message": "Log-in record file needs to be an .ecl file recorded with Sparrow DAST Event Clipboard or a .side file recorded with Selenium IDE.",
  "crawler.crawl.records.name": "Log-in Record File",
  "crawler.crawl.records.placeholder": "Not Applicable",
  "crawler.crawl.selenium_sides.description": "Selenium IDE file is a .side file recorded with user actions with Selenium IDE to use for URL crawling and analyzing. If the Selenium IDE file is attached, the actions from URLs written in Selenium IDE will be replayed during the crawling and analyzing process. So, you can perform log-in or other specific actions in crawling and analyzing pages if needed.",
  "crawler.crawl.selenium_sides.message": "Selenium IDE file needs to be a .side file written in Selenium IDE.",
  "crawler.crawl.selenium_sides.name": "Selenium IDE File",
  "crawler.crawl.selenium_sides.placeholder": "Not Applicable",
  "crawler.crawl.timeout.description": "If the option is set to a large value, the tool **takes more time on crawling** and this can **increase the number of crawling URLs**. If the option is set to a small value, the tool **takes less time on crawling** and this can **lead to decrease the number of crawling URLs**. When the option is empty, `0` will be set by default and does not limit time to crawl.",
  "crawler.crawl.timeout.message": "Enter a number between 0 and 2,147,483,647.",
  "crawler.crawl.timeout.name": "Crawling time limit",
  "crawler.crawl.timeout.placeholder": "Enter a time. (unit: m)",
  "crawler.debug.perform_logger.description": "If this option is set to `ON`, the tool **allows you to check action logs on crawling**, but burdens with larger volumes. If this option is set to 'OFF,' the tool generates logs with small volumes, but it is complicated to check crawler actions.",
  "crawler.debug.perform_logger.message": "Select 'ON' or 'OFF.'",
  "crawler.debug.perform_logger.name": "Detailed execution log",
  "crawler.debug.perform_logger.placeholder": "Not Applicable",
  "crawler.event.group_by_from.description": "FORM tag-based event binding indicates to perform all FORM-related events together by binding events based on FORM. Normally, FORM-related events are correlated. So, it is more efficient to bind all events in a group than to perform each events. If this option is set to 'ON,' all FROM-related events are bound to a group to be performed together. When events in FORM are correlated, this will efficiently perform all events. When not, this can only perform a part of events. If this option is set to 'OFF,' events are performed without considering FORM tags. This can perform all events, even they are not correlated. When events in FORM are correlated, this will inefficiently perform crawling and need more time.",
  "crawler.event.group_by_from.message": "Select 'ON' or 'OFF.'",
  "crawler.event.group_by_from.name": "FORM Tag-based Event Binding",
  "crawler.event.group_by_from.placeholder": "Not Applicable",
  "crawler.exclude.css_selector.description": "If a **page includes at least one of CSS selectors entered in this option, the tool will not conduct any of their HTMLs or sub-elements**. As such, users can **specify not to carry out a certain action, such as clicking a log-out button**, on a page.",
  "crawler.exclude.css_selector.message": "Please enter strings only.",
  "crawler.exclude.css_selector.name": "Excluded element (CSS selector)",
  "crawler.exclude.css_selector.placeholder": "Please enter a CSS selector to exclude. Press Enter key to split items.",
  "crawler.exclude.xpath.description": "If a **page includes at least one of XPaths entered in this option, the tool will not conduct any of their HTMLs or sub-elements**. As such, users can **specify not to carry out a certain action, such as clicking a log-out button**, on a page.",
  "crawler.exclude.xpath.message": "An invalid XPath format.",
  "crawler.exclude.xpath.name": "Excluded element (XPath)",
  "crawler.exclude.xpath.placeholder": "Please enter XPaths to exclude. Press Enter key to split items.",
  "crawler.executor.number_of_threads.description": "Fixed Threads indicates the number of fixed threads to use in URL crawling process. If this option is set to high, the speed will improve, but analyzing process needs more resources. If this option is set to low, the speed will impair, but analyzing process needs less resources. This option defaults to 10.",
  "crawler.executor.number_of_threads.message": "Enter a number between 1 and 256.",
  "crawler.executor.number_of_threads.name": "Fixed Threads",
  "crawler.executor.number_of_threads.placeholder": "Enter a number.",
  "crawler.executor.use_fixed.description": "Enable Fixed Thread indicates to use the fixed number of thread for analyzing performance. If this option is set to 'ON,' crawling process will use the fixed number of threads, and wait for thread completed. If this option is set to 'OFF,' crawling process will use cash threads by adjusting their number. However, they will be terminated after 60 seconds even not completed.",
  "crawler.executor.use_fixed.message": "Select 'ON' or 'OFF.'",
  "crawler.executor.use_fixed.name": "Enable Fixed Thread",
  "crawler.executor.use_fixed.placeholder": "Not Applicable",
  "crawler.include.css_selector.description": "If a **page includes at least one of CSS selectors entered in this option, the tool will conduct any of their HTMLs or sub-elements**. As such, users can **specify to carry out a certain action, such as tagging**, on a page.",
  "crawler.include.css_selector.message": "Please enter strings only.",
  "crawler.include.css_selector.name": "Additional element (CSS selector)",
  "crawler.include.css_selector.placeholder": "Please enter a CSS selector to add. Press Enter key to split items.",
  "crawler.include.xpath.description": "If a **page includes at least one of XPaths entered in this option, the tool will conduct any of their HTMLs or sub-elements**. As such, users can **specify to carry out a certain action, such as tagging**, on a page.",
  "crawler.include.xpath.message": "An invalid XPath format.",
  "crawler.include.xpath.name": "Additional element (XPath)",
  "crawler.include.xpath.placeholder": "Please enter XPaths to add. Press Enter key to split items.",
  "crawler.limit.dom_depth_degree.description": "If this option is set to `HIGH`, the tool **collects DOMs far from the first DOM** generated while browsing to URLs and **takes more time for crawling**. If this option is set to `LOW`, the tool does not collect DOMs far from the first DOM and **takes less time for crawling**.",
  "crawler.limit.dom_depth_degree.extras.0.HIGH": "High",
  "crawler.limit.dom_depth_degree.extras.0.high": "High",
  "crawler.limit.dom_depth_degree.extras.1.MEDIUM": "Medium",
  "crawler.limit.dom_depth_degree.extras.1.medium": "Medium",
  "crawler.limit.dom_depth_degree.extras.2.LOW": "Low",
  "crawler.limit.dom_depth_degree.extras.2.low": "Low",
  "crawler.limit.dom_depth_degree.message": "Enter one among 'HIGH', 'MEDIUM', 'LOW'.",
  "crawler.limit.dom_depth_degree.name": "DOM crawling depth",
  "crawler.limit.dom_depth_degree.placeholder": "N/A",
  "crawler.limit.find_event_degree.description": "If this option is set to `HIGH`, the tool **delivers more events on a page** and **takes more time for crawling**. If this option is set to `LOW`, the tool delivers less events on a page and **takes less time for crawling**.",
  "crawler.limit.find_event_degree.extras.0.HIGH": "High",
  "crawler.limit.find_event_degree.extras.0.high": "High",
  "crawler.limit.find_event_degree.extras.1.MEDIUM": "Medium",
  "crawler.limit.find_event_degree.extras.1.medium": "Medium",
  "crawler.limit.find_event_degree.extras.2.LOW": "Low",
  "crawler.limit.find_event_degree.extras.2.low": "Low",
  "crawler.limit.find_event_degree.message": "Enter one among 'HIGH', 'MEDIUM', 'LOW'.",
  "crawler.limit.find_event_degree.name": "Level of conducted events",
  "crawler.limit.find_event_degree.placeholder": "Not Applicable",
  "crawler.limit.url_depth_degree.description": "If this option is set to `HIGH`, the tool **collects URLs far from Target URL** and **takes more time for crawling**. If this option is set to `LOW`, the tool does not collect URLs far from Target URL and **takes less time for crawling**.",
  "crawler.limit.url_depth_degree.extras.0.HIGH": "High",
  "crawler.limit.url_depth_degree.extras.0.high": "High",
  "crawler.limit.url_depth_degree.extras.1.MEDIUM": "Medium",
  "crawler.limit.url_depth_degree.extras.1.medium": "Medium",
  "crawler.limit.url_depth_degree.extras.2.LOW": "Low",
  "crawler.limit.url_depth_degree.extras.2.low": "Low",
  "crawler.limit.url_depth_degree.message": "Enter one among 'HIGH', 'MEDIUM', 'LOW'.",
  "crawler.limit.url_depth_degree.name": "URL crawling depth",
  "crawler.limit.url_depth_degree.placeholder": "N/A",
  "crawler.openapi.base_url.description": "Base URL used by the API endpoint when the server URL uses a relative path.",
  "crawler.openapi.base_url.description1231": "Base URL used by the API endpoint when the server URL uses a relative path.",
  "crawler.openapi.base_url.message": "Invalid URL format.",
  "crawler.openapi.base_url.name": "Base URL",
  "crawler.openapi.base_url.placeholder": "Enter a base url.",
  "crawler.openapi.spec_files.description": "  ",
  "crawler.openapi.spec_files.message": "Enter a json, yaml, or yml file.",
  "crawler.openapi.spec_files.name": "Analyzing target file",
  "crawler.openapi.spec_files.placeholder": "Not Applicable",
  "crawler.parse.comment.description": "If this option is set to `ON`, the tool **finds and crawls URLs included in HTML comments.** So, the tool can collect more URLs, likely meaningless ones, but need more time to analyze the comments.",
  "crawler.parse.comment.message": "Enter either 'true' or 'false.'",
  "crawler.parse.comment.name": "HTML comment analysis",
  "crawler.parse.comment.placeholder": "Not Applicable",
  "crawler.parse.text.description": "If this option is set to `ON`, the tool **uses URL patterns in plain texts in crawling**. So, the tool can collect more URLs, likely meaningless ones, but need more time to analyze all bodies including HTML.",
  "crawler.parse.text.message": "Enter either 'true' or 'false.'",
  "crawler.parse.text.name": "Plain text analysis",
  "crawler.parse.text.placeholder": "Not Applicable",
  "crawler.request.accept_language.description": "Client Language indicates **a language understandable and region setting preferable from the analyzing client**.",
  "crawler.request.accept_language.extras.0.KO": "Korean",
  "crawler.request.accept_language.extras.0.ko": "Korean",
  "crawler.request.accept_language.extras.1.EN-US": "English (US)",
  "crawler.request.accept_language.extras.1.en-us": "English (US)",
  "crawler.request.accept_language.extras.2.JA": "Japanese",
  "crawler.request.accept_language.extras.2.ja": "Japanese",
  "crawler.request.accept_language.message": "Enter one among 'KO', 'EN', 'JA'.",
  "crawler.request.accept_language.name": "Client language",
  "crawler.request.accept_language.placeholder": "N/A",
  "crawler.request.count_per_second.description": "If the option is set to a large value, the tool **takes less time for crawling due to the increased number of HTTP requests per second**, but **burdens with larger loads on the target server** due to the increased traffic volumes. If the option is set to a small value, the tool **burdens with smaller loads on the target server** due to decreased traffic volumes, but **takes more time for crawling**.",
  "crawler.request.count_per_second.message": "Enter a number between -1 and 10,000.",
  "crawler.request.count_per_second.name": "HTTP requests per sec",
  "crawler.request.count_per_second.placeholder": "Enter a request count.",
  "crawler.request.custom_headers.description": "Please enter **a required header for HTTP request** in this option. So, crawling might get slower due to proxy setting on browser. **With multiple inputs entered for one header, only one of them will be applied** except `Cookie` header. Enter semicolon (;) to split multiple header values.",
  "crawler.request.custom_headers.message": "You cannot empty a name or put a newline character in a name or value.",
  "crawler.request.custom_headers.name": "Custom HTTP header",
  "crawler.request.custom_headers.placeholder": "Enter a header name and its value.",
  "crawler.scan.auto_input.description": "Autocomplete indicates to naturally enter a possible value to the web application. If this option is set to 'ON,' perform clicks or enter values on your browser, and send HTTP requests including parameters in crawling. If this option is set to 'OFF,' perform clicks, and send GET method requests only in crawling.",
  "crawler.scan.auto_input.message": "Select 'ON' or 'OFF.'",
  "crawler.scan.auto_input.name": "Autocomplete",
  "crawler.scan.auto_input.placeholder": "Not Applicable",
  "crawler.skip.url.description": "If a **URL includes at least one of strings entered in this option, it will not be collected**. Yet, a browser might visit the URL for a moment and skip right before crawling.",
  "crawler.skip.url.message": "Please enter strings only.",
  "crawler.skip.url.name": "Excluded crawling URL",
  "crawler.skip.url.placeholder": "Please enter a URL. Press Enter key to split items.",
  "crawler.skip.url_suffix.description": "If the **end of URL includes at least one of strings entered in this option, the URL will not be collected**. A browser checks property values, such as HTML elements and skips the URL before downloading a file, without visiting the site.",
  "crawler.skip.url_suffix.message": "Need to be started with a punctuation mark (.).",
  "crawler.skip.url_suffix.name": "Excluded URL suffix",
  "crawler.skip.url_suffix.placeholder": "Please enter a file extension. Press Enter key or comma to split items.",
  "crawler.skip.urls_only_applying.description": "URLs containing strings entered in this option will be excluded from crawling and analyzing. Unlike the Excluded Crawling URL or Excluded Analysis URL in the General option, the URLs excluded here will be visited with the browser or send a request to the client.",
  "crawler.skip.urls_only_applying.message": "Please enter strings only.",
  "crawler.skip.urls_only_applying.name": "Excluded URL (Simple)",
  "crawler.skip.urls_only_applying.placeholder": "Please enter a URL. Press Enter key to split items.",
  "crawler.ssl.use_certificates.description": "If this option is set to `ON`, the tool **uses SSL certificate submitted in Server Setting**. Therefore, the HTTP client can access to a web server only with the certificate. However, the client cannot access to **other web servers that need SSL certificates** other than the submitted one. If this option is set to `OFF`, the tool accesses to the web server with a trusted or even untrusted SSL certificate. Therefore, it can access to a web server with an invalid SSL certificate, or with SSL certificates not entered in server settings.",
  "crawler.ssl.use_certificates.message": "Select 'ON' or 'OFF.'",
  "crawler.ssl.use_certificates.name": "Enable SSL certificate",
  "crawler.ssl.use_certificates.placeholder": "Not Applicable",
  "crawler.target.contain_entire_seed.description": "If this option is set to `ON`, the tool **finds and analyzes the target URL and its child URLs.** If this option is set to `OFF`, the tool **finds and analyzes parent URLs of Target URL.**",
  "crawler.target.contain_entire_seed.message": "Enter either 'true' or 'false.'",
  "crawler.target.contain_entire_seed.name": "Child Path Crawling",
  "crawler.target.contain_entire_seed.placeholder": "N/A",
  "crawler.target.must_contains.description": "URL Strings to Collect option indicates specific strings of URLs to collect. This option sets to collect URLs with the specified strings, and will be applied in prior to other options.",
  "crawler.target.must_contains.message": "Please enter strings only.",
  "crawler.target.must_contains.name": "URL Strings to Collect",
  "crawler.target.must_contains.placeholder": "Required URL Strings to Collect",
  "crawler.target.seed_urls.description": "Analysis target URL indicates a starting point of crawling and analysis.",
  "crawler.target.seed_urls.message": "Please enter strings only.",
  "crawler.target.seed_urls.name": "Analysis Target URL",
  "crawler.target.seed_urls.placeholder": "Not Applicable",
  "crawler.target.sub_domain.description": "If this option is set to `ON`, the tool **finds and crawls URLs with sub-domains of Target URL.** If this option is set to `OFF`, the tool **does not find or crawl URLs with sub-domains of Target URL.**",
  "crawler.target.sub_domain.message": "Select 'ON' or 'OFF.'",
  "crawler.target.sub_domain.name": "Sub-domain crawling",
  "crawler.target.sub_domain.placeholder": "Not Applicable",
  "crawler.target.upper_extension.description": "If this option is set to `ON`, the tool **finds and analyzes parent URLs of Target URL.** Yet, the parent URLs are likely to be meaningless when unnecessary to be analyzed, or accessible but bringing a browser to other URLs. If this option is set to `OFF`, the tool **finds and analyzes child URLs of Target URL.**",
  "crawler.target.upper_extension.message": "Enter either 'true' or 'false.'",
  "crawler.target.upper_extension.name": "Parent domain crawling",
  "crawler.target.upper_extension.placeholder": "Not Applicable",
  "crawler.upload_period.description": "The cycle at which the crawling and analysis data is sent to the required outer modules. If the option is set to a **smaller value, the external modules can receive more data in a short period of time**, which takes less time, but increases loads. If the option is set to a **larger value, the external module receives relatively little data in the same time**, which takes more time, but is more reliable. The option is set to`10,000` when emptied.",
  "crawler.upload_period.message": "Enter a number between 1,000 and 60,000.",
  "crawler.upload_period.name": "Data Upload Cycle",
  "crawler.upload_period.placeholder": "Enter a time. (unit: ms)",
  "crulechk.ACCESS_CV_QUALIFIED_OBJECT_THROUGH_CV_UNQUALIFIED.msg": "Do not cast away a const qualification to attempt to modify the resulting object.",
  "crulechk.ALIGNAS_CONSISTENCY_CHECKER.bmsg": "Previous declaration does not match the current alignas declaration.",
  "crulechk.ALIGNAS_CONSISTENCY_CHECKER.msg": "The alignas declaration of the global variable {0} does not match the previous declaration.",
  "crulechk.ALLOCATE_SUFFICIENT_MEMORY.msg1": "Allocate sufficient memory for an object. (Missing the boundary checking)",
  "crulechk.ALLOCATE_SUFFICIENT_MEMORY.msg2": "Allocate sufficient memory for an object. (Type mismatch in sizeof)",
  "crulechk.ALLOCATE_SUFFICIENT_MEMORY.sca.desc.as_both": "The boundary of parameter used in function malloc should be  checked. The type of sizeof should correspond to the type of the lvalue.",
  "crulechk.ALLOCATE_SUFFICIENT_MEMORY.sca.desc.as_boundary": "The boundary of parameter used in function malloc should be checked.",
  "crulechk.ALLOCATE_SUFFICIENT_MEMORY.sca.desc.as_sizeof": "The types of sizeof and lvalue should be matched.",
  "crulechk.ALREADY_DEFINE_IDENTIFIER.msg": "All macro identifiers in preprocessor directives shall be defined before use, except in #ifndef preprocessor directives and the defined() operator.",
  "crulechk.ALWAYS_DISCARD_RESULT_OF_ASSIGN.msg": "Always discard the result of an assignment operator.",
  "crulechk.ALWAYS_SET_POINTER_TO_ZERO.msg": "On use of delete always set the pointer to zero after the delete.",
  "crulechk.ARGUMENT_NAMES_SHALL_BE_MATCHED.msg": "The same parameter names shall be matched in function prototype and definition.",
  "crulechk.ARGUMENT_NAMES_SHALL_BE_MATCHED.yMsg": "Function declaration.",
  "crulechk.ARGUMENT_NAMES_SHALL_BE_MATCHED_GLOBAL.msg": "The same parameter names shall be matched in function prototype and definition.",
  "crulechk.ARGUMENT_NAMES_SHALL_BE_MATCHED_GLOBAL.yMsg": "Function declaration.",
  "crulechk.ARRAY_ACCESS_ON_POINTER.msg1": "Array accessing on pointer type. {0}",
  "crulechk.ASSEMBLER_INST_USE_ASM_DECLARATION.msg": "pragma asm is not allowed.",
  "crulechk.ASSERT_WITH_CONSTANT.msg": "A constant expression was passed as an argument to the assert macro.",
  "crulechk.ASSIGNMENT_OPERATOR_SHOULD_RETURN_REFERENCE.msg": "The assignment operator(s) should return a reference to the object.",
  "crulechk.ASSIGNMENT_OPERATOR_SHOULD_RETURN_REFERENCE.sca.desc.default": "The return type is changed into reference type.",
  "crulechk.ASSIGNMENT_OPERATOR_SHOULD_RETURN_REFERENCE.sca.note.desc.check_decl": "The method declarations within the class must also be modified.",
  "crulechk.ASSIGN_ADDRESS_TO_WIDER_SCOPE.msg1": "Do not assign local variable's address to wider scope.",
  "crulechk.ASSIGN_ADDRESS_TO_WIDER_SCOPE.msg2": "A variable is declared in wider scope.",
  "crulechk.ASSIGN_ADDRESS_TO_WIDER_SCOPE.sca.desc.default": "The address of local variable should not be assigned in a wider scope.",
  "crulechk.ASSIGN_ADDRESS_TO_WIDER_SCOPE.sca.note.desc.decl_upper_area": "The variable can be declared in a wider scope.",
  "crulechk.ASSIGN_ADDRESS_TO_WIDER_SCOPE.sca.note.desc.use_dynamic": "Dynamically allocated addresses can be used in a wider scope.",
  "crulechk.ASSIGN_BASE_CLASS_MEMBERS.bMsg": "This base class's assign operator is not called.",
  "crulechk.ASSIGN_BASE_CLASS_MEMBERS.msg": "The assignment operator(s) must assign base class member data.",
  "crulechk.ASSIGN_BASE_CLASS_MEMBERS.sca.desc.default": "Operator= in the base class should be called.",
  "crulechk.ASSIGN_BASE_CLASS_MEMBERS.sca.note.desc.handle_base": "If elements in a base class should be modified in the derived class, then it is better to modify the elements in the base class.",
  "crulechk.ASSIGN_CLASS_MEMBERS.bMsg": "The not assigend member variable.",
  "crulechk.ASSIGN_CLASS_MEMBERS.msg": "The assignment operator(s) must assign all class member data.",
  "crulechk.ASSIGN_CLASS_MEMBERS.sca.desc.default": "The remaining field(s) should be assigned.",
  "crulechk.ASSIGN_CLASS_MEMBERS.sca.note.desc.allocate_dynamic": "According to the design, dynamically allocated memories can be used to assign the field(s) with pointer type.",
  "crulechk.ASSIGN_CLASS_MEMBERS.sca.note.desc.can_use_strcpy": "Function strcpy can be used for static array of char pointer.",
  "crulechk.ASSIGN_CLASS_MEMBERS.sca.note.desc.include_string": "Library string.h should be included.",
  "crulechk.ASSIGN_NON_ZERO_TO_ERRNO.defect": "An integer value other than 0 was assigned to errno.",
  "crulechk.ASSIGN_STRING_TO_CONST_POINTER_CHAR.msg": "The string should only be assigned to a const char pointer.",
  "crulechk.ASSUMPTIONS_ABOUT_FILE_CREATION.msg": "Do not make assumptions about fopen() and file creation.",
  "crulechk.ASYMMETRIC_OPERATOR_MUST_BE_DEFINED_AS_MEMBER.msg": "All asymmetric operators (i.e. (), [], unary * and unary ->) must be defined as member functions.",
  "crulechk.ASYNCHRONOUS_CANCEL_THREADS.msg1": "Do not use threads that can be canceled asynchronous",
  "crulechk.ATOMIC_CAST_CHECKER.msg": "_Atomic qualifier was lost during the conversion of {0}.",
  "crulechk.ATOMIC_EXCHANGE_WEAK_SHOULD_BE_IN_LOOP.msg": "atomic_compare_exchange_weak should be wrapped in a loop.",
  "crulechk.ATOMIC_STRUCT_MEMBER_ACCESS_CHECKER.msg": "Direct access to member {1} of the object {0} declared as _Atomic was attempted.",
  "crulechk.AT_LEAST_ONE_CASE_IN_SWITCH_STMT.MISRA2012.msg1": "Switch statements must have at least 2 case syntax.",
  "crulechk.AT_LEAST_ONE_CASE_IN_SWITCH_STMT.msg1": "Switch statement shall have at least one case clause.",
  "crulechk.AT_LEAST_ONE_EXCEPTION_HANDLER.msg": "There should be an exception handler that can handle all exceptions.",
  "crulechk.AT_MOST_ONE_NON_ABSTRACT_BASE_CLASS.msg": "Write derived classes to have at most one base class which is not a pure abstract class.",
  "crulechk.AUTHENTICATION_ATTEMPT_LIMIT.msg1": "Authentication attempts should be limited.",
  "crulechk.AVOID_AMBIGUOUS_GRAMMAR.msg": "Avoid ambiguous grammar between function style casts and declarations.",
  "crulechk.AVOID_BITWISE_ON_SAME_DATA.msg1": "Avoid performing bitwise and arithmetic operations on the same data",
  "crulechk.AVOID_BITWISE_ON_SAME_DATA.sca.desc.shift_assign": "Use arithmetic assignment operator {1} instead of shift assignment operator {0}.",
  "crulechk.AVOID_BITWISE_ON_SAME_DATA.sca.desc.shift_expr": "Use arithmetic operator {1} instead of shift operator {0}.",
  "crulechk.AVOID_BITWISE_ON_SAME_DATA.sca.note.desc.change_expr": "Use proper expression if the suggested expression is different from intended expression.",
  "crulechk.AVOID_BITWISE_ON_SAME_DATA.sca.note.desc.include_math": "You have to include math.h header file.",
  "crulechk.AVOID_CASTING_TO_VIRTUAL_CLASS.msg": "Avoid casting to a virtual base class as this is irreversible.",
  "crulechk.AVOID_CATCHING_GENERIC_EXCEPTION.msg1": "Catching overly broad exceptions promotes complex error handling code.",
  "crulechk.AVOID_CROSS_SITE_SCRIPTING.msg1": "It should be strong condition tests when creating password.",
  "crulechk.AVOID_DOWNCASTING.msg": "Avoid downcasting base class object pointers to derived class.",
  "crulechk.AVOID_FRIEND_FUNCTION_AND_CLASS.msg": "Ensure friends have a legitimate basis in design, otherwise avoid.",
  "crulechk.AVOID_GLOBAL_VARIABLES.msg": "Avoid global variables.",
  "crulechk.AVOID_IMPLICIT_CONVERSIONS_OF_ARGUMENTS.bMsg": "The {3} parameter is implicitly converted from \"{0}\" type to \"{1}\" type.",
  "crulechk.AVOID_IMPLICIT_CONVERSIONS_OF_ARGUMENTS.msg": "Do not write code that relies on implicit conversions of arguments in function calls.",
  "crulechk.AVOID_IMPLICIT_CONVERSION_OF_CLASS_TEMPLATE.msg": "Avoid implicit conversion from class templates to non-dependent types.",
  "crulechk.AVOID_INBAND_ERROR_INDICATOR.msg1": "Avoid in-band error indicators. A library function return value on error that can never be returned by a successful call to that library function.",
  "crulechk.AVOID_INFINITE_LOOP_WHEN_USE_PFM_TRY_CATCH.msg_blue": "PFM_CATCH label statement.",
  "crulechk.AVOID_INFINITE_LOOP_WHEN_USE_PFM_TRY_CATCH.msg_red": "When use PFM_TRY and PFM_CATCH, avoid infinite loop.",
  "crulechk.AVOID_KEYWORD_AS_MACRO_NAME.msg": "Do not use keyword as macro name.",
  "crulechk.AVOID_MULTIPLE_DECLARATIONS.defect": "Declared two or more variables in a single statement.",
  "crulechk.AVOID_MULTIPLE_DECLARATIONS.member": "Declared two or more member variables in a single statement.",
  "crulechk.AVOID_PARAM_NAME_IN_PROTOTYPE.msg1": "Avoid parameter names in a function prototype",
  "crulechk.AVOID_PTHREAD_MUTEX_NORMAL.msg1": "Avoid using PTHREAD_MUTEX_NORMAL type mutex locks",
  "crulechk.AVOID_PTHREAD_MUTEX_NORMAL.sca.desc.default": "Use 'PTHREAD_MUTEX_ERRORCHECK' instead of 'PTHREAD_MUTEX_NORMAL'.",
  "crulechk.AVOID_RACE_CONDITION_WHEN_USING_LIBRARY.msg1": "Avoid race conditions when using library functions.",
  "crulechk.AVOID_SIDE_EFFECTS_IN_PREDICATES.msg1": "The operator() function object of class {0}, which may be used as a predicate, was declared without const.",
  "crulechk.AVOID_SIDE_EFFECTS_IN_PREDICATES.msg2": "The value of the external variable {0} captured within the lambda, which may be used as a predicate, has been modified.",
  "crulechk.AVOID_SIDE_EFFECT_FROM_FUNCTION_CALL.msg": "Avoid a side effect from function call.",
  "crulechk.AVOID_SIDE_EFFECT_FROM_FUNCTION_CALL.sca.desc.seperate": "seperate expressions for prevent side effect.",
  "crulechk.AVOID_SIDE_EFFECT_FROM_FUNCTION_CALL.sca.note.desc.make_flow": "please check the code-flow is reliable.",
  "crulechk.AVOID_SIDE_EFFECT_IN_EXPRESSION.msg": "Avoid a side effect in expression.",
  "crulechk.AVOID_SIDE_EFFECT_IN_EXPRESSION.sca.desc.seperate": "seperate expressions for prevent side effect.",
  "crulechk.AVOID_SIDE_EFFECT_IN_EXPRESSION.sca.note.desc.code_flow": "please check the code-flow is reliable.",
  "crulechk.AVOID_SIDE_EFFECT_IN_MACRO_ARG.msg1": "Avoid side-effects in arguments to unsafe macros",
  "crulechk.AVOID_SIDE_EFFECT_IN_PARAMETERS.msg": "Avoid a side effect in parameteers.",
  "crulechk.AVOID_SIDE_EFFECT_IN_PARAMETERS.sca.desc.seperate": "seperate expressions for prevent side effect.",
  "crulechk.AVOID_SIDE_EFFECT_IN_PARAMETERS.sca.note.desc.make_flow": "please check the code-flow is reliable.",
  "crulechk.AVOID_STRUCTURE_PADDING.msg1": "The padding is generated in the structure. Avoid information leakage in structure padding.",
  "crulechk.AVOID_THROWING_GENERIC_EXCEPTION.msg1": "Do not throw generic exception.",
  "crulechk.AVOID_USING_STATIC_KEYWORD.msg": "Avoid using the keyword 'static' when declaring objects in namespaces.",
  "crulechk.BAD_ACCESS_VOLATILE_OBJ.msg1": "Do not access a volatile object through a non-volatile reference",
  "crulechk.BAD_ACCESS_VOLATILE_OBJ.sca.desc.default": "Qualifier volatile is added to the referenced variable.",
  "crulechk.BAD_ARGS.FORBIDDEN.AFTER_CALL.msg": "After the call to  ( {0} ), parameter( {1} ) was used.",
  "crulechk.BAD_ARGUMENTS.UMASK.msg": "invalid arguments is used for umask",
  "crulechk.BAD_ASSERT_USAGE.msg1": "Incorporate diagnostic tests using assertions",
  "crulechk.BAD_ASSOCIATE_OPERATORS.msg1": "Treat relational and equality operators as if they were nonassociative",
  "crulechk.BAD_CALL.BACKGRND.BTM.PF.msg1": "On-demand BTM should be call with 'nohup' by back-ground process from SM.",
  "crulechk.BAD_CALL.FORBIDDEN.LIB.PROCESS.msg": "Process library ({0}) was used.",
  "crulechk.BAD_CALL.FORBIDDEN.LIB.RESOURCE.msg": "Resource Limits library ({0}) was used.",
  "crulechk.BAD_CALL.FORBIDDEN.LIB.SIGNAL.msg": "Signal library ({0}) was used.",
  "crulechk.BAD_CALL.FORBIDDEN.LIB.TEMP.msg": "Temporary File library ({0}) was used.",
  "crulechk.BAD_CALL.FORBIDDEN.LIB.TIMER.msg": "Timer library ({0}) was used.",
  "crulechk.BAD_CALL.FORBIDDEN.LIB.TP.msg": "TP(TMAX) library ({0}) was used.",
  "crulechk.BAD_CALL.FORBIDDEN.PARAM.LITERAL.msg": "The constant was used in the function call.",
  "crulechk.BAD_CALL.FORBIDDEN.PARAM.NAME.msg": "The name({0}) was used in the function call.",
  "crulechk.BAD_CALL.FORBIDDEN.PARAM.NUMBER.msg": "Numbers was used in {0}.",
  "crulechk.BAD_CALL.FORBIDDEN.PARAM.STRING.msg1": "The string was used in the function call.",
  "crulechk.BAD_CALL.FORBIDDEN.PARAM.STRING.msg2": "The string({0}) was used in the function call.",
  "crulechk.BAD_CALL.FORBIDDEN.PARAM.msg": "The name({0}) was used in the function call.",
  "crulechk.BAD_CALL.FORBIDDEN.VARARGS.msg": "The variable was used in the function call.",
  "crulechk.BAD_CALL.FORBIDDEN.msg": "Do not call a forbidden method.",
  "crulechk.BAD_CALL.IMPROPER_VARARGS.msg": "Parameter is not a constant or the number of parameter is incorrect.",
  "crulechk.BAD_CALL.INCORRECT_SIZEOF.MEMCPY.msg1": "The parameter is incorrect use of sizeof() for memcpy().",
  "crulechk.BAD_CALL.INVALID_ADDRESS.SCANF.msg1": "scanf's parameters should be reference type",
  "crulechk.BAD_CALL.INVALID_ADDRESS.SCANF.sca.desc.add_ref": "use the reference of variable to argument.",
  "crulechk.BAD_CALL.INVALID_BLOCK_SIZE.ALLOC.msg1": "Allocated memory size should be multiple size of pointer's size.",
  "crulechk.BAD_CALL.INVALID_BLOCK_SIZE.ALLOC.sca.desc.resize": "adjust size to multiple of 4",
  "crulechk.BAD_CALL.LIBRARY.MEMORY.msg": "Memory library ({0}) was used.",
  "crulechk.BAD_CALL.MISSING_CALL_PARAM.EXTENDED.msg": "Did not call a function in a particular argument. or  Argument in the called function is not the same as the primary argument.",
  "crulechk.BAD_CALL.MISSING_CALL_PARAM.msg1": "The function was not used in the function call.",
  "crulechk.BAD_CALL.MISSING_CALL_PARAM.msg2": "The function({0}) was not used in the function call.",
  "crulechk.BAD_CALL.NOT_ALLOWED.PARAM.NAME.msg": "The name({0}) was used in the function call.",
  "crulechk.BAD_CALL.NOT_ALLOWED.PARAM.STRING.msg1": "The string was not used in the function call.",
  "crulechk.BAD_CALL.NOT_ALLOWED.PARAM.STRING.msg2": "The string({0}) was not used in the function call.",
  "crulechk.BAD_CALL.NUMBER_OF_VARARGS_MISMATCH.msg1": "The conversion specification number should be matched with number of arguments.",
  "crulechk.BAD_CALL.NUMBER_OF_VARARGS_MISMATCH.msg2": "The conversion specification number is {0}, but argument's one is only {1}.",
  "crulechk.BAD_CALL.NUMBER_OF_VARARGS_MISMATCH.sca.desc.default": "Add more arguments.",
  "crulechk.BAD_CALL.PARAM.msg1": "The constant should be used at specified parameter in specified function.",
  "crulechk.BAD_CALL.REQUIRED.AFTER_CALL.msg": "function {0} is called, but function {1} is not called.",
  "crulechk.BAD_CALL.REQUIRED.AFTER_CALL_TMP.msg": "This function uses the order was invalid. - order:  {0}",
  "crulechk.BAD_CALL.REQUIRED.ARGS.msg": "Function({0}) does not use parameter({1}).\";",
  "crulechk.BAD_CALL.REQUIRED.LIB_CALL.bMsg": "This is the function of the target.",
  "crulechk.BAD_CALL.REQUIRED.LIB_CALL.msg": "This function is a necessary function.",
  "crulechk.BAD_CALL.REQUIRED.LIB_CALL.nsMsg": "The function {0}() is required but was not used.",
  "crulechk.BAD_CALL.REQUIRED.PARAM.msg": "Banned function({0}) was used.",
  "crulechk.BAD_CALL.REQUIRED.PRE_CALL.msg": "This function uses the order was invalid. - order:  {0}",
  "crulechk.BAD_CALL.REQUIRED.VARARGS.msg": "The variable was not used in the function call.",
  "crulechk.BAD_CALL.REQUIRED.WRAPPER.msg": "{0} is not used as a parameter of the {1}.",
  "crulechk.BAD_CALL.REQUIRED.msg": "Function({0}) was not used.",
  "crulechk.BAD_CALL.SERVICE_MAIN.PF.msg": "Functions - init_proc, input_valid_proc, main_proc, norm_exit_proc, error_exit_proc - should be called in service main block.",
  "crulechk.BAD_CALL.TYPE_MISMATCH.REALLOC.msg1": "The realloc type and the casting type are mismatched.",
  "crulechk.BAD_CALL.TYPE_MISMATCH.REALLOC.msg2": "The realloc type and the casting type are mismatched.",
  "crulechk.BAD_CALL.TYPE_MISMATCH.SPRINTF.msg1": "Buffer is the reference of the array",
  "crulechk.BAD_CALL.TYPE_MISMATCH.SPRINTF.msg2": "Buffer overflow may occur.",
  "crulechk.BAD_CALL.TYPE_MISMATCH.STRING.msg1": "The parameter {0} type is misused.",
  "crulechk.BAD_CALLING_CONVENTION.msg1": "{0} cannot be called in {1}",
  "crulechk.BAD_CAST_COMPLEX_EXPR.msg": "Do not convert between signed and unsigned of the value of a complex expression.",
  "crulechk.BAD_COMPARE.msg1": "Do not compare function pointer to constant value",
  "crulechk.BAD_COMPARE.sca.desc.default": "The function pointer is modified to a function call.",
  "crulechk.BAD_COMPARISON.STRING.msg": "Wrong comparison to string literal.",
  "crulechk.BAD_COMPOUND_STATEMENT.CURLY_BRACE.msg": "Close brace for the compound statement should have same size of the indent with the open brace.",
  "crulechk.BAD_DB_TRANSACTION.msg1": "The commit function has been called.",
  "crulechk.BAD_DB_TRANSACTION.msg2": "The rollback function is missing.",
  "crulechk.BAD_DB_TRANSACTION.msg3": "The rollback function has been called.",
  "crulechk.BAD_DB_TRANSACTION.msg4": "The commit function is missing.",
  "crulechk.BAD_EQUALITY_EXPRESSION.BOOLEAN.msg": "The value on the equality expression is not allowed.",
  "crulechk.BAD_EQUALITY_EXPRESSION.FLOAT.msg": "Do not use equality operators on float values.",
  "crulechk.BAD_EQUALITY_EXPRESSION.FLOAT.sca.desc.fabs": "use fabs function.",
  "crulechk.BAD_ERROR.INVALID_CODE.msg1": "{0} on the ({1})'st parameter did not use.",
  "crulechk.BAD_ERROR.INVALID_CODE.msg2": "{0} on the parameter did not use.",
  "crulechk.BAD_ERROR.MISSING_INIT.msg": "An error code is returned without calling initialize functions.",
  "crulechk.BAD_ERROR.MISSING_LOGGING.msg": "An error code is returned without calling error logging functions.",
  "crulechk.BAD_ERROR.MISSING_RETURN.msg": "There is no return.",
  "crulechk.BAD_FORM_FORLOOP_CONTINUE.msg": "The continue statement shall only be used within a wellformed for loop(satisfies Rule 6-5-1 and 6-5-6).",
  "crulechk.BAD_FUNCTION_ADDRESSING.msg1": "A function identifier shall only be used with either a preceding &, or with a parenthesised parameter list, which may be empty.",
  "crulechk.BAD_HEADER_FILE.DATA.msg1": "Data must be declared at source file (.c) not header.",
  "crulechk.BAD_HEADER_FILE.DEFINE.define": "#define is not defined.",
  "crulechk.BAD_HEADER_FILE.DEFINE.msg1": "The first line of a header file must be started with #ifndef.",
  "crulechk.BAD_INCLUDE.DUPLICATED.msg1": "{0} has been included more than once.",
  "crulechk.BAD_INCLUDE.DUPLICATED.srcMsg": "This is the first include preprocessing statement.",
  "crulechk.BAD_INCLUDE.FORBIDDEN.msg": "The included header file is forbidden.",
  "crulechk.BAD_INCLUDE.INVALID_PATH.msg": "An invalid header file path is used.",
  "crulechk.BAD_INCLUDE.REQUIRED.msg": "A required header file is missing.",
  "crulechk.BAD_INCLUDE.msg": "System header should be included before user header.",
  "crulechk.BAD_INDENTATION.BLOCK.msg1": "Proper indent size is {0}.",
  "crulechk.BAD_INDENTATION.BLOCK.msg2": "Open brace for the compound statement should be last of the line.",
  "crulechk.BAD_INDENTATION.BLOCK.msg3": "Close brace for the compound statement should have same length of indent with open brace.",
  "crulechk.BAD_INDENTATION.BLOCK.msg4": "Test expression for switch statement should be placed right after switch keyword.",
  "crulechk.BAD_INDENTATION.BLOCK.msg5": "Compound statement for switch statement should be placed right after test expression.",
  "crulechk.BAD_INDENTATION.CASE_LABELS.msg1": "Proper indent size is {0}.",
  "crulechk.BAD_INDENTATION.CASE_LABELS.msg2": "Need more than one line between two case labels.",
  "crulechk.BAD_INDENTATION.IMPROPER_LENGTH.msg1": "Indent size should be {0}.",
  "crulechk.BAD_INDENTATION.IMPROPER_LENGTH.msg2": "Do not use tab.",
  "crulechk.BAD_INDENTATION.SOURCE_CODE.mgs1": "A source code must be started at the first column.",
  "crulechk.BAD_INDENTATION.SOURCE_CODE.msg1": "A source code must be started at the first column.",
  "crulechk.BAD_INDENTATION.SWITCH_STATEMENT.msg1": "Test expression for switch statement should be placed right after switch keyword.",
  "crulechk.BAD_INDENTATION.SWITCH_STATEMENT.msg2": "Compound statement for switch statement should be placed right after test expression.",
  "crulechk.BAD_INIT.MISSING_AFTER_DECLARATION.msg": "An initialization is missing after the declaration.",
  "crulechk.BAD_INIT.MISSING_AFTER_DECLARATION.sca.desc.default": "The variable should be initialized when declared.",
  "crulechk.BAD_INIT.MISSING_AFTER_LOCAL_DECLARATION.msg1": "An initialization is needed.",
  "crulechk.BAD_INITIALIZATION.ARRAY.msg1": "An array is improperly initialized.",
  "crulechk.BAD_INITIALIZATION.ARRAY.msg2": "Tried initialize {0} size array with {1} length string.",
  "crulechk.BAD_INITIALIZATION.ARRAY.sca.desc.resize": "Resize the array.  Or let compiler decides it.",
  "crulechk.BAD_INITIALIZATION.ARRAY.sca.desc.sizeup": "Resize the array, at least (length of string + 1).",
  "crulechk.BAD_INITIALIZATION.ARRAY.sca.note.desc.at_least_one_more": "array size should be at least {0}.",
  "crulechk.BAD_INTEGER_CONST_DEFINITION.msg1": "The integer constant is defined as a hexadecimal format",
  "crulechk.BAD_INTEGER_EXPRESSION.msg1": "Both the left operand and the right operand are different type",
  "crulechk.BAD_MACRO.DANGEROUS_USAGE.msg_r": "Avoid side-effects in arguments to unsafe macros",
  "crulechk.BAD_MACRO.DANGEROUS_USAGE.msg_y": "Define macro",
  "crulechk.BAD_MACRO.DUPLICATED.msg": "The macro is duplicated. {0} length string should be considered.",
  "crulechk.BAD_MACRO.DUPLICATED.srcMsg": "The first macro is declared.",
  "crulechk.BAD_MACRO.MISUSE.msg1": "Macro is not used in accordance with the order.",
  "crulechk.BAD_MACRO.MULTI_STMT_WITHOUT_DO_WHILE.msg1": "This macro Is multi-statement macros. Should be enclosed to do-while loop",
  "crulechk.BAD_MACRO.NAME_LENGTH.MISRA2012.msg": "Macro name is more than 63 characters long. {0}",
  "crulechk.BAD_MACRO.NAMING.msg": "The defined macro name is not valid.",
  "crulechk.BAD_MACRO.NO_PARENTHESES.msg1": "Use parentheses within macros around parameter names.",
  "crulechk.BAD_MACRO.NO_PARENTHESES.msg2": "Macro replacement lists should be parenthesized",
  "crulechk.BAD_MACRO.REPLACE_SECURE_FUNCTIONS.msg1": "A secure function is replaced by the macro.",
  "crulechk.BAD_MACRO.TRAILING_SEMICOLON.msg": "The macro is ended with a semicolon.",
  "crulechk.BAD_MACRO_USAGE.msg1": "Do not treat as an object any predefined identifier that might be implemented as a macro",
  "crulechk.BAD_MALLOC.msg1": "wcslen() was used. However, sizeof(wchar_t) and has not been multiplied.",
  "crulechk.BAD_MALLOC.sca.desc.default": "Multiplication with sizeof(wchar_t) is required.",
  "crulechk.BAD_METHOD_DECLARATION.msg1": "Do not use void keyword for function with no argument.",
  "crulechk.BAD_METHOD_DECLARATION.msg2": "There must be no space before comma operator.",
  "crulechk.BAD_METHOD_DECLARATION.msg3": "There must be more than one spaces between comma operator and following parameter.",
  "crulechk.BAD_METHOD_DECLARATION.msg4": "Indentation of parameters should be match with first parameter.",
  "crulechk.BAD_METHOD_DECLARATION.msg5": "Indentation of close parenthesis should be match with open parenthesis.",
  "crulechk.BAD_NAME.BATCH_FILENAME.PF.msg1": "The filename does not start with 'B' or 'U'.",
  "crulechk.BAD_NAME.BATCH_FILENAME.PF.msg2": "The filename contains invalid UPMU code.",
  "crulechk.BAD_NAME.BATCH_FILENAME.PF.msg3": "The last five digits are not consist of number.",
  "crulechk.BAD_NAME.BATCH_FILENAME.PF.msg4": "Four alphabet following UPMU code should be consist of uppercase alphabet.",
  "crulechk.BAD_NAME.BM.PF.msg1": "The filename does not start with 'M'.",
  "crulechk.BAD_NAME.BM.PF.msg2": "The filename contains invalid UPMU code.",
  "crulechk.BAD_NAME.CLASS.msg": "Class names shall begin with 'C' or end with '_c' or '_class'.",
  "crulechk.BAD_NAME.CONSTANT.msg": "The name of the constant is not allowed.",
  "crulechk.BAD_NAME.CONTEXT_VARIABLE.PF.msg": "Improper name of context structure field.",
  "crulechk.BAD_NAME.DBIO.PF.msg": "Improper DBIO file name.",
  "crulechk.BAD_NAME.DEFINE.msg": "Macro name should be only capital character and underscore.",
  "crulechk.BAD_NAME.DUPLICATED.MISRA2012.bMsg": "{0} is previously used here.",
  "crulechk.BAD_NAME.DUPLICATED.MISRA2012.msg": "The identifier has already been taken.",
  "crulechk.BAD_NAME.DUPLICATED.bMsg": "{0} is previously used here.",
  "crulechk.BAD_NAME.DUPLICATED.msg": "The identifier has already been taken.",
  "crulechk.BAD_NAME.ENUM.msg": "Constant name should be only capital character and underscore.",
  "crulechk.BAD_NAME.ENUM_PREFIX.msg1": "The name of the enumerated constant is not allowed. (should be prefix_id)",
  "crulechk.BAD_NAME.ENUM_PREFIX.msg2": "The names of the enumerated constants are not consistent",
  "crulechk.BAD_NAME.GLOBAL_IDENTIFIER_NAME.MISRA2012.msg": "The identifier length of a global variable declared static or external must not exceed 63.",
  "crulechk.BAD_NAME.GLOBAL_VARIABLE.msg": "The declared global variable name is not valid.",
  "crulechk.BAD_NAME.GRID_COUNTER.PF.msg": "Improper grid counter name.",
  "crulechk.BAD_NAME.POINTER_VARIABLE.msg": "The declared pointer variable name is not valid.",
  "crulechk.BAD_NAME.SERVICE.PF.msg1": "Improper length. The length of filename should be {0} length.",
  "crulechk.BAD_NAME.SERVICE.PF.msg2": "The filename contains lower case.",
  "crulechk.BAD_NAME.SERVICE.PF.msg3": "The filename does not start with 'S'.",
  "crulechk.BAD_NAME.SERVICE.PF.msg4": "The filename contains invalid UPMU code.",
  "crulechk.BAD_NAME.SERVICE.PF.msg5": "The filename contains invalid sequence code.",
  "crulechk.BAD_NAME.SERVICE.PF.msg6": "The last character of filename is invalid",
  "crulechk.BAD_NAME.SERVICE_IN_OUT.PF.msg": "Improper name of context structure field.",
  "crulechk.BAD_NAME.SERVICE_STRUCT.PF.msg1": "The filename does not start with 'S'",
  "crulechk.BAD_NAME.SERVICE_STRUCT.PF.msg2": "The filename contains invalid UPMU code.",
  "crulechk.BAD_NAME.SERVICE_STRUCT.PF.msg3": "The filename contains invalid sequence code.",
  "crulechk.BAD_NAME.SERVICE_STRUCT.PF.msg4": "The filename contains invalid sequence code.",
  "crulechk.BAD_NAME.SERVICE_STRUCT.PF.msg5": "The filename contains invalid postfix.",
  "crulechk.BAD_NAME.TOO_LONG.msg": "A length of the identifier exceeds the allowed maximum length {0}.",
  "crulechk.BAD_NAME.USER_DEFINED_TYPE.msg": "User defined type names shall begin with \"T\" or end with \"_t\" or \"_type\".",
  "crulechk.BAD_NAME.VARIABLE.msg": "Do not use a name on the list of forbidden names ({0}).",
  "crulechk.BAD_NAME.VARIABLE_BY_TYPE.msg": "The struct-typed variable name is not valid.",
  "crulechk.BAD_OPERATION_WHILE_POSIX_LOCK.msg1": "Do not perform operations that can block while holding a POSIX lock",
  "crulechk.BAD_OPERATOR.ASSIGNMENT_IN_COND.msg": "Check if it is intended to perform a comparative instead of an assignment.",
  "crulechk.BAD_OPERATOR.ASSIGNMENT_IN_COND.sca.desc.default": "The comparison operator should be used instead of the assignment operator in the conditional expression.",
  "crulechk.BAD_OPERATOR.ASSIGNMENT_IN_COND.sca.note.desc.move_assign": "If assignment operator is intentionally used, then it would be better to use assignment operator outside of the conditional expression.",
  "crulechk.BAD_OPERATOR.EXPRESSION_IN_SIZEOF.msg": "Do not use any expressions in the argument of the sizeof operator.",
  "crulechk.BAD_OPERATOR.LOGICAL_COMPARISON.msg": "Check if it is intended to perform an assignment instead of a comparative operation.",
  "crulechk.BAD_OPERATOR.LOGICAL_COMPARISON.sca.desc.default": "An assignment operator is used instead of the comparison operator.",
  "crulechk.BAD_OPERATOR.LOGICAL_COMPARISON.sca.note.desc.change_operator": "The semantics of the program may be changed hence the source code should be checked carefully.",
  "crulechk.BAD_OPERATOR.TOO_MANY_LOGICAL_OPERATIONS.msg": "Parenthesis is recommended to show precedence explicitly.",
  "crulechk.BAD_PARAM.PFM_SET_ERR.PF.msg1": "Invalid Upmu code",
  "crulechk.BAD_PARAM.PFM_SET_ERR.PF.msg2": "Invalid sequence number",
  "crulechk.BAD_PARAM.PFM_SET_ERR.PF.msg3": "Not 9 digit and number",
  "crulechk.BAD_PARENTHESIS.msg1": "There must be no space between open and close parenthesis.",
  "crulechk.BAD_PARENTHESIS.msg2": "There must be more than one space between open parenthesis and parameter.",
  "crulechk.BAD_PARENTHESIS.msg3": "There must be more than one space between parameter and close parenthesis.",
  "crulechk.BAD_PATH_MANIPULATION.msg": "result of PathAppend storing less than 260 length array.",
  "crulechk.BAD_PRIVILEGE_ASSIGNMENT.msg1": "It is dangerous to grant root privileges.",
  "crulechk.BAD_PRIVILEGE_RELINQUISHMENT.msg1": "setgid is called after calling setuid.",
  "crulechk.BAD_QUALIFIER.FORBIDDEN.PARAM_PTR.msg": "parameter have qualifier({0}).",
  "crulechk.BAD_QUALIFIER.FORBIDDEN.msg": "The qualifier is forbidden.",
  "crulechk.BAD_QUALIFIER.REQUIRED.PARAM_PTR.msg": "parameter have not qualifier({0}).",
  "crulechk.BAD_RETURN_TEST.msg1": "The return value has not been compared.",
  "crulechk.BAD_RETURN_TEST.msg2": "The return value has been compared with a non-zero value.",
  "crulechk.BAD_RETURN_TEST.msg3": "The comparison cannot distinguish known returned states from the call.",
  "crulechk.BAD_RETURN_TEST.msg_blue": "The value was returned.",
  "crulechk.BAD_RETURN_TEST.sca.desc.default": "The return value is compared with 0.",
  "crulechk.BAD_RETURN_TEST.sca.note.desc.check_logic": "If this suggestion is opposed to your intention, then please modify the conditional expression proper to the logic.",
  "crulechk.BAD_SEMICOLON.WHILE_STATEMENT.msg": "Terminating semicolon for do-while statement should be placed right after close parenthesis.",
  "crulechk.BAD_STRING_MANAGEMENT.msg1": "You can not use multibyte string functions.",
  "crulechk.BAD_STRUCT.ALIGNMENT.msg": "A size of the structure is {0} which is not a multiple of the alignment size {1}.",
  "crulechk.BAD_STRUCT.PADDING.msg": "A bad structure since there exist paddings.",
  "crulechk.BAD_STRUCT.SIZE.msg": "A size of the structure  is bigger than the allowed maximum size.",
  "crulechk.BAD_STRUCT_MEMBER_ACCESS.msg": "{0} variable has been used for more than {1} times.",
  "crulechk.BAD_SUFFIX_FOR_LONG_VALUE.msg1": "Use \"L\" not \"l\" to indicate a long value",
  "crulechk.BAD_SUFFIX_FOR_LONG_VALUE.sca.desc.default": "Use uppercase 'L' instead of lowercase 'L'('l'). The lowercase 'L' may be confused with number 1.",
  "crulechk.BAD_TRY_CATCH_MACRO_USAGE.bMsg": "A catch macro has been used.",
  "crulechk.BAD_TRY_CATCH_MACRO_USAGE.msg": "A try macro is used after the catch macro usage.",
  "crulechk.BAD_TYPE.FORBIDDEN.CHAR.msg": "The char type is forbidden.",
  "crulechk.BAD_TYPE.FORBIDDEN.FLOAT.msg": "The float type is forbidden.",
  "crulechk.BAD_TYPE.FORBIDDEN.msg": "The type is forbidden.",
  "crulechk.BAD_TYPE.NOT_ALLOWED.ARRAY.msg": "The array type is not allowed.",
  "crulechk.BAD_TYPE.NOT_ALLOWED.COMPOUND.msg": "The compound type on the variable is not allowed.",
  "crulechk.BAD_TYPE.NOT_ALLOWED.PTR.msg": "The pointer type is not allowed.",
  "crulechk.BAD_TYPE.NOT_ALLOWED.TYPEDEF.msg": "The typedef type on the variable is not allowed.",
  "crulechk.BAD_TYPE.NOT_ALLOWED.msg": "The basic type is not allowed.",
  "crulechk.BAD_TYPE.NOT_TYPEDEF.ARRAY.msg": "An array of the type is not allowed without typedef.",
  "crulechk.BAD_TYPE.NOT_TYPEDEF.MEMBER.msg": "The member variable type is not allowed without typedef.",
  "crulechk.BAD_TYPE.NOT_TYPEDEF.PARAM.msg": "The parameter type is not allowed without typedef.",
  "crulechk.BAD_TYPE.NOT_TYPEDEF.PTR.msg": "The pointer type is not allowed without typedef.",
  "crulechk.BAD_TYPE.NOT_TYPEDEF.RETURN.msg": "The return type is not allowed without typedef.",
  "crulechk.BAD_TYPE.NOT_TYPEDEF.msg": "The variable type is not allowed without typedef.",
  "crulechk.BAD_TYPE_DECLARATION.msg1": "Format of type declaration should be \"{0}\".",
  "crulechk.BAD_TYPE_DECLARATION.msg2": "Use proper indenatation for type declaration.",
  "crulechk.BAD_TYPE_DECLARATION.msg3": "Do not declare more than one field per line.",
  "crulechk.BAD_TYPE_DECLARATION.msg4": "Use proper indenatation for type declaration",
  "crulechk.BAD_VARIABLE_DECLARATION.LOOP.msg1": "Loop index variable must be declared at for statement",
  "crulechk.BAD_VARIABLE_DECLARATION.LOOP.msg2": "Loop index variable should have more meaningful name.",
  "crulechk.BAD_VARIABLE_DECLARATION.LOOP.msg3": "The initialization part is empty!",
  "crulechk.BAD_VLA_PARAMETER.msg": "Declared a function with a parameter of an unsupported variable-length array type.",
  "crulechk.BAD_WHITESPACE.ACCESSING.msg1": "There must be no spaces before open bracket([) of subscript operator.",
  "crulechk.BAD_WHITESPACE.ACCESSING.msg2": "There must be no spaces after open bracket([) of subscript operator.",
  "crulechk.BAD_WHITESPACE.ACCESSING.msg3": "There must be no spaces before dot field operator(.).",
  "crulechk.BAD_WHITESPACE.ACCESSING.msg4": "There must be no spaces after dot field operator(.).",
  "crulechk.BAD_WHITESPACE.ACCESSING.msg5": "There must be no spaces before points-to field operator(->).",
  "crulechk.BAD_WHITESPACE.ACCESSING.msg6": "There must be no spaces after points-to field operator(->).",
  "crulechk.BAD_WHITESPACE.BASIC_OPERATORS.msg": "whitespace needed to every between operators",
  "crulechk.BAD_WHITESPACE.CALL.msg1": "Open parenthesis should follow right after the function name.",
  "crulechk.BAD_WHITESPACE.CALL.msg2": "There must be no space before comma operator.",
  "crulechk.BAD_WHITESPACE.CALL.msg3": "There must be more than one spaces between comma operator and following parameter.",
  "crulechk.BAD_WHITESPACE.CALL.msg4": "There must be one space between open parenthesis and parameters.",
  "crulechk.BAD_WHITESPACE.CALL.msg5": "There must be one space between close parenthesis and parameters.",
  "crulechk.BAD_WHITESPACE.CALL.msg6": "There must be no space between open parenthesis and close parenthesis.",
  "crulechk.BAD_WHITESPACE.CASTING.msg1": "There must be no newline between cast operator and its operand.",
  "crulechk.BAD_WHITESPACE.CASTING.msg2": "There must be no spaces for cast operation.",
  "crulechk.BAD_WHITESPACE.COMMA.msg1": "There must be no spaces between comma operator and left operand.",
  "crulechk.BAD_WHITESPACE.COMMA.msg2": "There must be single space between comma operator and right operand.",
  "crulechk.BAD_WHITESPACE.FOR_STATEMENT.msg1": "There must be single space after open parenthesis of for statement.",
  "crulechk.BAD_WHITESPACE.FOR_STATEMENT.msg2": "There must be single space after open parenthesis.",
  "crulechk.BAD_WHITESPACE.FOR_STATEMENT.msg3": "There must be single space before close parenthesis of for statement.",
  "crulechk.BAD_WHITESPACE.FOR_STATEMENT.msg4": "There must be single space before close parenthesis.",
  "crulechk.BAD_WHITESPACE.FOR_STATEMENT.msg5": "There must be spaces after semicolon.",
  "crulechk.BAD_WHITESPACE.FUNCTION.msg": "Open parenthesis should follow right after the function name.",
  "crulechk.BAD_WHITESPACE.IF_STATEMENT.msg1": "There must be single space after open parenthesis of if statement.",
  "crulechk.BAD_WHITESPACE.IF_STATEMENT.msg2": "There must be single space before close parenthesis of if statement.",
  "crulechk.BAD_WHITESPACE.KEYWORD.msg": "There must be a space after reserved keyword.",
  "crulechk.BAD_WHITESPACE.POINTER.msg": "Type declarator \"*\" must be placed right before the variable name.",
  "crulechk.BAD_WHITESPACE.SEMICOLON.msg": "There must be no space before semicolon.",
  "crulechk.BAD_WHITESPACE.SWITCH_STATEMENT.msg1": "There must be single space after open parenthesis of switch statement",
  "crulechk.BAD_WHITESPACE.SWITCH_STATEMENT.msg2": "There must be single space before close parenthesis of switch statement.",
  "crulechk.BAD_WHITESPACE.WHILE_STATEMENT.msg1": "There must be single space after open parenthesis of while statement.",
  "crulechk.BAD_WHITESPACE.WHILE_STATEMENT.msg2": "There must be single space before close parenthesis of while statement.",
  "crulechk.BAD_WHITESPACE.WHILE_STATEMENT.msg3": "There must be single space after open parenthesis of do-while statement.",
  "crulechk.BAD_WHITESPACE.WHILE_STATEMENT.msg4": "There must be single space before close parenthesis of do-while statement.",
  "crulechk.BANNED_ADVANCED_MEMORY_MANAGEMENT.msg_dtor": "Explicit call to destructor {0} was made.",
  "crulechk.BANNED_ADVANCED_MEMORY_MANAGEMENT.msg_lowlevel": "A call to the prohibited low-level memory management function {0} was made.",
  "crulechk.BANNED_ADVANCED_MEMORY_MANAGEMENT.msg_op_overload": "Operator overloading for operator {0} has been declared within the class.",
  "crulechk.BANNED_ADVANCED_MEMORY_MANAGEMENT.msg_placement": "Used placement new operator to create {0} object.",
  "crulechk.BANNED_C_STYLE_CHAR_FUNCTION.msg": "A call to the forbidden C-style character handling function {0} was made.",
  "crulechk.BANNED_C_STYLE_MEMORY_MANIPULATING_FUNCTION.msg": "A call to the forbidden C-style memory manipulation function {0} was made.",
  "crulechk.BANNED_C_STYLE_STRING_FUNCTION.msg": "A call to the forbidden C-style string handling function {0} was made.",
  "crulechk.BASE_CLASS_NOT_BE_VITRUAL_AND_NON_IN_SAME_HIERARCHY.msg": "Base classes should be derived only virtual or non-virtual.",
  "crulechk.BASE_CLASS_SHOULD_BE_DECLARED_VIRTUAL_ONLY_IN_DIAMOND_HIERARCHY.msg": "A base class should only be declared virtual if it is used in a diamond hierarchy.",
  "crulechk.BEWARE_LARGER_SIZE_INT_EXPR.msg1": "Evaluate integer expressions in a larger size before comparing or assigning to that size",
  "crulechk.BEWARE_OF_COMPILER_OPTIMIZATIONS.msg": "Beware of compiler optimizations.",
  "crulechk.BEWARE_OF_PRECISION_LOSS.msg": "Beware of precision loss when converting integral types to floating point.",
  "crulechk.BEWARE_OF_PRECISION_LOSS.sca.desc.default": "If a number is over 2^24 then a real type should be used.",
  "crulechk.BEWARE_OF_PRECISION_LOSS.sca.note.desc.change_casting_type": "If the value is a result from explicit casting then the type of casting should be modified properly.",
  "crulechk.BEWARE_OF_PRECISION_LOSS.sca.note.desc.change_other_code": "The related code fragments should be modified since the type of variable is changed.",
  "crulechk.BEWARE_OF_PRECISION_LOSS.sca.note.desc.check_decl": "The declaration of the method should be modified properly.",
  "crulechk.BEWARE_OF_PRECISION_LOSS.sca.note.desc.check_variable": "The type of the variable should be checked if it has enough precision when the result of casting is assigned to the variable.",
  "crulechk.BEWARE_RACE_CONDITION.msg1": "Beware of race conditions when using fork and file descriptors",
  "crulechk.BEWARE_THIRD_PARAM_IN_MAIN.msg1": "Do not rely on an environment pointer following an operation that may invalidate it",
  "crulechk.BEWARE_THIRD_PARAM_IN_MAIN.msg2": "function {0} is called",
  "crulechk.BEWARE_USE_FLEXIBLE_ARRAY_MEMBER.msg1": "Allocate and copy structures containing flexible array members dynamically",
  "crulechk.BEWARE_USE_FLEXIBLE_ARRAY_MEMBER.msg2": "A flexible array member is declared",
  "crulechk.BEWARE_USE_FLEXIBLE_ARRAY_MEMBER.sca.desc.default": "A struct which has flexible array member should be allocated dynamically.",
  "crulechk.BEWARE_USE_FLEXIBLE_ARRAY_MEMBER.sca.note.desc.argument": "Please modify the body of the function properly.",
  "crulechk.BEWARE_USE_FLEXIBLE_ARRAY_MEMBER.sca.note.desc.size": "\"ARRAY_SIZE\" means the size of flexible array. Please set the value properly.",
  "crulechk.BITFIELD_SIGNED_TYPE_AT_LEAST_TWO_BITS.msg1": "Signed bit fields should be at least 2 bits long.",
  "crulechk.BITFIELD_SIGNED_TYPE_AT_LEAST_TWO_BITS.sca.desc.default": "Bit-field of signed integer type should be at least two bits long.",
  "crulechk.BITWISE_OPERANDS_SHOULD_HAVE_SAME_TYPE.msg": "Both operands should have the same type.",
  "crulechk.BITWISE_OPERATION_BOOLEAN.msg1": "Do not bitwise on boolean operands.",
  "crulechk.BITWISE_OPERATION_BOOLEAN.sca.desc.default": "Type boolean is changed into type integer.",
  "crulechk.BITWISE_OPERATION_BOOLEAN.sca.note.desc.change_other_code": "The type of variable is modified hence related code fragments should be modified accordingly.",
  "crulechk.BITWISE_RESULT_SHALL_CAST_IMMEDIATELY.msg1": "If the bitwise operators ~ and << are applied to an operand of underlying type unsigned char or unsigned short, the result shall be immediately cast to the underlying type of the operand.",
  "crulechk.BITWISE_RESULT_SHALL_CAST_IMMEDIATELY.sca.desc.default": "If the bitwise operators ~ and << are applied to an operand of underlying type unsigned char or unsigned short, the result shall be immediately cast to the underlying type of the operand.",
  "crulechk.BIT_FIELDS_SHALL_BE_EXPLICIT_SIGNGED_TYPE.msg": "Bit-field should have a bool, unsigned int, or signed int type.",
  "crulechk.BIT_FIELD_IN_UNION.msg": "Member {1} of union {0} is declared as a bit field.",
  "crulechk.BIT_OPERATION_ON_LOGICAL_EXPR.msg1": "The operands in need effectively boolean contain bit operator(|, &).",
  "crulechk.BODY_SHOULD_BE_HIDDEN_WHEN_UNDEREFERENCED.msg": "Unused object definition should be hidden.",
  "crulechk.BOOLEAN_EXPR_IN_SWITCH.msg1": "Effectively Boolean or Boolean value should not be placed in switch expression.",
  "crulechk.BOOLEAN_EXPR_IN_SWITCH.sca.desc.remove": "delete the switch statement include bool value.",
  "crulechk.BOOLEAN_EXPR_IN_SWITCH.sca.note.desc.make_flow": "please check the code-flow is reliable.",
  "crulechk.BRACE_OF_STATEMENT_SHOULD_OCCUPY_LINE.msg": "Brace should occupy one line",
  "crulechk.BSSC.NAMING_CONVENTION.FUNCTION.msg": "Function names consist of one or more words where each word is capitalised.",
  "crulechk.BSSC.NAMING_CONVENTION.VARIABLE.msg": "Variable names consist of one or more words where each word except the first is capitalised.",
  "crulechk.BYTE_COMPARISON_STRUCT.msg1": "Do not perform byte-by-byte comparisons involving a structure",
  "crulechk.BYTE_COMPARISON_STRUCT.sca.desc.default": "The fields of each structure should be compared directly instead of using function memcmp.",
  "crulechk.BYTE_COMPARISON_STRUCT.sca.note.desc.overloading_operator": "If fields of a structure should be compared specially then operator==(), operator!=(), or operator&lt;() should be overloaded.",
  "crulechk.CALL_EVERY_FUNCTION_GLOBAL.msg": "This function has not been called.",
  "crulechk.CALL_ORDER_POSSIBLE_SIDE_EFFECT.msg": "Function call order can cause a side effect.",
  "crulechk.CALL_UNINIT_VAR_WITH_CONST.msg1": "Do not pass uninitialized pointer to const argument.",
  "crulechk.CALL_UNINIT_VAR_WITH_CONST.msg_blue": "The function is declared here",
  "crulechk.CALL_UNINIT_VAR_WITH_CONST.sca.desc.remove": "remove line.",
  "crulechk.CALL_UNINIT_VAR_WITH_CONST.sca.note.desc.code_flow": "please check the code-flow is reliable.",
  "crulechk.CALL_VAARG_ON_INDETERMINATE_VALIST.msg": "Do not call va_arg() on a va_list that has an indeterminate value.",
  "crulechk.CALL_VIRTUAL_IN_CONSTRUCTOR.msg": "Do not directly or indirectly invoke a virtual function from a constructor or destructor.",
  "crulechk.CALL_VIRTUAL_WITHOUT_QUALIFIER_IN_CTOR_DTOR.msg1": "The virtual function is called in constructor/destructor without qualifier.",
  "crulechk.CALL_VIRTUAL_WITHOUT_QUALIFIER_IN_CTOR_DTOR.sca.desc.insert": "insert qualifier.",
  "crulechk.CALL_VIRTUAL_WITHOUT_QUALIFIER_IN_CTOR_DTOR.sca.desc.remove": "remove virtual function call.",
  "crulechk.CALL_VIRTUAL_WITHOUT_QUALIFIER_IN_CTOR_DTOR.sca.note.desc.make_flow": "please check the code-flow is reliable.",
  "crulechk.CAST_AFTER_MEM_ALLOC.msg1": "Immediately cast the result of a memory allocation function call into a pointer to the allocated type",
  "crulechk.CAST_AFTER_MEM_ALLOC.sca.desc.default": "The return value of allocation functions should be cast to the underlying type",
  "crulechk.CAST_ALTERS_VALUE.msg1": "Cast alters value : {0}",
  "crulechk.CAST_CHAR_TO_UNSIGNED_BEFORE_CONVERTING_INT.msg1": "Cast characters to unsigned types before converting to larger integer sizes",
  "crulechk.CATCH_ALL_EXCEPTIONS_THROWN_EXPLICITLY.msg": "Catch all exceptions thrown explicitly.",
  "crulechk.CATCH_EXCEPTIONS_BY_REFERENCE.msg": "Catch exceptions by reference.",
  "crulechk.CATCH_EXCEPTIONS_BY_REFERENCE.sca.desc.default": "Recieve exceptions as reference.",
  "crulechk.CATCH_EXCPETIONS_IN_HIERACHICAL_ORDER.msg": "Handlers should be declared in order from derived to base class.",
  "crulechk.CHAINED_DESIGNATOR_MIXED_POSITIONAL.msg": "Mixed designated initializers and ordered initializers when initializing struct variable {0}.",
  "crulechk.CHECK.DUPLICATED_PARAM.msg": "The same variable was passed as a function argument.",
  "crulechk.CHECK.FIELD_ARRAY_LENGTH.msg": "The array element number of field {0} is not {1}, expected {2}.",
  "crulechk.CHECK_ERROR_AFTER_SETTING_ERRNO.msg": "After calling the set errno function, you should check for errors by comparing it to 0.",
  "crulechk.CHECK_EXIST_LINK_FILES.msg1": "Check for the existence of links when dealing with files.",
  "crulechk.CHECK_EXIST_LINK_FILES.sca.desc.default": "Open the file with O_NOFOLLOW flag",
  "crulechk.CHECK_FOR_ASSIGNING_OBJECT_TO_ITSELF.msg": "The assignment operator(s) must check for assigning an object to itself.",
  "crulechk.CHECK_POINTER_TYPE_OF_MEM_FUNCTIONS.sink": "{0} Pointer arguments passed to a function must be of the same type",
  "crulechk.CHROOT_JAIL_WITHOUT_CHANGE_WORK_DIR.msg1": "Function ({0}) has been called, but {1} has not been called.",
  "crulechk.CLASS_MEMBER_SHOULD_NOT_BE_PUBLIC.msg": "Class member variables must not be declared 'public'.",
  "crulechk.CLASS_SHOULD_DECLARE_ASSIGNMENT_OPERATOR.msg": "The class should always declare an assignment operator.",
  "crulechk.CLASS_SHOULD_DECLARE_CONSTRUCTOR.msg": "A class should always declare a constructor.",
  "crulechk.CLASS_SHOULD_DECLARE_COPY_CONSTRUCTOR.msg": "A class should always declare a copy constructor.",
  "crulechk.CLASS_SHOULD_DECLARE_DESTRUCTOR.msg": "A class should always declare a destructor.",
  "crulechk.CLEANUP_THREAD_SPECIFIC_STORAGE.msg": "register destructor function  to tss_create()",
  "crulechk.CND_WAIT_SHOULDE_BE_IN_LOOP.msg1": "calling cnd_wait expression is not in the loop statement",
  "crulechk.CND_WAIT_SHOULDE_BE_IN_LOOP.msg2": "calling wait expression is not in the loop statement",
  "crulechk.COMMENT_STARTER_IN_COMMENT.msg1": "The disallowed comment start string {0} was used within the comment.",
  "crulechk.COMPARE_EOF_TO_STANDARD_LIBRARY_FUNCTIONS.msg": "Functions that can return an EOF value should be compared without modifying the return value.",
  "crulechk.COMPARE_LOOP_COUNTER.msg": "If the loop counter is not modified by -- or ++ in an increment statement, use <=, <,>, or> = in the condition statement.",
  "crulechk.COMPLEX_CONTROL_IN_SWITCH.msg1": "Do not use a switch statement to transfer control into a complex block",
  "crulechk.COMPLEX_FUNC_DECL.msg1": "Too complex function declaration",
  "crulechk.COMPOUND_LITERAL_ADDRESS_INSIDE_LOOP.msg1": "Understand the storage of compound literals",
  "crulechk.CONCATENATE_DIFF_TYPE_STR.msg1": "Do not concatenate different type of string literals",
  "crulechk.CONCATENATE_DIFF_TYPE_STR.sca.desc.add": "matching string literal type.",
  "crulechk.CONCATENATE_DIFF_TYPE_STR.sca.desc.remove": "matching string literal type.",
  "crulechk.CONDVAR_MULTI_MUTEX_CHECKER.bmsg": "Condition variable {0} is used with two or more mutexes, including mutex {1}.",
  "crulechk.CONDVAR_MULTI_MUTEX_CHECKER.msg": "Condition variable {0} has been associated with mutex {1}.",
  "crulechk.COND_ARRAY_DECAY_ON_TEMPORARY.msg": "Pointer conversion occurred for an array {0} of objects with temporary lifetime.",
  "crulechk.COND_BAD_THREAD_OBJ_DURATION.msg": "The variable {0} is declared as a local variable and passed to thread and synchronization creation functions, which poses a risk of lifetime mismatch.",
  "crulechk.COND_COMP_MISMATCH.msg_endif": "#if directive has started, but there is no corresponding #endif directive in the current file.",
  "crulechk.COND_COMP_MISMATCH.msg_if": "There is no corresponding #if for this conditional compilation end directive.",
  "crulechk.COND_NO_QUAL_ON_FUNCTION_TYPE.msg": "The {1} qualifier has been applied to the function type {0}.",
  "crulechk.CONSTANT_ON_LEFT_HANDSIDE.msg": "When comparing variables and constants for equality always place the constant on the left hand side.",
  "crulechk.CONSTANT_ON_LEFT_HANDSIDE.sca.desc.default": "Perform the operation placing the constant to left",
  "crulechk.CONSTEXPR_IN_SWITCH.msg": "constexpr is used in switch epxression.",
  "crulechk.CONST_IN_LOOP_TEST.msg1": "A constant value is in the loop condition",
  "crulechk.CONST_MEMBER_FUNCTION_SHOULD_NOT_RETURN_NONCONST.msg": "Do not return non-const handles to class data from const member functions.",
  "crulechk.CONST_VALUE_MODIFICATION.msg1": "Do not modify constant values",
  "crulechk.CONST_VALUE_MODIFICATION.refer": "Do not declare a const reference to the part of the referrer types. This const declaration is ignored.",
  "crulechk.CONVERSION_OPERATOR_CLASS_TYPE.msg": "Do not provide conversion operators for class types.",
  "crulechk.CONVERSION_OPERATOR_CLASS_TYPE.sca.desc.default": "Change conversion operator to explicit method.",
  "crulechk.CONVERSION_OPERATOR_CLASS_TYPE.sca.note.desc.change_other_code": "You should modify related codes since the interface is changed.",
  "crulechk.CONVERSION_OPERATOR_FUNDAMENTAL_TYPE.msg": "Do not declare conversion operators to fundamental types.",
  "crulechk.CONVERSION_OPERATOR_FUNDAMENTAL_TYPE.sca.desc.default": "Change conversion operator to explicit method.",
  "crulechk.CONVERSION_OPERATOR_FUNDAMENTAL_TYPE.sca.note.desc.change_other_code": "You should modify related codes since the interface is changed.",
  "crulechk.CONVERT_FLOATING_POINT_IN_FLOATING_OPERATION.msg1": "Convert integers to floating point for floating-point operations",
  "crulechk.CONVERT_INT_TO_FLOAT_FOR_FLOAT_OPERATION.msg1": "Convert integers to floating point for floating point operations",
  "crulechk.CORRECT_DECLARE_FLEXIBLE_ARRAY_MEMBER.msg1": "Use the correct syntax when declaring flexible array members in C99.",
  "crulechk.CORRECT_DECLARE_FLEXIBLE_ARRAY_MEMBER.sca.desc.default": "If you want to use flexible array member, do not specify size of the array in C99.",
  "crulechk.CRITICAL_PUBLIC_VARIABLE_WITHOUT_CONST_MODIFIER.msg": "A critical public variable has been used without a const modifier.",
  "crulechk.CRITICAL_VARIABLE_IN_PUBLIC.msg1": "critical variable in public field.",
  "crulechk.CTORS_SHOULD_NOT_HAVE_SIDE_EFFECT.msg1": "Do not assume that copy constructor invocations will not be elided.",
  "crulechk.CTYPE_VALUE_SHOULD_BE_USSIGNED_OR_EOF.msg": "The values passed to the function can only be values within the range of EOF and unsigned char.",
  "crulechk.CYCLOMATIC_COMPLEXITY_METRIC.msg1": "Too many decision points on {0}.({1}, MAX = {2})",
  "crulechk.CYCLOMATIC_COMPLEXITY_METRIC.yMsg": "Decision point #{0}.",
  "crulechk.DANGEROUS_FUNC_CAST.msg1": "Dangerous function cast : {0}",
  "crulechk.DANGEROUS_FUNC_CAST.msg_type1": "Dangerous function cast. : Return type of {0}(Size:{1}) is not compatible with Return type of {2}(Size:{3})",
  "crulechk.DANGEROUS_FUNC_CAST.msg_type2": "Dangerous function cast. : {0} and {1}have different number of arguments",
  "crulechk.DANGEROUS_FUNC_CAST.msg_type3": "Dangerous function cast. : {0}th argument is incompatible({1} <> {2})",
  "crulechk.DANGEROUS_FUNC_CAST.msg_type_unknown1": "Origin type is unknown.",
  "crulechk.DANGEROUS_FUNC_CAST.msg_type_unknown2": "Target type is unknown.",
  "crulechk.DEALLOCATORS_MUST_NOT_THROW_EXCEPTIONS.msg": "Deallocators must not throw exceptions",
  "crulechk.DECLARE_AT_THE_BEGINNING_OF_BLOCK.msg1": "Local variables must be declared at the top of the function.",
  "crulechk.DECLARE_CONST_MEMBER_FUNCTION.msg": "Declare 'const' any class member function that does not modify the externally visible state of the object.",
  "crulechk.DECLARE_CONTROL_VARIABLES_WITHIN_FOR.msg": "Declare for loop control variables within the for statement instead of using an existing variable.",
  "crulechk.DECLARE_COPY_CONSTRUCTOR_PROTECTED.msg": "Declare the copy assignment operator protected in an abstract class.",
  "crulechk.DECLARE_DESTRUCTOR_FOR_RESOURCE_CLASS.bMsg": "Pointer type field is declared.",
  "crulechk.DECLARE_DESTRUCTOR_FOR_RESOURCE_CLASS.msg": "Declare of define explicit destructor for class with pointers.",
  "crulechk.DECLARE_DESTRUCTOR_FOR_RESOURCE_CLASS.sca.desc.default": "Explicitly declare destructor.",
  "crulechk.DECLARE_DESTRUCTOR_FOR_RESOURCE_CLASS.sca.note.desc.destructor": "Need to implement destructor.",
  "crulechk.DECLARE_DESTRUCTOR_USING_NEW.bMsg": "New expression is used here.",
  "crulechk.DECLARE_DESTRUCTOR_USING_NEW.msg": "Declare of define explicit destructor if a class uses new.",
  "crulechk.DECLARE_DESTRUCTOR_USING_NEW.sca.desc.default": "Explicitly declare destructor.",
  "crulechk.DECLARE_DESTRUCTOR_USING_NEW.sca.note.desc.destructor": "Need to implement destructor.",
  "crulechk.DECLARE_EXPLICIT.msg": "Declare all single argument constructors as explicit thus preventing their use as implicit type convertors.",
  "crulechk.DECLARE_EXPLICIT.sca.desc.default": "Add the explicit keyword where the single argument constructor is declared.",
  "crulechk.DECLARE_EXPLICIT.sca.note.desc.default_arg": "When a constructor with multiple arguments uses default values, implicit conversion can occur such as in the case of single argument constructor. {1} out of {0} arguments of the constructor uses default value.",
  "crulechk.DECLARE_EXPLICIT_ASSIGNMENT_OPERATOR_WHEN_TEMPLATED.msg": "A copy assignment operator should be declared when there is a template assignment operator.",
  "crulechk.DECLARE_EXTERNAL_OBJECT_ONLY_ONCE.msg": "External object should be declared only once.",
  "crulechk.DECLARE_EXTERNAL_OBJECT_ONLY_ONCE.yMsg": "There is an extern declaration.",
  "crulechk.DECLARE_EXTERN_IN_HEADER_FILES.msg": "With the exception of object definitions and unnamed namespace declarations and definitions, declare extern in header files.",
  "crulechk.DECLARE_NON_MEMBER_GENERIC_FUNC_IN_UNASSOCIATED_NAMESPACE.msg": "Do not declare non-member template function in associated namespace.",
  "crulechk.DECLARE_ONE_NAME_ONLY_IN_EACH_TYPEDEF.msg": "Declare one type name only in each typedef declaration.",
  "crulechk.DECLARE_READ_ONLY_PARAMETERS.msg": "Declare read-only parameters of class type as const references. Pass by const value read-only parameters that are of a fundamental type.",
  "crulechk.DECLARE_READ_ONLY_PARAMETERS.sca.desc.default": "Declare read-only parameters using const keyword.",
  "crulechk.DECLARE_SPECIAL_METHOD_FOR_RESOURCE_CLASS.bMsg": "Pointer type field is declared.",
  "crulechk.DECLARE_SPECIAL_METHOD_FOR_RESOURCE_CLASS.msg": "Declare of define explicit special method for class with pointers or complex destructor.",
  "crulechk.DECLARE_SPECIAL_METHOD_FOR_RESOURCE_CLASS.sca.desc.default": "Implement missing special methods.",
  "crulechk.DECLARE_SPECIAL_METHOD_FOR_RESOURCE_CLASS.sca.note.desc.copy_assign": "Need to implement copy assignment operator.",
  "crulechk.DECLARE_SPECIAL_METHOD_FOR_RESOURCE_CLASS.sca.note.desc.copy_constructor": "Need to implement copy constructor.",
  "crulechk.DECLARE_SPECIAL_METHOD_USING_NEW.bMsg": "New expression is used here.",
  "crulechk.DECLARE_SPECIAL_METHOD_USING_NEW.msg": "Declare of define explicit special method if a class uses new.",
  "crulechk.DECLARE_SPECIAL_METHOD_USING_NEW.sca.desc.default": "Implement missing special methods.",
  "crulechk.DECLARE_SPECIAL_METHOD_USING_NEW.sca.note.desc.copy_assign": "Need to implement copy assignment operator.",
  "crulechk.DECLARE_SPECIAL_METHOD_USING_NEW.sca.note.desc.copy_constructor": "Need to implement copy constructor.",
  "crulechk.DECLARE_STATIC_WHEN_UNLESS_EXTERNAL_LINKAGE.msg": "All delcarations and definitions of objects or functions at file scope should have internal linkage unless external linkage is required.",
  "crulechk.DECLARE_TYPE_IN_HEADER_FILES.msg": "With the exception of object definitions and unnamed namespace declarations and definitions, declare type in header files.",
  "crulechk.DECLARE_VARIABLE_INSIDE_SWITCH.bMsg": "A variable is declared.",
  "crulechk.DECLARE_VARIABLE_INSIDE_SWITCH.msg": "Do not declare variables inside a switch statement before the first case label.",
  "crulechk.DECLARE_VARIABLE_INSIDE_SWITCH.sca.desc.default": "Declare variables before the switch statement.",
  "crulechk.DECLARE_VARIABLE_IN_MIDDLE_OF_BLOCK.bMsg": "There is a statement other than declaration statement.",
  "crulechk.DECLARE_VARIABLE_IN_MIDDLE_OF_BLOCK.msg": "Don't declare a variable in middle of block.",
  "crulechk.DECREMENT_ON_BOOLEAN.msg": "Do not use the decrement operator ('--') on a variable of type 'bool'.",
  "crulechk.DEEP_NESTING_BLOCKS.msg": "The nesting depth of the function is {1}. Threshold is {0}.",
  "crulechk.DEFAULT_ARGUMENT_CONSISTENCY_WHEN_OVERRIDING.bMsg": "overridden function.",
  "crulechk.DEFAULT_ARGUMENT_CONSISTENCY_WHEN_OVERRIDING.msg": "default value of overriding function argument is differ from overridden function argument.",
  "crulechk.DEFINE_INLINE_IN_HEADER_FILES.msg": "With the exception of unnamed namespace declarations and definitions, define in header files all inline functions.",
  "crulechk.DEFINE_OBJECT_AT_BLOCK_SCOPE.msg": "Object shall be defined at block scope if they are only accessed from within a single function.",
  "crulechk.DEFINE_SET_NEW_HANDLER.msg": "Every C++ program using dynamic memory allocation must use the function set_new_handler().",
  "crulechk.DEFINE_TEMPLATE_IN_HEADER_FILES.msg": "Template functions and template member functions shall not be defined in the implementation file.",
  "crulechk.DEREFERENCING_DOES_NOT_EXCEED_TWO_LEVELS.msg": "Use no more than two levels of dereferencing per object reference.",
  "crulechk.DESTRUCTORS_MUST_NOT_THROW_EXCEPTIONS.msg1": "Deallocators must not throw exceptions",
  "crulechk.DESTRUCTOR_SHOULD_BE_VIRTUAL.bMsg": "Non virtual destructor is defined here.",
  "crulechk.DESTRUCTOR_SHOULD_BE_VIRTUAL.msg": "If a class contains any virtual member function then also its destructor must be virtual.",
  "crulechk.DESTRUCTOR_SHOULD_BE_VIRTUAL.sca.desc.default": "The destructor should be declared as virtual member function.",
  "crulechk.DESTRUCTOR_SHOULD_BE_VIRTUAL.sca.note.desc.destructor": "Please implement destructor.",
  "crulechk.DESTRUCTOR_SHOULD_BE_VIRTUAL_IF_CLASS_HAS_VIRTUAL.msg": "If a class contains any virtual member function then also its destructor must be virtual.",
  "crulechk.DIFFERENT_EXCEPTION_SPECIFICATION.msg": "The same function should have the same type of exception specification.",
  "crulechk.DIFFERENT_EXCEPTION_SPECIFICATION.src": "This is a function declaration with different exception specifications.",
  "crulechk.DIFFERENT_FUNCTION_PTR_ASSIGN.msg1": "All the functions pointed by a single pointer function shall be identical in the number and type of parameters and the return type",
  "crulechk.DIFFERENT_MUTEX_ON_CONDITION_VARIABLE.msg": "Mutex and condition variable should be paired.",
  "crulechk.DIFFERENT_TYPE_DECLARATIONS.msg": "The variable declared in the same line with different types.",
  "crulechk.DIRECTLY_APPEND_POINTER_AND_AMPERSAND.msg": "Directly append the '*' and '&' to type names in declarations and definitions.",
  "crulechk.DIRECT_USE_OF_GENERIC.msg": "The _Generic keyword was used directly in the source code.",
  "crulechk.DOUBLE_CLOSE_THREAD.msg": "that a thread shall not be detached once it was previously joined or detached",
  "crulechk.DO_DECL_VARS_AT_TOP_OF_FUNC.msg1": "Do declaration at the top of the function",
  "crulechk.DO_DECL_VARS_AT_TOP_OF_FUNC.msg2": "An initialization is needed",
  "crulechk.DO_NOT_ABRUPTLY_TERMINATE_THE_PROGRAM.msg": "Do not abruptly terminate the program",
  "crulechk.DO_NOT_ACCESS_OVERLAPPING_STORAGE.msg": "An objects shall not be assigned to an overlapping storage.",
  "crulechk.DO_NOT_ALTER_CONTROL_VARIABLE_MORE_THAN_ONCE.msg": "Do not alter a control variable more than once in a for, do or while statement.",
  "crulechk.DO_NOT_ASSERT_AFTER_ATEXIT.msg1": "Understand the termination behavior of assert() and abort().",
  "crulechk.DO_NOT_ASSIGN_ADDRESS_TO_WIDER_SCOPE.msg": "Do not assign address values to variables with wider scopes.",
  "crulechk.DO_NOT_ASSUME_CONSTANT_WITH_EXPR.msg1": "Do not diminish the benefits of constants by assuming their values in expressions",
  "crulechk.DO_NOT_CALCULATE_SCALED_INT_TO_POINTER.msg": "Pointer arithmetic with already scaled value.",
  "crulechk.DO_NOT_CALL_FUNC_WITH_COMPLEX_VALUE.msg1": "Do not call functions expecting real values with complex values.",
  "crulechk.DO_NOT_CALL_SIGNAL_IN_MULTI_THREAD.msg1": "Do not call signal() in a multithreaded program.",
  "crulechk.DO_NOT_CALL_SIGNAL_WITHIN_HANDLER.msg1": "Do not call signal() from within interruptible signal handlers",
  "crulechk.DO_NOT_CALL_UNLOCK_DIRECTLY_ON_MUTEX.msg1": "Unlock() function called without exception.",
  "crulechk.DO_NOT_CAST_ATOMIC_ON_VOID.msg": "Declared a {0} variable with the _Atomic qualifier applied to the incomplete type void.",
  "crulechk.DO_NOT_CAST_AWAY_CONST.msg1": "Do not cast away a const qualification",
  "crulechk.DO_NOT_CAST_FROM_INTEGRAL_TO_POINTER.cast_from": "There is a casting target variable declarations.",
  "crulechk.DO_NOT_CAST_FROM_INTEGRAL_TO_POINTER.cast_to": "There is a variable declaration that the casting results are stored.",
  "crulechk.DO_NOT_CAST_FROM_INTEGRAL_TO_POINTER.msg": "A cast should not be performed from an integral type to a pointer type.",
  "crulechk.DO_NOT_CAST_FROM_POINTER_TO_INTEGRAL.cast_from": "There is a casting target variable declarations.",
  "crulechk.DO_NOT_CAST_FROM_POINTER_TO_INTEGRAL.cast_to": "There is a variable declaration that the casting results are stored.",
  "crulechk.DO_NOT_CAST_FROM_POINTER_TO_INTEGRAL.msg": "A cast should not be performed from a pointer type to an integral type.",
  "crulechk.DO_NOT_CAST_FROM_VOID_POINTER_TO_POINTER.msg1": "Do not cast from pointer to void to pointer.",
  "crulechk.DO_NOT_CAST_INT_TO_ENUM.msg": "Casting an integer value to an enum can cause undefined behavior if the value is not within {0} enum scope.{0}",
  "crulechk.DO_NOT_CAST_OR_DELETE_POINTER_TO_INCOMPLETE_CLASSES.msg1": "Do not cast pointers to incomplete classes",
  "crulechk.DO_NOT_CAST_OR_DELETE_POINTER_TO_INCOMPLETE_CLASSES.msg2": "Do not delete pointers to incomplete classes",
  "crulechk.DO_NOT_CAST_TO_POINTER.msg": "Do not cast from the other types including the other pointer types to a pointer type.",
  "crulechk.DO_NOT_COMMENT_IN_CODE_SECTION.msg": "Commnets are not allowed in code section.",
  "crulechk.DO_NOT_COMMENT_OUT_CODE.msg1": "The source code is commented out.",
  "crulechk.DO_NOT_CONTAIN_UNUSED_LABEL_IN_FUNCTION.msg": "Unused label.",
  "crulechk.DO_NOT_CONVERT_FLOATING_TO_INTEGRAL.msg": "Do not convert floating values to integral types except through use of standard library routines.",
  "crulechk.DO_NOT_CONVERT_FLOATING_TO_INTEGRAL.sca.desc.casting": "Use explicit type casting.",
  "crulechk.DO_NOT_CONVERT_FLOATING_TO_INTEGRAL.sca.desc.function": "Use standard functions about floating decimal.",
  "crulechk.DO_NOT_CONVERT_FLOATING_TO_INTEGRAL.sca.note.desc.function_list": "You can use standard functions about floating decimal as round(), ceil() or floor().",
  "crulechk.DO_NOT_CONVERT_FLOATING_TO_INTEGRAL.sca.note.desc.include_cmath": "You have to include cmath header file.",
  "crulechk.DO_NOT_CONVERT_FLOATING_TO_INTEGRAL.sca.note.desc.include_math": "You have to include math.h header file.",
  "crulechk.DO_NOT_DECLARED_INLINE_WITHIN_CLASS_DECLARATION.msg": "The implementation of any inline member function should not appear inside the class declaration itself.",
  "crulechk.DO_NOT_DECLARE_CONFLICTING_LINKAGE_CLASSIFICATIONS.msg": "linkage classification is conflict",
  "crulechk.DO_NOT_DECLARE_IN_LOOPS.msg": "A variable is declared in the loop.",
  "crulechk.DO_NOT_DECLARE_IN_LOOPS.msg1": "The loop starts here.",
  "crulechk.DO_NOT_DECLARE_IN_LOOPS.sca.desc.default": "Declare variables outside of the loop.",
  "crulechk.DO_NOT_DECLARE_IN_LOOPS.sca.note.desc.intention_decl": "If declaring variables in loop is intended, do not change the code.",
  "crulechk.DO_NOT_DECLARE_OR_DEFINE_RESERVED_ID.msg1": "Do not declare or define a reserved identifier",
  "crulechk.DO_NOT_DEFINE_VARIADIC_FUNCTIONS.msg1": "Do not define variadic functions.",
  "crulechk.DO_NOT_DERIVE_FROM_VIRTUAL_BASE.msg": "Classes should not be derived from virtual bases.",
  "crulechk.DO_NOT_DISCARD_FUNCTION_RETURN_VALUE.msg": "The return value of the function should always be used.",
  "crulechk.DO_NOT_EXPLICIT_FLOATING_INTEGRAL_CONVERSION.msg": "The expression should not have an explicit floating-integer conversion.",
  "crulechk.DO_NOT_HIDE_DEREFERENCE_OP.msg": "Pointer dereference operations should not be hidden in macro definitions or inside typedef declarations.",
  "crulechk.DO_NOT_HIDE_DEREFERENCE_OP_IN_TYPEDEF.msg": "Pointer dereference operations should not be hidden inside typedef declarations.",
  "crulechk.DO_NOT_INCLUDE_COMMENT_IN_MACRO.msg": "Do not include comment text in the definition of a pre-processor macro.",
  "crulechk.DO_NOT_INCLUDE_PATH_SPECIFIER.msg": "Do not include a path specifier in file names supplied in #include directives.",
  "crulechk.DO_NOT_INC_ITER_WITH_VALUE_GREATER_THAN_ONE.default_desc": "Avoid increasing or decreasing the repeat character to a value greater than 1.",
  "crulechk.DO_NOT_MANIPULATE_TIME_T_DIRECTLY.msg1": "Do not manipulate time_t typed values directly",
  "crulechk.DO_NOT_MIX_ARITHMETIC_PRECISION.msg": "Do not mix arithmetic precision in expressions.",
  "crulechk.DO_NOT_MIX_SIGNED_AND_UNSIGNED.msg": "Do not mix signed and unsigned data items in the same expression.",
  "crulechk.DO_NOT_MODIFY_KEY_OF_SET.msg": "Never modify the key part of a set or multiset element.",
  "crulechk.DO_NOT_MODIFY_PRIVATE_IN_PUBLIC_FUNCTION.msg": "access private field from public method.",
  "crulechk.DO_NOT_MODIFY_STATIC_MEMBER_IN_COPY_CONSTRUCTOR.msg": "Do not modify the static member of the class in the copy constructor.",
  "crulechk.DO_NOT_MODIFY_THE_STANDARD_NAMESPACES.msg": "Do not modify the standard namespaces.",
  "crulechk.DO_NOT_OPERATE_ENUMERATOR.msg1": "Avoid calculating using enumerators.",
  "crulechk.DO_NOT_OVERLOAD_FUNCTION_WITH_SPECIALIZATION.msg": "Function call shall not be ambiguous, please consider add \"<>\"",
  "crulechk.DO_NOT_OVERLOAD_LAND_LOR_COMMA.msg": "Avoid overloading the ampersand operator('&'), comma operator (','), operator AND ('&&'), and operator OR ('||').",
  "crulechk.DO_NOT_OVERLOAD_NONVIRTUAL_FUNCTION.msg": "Do not overload or hide inherited non-virtual functions.",
  "crulechk.DO_NOT_OVERLOAD_NONVIRTUAL_FUNCTION.sca.desc.change_method_name": "The method name would be better to be changed.",
  "crulechk.DO_NOT_OVERLOAD_NONVIRTUAL_FUNCTION.sca.desc.virtual_base_method": "Change the method of base class to virtual.",
  "crulechk.DO_NOT_OVERLOAD_NONVIRTUAL_FUNCTION.sca.note.desc.change_other_class_and_code": "Since the method of base class is changed to virtual, you should modify codes in other inherited class or related codes.",
  "crulechk.DO_NOT_OVERLOAD_NONVIRTUAL_FUNCTION.sca.note.desc.change_other_code": "The interface is changed, modify codes using the changed method.",
  "crulechk.DO_NOT_OVERLOAD_NUMERIC_AND_POINTER.msg": "Do not overload on both numeric and pointer types.",
  "crulechk.DO_NOT_OVERLOAD_NUMERIC_AND_POINTER.yMsg": "Related function.",
  "crulechk.DO_NOT_OVERRIDE_ADDRESSOF.msg": "Operator \\\"&\\\" shall not be overloaded.",
  "crulechk.DO_NOT_RECURSIVELY_REENTER_DURING_INIT_STATIC.msg1": "Do not recursively reenter a function during the initialization of one of its static objects",
  "crulechk.DO_NOT_REDEFINE_ERRNO.msg1": "Do not redefine errno.",
  "crulechk.DO_NOT_REDEFINE_ERRNO.sca.desc.default": "Do not redefine errno.",
  "crulechk.DO_NOT_REDEFINE_ERRNO.sca.note.desc.change_variable_name": "You would be better to rename the variable if you want store error information.",
  "crulechk.DO_NOT_REDEFINE_ERRNO.sca.note.desc.include_errno": "It needs to be used errno in standard library, include errno.h.",
  "crulechk.DO_NOT_RELY_ON_ENUM_VALUE.msg": "Do not rely on the value of an enumerator.",
  "crulechk.DO_NOT_RELY_ON_ENUM_VALUE.sca.desc.default": "Use enumerator value instead of  constant value.",
  "crulechk.DO_NOT_RELY_ON_ENUM_VALUE.sca.note.desc.change_enum_id": "Change identifier name if a corresponding enumerator is not suitable.",
  "crulechk.DO_NOT_REMOVE_CONST.bMsg": "There is the const variable declaration.",
  "crulechk.DO_NOT_REMOVE_CONST.msg": "A cast shall not be performed that removes any const qualification from the type addressed by a pointer.",
  "crulechk.DO_NOT_REMOVE_CONST.sca.desc.add_const": "Do explicit const casting.",
  "crulechk.DO_NOT_REMOVE_VOLATILE.bMsg": "There is the volatile variable declaration.",
  "crulechk.DO_NOT_REMOVE_VOLATILE.msg": "A cast shall not be performed that removes any volatilequalification from the type addressed by a pointer.",
  "crulechk.DO_NOT_REMOVE_VOLATILE.sca.desc.add_volatile": "Do explicit volatile casting.",
  "crulechk.DO_NOT_RETURN_SIGNAL_HANDLERS.msg1": "Do not return from SIGSEGV, SIGILL, or SIGFPE signal handlers.",
  "crulechk.DO_NOT_REUSE_IDENTIFIER_NAME.msg": "Identifier {0} should never be reused.",
  "crulechk.DO_NOT_REUSE_IDENTIFIER_NAME.yMsg": "Already used.",
  "crulechk.DO_NOT_REUSE_IDENTIFIER_WITH_EXTERNAL_LINKAGE.bmsg": "The identifier that used before",
  "crulechk.DO_NOT_REUSE_IDENTIFIER_WITH_EXTERNAL_LINKAGE.msg": "Duplicate {0} identifier name with external linkage name.",
  "crulechk.DO_NOT_REUSE_IDENTIFIER_WITH_STATIC_STORAGE.msg": "No object or function {0} identifier with static storage duration should be reused.",
  "crulechk.DO_NOT_REUSE_IDENTIFIER_WITH_STATIC_STORAGE.yMsg": "Already used.",
  "crulechk.DO_NOT_SPECIFY_BOUND_OF_ARRAY_FOR_STRING_LITERAL.msg1": "Do not specify bound of array for string literal",
  "crulechk.DO_NOT_SPECIFY_BOUND_OF_ARRAY_FOR_STRING_LITERAL.sca.desc.default": "Don't input array size.",
  "crulechk.DO_NOT_SPECIFY_BOUND_OF_ARRAY_FOR_STRING_LITERAL.sca.note.desc.size": "Array size is {0} and constant size is {1}.",
  "crulechk.DO_NOT_STORE_RETURNED_POINTERS.msg": "Do not store pointers returned by certain functions.",
  "crulechk.DO_NOT_THROW_ITSELF_CAUSE_EXCEPTION.bMsg": "throw an exception.",
  "crulechk.DO_NOT_THROW_ITSELF_CAUSE_EXCEPTION.msg": "The assignment-expression of a throw statement shall not itself cause an exception to be thrown.",
  "crulechk.DO_NOT_TREAT_ARRAYS_POLYMORPHICALLY.default_desc": "Do not treat arrays polymorphically.",
  "crulechk.DO_NOT_TYPEDEF_ARRAYTYPE.msg": "Do not typedef array types.",
  "crulechk.DO_NOT_USE_ABORT_STREAM_OPENED.bMsg": "A file stream is opened.",
  "crulechk.DO_NOT_USE_ABORT_STREAM_OPENED.msg": "Do not use abort() or _exit() while the file stream is opened",
  "crulechk.DO_NOT_USE_ADJACENT_BINARY_OPERATOR.msg1": "There must be more than one spaces between binary operator and its operands.",
  "crulechk.DO_NOT_USE_ADJACENT_BINARY_OPERATOR.msg2": "There must be more than one spaces between binary operator and its operands.",
  "crulechk.DO_NOT_USE_ARRAY.msg": "An array type is used on local variable.",
  "crulechk.DO_NOT_USE_ARRAY_ACCESS.msg": "The array is accessed.",
  "crulechk.DO_NOT_USE_ASM.defect": "I wrote assembly code directly using asm declarations.",
  "crulechk.DO_NOT_USE_ASSIGN_OPERATOR_IN_EXPRESSION.msg": "Do not use assign operator in expression.",
  "crulechk.DO_NOT_USE_AUTO.msg": "Do not use the 'auto' keywords.",
  "crulechk.DO_NOT_USE_A_COPY_OF_A_FILE_OBJECT.msg1": "Do not use a copy of a FILE object for input and output",
  "crulechk.DO_NOT_USE_A_COPY_OF_A_FILE_OBJECT.sca.desc.default": "Change the variable which has FILE type to pointer type and assigned value also changed to pointer type.",
  "crulechk.DO_NOT_USE_A_COPY_OF_A_FILE_OBJECT.sca.note.desc.change_other_code": "The variable type is changed, you should modify related codes.",
  "crulechk.DO_NOT_USE_BIT_FIELD.msg": "The member variable is a bit field which is not allowed.",
  "crulechk.DO_NOT_USE_BOOLEAN_VECTOR.msg": "Do not use vector<bool>.",
  "crulechk.DO_NOT_USE_BOOLEAN_VECTOR.sca.desc.default": "Use 'bitset' instead of 'vector<bool>'. The size of 'bitset' must be specified.",
  "crulechk.DO_NOT_USE_BOOLEAN_VECTOR.sca.note.desc.bitset": "Include the 'bitset' header file.",
  "crulechk.DO_NOT_USE_BOOLEAN_VECTOR.sca.note.desc.change_variable": "The type of variable changed. You need to change the code where the variable is used.",
  "crulechk.DO_NOT_USE_BREAK_CONTINUE.msg1": "Do not use \"{0}\".",
  "crulechk.DO_NOT_USE_BREAK_EXCEPT_SWITCH_STMT.msg1": "Do not use break statement, except in a switch statement",
  "crulechk.DO_NOT_USE_COMMA_OPERATOR.msg1": "The comma operator shall not be used.",
  "crulechk.DO_NOT_USE_CONST_FOR_SYMBOLIC_CONSTANT.msg": "For C: all symbolic constants shall be provided using an 'enum' or the #define mechanism.",
  "crulechk.DO_NOT_USE_CSTDIO.msg": "The stream input/output library <cstdio> shall not be used.",
  "crulechk.DO_NOT_USE_CSTRING.msg": "<cstring> should not be used.",
  "crulechk.DO_NOT_USE_CTIME.msg": "<ctime> should not be used.",
  "crulechk.DO_NOT_USE_C_STYLE_ALLOCATION.msg": "This precludes the use of the functions calloc, malloc, realloc and free in C++ programs.",
  "crulechk.DO_NOT_USE_C_STYLE_ALLOCATION.sca.desc.remove": "remove use of dynamic memory functions.",
  "crulechk.DO_NOT_USE_C_STYLE_ALLOCATION.sca.note.desc.make_flow": "please check the code-flow is reliable.",
  "crulechk.DO_NOT_USE_C_STYLE_CASTING.msg": "Always use casting forms: 'static_cast', 'const_cast', 'dynamic_cast' and 'reinterpret_cast' or explicit constructor call. Do not use any other form.",
  "crulechk.DO_NOT_USE_C_STYLE_CASTING.sca.desc.default": "Change c-style casting to {0} casting.",
  "crulechk.DO_NOT_USE_C_STYLE_CASTING.sca.note.desc.dynamic_cast": "When casting to a pointer type is done using dynamic_cast, the result can be NULL. Necessary modification is required.",
  "crulechk.DO_NOT_USE_C_STYLE_CASTING.sca.note.desc.dynamic_cast_ref": "When casting to a reference type using dynamic_cast, exceptions can occur. Necessary modification is required.",
  "crulechk.DO_NOT_USE_C_STYLE_CASTING.sca.note.desc.reinterpret_cast": "Casting using reinterpret_cast is dangerous. The user must have a clear intentions when using it.",
  "crulechk.DO_NOT_USE_DANGEROUS_FUNCTIONS.msg1": "There was unsafe function calls",
  "crulechk.DO_NOT_USE_DEFAULT_ARGUMENT_WITH_OVERLOADED.msg": "Do not use default arguments with overloaded functions.",
  "crulechk.DO_NOT_USE_DEF_WITHIN_A_BLOCK.msg": "Macros shall not be #define'd or #undef'd within a block.",
  "crulechk.DO_NOT_USE_DEPRECATED_FUNCTIONS.msg1": "A deprecated function is used.",
  "crulechk.DO_NOT_USE_DIGRAPH.msg": "Do not use digraphs.",
  "crulechk.DO_NOT_USE_DO_WHILE.msg": "Do-while statements is used.",
  "crulechk.DO_NOT_USE_DYNAMICALLY_ALLOCATED_ARRAYS.msg": "Use vector and string in place of dynamically allocated arrays.",
  "crulechk.DO_NOT_USE_DYNAMIC_ALLOCATION.msg": "This precludes the use of the functions calloc, malloc, realloc and free.",
  "crulechk.DO_NOT_USE_DYNAMIC_ALLOCATION.sca.desc.remove": "remove use of dynamic memory functions.",
  "crulechk.DO_NOT_USE_DYNAMIC_ALLOCATION.sca.note.desc.make_flow": "please check the code-flow is reliable.",
  "crulechk.DO_NOT_USE_ERRNO.msg": "The error indicator errno shall not be used.",
  "crulechk.DO_NOT_USE_EXTERN_OR_STATIC.msg": "The specifier extern or static is not allowed.",
  "crulechk.DO_NOT_USE_EXTRA_CHARACTER_AFTER_PREPROCESSOR.msg": "Any characters except white-space should not follow preprocessor directive.",
  "crulechk.DO_NOT_USE_FENV_EXCEPTIONS.msg": "Do not use <fenv.h> exception features",
  "crulechk.DO_NOT_USE_FLOAT_AS_LOOP_COUNTERS.msg1": "Used floating point variable {0}. Do not use floating point variables.",
  "crulechk.DO_NOT_USE_FLOAT_AS_LOOP_COUNTERS.sca.desc.default": "Use integer type variable instead of  floating type variable as loop counter.",
  "crulechk.DO_NOT_USE_FLOAT_AS_LOOP_COUNTERS.sca.note.desc.calculate_value": "If you need floating-point value, use another variable in loop.",
  "crulechk.DO_NOT_USE_FLOAT_AS_LOOP_COUNTERS.sca.note.desc.change_integer": "Change floating type value to integer value in for statement.",
  "crulechk.DO_NOT_USE_FLOAT_AS_LOOP_COUNTERS.sca.note.desc.change_other_code": "The test expression statement and increase/decrease statement should be modify.",
  "crulechk.DO_NOT_USE_FORBIDDEN_FUNC.msg1": "The forbidden function {0} is used.",
  "crulechk.DO_NOT_USE_FORBIDDEN_TYPE.msg1": "\"{0}\" is forbidden type.",
  "crulechk.DO_NOT_USE_FUNCTION_LIKE_MACRO.msg": "A function should be used in preference to a function-like macro.",
  "crulechk.DO_NOT_USE_GETLOGIN_IN_MULTI_THREAD.msg1": "In multi-threaded environment, use safe getlogin_r().",
  "crulechk.DO_NOT_USE_GOTO_STATEMENT.msg1": "Too many goto statements in {0} ( {1} , max = {2})",
  "crulechk.DO_NOT_USE_GOTO_STATEMENT.sca.desc.remove": "remove goto statement.",
  "crulechk.DO_NOT_USE_GOTO_STATEMENT.sca.note.desc.make_flow": "please check the code-flow is reliable.",
  "crulechk.DO_NOT_USE_GOTO_STATEMENT.yMsg": "Goto statement #{0}",
  "crulechk.DO_NOT_USE_HARD_CODING.CALL.msg": "A hard-coded value is used on the parameter of the function.",
  "crulechk.DO_NOT_USE_HARD_CODING.INITIALIZATION.msg": "A variable is initialized with the forbidden hard-coded value.",
  "crulechk.DO_NOT_USE_HARD_CODING.PASSWORD.msg1": "A hard-coded password has been copied to the variable for a password.",
  "crulechk.DO_NOT_USE_HARD_CODING.PASSWORD.msg2": "Password has been used as a constant within the source.",
  "crulechk.DO_NOT_USE_HARD_CODING.USERNAME.msg1": "UserID has been used as a constant within the source.",
  "crulechk.DO_NOT_USE_HARD_CODING.msg": "A hard-coded value is used.",
  "crulechk.DO_NOT_USE_HEXADECIMAL_ESCAPE.msg1": "Hexadecimal escape sequences should not be used.",
  "crulechk.DO_NOT_USE_IF_DIRECTIVE.msg": "Use #ifndef, #ifdef instead of #if pre-processor.",
  "crulechk.DO_NOT_USE_IMPLICIT_DECLARED_FUNCTION.msg": "Cannot find function declaration. implicit prototype is used.",
  "crulechk.DO_NOT_USE_INLINE.msg": "Do not use the 'inline' keyword for member functions, inline functions by defining them in the class body.",
  "crulechk.DO_NOT_USE_INTEGER_CONSTANT_MACRO.msg1": "The integer constant macro argument {0} uses an unnecessary suffix.",
  "crulechk.DO_NOT_USE_INTEGER_CONSTANT_MACRO.msg2": "A floating-point value was used for the integer constant macro argument {0}.",
  "crulechk.DO_NOT_USE_INTEGER_CONSTANT_MACRO.msg3": "A unary operator was used in the argument {0} of the integer constant macro.",
  "crulechk.DO_NOT_USE_LABEL_STATEMENT.msg": "The label was used.",
  "crulechk.DO_NOT_USE_LONGJMP.msg": "The longjmp function shall not be used.",
  "crulechk.DO_NOT_USE_MODULAR.msg": "Do not use modular operations.",
  "crulechk.DO_NOT_USE_MULTILINE_IN_SINGLECOMMENT.msg": "multiline comment in singline comment.",
  "crulechk.DO_NOT_USE_NON_STANDARD_CHARACTERS.msg": "Non-standard characters should not occur in header file names in #include directives.",
  "crulechk.DO_NOT_USE_NON_STANDARD_CHARACTERS.sca.desc.replace": "remove the non-standard characters.",
  "crulechk.DO_NOT_USE_NULL_MACRO.msg": "Do not use the NULL macro.",
  "crulechk.DO_NOT_USE_OCTAL.msg1": "Do not use octal constant.",
  "crulechk.DO_NOT_USE_OCTAL.sca.desc.default": "Use decimal integer instead of octal integer value.",
  "crulechk.DO_NOT_USE_OCTAL.sca.note.desc.check_value": "If converted decimal integer value is not suitable, change the value.",
  "crulechk.DO_NOT_USE_OCTAL_ESCAPE.msg1": "Octal escape sequences should not be used.",
  "crulechk.DO_NOT_USE_OFFSETOF_MACRO.msg": "The macro offsetof, in library <stddef.h>, shall not be used.",
  "crulechk.DO_NOT_USE_POINTER_ARITHMETIC.msg": "Pointer arithmetic should not be used.",
  "crulechk.DO_NOT_USE_PRAGMA.msg": "Do not use compiler specific language or pre-processor extensions.",
  "crulechk.DO_NOT_USE_PRINTF.msg": "The forbidden function printf() is used.",
  "crulechk.DO_NOT_USE_PTHREAD_KILL.msg1": "Do not use signals to terminate threads",
  "crulechk.DO_NOT_USE_RECURSION.msg1": "Do not use recursive call.",
  "crulechk.DO_NOT_USE_REGISTER.msg1": "Do not use register",
  "crulechk.DO_NOT_USE_RESERVED_IN_MACRO.msg": "reserved keyword used in macro",
  "crulechk.DO_NOT_USE_RESTRICT.msg": "The 'restrict'  type qualifier shall not be used.",
  "crulechk.DO_NOT_USE_SAME_NAME_IN_NESTED.msg": "Identifiers in an inner scope shall not use the same name as an identifier in an outer scope, and therefore hide that identifier. {0}",
  "crulechk.DO_NOT_USE_SAME_NAME_IN_NESTED.yMsg": "Already used.",
  "crulechk.DO_NOT_USE_SAME_SPELLING_IN_ANOTHER_NAMESPACE.msg": "No identifier in one name space should have the same spelling as the {0} identifier in another name space, with the exception of structure and union member names.",
  "crulechk.DO_NOT_USE_SAME_SPELLING_IN_ANOTHER_NAMESPACE.yMsg": "Already used.",
  "crulechk.DO_NOT_USE_SEMICOLON_AFTER_PREPROCESSOR.msg": "Do not use the semi colon after preprocessor directive.",
  "crulechk.DO_NOT_USE_SETJMP.msg": "The setjmp macro or function shall not be used.",
  "crulechk.DO_NOT_USE_SETLOCALE.msg": "<locale.h> and the setlocale function shall not be used.",
  "crulechk.DO_NOT_USE_SHARP_OPERATOR.msg": "The # and ## operators should not be used.",
  "crulechk.DO_NOT_USE_SIGNAL.msg": "Do not use signal function.",
  "crulechk.DO_NOT_USE_SIGNAL_HANDLING.msg": "The signal handling facilities of <signal.h>  shall not be used.",
  "crulechk.DO_NOT_USE_SIZEOF_ON_ARRAY_PARAM.msg1": "Do not use sizeof on the array type parameter.",
  "crulechk.DO_NOT_USE_SIZEOF_ON_ARRAY_PARAM.sca.desc.default": "The size of the array should be passed via parameter.",
  "crulechk.DO_NOT_USE_SIZEOF_ON_ARRAY_PARAM.sca.note.desc.change_interface": "The interface is modified, you should modify related codes.",
  "crulechk.DO_NOT_USE_SIZEOF_ON_ARRAY_PARAM.sca.note.desc.pass_size": "Call the function with size of the array.",
  "crulechk.DO_NOT_USE_SIZEOF_ON_PTR.msg1": "Will need to use the base type of the variable.",
  "crulechk.DO_NOT_USE_SIZEOF_ON_PTR.sca.desc.default": "Evaluate type size which is pointed by pointer.",
  "crulechk.DO_NOT_USE_SIZEOF_ON_PTR.sca.note.desc.sizeof_result": "Suggested code provides the result of sizeof() is {0}. If the value is not suitable, change the code.",
  "crulechk.DO_NOT_USE_STATIC_IN_HEADER.msg": "Do not use static qualifiers in header files.",
  "crulechk.DO_NOT_USE_STDARG_FEATURE.msg": "do not use stdarg.h features.",
  "crulechk.DO_NOT_USE_STDIO_H.msg": "The input/output library \"stdio.h\" shall not be used in production code.",
  "crulechk.DO_NOT_USE_STL_CONTAINER_AS_PUBLIC_BASE_CLASSES.msg": "Do not use STL containers as public base classes.",
  "crulechk.DO_NOT_USE_SYSTEM.msg1": "A system function is called.",
  "crulechk.DO_NOT_USE_TERNARY_OPERATOR.msg": "Do not use the ternary operator (?:) in expressions.",
  "crulechk.DO_NOT_USE_TGMATH_H.msg": "\"tgmath.h\" shall not be used.",
  "crulechk.DO_NOT_USE_THROWABLE_FUNCTION_IN_COPY_ASSIGNMENT.msg": "Do not use throwing function in copy assignment operator.",
  "crulechk.DO_NOT_USE_THROW_IN_CTOR_OR_DTOR.msg1": "Exceptions should not be thrown in constructors and destructors.",
  "crulechk.DO_NOT_USE_TRIGRAPH.msg1": "Trigraphs should not be used.",
  "crulechk.DO_NOT_USE_TRIGRAPH.sca.desc.default": "If you need to print out trigraph like string, do as below",
  "crulechk.DO_NOT_USE_UNBOUNDED_AGGREGATE_TYPE.msg": "Do not use unbounded (C-style) aggregate types.",
  "crulechk.DO_NOT_USE_UNBOUNDED_AGGREGATE_TYPE.sca.desc.default": "Use vector instead of C-style array.",
  "crulechk.DO_NOT_USE_UNBOUNDED_AGGREGATE_TYPE.sca.note.desc.use_push_back": "Use push_back method for initialization elements.",
  "crulechk.DO_NOT_USE_UNDEF.msg": "#undef shall not be used.",
  "crulechk.DO_NOT_USE_UNDEFINED_MACRO_IDENTIFIERS.msg1": "Undefined macro identifiers should not be used in #if or #elif preprocessor directives.",
  "crulechk.DO_NOT_USE_UNION.msg": "Unions shall not be used.",
  "crulechk.DO_NOT_USE_UNUSED_MACRO_GLOBAL.msg": "Unused macro.",
  "crulechk.DO_NOT_USE_UNUSED_TAG_GLOBAL.msg": "Unused tag. {0}",
  "crulechk.DO_NOT_USE_UNUSED_TYPE_GLOBAL.msg": "Unused type.",
  "crulechk.DO_NOT_USE_USING_DIRECTIVE.msg": "Always use using declarations or write explicit namespace qualifiers. Do not use using directives.",
  "crulechk.DO_NOT_USE_VARIABLE_LENGTH_ARRAY.msg1": "the length of array is unknown value.",
  "crulechk.DO_NOT_USE_VARIABLE_LENGTH_ARRAY.sca.desc.add_size": "do explit declare length of array.",
  "crulechk.DO_NOT_USE_VFORK.msg1": "vfork()/execve() pair contains an inherent race window on some implementations.",
  "crulechk.DO_NOT_USE_VFORK.msg_blue": "vfork() is used.",
  "crulechk.DO_NOT_USE_VOLATILE_IN_COMPLEX_EXPRESSION.msg": "Do not use a volatile variable in complex expression.",
  "crulechk.DO_NOT_USE_WIDE_CHARACTER.msg": "Multibyte characters and wide string literals shall not be used.",
  "crulechk.DO_NOT_VIOLATE_CONSTRAINTS.bMsg": "A static variable has been declared.",
  "crulechk.DO_NOT_VIOLATE_CONSTRAINTS.msg": "Do not violate constraints.",
  "crulechk.DO_NOT_WRITE_CONFUSED_CHARACTER.msg": "Do not write the characters 'l' (ell) and '1' (one) or 'O' (oh) and '0' (zero) in the same identifier.",
  "crulechk.DUPLICATED.DESIGNATED_INIT.msg": "Duplicate initializer detected on {0} variable.",
  "crulechk.DUPLICATED.DESIGNATED_INIT.msg-b": "Field declared location.",
  "crulechk.DUPLICATED.DESIGNATED_INIT.msgIdx": "The index {1} of {0} variable have duplicated initialization.",
  "crulechk.DYNAMIC_TYPE_IN_CTOR_OR_DTOR.msg": "An object's dynamic type should not be used from the body of its constructor or destructor.",
  "crulechk.EMERGENT_LANGUAGE_FEATURES_SHALL_NOT_BE_USED.msg": "Features added to the C11 standard are used, which can result in unexpected behavior.",
  "crulechk.EMPTY_ARRAY_SIZE.MISRA2012.msg": "Array size declared unspecified.",
  "crulechk.EMPTY_ARRAY_SIZE.MISRA2012.sca.desc.default": "The size of the array should be specified explicitly.",
  "crulechk.EMPTY_ARRAY_SIZE.msg": "Array size declared unspecified.",
  "crulechk.EMPTY_ARRAY_SIZE.sca.desc.default": "The size of the array should be specified explicitly.",
  "crulechk.EMPTY_BRANCH.MISSING_ELSE.nrMsg2": "No else branch.",
  "crulechk.EMPTY_BRANCH.MISSING_ELSE.nrMsg3": "Else branch is empty",
  "crulechk.EMPTY_BRANCH.MISSING_ELSE.sca.desc.insert_else": "Add else clauses.",
  "crulechk.EMPTY_BRANCH.msg1": "No else branch",
  "crulechk.EMPTY_BRANCH.msg2": "Else branch is empty",
  "crulechk.EMPTY_BRANCH.msg3": "Empty default case",
  "crulechk.EMPTY_BRANCH.msg4": "Empty case or default",
  "crulechk.EMPTY_BRANCH.msg5": "No case",
  "crulechk.EMPTY_BRANCH.msg6": "No default case",
  "crulechk.EMPTY_BRANCH.msg7": "The switch statement has empty case or default clauses.",
  "crulechk.EMPTY_BRANCH.nbMsg1": "No case.",
  "crulechk.EMPTY_BRANCH.nbMsg2": "No default.",
  "crulechk.EMPTY_BRANCH.nbMsg3": "Case statement is empty.",
  "crulechk.EMPTY_BRANCH.nbMsg4": "Default statement is empty.",
  "crulechk.EMPTY_BRANCH.nrMsg1": "Else branch is empty.",
  "crulechk.EMPTY_BRANCH.nrMsg2": "No else branch.",
  "crulechk.EMPTY_BRANCH.nrMsg3": "It's invalid exception handling in the switch statement.",
  "crulechk.EMPTY_BRANCH.sca.desc.insert_case": "Add case clauses.",
  "crulechk.EMPTY_BRANCH.sca.desc.insert_default": "Add a default clause.",
  "crulechk.EMPTY_BRANCH.sca.desc.insert_else": "Add else clauses.",
  "crulechk.EMPTY_BRANCH.sca.note.desc.warning": "Please replace comments to appropriate codes.",
  "crulechk.EMPTY_CATCH_BLOCK.msg1": "This catch block is empty",
  "crulechk.EMPTY_EXTERN_ARRAY_SIZE.msg": "The array is an extern array without the size.",
  "crulechk.EMPTY_WHILE.msg1": "this while statement has empty statements block.",
  "crulechk.ENCAPSULATE_ASSEMBLER.msg": "Assembly language shall be encapsulated and isolated.",
  "crulechk.ENCAPSULATE_ASSEMBLER.sca.desc.default": "Assembly language shall be encapsulated and isolated.",
  "crulechk.ENCAPSULATE_ASSEMBLER.yMsg": "Assembler statement.",
  "crulechk.ENCLOSE_FUNCTIONS_IN_THE_UNNAMED_NAMESPACE.msg": "Enclose all non-member functions that are not part of the external interface in the unnamed namespace in the source file.",
  "crulechk.ENSURE_CONSISTENCY_OF_THE_PARAMETER_DECLARATION.msg": "Ensure consistency of the parameter declaration.",
  "crulechk.ENSURE_EACH_IDENTIFIER_IS_DISTINCT.msg": "Ensure each identifier is distinct. {0}, {1}",
  "crulechk.ENSURE_EACH_IDENTIFIER_IS_DISTINCT.sca.desc.rename": "rename the variable name.",
  "crulechk.ENSURE_EACH_IDENTIFIER_IS_DISTINCT.sca.note.desc.refactory_all": "rename all references of renamed-variable.",
  "crulechk.ENSURE_EACH_IDENTIFIER_IS_DISTINCT.yMsg": "Type declaration.",
  "crulechk.ENSURE_LAST_LINE_IS_EMPTY.msg": "Ensure that the last line of all files containing source code is followed by a new-line.",
  "crulechk.ENSURE_MEMBER_TYPE_OF_STRUCT.msg_b": "Wrong type.",
  "crulechk.ENSURE_MEMBER_TYPE_OF_STRUCT.msg_r": "Member variables of a structure should be used only a limited type.",
  "crulechk.ENSURE_PASSING_VECTOR_TYPE_TO_C_STYLE.msg": "When passing vector types to C style functions use '&v[ 0 ]'",
  "crulechk.ENSURE_PRIVILEGE_RELINQUISHMENT.msg1": "Ensure that privilege relinquishment is successful",
  "crulechk.ENSURE_RETURN_VALUE_COMPARE.msg1": "Ensure that return values are compared against the proper type",
  "crulechk.ENSURE_SINGLE_ENTRY_AND_EXIT_POINT.breaMsg": "Used the break statement.",
  "crulechk.ENSURE_SINGLE_ENTRY_AND_EXIT_POINT.gotoMsg": "Used the goto statement.",
  "crulechk.ENSURE_SINGLE_ENTRY_AND_EXIT_POINT.labelMsg": "There is the label statement.",
  "crulechk.ENSURE_SINGLE_ENTRY_AND_EXIT_POINT.msg": "Ensure that every compound statement except the body of a switch statement has a single entry point and (barring the propagation of C++ exceptions) a single exit point.",
  "crulechk.ENSURE_USING_NAMESPACE_POSITION.msg": "Only have using namespace directives in the main source file, after all include directives.",
  "crulechk.ERROR_WITHOUT_ACTION.msg1": "No error prevention code in if statement.",
  "crulechk.ERROR_WITHOUT_ACTION.msg2": "Target function is called.",
  "crulechk.EUGENE_TOO_LONG_FUNCTION_NAME.msg1": "{0} is not valid name for function",
  "crulechk.EUGENE_TOO_LONG_VARIABLE_NAME.msg1": "{0} is not valid name for variable : Too long variable name",
  "crulechk.EUGENE_WRONG_BSNAME_IN_FILENAME.msg1": "{0} is not a valid name for a file",
  "crulechk.EUGENE_WRONG_BSNAME_IN_FUNCTION_NAME.msg1": "{0} is not a valid name for a function",
  "crulechk.EUGENE_WRONG_CMNAME_IN_FILE_NAME.msg1": "{0} is not a valid name for a file",
  "crulechk.EUGENE_WRONG_CMNAME_IN_FUNCTION_NAME.msg1": "{0} is not a valid name for a function",
  "crulechk.EUGENE_WRONG_DATA_FILE_NAME.msg1": "{0} is not valid name for internal/external file",
  "crulechk.EUGENE_WRONG_DEFAULT_DBIO.msg1": "{0} is not a valid name for a DM",
  "crulechk.EUGENE_WRONG_DSNAME_IN_FILE_NAME.msg1": "{0} is not a valid name for a function",
  "crulechk.EUGENE_WRONG_OSNAME_IN_FILE_NAME.msg1": "{0} is not a valid name for a function",
  "crulechk.EUGENE_WRONG_OSNAME_IN_FUNCTION_NAME.msg1": "{0} is not a valid name for a function",
  "crulechk.EUGENE_WRONG_STRUCTURE_NAME.msg1": "{0} is not valid name for strucuture",
  "crulechk.EUGENE_WRONG_UMNAME_IN_FILE_NAME.msg1": "{0} is not a valid name for a function",
  "crulechk.EUGENE_WRONG_UMNAME_IN_FUNCTION_NAME.msg1": "{0} is not valid name for function",
  "crulechk.EUGENE_WRONG_USER_DBIO.msg1": "{0} is not a valid name for a VM",
  "crulechk.EUGENE_WRONG_VARIABLE_NAME.msg1": "{0} is not valid name for variable",
  "crulechk.EXCEPTION.IGNORE_RETURN_VALUE.PF.msg": "Ensure return value from specified API and make handle exceptions.",
  "crulechk.EXCEPTION.MISSING_HANDLE.RES.PF.msg": "Ensure handle an exception after calling resource modules.",
  "crulechk.EXCESSIVE_FUNCTION_CALLS.msg1": "Too many function calls in {0} ( {1}, max = {2})",
  "crulechk.EXCESSIVE_FUNCTION_CALLS.yMsg": "Call expression #{0}.",
  "crulechk.EXCESSIVE_IFS.msg": "Too Many use of If branches.",
  "crulechk.EXCESSIVE_STACK_DEPTH.msg1": "Excessive stack depth.",
  "crulechk.EXCESSIVE_STACK_DEPTH.msg2": "This variables is allocated too much space on stack. It is allocated {1} bytes, exceeding {0} bytes.",
  "crulechk.EXCESSIVE_STACK_DEPTH.sca.desc.allocation": "Declaring a variable via dynamic allocation.",
  "crulechk.EXCESSIVE_STACK_DEPTH.sca.desc.resize": "Resize the array. The size of a variable {1} is {2} and maximum value of variable on stack is {0}.",
  "crulechk.EXCESSIVE_STACK_DEPTH.sca.note.desc.option_stack_size": "The maximum size of variables on stack could be set in option menu.",
  "crulechk.EXCESSIVE_STACK_DEPTH.sca.note.desc.release_heap": "Memory deallocation is need before exiting function.",
  "crulechk.EXCESSIVE_STACK_DEPTH.sca.note.desc.use_heap_space": "If large size of buffer is needed, dynamic allocation is prefer.",
  "crulechk.EXPLICIT_COPY_CONSTRUCTOR_WHEN_TEMPLATED_CONSTRUCTOR.msg": "A copy constructor should be declared when there is a template constructor",
  "crulechk.EXPLICIT_NAME_QUALIFIER_WHEN_TEMPLATED_BASE.msg": "When accessing base class member in a class that inherits a templated base class, always use a namespace qualifier.",
  "crulechk.EXPLICIT_RETURN_WHEN_NON_VOID_RETURN_FUNCTION.msg": "A function with a non-void return type should have an explicit return value.",
  "crulechk.EXPLICIT_VIRTUAL_KEYWORD.msg": "Explicitly declare polymorphic member functions as virtual in a derived class.",
  "crulechk.EXPLICIT_VIRTUAL_KEYWORD.msg1": "The base class is declared here",
  "crulechk.EXPLICIT_VIRTUAL_KEYWORD.sca.desc.default": "Explicitly declare polymorphic member function {0}() as virtual.",
  "crulechk.EXPR_NOT_BOOLEAN.msg1": "Expression is not boolean",
  "crulechk.EXPR_NOT_BOOLEAN.sca.desc.default": "The condition expression is modified to compare the result with zero.",
  "crulechk.EXPR_NOT_BOOLEAN.sca.note.desc.check_logic": "If this suggestion is opposed to your intention, then please modify the conditional expression proper to the logic.",
  "crulechk.EXTERNAL_IDENTIFIER_NAME_CONFLICT.bmsg": "{0} is a previously declared identifier that caused a conflict.",
  "crulechk.EXTERNAL_IDENTIFIER_NAME_CONFLICT.msg": "The name of external identifier {0} conflicts with another external identifier as it is not distinguishable within valid characters.",
  "crulechk.EXTERN_VAR_AND_FUNC_SHOULD_BE_IN_INTERFACE_FILE.msg": "Declarations of 'extern' variables and functions may only appear in interface files.",
  "crulechk.FILENAME_IN_ANGLE_BRACKET_OR_DOUBLE_QUOTATION.msg": "The #include directive shall be followed by either a  <filename> or \"filename\" sequence.",
  "crulechk.FIRST_COLUMN.FUNCTION.msg": "Function should be declared at first column.",
  "crulechk.FIRST_COLUMN.GLOBAL.msg": "Global variable should be declared at first column.",
  "crulechk.FIRST_COLUMN.LOCAL.msg": "Local variable should be declared at first column.",
  "crulechk.FIRST_COLUMN.PREPROCESSING.msg": "Preprocessing should be placed at first column.",
  "crulechk.FLEXIBLE_ARRAY_MEMBER.msg1": "Flexible array members shall not be declared",
  "crulechk.FLOAT_BIT_REPRESENTATION.r_msg": "The underlying bit representations of floating-point values shall not be used.",
  "crulechk.FLOAT_BIT_REPRESENTATION.r_msg1": "This expression may change the value of floating-point type field {0}. Since the field is in union, each field shares same memory.",
  "crulechk.FLOAT_BIT_REPRESENTATION.y_msg": "Floating-point type field is declared.",
  "crulechk.FORBIDDEN.ASSIGN_ADDRESS.msg": "Do not assign physical address to function pointer.",
  "crulechk.FORBIDDEN.CALL.BATCH.PF.msg": "This call is forbidden in Batch.",
  "crulechk.FORBIDDEN.CALL.BM.PF.msg": "This call is forbidden in BM.",
  "crulechk.FORBIDDEN.CALL.BM_TO_SM.PF.msg": "Do not call SM from BM.",
  "crulechk.FORBIDDEN.CALL.SM.PF.msg": "This call is forbidden in Service Module.",
  "crulechk.FORBIDDEN.FILE_IO.PF.msg": "Do not call file handling functions in Service Module and BM.",
  "crulechk.FORBIDDEN.MODIFY_PARAMETER.msg": "A function parameter should not be modified.",
  "crulechk.FORBIDDEN.MULTI_DIMENSION_ARRAY.msg": "A type of this variable has {0} dimensions array. More than {1} dimensions array is forbidden.",
  "crulechk.FORBIDDEN.STATIC_KEYWORD_IN_PARAM.msg": "The declaration of an array parameter shall not contain the static keyword between the []",
  "crulechk.FORBIDDEN_CALL.BEFORE_CALL.bMsg": "{0} function is called. This is an incorrect calling sequence.",
  "crulechk.FORBIDDEN_CALL.BEFORE_CALL.msg": "{0} function has been called before {1} function is called.",
  "crulechk.FORBIDDEN_CALL.LOOP.msg": "Function({0}) has been called within the loop.",
  "crulechk.FORBIDDEN_DYNAMIC_TYPE_IN_CTOR_DTOR.msg1": "Do not use dynamic type in constructor and destructor.",
  "crulechk.FORMAT_STRING.msg1": "the type of {0} parameter is {1} , but  format string  character  is mapped by {2}.",
  "crulechk.FORMAT_STRING.msg2": "the type of {0} parameter is {1} , but  format string  character  is mapped by {2}. it should be changed to  {3}.",
  "crulechk.FORMAT_STRING.msg3": "The type of the {0}th argument is {1}, but the corresponding format string conversion character is {2}. You need to convert it to {3}. Different suffixes represent different hexadecimal numbers, so choose appropriately. U is a decimal number, O is an octal number, and X is a hexadecimal number.",
  "crulechk.FORMAT_STRING_ARGUMENT_NUMBER_MISMATCH.msg": "the number of format string and arguemnts are is not matched",
  "crulechk.FORMAT_STRING_OVERFLOW.msg1": "The variable is declared.",
  "crulechk.FORMAT_STRING_OVERFLOW.msg2": "There is no limitation for generating string length. Buffer overflow may occur when the input parameter is long enough.",
  "crulechk.FOR_LOOP_CONTROL_CHANGE_COND.msg": "The value of variable could be chagned.",
  "crulechk.FOR_LOOP_NONBOOL_CONTROL_CHANGED.msg": "another value assigned into non-bool type variable.",
  "crulechk.FUNCTION_DEFINITION_TYPE_MISMATCH.bMsg": "A function has been declared.",
  "crulechk.FUNCTION_DEFINITION_TYPE_MISMATCH.msg": "Function definition mismatch. Check the declared parameter type and return type.",
  "crulechk.FUNCTION_SHALL_BE_DECL_FILE_SCOPE.msg": "Functions should be declared at file scope.",
  "crulechk.FUNCTION_TRY_BLOCK_SHOULD_NOT_REFERENCE_CLASS_DATA.msg1": "A handler in a constructor or destructor's function-try-block should not reference class data",
  "crulechk.FUNCTION_WITHOUT_DEFINITION.msg": "The function was declared but has not been defined.",
  "crulechk.FUNCTION_WITH_VOID_RETURN_TYPE_SHOULD_HAVE_EXTERNAL_SIDE_EFFECT.msg": "Function with void return should have external side effect.",
  "crulechk.GENERIC_CONTROL_EXPR_ESSENTIAL_MISMATCH.msg": "The intrinsic type of the control expression {0} passed to _Generic does not match a standard type, which may result in an unintended type being selected.",
  "crulechk.GENERIC_CONTROL_EXPR_EVAL_COUNT_MISMATCH.msg": "The number of evaluations of the control expression {0} passed to _Generic varies depending on the selected item in the linked list.",
  "crulechk.GENERIC_DEFAULT_ONLY_CHECKER.msg": "_Generic type specification contains only default values and lacks specifications for specific types.",
  "crulechk.GENERIC_DEFAULT_POSITION.msg": "_The default item of _Generic is not located at the first or last position in the linked list.",
  "crulechk.GENERIC_INVALID_TYPE_CHECKER.msg": "_Generic type specification contains invalid qualifiers or arrays. Please review the written type specification.",
  "crulechk.GENERIC_POINTER_IMPLICIT_CONV_BAN.msg": "The {0} variable passed to the _Generic selection expression is used without a ternary operator, relying on implicit pointer type conversion.",
  "crulechk.GENERIC_SIDE_EFFECT_CHECKER.msg": "_A side-effecting expression was used in a _Generic argument.",
  "crulechk.GETCHAR_TO_INT.msg": "return value assigned into smaller than int type.",
  "crulechk.GLOBAL_ENTITY_TYPE_MISMATCH.sink": "The type of {0} in the global scope does not match the previously declared type.",
  "crulechk.GLOBAL_ENTITY_TYPE_MISMATCH.src": "This is a previous declaration that conflicts with the current declaration.",
  "crulechk.GLOBAL_OPERATOR_DELETE_ALONE.msg": "The pair of sized and unsized versions of operator delete operator is not defined.",
  "crulechk.GOTO_JUMP_LATER_DECLARED_LABEL_ONLY.msg": "The goto statement shall jump to a label declared later in the same function.",
  "crulechk.GOTO_JUMP_LATER_DECLARED_LABEL_ONLY.msg-b": "The lable is declared here",
  "crulechk.HANDLE_ALL_EXCEPTIONS_BEFORE_MAIN_BEGINS_EXECUTE.msg": "Unprocessed exceptions may occur when creating objects in a global range.",
  "crulechk.HANDLE_ALL_EXCEPTIONS_BEFORE_MAIN_BEGINS_EXECUTE.sourceMsg": "Unhandled exceptions may occur in the function.",
  "crulechk.HANDLE_ALL_EXCEPTIONS_IF_SPECIFIED.msg1": "Only types in the exception specification can be thrown.",
  "crulechk.HANDLE_ALL_EXCEPTIONS_NOT_IN_SPEC.msg1": "Handle all exceptions not in exception specification",
  "crulechk.HANDLE_ALL_EXCEPTIONS_NOT_IN_SPEC.sca.desc.remove": "remove throw that not in spec.",
  "crulechk.HANDLE_FLOATING_POINT_ERRORS.msg": "Detect and handle floating-point errors.",
  "crulechk.HANDLE_STANDARD_LIBRARY_ERROR.msg": "check the return value of function call.",
  "crulechk.HANWHA_NAMING_CONVENTION.msg1": "{0} is not a valid file name",
  "crulechk.HANWHA_NAMING_CONVENTION.msg2": "{0} is not a valid function name",
  "crulechk.HANWHA_NAMING_CONVENTION.msg3": "Variable name is {0} characters long. It should be shorter than {1} letters",
  "crulechk.HANWHA_NAMING_CONVENTION.msg4": "{0} is not a valid variable name",
  "crulechk.HANWHA_NAMING_CONVENTION.msg5": "{0} is not a valid structure name",
  "crulechk.HANWHA_NAMING_CONVENTION.msg6": "{0} is not a valid DM name",
  "crulechk.HEAP_INSPECTION.msg1": "A variable \"{0}\" is declared.",
  "crulechk.HEAP_INSPECTION.msg2": "The variable \"{0}\" is used as parameter in function \"{1}\".",
  "crulechk.HEAP_INSPECTION.msg3": "Heap memory is not cleared before release.",
  "crulechk.HUNGARIAN_NOTATION.msg1": "Variable name {0} is not allowed",
  "crulechk.IF_ELSE_IF.MISSING_ELSE.msg1": "The final `else` block is missing from the `if-else if` chain.",
  "crulechk.IF_ELSE_IF.MISSING_ELSE.msg2": "The final `else` block does not contain any meaningful statements or comments.",
  "crulechk.IGNORED_RETURN_VALUE.msg": "The return value is ignored.",
  "crulechk.IMPLEMENT_ABSTRACT_DATA_TYPES.msg": "Implement abstract data types using opaque types.",
  "crulechk.IMPLICIT_ARITH_CONVERSION.sink1": "An inappropriate implicit type conversion operation has occurred.",
  "crulechk.IMPLICIT_ARITH_CONVERSION.sink2": "A large number of improper implicit type conversion operations have occurred. The entire expression needs to be reviewed.",
  "crulechk.IMPLICIT_ARITH_CONVERSION.src1": "The operand types of the {0} operation are different: {1} and {2}, respectively.",
  "crulechk.IMPLICIT_ARITH_CONVERSION.src2": "The operand signs of the {0} operation are {1} and {2}, respectively, and they differ from each other.",
  "crulechk.IMPLICIT_ASSIGNMENT_CONVERSION.msg1": "A value of type {0} was assigned to a variable {2} of type {1}. The underlying types of the two types are different.",
  "crulechk.IMPLICIT_ASSIGNMENT_CONVERSION.msg2": "A value of type {0} is being assigned to a variable {2} of a narrower type {1}, which may cause data loss.",
  "crulechk.IMPLICIT_ASSIGNMENT_CONVERSION.msg3": "A value of type {0} was assigned to {2}, a variable of type {1}. The two types have different signedness.",
  "crulechk.IMPLICIT_CAPTURE_THIS_LAMBDA.msg": "The default capture implicitly captured the this pointer due to the use of a member variable of class {0} in the lambda body.",
  "crulechk.IMPLICIT_CONVERSION_FLOAT_PARAM.msg": "Implicit conversion for functional parameter to widening float type is prohibited.",
  "crulechk.IMPLICIT_CONVERSION_FLOAT_PARAM.sca.desc.default": "Casting type is changed into parameter type of the function.",
  "crulechk.IMPLICIT_CONVERSION_INT_PARAM.msg1": "Implicit conversion for functional parameter to widening integer type is prohibited",
  "crulechk.IMPLICIT_CONVERSION_INT_PARAM.sca.desc.default": "Cast to declared parameter type of the function.",
  "crulechk.IMPLICIT_NARROW_FLOAT_CONVERSION.msg": "The value of a complex expression of floating type shall only be cast to a floating type that is narrower or of the same size.",
  "crulechk.IMPLICIT_NARROW_FLOAT_CONVERSION.sca.desc.default": "Casting should be done explicitly.",
  "crulechk.IMPLICIT_NARROW_INTEGER_CONVERSION": "Implicit type casting to narrow type is prohibited. It may cause loss of information",
  "crulechk.IMPLICIT_NARROW_INTEGER_CONVERSION.msg": "Implicit type casting to narrow type may cause loss of information.",
  "crulechk.IMPLICIT_NARROW_INTEGER_CONVERSION.sca.desc.default": "Casting should be done explicitly.",
  "crulechk.IMPLICIT_UNSIGNED_CHAR_TO_CHAR_HANDLING_INT.msg": "Arguments to character-handling functions must be representable as an unsigned char",
  "crulechk.IMPLICIT_WIDEN_CAST_COMPLEX_FLOAT_EXPR.msg": "The value of a complex expression of floating type shall not be cast to widening type implicitly.",
  "crulechk.IMPLICIT_WIDEN_CAST_COMPLEX_FLOAT_EXPR.sca.desc.default": "Casting should be done explicitly.",
  "crulechk.IMPLICIT_WIDEN_CAST_COMPLEX_INT_EXPR.msg1": "Do not type-cast the value of a complex expression of integer type to a bigger type.",
  "crulechk.IMPLICIT_WIDEN_CAST_COMPLEX_INT_EXPR.sca.desc.default": "Casting should be done explicitly.",
  "crulechk.IMPROPERLY_CTL_SEQ_MEM_ALLOC.msg": "alloca() allocates memory on the stack, causing a stack overflow.",
  "crulechk.IMPROPER_ESSENTIAL_CAST.msg": "The value of {0} was improperly converted from type {1} to type {2}.",
  "crulechk.IMPROPER_FLOATING_POINT_OPERATION.msg1": "Used a dangerous argument value {1} in the first parameter of function {0}.",
  "crulechk.IMPROPER_FLOATING_POINT_OPERATION.msg2": "Used a dangerous argument value {1} in the second parameter of the {0} function.",
  "crulechk.IMPROPER_FUNC_PTR_CONVERSION.msg": "A value of a different type converted to a function pointer type was assigned to the variable {0}.",
  "crulechk.IMPROPER_MACRO_NAME.msg": "Pre-processor names shall consist of upper case words separated by underscore.",
  "crulechk.IMPROPER_OVERLOAD_OF_SUBSCRIPT_OPERATOR.msg": "When overloading the subscript operator ('operator[]') implement both const and non-const versions.",
  "crulechk.IMPROPER_RANDOM_USAGE.msg1": "rand() is called.",
  "crulechk.IMPROPER_RANDOM_USAGE.msg2": "srand() is seeded with the constant value \"{0}\"",
  "crulechk.IMPROPER_RANDOM_USAGE.msg3": "A random function \"{0}\" is called without calling the seeding function \"{1}\"",
  "crulechk.IMPROPER_RANDOM_USAGE.msg4": "A Mersenne Twister random number generator object has been declared without using a non-deterministic random number initialization such as random_device.",
  "crulechk.IMPROPER_REALLOC.msg": "The programmer must ensure that a pointer to dynamic memory is not lost when using realloc().",
  "crulechk.IMPROPER_REALLOC.sca.desc.default": "A fresh variable is created to store the return value of function realloc().",
  "crulechk.IMPROPER_REALLOC.sca.note.desc.change_exist_variable": "Usages of variable {0} after the call of function realloc() should be changed into the fresh variable.",
  "crulechk.IMPROPER_RESTRICTION_OF_XML_ENTITY.msg": "The argument value of index {0} of the XML library function is incorrectly used. To be safe against XXE attacks, this value should be {1}.",
  "crulechk.IMPROPER_SYNC_INIT.bmsg": "Called the thread creation function.",
  "crulechk.IMPROPER_SYNC_INIT.msg": "Thread synchronization object {0} was initialized outside of the main function.",
  "crulechk.IMPROPER_SYNC_INIT.msg1": "Thread synchronization object {0} was initialized after the thread creation function was called.",
  "crulechk.IMPROPER_SYNC_LOCAL_STORAGE.bmsg": "Called the thread creation function.",
  "crulechk.IMPROPER_SYNC_LOCAL_STORAGE.msg": "Created thread-local storage object {0} outside of the main function",
  "crulechk.IMPROPER_SYNC_LOCAL_STORAGE.msg1": "Created thread-local storage object {0} after the thread creation function was called.",
  "crulechk.IMPROPER_TYPE_ASSIGN.PARAM_TYPE.msg1": "Expected type {2} at {0}th index of parameter, but actually {1} type is used.",
  "crulechk.IMPROPER_TYPE_ASSIGN.PLAIN_CHAR.msg1": "Improper types to assign",
  "crulechk.IMPROPER_TYPE_ASSIGN.bool": "Assigned an integer other than true / false to the boolean type.",
  "crulechk.IMPROPER_TYPE_ASSIGN.diff": "In the assignment operation, the sign of the left term is {0} and the sign of the right term is {1}. They have different signs.",
  "crulechk.IMPROPER_TYPE_ASSIGN.lhs_is_narrow": "In the assignment operation, the type of the left side is {0} and the type of the right side is {1}. The expression range of the left term is narrower.",
  "crulechk.IMPROPER_TYPE_ASSIGN.msg1": "Improper value is assigned.",
  "crulechk.IMPROPER_TYPE_ASSIGN.rhs_is_float": "The type of the left-hand side of the assignment operation is an integer type, but the value to be assigned is a real type.",
  "crulechk.IMPROPER_TYPE_ASSIGN.sca.desc.type_pure_char": "The type of string value should be type of plain char.",
  "crulechk.IMPROPER_USAGE.FILE_OBJECT.msg": "A pointer to a FILE object shall not be dereferenced or be manipulated directly.",
  "crulechk.IMPROPER_VARIABLE_ACCESS.msg1": "Do not access a variable through a pointer of an incompatible type.",
  "crulechk.INAPPROPRIATE_COPY_MOVE_SIGNATURE.msg": "The signature of the member function {0} related to copy and move operations is not in a valid form.",
  "crulechk.INAPPROPRIATE_COPY_MOVE_SIGNATURE.msg1": "A parameter with a default value was used.",
  "crulechk.INAPPROPRIATE_COPY_MOVE_SIGNATURE.msg2": "The type of the first argument does not match the standard declaration of the member function.",
  "crulechk.INAPPROPRIATE_COPY_MOVE_SIGNATURE.msg3": "The return type does not match the standard declaration of the assignment operator.",
  "crulechk.INAPPROPRIATE_COPY_MOVE_SIGNATURE.msg4": "The noexcept specifier is missing from member functions related to move operations.",
  "crulechk.INAPPROPRIATE_COPY_MOVE_SIGNATURE.msg5": "A reference qualifier (&) is missing from the member function related to the assignment operation.",
  "crulechk.INAPPROPRIATE_COPY_MOVE_SIGNATURE.msg6": "Declared the member function as virtual.",
  "crulechk.INAPPROPRIATE_MOVE_ARGUMENT.msg": "The move function has no movement effect or unnecessary arguments were passed.",
  "crulechk.INAPPROPRIATE_VIRTUAL_SPECIFIER.bmsg1": "This is a member function declared as a virtual function in the parent class.",
  "crulechk.INAPPROPRIATE_VIRTUAL_SPECIFIER.msg": "More than one virtual function specifier is used redundantly in the member function declaration {0}.",
  "crulechk.INAPPROPRIATE_VIRTUAL_SPECIFIER.msg2": "The member function {0} overriding a virtual function in the parent class is missing a required specifier (override or final).",
  "crulechk.INCLUDE_EXPLICIT_CASES_FOR_ALL_ALTERNATIVES.msg": "Include explicit cases for all alternatives in multi-way conditional structures.",
  "crulechk.INCLUDE_STATIC_SPECIFIER_ON_REDECLARATION.bMsg": "Static function is declared.",
  "crulechk.INCLUDE_STATIC_SPECIFIER_ON_REDECLARATION.msg": "Include static specifier on redeclaration.",
  "crulechk.INCLUDE_STDLIB_WITH_BRACKETS.msg": "Use <> brackets for system and standard library headers. Use \"\" quotes for all other headers.",
  "crulechk.INCOMPLETE_SPECIAL_MEMBER_FUNCTION.msg": "Special member functions in class {0} are only partially defined.",
  "crulechk.INCOMPLETE_SPECIAL_MEMBER_FUNCTION.msg1": "Copy constructor declaration is missing.",
  "crulechk.INCOMPLETE_SPECIAL_MEMBER_FUNCTION.msg2": "Copy assignment operator declaration is missing.",
  "crulechk.INCOMPLETE_SPECIAL_MEMBER_FUNCTION.msg3": "Move constructor declaration is missing.",
  "crulechk.INCOMPLETE_SPECIAL_MEMBER_FUNCTION.msg4": "Move assignment operator declaration is missing.",
  "crulechk.INCOMPLETE_SPECIAL_MEMBER_FUNCTION.msg5": "Destructor declaration is missing.",
  "crulechk.INCOMPLETE_STRUCT_UNION.msg": "All structure and union types shall be complete at the end of a translation unit.",
  "crulechk.INCOMPLETE_STRUCT_UNION.yMsg": "Incomplete type.",
  "crulechk.INCONSISTENT_FORWARDING_REFERENCE.msg_pattern1": "The forward function was not used during the delegation process of {0}.",
  "crulechk.INCONSISTENT_FORWARDING_REFERENCE.msg_pattern2": "The move function was incorrectly used during the forwarding process of the forwarding reference argument {0} in another function.",
  "crulechk.INCONSISTENT_FORWARDING_REFERENCE.msg_pattern3": "The forward function was used during the passing process of the non-forwarded reference argument {0} to another function.",
  "crulechk.INCONSISTENT_GLOBAL_VARIABLE_TYPE.msg1": "A variable {0} has been declared.",
  "crulechk.INCONSISTENT_GLOBAL_VARIABLE_TYPE.msg2": "A variable {0} has already been used as another type.",
  "crulechk.INCONSISTENT_GLOBAL_VARIABLE_TYPE.sca.desc.remove": "remove duplicate variable.",
  "crulechk.INCORRECT_CONVERSION.NUMERIC_TYPES.msg": "Use without checking if conversion is safe",
  "crulechk.INCORRECT_CONVERSION.NUMERIC_TYPES.msg1": "There is a conversion between numeric types.",
  "crulechk.INCORRECT_ERRNO_CHECK.msg": "If the function to set errno was not used, the value might be incorrect.",
  "crulechk.INCORRECT_ORDER_OF_CONSTRUCTOR_INITIALIZERS.msg1": "Constructor initializers should be ordered correctly",
  "crulechk.INCORRECT_PERMISSION.msg": "A dangerous permission has been set.",
  "crulechk.INCORRECT_PERMISSION.msg1": "A resource is accessed with a dangerous permission",
  "crulechk.INCORRECT_PERMISSION.msg2": "A dangerous permission has been set.",
  "crulechk.INCORRECT_POINTER_SCALING.msg1": "sizeof operator may occur incorrect pointer scaling",
  "crulechk.INCORRECT_POINTER_SCALING.msg2": "Pointer arithmetic may occur incorrect pointer scaling",
  "crulechk.INCREMENT_ON_BOOLEAN.msg": "Do not use the increment operator ('++') on a variable of type 'bool'.",
  "crulechk.INDICATE_SIGNEDNESS_TYPEDEF.msg": "Typeef The number type declaration must specify either signed or unsigned.",
  "crulechk.INEFFECTIVE_BOOLEAN_LOGICAL_OP.msg1": "The operands of logical operators (&&, || and !) should be effectively Boolean.",
  "crulechk.INEFFECTIVE_BOOLEAN_LOGICAL_OP.sca.desc.compare": "check the variable with adequate condition.",
  "crulechk.INEFFECTIVE_BOOLEAN_LOGICAL_OP.sca.note.desc.validate": "please validate code-flow is still.",
  "crulechk.INITIALIZER_LIST_CTOR_COLLISION.bmsg": "A constructor conflicting with the initializer list constructor has been declared.",
  "crulechk.INITIALIZER_LIST_CTOR_COLLISION.msg": "Another constructor is defined in the class {0} that already has an initializer list constructor.",
  "crulechk.INLINE_FUNCTION_SHALL_BE_STATIC.msg": "inline function shall be declared with the static storage class",
  "crulechk.INPUT_FUNCTION_ERROR_HANDLING.msg1": "Do not use input functions to convert character data if they cannot handle all possible inputs",
  "crulechk.INSERT_DERIVED_INTO_CONTAINER_HOLDING_BASE.msg": "Do not attempt to insert derived class objects in a container that holds base class objects.",
  "crulechk.INSERT_DERIVED_INTO_CONTAINER_HOLDING_BASE.sca.desc.default": "Change element type of container with pointer.",
  "crulechk.INSERT_DERIVED_INTO_CONTAINER_HOLDING_BASE.sca.note.desc.change_other_code": "Change a related code because the element type of container is changed.",
  "crulechk.INSERT_DERIVED_INTO_CONTAINER_HOLDING_BASE.sca.note.desc.pointer_element": "Change elements that is stored in the containter with pointer.",
  "crulechk.INSERT_DERIVED_INTO_CONTAINER_HOLDING_BASE.sca.note.desc.use_heap": "Allocate and release elements that is stored in the container in the heap space.",
  "crulechk.INSTANTIATE_TEMPLATES.msg": "The member function of class template should be instantiated at least once.",
  "crulechk.INSUFFICIENT_INIT_ARRAY.msg1": "Insufficient array initialization items. The items need {0} items, but there are only {1} items.",
  "crulechk.INSUFFICIENT_INIT_ARRAY.sca.desc.replace": "Add more element.",
  "crulechk.INSUFFICIENT_INIT_ARRAY.sca.note.desc.warning": "Please replace comments to appropriate codes.",
  "crulechk.INSUFFICIENT_PUBLIC_EXPONENT.msg": "Use 65537 as public key exponent.",
  "crulechk.INTEGER_PRECISION.msg": "Use correct integer precisions",
  "crulechk.INTERNAL_IDENTIFIER_NAME_CONFLICT.bmsg": "{0} is an identifier previously declared that caused a conflict.",
  "crulechk.INTERNAL_IDENTIFIER_NAME_CONFLICT.msg": "The name of internal identifier {0} conflicts with another internal identifier as they are not distinguishable within valid characters.",
  "crulechk.INTERNAL_LINKAGE_KEYWORD_MISUSE.msg": "The declaration of {0} with internal linkage has been made at global scope.",
  "crulechk.INTERNAL_LINKAGE_KEYWORD_MISUSE.msg1": "The declaration of {0} with internal linkage conflicts with the use of the extern keyword.",
  "crulechk.INT_TO_CHAR.msg1": "Type mismatch : Integer to character",
  "crulechk.INVALID_DATA_TO_ASCTIME.msg1": "Check the validity of data passed to the asctime() function",
  "crulechk.INVALID_DATA_TO_ASCTIME.sca.desc.use_asctime_s": "Function asctime_s() is more secure than function asctime().",
  "crulechk.INVALID_DATA_TO_ASCTIME.sca.desc.use_strftime": "Function strftime() is more secure and the return string is modifiable.",
  "crulechk.INVALID_DATA_TO_ASCTIME.sca.note.desc.change_output": "Output string is modifiable with format string and buffer size.",
  "crulechk.INVALID_DATA_TO_ASCTIME.sca.note.desc.include_time": "File time.h is included.",
  "crulechk.INVALID_DATA_TO_ASCTIME.sca.note.desc.support_asctime_s": "Whether the compiler supports function asctime_s() or not should be checked.",
  "crulechk.INVOKE_VIRTUAL_FUNCTION_FROM_CTOR_OR_DTOR.msg1": "Do not invoke virtual functions from constructors or destructors",
  "crulechk.INVOKE_VIRTUAL_FUNCTION_FROM_CTOR_OR_DTOR.sca.desc.remove": "remove virtual function call.",
  "crulechk.INVOKE_VIRTUAL_FUNCTION_FROM_CTOR_OR_DTOR.sca.note.desc.code_flow": "please check the code-flow is reliable.",
  "crulechk.JUMP_OVER_SCOPE.msg": "Any label referenced by a goto statement shall be declared in the same block, or in any block enclosing the goto statement",
  "crulechk.JUMP_OVER_SCOPE.msg-b": "The lable is declared here",
  "crulechk.KOSCOM.NAMING_CONVENTION.FUNCTION.msg1": "The function name violates code convention.",
  "crulechk.LANGUAGE_EXTENSION_SHOULD_NOT_BE_USED.msg1": "Compiler specific extension is used.",
  "crulechk.LEAST_PRIVILEGE_VIOLATION.W32.msg1": "Create a process using {0} with quotes for the executable path. Refer to parameter #{1}.",
  "crulechk.LEAST_PRIVILEGE_VIOLATION.W32.msg2": "Create a registry key using {0} and HKEY_CURRENT_USER. Refer to parameter #{1}.",
  "crulechk.LEAST_PRIVILEGE_VIOLATION.W32.msg3": "Open registry key using {0} and HKEY_CURRENT_USER. Refer to parameter #{1}.",
  "crulechk.LEAST_PRIVILEGE_VIOLATION.W32.msg4": "Create a registry key using {0} and SHREGSET_HKCU. Refer to parameter #{1}.",
  "crulechk.LEAST_PRIVILEGE_VIOLATION.msg1": "Authority as the original did not recover.",
  "crulechk.LEFTOVER_DEBUG_CODE.msg1": "A leftover debug code exists.",
  "crulechk.LIMITED_VISIBILITY_UNUSED_FUNCTION.msg": "The {0} function with restricted visibility has never been used.",
  "crulechk.LIMITED_VISIBILITY_UNUSED_TYPE.msg": "The {0} type has never been used in a scope with restricted visibility.",
  "crulechk.LIMIT_DBIO_FETCH.PF.msg1": "DBIO fetch counter exceeds threshold value {0}.",
  "crulechk.LIMIT_OPERATOR_PRECEDENCE.msg": "Limited dependence should be placed on C's operator precedence rules in expressions.",
  "crulechk.LIMIT_REPETITION.PF.msg": "Limit repetition of sub-structure in Service I/O structure.(max : {0})",
  "crulechk.LOGICAL_OP_SHALL_BE_PRIMARY_EXPR.msg1": "The operands of a logical && or || shall be primary-expressions",
  "crulechk.LONG_LONG_SINGLE_SUFFIX.msg": "The integer constant value {0} has a size within the range of the long long type but uses the L suffix alone.",
  "crulechk.MACRO_IDENTIFIER_CONFLICT.bmsg": "{0} is a previously declared macro that caused the conflict.",
  "crulechk.MACRO_IDENTIFIER_CONFLICT.msg": "The name of identifier {0} conflicts because it is not distinguishable from a macro within valid characters.",
  "crulechk.MACRO_IF_EXPRESSION_SHALL_EVAL_TO_BOOLEAN.msg1": "#if of #elif expression value must be 0 or 1.",
  "crulechk.MAIN_IN_GLOBAL_NAMESPACE.msg": "main routine should be global namespace",
  "crulechk.MAKE_BINARY_OPERATORS_NONMEMBERS.msg": "Make binary operators non-members to allow implicit conversions of the left hand operand.",
  "crulechk.MAKE_COPYING_EFFICIENT_FOR_OBJECT.msg": "Make copying efficient for objects in containers.",
  "crulechk.MAKE_MEMBER_DATA_PRIVATE.msg": "Make member data private.",
  "crulechk.MAKE_PREDICATES_PURE_FUNCTIONS.msg": "The result of a predicate should depend only on its parameters.",
  "crulechk.MALFORMED_SWITCH.dead_code": "There is unreachable code between the switch statement and the first {0} label.",
  "crulechk.MALFORMED_SWITCH.insufficient_paths": "The switch statement has fewer than two execution paths.",
  "crulechk.MALFORMED_SWITCH.malformed_case_pos": "The {0} label is inside a nested block, not at the top level of the switch body.",
  "crulechk.MALFORMED_SWITCH.malformed_default_pos": "The default label is not located at the very beginning or the very end of the switch body.",
  "crulechk.MALFORMED_SWITCH.malformed_init": "An expression, rather than a simple variable declaration, was used in the C++17 initialization statement of the switch.",
  "crulechk.MALFORMED_SWITCH.missing_end": "The branch corresponding to label {0} has not been unconditionally terminated.",
  "crulechk.MALFORMED_SWITCH.non_default": "The switch statement is missing a default label.",
  "crulechk.MEMBER_FUNCTION_SHOULD_NOT_RETURN_NON_CONST_HANDLER.msg": "Member function should not return non-const handler to class data.",
  "crulechk.MEMORY_COMPARISON_OF_FLOAT_POINT_VALUES.msg": "Do not use object representations to compare floating-point values",
  "crulechk.MEMORY_ORDER_SEQ_CST_ONLY.msg": "A non-sequentially consistent memory order was specified for the {0} function performing an atomic operation.",
  "crulechk.MINIMAL_SCOPE.msg1": "Variable {0} could be declared in function scope({1})",
  "crulechk.MINIMISE_MIXING_OF_ITERATOR.msg": "Minimise mixing of iterator types.",
  "crulechk.MINIMISE_USE_AUTOPTR.msg": "Minimise use of the Standard Template Library 'auto_ptr'.",
  "crulechk.MISMATCH_RETURN_TYPE.msg": "The type returned by a return statement does not match with the function declaration.",
  "crulechk.MISMATCH_RETURN_TYPE.sca.desc.default": "Explicit cast to declared function return type.",
  "crulechk.MISMATCH_STORAGE_CLASS.bMsg": "There is different storage class.",
  "crulechk.MISMATCH_STORAGE_CLASS.msg": "Can't have external linkage with static linkage at the same time.",
  "crulechk.MISMATCH_STORAGE_CLASS.sca.desc.replace": "replace storage class to match each-other.",
  "crulechk.MISSING.DESIGNATED_INIT.msg": "There is uninitialized element of a array {0}.",
  "crulechk.MISSING.DESIGNATED_INIT.msg-b": "The field is declared here",
  "crulechk.MISSING.DESIGNATED_INIT.msgIdx": "Index {1} in array {0} is not initialized.",
  "crulechk.MISSING_AUTHENTICATION_CONTROL.msg1": "Process inspection is missing",
  "crulechk.MISSING_BREAK_IN_CASE.MISRA2008.msg1": "A break statement is missing.",
  "crulechk.MISSING_BREAK_IN_CASE.msg1": "A break statement is missing.",
  "crulechk.MISSING_BREAK_OR_THROW_IN_CASE.msg1": "The case statement should be a break or throw.",
  "crulechk.MISSING_COMPOUND_STATEMENT.msg": "Use empty block('{}') instead of empty statement(;) to improve readability.",
  "crulechk.MISSING_DEBUG_CHECK.msg": "Any debug mode checking functions has not been called before call the function.",
  "crulechk.MISSING_EXPLICIT_BASE_TYPE_FOR_ENUM.msg": "The enum {0} without a default value does not have a base type defined.",
  "crulechk.MISSING_FUNCTION_DEFINITION_PARAMETER.msg": "Parameter types in the function prototype are missing.",
  "crulechk.MISSING_INTEGRITY_CHECK.msg1": "Downloaded file from internet should be perform integrity check.",
  "crulechk.MISSING_LOGIN_CONTROL.msg1": "Too many trials for authentification",
  "crulechk.MISSING_NOEXCEPT_ON_EXCEPTION_FORBIDDEN.bmsg": "This is the constructor called during the variable initialization process.",
  "crulechk.MISSING_NOEXCEPT_ON_EXCEPTION_FORBIDDEN.msg1": "The declaration of the critical member function {0} is missing the noexcept specification in case of an exception.",
  "crulechk.MISSING_NOEXCEPT_ON_EXCEPTION_FORBIDDEN.msg2": "The constructor called during the initialization of the non-local static variable {0} is missing a noexcept specification.",
  "crulechk.MISSING_PASSWORD_RECOVERY_CONTROL.msg1": "Too many trials for password recovery",
  "crulechk.MISSING_REQUIRE_CRYPTO_STEP.msg1": "The function {0} is not called before {1}",
  "crulechk.MISSING_UNSIGNED_SUFFIX.decimal": "The U suffix is missing for the decimal integer constant {0} represented as a 32-bit unsigned type.",
  "crulechk.MISSING_UNSIGNED_SUFFIX.hexa": "The hexadecimal integer constant {0} represented as a 16-bit unsigned type is missing the U suffix.",
  "crulechk.MISSING_VALIDATION_OF_ARRAY_INDEX.msg": "Validations of the array index has been missing.",
  "crulechk.MISSING_WRAPPER_ON_VARIABLE.msg1": "The function was not used in the function call.",
  "crulechk.MISSING_WRAPPER_ON_VARIABLE.msg2": "The function({0}) was not used in the function call.",
  "crulechk.MISUSE_OF_TRY_CATCH.msg": "Do not use throw in conditional statements.",
  "crulechk.MIXED_TYPE_COMPARISON.msg1": "Do not compare unsigned value with signed value",
  "crulechk.MODIFICATION_CONTROL_VAR_IN_LOOP.msg1": "A variable that control for loop counting shall not be modified in the body of for loop",
  "crulechk.MULTIPLE_ALLOC_IN_SINGLE_STMT.msg1": "Never allocate more than one resource in a single statement",
  "crulechk.MULTIPLE_BINDS_TO_SAME_PORT.msg_b": "setsockopt() is called with the option.",
  "crulechk.MULTIPLE_BINDS_TO_SAME_PORT.msg_r": "Multiple binds are allowed since the value is used",
  "crulechk.MULTIPLE_DECLARATION_IN_NAMESPACE.msg": "Do not overload the function in the same namespace.",
  "crulechk.MULTIPLE_ENV_WITH_SAME_NAME.msg1": "Beware of multiple environment variables with the same effective name",
  "crulechk.MULTIPLE_ENV_WITH_SAME_NAME.msg_blue": "First usage here",
  "crulechk.MULTIPLE_ENV_WITH_SAME_NAME.sca.desc.default": "Other platforms may ignore case sensitive of the key. Please use another key string.",
  "crulechk.MULTIPLE_FILE_ATTRIBUTES.msg1": "Identify files using multiple file attributes",
  "crulechk.MULTIPLE_SIGNAL_TO_SAME_HANDLER.msg1": "Signal handler function associated with multiple signals.",
  "crulechk.MULTIPLE_SIGNAL_TO_SAME_HANDLER.msg2": "The signal handler is already associated.",
  "crulechk.MUST_CALL.BATCH_EXIT.PF.msg1": "Commit/Rollback is occurred here",
  "crulechk.MUST_CALL.BATCH_EXIT.PF.msg2": "Commit/Rollback is not used at exit in batch service.",
  "crulechk.MUST_CALL_BASE_CONSTRUCTOR.msg": "Call the constructor of direct base class in the constructor.",
  "crulechk.MUST_CATCH_ALL_EXCEPTION_IN_DTOR.msg1": "All exceptions must be handled in destructor.",
  "crulechk.MUST_CATCH_ALL_EXCEPTION_IN_DTOR.sca.desc.add_catch": "add handler for throw",
  "crulechk.MUST_CATCH_ALL_EXCEPTION_IN_DTOR.sca.desc.remove": "remove throw statement.",
  "crulechk.MUST_CATCH_ALL_EXCEPTION_IN_MAIN.msg1": "All exceptions are handled in main.",
  "crulechk.MUST_CATCH_ALL_EXCEPTION_IN_MAIN.sca.desc.add_catch": "add handler for throw",
  "crulechk.MUST_CATCH_ALL_EXCEPTION_IN_MAIN.sca.desc.remove": "remove throw statement.",
  "crulechk.MUST_HAVE_AN_IDENTIFIER.msg": "Identifiers shall be given for all of the parameters in a function prototype declaration.",
  "crulechk.MUTUALLY_VISIBLE_ID_SHOULD_BE_UNIQUE.msg1": "Guarantee that mutually visible identifiers are unique.",
  "crulechk.NAMESPACE_IN_HEADER_SHOULD_BE_NAMED.msg": "Namespace in header is Noname",
  "crulechk.NAMES_WITH_WIDER_SCOPE_SHOULD_BE_LONGER.msg": "{0}, which has wide scope, should be longer than  {1}, which has narrow scope.",
  "crulechk.NAME_IS_USED_IN_STANDARD_LIBRARY.msg": "The names of standard library shall not be reused.",
  "crulechk.NAME_SHOULD_NOT_START_WITH_UNDERSCORE.msg": "Names shall not start with an underscore character (_).",
  "crulechk.NAMING_CONVENTION.ENUM.msg1": "Invalid enum tag.",
  "crulechk.NAMING_CONVENTION.ENUM.msg2": "Invalid enum name.",
  "crulechk.NAMING_CONVENTION.FUNCTION.msg1": "Invalid function name",
  "crulechk.NAMING_CONVENTION.HEADER.msg1": "{0} is not allowed by naming convention.",
  "crulechk.NAMING_CONVENTION.STRUCTURE.msg1": "Invalid structure name",
  "crulechk.NAMING_CONVENTION.TYPE.msg1": "Invalid type name",
  "crulechk.NAMING_CONVENTION.UNION.msg1": "Invalid union name",
  "crulechk.NAMING_CONVENTION.VARIABLE.msg1": "Invalid variable name",
  "crulechk.NAMING_CONVENTION.VARIABLE.msg2": "Global variable should start with \"g_\"",
  "crulechk.NARROW_CAST_COMPLEX_FLOAT_EXPR.msg1": "The value of a complex expression of floating type may only be cast to a type which is narrower.",
  "crulechk.NARROW_CAST_COMPLEX_INTEGRAL_EXPR.msg1": "The value of a complex expression of integer type may only be cast to a type which is narrower and has same signedness.",
  "crulechk.NEVER_CREATE_CONTAINERS_OF_AUTO_PTRS.msg": "Never create containers of auto_ptrs.",
  "crulechk.NEVER_CREATE_CONTAINERS_OF_AUTO_PTRS.sca.desc.default": "Use shared_ptr to support reference counting if the compiler supports C++11.",
  "crulechk.NEVER_CREATE_CONTAINERS_OF_AUTO_PTRS.sca.note.desc.include_memory": "Include 'memory' header file.",
  "crulechk.NEVER_CREATE_CONTAINERS_OF_AUTO_PTRS.sca.note.desc.paren_error": "It's error when using '>>' if  the compiler don't support C++11.",
  "crulechk.NEVER_CREATE_CONTAINERS_OF_AUTO_PTRS.sca.note.desc.use_boost": "Use boost::shared_ptr if the compiler don't support C++11.",
  "crulechk.NEW_DELETE_INSTEAD_OF_MALLOC_FREE.msg": "Memory allocation using new/delete should be used instead of malloc()/free()..",
  "crulechk.NONEFFECTIVE_FUNCTION_CALL.msg1": "Function has no effect",
  "crulechk.NON_CONSTANT_PTR_TO_FUNCTION.msg1": "Do not use non-constant pointers to functions",
  "crulechk.NON_CONSTANT_PTR_TO_FUNCTION.sca.desc.default": "Constant function pointer is used.",
  "crulechk.NON_DYNAMIC_CAST_ON_VIRTUAL_BASE_CLASS_PTR.msg": "Use only dynamic_cast for casting from virtual base class pointer to derived class pointer",
  "crulechk.NON_DYNAMIC_CAST_ON_VIRTUAL_BASE_CLASS_PTR.sca.desc.replace": "replace to dynamic_cast.",
  "crulechk.NON_DYNAMIC_CAST_ON_VIRTUAL_BASE_CLASS_PTR.sca.note.desc.code_flow": "If dynamic_cast operator fails, the operator returns a null pointe. please consider handle this.",
  "crulechk.NON_STATIC_THREAD_POOL.msg": "The thread creation function {0} was called outside the main function.",
  "crulechk.NON_TEMP_LAMBDA_CAPTURE.copy": "Used default capture [=] in a non-temporary lambda.",
  "crulechk.NON_TEMP_LAMBDA_CAPTURE.ref": "Used default capture [&] in a non-temporary lambda.",
  "crulechk.NORETURN_INVALID_RETURN.msg": "The return type of the function {0} declared with _Noreturn is not void.",
  "crulechk.NOT_BE_ASSIGNED_TO_OVERLAPPING_OBJECTS.msg": "An object shall not be assigned to an overlapping object.",
  "crulechk.NOT_EXIST.EXTRA_CODES.PF.msg1": "There is no extra code after calling setErrLog()",
  "crulechk.NOT_EXIST.EXTRA_CODES.PF.msg2": "There is no extra code after calling setErrLog()",
  "crulechk.NOT_LAST_DEFAULT_CASE.MISRA2012.msg1": "At the beginning or end of the switch statement, the syntax must be the default syntax.",
  "crulechk.NOT_LAST_DEFAULT_CASE.msg1": "The final clause of a switch statement shall be the default clause.",
  "crulechk.NO_BITWISE_SIGNED.msg": "Bitwise operators shall not be applied to operands whose underlying type is signed.",
  "crulechk.NO_BITWISE_SIGNED.msg_b": "Signed integer is declared here.",
  "crulechk.NO_BITWISE_SIGNED.sca.desc.remove": "delete statement.",
  "crulechk.NO_BITWISE_SIGNED.sca.desc.type_modify": "change type to unsigned for bitwise operation.",
  "crulechk.NO_BITWISE_SIGNED.sca.note.desc.make_flow": "please check the code-flow is reliable.",
  "crulechk.NO_BITWISE_SIGNED.sca.note.desc.make_flow_type": "please check overflow or underflow possibility from type change.",
  "crulechk.NO_BRACKETS_TO_SWITCH_BODY.msg": "No brackets to switch body.",
  "crulechk.NO_BRACKETS_TO_THEN_ELSE.msg": "No brackets to then/else.",
  "crulechk.NO_CASE_IN_NESTED_BLOCK.msg": "A switch label shall only be used when the most closely-enclosing compound statement is the body of a switch statement.",
  "crulechk.NO_CONTINUE_STMT.msg1": "The continue statement shall not be used.",
  "crulechk.NO_EXEC_STMT_BEFORE_FIRST_SWITCH_CASE.msg1": "There should not be executable statements before first case label",
  "crulechk.NO_EXEC_STMT_BEFORE_FIRST_SWITCH_CASE.sca.desc.default": "Remove executable statements before first case label.",
  "crulechk.NO_EXPLICIT_TYPE_CASTING.msg1": "Assign without explicit type casting",
  "crulechk.NO_EXPLICIT_TYPE_CASTING.sca.desc.default": "Casting should be done explicitly.",
  "crulechk.NO_FUNCTION_DEFINITION_IN_HEADER.msg1": "Function definition should be placed source file instead of header file",
  "crulechk.NO_GLOBAL_VARIABLES_BETWEEN_FUNCTIONS.msg1": "Do not declare a global variable after a function definition.",
  "crulechk.NO_INC_EXPR_IN_FOR_LOOP.msg1": "Empty increment/decrement expression in for loop",
  "crulechk.NO_MEMBER_FUNCTION_IN_STRUCT.msg": "Do not include member functions or access specifiers in struct types.",
  "crulechk.NO_MORE_THAN_ONE_BREAK.msg": "For any iteration statement there shall be at most one break statement used for loop termination.",
  "crulechk.NO_MORE_THAN_ONE_BREAK.yMsg": "Break point.",
  "crulechk.NO_MORE_THAN_ONE_SHARP_OPERATOR.msg": "There shall be at most one occurrence of the # or ## operators in a single macro definition.",
  "crulechk.NO_PREPROCESSING_DIRECTIVE_IN_MACRO.msg": "Arguments to a function-like macro shall not contain tokens that look like preprocessing directives.",
  "crulechk.NO_PREPROCESSING_DIRECTIVE_IN_MACRO.yMsg": "Preprocessing directive point.",
  "crulechk.NO_PUBLIC_CONSTRUCTOR_FOR_ABSTRACT_CLASS.msg": "An abstract class shall have no public constructors.",
  "crulechk.NO_REAL_DECLARATION_FOR_VARIABLE.msg": "Ensure to have real declaration for an external variable.",
  "crulechk.NO_REAL_DECLARATION_FOR_VARIABLE.yMsg": "The other external declaration.",
  "crulechk.NO_SEMICOLON_ON_SAME_STMT.msg1": "Do not place a semicolon on the same line as an if, for, or while statement",
  "crulechk.NO_SHIFT_SIGNED.msg1": "Do not shift signed type. Significant bit may be lost or shifting negative value is implement-define behavior.",
  "crulechk.NO_SIDE_EFFECT_STMT.msg1": "All non-null statement shall have at least one side-effect",
  "crulechk.NO_SIDE_EFFECT_STMT.sca.desc.default": "Useless statement(s) without side-effect should be removed.",
  "crulechk.NO_TEST_EXPR_IN_FOR_LOOP.msg1": "Empty second expression of for loop",
  "crulechk.NO_TEST_EXPR_IN_FOR_LOOP.msg2": "The variables used in both the declaration and repeat statements of the statement should be used in the evaluation statements.",
  "crulechk.NULLPTR_NOT_USED.msg": "Used NULL macro or 0. If the context involves pointers, use nullptr; if not related to pointers, use the integer 0.",
  "crulechk.NULL_SHALL_BE_POINTER_CONSTANT.msg": "do not use integer 0 to potiner varaible. use (void *)0 instead.",
  "crulechk.NULL_SHALL_NOT_BE_INTERGER_VALUE.msg1": "NULL shall not be used as an integer value.",
  "crulechk.NULL_STATEMENT_FOUND.msg": "A null statement shall only occur on a line by itself. it may be followed by a comment provided that the first character following the null statement is a white-space character.",
  "crulechk.ONE_DEFINITION_RULE.msg": "Class {0} has different definitions.",
  "crulechk.ONE_DEFINITION_RULE.yMsg": "different from this definition",
  "crulechk.ONE_READ_CHAR_PUSH_BACK.msg1": "Never push back anything other than one read character while using function ungetc(), ungetcw()",
  "crulechk.ONLY_ARG_DEPENDENT_LOOKUP.msg": "unqualified call and the called function was only found through argument-dependent lookup.",
  "crulechk.ONLY_DECLARE_TRIVIAL_FUNCTINS_INLINE.msg": "Only declare trivial functions 'inline'.",
  "crulechk.ONLY_INLINE_NON_VIRTUAL_CTOR_DTOR.msg": "Only inline simple and non virtual functions, such as one line getters and setters.",
  "crulechk.ONLY_INLINE_SIMPLE_FUNCTION.msg": "Only inline simple function.",
  "crulechk.ONLY_LOOP_CONTROL_IN_FOR.msg1": "The initialization part is empty!",
  "crulechk.ONLY_LOOP_CONTROL_IN_FOR.msg2": "The incremental part is empty.",
  "crulechk.ONLY_LOOP_CONTROL_IN_FOR.msg3": "The loop test part is empty.",
  "crulechk.ONLY_LOOP_CONTROL_IN_FOR.msg4": "Loop control variable must be only one.",
  "crulechk.ONLY_LOOP_CONTROL_IN_FOR.msg5": "The loop test expression({0}) must be concerned with the loop control variable.({1})",
  "crulechk.ONLY_LOOP_CONTROL_IN_FOR.msg6": "The loop incremental part must be concerned with the loop control variable : {0}",
  "crulechk.ONLY_LOOP_COUNT_INC_DEC.msg1": "There are two or more incremental/decremental expression in third expression of for loop",
  "crulechk.ONLY_LOOP_COUNT_INC_DEC.msg2": "No incremental or decremental operation on loop counter '{0}' .",
  "crulechk.ONLY_MAIN_IN_GLOBAL_SCOPE.msg": "The global namespace should only contain main and namespace declarations.",
  "crulechk.ONLY_ONE_LOOP_COUNT_INIT.msg1": "There are two or more initialization expression in first expression of for loop",
  "crulechk.ONLY_THROW_OBJECT_OF_CLASS_TYPE.msg": "Only throw object of class type.",
  "crulechk.ONLY_VIRTUAL_FUNC_DEFINITION_ON_INHERIT_HIERARCHY.msg": "There should be only one definition of a virtual function in the inheritance hierarchy.",
  "crulechk.OPERATOR_NEW_AND_DELETE_MISMATCHED.msg1": "Do not overload operator new in a different scope than operator delete.",
  "crulechk.ORDER_EXCEPTIONS_FROM_DERIVED_TO_BASE.msg1": "Multiple catch handlers to a try block should order their exceptions from most derived to most basic",
  "crulechk.ORGANIZE_CLASS_DEFINE.msg": "Organise 'class' definitions by access level, in the following order : 'public', 'protected', 'private'.",
  "crulechk.ORGANIZE_CLASS_DEFINE.yMsg": "Not sorted. {0}",
  "crulechk.OVERLOADED_FUNCTION_TEMPLATE_NOT_BE_SPECIALIZED.msg": "Overloaded function templates should not be explicitly specialized.",
  "crulechk.OVERRIDE_ALL_OVERLOADS_OF_BASE_CLASS.bMsg": "This function has been overridden.",
  "crulechk.OVERRIDE_ALL_OVERLOADS_OF_BASE_CLASS.msg": "Override all overloads of a base class virtual function.",
  "crulechk.OVERRIDE_ALL_OVERLOADS_OF_BASE_CLASS.sca.desc.default": "Add declaration of overloaded member functions that are not overrided from the base class.",
  "crulechk.OVERRIDE_ALL_OVERLOADS_OF_BASE_CLASS.sca.desc.using_decl": "Declare overloaded member functions that are not overrided from the base class with 'using'.",
  "crulechk.OVERRIDE_ALL_OVERLOADS_OF_BASE_CLASS.yMsg": "It is an overloading virtual function that is not overridden.",
  "crulechk.OVERRIDE_PURE_TO_NON_PURE.msg": "A pure virtual function should be overridden by a non-pure virtual function.",
  "crulechk.OVERRUN.STATIC.MEMSET.msg1": "The size {1} of parameter-{0} is not sufficient for reading elements amount {3} of parameter-{2}",
  "crulechk.PASS_MIXED_MACRO_ARGS.defect": "Another macro is passed as an argument to the mixed-use macro {0}, posing a risk of expansion mismatch.",
  "crulechk.PASS_OBJECT_OF_CORRECT_TYPE_TO_VA_START.msg": "Violate restriction for va_start macro.",
  "crulechk.PERSISTENT_COOKIE.CPP.msg1": "The factor value for method {0}() is {2} which is greater than the option value {1}.",
  "crulechk.PERSISTENT_COOKIE.CPP.msg2": "Method {0}() should not be used.",
  "crulechk.PLACE_PLAIN_CHAR.msg1": "Place plain char where a value of plain char type is expected",
  "crulechk.PLACE_PLAIN_CHAR.msg2": "The plain char type variable is used",
  "crulechk.PLACE_SIGNED_CHAR.msg1": "Place signed or unsigned char where a value of signed char type is expected",
  "crulechk.PLAIN_CHAR_OPERATION.msg1": "Operation on plain char type",
  "crulechk.POINTER_ARITHMETIC_NOT_ON_ARRAY.msg1": "Pointer arithmetic is not on array.",
  "crulechk.POSTFIX_OPERATOR_SHOULD_RETURN_CONST.msg1": "Overloaded postfix increment and decrement operators should return a const object",
  "crulechk.POSTFIX_OPERATOR_SHOULD_RETURN_CONST.sca.desc.default": "Increment operator is declared with const.",
  "crulechk.POSTPONE_VARIABLE_DEFINITIONS.bMsg": "The variable could be declared in this block.",
  "crulechk.POSTPONE_VARIABLE_DEFINITIONS.msg": "Postpone variable definitions as long as possible.",
  "crulechk.POSTPONE_VARIABLE_DEFINITIONS.sca.desc.default": "The position of variable declaration changed.",
  "crulechk.POSTPONE_VARIABLE_DEFINITIONS.sca.note.desc.check_after": "The variable declaration should not be changed when the variable is used in other blocks.",
  "crulechk.POSTPONE_VARIABLE_DEFINITIONS.sink": "Postpone the {0} variable definitions as long as possible.",
  "crulechk.POSTPONE_VARIABLE_DEFINITIONS.src": "The {0} variable could be declared in this block.",
  "crulechk.POTENTIAL_INFINITE_LOOP.PF.msg1": "It may be fallen into infinite loop.",
  "crulechk.POTENTIAL_INFINITE_LOOP.nMsg1": "An Infinite loop is used without a exit point.",
  "crulechk.POTENTIAL_INFINITE_LOOP.nMsg2": "Condition part in a for statement is empty.",
  "crulechk.POTENTIAL_INFINITE_LOOP.nMsg3": "Loop counter \"{0}\" is used with equal operator. and Loop counter \"{0}\" is not changed sequentially. The loop may not be terminated.",
  "crulechk.POTENTIAL_INFINITE_LOOP.nMsg4": "Cannot find well bounded loop counter \"{0}\". The loop may not be terminated.",
  "crulechk.POTENTIAL_INFINITE_LOOP.nMsg5": "Loop counter \"{0}\" is not changed in the loop.",
  "crulechk.POTENTIAL_INFINITE_LOOP.nMsg6": "Loop counter \"{0}\" is assigned in for body. It should be changed only in the incremental part.",
  "crulechk.POTENTIAL_INFINITE_LOOP.nbMsg": "Loop counter is changed in the body.",
  "crulechk.PRECEDE_INCLUDE.msg": "#include statements in a file should only be preceded by other preprocessor directives or comments.",
  "crulechk.PRECEDE_INCLUDE.src": "This is the line where the disallowed code begins.",
  "crulechk.PREDICATES_SHOULD_NOT_HAVE_NONSTATIC_DATA.msg1": "Predicate functors should not have non-static data fields",
  "crulechk.PREFER_SPECIAL_MEMBER_AND_OVERLOADED_OP.non_standard": "Non-standard layout class object is used for argument value.",
  "crulechk.PREFER_SPECIAL_MEMBER_AND_OVERLOADED_OP.non_trivial": "Non-trivial class object is used for the argument value.",
  "crulechk.PREFER_TO_USE_SIGNED_VALUE.msg": "Prefer to use signed numeric values, not unsigned.",
  "crulechk.PREMATURE_THREAD_TERMINATION.bMsg": "pthread_create(...) was called.",
  "crulechk.PREMATURE_THREAD_TERMINATION.msg": "After calling pthread_create(...), call pthread_join(...).",
  "crulechk.PRESERVE_ARRAY_DIMENSION.msg": "Array Dimension should be preserved.",
  "crulechk.PRESERVE_ARRAY_DIMENSION.sink": "Array type {0} variable was passed as a pointer type function argument. Array types decay to pointer types.",
  "crulechk.PREVENT_OPERATIONS_ON_DEVICES.msg": "Do not perform operations on devices that are only appropriate for files.",
  "crulechk.PREVENT_SENSITIVE_DATA_WRITE_TO_DISK.msg1": "Ensure that sensitive data is not written out to disk.",
  "crulechk.PRIVATE_COLLECTION.ASSIGN.msg": "A private pointer has been assign from the public method.",
  "crulechk.PRIVATE_COLLECTION.msg": "A private pointer has been return from the public method.",
  "crulechk.PROHIBIT_DELETE_CONTAIN_ELEMENT_NUM.msg": "The index was specified while releasing the array with the delete statement.",
  "crulechk.PROHIBIT_ENUM_TYPE_BITFIELD.msg1": "Bit-fields shall not have enum type.",
  "crulechk.PROHIBIT_ENUM_TYPE_BITFIELD2.msg1": "Bit-fields shall not have enum type.",
  "crulechk.PROHIBIT_FUNC_IN_STDLIB.msg1": "The library functions in library <stdlib.h> shall not be used.",
  "crulechk.PROHIBIT_FUNC_IN_TIME.msg": "The time handling functions of library time.h shall not be used.",
  "crulechk.PROVIDE_OUTPUT_OPERATOR.msg": "Provide an output operator ('operator<<') for ostream for all classes.",
  "crulechk.PROVIDE_PROPERLY_ALIGNED_POINTERS_TO_PLACEMENT_NEW.msg": "Provide properly aligned pointers to placement new",
  "crulechk.PTR_EXCEED_TWO_LEVELS.msg1": "The pointer of objects should not be declared more than 2 levels.",
  "crulechk.PTR_EXCEED_TWO_LEVELS.msg2": "The return type of the routine is more than 2 levels of pointer indirection",
  "crulechk.PUBLICLY_DERIVED_CLASS_SHOULD_BE_ABSTRACT.msg": "When publicly deriving from a base class, the base class should be abstract.",
  "crulechk.PUBLIC_STATIC_FIELD_WITHOUT_CONST.default": "Public static member variable not declared with const keyword.",
  "crulechk.RACE_CONDITION.EXT.msg1": "This is a TOCTOU vulnerability. Function {2} checked the status of the file with variable {3}. Function {0} opened a file with the name of variable {1}.",
  "crulechk.RACE_CONDITION.SWITCH.msg1": "The switched variable can be modified while the switch is still executing.",
  "crulechk.RACE_CONDITION.msg1": "It can be incurred vulnerability if calls the function {0} with the file {1} after calling the function {2} with the file {3}.",
  "crulechk.RACE_CONDITION.msg2": "The return value of the mutex is not checked. It can occur a race condition and a unpredictable behavior.",
  "crulechk.RANGE_LOOP_INIT_MULTIPLE_CALLS.msg": "The function was called more than twice within the initialization expression of the range-based for loop.",
  "crulechk.READ_WRITE_BINARY_DATA.msg1": "Be careful with binary data when transferring data across systems",
  "crulechk.REDUNDANT_CAST.msg": "Redundant explicit casts should not be used.",
  "crulechk.REDUNDANT_NAME.msg1": "The local variable and the static variable has the same name",
  "crulechk.REFER_ATOMIC_VARIABLE_MANY_TIMES_IN_EXPRESSION.bMsg": "The atomic variable was referenced. {0}",
  "crulechk.REFER_ATOMIC_VARIABLE_MANY_TIMES_IN_EXPRESSION.msg": "problem occurs in this function",
  "crulechk.REFER_ATOMIC_VARIABLE_MANY_TIMES_IN_EXPRESSION.yMsg": "Variable {0} has been referenced multiple times.",
  "crulechk.REF_RETURN_MEMBER_FUNCTION_QUALIFIER.msg": "The member function {1} returning the {0} object lacks a reference qualifier.",
  "crulechk.REF_RETURN_MEMBER_FUNCTION_QUALIFIER.msg1": "Member function {1} returning object {0} is declared with const & reference qualifier without &&-qualified overloads.",
  "crulechk.REF_RETURN_TYPEID_POLYMORPHIC.msg": "A polymorphic object was passed as the operand to typeid.",
  "crulechk.REINTERPRET_CAST_NOT_ALLOWED.msg": "Performed a reinterpret_cast from type {0} to disallowed type {1}.",
  "crulechk.RELATIONSHIPS_IN_CONSTANT_DEFINITIONS.msg1": "Properly encode relationships in constant definitions",
  "crulechk.RELIANCE_ON_UNTRUSTED_INPUTS.msg1": "Do not use untrusted inputs when Determining the security function.",
  "crulechk.REPRESENTATION_SIGNED_INTEGER.msg1": "Do not make assumptions about representation of signed integers",
  "crulechk.RESET_SIGNAL_HANDLER.msg1": "Understand implementation-specific details regarding signal handler persistence.",
  "crulechk.RESET_STRING_ON_FGETS_FAILURE.msg1": "If either the C Standard fgets() or fgetws() function fails, It is necessary to reset the string to a known value to avoid errors on subsequent string manipulation functions.",
  "crulechk.RESTRICT_PARAM_VALUE_RANGE.msg": "The {1}th parameter of function {0} is out of range",
  "crulechk.RESTRICT_USE_OF_EXTERN_KEYWORD.msg": "Restrict the use of the 'extern' keyword. Do not write 'extern' where it is implicit.",
  "crulechk.RETURN_EMPTY_ARRAY_INSTEAD_OF_NULL.msg1": "For functions that return an array, prefer returning an empty array over a null value",
  "crulechk.RETURN_ERRNO_WITH_ERRNO_T_TYPE.bMsg": "Return errno.",
  "crulechk.RETURN_ERRNO_WITH_ERRNO_T_TYPE.msg": "Declare functions that return errno with a return type of errno_t.",
  "crulechk.RETURN_FLOAT_CASTING.msg1": "Cast the return value of a function that returns a floating-point type.",
  "crulechk.RETURN_PARAM_ADDR.msg1": "Do not return parameter's address",
  "crulechk.RETURN_PARAM_ADDR.sca.desc.remove_ref_ret": "Chagne the return type.",
  "crulechk.RETURN_REFERENCE_PARAM.msg": "The function does not return a reference or pointer.",
  "crulechk.RETURN_REFERENCE_PARAM.msg_blue": "The parameter is passed by reference",
  "crulechk.RETURN_SHALL_NOT_HAVE_EXPRESSION.msg": "For functions with void return type, return statements shall not have an expression.",
  "crulechk.RETURN_VALUE_SHOULD_BE_CONST.msg1": "The returned constant value is not allowed.",
  "crulechk.RETURN_VALUE_SHOULD_BE_CONST.msg2": "A returned value should be const.",
  "crulechk.REUSE_NAME_IN_DIFFERENT_FILE.msg": "Do not reuse the function or the variable name in different files.",
  "crulechk.REUSE_NAME_IN_DIFFERENT_FILE.yMsg": "The same identifier.",
  "crulechk.REVERSIBLE_ONE_WAY_HASH.msg1": "Using {0} as hashing algorithm is dangerous. Use more secure hashing algorithm.",
  "crulechk.SAVE_UNNECESSARY_REALLOCATION.msg": "Where possible pre-allocate in containers to save unnecessary reallocations.",
  "crulechk.SAVE_UNNECESSARY_REALLOCATION.sca.desc.default": "Function reserve() is called before the loop for preserving necessary memory space.",
  "crulechk.SECURITY_DECISION_ON_DNS_LOOKUP.msg1": "Do not rely on DNS lookups via the function. Use an IP address instead.",
  "crulechk.SET_ERRNO_ZERO_BEFORE_CALL_FUNC.msg1": "Set errno to zero before calling a library function known to set errno, and check errno only after the function returns a value indicating failure",
  "crulechk.SET_ERRNO_ZERO_BEFORE_CALL_FUNC.sca.desc.default": "Set errno to zero before calling a library function known to set errno.",
  "crulechk.SHADOWING_CHECKER.bmsg": "{0} is an identifier declared in an outer scope whose name is shadowed.",
  "crulechk.SHADOWING_CHECKER.msg": "The name of identifier {0} shadows the name of an identifier declared in an outer scope.",
  "crulechk.SIDE_EFFECT.DESIGNATED_INIT.msg": "There is side effect at {1}th element of the designated initializer list of a variable {1}",
  "crulechk.SIDE_EFFECT.INITIALIZER_LISTS.msg": "There is(are) side effect(s) at {0}th element of initialize list",
  "crulechk.SIDE_EFFECT.INITIALIZER_LISTS.msg2": "There is(are) side effect(s) at {1}th element of initialize list of a variable {1}",
  "crulechk.SIDE_EFFECTS_IN_UNEVALUATED_OPERANDS.msg": "Some expression involve operands that are unevaluated.",
  "crulechk.SIDE_EFFECT_RHS_OF_LOGICAL_OP.msg1": "Right hand side of logical operation(&&, ||) does not contain side effect",
  "crulechk.SIGNAL_HANDLER_CALLS_UNSAFE_FUNCTION.msg1": "Call only asynchronous-safe functions within signal handlers.",
  "crulechk.SIGNAL_HANDLER_USES_NON_VOLATILE_VARIABLE.msg1": "Do not use non-volatile variable in handler functions",
  "crulechk.SINGLE_ARGUMENTED_CONSTRUCTOR_SHOULD_BE_EXPLICIT.msg1": "Ensure that single-argument constructors are marked 'explicit'",
  "crulechk.SINGLE_LOOP_COUNTER.msg": "There should be only one loop counter in the for statement.",
  "crulechk.SIZEOF_DO_NOT_CONTAIN_SIDE_EFFECTS.decltype": "The decltype operator shall not be used on expressions that contain side effects.",
  "crulechk.SIZEOF_DO_NOT_CONTAIN_SIDE_EFFECTS.msg1": "The sizeof operator shall not be used on expressions that contain side effects.",
  "crulechk.SIZEOF_DO_NOT_CONTAIN_SIDE_EFFECTS.sca.desc.line_align": "run expressions first, then run sizeof operation.",
  "crulechk.SIZE_CALCULATION.msg1": "Allocate sufficient memory for an object",
  "crulechk.SOCKET_IN_WRONG_STATE.msg1": "Socket has not been initialized with call to socket()",
  "crulechk.SOCKET_IN_WRONG_STATE.msg2": "Socket has not undergone bind()",
  "crulechk.SOCKET_IN_WRONG_STATE.msg3": "Socket has not being listened",
  "crulechk.SOCKET_IN_WRONG_STATE.msg4": "Socket is already being listened to",
  "crulechk.SOCKET_IN_WRONG_STATE.msg5": "Socket has not been connected with connect()",
  "crulechk.SPECIFY_LENGTH_TYPEDEF.msg1": "Typedef name has no size indication.",
  "crulechk.STANDARD_CHARACTERS.msg": "Do not use non standard characters.",
  "crulechk.STANDARD_ESCAPE_SEQUENCE.msg": "Only escape sequences that are defined in the ISO C standard should be used.",
  "crulechk.STANDARD_LIBRARY_FUNCTIONS_SHOULD_BE_CONST.sink": "{0} The pointer returned by the function must be treated as a const qualifier.",
  "crulechk.STANDARD_LIBRARY_RETURNED_POINTER_SHOULD_NOT_BE_REUSED.sink": "{0} The data returned from a function cannot be reused after using the same function.",
  "crulechk.STATIC_FOR_VARIABLE_USED_IN_ONLY_ONE_FILE.msg1": "A file scope global variable must be declared as static.",
  "crulechk.STATIC_LOCAL_VARIABLE.msg": "The modifiable local variable {0} uses the static keyword and has static storage duration.",
  "crulechk.STRICT_USE_FOPEN_MODE.msg1": "Take care when specifying the mode parameter of fopen()",
  "crulechk.STRING_ESCAPE_UNTERMINATED.msg": "Escape sequence in the string is not properly terminated.",
  "crulechk.STRING_LITERAL_MODIFICATION.msg1": "Do not attempt to modify string literals",
  "crulechk.STRING_LITERAL_MODIFICATION.sca.desc.default": "If you need to modify string literals, you should declare it as char-array.",
  "crulechk.STRTOK_CHANGES_STRING.msg1": "Do not assume that strtok() leaves the parse string {0} unchanged",
  "crulechk.STRTOK_CHANGES_STRING.sca.desc.default": "A temporary buffer string is made to be used.",
  "crulechk.STRTOK_CHANGES_STRING.sca.note.desc.include_memory": "Header file <memory.h> is included.",
  "crulechk.STRTOK_CHANGES_STRING.sca.note.desc.include_string": "Header file <string.h> is included.",
  "crulechk.SUPPLY_AN_INITIAL_VALUE_FOR_EACH_ENTRIES.msg": "Ensure all constructors supply an initial value (or invoke a constructor) for each virtual base class, each non virtual base class and all non-static data members.",
  "crulechk.SWITCH_CASE_IN_SAME_SCOPE.msg": "All cases should be in the closest scope to the switch.",
  "crulechk.SYMBOLIC_LINK_RACE_CONDITION.msg1": "Avoid race conditions while checking for the existence of a symbolic link",
  "crulechk.SYMMETRIC_OPERATOR_SHOULD_BE_DEFINED_AS_FRIEND.msg": "Symmetric operators, with the exception of assignment operator,  should be defined as friend functions.",
  "crulechk.SYNTACTICALLY_AMBIGUOUS_DECLARATIONS.default": "A syntactically ambiguous declaration syntax is used.",
  "crulechk.TAG_NAME_SHALL_BE_A_UNIQUE.msg": "A tag name shall be a unique identifier.",
  "crulechk.TAG_NAME_SHALL_BE_A_UNIQUE.sink": "The {0} tag name shall be a unique identifier.",
  "crulechk.TAG_NAME_SHALL_BE_A_UNIQUE.src": "This is the {0} tag name used first.",
  "crulechk.TAG_NAME_SHALL_BE_A_UNIQUE.yMsg": "Already used.",
  "crulechk.TAKE_CARE_WHEN_USING_RENAME.msg": "Take care when using the rename() function.",
  "crulechk.TAKE_CARE_WHEN_USING_RENAME.sca.desc.access": "The existence of file with the same name is checked by function access().",
  "crulechk.TAKE_CARE_WHEN_USING_RENAME.sca.desc.remove": "The existing target file is removed by function remove().",
  "crulechk.TAKE_CARE_WHEN_USING_RENAME.sca.note.desc.opt_preserved_exist_file": "The current setting preserves the target file with the same name.",
  "crulechk.TAKE_CARE_WHEN_USING_RENAME.sca.note.desc.opt_remove_exist_file": "The current setting removes the target file with the same name.",
  "crulechk.TAKE_CARE_WHEN_USING_RENAME.sca.note.desc.posix_implement": "If the target file already exists then function rename() removes the target file on Posix.",
  "crulechk.TAKE_CARE_WHEN_USING_RENAME.sca.note.desc.windows_implement": "If the target file already exists then function rename() fails on Windows OS.",
  "crulechk.TEMPLATE_SPECIALIZATION_SHOULD_BE_SAME_FILE.msg": "The template specialization should be in the same file as the primary function template.",
  "crulechk.TEMPLATE_WITH_POTENTIALLY_CONFLICTING_METHODS.msg": "Do not define a class template with potentially conflicting methods.",
  "crulechk.TEMP_LIFETIME_OBJ_MODIFICATION.msg1": "Do not modify objects with temporary lifetime",
  "crulechk.TESTED_AGAINST_CONSTANT_VALUE.msg": "The control variable in a for loop should be tested against a constant value, not a function or expression.",
  "crulechk.THREAD_OBJECT_MISUSE.msg": "Accessed thread-related object {0} by means other than standard library functions.",
  "crulechk.THREAD_SHARE_LOCAL_VARIABLE.msg": "thread shares local variable.",
  "crulechk.THROW_NOT_IN_CATCH_STMT.msg": "An empty throw shall only be used in the compound-statement of a catch handler.",
  "crulechk.THROW_NULL.msg": "NULL shall not be thrown explicitly.",
  "crulechk.THROW_PTR_TYPE.msg": "An exception object should not have pointer type.",
  "crulechk.TMP_FILE_IN_SHARED_DIR.msg1": "A dangerous function for temporary file is used.",
  "crulechk.TOC_TOU_ACCESS.msg1": "The resource is used(Time of Use). TOCTOU race condition may be occurred in multi-process environment.",
  "crulechk.TOC_TOU_ACCESS.msg2": "Checking the resource to use.(Time of Check)",
  "crulechk.TOO_BIG.STRUCT_SIZE.PF.msg_in": "The size of Input-structure is {1} bytes, exceeds threshold {0} bytes.",
  "crulechk.TOO_BIG.STRUCT_SIZE.PF.msg_out": "The size of Output-structure is {1} bytes, exceeds threshold {0} bytes",
  "crulechk.TOO_BIG_FUNCTION.msg": "The function exceeds lines({1}) over threshold({0})",
  "crulechk.TOO_LONG_COLUMN.msg": "Size of a line should be less than {0} characters.",
  "crulechk.TOO_LONG_COLUMN.msg_b": "This line length is {0} except right side space, tab and comment.",
  "crulechk.TOO_LONG_IDENTIFIER.msg1": "The identifier name exceeds 31 characters. {0}",
  "crulechk.TOO_MANY_EXECUTABLE_PATH.msg": "Too many executable path in the function. There are {1}path, threshold is {0}.",
  "crulechk.TOO_MANY_INIT_ARRAY.msg1": "Too many array initialization items.The items need only {0} items,  but there are {1}  items.",
  "crulechk.TOO_MANY_METHODS.msg": "Too many functions have been declared.",
  "crulechk.TOO_MANY_NONCYCLIC_EXECUTION_PATH.msg": "Avoid functions with a high static program path count.",
  "crulechk.TOO_MANY_RETURNS.msg": "Return statements can be used maximum  {0} time(s).",
  "crulechk.TYPEDEF_NAME_SHALL_BE_A_UNIQUE.msg": "A typedef name shall be a unique identifier.",
  "crulechk.TYPEDEF_NAME_SHALL_BE_A_UNIQUE.sink": "The {0} typedef name shall be a unique identifier.",
  "crulechk.TYPEDEF_NAME_SHALL_BE_A_UNIQUE.src": "This is the {0} typedef name used first.",
  "crulechk.TYPEDEF_NAME_SHALL_BE_A_UNIQUE.yMsg": "Already used.",
  "crulechk.TYPE_GENERIC_MACRO_ARG_TYPE.msg": "The intrinsic type of argument {1} passed to the type generic macro {0} is not an arithmetic type.",
  "crulechk.TYPE_GENERIC_MACRO_ARG_UNIFORMITY.msg": "The arguments passed to the type generic macro {0} do not have the same standard type after integer promotion.",
  "crulechk.TYPE_MISMATCH_IN_TERNARY.msg": "The type of two alternatives should be the same in a ternary expression.",
  "crulechk.UNARY_NEGATIVE_OP_ON_UNSIGNED.msg1": "The unary minus operator shall not be applied to an expression whose underlying type is unsigned.",
  "crulechk.UNARY_NEGATIVE_OP_ON_UNSIGNED.sca.desc.remove": "remove minus operator.",
  "crulechk.UNARY_NEGATIVE_OP_ON_UNSIGNED.sca.desc.type_modify": "change the type of variable.",
  "crulechk.UNARY_NEGATIVE_OP_ON_UNSIGNED.sca.note.desc.make_flow": "please check the code-flow is reliable.",
  "crulechk.UNARY_PLUS_BUILTIN.msg": "Used the built-in unary + operator.",
  "crulechk.UNCHECK_ARRAY_LENGTH.msg1": "Parameter :",
  "crulechk.UNCHECK_ARRAY_LENGTH.msg2": "Ensure size arguments for variable length arrays are in a valid range",
  "crulechk.UNCONTROLLABLE_GLOBAL_VARIABLE_USE.msg": "Declaration of global variable {0} uses dynamic initialization, which risks static initialization order issues.",
  "crulechk.UNCONTROLLABLE_GLOBAL_VARIABLE_USE.msg1": "The global variable {0} is declared without const or constexpr, posing a risk of data race.",
  "crulechk.UNCONTROLLED_RECURSION.msg1": "A recursion without any conditional blocks or loop blocks.",
  "crulechk.UNDECIDABLE_DIVISION.msg": "The divisor of the division operation is undecidable",
  "crulechk.UNDEF_NON_LOCAL_MACRO.defect": "Used #undef on macro {0} which is not defined in the current file.",
  "crulechk.UNEXPECTED_SIGN_EXTENSION.msg1": "Unexpected sign expension",
  "crulechk.UNINIT.MEMBER.msg1": "Some member variables were not initialized by the time the constructor body of class {0} was entered.",
  "crulechk.UNINIT.MEMBER.msg2": "Some member variables of class {0} are not initialized, and there is no explicit constructor.",
  "crulechk.UNINIT.MEMBER.src": "Initialization of member variable {0} is missing.",
  "crulechk.UNIQUE_HEADER_FILE_NAME.bMsg": "Header file name used first.",
  "crulechk.UNIQUE_HEADER_FILE_NAME.msg": "Guarantee that header file names are unique.",
  "crulechk.UNIQUE_VALUE_IN_ENUMERATOR.msg": "In an enumerator list, the \"=\" construct shall not be used to explicitly initialise members other than the first, unless all items are explicitly initialised.",
  "crulechk.UNIQUE_VALUE_IN_ENUMERATOR.yMsg": "Assign value.",
  "crulechk.UNIVERSAL_CHARACTER_TROUGH_CONCATENATION.msg1": "Do not create universal chracter through concatenation.",
  "crulechk.UNMATCH_TYPE_PTR_COMPARE.msg1": "Do not compare two pointers that do not refer to the same array",
  "crulechk.UNMATCH_TYPE_PTR_SUBTRACT.msg1": "Do not subtract two pointers that do not refer to the same array",
  "crulechk.UNNAMED_STRUCT_UNION_MEMBERS.msg1": "Do not use unnamed struct / union members.",
  "crulechk.UNNAMED_TEMPORARY_OBJECT.defect": "A temporary object of type {0} is created and immediately destroyed due to a missing variable name.",
  "crulechk.UNNECESSARY_ALIGNAS_ZERO.msg": "The argument {0} of alignas has been specified as 0.",
  "crulechk.UNREACHABLE_CASE.msg1": "Do not use unreachable case label value.",
  "crulechk.UNREACHABLE_CASE.msg2": "Do not use unreachable case label value. {0} is {1} type, cannot be {2}.",
  "crulechk.UNREACHABLE_CASE.sca.desc.remove": "remove case.",
  "crulechk.UNREACHABLE_CASE.sca.desc.type_modify": "Convert to a appropriate type so this case can be handled.",
  "crulechk.UNREACHABLE_CODE_STRING_COMPARE.msg_blue": "The cause statement",
  "crulechk.UNREACHABLE_CODE_STRING_COMPARE.msg_red": "When comparing strings, don't write comparison syntax that can not be reached.",
  "crulechk.UNSAFE_MEMBER_POINTER_COMPARISON.defect": "Potential virtual function pointer {0} was compared with a non-nullptr target.",
  "crulechk.UNSALTED_ONE_WAY_HASH.msg1": "Generate hash value including a salt.",
  "crulechk.UNSCOPED_ENUM_DECLARATION.msg": "The enum {0} declaration is missing the class keyword and is therefore unscoped.",
  "crulechk.UNSPECIFY_BUFFER_LENGTH_CIN.msg1": "Use cin with specifying the length of the input. Buffer Overflow may be occurred since cin extraction is unbounded.",
  "crulechk.UNSUITABLE_BITFIELD_TYPE.msg1": "Bit fields shall only be defined to be of type unsigned int or signed int.",
  "crulechk.UNSUITABLE_BITFIELD_TYPE.sca.desc.default": "Change field declaration to {0} type.",
  "crulechk.UNSUITABLE_BITFIELD_TYPE.sca.note.desc.can_use_typedef": "If type is declared using typedef, you can use a modified typedef.",
  "crulechk.UNSUITABLE_BITFIELD_TYPE.sca.note.desc.change_other_code": "Change a related code because the field type is changed.",
  "crulechk.UNUSED_CATCH_HANDLER.msg1": "Unused catch handlers should not be used",
  "crulechk.UNUSED_CATCH_HANDLER.sca.desc.remove": "remove unused handler.",
  "crulechk.UNUSED_CONTAINER_RETURN_VALUE.msg": "The return value of function {0} was not used.",
  "crulechk.UNUSED_PARAMETER.MISRA2008.msg1": "There should be no unused parameters in the virtual function.",
  "crulechk.UNUSED_PARAMETER.MISRA2008.src": "The parameter variable {0} is not used.",
  "crulechk.UNUSED_PARAMETER.msg1": "There should be no unused parameters in functions.",
  "crulechk.UNUSED_PARAMETER.src": "The parameter variable {0} is not used.",
  "crulechk.UNUSED_RETURN_VALUE.msg": "The return value of function {0} with a return value was not used.",
  "crulechk.UNUSED_STATIC_VARIABLE.msg": "The static variable had been declared but is not used.",
  "crulechk.UNUSED_VALUE.msg": "After initializing a variable, if the variable is never used again, it should be deleted.",
  "crulechk.USE_ADJACENT_UNARY_OPERATOR.msg": "There must be no spaces between {0} and its operand",
  "crulechk.USE_AFTER_CLOSE.msg_blue1": "Used pfmDbioFetchCursor()",
  "crulechk.USE_AFTER_CLOSE.msg_blue2": "Used pfmDbioCloseCursor().",
  "crulechk.USE_AFTER_CLOSE.msg_red": "Do not use pfmDbioFetchCursor() after pfmDbioCloseCursor()",
  "crulechk.USE_BRACE_MULTI_DIMENSION_ARRAY_INIT.msg1": "Braces shall be used to indicate and match the structure in the non-zero initialisation of arrays and structures.",
  "crulechk.USE_BRACE_MULTI_DIMENSION_ARRAY_INIT.sca.desc.replace": "Braces shall be used to indicate and match the structure in the non-zero initialisation of arrays and structures.",
  "crulechk.USE_CODEGUARD_WHEN_DECLARING_CLASS.msg": "there is no codeguard like #pragma once",
  "crulechk.USE_CONST_GLOBAL_AND_STATIC.msg": "Global and static data should be const.",
  "crulechk.USE_CONST_OBJECT_OR_ENUMERATORS.msg": "Use const objects or enumerators to define constants, not #define.",
  "crulechk.USE_CONST_POINTER_FOR_STRING_VAR.msg1": "Use pointers to const when referring to string literals",
  "crulechk.USE_CONST_POINTER_FOR_STRING_VAR.sca.desc.default": "Use pointers to const when referring to string literals.",
  "crulechk.USE_CONST_WHENEVER_POSSIBLE.msg": "When declaring parameters, use 'const' whenever possible. The actual values pointed to by the mentioned pointer parameters do not change.",
  "crulechk.USE_CONST_WHENEVER_POSSIBLE.ucv": "When declaring the {0} parameter, use 'const'.",
  "crulechk.USE_CONST_WITH_MACRO.msg1": "A constant must be defined as macro",
  "crulechk.USE_CONTAINERS_OF_POINTER.msg": "Where copying is expensive use containers of pointers or smart pointers.",
  "crulechk.USE_CONTAINER_MEMBER_FUNCTIONS.msg": "Use container member functions rather than algorithms with the same name.",
  "crulechk.USE_CONTAINER_MEMBER_FUNCTIONS.sca.desc.default": "Container member method {0}() is used instead of STL algorithm.",
  "crulechk.USE_DEFINED_STANDARD_FORMS.msg": "The defined preprocessor operator shall only be used in one of the two standard forms.",
  "crulechk.USE_EACH_ACCESS_SPECIFIER_EXACTLY_ONCE.msg": "Class declarations shall contain the 'public:', 'protected:' and 'private:' keywords exactly once.",
  "crulechk.USE_EMPTY_INSTEAD_OF_CHECKING_SIZE_AGAINST_ZERO.msg": "Use empty() instead of checking size() against zero.",
  "crulechk.USE_EXTERN_TO_IMPORT_VARIABLE.msg": "Extern keyword need to be explicit for importing variable",
  "crulechk.USE_FERROR_THAN_COMPARE_ERRNO.msg1": "Use ferror() rather than errno to check for FILE stream errors",
  "crulechk.USE_FUNCTION_IN_IF_CONDITION.msg": "Function calls is used in the if condition.",
  "crulechk.USE_LOWER_CASE_IN_INCLUDE_FILENAMES.msg": "Use lower-case for file names and references to file names (such as include directives).",
  "crulechk.USE_MAXIMUM_SIZED_BUFFER.default_desc": "Array size is {1} This is less than the MAX_PATH {0} value.",
  "crulechk.USE_OF_INTEGER_CONSTANT_MACRO.msg": "Used forbidden small integer constant macro {0}.",
  "crulechk.USE_OF_LOW_SECURITY_ENCRYPTION_ALGORITHM.macro": "The macro declaration value does not satisfy the recommended strength of security for the encryption algorithm.",
  "crulechk.USE_OF_LOW_SECURITY_ENCRYPTION_ALGORITHM.same": "A weak encryption algorithm was used. Two or more of the parameters of 2, 3, and 4 have the same value.",
  "crulechk.USE_OF_MULTIPLE_ALIGNAS.msg": "The alignas specifier was used more than once in a single variable declaration.",
  "crulechk.USE_OF_SINGLETON_WITHOUT_SYNC.msg": "When using the Singleton pattern in a multi-threaded environment, you need a synchronization mechanism.",
  "crulechk.USE_ONE_DECLARATION_PER_LINE.msg": "Only one declaration of variable per line is allowed.",
  "crulechk.USE_ONE_STATEMENT_PER_LINE.msg": "Use only one statement per line.",
  "crulechk.USE_ONE_STATEMENT_PER_LINE.sca.desc.newline": "Add a new line per statement.",
  "crulechk.USE_ONLY_ALLOWED_TYPE.msg1": "\"{0}\" is not allowed type.",
  "crulechk.USE_ONLY_PERMITTED_MACROS.msg": "C macros shall only expand to a braced initialiser, a constant, a string literal, a parenthesised expression, a type qualifier, a storage class specifier, or a do-while-zero construct.",
  "crulechk.USE_OPEN_WITH_PERMISSION.msg1": "Create files with appropriate access permissions",
  "crulechk.USE_PARENTHESIS_TO_MACRO_REPLACEMENT_LIST.msg": "Macro replacement list needs parentheses.",
  "crulechk.USE_PASS_BY_REFERENCE.msg": "Use pass-by-reference in preference to pass by value or pass by pointer.",
  "crulechk.USE_POINTER_ARITHMETIC_ON_FIELD.msg": "Do not use pointer arithmetic on field values.",
  "crulechk.USE_PREPROCESSOR_ONLY_INCLUDEGUARDS.msg1": "The pre-processor shall only be used for file inclusion and include guards.",
  "crulechk.USE_PUBLIC_DERIAVTION_ONLY.msg": "Use public derivation only.",
  "crulechk.USE_RSA_WITHOUT_OAEP.msg": "Use of RSA Algorithm without OAEP.",
  "crulechk.USE_RUNTIME_CONSTRAINT_HANDLERS.msg1": "Use runtime-constraint handlers when calling the bounds-checking interfaces.",
  "crulechk.USE_SAME_DEFAULT_VALUES.bMsg": "There is the virtual function on the base class.",
  "crulechk.USE_SAME_DEFAULT_VALUES.msg": "When redeclaring and overriding functions use the same default parameter values as in other declarations.",
  "crulechk.USE_SAME_TYPE_WHEN_REDECLARING.msg": "Use same type when redeclaring",
  "crulechk.USE_SHORT_FUNCTION.msg": "Use short functions with a limited number of parameters.",
  "crulechk.USE_SINGLE_RETURN.msg1": "Too many return statements in {0} ( {1} , max = {2})",
  "crulechk.USE_SINGLE_RETURN.sca.desc.remove": "remove extra return statement.",
  "crulechk.USE_SINGLE_RETURN.sca.note.desc.make_flow": "please check the code-flow is reliable.",
  "crulechk.USE_SINGLE_RETURN.yMsg": "Return statement #{0}",
  "crulechk.USE_SIZEOF_FOR_DATATYPE.msg1": "Use sizeof() for caculation of type size",
  "crulechk.USE_SIZEOF_ON_PARAM.msg": "sizeof() operator should be placed at Index {1} of  \"{0} \" function call.",
  "crulechk.USE_SIZE_FOR_DESIGNATED_INITIALIZER.msg": "Array {0} was initialized using the designated initializer feature, but the explicit array size is missing.",
  "crulechk.USE_STANDARD_CPP_LIBRARY_HEADERS.msg": "Use Standard C++ Library headers defined by the language standard and not outdated .h headers.",
  "crulechk.USE_STATIC_IN_PUTENV.msg1": "Do not call putenv() with a pointer to an automatic variable as the argument",
  "crulechk.USE_STATIC_IN_PUTENV.sca.desc.default": "Use a static array for the argument to putenv() instead of automatic storage array.",
  "crulechk.USE_STRTOL.msg": "Use strtol() or a related function to convert a string token to an integer.",
  "crulechk.USE_STRTOL.sca.desc.default": "Use {1}() instead of {0}().",
  "crulechk.USE_STRTOL.sca.note.desc.extra_character": "If the received pointer as the second argument is not a blank, it means that there is a character.",
  "crulechk.USE_STRTOL.sca.note.desc.include_stdlib": "Library stdlib.h should be included.",
  "crulechk.USE_STRTOL.sca.note.desc.same_pointer": "String is not a number if the received pointer as the second argument is the same as the pointer of original string.",
  "crulechk.USE_SUFFIXES_FOR_FLOAT_CONSTANT.msg": "Use suffixes F and L for all constants of type 'float' and 'long double'.",
  "crulechk.USE_SUFFIXES_FOR_INTEGER_CONSTANT.msg": "Use suffixes L, U, and UL for all constants of type 'long', 'unsigned int' and 'unsigned long'.",
  "crulechk.USE_SUFFIX_FOR_UNSIGNED_INTEGER_LITERALS.msg": "Use suffixes U for all integer literals of type 'unsigned int'.",
  "crulechk.USE_TYPEDEF_TYPE_INSTEAD_OF_BASIC.msg1": "Use typedef instead of basic numerical types.",
  "crulechk.USE_TYPEREF_NON_POINTER_TYPE.msg": "Use typedefs of non-pointer types only",
  "crulechk.USE_UNSIGNED_INT_ON_DIVISION.msg": "Do not use any type except unsigned int on divisions.",
  "crulechk.USE_VALUE_FROM_FGETPOS.msg1": "Only use values for fsetpos() that are returned from fgetpos()",
  "crulechk.USE_VISUALLY_DISTINCT_IDENTIFIER.msg1": "Use visually distinct identifiers(confusing with {0})",
  "crulechk.USING_COPY_INITIALIZATION.msg": "Define class type variables using direct initialization rather than copy initialization.",
  "crulechk.USING_COPY_INITIALIZATION.sca.desc.default": "Use direct initialization.",
  "crulechk.VARIADIC_IMPROPER_OBJECT_ARG.bmsg": "The type of variadic argument {1} at position {0} is an inappropriate class type.",
  "crulechk.VARIADIC_IMPROPER_OBJECT_ARG.msg1": "An object with an inappropriate class type was passed to the variable arguments of function {0}.",
  "crulechk.VA_ARG_INTEGER_PROMOTION.msg": "integer promotion may occur.",
  "crulechk.VERIFY_PROVIDE_STANDARD_INTERFACE.cpMsg": "The copy constructor.",
  "crulechk.VERIFY_PROVIDE_STANDARD_INTERFACE.cpassignMsg": "The copy assign operator.",
  "crulechk.VERIFY_PROVIDE_STANDARD_INTERFACE.ctorMsg": "The explicit base constructor.",
  "crulechk.VERIFY_PROVIDE_STANDARD_INTERFACE.dtorMsg": "The explicit destructor.",
  "crulechk.VERIFY_PROVIDE_STANDARD_INTERFACE.msg": "Verify that all classes provide a minimal standard interface against a checklist comprising.",
  "crulechk.VOID_KEYWORD_FOR_NO_PARAM.msg": "For C:A function, which takes no parameters, shall be declared with a 'void' argument.",
  "crulechk.VOID_KEYWORD_FOR_NO_PARAM.sca.desc.default": "If the function does not have parameters, specify \"void\" explicit",
  "crulechk.VOLATILE_ACCESS_RHS_OF_LOGICAL_OP.msg1": "Right hand side of logical operation(&&, ||) accesses volatile variables",
  "crulechk.VOLATILE_QUALIFIER_ON_INAPPROPRIATE_TARGET.msg": "The volatile qualifier was used on an inappropriate target {0}.",
  "crulechk.VOLATILE_VALUE_MODIFICATION.default_desc": "Never qualify a reference type with 'volatile'",
  "crulechk.WAIT_ALL_THREAD_BEFORE_DESTROY.msg": "Do not unlock or destroy another POSIX thread's mutex",
  "crulechk.WEAK_ENCRYPTION.HARDCODED_SALT.msg1": "Do not use a hard-coded salt on the cryptographic hash function.",
  "crulechk.WEAK_ENCRYPTION.INSUFFICIENT_KEY.msg1": "In the RSA algorithm with a length of more than {0} bit keys should be used.",
  "crulechk.WEAK_ENCRYPTION.PASSWORD.msg1": "Variable({0}) used as the password is not secure.",
  "crulechk.WEAK_ENCRYPTION.RISKY_ALGORITHM.msg1": "The risky cryptographic algorithm is used.",
  "crulechk.WEAK_ENCRYPTION.RSA_PADDING.msg1": "In the {0} {1} parameter to the function should not be used as a {2}.",
  "crulechk.WEAK_PASSWORD_REQUIREMENTS.msg1": "It should be strong condition tests when creating password.",
  "crulechk.WEAK_SERVER_CERTIFICATES.CPP.msg": "The parameter value of index {0} of the certificate verification function is incorrectly set. For certificate verification to work properly, this value should be 1.",
  "crulechk.WRITE_DIRECTIVE_NESTED_PREPROCESSOR.msg": "Write pre-processor directives to begin in column 1 with whitespace between the '#' and the pre-processor directive representing nesting in preprocessor conditionals.",
  "crulechk.WRITE_DIRECTIVE_PREPROCESSOR.msg": "Write pre-processor directives to begin in column 1 with no whitespace between the '#' and the pre-processor directive.",
  "crulechk.WRITE_STATIC_DECLARING_OPERATOR_NEW_AND_DELETE.msg": "Document that operator new and operator delete are static by declaring them static.",
  "crulechk.WRITE_TO_READONLY_FILE.msg": "attempt write to read only file.",
  "crulechk.WRITE_VIRTUAL_DTOR_FOR_BASE_CLASS.derivedMsg": "It is the derived class.",
  "crulechk.WRITE_VIRTUAL_DTOR_FOR_BASE_CLASS.msg": "Write a 'virtual' destructor for base classes.",
  "crulechk.WRITE_VIRTUAL_DTOR_FOR_BASE_CLASS.sca.desc.default": "Declare virtual destructor in base class.",
  "crulechk.WRITE_VIRTUAL_DTOR_FOR_BASE_CLASS.sca.note.desc.destructor": "Need to implement destructor.",
  "crulechk.WRITE_VIRTUAL_DTOR_FOR_BASE_CLASS.yMsg": "It is the non virtual destructor.",
  "crulechk.WRONG_ERROR_HANDLING.msg1": "Application-independent code should provide error detection without dictating error handling",
  "crulechk.WRONG_NUMBER_OF_PARAMETERS_IN_MACRO.msg": "A function-like macro shall not be invoked without all of its arguments.",
  "crulechk.WRONG_PREPROCESSING_TOKEN.msg1": "A preprocessing token should follow # token.",
  "cschk.ACCESS_CONTROL.ANONYMOUS_LDAP_BINDING.CSHARP.defect": "Executing LDAP queries under an anonymous binding which is effectively no authentication, can allow an attacker to abuse.",
  "cschk.ADDITION_ASSIGNMENT_OPERATOR.FOR_STRING_APPEND.CSHARP.defect": "'+=' is forbidden for appending strings.",
  "cschk.ADD_EMPTY_STRING.CSHARP.defect": "An empty string has been used in the + operation.",
  "cschk.AVOID_MARKER_INTERFACE.CSHARP.defect": "Avoid using marker interfaces.",
  "cschk.AVOID_MUTABLE_IN_STRUCT.CSHARP.defect": "Do not define mutable value types in Struct.",
  "cschk.AVOID_OUT_PARAMETER.CSHARP.defect": "A method has an out parameter.",
  "cschk.AVOID_SINGLE_VALUE_CLASS.CSHARP.defect": "Avoid defining a class containing a single value.",
  "cschk.BAD_CALL.RANDOM_NEXT.CSHARP.defect": "Insecure random number generator is used.",
  "cschk.BAD_EQUALITY_EXPRESSION.FLOAT.CSHARP.defect": "A '==' operator is used in the comparison of float numbers.",
  "cschk.BAD_INTERFACE.ICLONEABLE.CSHARP.defect": "A forbidden interface has been implemented.",
  "cschk.BAD_NAME.LOCAL_VARIABLE.CSHARP.defect": "A local variable name should start with a lowercase letter.",
  "cschk.BAD_NAME.NAMESPACE.CSHARP.defect": "A namespace name should start with a capital letter.",
  "cschk.BAD_NAME.PARAMETER.CSHARP.defect": "A parameter name should start with a lowercase letter.",
  "cschk.BAD_OPERATOR.ASSIGNMENT_IN_COND.CSHARP.defect": "Check that it is intended to perform a comparative operation instead of an assignment operation.",
  "cschk.BAD_OPERATOR.MULTIPLE_VARIABLE_ASSIGNMENT.CSHARP.defect": "A value is assigned to two or more variables.",
  "cschk.BAD_POSITION.LITERAL_IN_EQUALS.CSHARP.defect": "An expression of variable.Equals(constant) has been used.",
  "cschk.BAD_STRING_INSTANTIATION.CSHARP.defect": "A use of new String() is not recommended.",
  "cschk.CATCH_NULL_REFERENCE_EXCEPTION.CSHARP.defect": "Catching 'NullReferenceException' is not recommended.",
  "cschk.COOKIE.DISABLED_HTTP_ONLY.CSHARP.defect": "The program create a cookie without HttpOnly flag to true.",
  "cschk.COOKIE.OVERLY_BROAD_DOMAIN.CSHARP.defect.broad": "A cookie with an overly broad domain.",
  "cschk.COOKIE.OVERLY_BROAD_DOMAIN.CSHARP.defect.custom": "Optionally, use the domain you banned.",
  "cschk.COOKIE.OVERLY_BROAD_PATH.CSHARP.defect": "A cookie with an overly broad path.",
  "cschk.CROSS_SITE_REQUEST_FORGERY.CSHARP.defect": "Vulnerable to CSRF attack because `@Html.AntiForgeryToken()` is not used.",
  "cschk.DATA_LEAK_BETWEEN_SESSIONS.CSHARP.defect": "A field member is in the subclass of IHttpHandler",
  "cschk.DEEPLY_NESTED_IF_STATEMENT.CSHARP.defect": "Too deeply nested if statement has been used.",
  "cschk.DESERIALIZATION_OF_UNTRUSTED_DATA.CSHARP.defect": "When deserializing, use a function that is vulnerable to security.",
  "cschk.DESIGN.ABSTRACT_TYPE.CONSTRUCTOR.CSHARP.defect": "A public type is abstract and has a public constructor.",
  "cschk.DESIGN.ENUM.MISSING_ZERO_VALUE.CSHARP.defect": "An enumeration does not define a member that has a value of zero, or defines zero member(s) in a way that could raise problems.",
  "cschk.DESIGN.EVENT_HANDLER.NON_GENERIC.CSHARP.defect": "A type contains a delegate that returns void, whose signature contains two parameters (the first an object and the second a type that is assignable to EventArgs), and the containing assembly targets .NET Framework 2.0.",
  "cschk.DESIGN.FIELD.NOT_DISPOSABLE.CSHARP.defect": "A class declares and implements an instance field that is a System.IDisposable type and the class does not implement IDisposable.",
  "cschk.DESIGN.IDISPOSABLE.BAD_PATTERN.CSHARP.defect": "IDisposable is not implemented correctly.",
  "cschk.DESIGN.INDEXER.BAD_TYPE.CSHARP.defect": "A public or protected type contains a public or protected indexer that uses an index type other than System.Int32, System.Int64, System.Object, or System.String.",
  "cschk.DESIGN.INSTANCE_FIELD.VISIBLE.CSHARP.defect": "An externally visible type has an externally visible instance field.",
  "cschk.DESIGN.MEMBER_SIGNATURE.NESTED_GENERIC.CSHARP.defect": "An externally visible member has a signature that contains a nested type argument.",
  "cschk.DESIGN.NATIVE_FIELDS.NOT_DISPOSABLE.CSHARP.defect": "A type references a System.IntPtr field, a System.UIntPtr field, or a System.Runtime.InteropServices.HandleRef field, but does not implement System.IDisposable.",
  "cschk.DESIGN.NESTED_TYPE.VISIBLE.CSHARP.defect": "An externally visible type contains an externally visible type declaration. Nested enumerations and protected types are exempt from this rule.",
  "cschk.DESIGN.OVERLOAD_ADD_SUB.MISSING_EQUALS.CSHARP.defect": "A public or protected type implements the addition or subtraction operators without implementing the equality operator.",
  "cschk.DESIGN.PARAMETER.UNNECESSARY_DERIVED_TYPE.CSHARP.defect": "A method declaration includes a formal parameter that is a derived type, and the method calls only members of the base type of the parameter.",
  "cschk.DESIGN.PINVOKE_METHODS.INCORRECT_CLASS.CSHARP.defect": "A method uses Platform Invocation Services to access unmanaged code and is not a member of one of the NativeMethods classes.",
  "cschk.DESIGN.PROPERTY.WRITE_ONLY.CSHARP.defect": "The public or protected property has a set accessor but does not have a get accessor.",
  "cschk.DESIGN.REF_PARAMETER.OBJECT.CSHARP.defect": "An externally visible method contains a reference parameter of type System.Object.",
  "cschk.DESIGN.SEALED_CLASS.PROTECTED_MEMBER.CSHARP.defect": "A public type is sealed and declares a protected member or a protected nested type.",
  "cschk.DESIGN.STATIC_CLASS.NOT_SEALED.CSHARP.defect": "A public or protected type contains only static members and is not declared with the sealed (NotInheritable) or static modifier.",
  "cschk.DESIGN.STRING_METHOD.URI.CSHARP.defect": "The name of a method contains \"uri\", \"Uri\", \"urn\", \"Urn\", \"url\", or \"Url\", and the method returns a string.",
  "cschk.DESIGN.STRING_PARAMETER.URI.CSHARP.defect": "A type declares a method with a string parameter whose name contains \"uri\", \"Uri\", \"urn\", \"Urn\", \"url\", or \"Url\" and the type does not declare a corresponding overload that takes a System.Uri parameter.",
  "cschk.DESIGN.STRING_PROPERTY.URI.CSHARP.defect": "A type declares a string property whose name contains \"uri\", \"Uri\", \"urn\", \"Urn\", \"url\", or \"Url\".",
  "cschk.DESIGN.STRING_URI_METHOD.IMPROPER_OVERLOAD.CSHARP.defect": "A type declares method overloads that differ only by the replacement of a string parameter with a System.Uri parameter, and the overload that takes the string parameter does not call the overload that takes the Uri parameter.",
  "cschk.DESIGN.TYPE.OUTSIDE_NAMESPACE.CSHARP.defect": "A public or protected type is defined outside the scope of a named namespace.",
  "cschk.DISABLED_HEADER_CHECKING.CSHARP.defect": "Disabling header checking makes application vulnerable to header manipulation attacks",
  "cschk.DISABLED_VIEW_STATE_MAC.CSHARP.defect": "Setting EnableViewStateMac to false is vulnerable.",
  "cschk.DO_NOT_INSTANTIATE_OBJECTS_IN_LOOPS.CSHARP.defect": "An object is instantiated in the loop.",
  "cschk.DO_NOT_THROW_NULL_REFERENCE_EXCEPTION.CSHARP.defect": "NullReferenceException has been thrown.",
  "cschk.DO_NOT_USE_HARD_CODING.IP_ADDRESS.CSHARP.defect": "The hardcoded IP address has been used.",
  "cschk.EMPTY_CATCH_BLOCK.CSHARP.defect": "A catch block is empty.",
  "cschk.EMPTY_FINALLY_BLOCK.CSHARP.defect": "This finally block is empty.",
  "cschk.EMPTY_WHILE_EMBEDDED_STATEMENT.CSHARP.defect": "The body block of while statement is empty.",
  "cschk.EXPOSURE_ERROR_MESSAGE.CSHARP.defect": "Print exception information during exception handling",
  "cschk.FORBIDDEN.COUNT_EQUALS_ZERO.CSHARP.defect": "Count()==0 or Count()!=0 has been used for a collection object.",
  "cschk.FORBIDDEN.INDEXOF_STRING.CSHARP.defect": "IndexOf(String) has been used.",
  "cschk.FORBIDDEN.MONITOR_PULSE.CSHARP.defect": "Monitor.Pulse() has been used.",
  "cschk.FORMATTING.BETWEEN_MEMBER_DEFINITION.MISSING_BLANK_LINE.CSHARP.defect": "You should add at least one blank line between method definitions and property definitions.",
  "cschk.FORMATTING.COMMENT.BLOCK_OF_ASTERISK.CSHARP.defect": "You create formatted blocks of asterisks around comments.",
  "cschk.FORMATTING.COMMENT.LOWERCASE_FIRST_LETTER.CSHARP.defect": "A comment text begins with an lowercase letter.",
  "cschk.FORMATTING.COMMENT.MISSING_PERIOD.CSHARP.defect": "A comment text dose not end with a period.",
  "cschk.FORMATTING.COMMENT.MISSING_SPACE_AFTER_DELIMITER.CSHARP.defect": "You do not insert one space between the comment delimiter(//) and the comment text.",
  "cschk.FORMATTING.CONTINUATION_LINE.BAD_INDENTATION.CSHARP.defect": "You do not indent continuation lines.",
  "cschk.FORMATTING.LINQ.QUERY_CLAUSE_ALIGNMENT.CSHARP.defect": "You should align query clauses under from clauses.",
  "cschk.FORMATTING.LINQ.WHERE_CLAUSE_AFTER_OTHERS.CSHARP.defect": "You should use 'where' clauses before other query clauses.",
  "cschk.GLOBAL.HARD_CODED_STRING.LOCALE_DEPENDANT.CSHARP.defect": "A method uses a string literal that represents part of the path of certain system folders.",
  "cschk.HARDCODED_PASSWORD.CSHARP.defect": "Use hardcoded password.",
  "cschk.HARDCODED_PASSWORD_COMPARISON.CSHARP.defect": "Compare with hardcoded password.",
  "cschk.HASH.INSECURE_HASH_ITERATION_COUNT.CSHARP.defect": "Insufficient iteration count of hash.",
  "cschk.HASH.PREDICTABLE_SALT.CSHARP.defect": "Salt is easy to predict.",
  "cschk.HTML_INPUT_HIDDEN.CSHARP.defect": "The use of HtmlInputHidden is not recommended.",
  "cschk.IMPROPER_AUTHORIZATION.CSHARP.defect": "An improper authorization has been used.",
  "cschk.IMPROPER_SIGNATURE.CSHARP.defect": "Use JWT token without signature verification.",
  "cschk.INADEQUATE_RSA_PADDING.CSHARP.defect": "RSA encryption without using OAEP padding make the encryption weak.",
  "cschk.INTEROPERABILITY.AUTO_LAYOUT.COM_VISIBLE.CSHARP.defect": "A Component Object Model (COM) visible value type is marked with the System.Runtime.InteropServices.StructLayoutAttribute attribute set to LayoutKind.Auto.",
  "cschk.INTEROPERABILITY.CLASS_INTERFACE.AUTO_DUAL.CSHARP.defect": "A Component Object Model (COM) visible type is marked with the ClassInterfaceAttribute attribute set to the AutoDual value of ClassInterfaceType.",
  "cschk.INTEROPERABILITY.COM_INTERFACE.OVERLOAD_METHOD.CSHARP.defect": "A Component Object Model (COM) visible interface declares overloaded methods.",
  "cschk.INTEROPERABILITY.COM_METHOD.EXTERNALLY_VISIBLE.CSHARP.defect": "A method that is marked with the System.Runtime.InteropServices.ComRegisterFunctionAttribute or the System.Runtime.InteropServices.ComUnregisterFunctionAttribute attribute is externally visible.",
  "cschk.INTEROPERABILITY.COM_METHOD.MISMATCH.CSHARP.defect": "A type declares a method that is marked with the System.Runtime.InteropServices.ComRegisterFunctionAttribute attribute but does not declare a method that is marked with the System.Runtime.InteropServices.ComUnregisterFunctionAttribute attribute, or vice versa.",
  "cschk.INTEROPERABILITY.COM_SOURCE_INTERFACE.NOT_IDISPATCH.CSHARP.defect": "A type is marked with the ComSourceInterfacesAttribute attribute and at least one specified interface is not marked with the InterfaceTypeAttribute attribute set to the InterfaceIsDispatch value.",
  "cschk.INTEROPERABILITY.COM_VISIBLE_TYPE.NOT_VISIBLE_BASE.CSHARP.defect": "An externally visible type contains an externally visible read-only field that is a mutable reference type.",
  "cschk.INTEROPERABILITY.GET_LAST_ERROR.NOT_AFTER_PINVOKE.CSHARP.defect": "A call is made to the Marshal.GetLastWin32Error method or the equivalent Win32 GetLastError function, and the call that comes immediately before is not to a platform invoke method.",
  "cschk.INTEROPERABILITY.PINVOKE.VISIBLE.CSHARP.defect": "A public or protected method in a public type has the System.Runtime.InteropServices.DllImportAttribute attribute.",
  "cschk.JUMP_AT_THE_END_OF_LOOP.CSHARP.defect": "A jump statement(break,continue) is not recommended at the end of the loop.",
  "cschk.KEY_MANAGEMENT.EMPTY_HMAC_KEY.CSHARP.defect": "Secret key of the HMAC is empty.",
  "cschk.KEY_MANAGEMENT.HARDCODED_ENCRYPTION_KEY.CSHARP.defect": "A secret key for symmetric encryption is hardcoded.",
  "cschk.KEY_MANAGEMENT.HARDCODED_HMAC_KEY.CSHARP.defect": "Secret key of the HMAC is hardcoded",
  "cschk.LEAK.SYSTEM_INFORMATION.CSHARP.defect": "System information leak.",
  "cschk.MISSING.BRACES.FOR_LOOP.CSHARP.defect": "Braces is missing in the for statement.",
  "cschk.MISSING.BRACES.WHILE_LOOP.CSHARP.defect": "Braces is missing in the while statement.",
  "cschk.MISSING.BREAK.CASE.CSHARP.defect": "All case blocks should have a break statement at the end.",
  "cschk.MISSING.DEFAULT.SWITCH.CSHARP.defect": "The switch statement does not have a default case.",
  "cschk.MISSING_ATTRIBUTE.SERIALIZABLE.CSHARP.defect": "An expected attribute is not declared.",
  "cschk.MISSING_AUTHENTICATION.CRITICAL_FUNCTION.CSHARP.defect": "An authentication process has been missing for the critical function.",
  "cschk.MISSING_BLANK_LINE_BEFORE_COMMENT.CSHARP.defect": "Comments is located at the end of a line of code, not on a separate line.",
  "cschk.MISSING_LOGIN_CONTROL.CSHARP.defect": "The login routine should be controlled by any loops.",
  "cschk.MISSING_PARENTHESIS_IN_EXPRESSION.CSHARP.defect": "You should make clauses in an expression apparent by using parentheses.",
  "cschk.NAMING.ENUM.INCORRECT_PREFIX.CSHARP.defect": "An enumeration contains a member whose name starts with the type name of the enumeration.",
  "cschk.NAMING.IDENTIFIER.INCORRECT_PREFIX.CSHARP.defect": "The name of an externally visible interface does not start with an uppercase 'I'. Or the name of a generic type parameter on an externally visible type or method does not start with an uppercase 'T'.",
  "cschk.NAMING.IDENTIFIERS.CASEINSENSITIVE_SAME.CSHARP.defect": "The names of two types, members, parameters, or fully qualified namespaces are identical when they are converted to lowercase.",
  "cschk.NAMING.LINQ.NOT_USED_PASCAL_CASING.CSHARP.defect": "You should use aliases to make sure that property names of anonymous types in LINQ queries are correctly capitalized, using Pascal casing.",
  "cschk.NULL_ARGUMENT.EQUALS.CSHARP.defect": "Equals method's argument is null.",
  "cschk.OBJECT_MODEL_VIOLATION.CSHARP.defect": "Object model violation. Equals() and GetHashCode() methods should be overridden simultaneously.",
  "cschk.OBSOLETE.CSHARP.defect": "Instantiation of SqlClientPermission with second argument should be avoided.",
  "cschk.OVERLY_BROAD_CATCH.CSHARP.defect": "Catching too broad exception.",
  "cschk.PASSWORD.EMPTY_PASSWORD.CSHARP.defect": "The password is empty.",
  "cschk.PASSWORD.HARDCODED_PASSWORD.CSHARP.defect": "The password is hardcoded.",
  "cschk.PASSWORD.PBE_EMPTY_PASSWORD.CSHARP.defect": "Check the password for Password Based Encryption is empty.",
  "cschk.PASSWORD.PBE_HARDCODED_PASSWORD.CSHARP.defect": "Check the password for Password Based Encryption is hardcoded.",
  "cschk.PASSWORD_IN_COMMENT.CSHARP.defect": "Password(s) is(are) used in the comment",
  "cschk.PERFORMANCE.REFERENCE_TYPE.STATIC_CONSTRUCTOR.CSHARP.defect": "A reference type declares an explicit static constructor.",
  "cschk.POOR_LOGGING_PRACTICE.CSHARP.defect": "Poor logging.",
  "cschk.PORTABILITY_FLAW.FILE_SEPARATOR.CSHARP.defect": "The hardcoded file separator has been used.",
  "cschk.PRACTICE.ARRAY_DECLARATION.COMPLICATED_SYNTAX.CSHARP.defect": "When you initialized arrays on the declaration line, you used the complex syntax.",
  "cschk.PRACTICE.BOOLEAN_EXPRESSION.USED_AMP_AND_BITWISE_OR.CSHARP.defect": "AMP(&) or BitwiseOr(|) is used in a conditional statement.",
  "cschk.PRACTICE.CALL_TO_STATIC_MEMBER.WITH_DERIVED_CLASS_NAME.CSHARP.defect": "You should not qualify a static member defined in a base class with the name of a derived class.",
  "cschk.PRACTICE.DELEGATE_TYPE.BAD_INSTANCE_CREATION.CSHARP.defect": "You should use concise syntax to create instances of a delegate type.",
  "cschk.PRACTICE.FINALLY_BLOCK.RESOURCE_DISPOSITION_ONLY.CSHARP.defect": "If a 'finally' block only has calls to the Dispose method, you should use a 'using' statement instead.",
  "cschk.PRACTICE.LINQ.NOT_USED_IMPLICIT_TYPING.CSHARP.defect": "You should use implicit typing in the declaration of query variables and range variables.",
  "cschk.PRACTICE.LOOP_VARIABLE.NOT_USED_IMPLICIT_TYPING.CSHARP.defect": "You should use implicit typing to determine the type of the loop variable in for and foreach loops.",
  "cschk.PRACTICE.OBJECT_INITIALIZATION.NOT_USED_INITIALIZER.CSHARP.defect": "You should use object initializers to simplify object creation.",
  "cschk.PRACTICE.OBJECT_INSTANTIATION.NOT_USED_IMPLICIT_TYPING.CSHARP.defect": "You should use the concise form of object instantiation, with implicit typing.",
  "cschk.PRACTICE.OBVIOUS_VARIABLE_TYPE.NOT_USED_IMPLICIT_TYPING.CSHARP.defect": "You should use implicit typing for local variables when the type of the variables is obvious.",
  "cschk.PRACTICE.STRINGBUILDER.SHORT_STRING_CONCATENATION.CSHARP.defect": "To concatenate short strings, using the + operator better than calling to the StringBuilder.Append method.",
  "cschk.PRACTICE.TYPE.USED_UNSIGNED_TYPE.CSHARP.defect": "You should use 'int' rather than unsigned types.",
  "cschk.PRIVACY_VIOLATION_SHOULDER_SURFING.CSHARP.defect": "Sensitive Data need to be hidden when displayed in the UI.",
  "cschk.PRIVATE_COLLECTION.CSHARP.defect": "Return a private collection type field by a non private method.",
  "cschk.PUBLIC_DATA_ASSIGNED_TO_PRIVATE_ARRAY.CSHARP.defect": "A data from the public method has been assigned to the private array.",
  "cschk.SAQT.M.CS.7183.defect": "The cyclomatic complexity of the function is {0}, which is higher than {1}. Keep the number under the threshold.",
  "cschk.SAQT.M.CS.7186.defect": "The maximum block depth of the function is {0}, which is higher than {1}. Keep the number under the threshold.",
  "cschk.SAQT.M.CS.7192.defect": "The number of parameters of the function is {0}, which is higher than {1}. Keep the number under the threshold.",
  "cschk.SAQT.M.CS.7198.defect": "The number of executable code lines of the function is {0}, which is higher than {1}. Keep the number under the threshold.",
  "cschk.SECURITY.ARRAY_FIELD.READ_ONLY.CSHARP.defect": "A public or protected field that holds an array is declared read-only.",
  "cschk.SECURITY.ATTRIBUTE.SUPPRESSED_SECURITY.CSHARP.defect": "A public or protected type or member has the System.Security.SuppressUnmanagedCodeSecurityAttribute attribute.",
  "cschk.SECURITY.LINK_DEMAND.NOT_IDENTICAL.CSHARP.defect": "A public or protected method in a public type overrides a method or implements an interface, and does not have the same Link Demands as the interface or virtual method.",
  "cschk.SECURITY.MUTABLE_REFERENCE_TYPE.READ_ONLY.CSHARP.defect": "An externally visible type contains an externally visible read-only field that is a mutable reference type.",
  "cschk.SECURITY.PRIVATE_INTERFACE_METHOD.NOT_SEALED.CSHARP.defect": "An inheritable public type provides an overridable method implementation of an internal (Friend in Visual Basic) interface.",
  "cschk.SECURITY.SERIALIZATION.INSECURE_CONSTRUCTOR.CSHARP.defect": "The type implements the System.Runtime.Serialization.ISerializable interface, is not a delegate or interface, and is declared in an assembly that allows partially trusted callers",
  "cschk.SECURITY.TYPE_LINK_DEMAND.NO_INHERITANCE_DEMAND.CSHARP.defect": "A public unsealed type is protected with a link demand, has an overridable method, and neither the type nor the method is protected with an inheritance demand.",
  "cschk.THROW_NEW_EXCEPTION_IN_CATCH.CSHARP.defect": "A brand new Exception instance is thrown in a catch block.",
  "cschk.TO_STRING_ON_ARRAY.CSHARP.defect": "ToString on an array.",
  "cschk.TYPE_CHECK_WITH_NAME.CSHARP.defect": "Type is checked with name of the type.",
  "cschk.UNPULSED_OBJECT.CSHARP.defect": "You should use Monitor.PulseAll() with Monitor.Wait().",
  "cschk.UNUSED.FORMAL_PARAMETER.CSHARP.defect": "There is a formal parameter of the method which has not been used.",
  "cschk.UNUSED.LOCAL_VARIABLE.CSHARP.defect": "There is an unused local variable.",
  "cschk.UNUSED.PRIVATE_FIELD.CSHARP.defect": "There is an unused private field.",
  "cschk.UNVERIFIABLE_NATIVE_INVOCATION.CSHARP.defect": "Importing unverified DLL causes potential danger.",
  "cschk.USAGE.CONSTRUCTOR.VIRTUAL_METHOD_CALL.CSHARP.defect": "The constructor of an unsealed type calls a virtual method defined in its class.",
  "cschk.USAGE.DISPOSABLE_TYPE.MISSING_FINALIZER.CSHARP.defect": "A type that implements System.IDisposable, and has fields that suggest the use of unmanaged resources, does not implement a finalizer as described by Object.Finalize.",
  "cschk.USAGE.DISPOSE.GC_SUPPRESS_FINALIZE.CSHARP.defect": "A method calls GC.SuppressFinalize and passes something other than this (Me in Visual Basic).",
  "cschk.USAGE.ENUM.FLAGS_ATTRIBUTE.CSHARP.defect": "An externally visible enumeration is marked with FlagsAttribute and it has one or more values that are not powers of two or a combination of the other defined values on the enumeration.",
  "cschk.USAGE.FIELDS.NON_SERIALIZABLE.CSHARP.defect": "An instance field of a type that is not serializable is declared in a type that is serializable.",
  "cschk.USAGE.ISERIALIZABLE.BAD_IMPLEMENTATION.CSHARP.defect": "Instance fields that are declared in a type that inherits the System.Runtime.Serialization.ISerializable interface are not automatically included in the serialization process.",
  "cschk.USAGE.NAN.INCORRECTLY_TESTED.CSHARP.defect": "An expression tests a value against F:System.Single.Nan or F:System.Double.Nan.",
  "cschk.USAGE.OVERLOAD_EQ.MISSING_EQUALS.CSHARP.defect": "A public type implements the equality operator, but does not override Object.Equals.",
  "cschk.USAGE.OVERLOAD_OPERATOR.NO_ALTERNATE.CSHARP.defect": "An operator overload was detected, and the expected named alternative method was not found.",
  "cschk.USAGE.UNSEALED_PRIVATE_METHOD.DIFFERENT_ACCESSIBILITY.CSHARP.defect": "A private method in an unsealed type has a signature that is identical to a public method declared in a base type. The private method is not final.",
  "cschk.USE_ONE_DECLARATION_PER_LINE.CSHARP.defect": "You write multi declarations per line.",
  "cschk.USE_ONE_STATEMENT_PER_LINE.CSHARP.defect": "You write multi statements per line.",
  "cschk.USING_APPLICATION_EXIT.CSHARP.defect": "Application.Exit() has been used.",
  "cschk.WEAK_CRYPTOGRAPHIC_HASH.CSHARP.defect": "A weak cryptographic hash has been used.",
  "cschk.WEAK_ENCRYPTION.DES.CSHARP.defect": "A weak cryptographic algorithm has been used.",
  "cschk.WEAK_ENCRYPTION.INSECURE_INITIALIZATION_VECTOR.CSHARP.defect": "Initialization vectors(IV) is hardcoded.",
  "cschk.WEAK_ENCRYPTION.INSECURE_MODE_OF_OPERATION.CSHARP.defect": "ECB mode is vulnerable.",
  "cschk.WEAK_ENCRYPTION.INSUFFICIENT_KEY_SIZE.CSHARP.defect": "Insufficient key size.",
  "cschk.WEAK_SERVER_CERTIFICATES.CSHARP.defect": "Trust all certificates without additional validation.",
  "cschk.WEAK_SIGNATURE.INSUFFICIENT_KEY_SIZE.CSHARP.defect": "Key size for digital signature is not enough.",
  "cschk.WEAK_XML_TRANSFORMERS_SECURITY.CSHARP.defect.assign": "Set {1} to new XmlUrlResolver() in .Net Framework {0} version.",
  "cschk.WEAK_XML_TRANSFORMERS_SECURITY.CSHARP.defect.setting": "In the {0} version of the .Net Framework, pass DtdProcessing.Parse and XmlUrlResolver using XmlReaderSettings as the second argument of the XmlReader.Create function.",
  "cschk.WEAK_XML_TRANSFORMERS_SECURITY.CSHARP.defect.use": "The .Net Framework version {0} uses {1}.",
  "csrex.COMMON.0_can_be_a_zero": "{0} can be a zero!",
  "csrex.COMMON.0_dereferenced_here_by_1": "Here {0} is dereferenced by {1}!",
  "csrex.COMMON.0_is_1": "{0} is set as {1}.",
  "csrex.COMMON.0_is_assumed_as_null": "{0} is assumed as a Null.",
  "csrex.COMMON.0_is_assumed_as_zero": "{0} is assumed as a zero.",
  "csrex.COMMON.0_is_false": "{0} is set as false.",
  "csrex.COMMON.0_is_true": "{0} is set as true.",
  "csrex.COMMON.0_might_cause_sql_injection": "{0} can cause an SQL Injection.",
  "csrex.COMMON.ASSUME": "ASSUMED",
  "csrex.COMMON.EVALED": "EVALUATED",
  "csrex.COMMON.EXCEPTION_0": "EXCEPTION {0}",
  "csrex.COMMON.LOOP": "LOOP",
  "csrex.COMMON.RANDOM": "RANDOM",
  "csrex.COMMON.arithmetic_overflow_for_0_evaluated_to_1_which_is_bigger_than_2_max_3": "This causes an arithmetic overflow for {0} Because its result is evaluated as {1}, which is escaped from max {3} in {2} type.",
  "csrex.COMMON.arithmetic_overflow_for_0_evaluated_to_1_which_is_bigger_than_2_min_3": "This causes an arithmetic overflow for {0} Because its result is evaluated as {1}, which is escaped from min {3} in {2} type.",
  "csrex.COMMON.call_to_0": "This calls {0}.",
  "csrex.COMMON.constant_integer": "A integer constant",
  "csrex.COMMON.controller_entrance": "Action method {1} of controller {0} is invoked.",
  "csrex.COMMON.dangerous_downcast_from_0_to_1": "This executes a risky downcast from {0} to {1}.",
  "csrex.COMMON.dereferenced_in_callee": "This is dereferenced in a called function.",
  "csrex.COMMON.divided_by_zero_in_callee": "Here a division by zero calculation is found in a called function.",
  "csrex.COMMON.escaped_by_exception": "This causes an exception to be escaped.",
  "csrex.COMMON.escaped_by_exception_from_0": "This causes an exception for {0} to be escaped.",
  "csrex.COMMON.evaled_as_zero": "This is evaluated as zero.",
  "csrex.COMMON.file_delete": "This deletes a file.",
  "csrex.COMMON.file_exist_check": "This checks a file to be existed.",
  "csrex.COMMON.file_read": "This reads a file.",
  "csrex.COMMON.file_write": "This writes a file.",
  "csrex.COMMON.from_method_0": "from method {0}",
  "csrex.COMMON.go_to_line_0": "Move to line {0}.",
  "csrex.COMMON.hardcoded_string": "Hard-coded string",
  "csrex.COMMON.infinite_recursive_call_0_might_happen_here": "Here an uncontrolled recursive call {0} can be caused.",
  "csrex.COMMON.iterator_api_misuse_here": "Here an iterator API is misused!",
  "csrex.COMMON.null_aliased_to_0": "A Null is set in {0}.",
  "csrex.COMMON.null_literal_found": "A Null literal is found.",
  "csrex.COMMON.null_returned": "A Null is returned.",
  "csrex.COMMON.race_condition_error_toctou_for_0_possible_here": "Here a TOCTOU race condition is found!",
  "csrex.COMMON.resource_dangled": "You cannot refer this resource.",
  "csrex.COMMON.resource_escaped": "This causes a resource to be escaped.",
  "csrex.COMMON.resource_type_0_allocated": "This causes resource type {0} to be allocated.",
  "csrex.COMMON.sign_then_seal_api_misuse_here": "A calling sequense of serialization methods is wrong!",
  "csrex.COMMON.taint_propag.indexer.base": "A tracked value {0} is specified to an indexer of {1} class, and its base object {2} is tracked.",
  "csrex.COMMON.taint_propag.indexer.base.return": "A tracked value {0} is accessed by an indexer, and its result is tracked.",
  "csrex.COMMON.taint_propag.property.base": "A tracked value {0} is specified to {2} attribute of {1} class, and its base object {3} is tracked.",
  "csrex.COMMON.taint_sink.field": "A tracked value is specified to {1} field of {0} class, and violates a taint checking rule.",
  "csrex.COMMON.taint_sink.property": "A tracked value is specified to {1} attribute of {0} class, and violates a taint checking rule.",
  "csrex.COMMON.taint_source.field": "A taint checking rule finds {1} field of {0} class, and starts to track.",
  "csrex.COMMON.taint_source.indexer": "A taint checking rule finds an indexer of {0} class, and starts to track.",
  "csrex.COMMON.taint_source.property": "A taint checking rule finds {1} attribute of {0} class, and starts to track.",
  "csrex.COMMON.tainted_value_aliased.custom_deconstruct": "A tracked value is extracted into the {1}th element through a user-defined deconstruction method as defined in {0} class.",
  "csrex.COMMON.tainted_value_aliased.tuple_deconstruct": "A tracked value is specified to {1} through the {0}th element of a tuple.",
  "csrex.COMMON.tainted_value_aliased_to_0": "This causes a tainted value to be set in {0}.",
  "csrex.COMMON.tainted_value_appended": "This causes a tainted value to be appended.",
  "csrex.COMMON.tainted_value_from_0_against_rule_1": "A tainted value sent from {0} resists against rule {1}.",
  "csrex.COMMON.tainted_value_go_into_in_callee": "This causes a tainted value to be propagated into in a called function.",
  "csrex.COMMON.tainted_value_reaches_0": "This causes a tainted value to be reached to {0}.",
  "csrex.COMMON.tainted_value_returned": "This causes a tainted value to be returned.",
  "csrex.COMMON.tainted_value_returned_by_0": "This causes a tainted value to be returned to an external function via {0} parameter.",
  "csrex.COMMON.toctou_race_condition_detected": "Here a TOCTOU race condition is found.",
  "csrex.COMMON.toctou_race_condition_in_callee": "Here a TOCTOU Race condition is found in a called function.",
  "csrex.COMMON.transaction_committed_0": "This cuase a transaction to be committed. ({0})",
  "csrex.COMMON.transaction_incomplete": "Here an incomplete transaction is found.",
  "csrex.COMMON.uncontrolled_recursion_in_callee": "Here an uncontrolled recursive call is found in a called function.",
  "csrex.COMMON.view_entrance": "Move to view by an action method {1} in controller {0}.",
  "csrex.COMMON.view_link": "Move to view {0}.",
  "csrex.SAQT.M.CS.7194.defect": "The number of callers of the function is {0}, which is higher than {1}. Keep the number under the threshold.",
  "csrex.SAQT.M.CS.7196.defect": "The number of callees of the function is {0}, which is higher than {1}. Keep the number under the threshold.",
  "cstyleCast.description": "C-style pointer casting detected. C++ offers four different kinds of casts as replacements: static_cast, const_cast, dynamic_cast and reinterpret_cast.",
  "deadpointer.description": "Dead pointer usage.",
  "deallocDealloc.description": "Deallocating a deallocated pointer.",
  "deallocret.description": "Returning/dereferencing after it is deallocated/released.",
  "deallocuse.description": "Dereferencing the pointer after it is deallocated / released.",
  "derefInvalidIterator.description": "Possible dereference of an invalid iterator.",
  "desc.ABSENCE_CALL_SUPER_IN_ACTIVITY_LIFECYCLE": "The Missing Call to Superclass Method in Android Activity checker finds overrides of the Activity class lifecycle methods that do not begin with a call to their respective superclass method.",
  "desc.ABSENCE_SET_MEASURED_DIMENSION_IN_OVERRIDE_ON_MEASURE": "The Missing Necessary Call in Override of onMeasure checker finds overrides of the View.onMeasure() method that do not include a call to the setMeasuredDimension().",
  "desc.ACCESSING_CONSTANT_INDEX_IN_LOOP": "The Access to Array with Fixed Index in Loop checker finds loops in which an array is accessed with the same index at each iteration.",
  "desc.ACCESS_CONTROL.ANONYMOUS_LDAP_BINDING.CSHARP": "The Use of Anonymous LDAP Binding checker finds code that uses anonymous bindings to execute LDAP queries.",
  "desc.ACCESS_CONTROL.AZURE.JS": "The Unauthorized Use of Azure checker finds Azure queries that pass unvalidated external inputs.",
  "desc.ACCESS_CONTROL.DATABASE.JS": "The Unauthorized Access to Database checker finds SQL statements that use an unvalidated external input as a key.",
  "desc.ACCESS_CV_QUALIFIED_OBJECT_THROUGH_CV_UNQUALIFIED": "The use of casting that removes the const qualifier checker detects the use of casting that removes the const qualifier to modify const objects.",
  "desc.ACCESS_NONEXISTENT_MEMBERS": "The Pointer-to-member Operator for Non-existent Member Access checker finds code that uses a pointer-to-member operator to access to a non-existent member.",
  "desc.ACCOUNT_INFO_IN_CODE.JS": "The User Account Information Hardcoded in JavaScript checker finds JavaScript source code that includes hardcoded user account information.",
  "desc.ACTION_NOT_RESTRICTED_TO_POST.VBNET": "The Unrestricted Action checker finds controllers that are allowed for all actions.",
  "desc.ADDITION_ASSIGNMENT_OPERATOR.FOR_STRING_APPEND.CSHARP": "The += Operator for String Concatenation checker finds code that performs += operation to concatenate strings.",
  "desc.ADD_EMPTY_STRING.CSHARP": "The + Operator on Blank String checker finds code that performs + operation on blank strings.",
  "desc.ALLOCATE_SUFFICIENT_MEMORY": "The Insufficient Memory Allocation checker finds instances of allocating memory not as much as needed to store an object.",
  "desc.ALREADY_DEFINE_IDENTIFIER": "The Use of Undefined Macro Identifier checker finds instances of using an undefined identifier in an #ifdef, #ifndef, or #defined statement.",
  "desc.ALREADY_OWNED_POINTER": "The Already Owned Pointer checker finds incidents to store pointers already-owned by smart pointers to other smart pointers.",
  "desc.ALTERNATING_INPUT_OUTPUT": "The Consecutive Read and Write on the Same File checker finds instances of reading and writing the same file alternately without intermediate adjustments between the read and write operations, such as buffer flushing or cursor relocation.",
  "desc.ALWAYS_DISCARD_RESULT_OF_ASSIGN": "The Use of Assignment Operation Result finds expressions that use the result of an assignment operation as an operand for another operation.",
  "desc.ALWAYS_SET_POINTER_TO_ZERO": "The Pointer Unset to 0 After Freeing Memory checker finds when a pointer is not set to 0 after its memory get freed.",
  "desc.ALWAYS_STRICT_MODE.CONFIG": "Strict mode is compatible with other code and makes your source code behave more safely by imposing restrictions on it, such as throwing previously ignored errors or prohibiting the use of dangerous methods. Typescript allows you to explicitly use `use stirct` in your source code, but recommends that you use `alwaysStrict` to have stirct mode automatically added to all your source code.",
  "desc.ANDROID_ADD_JAVASCRIPT_INTERFACE": "The Using JavaScript in Android checker finds code that calls addJavascriptInterface() method.",
  "desc.ANDROID_CLASS_LOADING_HIJACKING": "The Android Class Loading Hijacking checker finds instances of loading a Dalvik class file from an external storage.",
  "desc.ANDROID_CLASS_LOADING_HIJACKING_ABSOLUTE_PATH": "The Android Class Loading Hijacking via Relative Path checker finds instances of loading a Dalvik class file via a relative path.",
  "desc.ANDROID_CONTEXT_SEND_BROADCAST": "The Use of Global Broadcast checker finds calls to the Context.sendBroadcast() method.",
  "desc.ANDROID_GRANT_URI_PERMISSIONS": "The Granting of Permission for Implicit Intent checker finds instances of granting a permission on an implicit intent.",
  "desc.ANDROID_MANIFEST_AVOID_DEBUGGABLE_ACCESS": "The Enabled debuggable Option within Android Manifest checker finds code that enables the debuggable option in the Android manifest.",
  "desc.ANDROID_MANIFEST_AVOID_EXPORTED_ACCESS": "The exported Enabled in Android Manifest checker finds an Android manifest in which the exported option is set true.",
  "desc.ANDROID_MANIFEST_AVOID_EXPORTED_ACCESS_IN_RECEIVER": "The exported from receiver option checker in the Android manifest detects if the exported from receiver option is enabled or disabled in the Android manifest.",
  "desc.ANDROID_MANIFEST_AVOID_USING_SHARED_USER_ID": "The sharedUserId Enabled in Android Manifest checker finds an Android manifest in which the sharedUserId option is set active.",
  "desc.ANDROID_MANIFEST_INTENT_FILTER_ANY": "This checker detects every activated android intent filters in AndroidManifest.xml file.",
  "desc.ANDROID_MANIFEST_USES_PERMISSION_ANY": "This checker detects every activated android permissions in AndroidManifest.xml file.",
  "desc.ANDROID_MISSING_BROADCASTER_PERMISSION": "The Missing Broadcaster Permission in Android checker finds code that fails to set permissions for registering broadcast receivers.",
  "desc.ANDROID_PERMISSION_CHECK_BYPASS": "The Bypassing of Android Permission Check checker finds calls to the Context.checkCallingOrSelfPermission() method.",
  "desc.ANDROID_RECEVIED_SSL_ERROR": "The Android Security Alert Notification checker finds code that calls handler.processed() method from onRecoveredSslError() method without branches.",
  "desc.ANDROID_UNSAFE_HOSTNAME_VERIFICATION": "The Insecure Hostname Unchecked in Android checker finds verify function that returns true only in HostnameVerifier interface.",
  "desc.ANDROID_UNSAFE_HOSTNAME_VERIFICATION.KOTLIN": "The Insecure Hostname Unchecked in Android checker finds verify function that returns true only in HostnameVerifier interface.",
  "desc.ANDROID_WEB_SETTING_JAVA_SCRIPT": "The Enabling of Dangerous JavaScript Execution in WebView checker finds calls to the WebSettings.setJavaScriptEnabled() method that enable the execution of JavaScript scripts.",
  "desc.ANDROID_XSS": "The Cross-site Scripting in Android checker finds code that uses an external input in HTML without validation.",
  "desc.ARGUMENT_NAMES_SHALL_BE_MATCHED": "The Parameter with Mismatched Identifier checker finds instances when identifiers are not matched for a parameter in function declaration or definition.",
  "desc.ARGUMENT_NAMES_SHALL_BE_MATCHED_GLOBAL": "The identifiers used in the declaration and definition of a function shall be identical.",
  "desc.ARGUMENT_NUMBER_MISMATCH": "The Number Mismatch between Defined Parameters and Passed Arguments checker finds instances in which the number of parameters defined in a function and the number of arguments passed in a call to the function are different.",
  "desc.ARRAY_ACCESS_ON_POINTER": "The Use of Array Access Operator on Non-array checker finds expressions that perform an array access operation on a non-array pointer object.",
  "desc.ASSEMBLER_INST_USE_ASM_DECLARATION": "The Use of Assembly Command without asm checker finds incidents that assembly commands are used without asm declaration.",
  "desc.ASSIGNMENT_OPERATOR_SHOULD_RETURN_REFERENCE": "The Copy Assignment Operator Not Returning Reference checker finds overloads of the copy assignment operator that do not return a reference.",
  "desc.ASSIGN_ADDRESS_TO_WIDER_SCOPE": "The Address of Lower-level Variable Assigned to Higher-level Variable checker finds instances of assigning the address of a variable at a lower level of scope to a variable at a higher level.",
  "desc.ASSIGN_BASE_CLASS_MEMBERS": "The Omission of Call to Base Copy Assignment in Copy Assignment Operator checker finds instances in which a derived class's copy assignment operator does not invoke its base class's copy assignment operator.",
  "desc.ASSIGN_CLASS_MEMBERS": "The Omission of Field Assignment in Copy Assignment Operator checker finds copy assignment operators in which any of the class's member fields is not assigned a value.",
  "desc.ASSIGN_STRING_TO_CONST_POINTER_CHAR": "The String Allocation to Invalid Type checker finds instances that a string is allocated to an object other than const char pointer.",
  "desc.ASSUMPTIONS_ABOUT_FILE_CREATION": "The Careless Opening of File checker finds attempts at opening a file without knowledge of whether the target file already exists or not.",
  "desc.ASYMMETRIC_OPERATOR_MUST_BE_DEFINED_AS_MEMBER": "The Non-method Asymmetric Operator checker finds asymmetric operators that are not declared as methods.",
  "desc.ASYNCHRONOUS_CANCEL_THREADS": "The Asynchronous Thread Termination checker finds pthreads calls in which the cancellation type is set to PTHREAD_CANCEL_ASYNCHRONOUS.",
  "desc.ATEXIT_HANDLER_CALLS_EXIT": "The Termination Function Call in atexit Handler Function checker finds instances in which a function registered as an atexit handler calls _Exit(), exit(), or abort().",
  "desc.ATOMIC_EXCHANGE_WEAK_SHOULD_BE_IN_LOOP": "The Failure of atomic_compare_exchange_weak() checker finds calls to the atomic_compare_exchange_weak() function that are not wrapped in a loop.",
  "desc.AT_LEAST_ONE_CASE_IN_SWITCH_STMT": "The Missing Case in Switch Statement checker finds switch statements that include no case and default blocks.",
  "desc.AT_LEAST_ONE_CASE_IN_SWITCH_STMT.MISRA2012": "The Missing Case in Switch Statement (Misra2012) checker finds switch statements that include less than two cases.",
  "desc.AT_LEAST_ONE_EXCEPTION_HANDLER": "The Exception Handler Missed in Main Function checker finds incidents that catch-all exception handlers are missed in main function.",
  "desc.AT_MOST_ONE_NON_ABSTRACT_BASE_CLASS": "The Diamond Problem in Inheritance checker finds instances a class is derived from two base classes that are not purely abstract.",
  "desc.AUTHENTICATION_ATTEMPT_LIMIT": "The Omission of Login Attempt Limit checker finds instances of failure to implement a logic to limit the number of login attempts.",
  "desc.AUTOCOMPLETE_PASSWORD": "The Password Field with Autocomplete Enabled checker finds instances of defining a password field with the autocomplete attribute enabled in an HTML form.",
  "desc.AUTOCOMPLETE_PASSWORD.VBS": "A password textbox should turn autocomplete off.",
  "desc.AVOID_AMBIGUOUS_GRAMMAR": "The Ambiguous Grammar between Cast and Declaration checker finds instances of declaring a variable by using an identical grammar of function style cast.",
  "desc.AVOID_BITWISE_ON_SAME_DATA": "The Concurrent Performance of Bitwise and Arithmetic Operations checker finds expressions that perform both bitwise and arithmetic operations on the same variable.",
  "desc.AVOID_CALLING_FINALIZE": "The prohibit direct calls to the finalize method checker detects direct calls to the finalize() method.",
  "desc.AVOID_CASTING_TO_VIRTUAL_CLASS": "The Casting to Virtual Base Class checker finds expressions that cast a derived class to a virtual base class.",
  "desc.AVOID_CATCHING_GENERIC_EXCEPTION": "The Extremely Generalized Exception Handling checker finds instances of generalizing a wide range of exceptions in handling them.",
  "desc.AVOID_CATCHING_GENERIC_EXCEPTION.OBJC": "The Extremely Generalized Exception Handling checker finds instances of generalizing a wide range of exceptions in handling them.",
  "desc.AVOID_CATCHING_GENERIC_EXCEPTION.SWIFT": "The Extremely Generalized Exception Handling checker finds instances of generalizing a wide range of exceptions in handling them.",
  "desc.AVOID_CATCHING_NPE": "The don't catch NullPointerException checker detects syntax that catches a NullPointerException.",
  "desc.AVOID_CATCHING_THROWABLE": "The Throwable type parameter checker in catch blocks detects when a Throwable type exists as a parameter in a catch block.",
  "desc.AVOID_CROSS_SITE_SCRIPTING": "The Cross-site Scripting checker finds instances of including an external input in HTML without validating it.",
  "desc.AVOID_DEADLOCK": "The Occurrence of Deadlock checker finds instances of failure to avoid deadlock by locking mutexes in the predefined order.",
  "desc.AVOID_DECIMAL_LITERALS_IN_BIG_DECIMAL_CONSTRUCTOR": "The argument real type checker in java.math.BigDecimal detects when the type of a BigDecimal argument is real.",
  "desc.AVOID_DOWNCASTING": "The Class Downcasting checker finds expressions that downcast a pointer to a base object to a derived object pointer.",
  "desc.AVOID_FINAL_LOCAL_VARIABLE": "The Missing Initialization of Final Local Variable checker detects when a Final local variable is not initialized with its declaration or is initialized to a constant.",
  "desc.AVOID_FRIEND_FUNCTION_AND_CLASS": "The Use of Forbidden friend checker finds class declarations that use the friend keyword.",
  "desc.AVOID_GLOBAL_VARIABLES": "The Use of Global Variable checker finds instances of using a global variable.",
  "desc.AVOID_IMPLICIT_CONVERSIONS_OF_ARGUMENTS": "The Implicitly Cast Argument checker finds function calls that need to implicitly cast an argument passed in.",
  "desc.AVOID_IMPLICIT_CONVERSION_OF_CLASS_TEMPLATE": "The Implicit Cast between Unrelated Class Templates checker finds expressions that implicitly cast between unrelated class templates.",
  "desc.AVOID_INBAND_ERROR_INDICATOR": "The Use of In-band Error Indicator checker finds instances of using an in-band error indicator when designing interfaces.",
  "desc.AVOID_INFINITE_LOOP_WHEN_USE_PFM_TRY_CATCH": "Infinite loop should be avoided when using PFM_TRY and PFM_CATCH.",
  "desc.AVOID_INSTANCEOF_CHECKS_IN_CATCH_CLAUSE": "Using an argument value from a catch clause in an instanceof clause The checker detects when an instanceof clause exists in a variable with the same name as a FormalParameter in a catch clause.",
  "desc.AVOID_KEYWORD_AS_MACRO_NAME": "The Macro Named after Keyword checker finds macros that are named after a keyword.",
  "desc.AVOID_LOSING_EXCEPTION_INFORMATION": "The exception information access checker detects when exception information is accessed.",
  "desc.AVOID_MARKER_INTERFACE.CSHARP": "The Empty Interface checker finds empty interfaces.",
  "desc.AVOID_MEMORY_AND_RESOURCE_LEAKS_DURING_SERIALIZATION": "The Memory and Resource Leaks during Serialization checker finds code that reuses java.io.ObjectOutputStream object while the object is previously created in order to serialize data without any reference to another object.",
  "desc.AVOID_MUTABLE_IN_STRUCT.CSHARP": "The Mutable Type in Struct checker finds structs that include mutable members.",
  "desc.AVOID_OUT_PARAMETER.CSHARP": "The Use of out Parameter checker finds code that uses an out parameter.",
  "desc.AVOID_PARAM_NAME_IN_PROTOTYPE": "The Use of Parameter Name in Function Prototype checker finds instances of naming the parameters in a prototype declaration.",
  "desc.AVOID_PTHREAD_MUTEX_NORMAL": "The Use of Inappropriate Mutex Type checker finds instances of using a PTHREAD_MUTEX_NORMAL type mutex lock.",
  "desc.AVOID_RACE_CONDITION_WHEN_USING_LIBRARY": "The Empty HMAC Private Key checker finds instances of using an empty HMAC private key.",
  "desc.AVOID_RETHROWING_EXCEPTION": "The composition checker detects when a catch block consists of a single throw statement that simply throws a reference to the exception received by the catch statement.",
  "desc.AVOID_ROOT_EXCEPTION.ABAP": "The CX_ROOT Exception Handling checker finds instances of using CX_ROOT for exception handling.",
  "desc.AVOID_SIDE_EFFECT_FROM_FUNCTION_CALL": "The Side Effect in Function Call checker finds an expression with side effects during function call.",
  "desc.AVOID_SIDE_EFFECT_IN_EXPRESSION": "The Side Effect in Expression checker finds expressions that cause side effects internally.",
  "desc.AVOID_SIDE_EFFECT_IN_MACRO_ARG": "The Macro Argument with Side Effect checker finds instances in which an expression possibly having a side effect is passed as an argument to a macro.",
  "desc.AVOID_SIDE_EFFECT_IN_PARAMETERS": "The Side Effect in Argument of Function Call checker finds an expression with side effects on an argument during function call.",
  "desc.AVOID_SINGLE_VALUE_CLASS.CSHARP": "The Definition of Single Field Class checker finds classes that have a single field.",
  "desc.AVOID_STRUCTURE_PADDING": "The Information Leakage through Struct Padding checker finds struct padding bits that can cause a leak of sensitive information when the structure is passed across a trust boundary.",
  "desc.AVOID_SYNCHRONIZED_AT_METHOD_LEVEL": "Declaring a method as synchronized The checker detects when a method is declared as synchronized.",
  "desc.AVOID_THREAD_GROUP": "The usage checker for the ThreadGroup class is detected by using java.lang.Thread.",
  "desc.AVOID_THROWING_GENERIC_EXCEPTION": "The Throwing of Extremely Generalized Exception checker finds expressions throwing an extremely generalized exception such as std::exception.",
  "desc.AVOID_THROWING_NULL_POINTER_EXCEPTION": "The NullPointerException object allocation checker detects when an object is allocated with a NullPointerException.",
  "desc.AVOID_THROWING_RAW_EXCEPTION_TYPES": "The overly generic exception object usage checker detects the use of generic exception objects.",
  "desc.AVOID_USING_AWT_SWING": "The Use of AWT or Swing checker finds instances of using AWT or Swing in an EJB program.",
  "desc.AVOID_USING_HARD_CODE_IP": "The IP address hard-coding checker detects when an IP address is represented by hard code.",
  "desc.AVOID_USING_JAVA_IO": "The Use of Java IO finds instances of using the java.io package in an EJB program.",
  "desc.AVOID_USING_NATIVE_CODE": "JNI's usage checker detects when JNI is enabled.",
  "desc.AVOID_USING_PUBLIC_STATIC_FINAL_ARRAY": "The Use of public static final Array checker finds array declarations prefixed with the public static final modifier.",
  "desc.AVOID_USING_STATIC_KEYWORD": "The Declaration of Static Object in Named Namespace checker finds instances in which an object is declared static under a named namespace.",
  "desc.AbstractClassWithoutAbstractMethod": "This checks for abstract classes that do not have abstract methods and do not extend other classes or implement an interface.",
  "desc.AbstractClassWithoutAnyMethod": "This checks for abstract class that does not have any constructor or method declarations.",
  "desc.AbstractNaming": "This checks when the name of a class that is not an interface starts with 'Abstract'.",
  "desc.AccessorClassGeneration": "Instantiation by way of private constructors from outside of the constructor's class often causes the generation of an accessor.",
  "desc.AddEmptyString": "This checks when empty string is used with '+' operator.",
  "desc.ApexBadCrypto": "It is recommended to use Crypto calls to generate randomized IVs and keys.",
  "desc.ApexCRUDViolation": "Before performing SOQL/SOSL/DML operations, you need to check access permissions.",
  "desc.ApexCSRF": "It is dangerous to manipulate DML in class constructors or init methods.",
  "desc.ApexDangerousMethods": "You used a dangerous method.",
  "desc.ApexInsecureEndpoint": "For security, you must use HTTPS.",
  "desc.ApexOpenRedirect": "It is redirected to an external string directly.",
  "desc.ApexSOQLInjection": "External input went directly into the DML query.",
  "desc.ApexSharingViolations": "I have a class that uses DML methods without sharing.",
  "desc.ApexSuggestUsingNamedCred": "You used a hardcoded credential.",
  "desc.ApexUnitTestClassShouldHaveAsserts": "Apex unit tests should include at least one assertion.",
  "desc.ApexUnitTestShouldNotUseSeeAllDataTrue": "Apex unit tests should not use @isTest(seeAllData=true).",
  "desc.ApexXSSFromEscapeFalse": "The second argument of addError is false.",
  "desc.ApexXSSFromURLParam": "When receiving URL parameters, you must do any escaping or filtering.",
  "desc.AppendCharacterWithChar": "This checks for a string being used instead of a char when appending a character using the append() method of StringBuffer.",
  "desc.ArgumentSize": "The array is too small, the function expects a bigger one.",
  "desc.ArrayIndexOutOfBounds": "Index of array is out of bounds.",
  "desc.ArrayIndexOutOfBoundsCond": "Array accessed at index which is out of bounds.",
  "desc.ArrayIndexThenCheck": "Array index 'index' is used before limits check.",
  "desc.ArrayIsStoredDirectly": "This checks for code that directly assigns an array that has been passed as an argument.",
  "desc.AssertWithSideEffect": "Assert statement calls a function which may have desired side effects: 'function'.",
  "desc.AssignBoolToFloat": "Boolean value assigned to floating point variable.",
  "desc.AssignBoolToPointer": "Boolean value assigned to pointer.",
  "desc.AssignIfError": "Mismatching assignment and comparison.",
  "desc.AssignmentAddressToInteger": "Assigning a pointer to an integer is not portable.",
  "desc.AssignmentInAssert": "Assert statement modifies 'var'.",
  "desc.AssignmentInOperand": "Avoid assignments in operands.",
  "desc.AssignmentIntegerToAddress": "Assigning an integer to a pointer is not portable.",
  "desc.AssignmentToNonFinalStatic": "This checks for unsafe reassignment to a static variable.",
  "desc.AtLeastOneConstructor": "This checks for non static classes that are not interfaces and do not have definitions of a constructor or static methods.",
  "desc.AutoVariables": "Address of local auto-variable assigned to a function parameter.",
  "desc.AutoVariablesAssignGlobalPointer": "Address of local array array is assigned to global pointer pointer and not reassigned before array goes out of scope.",
  "desc.AutovarInvalidDeallocation": "Deallocation of an auto-variable results in undefined behaviour.",
  "desc.AvoidAccessibilityAlteration": "Methods such as getDeclaredConstructors(), getDeclaredConstructor(Class[]) and setAccessible(), as the interface PrivilegedAction, allows for the runtime alteration of variable, class, or method visibility, even if they are private.",
  "desc.AvoidArrayLoops": "This checks for copying an array's content to another array using a loop statement.",
  "desc.AvoidAssertAsIdentifier": "This checks if 'assert' is used as a variable name.",
  "desc.AvoidAxisNavigation": "You used the wrong axes.",
  "desc.AvoidBranchingStatementAsLastInLoop": "If there is a break or continue statement at the end of the loop statement, a bug may occur.",
  "desc.AvoidCallingFinalize": "This checks if finalize() method is directly called.",
  "desc.AvoidCatchingGenericException": "This checks for cases when general exceptions are caught in a try-catch block.",
  "desc.AvoidCatchingNPE": "This checks for statement that catches NullPointerException.",
  "desc.AvoidCatchingThrowable": "This checks for catch block's formal parameter type being a throwable type.",
  "desc.AvoidConstantsInterface": "This checks for interface that does not have methods and only has fields.",
  "desc.AvoidDecimalLiteralsInBigDecimalConstructor": "This checks for putting decimal literals instead of a string literal in BigDecimal constructor.",
  "desc.AvoidDeeplyNestedIfStmts": "This checks for nested if statements with depths larger than the depth set in this checker.",
  "desc.AvoidDirectAccessTriggerMap": "You accessed Trigger.old or Trigger.new directly.",
  "desc.AvoidDmlStatementsInLoops": "A DML statement was used within a loop.",
  "desc.AvoidDollarSigns": "Do not use '$' in the name of variables, methods, classes and interfaces.",
  "desc.AvoidDuplicateLiterals": "This checks for repeated statements over a certain threshold set by this checker.",
  "desc.AvoidEnumAsIdentifier": "Avoid using 'enum' as an identifier.",
  "desc.AvoidFieldNameMatchingMethodName": "This checks for cases when the name of the field and the method is same.",
  "desc.AvoidFieldNameMatchingTypeName": "This checks for cases when the name of the field and the class is same.",
  "desc.AvoidFinalLocalVariable": "This checks if final local variable is uninitialized or initialized as a constant when it is declared.",
  "desc.AvoidGlobalModifier": "You used a global class.",
  "desc.AvoidHardcodingId": "You used a hardcoded username.",
  "desc.AvoidInstanceofChecksInCatchClause": "Each caught exception type should be handled in its own catch clause.",
  "desc.AvoidInstantiatingObjectsInLoops": "Avoid instantiating objects in loops.",
  "desc.AvoidLiteralsInIfCondition": "Avoid using hard-coded literals in conditional statements. Declare them as static variables or private members.",
  "desc.AvoidLogicInTrigger": "Complex logic exists within triggers.",
  "desc.AvoidLosingExceptionInformation": "This checks for statements in a catch block that invoke accessors on the exception without using the information.",
  "desc.AvoidMultipleUnaryOperators": "This checks if multiple unary operators are used in a row.",
  "desc.AvoidPrefixingMethodParameters": "Prefixing parameters by 'in' or 'out' reduces readability of the code.",
  "desc.AvoidProtectedFieldInFinalClass": "This checks for use of protected fields in final class.",
  "desc.AvoidReassigningParameters": "Avoid reassigning values to incoming parameters.",
  "desc.AvoidRethrowingException": "This checks for catch blocks that just simply rethrow a caught exception.",
  "desc.AvoidSoqlInLoops": "A new object has been created in the loop.",
  "desc.AvoidSoslInLoops": "There is a Sosl call in the loop.",
  "desc.AvoidStringBufferField": "This checks for code that uses StringBuffer as ClassOrInterfaceType.",
  "desc.AvoidSynchronizedAtMethodLevel": "This checks if method is declared as synchronized.",
  "desc.AvoidThreadGroup": "This checks for the use of thread group methods when declaring a class.",
  "desc.AvoidThrowingNewInstanceOfSameException": "This checks for catch blocks that rethrow a caught exception wrapped inside a new instance of the same type.",
  "desc.AvoidThrowingNullPointerException": "This checks for allocation of NullPointerException as an object.",
  "desc.AvoidThrowingRawExceptionTypes": "This checks for use of overly broad exception objects.",
  "desc.AvoidUsingHardCodedIP": "This checks for the hardcoded IP",
  "desc.AvoidUsingNativeCode": "Use of JNI lowers the portability and makes maintenance harder and thus is not recommended.",
  "desc.AvoidUsingOctalValues": "This checks for constants that are represented in base 8.",
  "desc.AvoidUsingShortType": "This checks for use of 'short' type since any storage gains found through use of the 'short' type may be offset by adverse impacts on performance.",
  "desc.AvoidUsingVolatile": "The volatile keyword should not be used for maintenance purpose and portability since its range of action is somewhat misknown.",
  "desc.BAD.FSS_FORM_PREFIX_NAMING.TOBE.JS": "This checker detects the Form global variable and function naming convention in FSS.",
  "desc.BAD.FSS_GLOBAL_PREFIX_NAMING.TOBE.JS": "This checker detects the unit system global variables and functions naming conventions in FSS's MiPlatform project.",
  "desc.BAD.LOCATION.COLUMN.SQL": "Detect use of columns in the same line with SELECT keyword.",
  "desc.BAD.LOCATION.ORDER_GROUP_BY.SQL": "Detects when ORDER BY and GROUP BY clauses are not described on separate lines.",
  "desc.BAD.UNION.SQL": "This checks for the use of UNION ALL instead of UNION. It is recommended to use UNION instead of UNION ALL for better query performance.",
  "desc.BAD.USE_OF_FULL_OUTER_JOIN.SQL": "This checks if FULL OUTER JOIN is used. Using UNION may be more efficient.",
  "desc.BAD_ACCESS_VOLATILE_OBJ": "The Non-volatile Variable Pointing to Volatile Variable checker finds expressions in which a non-volatile qualified variable points to a volatile variable.",
  "desc.BAD_ARGS.FORBIDDEN.AFTER_CALL": "The Use of Specific Argument after Call to Specific Function finds instances of using a specific argument after a specific function is called.",
  "desc.BAD_ARGUMENTS.UMASK": "The Invalid umask Argument checker finds calls to umask() function in which an invalid value is passed as an argument.",
  "desc.BAD_ARGUMENTS.UMASK.PYTHON": "The Invalid umask Argument checker finds calls to umask() function in which an invalid value is passed as an argument.",
  "desc.BAD_ARRAY_DECLARATION": "The Misformatted Array Declaration checker finds array declarations in which the type identifier is not followed by a pair of square brackets.",
  "desc.BAD_ASSERT_USAGE": "The Misuse Use of assert() checker finds expressions that use assert() for an inappropriate diagnostic test.",
  "desc.BAD_ASSOCIATE_OPERATORS": "The Consecutive Use of Comparison Operators checker finds expressions that have a multiple number of consecutive comparison symbols without logical operators and parentheses separating those symbols from one another.",
  "desc.BAD_BLOCK_COMMENT": "The Noncompliant Block Comment checker finds block comments that do not start or end with the specified character.",
  "desc.BAD_CALL.API.APPLE.OBJC": "The Misuse of dispatch_once checker finds calls to the dispatch_once() function that are passed with a non-static variable as the first argument.",
  "desc.BAD_CALL.API.GETPW.OBJC": "The Use of Forbidden getpw Function checker finds calls to the getpw() function.",
  "desc.BAD_CALL.API.GETS.OBJC": "The Use of Forbidden gets Function checker finds calls to the gets() function.",
  "desc.BAD_CALL.API.MKSTEMP.OBJC": "The Generation of Dangerous Temp File checker finds instances of generating a temporary file in an improper way.",
  "desc.BAD_CALL.API.MKTEMP.OBJC": "The Generation of Dangerous Temp File through mktemp checker finds calls to the mktemp() function, which generates a temporary file.",
  "desc.BAD_CALL.API.RANDOM.OBJC": "The Use of Forbidden random Function checker finds calls to the random() function.",
  "desc.BAD_CALL.API.SECURE_KEYCHAIN.OBJC": "The Misuse of SecKeychain API checker finds instances of using the SecKeychain API incorrectly.",
  "desc.BAD_CALL.API.STRCPY.OBJC": "The Use of Forbidden strcpy Function checker finds calls to the strcpy() function.",
  "desc.BAD_CALL.API.UNIX.OBJC": "The Misuse of Unix API checker finds calls to Unix API functions that violate the protocol.",
  "desc.BAD_CALL.API.VFORK.OBJC": "The Insecure Use of vfork checker finds calls to the insecure vfork function.",
  "desc.BAD_CALL.BACKGRND.BTM.PF": "On-demand BTM should be call with 'nohup' by back-ground process from SM.",
  "desc.BAD_CALL.BREAK_POINT.ABAP": "The Use of BREAK-POINT Statement checker finds BREAK-POINT statements.",
  "desc.BAD_CALL.EXIT_CHECK_IN_SELECT_LOOP.ABAP": "The Use of EXIT or CHECK in Loop checker finds instances of using EXIT or CHECK in a SELECT loop.",
  "desc.BAD_CALL.FORBIDDEN": "The Call to Forbidden Function checker finds calls to a forbidden function.",
  "desc.BAD_CALL.FORBIDDEN.JS": "The Call to Forbidden Function checker finds calls to a forbidden function.",
  "desc.BAD_CALL.FORBIDDEN.KOTLIN": "The Call to Forbidden Method checker finds calls to a forbidden method.",
  "desc.BAD_CALL.FORBIDDEN.LIB.PROCESS": "The Use of Forbidden Process-related Function checker finds instances of using any of the optionally forbidden process-related functions.",
  "desc.BAD_CALL.FORBIDDEN.LIB.RESOURCE": "The Use of Forbidden Resource Restriction-related Function checker finds instances of using any of the optionally forbidden resource restriction-related functions.",
  "desc.BAD_CALL.FORBIDDEN.LIB.SIGNAL": "The Use of Forbidden Signal-related Function checker finds instances of using any of the optionally forbidden signal-related functions.",
  "desc.BAD_CALL.FORBIDDEN.LIB.TEMP": "The Generation of Dangerous Temp File checker finds instances of generating a temporary file in an improper way.",
  "desc.BAD_CALL.FORBIDDEN.LIB.TIMER": "The Use of Forbidden Timer-related Function checker finds instances of using any of the optionally forbidden timer-related functions.",
  "desc.BAD_CALL.FORBIDDEN.LIB.TP": "The Use of Forbidden TP-related Function checker finds instances of using any of the optionally forbidden TP (TMAX)-related functions.",
  "desc.BAD_CALL.FORBIDDEN.OBJC": "The Call to Forbidden Function checker finds calls to a forbidden function.",
  "desc.BAD_CALL.FORBIDDEN.PARAM": "A function call should be made with the correctly specified arguments. The function's specified arguments rules can be altered via the option menu.",
  "desc.BAD_CALL.FORBIDDEN.PARAM.LITERAL": "The Use of Literal or String Argument in Specific Position in Function Call checker finds calls to optionally specified functions that put a literal or string argument in a forbidden position.",
  "desc.BAD_CALL.FORBIDDEN.PARAM.NAME": "The Use of Forbidden Argument in Function Call checker finds instances of using a forbidden argument in a call to an optionally specified function.",
  "desc.BAD_CALL.FORBIDDEN.PARAM.NUMBER": "The Use of Number Argument in Specific Position in Function Call finds calls to optionally specified functions that put a number argument in a forbidden position.",
  "desc.BAD_CALL.FORBIDDEN.PARAM.STRING": "The Use of Forbidden String Argument in Function Call checker finds calls to optionally specified functions that pass a string value to the designated argument position.",
  "desc.BAD_CALL.FORBIDDEN.PHP": "The Call to Forbidden Function checker finds calls to a forbidden function.",
  "desc.BAD_CALL.FORBIDDEN.PYTHON": "The Call to Forbidden Method checker finds calls to a forbidden method.",
  "desc.BAD_CALL.FORBIDDEN.SWIFT": "The Call to Forbidden Method checker finds calls to a forbidden method.",
  "desc.BAD_CALL.FORBIDDEN.VARARGS": "The Use of Variable Argument in Specific Position in Function Call checker finds calls to optionally specified functions that put a variable argument in a forbidden position.",
  "desc.BAD_CALL.FORBIDDEN.VBNET": "The Call to Forbidden Function checker finds calls to a forbidden function.",
  "desc.BAD_CALL.FORBIDDEN.VBS": "The Call to Forbidden Function checker finds calls to a forbidden function.",
  "desc.BAD_CALL.FROM_DM_TO_ALL": "The Prohibit PM, FM, and DM calls from DM checker detects direct PM, FM, and DM calls from DM.",
  "desc.BAD_CALL.FROM_FM_TO_PM": "The Prohibit PM calls from FM checker detects when a PM is called directly from FM.",
  "desc.BAD_CALL.FROM_PM_TO_CUD_DM_SAME_COMPONENT": "The Prohibit DM Calls for C/U/D in PMs in the Same Component checker detects when a DM corresponding to create, modify, or delete is called in a PM in the same component.",
  "desc.BAD_CALL.FROM_PM_TO_DIRECT_PM": "The Prohibit non-interactive direct calls between PMs checker detects when a PM directly calls another PM.",
  "desc.BAD_CALL.FROM_PM_TO_INDIRECT_CUD_DM_OTHER_COMPONENT": "The Prohibit PM from indirectly calling DMs for C/U/D of other components checker detects when a PM indirectly calls DMs that correspond to the creation, modification, or deletion of other components.",
  "desc.BAD_CALL.IMPROPER_VARARGS": "The Mismatch between Number of Arguments and Int Argument Value checker finds calls to optionally specified functions in which the argument in the designated position is not an integer constant or its value differs from the number of subsequent arguments.",
  "desc.BAD_CALL.INCORRECT_SIZEOF.MEMCPY": "The Invalid sizeof() Argument finds instances in which a call to sizeof() on a pointer or compound expression is passed to a function such as memcpy().",
  "desc.BAD_CALL.INVALID_ADDRESS.SCANF": "The Invalid scanf Argument checker finds instances of failure to pass reference addresses to the scanf() function's second and subsequent arguments.",
  "desc.BAD_CALL.INVALID_BLOCK_SIZE.ALLOC": "The Allocated Memory Invalid for Pointer Size checker finds instances of memory allocation where the passed allocation size is not a multiple of the type size of the pointer that stores the allocation result.",
  "desc.BAD_CALL.LIBRARY.MEMORY": "The Use of Forbidden Memory-related Function checker finds instances of using any of the optionally forbidden memory-related functions.",
  "desc.BAD_CALL.MISSING_CALL_PARAM": "For certain functions, it might be the case that some of its arguments have to use function calls.",
  "desc.BAD_CALL.MISSING_CALL_PARAM.EXTENDED": "The Argument Mismatch between Specification and Function Call checker finds calls to optionally specified callee functions in which a specific function passed to the designated parameter of the callee function takes a different argument from the argument passed to another designated parameter of the callee function itself.",
  "desc.BAD_CALL.NOT_ALLOWED.PARAM.NAME": "The Missing Specific Argument in Function Call checker finds calls to optionally specified functions without the optionally specified arguments passed to their specific positions.",
  "desc.BAD_CALL.NOT_ALLOWED.PARAM.STRING": "The Use of Non-string Argument in Function Call checker finds calls to optionally specified functions with a non-string value passed to a specific argument position.",
  "desc.BAD_CALL.NUMBER_OF_VARARGS_MISMATCH": "The Mismatch in Number between Varargs and Format Specifiers checker finds instances in which the variable arguments (varargs) taken by a format string function and the corresponding format specifiers are not equal in number.",
  "desc.BAD_CALL.PARAM": "The constant should be used at specified parameter in specified function.",
  "desc.BAD_CALL.RANDOM_NEXT.CSHARP": "The Inappropriate Random Value Generation checker finds instances of using a predictable random value.",
  "desc.BAD_CALL.REQUIRED": "The Call to Specified Necessary Library Function checker finds instances of failure to call optionally specified library functions.",
  "desc.BAD_CALL.REQUIRED.AFTER_CALL": "The Omission of Necessary Subsequent Function checker finds instances in which a function is called but its paired function is not subsequently called under one function body.",
  "desc.BAD_CALL.REQUIRED.AFTER_CALL_TMP": "For the predefined function calls, another prerequisite function might be required. Prerequisite functions can be set in the options.",
  "desc.BAD_CALL.REQUIRED.ARGS": "The Incorrect Argument for Call to Specified Function checker finds calls to optionally specified functions that are not passed with the defined argument.",
  "desc.BAD_CALL.REQUIRED.LIB_CALL": "The Function Call Not Accompanied by Other Required Function Calls checker finds instances in which a specified function is called but other functions that are set to accompany the function call are not called.",
  "desc.BAD_CALL.REQUIRED.PARAM": "The Use of Forbidden Function in Parameter-specified Function checker finds instances in which a function having an optionally specified parameter calls a forbidden function.",
  "desc.BAD_CALL.REQUIRED.PRE_CALL": "For the predefined function calls, another prerequisite function might be required. Prerequisite functions can be set in the options.",
  "desc.BAD_CALL.REQUIRED.VARARGS": "The Use of Non-variable Argument in Specific Position in Function Call finds calls to optionally specified functions that put a non-variable argument in a designated position.",
  "desc.BAD_CALL.REQUIRED.WRAPPER": "The Designated Function Called Other Than as Argument for Specified Function checker finds calls to optionally designated functions that are not passed as arguments to an optionally specified function.",
  "desc.BAD_CALL.RUNTIME_GC": "The Runtime.gc() disallow checker detects when the Runtime.gc() function is used.",
  "desc.BAD_CALL.RUNTIME_PROCESS": "The Runtime.process() disallow checker detects when the Runtime.process() function is used.",
  "desc.BAD_CALL.SERVICE_MAIN.PF": "Forbidden calls in Service main",
  "desc.BAD_CALL.SYSTEM_CALL.ABAP": "The System Function Call checker finds SYSTEM-CALL statements.",
  "desc.BAD_CALL.SYSTEM_C_FUNCTION.ABAP": "The System C Function Call checker finds CALL statements.",
  "desc.BAD_CALL.TO_DIRECT_ALL_OTHER_COMPONENT": "The Prohibit Direct Calls to Other Component PMs/FMs/DMs checker detects when you directly call another component's PMs/FMs/DMs from within a component method.",
  "desc.BAD_CALL.TO_INDIRECT_ALL_SAME_COMPONENT": "The No Indirect Calls Within the Same Component checker detects when methods within the same component are called using indirect call methods.",
  "desc.BAD_CALL.TO_INDIRECT_DM_OTHER_APP": "The Prohibit Indirect Calls to Other Application DMs checker detects when a component method indirectly calls another application's DMs.",
  "desc.BAD_CALL.TYPE_MISMATCH.REALLOC": "The Call to realloc() with Different Struct Types checker finds instances of assigning the return of a realloc() call in which the first argument of the function and the assignee variable (left-hand operand to point to the allocated memory) have different struct types.",
  "desc.BAD_CALL.TYPE_MISMATCH.SPRINTF": "The Misuse of sprintf() finds calls to the sprintf() function wherein the array size is not considered.",
  "desc.BAD_CALL.TYPE_MISMATCH.STRING": "The Parameter Data Type Mixup between char and wchar_t checker finds instance of failure to pass the correct data types of char and wchar_t to str handling functions (e.g., strncpy) and wcs handling functions (e.g., wcsncpy), respectively.",
  "desc.BAD_CALLING_CONVENTION": "Standard of calling convention is checked.",
  "desc.BAD_CAST_COMPLEX_EXPR": "The Cast between Integers with Different Signedness checker finds compound expressions that cast between signed and unsigned integer types.",
  "desc.BAD_COLLECTION_REMOVAL.INTEGER_TYPE": "The Inappropriate Removal of Object in Collection checker finds instances in which the remove() method is called on a collection of integers but is passed with an expression containing an integer constant.",
  "desc.BAD_COMMENT.MOD": "The modification comment should follow the given rule.",
  "desc.BAD_COMMENT.POSITION.BLOCK": "The Violation of Block Comment Format checker finds block comments that violate their format.",
  "desc.BAD_COMMENT.POSITION.DOCUMENT": "The Violation of Documentation Comment Format checker finds documentation comments that violate their format.",
  "desc.BAD_COMMENT.POSITION.END_OF_LINE": "The Misuse of Single-line Comment checker finds code that consequently uses multiple single-line comments in a block.",
  "desc.BAD_COMMENT.POSITION.SINGLE": "The Violation of Single-line Comment Format checker finds single-line comments that violate their format.",
  "desc.BAD_COMMENT.POSITION.TRAILING": "The Violation of Trailing Comment Format checker finds trailing comments that violate their format.",
  "desc.BAD_COMMENT.TYPE": "The Violation of Type Comment Format checker finds type comments that violate their format.",
  "desc.BAD_COMPARE": "The Use of Function Pointer Instead of Function Call checker finds instances in which a function is pointed to where it is to be called.",
  "desc.BAD_COMPARISON": "The comparison checker for Double.NaN and Float.NaN will detect if the comparison is with 'Double.NaN' or 'Float.NaN'.",
  "desc.BAD_COMPARISON.STRING": "The Improper String Comparison checker finds instances of using a direct comparison operator (== or !=) to compare strings.",
  "desc.BAD_COMPOUND_STATEMENT.CURLY_BRACE": "The Misplaced Braces in Compound Statement checker finds compound statements (control statements, class declarations, method declarations, etc.) that do not place the open brace on the beginning line.",
  "desc.BAD_COOKIE.NOT_SENT_OVER_SSL.PHP": "The Insecure Cookie checker finds instances of transferring an unencrypted cookie.",
  "desc.BAD_COOKIE.NOT_SENT_OVER_SSL.SWIFT": "The Insecure Cookie checker finds instances of transferring an unencrypted cookie.",
  "desc.BAD_COOKIE.PATH.PHP": "The Insecure Cookie via Base Path checker finds a cookie setting in which the path is set to the base path ('/').",
  "desc.BAD_CROSS_ORIGIN_RESOURCE_SHARING.PHP": "The Overly Permissive CORS Policy checker finds declarations of an overly permissive cross-origin resource sharing (CORS) policy in source code.",
  "desc.BAD_CROSS_ORIGIN_RESOURCE_SHARING.VBS": "The Overly Permissive CORS Policy checker finds instances of setting the CORS policy in the response header to allow any sites.",
  "desc.BAD_CSTRING.SIZE_ARGUMENT.OBJC": "The Invalid Argument for String Function checker finds instances of passing an invalid size argument to a C standard string function.",
  "desc.BAD_CURLYBRACE.DECLARATION": "The Violation of Bracing Format checker finds instances of failure to use braces in a class or method declaration in compliance with the format.",
  "desc.BAD_CURLY_BRACE_GENERAL": "The Violation of General Rule of Line-wrapping at Braces checker finds instances of violating a rule about where to break a line adjacent to a brace.",
  "desc.BAD_DB_TRANSACTION": "The Poor Finishing of DB Transaction checker finds DB transactions where an explicit call to the commit() or rollback() function is missing.",
  "desc.BAD_EQ": "The Misuse of equals and == Operators checker finds instances in which both the equals() method and the == operator are used to compare certain two objects but in an unbalanced way.",
  "desc.BAD_EQUALITY_EXPRESSION.BOOLEAN": "The Use of Invalid Value in Conditional Evaluation checker finds if or while statements in which a comparison operation does not compare with a value of 0 or false.",
  "desc.BAD_EQUALITY_EXPRESSION.FLOAT": "The == Operation on Floating-point Value checker finds instances of using the == operator on two floating-point numbers.",
  "desc.BAD_EQUALITY_EXPRESSION.FLOAT.CSHARP": "The Equality Comparison Operation on Floating-point Value checker finds instances of using the == operator on floating-point numbers.",
  "desc.BAD_EQUALITY_EXPRESSION.OBJECT.OBJC": "The Use of == on Object checker finds instances of comparing two non-primitive objects regarding their addresses, not their contents.",
  "desc.BAD_ERROR.INVALID_CODE": "The Missing Specified String in Specific Position in Function Call checker finds calls to optionally specified functions in which the argument put in a designated position fails to include the string specified for it.",
  "desc.BAD_ERROR.MISSING_INIT": "The Missing Call to Specified Initialization Function before Error Return checker finds instances of failure to call an initialization function prior to the return of an optionally specified.",
  "desc.BAD_ERROR.MISSING_LOGGING": "The Missing Call to Error Logging Function before Error Code Return checker finds instances of failure to call an error logging function before an error code is returned.",
  "desc.BAD_ERROR.MISSING_RETURN": "The Missing Return Statement after Function Call checker finds instances that the return statement does not follow after the function specified in the option has been called.",
  "desc.BAD_EXCEPTIONAL_CONDITION": "The Violation of Specified Exception Handling Rule checker finds instances in which an exception class that must be handled is not handled, or an exception class that must not be handled is handled.",
  "desc.BAD_FORMAT.VIRTUAL_FUNC_INIT": "The Invalid Declaration of Pure Function checker finds instances that a pure function is not declared as virtual.",
  "desc.BAD_FORM_FORLOOP_CONTINUE": "The Use of continue in Unusually-formed for Loop checker finds instances of using a continue statement in a for loop which is not well formed.",
  "desc.BAD_FUNCTION_ADDRESSING": "The Noncompliant Use of Function Identifier checker finds instances of using a function identifier in a noncompliant way.",
  "desc.BAD_GLOBAL_COMMENT": "A global variable should be described by a comment.",
  "desc.BAD_HEADER_FILE.DATA": "The Variable Declaration without extern in Header File checker finds incidents that extern keywords are not used to define variables in header files.",
  "desc.BAD_HEADER_FILE.DEFINE": "The Missing Include Guard checker finds header files that do not have include guards at top and bottom.",
  "desc.BAD_IF_BOOLEAN_VARIABLE_CONDITION": "The Single-variable Expression checker finds if statements that include only a single boolean variable in the condition section.",
  "desc.BAD_IF_ONLY": "The Missing else Clause checker finds if statements that do not contain an else clause.",
  "desc.BAD_INCLUDE": "The Invalid Sequence of Header checker finds incidents that header files are not included in a specified order.",
  "desc.BAD_INCLUDE.DUPLICATED": "The Duplicate Header Declaration checker finds instances in which duplicate header declarations are present in one file.",
  "desc.BAD_INCLUDE.FORBIDDEN": "The Inclusion of Forbidden Header File checker finds instances in which an optionally forbidden header file is included.",
  "desc.BAD_INCLUDE.INVALID_PATH": "The Use of Absolute Path for Header File checker finds instances in which a header file is included with an absolute path.",
  "desc.BAD_INCLUDE.REQUIRED": "The Missing Inclusion of Necessary Header File checker finds instances in which an optionally specified necessary header file is not included.",
  "desc.BAD_INDENTATION.BLOCK": "The Violation of Block Indentation Rule checker finds instances in which all lines in a block are not equally indented.",
  "desc.BAD_INDENTATION.CASE_LABELS": "The Violation of case Block Indentation Rule checker finds case or default blocks of switch statements that violate their indentation or spacing rules.",
  "desc.BAD_INDENTATION.CLASS": "The Violation of Class Declaration Indentation rule checker finds class declarations that do not comply with the indentation rules.",
  "desc.BAD_INDENTATION.COMMENT": "The Incorrect Comment Indentation checker finds instances in which a comment and its target block start at different columns.",
  "desc.BAD_INDENTATION.DO_STATEMENT": "The Violation of do-while Loop Bracing Rule checker finds a do-while loop in which a whitespace is not placed between a brace and keyword.",
  "desc.BAD_INDENTATION.FIELD": "The Violation of Field Declaration Indentation rule checker finds field declarations that do not comply with the indentation rules.",
  "desc.BAD_INDENTATION.FOR_STATEMENT": "The Violation of for Loop Indentation Rule checker finds for loops in which the control statements span multiple lines but are not properly indented.",
  "desc.BAD_INDENTATION.IF_STATEMENT": "The Violation of if Statement Indentation Rule checker finds if statements whose condition expression spans multiple lines but is not properly indented.",
  "desc.BAD_INDENTATION.IMPROPER_LENGTH": "The Tabbed Indentation checker finds lines that contain a tabbed indent.",
  "desc.BAD_INDENTATION.METHOD": "The Violation of Method Declaration Indentation rule checker finds method declarations that do not comply with the indentation rules.",
  "desc.BAD_INDENTATION.PACKAGE": "The Violation of Blank Line Rule for Package checker finds files in which the file comment and the package declaration block are not separated by the specified number of lines.",
  "desc.BAD_INDENTATION.SOURCE_CODE": "The Indentation at Beginning of Source Code checker finds instances in which source code does not begin at the first column.",
  "desc.BAD_INDENTATION.SWITCH_STATEMENT": "The Violation of switch Statement Indentation Rule checker finds instances of violating indentation rules.",
  "desc.BAD_INDENTATION.TRY_STATEMENT": "The Violation of try Statement Indentation Rule checker finds try statements that do not comply with the bracing and indentation rules.",
  "desc.BAD_INI.ALLOWED_URL_FOPEN.PHP": "The allowed_URL_fopen Enabled checker finds a php.ini file in which the allowed_URL_fopen option is set to on.",
  "desc.BAD_INI.ALLOWED_URL_INCLUDE.PHP": "The allowed_URL_include Enabled checker finds a php.ini file in which the allowed_URL_include option is set to on.",
  "desc.BAD_INI.COOKIE_DOMAIN.PHP": "The Insecure Cookie via Base Domain in INI checker finds a php.ini file in which session.cookie_domain is set to a base domain.",
  "desc.BAD_INI.COOKIE_NOT_SENT_OVER_SSL.PHP": "The Insecure Cookie in INI checker finds a php.ini file in which the session.cookie_secure option is set to off.",
  "desc.BAD_INI.COOKIE_PATH.PHP": "The Insecure Cookie via Base Path in INI checker finds a php.in file in which session.cookie_path is set to the base path (\"/\").",
  "desc.BAD_INI.DISABLED_CGI_FORCE_REDIRECT.PHP": "The cgi.force_redirect Disabled checker finds a php.ini file in which the cgi.force_redirect option is set to off.",
  "desc.BAD_INI.DISABLED_SAFE_MODE.PHP": "The safe_mode Disabled checker finds a php.ini file in which the safe_mode option is set to off.",
  "desc.BAD_INI.ENABLED_FILE_UPLOADS.PHP": "The file_uploads Enabled checker finds a php.ini file in which the file_uploads option is set to on.",
  "desc.BAD_INI.ENABLED_MAGIC_QUOTES_GPC.PHP": "The magic_quotes_gpc Enabled checker finds a php.ini file in which the magic_quotes_gpc option is set to on.",
  "desc.BAD_INI.ENABLED_MAGIC_QUOTES_RUNTIME.PHP": "The magic_quotes_runtime Enabled checker finds a php.ini file in which the magic_quotes_runtime option is set to on.",
  "desc.BAD_INI.ENABLED_MAGIC_QUOTES_SYBASE.PHP": "The magic_quotes_runtime Enabled checker finds a php.ini file in which the magic_quotes_runtime option is set to on.",
  "desc.BAD_INI.ENABLED_REGISTER_GLOBALS.PHP": "The register_globals Enabled checker finds a php.ini file in which the register_globals option is set to on.",
  "desc.BAD_INI.LEAK.ERROR.PHP": "The Error Information Leak checker finds a php.ini file in which the display_errors option is set to on.",
  "desc.BAD_INI.LEAK.VERSION.PHP": "The System Version Exposure checker finds a php.ini file in which the expose_php option is on.",
  "desc.BAD_INI.MISSING_OPEN_BASEDIR.PHP": "The Missing open_basedir Setting checker finds a php.ini file in which the open_basedir option is present but not given a set value.",
  "desc.BAD_INI.MISSING_SAFE_MODE_EXEC_DIR.PHP": "The Missing safe_mode_exec_dir Setting checker finds a php.ini file in which the safe_mode_exec_dir option is present but not given a set value.",
  "desc.BAD_INI.PERSISTENT_COOKIE.PHP": "The Storage of Sensitive Data in Persistent Cookie checker finds instances of storing sensitive date in a cookie whose lifespan is set too long.",
  "desc.BAD_INI.UNSET_HTTPONLY.PHP": "The session.cookie_httponly Disabled checker finds a php.ini file in which the session.cookie_httponly option is set to off.",
  "desc.BAD_INI.USING_TRANS_SID.PHP": "The session.use_trans_sid Enabled checker finds a php.ini file in which the session.use_trans_sid Enabled option is set to on.",
  "desc.BAD_INIT.INIT_AFTER_FIELD_DECLARATION": "The Field Declaration with Initialization checker finds fields that are initialized at declaration.",
  "desc.BAD_INIT.MISSING_AFTER_DECLARATION": "The Variable Declaration without Initialization checker finds variables that are not initialized at their declaration.",
  "desc.BAD_INIT.MISSING_AFTER_LOCAL_DECLARATION": "The Local Variable Declaration without Initialization checker finds local variables that are not initialized at declaration.",
  "desc.BAD_INIT.PURE_VIRTUAL": "The Pure Virtual Function Uninitialized to Zero checker finds instances that a pure virtual function is not initialize to zero.",
  "desc.BAD_INITIALIZATION.ARRAY": "The Invalid Array Initialization checker finds instances in which a character array is initialized to a string at its declaration, but the declared size is smaller than the initial string length plus 1.",
  "desc.BAD_INTEGER_CONST_DEFINITION": "The Integer of Invalid Positional System checker finds instances of integer constants that are defined of a non-decimal numeral system.",
  "desc.BAD_INTEGER_EXPRESSION": "The Assignment or Comparison Operator on Operands of Different Integer Types checker finds using an assignment (=) or comparison operator on operands of different integer types.",
  "desc.BAD_INTERFACE.ICLONEABLE.CSHARP": "The Implementation of Forbidden Interface checker finds code that implements interfaces, which are supposed not to be implemented.",
  "desc.BAD_LINE_WRAPPING": "The Violation of Line-wrapping Rule checker finds multiline lists of expressions or arguments that line-wrap at an inappropriate place.",
  "desc.BAD_MACRO.DANGEROUS_USAGE": "The Dangerous Use of Macro checker finds macros that include misplaced parentheses in their expressions or that are used like functions.",
  "desc.BAD_MACRO.DUPLICATED": "The Duplicate Declarations of Macro checker finds duplicate declarations of macros.",
  "desc.BAD_MACRO.MISUSE": "The Mis-sequenced Macros checker finds instances of using macros in which a pair of functions operating on a shared resource are not called together.",
  "desc.BAD_MACRO.MULTI_STMT_WITHOUT_DO_WHILE": "The Missing do-while for Multiline Macro checker finds macro definitions that span multiple lines but are not encompassed by a do-while statement.",
  "desc.BAD_MACRO.NAME_LENGTH.MISRA2012": "The Noncompliant Macro Name Length checker finds a macro name with more than 63 characters.",
  "desc.BAD_MACRO.NAMING": "The Noncompliant Macro Name checker finds macros that are not named as per the naming rules.",
  "desc.BAD_MACRO.NO_PARENTHESES": "In the macro declaration, arguments of macro should have brackets.",
  "desc.BAD_MACRO.REPLACE_SECURE_FUNCTIONS": "The Macro Declaration Containing Forbidden Function Name checker finds macro declarations that use the name of a forbidden function.",
  "desc.BAD_MACRO.TRAILING_SEMICOLON": "The Use of Semicolon in Macro Definition checker finds macro definitions whose replacement text ends with a semicolon.",
  "desc.BAD_MACRO_USAGE": "The Treatment of Standard Library Identifier as Object checker finds instances in which a standard library identifier that might have been taken as a macro name is treated as an object.",
  "desc.BAD_MALLOC": "The Invalid Dynamic Memory Allocation checker finds calls to the malloc() function wherein the string size is not considered.",
  "desc.BAD_MALLOC.OBJC": "The Misuse of malloc checker finds misuses of the malloc() function such as memory leaks, double free, and use after free.",
  "desc.BAD_MALLOC.SIZEOF.OBJC": "The Invalid malloc Argument checker finds calls to the malloc() function that take an argument returned by an invalid sizeof operation.",
  "desc.BAD_METHOD_DECLARATION": "The Violation of Method Declaration Rule checker finds method declarations that do not comply with the indentation and spacing rules.",
  "desc.BAD_MUTEX_LOCK.OBJC": "The Signaling without Unlocking checker finds instances of signaling a thread before unlocking a mutex.",
  "desc.BAD_NAME.BATCH.HANA": "The class name is against the given policy.",
  "desc.BAD_NAME.BATCH_FILENAME.PF": "Improper Batch file name.",
  "desc.BAD_NAME.BM.PF": "Improper BM file name.",
  "desc.BAD_NAME.BU": "The BU naming convention violation checker detects when a BU's naming convention does not satisfy the prescribed form.",
  "desc.BAD_NAME.CLASS": "The Noncompliant Class Name checker finds instances of a class name that does not start with superclass C, or end with _c or _class.",
  "desc.BAD_NAME.CLASS.ABAP": "The Noncompliant CLASS Variable Name checker finds CLASS variables that are not named as per the naming rules.",
  "desc.BAD_NAME.CLASS_METHOD_SAVING_BANKS": "Detect class and method naming convention violations.",
  "desc.BAD_NAME.CLASS_OR_INTERFACE": "The Noncompliant Class or Interface Name checker finds classes and interfaces that are not named as per the naming rules.",
  "desc.BAD_NAME.CO.HANA": "The class name is against the given policy.",
  "desc.BAD_NAME.CONSTANT": "The Noncompliant Constant Name checker finds constants that are not named as per the naming rules.",
  "desc.BAD_NAME.CONSTANT_CLASS.KOREAPOST": "The constant class naming convention violation checker detects when a constant class name is not [application code]+[constant group name]+[Const].",
  "desc.BAD_NAME.CONTEXT_VARIABLE.PF": "Improper name of context structure field.",
  "desc.BAD_NAME.DATA.ABAP": "The Noncompliant DATA Variable Name checker finds DATA variables that are not named as per the naming rules.",
  "desc.BAD_NAME.DBIO.PF": "Improper DBIO file name.",
  "desc.BAD_NAME.DEFINE": "The Noncompliant Macro Constants Name checker finds macro constants definitions whose name includes a character other than an uppercase letter or an underscore (_).",
  "desc.BAD_NAME.DM": "The DM naming convention violation checker detects when a DM's naming conventions do not meet the established form.",
  "desc.BAD_NAME.DM.ANNOTATION": "The DM annotation naming convention violation checker detects when the naming convention of a DM annotation does not meet the established form.",
  "desc.BAD_NAME.DO.HANA": "The class name or variable name is against the given rule.",
  "desc.BAD_NAME.DU": "The DU naming convention violation checker detects when a DU's naming conventions do not satisfy the established form.",
  "desc.BAD_NAME.DU.ANNOTATION": "The DU annotation naming convention violation checker detects when the naming convention of a DU annotation does not satisfy the prescribed form.",
  "desc.BAD_NAME.DUPLICATED": "The Duplicate Name checker finds duplicate names between classes, methods, and variables.",
  "desc.BAD_NAME.DUPLICATED.MISRA2012": "The Duplicate Name with Macro checker finds variable or function that uses an identical name with a macro.",
  "desc.BAD_NAME.ENUM": "The Noncompliant Enumerator Name checker finds enumerator names that include a character other than an uppercase letter or an underscore (_).",
  "desc.BAD_NAME.ENUM_PREFIX": "The Unprefixed Constant in Enum checker finds enums in which a constant is declared without the specified prefix.",
  "desc.BAD_NAME.FM": "The FM naming convention violation checker detects when the FM's naming conventions do not meet the established form.",
  "desc.BAD_NAME.FM.ANNOTATION": "The FM Annotation Naming Conventions Violation checker detects when the naming conventions for FM annotations do not satisfy the prescribed form.",
  "desc.BAD_NAME.FORM.ABAP": "The Noncompliant Form Name checker finds forms that are not named as per the naming rules.",
  "desc.BAD_NAME.FU": "The FU naming convention violation checker detects when the naming convention of an FU does not satisfy the established form.",
  "desc.BAD_NAME.FU.ANNOTATION": "The FU annotation naming convention violation checker detects cases where the naming convention of an FU annotation does not satisfy the prescribed form.",
  "desc.BAD_NAME.FUNCTION.ABAP": "The Noncompliant Function Name checker finds functions that are not named as per the naming rules.",
  "desc.BAD_NAME.GLOBAL_IDENTIFIER_NAME.MISRA2012": "The Invalid Global Variable Identifier (Misra2012) checker finds that a global variable declared as static or extern exceeds 63 characters.",
  "desc.BAD_NAME.GLOBAL_VARIABLE": "The Invalid Global Variable Name checker finds global variable declarations that do not add the predefined global variable prefix.",
  "desc.BAD_NAME.GRID_COUNTER.PF": "Improper grid counter name.",
  "desc.BAD_NAME.INTERFACE.ABAP": "The Noncompliant Interface Name checker finds interfaces that are not named as per the naming rules.",
  "desc.BAD_NAME.LOCAL_VARIABLE.CSHARP": "The Noncompliant Local Variable Name checker finds a local variable starting with an uppercase.",
  "desc.BAD_NAME.METHOD": "The Noncompliant Method Name checker finds methods that are not named as per the naming rules.",
  "desc.BAD_NAME.METHOD.ABAP": "The Noncompliant Method Name checker finds methods that are not named as per the naming rules.",
  "desc.BAD_NAME.NAMESPACE.CSHARP": "The Noncompliant Namespace Name checker finds a namespace starting with a lowercase.",
  "desc.BAD_NAME.ONLINE.HANA": "The class name or variable name is against the given rule.",
  "desc.BAD_NAME.PACKAGE": "The Noncompliant Package Name checker finds packages that are not named as per the rules.",
  "desc.BAD_NAME.PARAMETER": "The Noncompliant Parameter Name checker finds parameter names that are not prefixed with the specified string.",
  "desc.BAD_NAME.PARAMETER.CSHARP": "The Noncompliant Parameter Name checker finds a parameter starting with an uppercase.",
  "desc.BAD_NAME.PM": "The PM naming convention violation checker detects when a PM's naming convention does not satisfy the established form.",
  "desc.BAD_NAME.POINTER_VARIABLE": "The Noncompliant Pointer Variable Name checker finds pointer variable declarations that do not comply with the predefined naming format.",
  "desc.BAD_NAME.PROGRAM.ABAP": "The Noncompliant Program Name checker finds programs that are not named as per the naming rules.",
  "desc.BAD_NAME.PU": "The PU naming convention violation checker detects when a PU's naming convention does not satisfy a specified form.",
  "desc.BAD_NAME.PU.ANNOTATION": "The PU annotation naming convention violation checker detects when the naming convention of a PU annotation does not satisfy the prescribed form.",
  "desc.BAD_NAME.REPORT.ABAP": "The Noncompliant Report Name checker finds reports that are not named as per the naming rules.",
  "desc.BAD_NAME.SERVICE.PF": "An invalid service file name.",
  "desc.BAD_NAME.SERVICE_IN_OUT.PF": "Improper name of context structure field.",
  "desc.BAD_NAME.SERVICE_STRUCT.PF": "Improper structure or sub-structure names in service I/O.",
  "desc.BAD_NAME.SPECIAL_CHARACTER": "The Name with Special Character checker finds variables, methods, and classes that are named with a special character.",
  "desc.BAD_NAME.TOO_LONG": "The Too Long Name checker finds classes, methods, and variables that are declared with a name longer than the specified length.",
  "desc.BAD_NAME.USER_DEFINED_TYPE": "The Invalid Custom Type Name checker finds instances that a custom type name does not start with T, or end with _t or _type.",
  "desc.BAD_NAME.VARIABLE": "The Invalid Variable Name checker finds instances of violating the optionally specified variable name formats.",
  "desc.BAD_NAME.VARIABLE.HANA": "The variable name should follow the given rule.",
  "desc.BAD_NAME.VARIABLE_BY_TYPE": "The variable name should be followed naming convention",
  "desc.BAD_OPERATION_WHILE_POSIX_LOCK": "The Operation That Can Block checker finds instances of performing an operation that can block while holding a POSIX lock.",
  "desc.BAD_OPERATOR.ASSIGNMENT_IN_COND": "The Assignment in Place of Comparison checker finds instances of using an assignment operator in a place requiring a comparison operator, such as ==.",
  "desc.BAD_OPERATOR.ASSIGNMENT_IN_COND.CSHARP": "The Assignment in Place of Comparison checker finds instances of using an assignment operator in a place requiring a comparison operator, such as ==.",
  "desc.BAD_OPERATOR.EXPRESSION_IN_SIZEOF": "The Use of Expression for sizeof Argument checker finds instances of passing an expression as an argument to sizeof.",
  "desc.BAD_OPERATOR.LOGICAL_COMPARISON": "The Use of Wrong Comparison Operator checker finds instances of using a comparison operation in a place where an assignment operation is supposed to be.",
  "desc.BAD_OPERATOR.MULTIPLE_VARIABLE_ASSIGNMENT": "The Assignment to Multiple Variables checker finds instances of assigning to two or more variables in a single statement.",
  "desc.BAD_OPERATOR.MULTIPLE_VARIABLE_ASSIGNMENT.CSHARP": "The Assignment to Multiple Variables checker finds instances in which the same value is assigned to two or more variables.",
  "desc.BAD_OPERATOR.TOO_MANY_LOGICAL_OPERATIONS": "The Consecutive Use of Logical Operators checker finds expressions that contain at least two consecutive uses of logical operators.",
  "desc.BAD_ORGANIZATION.CLASS": "The Missequenced Members of Class checker finds class declarations in which the members are not declared in the correct order.",
  "desc.BAD_OVERRIDE": "The Incorrect Overriding checker finds incorrectly overridden method definitions.",
  "desc.BAD_PARAM.PFM_SET_ERR.PF": "The first parameter of PFM_SET_ERR macro should be consist of 4 digit upmu code and 5 digit number.",
  "desc.BAD_PARAMETER_IN_ABS_LIST_VIEW_SET_CHOICE_MODE": "Detect if non-recommended value is passed to parameter choiceMode of method setChoiceMode.",
  "desc.BAD_PARAMETER_IN_ACTIVITY_GET_PREFERENCES": "Detect if non-recommended value is passed to parameter mode of method getPreferences.",
  "desc.BAD_PARAMETER_IN_ACTIVITY_SET_PROGRESS": "Detect if out-of-range value is passed to parameter progress of method setProgress.",
  "desc.BAD_PARAMETER_IN_ACTIVITY_START_INTENT_SENDER": "Detect if non-zero value is passed to parameter extraFlags of method startIntentSender.",
  "desc.BAD_PARAMETER_IN_ADDRESS_ADDRESS_LINE": "Detect if out-of-range value is passed to parameter index of method related to AddressLine.",
  "desc.BAD_PARAMETER_IN_ALARM_MANAGER_SET": "Detect if non-recommended value is passed to parameter type and intervalMillis of method set, setInexactRepeating, and setRepeating.",
  "desc.BAD_PARAMETER_IN_ALERT_DIALOG_SET_BUTTON": "Detect if non-recommended value is passed to parameter whichButton of method setButton.",
  "desc.BAD_PARAMETER_IN_ANIMATION_RESOLVE_SIZE": "Detect if non-recommended value is passed to parameter type of method resolveSize.",
  "desc.BAD_PARAMETER_IN_ANIMATION_SET_REPEAT_MODE": "Detect if non-recommended value is passed to parameter repeatMode of method setRepeatMode",
  "desc.BAD_PARAMETER_IN_ANIMATION_SET_Z_ADJUSTMENT": "Detect if non-recommended value is passed to parameter zAdjustment of method setZAdjustment.",
  "desc.BAD_PARAMETER_IN_AUDIO_MANAGER_ADJUST_STREAM_VOLUME": "Detect if non-recommended value is passed to parameter streamType and direction of method adjustStreamVolume.",
  "desc.BAD_PARAMETER_IN_AUDIO_MANAGER_GET_VIBRATE_SETTING": "Detect if non-recommended value is passed to parameter vibrateType of method getVibrateSetting.",
  "desc.BAD_PARAMETER_IN_AUDIO_MANAGER_SET_RINGER_MODE": "Detect if non-recommended value is passed to parameter ringerMode of method setRingerMode.",
  "desc.BAD_PARAMETER_IN_AUDIO_MANAGER_SET_VIBRATE_SETTING": "Detect if non-recommended value is passed to parameter vibrateType and vibrateSetting of method setVibrateSetting.",
  "desc.BAD_PARAMETER_IN_AUDIO_MANAGER_SHOULD_VIBRATE": "Detect if non-recommended value is passed to parameter vibrateType of method shouldVibrate.",
  "desc.BAD_PARAMETER_IN_AUDIO_RECORD_GET_MIN_BUFFER_SIZE": "Detect if non-recommended value is passed to parameter audioFormat of method getMinBufferSize.",
  "desc.BAD_PARAMETER_IN_BINDER_TRANSACT": "Detect if out-of-range value is passed to parameter code of method transact.",
  "desc.BAD_PARAMETER_IN_BITMAP_CREATE_BITMAP": "Detect if out-of-range value is passed to parameter width and height of method createBitmap.",
  "desc.BAD_PARAMETER_IN_BLUETOOTH_CLASS_HAS_SERVICE": "Detect if non-recommended value is passed to parameter service of method hasService",
  "desc.BAD_PARAMETER_IN_CAMERA_PARAMETER_SET_ANTIBANDING": "Detect if non-recommended value is passed to parameter antibanding of method setAntibanding.",
  "desc.BAD_PARAMETER_IN_CAMERA_PARAMETER_SET_COLOR_EFFECT": "Detect if non-recommended value is passed to parameter value of method setColorEffect.",
  "desc.BAD_PARAMETER_IN_CAMERA_PARAMETER_SET_FLASH_MODE": "Detect if non-recommended value is passed to parameter value of method setFlashMode.",
  "desc.BAD_PARAMETER_IN_CAMERA_PARAMETER_SET_FOCUS_MODE": "Detect if non-recommended value is passed to parameter value of method setFocusMode.",
  "desc.BAD_PARAMETER_IN_CAMERA_PARAMETER_SET_SCENE_MODE": "Detect if non-recommended value is passed to parameter value of method setSceneMode.",
  "desc.BAD_PARAMETER_IN_CAMERA_PARAMETER_SET_WHITE_BALANCE": "Detect if non-recommended value is passed to parameter value of method setWhiteBalance.",
  "desc.BAD_PARAMETER_IN_CANVAS_SAVE_LAYER": "Detect if non-recommended value or or-operator expression using these values is passed to parameter saveFlags of method saveLayer and saveLayerAlpha",
  "desc.BAD_PARAMETER_IN_CONTEXT_BIND_SERVICE": "Detect if non-recommended value is passed to parameter flags of method bindService",
  "desc.BAD_PARAMETER_IN_CONTEXT_CREATE_PACKAGE_CONTEXT": "Detect if non-recommended value is passed to parameter flags of method createPackageContext",
  "desc.BAD_PARAMETER_IN_CONTEXT_GET_SYSTEM_SERVICE": "Detect if non-recommended value is passed to parameter name of method getSystemService",
  "desc.BAD_PARAMETER_IN_CONTEXT_PERMISSION_PID": "Detect if out-of-range value is passed to parameter pid of a method related to permission in class Context.",
  "desc.BAD_PARAMETER_IN_CRITERIA_SET_ACCURACY": "Detect if non-recommended value is passed to parameter accuracy of method setAccuracy.",
  "desc.BAD_PARAMETER_IN_DATE_UTILS_FORMAT_DATE_RANGE": "Detect if non-recommended value is passed to parameter flags of method formatDateRange.",
  "desc.BAD_PARAMETER_IN_DATE_UTILS_GET_AMPM_STRING": "Detect if non-recommended value is passed to parameter ampm of method getAMPMString.",
  "desc.BAD_PARAMETER_IN_DATE_UTILS_GET_DAY_OF_WEEK_STRING": "Detect if non-recommended value is passed to parameter dayOfWeek and abbrev of method getDayOfWeekString.",
  "desc.BAD_PARAMETER_IN_DATE_UTILS_GET_MONTH_STRING": "Detect if non-recommended value is passed to parameter month and abbrev of method getMonthString.",
  "desc.BAD_PARAMETER_IN_DRAWABLE_SET_ALPHA": "Detect if out-of-range value is passed to parameter alpha of method setAlpha.",
  "desc.BAD_PARAMETER_IN_DRAWABLE_SET_LEVEL": "Detect if out-of-range value is passed to parameter level of method setLevel.",
  "desc.BAD_PARAMETER_IN_GEOCODER_GET_FROM_LOCATION_LATITUDE": "Detect if out-of-range value is passed to parameter latitude of method getFromLocation.",
  "desc.BAD_PARAMETER_IN_GEOCODER_GET_FROM_LOCATION_LONGITUDE": "Detect if out-of-range value is passed to parameter longitude of method getFromLocation.",
  "desc.BAD_PARAMETER_IN_GESTURE_STORE_SET_ORIENTATION_STYLE": "Detect if non-recommended value is passed to parameter style of method setOrientationStyle.",
  "desc.BAD_PARAMETER_IN_GESTURE_STORE_SET_SEQUENCE_TYPE": "Detect if non-recommended value is passed to parameter type of method setSequenceType.",
  "desc.BAD_PARAMETER_IN_GLSURFACE_VIEW_SET_RENDER_MODE": "Detect if non-recommended value is passed to parameter renderMode of method setRenderMode.",
  "desc.BAD_PARAMETER_IN_GPS_STATUS_LISTENER_ON_GPS_STATUS_CHANGED": "Detect if non-recommended value is passed to parameter event of method onGpsStatusChanged.",
  "desc.BAD_PARAMETER_IN_INPUT_METHOD_SERVICE_GET_TEXT_FOR_IME_ACTION": "Detect if non-recommended value is passed to parameter imeOptions of method getTextForImeAction.",
  "desc.BAD_PARAMETER_IN_INPUT_METHOD_SERVICE_SEND_DOWN_UP_KEY_EVENTS": "Detect if non-recommended value is passed to parameter keyEventCode of method sendDownUpKeyEvents.",
  "desc.BAD_PARAMETER_IN_INTENT_ADD_SET_FLAGS": "Detect if non-recommended value is passed to parameter flags of method addFlags and setFlags",
  "desc.BAD_PARAMETER_IN_INTENT_FILTER_ADD_DATA_PATH": "Detect if non-recommended value is passed to parameter type of method addDataPath.",
  "desc.BAD_PARAMETER_IN_INTENT_FILTER_SET_PRIORITY": "Detect if out-of-range value is passed to parameter priority of method setPriority.",
  "desc.BAD_PARAMETER_IN_INTENT_PARSE_URI": "Detect if non-recommended value is passed to parameter flags of method parseUri",
  "desc.BAD_PARAMETER_IN_LAYOUT_ANIMATION_CONTROLLER_SET_ORDER": "Detect if non-recommended value is passed to parameter order of method setOrder.",
  "desc.BAD_PARAMETER_IN_LOCATION_CONVERT_COORDINATE": "Detect if out-of-range value is passed to parameter coordinate of method convert.",
  "desc.BAD_PARAMETER_IN_LOCATION_CONVERT_OUTPUT_TYPE": "Detect if non-recommended value is passed to parameter outputType of method convert.",
  "desc.BAD_PARAMETER_IN_LOCATION_LISTENER_ON_STATUS_CHANGED": "Detect if non-recommended value is passed to parameter status of method onStatusChanged.",
  "desc.BAD_PARAMETER_IN_META_KEY_KEY_LISTENER_GET_META_STATE": "Detect if non-recommended value is passed to parameter meta of method getMetaState.",
  "desc.BAD_PARAMETER_IN_MOTION_EVENT_OBTAIN": "Detect if non-recommended value is passed to parameter action of method obtain.",
  "desc.BAD_PARAMETER_IN_PACKAGE_MANAGER_FLAG_ZERO": "Detect if non-zero value is passed to parameter flags of some methods in class PackageManager.",
  "desc.BAD_PARAMETER_IN_PACKAGE_MANAGER_SET_APPLICATION_ENABLED_SETTING": "Detect if non-recommended value is passed to parameter newState and flags of method setApplicationEnabledSetting",
  "desc.BAD_PARAMETER_IN_PACKAGE_MANAGER_SET_COMPONENT_ENABLED_SETTING": "Detect if non-recommended value is passed to parameter newState and flags of method setComponentEnabledSetting",
  "desc.BAD_PARAMETER_IN_PAINT_SET_TEXT_SIZE": "Detect if out-of-range value is passed to parameter textSize of method setTextSize.",
  "desc.BAD_PARAMETER_IN_PARCELABLE_WRITE_TO_PARCEL": "Detect if non-recommended value is passed to parameter flags of method writeToParcel.",
  "desc.BAD_PARAMETER_IN_PHONE_NUMBER_UTILS_CALLED_PARTY_BCD_TO_STRING": "Detect if out-of-range value is passed to parameter length of method calledPartyBCDToString.",
  "desc.BAD_PARAMETER_IN_PHONE_STATE_LISTENER_ON_CALL_STATE_CHANGED": "Detect if non-recommended value is passed to parameter state of method onCallStateChanged.",
  "desc.BAD_PARAMETER_IN_PHONE_STATE_LISTENER_ON_DATA_ACTIVITY": "Detect if non-recommended value is passed to parameter direction of method onDataActivity.",
  "desc.BAD_PARAMETER_IN_PHONE_STATE_LISTENER_ON_DATA_CONNECTION_STATE_CHANGED": "Detect if non-recommended value is passed to parameter state of method onDataConnectionStateChanged.",
  "desc.BAD_PARAMETER_IN_POPUP_WINDOW_SET_INPUT_METHOD_MODE": "Detect if non-recommended value is passed to parameter mode of method setInputMethodMode.",
  "desc.BAD_PARAMETER_IN_SENSOR_MANAGER_REGISTER_LISTENER": "Detect if non-recommended value is passed to parameter samplingPeriodUs of method registerListener .",
  "desc.BAD_PARAMETER_IN_SENSOR_MANAGER_REMAP_COORDINATE_SYSTEM": "Detect if non-recommended value is passed to parameter X or Y of method remapCoordinateSystem.",
  "desc.BAD_PARAMETER_IN_SOUND_EFFECT_CONSTANTS_GET_CONTANT_FOR_FOCUS_DIRECTION": "Detect if non-recommended value is passed to parameter direction of method getContantForFocusDirection.",
  "desc.BAD_PARAMETER_IN_TELEPHONY_MANAGER_LISTEN": "Detect if non-recommended value is passed to parameter events of method listen.",
  "desc.BAD_PARAMETER_IN_TEXT_TO_SPEECH_QUEUE_MODE": "Detect if non-recommended value is passed to parameter queueMode of method playEarcon, playSilence, speak.",
  "desc.BAD_PARAMETER_IN_TIME_SET_MONTH": "Detect if out-of-range value is passed to parameter month of method set.",
  "desc.BAD_PARAMETER_IN_TIME_SET_MONTH_DAY": "Detect if out-of-range value is passed to parameter monthDay of method set.",
  "desc.BAD_PARAMETER_IN_VELOCITY_TRACKER_COMPUTE_CURRENT_VELOCITY": "Detect if out-of-range value is passed to parameter maxVelocity of method computeCurrentVelocity.",
  "desc.BAD_PARAMETER_IN_VIEW_FOCUS": "Detect if non-recommended value is passed to parameter direction of methods related to focus in class View.",
  "desc.BAD_PARAMETER_IN_VIEW_FOCUS_SEARCH": "Detect if non-recommended value is passed to parameter direction of method focusSearch",
  "desc.BAD_PARAMETER_IN_VIEW_GROUP_SET_DESCENDANT_FOCUSABILITY": "Detect if non-recommended value is passed to parameter visibility of method setDescendantFocusability.",
  "desc.BAD_PARAMETER_IN_VIEW_GROUP_SET_PERSISTENT_DRAWING_CACHE": "Detect if non-recommended value is passed to parameter drawingCacheToKeep of method setPersistentDrawingCache.",
  "desc.BAD_PARAMETER_IN_VIEW_SET_DRAWING_CACHE_QUALITY": "Detect if non-recommended value is passed to parameter quality of method setDrawingCacheQuality.",
  "desc.BAD_PARAMETER_IN_VIEW_SET_SCROLL_BAR_STYLE": "Detect if non-recommended value is passed to parameter visibility of method setScrollBarStyle.",
  "desc.BAD_PARAMETER_IN_VIEW_SET_VISIBILITY": "Detect if non-recommended value is passed to parameter visibility of method setVisibility.",
  "desc.BAD_PARENTHESIS": "The Violation of Parenthesis Spacing Rule checker finds instances of using parentheses not as per the spacing rules.",
  "desc.BAD_PASSWORD.EMPTY.OBJC": "The Blank Password checker finds blank passwords.",
  "desc.BAD_PASSWORD.EMPTY.SWIFT": "The Blank Password checker finds blank passwords.",
  "desc.BAD_PASSWORD.HARDCODED.OBJC": "The Hardcoded Password checker finds hardcoded passwords.",
  "desc.BAD_PASSWORD.HARDCODED.SWIFT": "The Hardcoded Password checker finds hardcoded passwords.",
  "desc.BAD_PATH_MANIPULATION": "The Too Small Path Buffer checker finds calls to the PathAppend() function in which the buffer is too small to contain the path.",
  "desc.BAD_POSITION.LITERAL_IN_EQUALS.CSHARP": "The Use of Equals on Variable checker finds statements in the form of variable.Equals(literal).",
  "desc.BAD_PRIVILEGE_ASSIGNMENT": "The Misuse of seteuid() checker finds instances of using the seteuid() function to elevate the user's permission in some part of code.",
  "desc.BAD_PRIVILEGE_CONTROL.OBJC": "The Insecure Privilege Control checker finds instances of using the seteuid() function to get root privileges.",
  "desc.BAD_PRIVILEGE_RELINQUISHMENT": "The Privilege Drop in Wrong Sequence checker finds instances of dropping privileges in a wrong sequence.",
  "desc.BAD_PRIVILEGE_RELINQUISHMENT.OBJC": "The Privilege Drop in Wrong Sequence checker finds instances of dropping privileges in a wrong sequence.",
  "desc.BAD_PRIVILEGE_RESET.OBJC": "The Insecure Permission Initialization checker finds instances in which a call to the chroot() function is not followed by a call to the seteuid() function initializing the temporarily granted permission.",
  "desc.BAD_QUALIFIER.FORBIDDEN": "The Use of Qualifier Keyword checker variable declarations that use an optionally forbidden qualifier.",
  "desc.BAD_QUALIFIER.FORBIDDEN.PARAM_PTR": "The Use of Qualifier for Pointer-type Function Parameter checker finds instances of applying a forbidden qualifier to a pointer-type parameter declaration in a function.",
  "desc.BAD_QUALIFIER.REQUIRED.PARAM_PTR": "The Missing Qualifier on Pointer-type Function Parameter checker finds instances of failure to apply a designated qualifier to a pointer-type parameter declaration in a function.",
  "desc.BAD_QUERY_TO_CUD_OTHER_APP.XSQL.CONFIG": "The Prohibit Other Application DB C/U/D Queries checker detects when a query performed by DM is a creation, modification, or deletion of another application table.",
  "desc.BAD_QUERY_TO_R_OTHER_APP.XSQL.CONFIG": "The Prohibit Other Application DB Read Queries checker detects when queries performed by DM read other application tables.",
  "desc.BAD_RETURN_IN_IF_STATEMENT": "The Misuse of Return in if-else Statement checker finds code that contains a return only in if-else statements.",
  "desc.BAD_RETURN_TEST": "The Call to Function Returning Integer in Test Expression of Conditional Statement checker finds if, while, and for statements in which a test expression calls an integer-returning function as an operand but without a comparison operator.",
  "desc.BAD_SECURITY_DECISION.DNS_LOOKUP.PHP": "The Security Decision Relying on DNS Lookups checker finds instances in which authentication and access controls rely solely on the domain name.",
  "desc.BAD_SECURITY_DECISION.UNTRUSTED_INPUT.PHP": "The Security Decision Relying on Untrusted Cookie checker finds instances of storing user credentials in a cookie.",
  "desc.BAD_SEMICOLON.WHILE_STATEMENT": "In the do-while conditional statement, there should not be a white space in front of the ';'.",
  "desc.BAD_STRING_INSTANTIATION.CSHARP": "The Instantiation of String checker finds calls to new String().",
  "desc.BAD_STRING_IN_COMMENT": "The Confusing String Included in Comment checker finds that a confusing string, such as /*, */, or //, is included in comments.",
  "desc.BAD_STRING_MANAGEMENT": "The Use of Insecure Multibyte String Function of Windows checker finds instances of using an insecure multibyte string function provided by Windows.",
  "desc.BAD_STRUCT.ALIGNMENT": "The Struct Size Not Being Multiple checker finds structs that have a size not multiple of the defined alignment size.",
  "desc.BAD_STRUCT.PADDING": "The Padding in Struct Definition checker finds struct definitions that include padding bits.",
  "desc.BAD_STRUCT.SIZE": "The Oversized Struct checker finds struct definitions whose size exceeds the optionally specified maximum struct size.",
  "desc.BAD_STRUCT_MEMBER_ACCESS": "The Maximum Accesses to Struct Field checker finds instances of accessing a field of a specific struct more than the specified count.",
  "desc.BAD_SUFFIX_FOR_LONG_VALUE": "The Misuse of Long-type Suffix checker finds expressions that include a long-type constant suffixed with a lowercase \"L.\"",
  "desc.BAD_THROW.FORBIDDEN_EXCEPTION": "The Throwing of Non-allowed Exception checker finds code that throws an exception object with a non-allowed type.",
  "desc.BAD_TRY_CATCH_MACRO_USAGE": "The TRY/CATCH Macros in Incorrect Sequence checker finds instances in which a CATCH label comes before a call to the TRY macro.",
  "desc.BAD_TYPE.FLOAT": "The Use of Forbidden Float Type checker finds instances of using a forbidden float type.",
  "desc.BAD_TYPE.FORBIDDEN": "The Variable Declaration of Forbidden Data Type checker finds instances of declaring a variable as an optionally forbidden data type.",
  "desc.BAD_TYPE.FORBIDDEN.CHAR": "The Use of Char-type Declaration checker finds char-type declarations except for declarations of char-type arrays.",
  "desc.BAD_TYPE.FORBIDDEN.FLOAT": "The Declaration of Floating-point Variable checker finds instances of declaring a floating-point type variable.",
  "desc.BAD_TYPE.INTEGER": "The Use of Forbidden Integer Type checker finds instances of using a forbidden integer type.",
  "desc.BAD_TYPE.NOT_ALLOWED": "The Local Variable Declaration of Non-allowed Data Type checker finds instances of declaring a local variable as a data type that is not optionally allowed.",
  "desc.BAD_TYPE.NOT_ALLOWED.ARRAY": "The Local Array Variable Declaration of Non-allowed Data Type checker finds instances of declaring a local array variable as a data type that is not optionally allowed.",
  "desc.BAD_TYPE.NOT_ALLOWED.COMPOUND": "The Compound Variable Declaration of Non-allowed Data Type checker finds instances of declaring a compound variable as an unspecified array type.",
  "desc.BAD_TYPE.NOT_ALLOWED.PTR": "The Pointer Variable Declaration of Non-allowed Data Type checker finds instances of declaring a pointer variable as an unspecified data type.",
  "desc.BAD_TYPE.NOT_ALLOWED.TYPEDEF": "The typedef Variable Declaration of Non-allowed typedef Type checker finds instances in which a variable or parameter is declared as a data type that has been redefined by typedef but the name of the redefined type is not included in the optional list.",
  "desc.BAD_TYPE.NOT_TYPEDEF": "The Variable or Function Declaration of Non-redefined Data Type checker finds instances of declaring a variable or function as a data type that has not been redefined.",
  "desc.BAD_TYPE.NOT_TYPEDEF.ARRAY": "The Variable or Function Declaration of Non-redefined Array Type checker finds instances of declaring a variable or function as an array type that has not been redefined.",
  "desc.BAD_TYPE.NOT_TYPEDEF.MEMBER": "The Member Declaration of Non-redefined Data Type checker finds instances of declaring a member as a data type that has not been redefined.",
  "desc.BAD_TYPE.NOT_TYPEDEF.PARAM": "The Use of Parameter of Non-redefined Data Type checker finds instances in which a parameter in an optionally specified position is not declared as an allowed redefined data type.",
  "desc.BAD_TYPE.NOT_TYPEDEF.PTR": "The Variable or Function Declaration of Non-redefined Pointer Type checker finds instances of declaring a variable or function as a pointer type that has not been redefined.",
  "desc.BAD_TYPE.NOT_TYPEDEF.RETURN": "The Function Return of Non-redefined Data Type checker finds functions whose return type is not an optionally allowed redefined data type.",
  "desc.BAD_TYPE_CHECKING.VBS": "The Absence of Empty Value Check checker finds instances in which a type check is performed without prior check for an empty value.",
  "desc.BAD_TYPE_DECLARATION": "When declaring a type, the following rules must be observed.",
  "desc.BAD_USE_SHIFT_OPERATORS_IN_SAME_DATA": "The Simultaneous Bitwise and Arithmetic Operations checker finds code that performs an arithmetic operation and bit operation on the same data at a time.",
  "desc.BAD_VARIABLE_DECLARATION": "The Violation of Variable Declaration Rule checker finds instances in which multiple variables are declared in series but these declarations are not properly arranged and grouped as per certain criteria.",
  "desc.BAD_VARIABLE_DECLARATION.FIELD": "The Violation of Field Declaration Sequence checker finds classes in which the member fields are not declared in the specified order.",
  "desc.BAD_VARIABLE_DECLARATION.LOOP": "The Invalid Loop Counter Declaration checker finds instances of declaring a for loop's counter variable inappropriately.",
  "desc.BAD_WHITESPACE.ACCESSING": "The Violation of Access Operator Spacing Rule checker finds instances in which an operator for accessing an object member and its operand are separated by a whitespace.",
  "desc.BAD_WHITESPACE.ASSERT_KEYWORD": "The Violation of assert Keyword Spacing Rule checker finds code that fails to add a whitespace after a reserved keyword, such as assert, to separate the keyword from the following parenthesis.",
  "desc.BAD_WHITESPACE.BASIC_OPERATORS": "The Violation of Operator Spacing Rule checker finds instances in which an operator and its operand are not separated by a space.",
  "desc.BAD_WHITESPACE.CALL": "The Violation of Function Call Spacing Rule checker finds function calls in which the spacing between the function name and argument list or the spacing within the parentheses does not comply with the spacing rules.",
  "desc.BAD_WHITESPACE.CASTING": "The Violation of Cast Spacing Rule checker finds code that fails to place a whitespace after a cast operator to separate it from the following operand.",
  "desc.BAD_WHITESPACE.CATCH_STATEMENT": "The Violation of catch Statement Spacing Rule checker finds instances in which spaces are not added between a catch statement and the following parenthesis.",
  "desc.BAD_WHITESPACE.COMMA": "The Violation of Comma Spacing Rule checker finds a comma operator that violates its spacing rules.",
  "desc.BAD_WHITESPACE.DO_KEYWORD": "The Violation of do-while Keyword Spacing Rule checker finds code that fails to place a whitespace after a reserved keyword, such as do-while, to separate it from the following parenthesis.",
  "desc.BAD_WHITESPACE.FOR_KEYWORD": "The Violation of for Keyword Spacing Rule checker finds code that fails to add a whitespace after a reserved keyword, such as for, to separate the keyword from the following parenthesis.",
  "desc.BAD_WHITESPACE.FOR_STATEMENT": "The Violation of for Loop Spacing Rule checker finds for loops whose control statements are not separated by spaces.",
  "desc.BAD_WHITESPACE.FUNCTION": "The Violation of Function Spacing Rule checker finds expressions that have a whitespace between a function name and the following parenthesis.",
  "desc.BAD_WHITESPACE.IF_KEYWORD": "The Violation of If Keyword Spacing Rule checker finds code that fails to place a whitespace after a reserved keyword, such as if, or else if, to separate it from the following parenthesis.",
  "desc.BAD_WHITESPACE.IF_STATEMENT": "The Violation of if Statement Spacing Rule checker finds if statement in which spaces are not inserted appropriately.",
  "desc.BAD_WHITESPACE.INC_DEC_EXPRESSION": "The Misuse of Whitespace for Incremental/Decremental Operator checker finds a whitespace between an incremental or decremental operator and its operand.",
  "desc.BAD_WHITESPACE.KEYWORD": "The Violation of Keyword Spacing Rule checker finds instances in which a reserved word is not separated by a whitespace from the following parenthesis.",
  "desc.BAD_WHITESPACE.POINTER": "The Violation of Pointer Spacing Rule checker finds expressions that have a whitespace between a pointer operator and its operand.",
  "desc.BAD_WHITESPACE.SEMICOLON": "The Violation of Semicolon Spacing Rule checker finds semicolons that are preceded by a space.",
  "desc.BAD_WHITESPACE.SWITCH_KEYWORD": "The Violation of switch Keyword Spacing Rule checker finds code that fails to add a whitespace after a reserved keyword, such as switch, to separate the keyword from the following parenthesis.",
  "desc.BAD_WHITESPACE.SWITCH_STATEMENT": "The Violation of switch Loop Spacing Rule checker finds instances of using switch statements not as per the spacing rules.",
  "desc.BAD_WHITESPACE.TRY_KEYWORD": "The Violation of try-catch Keyword Spacing Rule checker finds code that fails to add a whitespace after a reserved keyword, such as try-catch, to separate the keyword from the following parenthesis.",
  "desc.BAD_WHITESPACE.WHILE_KEYWORD": "The Violation of while Keyword Spacing Rule checker finds code that fails to place a whitespace after a reserved keyword, such as while, to separate it from the following parenthesis.",
  "desc.BAD_WHITESPACE.WHILE_STATEMENT": "The Violation of while Loop Spacing Rule checker finds a while loop in which a whitespace is not placed between its condition and the following open brace.",
  "desc.BASE_CLASS_NOT_BE_VITRUAL_AND_NON_IN_SAME_HIERARCHY": "The Both Virtual and Non-Virtual Inheritance in Same Hierarchy checker finds a diamond hierarchy where the top common base class is both virtual and non-virtual and thus inherited by the final derived class in the two different ways.",
  "desc.BASE_CLASS_SHOULD_BE_DECLARED_VIRTUAL_ONLY_IN_DIAMOND_HIERARCHY": "The Diamond Problem with Non-virtual Inheritance checker finds incidents that child classes do not virtually inherit base classes in a diamond hierarchy.",
  "desc.BEAN_MEMBERS_SHOULD_SERIALIZE": "The non-serializable bean class checker detects the use of non-serializable bean classes.",
  "desc.BEWARE_LARGER_SIZE_INT_EXPR": "The Omission of Wider Cast before Integral Operation checker finds comparison and arithmetic operations that are performed on integers without casting them to have an appropriate range of expression.",
  "desc.BEWARE_OF_COMPILER_OPTIMIZATIONS": "The Sensitive Data Exposure Caused by Compiler Optimization checker finds compiler optimizations that may remove code for clearing sensitive data, which may allow for exposure of sensitive data.",
  "desc.BEWARE_OF_PRECISION_LOSS": "The Precision Loss Caused by Cast from Integer to Floating-point checker finds instances of casting an integer to a floating-point number that can cause loss of precision due to the difference in their range of possible values.",
  "desc.BEWARE_RACE_CONDITION": "The Race Condition Caused by fork() finds instances in which a race condition is caused by using a file descriptor and the fork() function concurrently.",
  "desc.BEWARE_THIRD_PARAM_IN_MAIN": "The Reliance on Environment Pointer checker finds expressions that rely on an environment pointer passed as an argument to the main function.",
  "desc.BEWARE_USE_FLEXIBLE_ARRAY_MEMBER": "The Non-dynamically Created Struct with Flexible Array Member checker finds structs that contain a flexible array member but are not dynamically created.",
  "desc.BITFIELD_SIGNED_TYPE_AT_LEAST_TWO_BITS": "The Signed Bit Field Declared with 1 Bit Size checker finds declarations of signed bit fields with a size of 1 bit.",
  "desc.BITWISE_OPERANDS_SHOULD_HAVE_SAME_TYPE": "The Non-constant Signed Operands of Bitwise Operator checker finds incidents that different types of operands are resulted by bitwise operations.",
  "desc.BITWISE_OPERATION_BOOLEAN": "The Bitwise Operation on Boolean Type checker finds bitwise operations performed on a boolean value.",
  "desc.BITWISE_RESULT_SHALL_CAST_IMMEDIATELY": "The Failure to Cast Result of Bitwise Operation on Unsigned checker finds instances in which a bitwise operation is performed on an unsigned char or unsigned short in an assignment statement but the result is not immediately cast to the type of the assignee.",
  "desc.BIT_FIELDS_SHALL_BE_EXPLICIT_SIGNGED_TYPE": "The Bit Field Declaration of Non-allowed Data Type checker finds bit field declaration of data types that are not allowed.",
  "desc.BIT_OPERATION_ON_LOGICAL_EXPR": "Operator or(|) and and(&) should not be used inside a conditional statement",
  "desc.BODY_SHOULD_BE_HIDDEN_WHEN_UNDEREFERENCED": "The Exposal of Internal Implementation of Struct/Union checker finds instances in which a struct or union is not used as an operand of a member access operation but its internal field implementation is included in the code.",
  "desc.BOOLEAN_EXPR_IN_SWITCH": "The Boolean Evaluation in Switch Statement Control Section checker finds switch statements whose control expression is a boolean expression, instead of an ordinary variable.",
  "desc.BRACE_OF_STATEMENT_SHOULD_OCCUPY_LINE": "The Braced Block Not in Separate Line checker finds conditionals and loops whose condition section and braced body are not placed in separate lines.",
  "desc.BSSC.NAMING_CONVENTION.FUNCTION": "The Noncompliant BSSC Function Name finds BSSC function names that do not comply with the naming rules.",
  "desc.BSSC.NAMING_CONVENTION.VARIABLE": "The Noncompliant BSSC Variable Name finds BSSC variable names that do not comply with the naming rules.",
  "desc.BYTE_COMPARISON_STRUCT": "The Call to memcmp() on Struct checker finds instances of calling the memcmp() function with struct objects as operands.",
  "desc.BadBitmaskCheck": "Operator '|' always returns true when any of operands is not zero. Check if it is intended to use '&'.",
  "desc.BadComparison": "This checks if == is used to compare to 'Double.NaN' or 'Float.NaN'",
  "desc.BeanMembersShouldSerialize": "If a class is a bean, or is referenced by a bean directly or indirectly it needs to be serializable.",
  "desc.BigIntegerInstantiation": "This checks for instantiating BigInteger.ZERO, BigInteger.ONE, BigInteger.TEN, BigDecimal.ZERO, BigDecimal.ONE, or BigDecimal.TEN (Java 1.5+).",
  "desc.BitwiseOnBoolean": "Boolean variable is used in a bitwise operation",
  "desc.BooleanGetMethodName": "This checks for methods named as 'getX()' when the method returns a boolean.",
  "desc.BooleanInstantiation": "This checks if new or valueOf() is used when initializing a boolean.",
  "desc.BooleanInversion": "This checks for =! pattern.",
  "desc.BoostForeachError": "BOOST_FOREACH caches the end() iterator. It's undefined behavior if you modify the container inside.",
  "desc.BrokenNullCheck": "This checks when there is both || and comparison to Null, making the comparison to Null meaningless.",
  "desc.BufferAccessOutOfBounds": "Buffer is accessed out of bounds",
  "desc.BufferNotZeroTerminated": "The buffer is not null-terminated after the call to strncpy().",
  "desc.ByteInstantiation": "This checks for the allocation of 'new Byte' or 'new java.lang.Byte'",
  "desc.CALL_AND_MESSAGE.OBJC": "The Logical Error in Function Calling or Massaging function finds logical errors in function calling and messaging.",
  "desc.CALL_EVERY_FUNCTION_GLOBAL": "The Function Never Used checker finds functions that their bodies are defined, but never used.",
  "desc.CALL_ORDER_POSSIBLE_SIDE_EFFECT": "The Function Call on Right-hand Side of Logical Operator checker finds expressions in which the right-hand side of a logical operator contains a call to a function.",
  "desc.CALL_SUPER": "The Missing Call to Superclass Method checker finds an overriding method definition in which the expected call to the superclass's method is missing.",
  "desc.CALL_SUPER_IN_CONSTRUCTOR": "The No call to super() or another constructor in inherited class constructors checker detects when super() or another constructor is not called in an inherited class constructor.",
  "desc.CALL_UNINIT_VAR_WITH_CONST": "The Uninitialized Pointer Passed to Immutable Parameter checker finds instances of passing a pointer to an uninitialized variable to a const-qualified parameter.",
  "desc.CALL_VAARG_ON_INDETERMINATE_VALIST": "The Inappropriate Reuse of Varying Arguments checker finds instances in which a variadic function passes its va_list object as an argument to another function, but va_arg() is called within that function to cause the va_list to have an indeterminate value in the calling function.",
  "desc.CALL_VIRTUAL_IN_CONSTRUCTOR": "Do not directly or indirectly invoke a virtual function from a constructor or destructor.",
  "desc.CALL_VIRTUAL_WITHOUT_QUALIFIER_IN_CTOR_DTOR": "The Call to Virtual Function without Qualifier in Constructor checker finds constructs in which a virtual function is called without an explicit class qualifier.",
  "desc.CANONICALIZE_URL_RECEIVED_BY_PROVIDER": "The Missing Canonicalization before File Exchange through Content Provider checker finds file names that are not canonicalized before exchanging the files with content providers.",
  "desc.CASE_ENDS_WITH_WHEN_OTHERS.ABAP": "The Improper WHEN OTHERS Position checker finds WHEN OTHERS clauses positioned between CASE clauses.",
  "desc.CAST_AFTER_MEM_ALLOC": "The Use of Memory Allocation Result without Cast checker finds instances of using the result of a memory allocation function without casting it to the allocated type.",
  "desc.CAST_ALTERS_VALUE": "Do not use improper typecasting operators that can cause changes of value.",
  "desc.CAST_ALTERS_VALUE.EXT": "The Invalid Integer Downcast checker finds instances of casting an integer to a narrower type.",
  "desc.CAST_ALTERS_VALUE.HORUS": "This error occurs when a type casting changes the target value.",
  "desc.CAST_CHAR_TO_UNSIGNED_BEFORE_CONVERTING_INT": "The Direct Conversion of Character to Large Integer checker finds instances in which a character is not cast to an unsigned integer before converted to a larger integer.",
  "desc.CATCH_ALL_EXCEPTIONS_THROWN_EXPLICITLY": "The Missing Catch for Explicitly Thrown Exception checker finds instances in which an exception explicitly thrown in code does not have a handler of a compatible type in all call paths that could lead to that point.",
  "desc.CATCH_EXCEPTIONS_BY_REFERENCE": "The Catching of Exception by Non-reference checker finds catch blocks that catch an exception by a non-reference type.",
  "desc.CATCH_EXCPETIONS_IN_HIERACHICAL_ORDER": "Where multiple handlers are provided in a single try-catch statement or function-try-block for a derived class and some or all of its bases, the handlers shall be ordered most-derived to base class.",
  "desc.CATCH_NULL_REFERENCE_EXCEPTION.CSHARP": "The NullReferenceException Exception Handling checker finds instances of catching NullReferenceException.",
  "desc.CHECK.DUPLICATED_PARAM": "The Same Variable Passed to Different Parameters checker finds calls to specified functions in which the same variable is passed to different parameters.",
  "desc.CHECK.FIELD_ARRAY_LENGTH": "The Insufficient Field Length checker finds instances a specified struct's specified field has a shorter length than specified.",
  "desc.CHECK_ALIGNMENT_OF_MEMORY": "The Reallocation of Memory Allocated by aligned_alloc() checker finds instances of using the realloc() function to reallocate the memory allocated by aligned_alloc().",
  "desc.CHECK_ERROR_AFTER_SETTING_ERRNO": "When the errno set function is called, the value of errno must be checked for errors by comparing it to 0 before the next function call. errno is set to a non-zero value if an error occurs, and the value is not modified if the set function does not detect an error.",
  "desc.CHECK_EXIST_LINK_FILES": "The File Opened without Check for Symlink checker finds instances of failure to check for a symbolic link when opening a file.",
  "desc.CHECK_FLOATING_POINT_INPUTS_FOR_EXCEPTIONAL_VALUES_INFINITY": "The Missing NaN Check for Real Number checker finds code that do not properly check external inputs when they have floating points.",
  "desc.CHECK_FLOATING_POINT_INPUTS_FOR_EXCEPTIONAL_VALUES_NAN": "The Missing NaN Check for Real Number checker finds code that do not properly check external inputs when they have floating points.",
  "desc.CHECK_FOR_ASSIGNING_OBJECT_TO_ITSELF": "The Missing Equality Check between Pointers in Copy Assignment Operator checker finds definitions of copy assignment operators that do not include a protective logic against invalid self-assignment.",
  "desc.CHECK_POINTER_TYPE_OF_MEM_FUNCTIONS": "The standard library functions memcpy, memmove, and memcmp specify that pointer arguments passed to them must be of compatible types. This is because these functions require strict type compatibility for pointer types; using incompatible types of pointers can cause unexpected behavior.",
  "desc.CHECK_PTHREAD_MUTEX_LOCK_RETURN.OBJC": "The Absence of pthread_mutex_lock Value Check checker finds instances in which pthread_mutex_lock() function is called without check for its return value.",
  "desc.CHROOT_JAIL_WITHOUT_CHANGE_WORK_DIR": "The Missing chdir() Call after chroot() Call function finds instances in which the chroot() function is called to modify the root directory but it is not followed by a call to the chdir() function, which is required to change the working directory.",
  "desc.CLASSCAST": "The Invalid Downcast of Object in Collection checker finds instances in which an element is added to a collection and then taken out of the collection to be cast to another type.",
  "desc.CLASS_COMMENT": "The Class Comment Format checker finds class comments that violate their format.",
  "desc.CLASS_MEMBER_SHOULD_NOT_BE_PUBLIC": "The Field Defined as Public checker finds class fields that have the public access specifier.",
  "desc.CLASS_SHOULD_DECLARE_ASSIGNMENT_OPERATOR": "The Class without Copy Assignment Operator Definition checker finds classes that do not define an explicit copy assignment operator.",
  "desc.CLASS_SHOULD_DECLARE_CONSTRUCTOR": "The Class without Constructor Definition checker finds classes that define no explicit constructor.",
  "desc.CLASS_SHOULD_DECLARE_COPY_CONSTRUCTOR": "The Class without Copy Constructor Definition checker finds classes that do not define an explicit copy constructor.",
  "desc.CLASS_SHOULD_DECLARE_DESTRUCTOR": "The Class without Destructor Definition checker finds classes that do not define an explicit destructor.",
  "desc.CLEANUP_THREAD_SPECIFIC_STORAGE": "The Unfreed Memory after Use of tss_create() checker finds instances in which an allocated thread-specific storage remains unfreed.",
  "desc.CLEARTEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION": "The Transmission of Key Security Information and Vehicle Information in Plain Text checker finds code that sends key security information or vehicle information in plain text without encryption or integrity verification.",
  "desc.CLEAR_TEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION": "The Sensitive Information Transfer in Plaintext checker finds instances of transferring sensitive information without encrypting it.",
  "desc.CLEAR_TEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.KOTLIN": "The Sensitive Information Transfer in Plaintext checker finds code that sends sensitive information without encryption.",
  "desc.CLEAR_TEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.OBJC": "The Sensitive Information Transfer in Plaintext checker finds instances of transferring sensitive information without encrypting it.",
  "desc.CLEAR_TEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.SWIFT": "The Sensitive Information Transfer in Plaintext checker finds instances of transferring sensitive information without encrypting it.",
  "desc.CLEAR_TEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION_ASPNET": "The Sensitive Information Transfer in Plaintext checker finds instances of transferring sensitive information without encrypting it.",
  "desc.CND_WAIT_SHOULDE_BE_IN_LOOP": "The Use of cnd_wait without Loop checker finds calls to the cnd_wait() function that are not controlled under a loop.",
  "desc.COCOA.AT_SYNC.OBJC": "The Nil Passed to @synchronized Directive checker finds instances of passing a nil synchronization object to a @synchronized directive for a synchronized block.",
  "desc.COCOA.CLASS_RELEASE.OBJC": "The Release of Class checker finds instances of sending a [release], [retain], or [autorelease] message not to an instance but to a class.",
  "desc.COCOA.SELF_INIT.OBJC": "The Uninitialized self checker finds initialization methods in which self is not initialized normally.",
  "desc.CODE_INJECTION": "A security weakness that allows an attacker to inject arbitrary code to change the intended behavior of the software, causing it to behave abnormally.",
  "desc.CODE_INJECTION.JS": "A security weakness that allows an attacker to inject arbitrary code to change the intended behavior of the software, causing it to behave abnormally.",
  "desc.CODE_INJECTION.RETURN_ADDRESS": "The Code Injection of Return Address checker finds code that may get modified its return address and exploited.",
  "desc.COMBINED_INCREMENT_AND_DECREMENT_OPERATOR": "The Incorrect Use of Increment/Decrement Operator checker finds instances of using an increment or decrement operator together with another operator.",
  "desc.COMMAND_INJECTION": "The OS Command Injection checker finds instances in which an internal system command is executed by an unvalidated external input.",
  "desc.COMMAND_INJECTION.JS": "The OS Command Injection checker finds instances in which an internal system command is executed by an unvalidated external input.",
  "desc.COMMAND_INJECTION.KOTLIN": "The OS Command Injection checker finds code that runs system command with data from an unvalidated source.",
  "desc.COMMAND_INJECTION.PHP": "The OS Command Injection checker finds instances in which an internal system command is executed by an unvalidated external input.",
  "desc.COMMAND_INJECTION.PYTHON": "A security weakness where an unvalidated external input value is constructed and executed as an operating system command, which could result in the execution of unintended system commands that could inappropriately change privileges or adversely affect system behavior and operations.",
  "desc.COMMAND_INJECTION.TOBE.JS": "The TOBESOFT Platform OS Command Injection checker finds instances in which an internal system command is executed by an unvalidated external input.",
  "desc.COMMAND_INJECTION.VBNET": "The OS Command Injection checker finds instances in which a command is executed by an unvalidated external input.",
  "desc.COMMAND_INJECTION.VBS": "The OS Command Injection checker finds instances in which an internal system command is executed by an unvalidated external input.",
  "desc.COMMAND_INJECTION_ASPNET": "The OS Command Injection checker finds instances in which an internal system command is executed by an unvalidated external input.",
  "desc.COMMENT_IN_CODE": "The Comment in Single Line of Code checker finds a comment included in the middle or top of a single line of code.",
  "desc.COMPARE_EOF_TO_STANDARD_LIBRARY_FUNCTIONS": "The standard library functions specify that the values returned from them should be compared to EOF unmodified or untyped. This is because if the values of functions that can return EOF values are modified and then compared, the EOF condition cannot be determined correctly.",
  "desc.COMPARE_LOOP_COUNTER": "The Invalid Comparison with Loop Counter checker finds incidents that loop counters of for statements are not compared in specified manners.",
  "desc.COMPARE_OBJECTS_WITH_EQUALS": "Use == or != when comparing objects The checker detects the use of == or != when comparing objects.",
  "desc.COMPLEX_CONTROL_IN_SWITCH": "The Switch Statement Intermixed with Another Code Block checker finds switch statements in which a for loop or if conditional starts in one case label and its body block spans the next case label(s).",
  "desc.COMPLEX_FUNC_DECL": "The Complicated Function Declaration checker finds declaring a function in an extremely complicated way.",
  "desc.COMPLY_WITH_MODIFIER_ORDER": "The Modifiers in Wrong Order checker finds instances in which multiple modifiers are applied in an incorrect order.",
  "desc.COMPOUND_ASSIGN_SHOULD_UPDATE_LEFT.SWIFT": "The Not Updated Left-hand Operand of Assignment checker finds binary operators that end with \"=\" but do not update the left-hand operand.",
  "desc.COMPOUND_LITERAL_ADDRESS_INSIDE_LOOP": "The Inappropriate Use of Compound Literal in Loop checker finds instances of using a compound literal inappropriately in a loop due to failure to understand how compound literals are interpreted.",
  "desc.CONCATENATE_DIFF_TYPE_STR": "The Concatenation of Wide String with Regular String checker finds expressions that concatenate a wide-character string and a regular string.",
  "desc.CONDITIONAL_OPERATION_WITHOUT_PARENTHESIS": "The Unparenthesized Conditional Operation checker finds  ternary expressions in which the condition part before the ? operator is a binary expression but not enclosed in parentheses.",
  "desc.CONFIGURATION_SETTING": "The External Control of System or Configuration Setting checker finds calls to the sethostid() function where the argument is not properly processed.",
  "desc.CONSTANT_ON_LEFT_HANDSIDE": "The Constant on Right Side of Comparison Operator checker finds instances of comparison between a variable and a constant in which the constant comes on the right side of the comparison operator.",
  "desc.CONSTEXPR_IN_SWITCH": "The Use of constexpr in switch checker finds instances of using constexpr in a switch or case statement.",
  "desc.CONSTRUCTOR_CALLS_OVERRIDABLE_METHOD": "Calling a virtual method in the constructor of a parent class The checker detects when you call a virtual method inside the constructor of a parent class.",
  "desc.CONST_IN_LOOP_TEST": "The Use of Constant in Loop Control Section checker finds loop statements whose control section includes a constant.",
  "desc.CONST_MEMBER_FUNCTION_SHOULD_NOT_RETURN_NONCONST": "The Non-constant Handle Returned from const Method checker finds methods that are declared const but return a non-constant handle.",
  "desc.CONST_VALUE_MODIFICATION": "The Modification to const Object checker finds code that modifies a value of const-qualified variables.",
  "desc.CONVERSION_OPERATOR_CLASS_TYPE": "The Declaration of Conversion Operator for Class Type checker finds conversion operators that are declared for another class type inside a class.",
  "desc.CONVERSION_OPERATOR_FUNDAMENTAL_TYPE": "The Declaration of Conversion Operator for Base Type checker finds conversion operators that are declared for a base type inside a class.",
  "desc.CONVERT_FLOATING_POINT_IN_FLOATING_OPERATION": "Do not use integers in a floating point operation.",
  "desc.CONVERT_INT_TO_FLOAT_FOR_FLOAT_OPERATION": "The Missing Cast before Float Operation checker finds floating-point operations that fail to cast any integer operand to a floating-point number.",
  "desc.COOKIE.DISABLED_HTTP_ONLY.CSHARP": "The Non-HttpOnly Cookie checker finds instances in which the HttpOnly flag for a cookie is set enabled.",
  "desc.COOKIE.OVERLY_BROAD_DOMAIN.CSHARP": "The Use of Cookie with Overly Broad Domain checker finds code that uses cookies set to overly broad domains.",
  "desc.COOKIE.OVERLY_BROAD_DOMAIN.OBJC": "The Use of Cookie with Overly Broad Domain checker finds instances of using a cookie with a domain set to an overly broad domain.",
  "desc.COOKIE.OVERLY_BROAD_DOMAIN.SWIFT": "The Use of Cookie with Overly Broad Domain checker finds instances of using a cookie with a domain set to an overly broad domain.",
  "desc.COOKIE.OVERLY_BROAD_PATH.CSHARP": "The Use of Cookie with Overly Broad Path checker finds instances of using a cookie with a path set to the root path.",
  "desc.COOKIE.OVERLY_BROAD_PATH.OBJC": "The Use of Cookie with Overly Broad Path checker finds instances of using a cookie with a path set to the root path.",
  "desc.COOKIE.OVERLY_BROAD_PATH.SWIFT": "The Use of Cookie with Overly Broad Path checker finds instances of using a cookie with a path set to the root path.",
  "desc.COOKIE.PERSISTENT.OBJC": "The Storage of Sensitive Data in Persistent Cookie checker finds instances of storing sensitive date in a cookie whose lifespan is set too long.",
  "desc.COOKIE.PERSISTENT.SWIFT": "The Storage of Sensitive Data in Persistent Cookie checker finds instances of storing sensitive date in a cookie whose lifespan is set too long.",
  "desc.CORE_FOUNDATION.CF_ERROR.OBJC": "The Misuse of CFErrorRef checker finds instances in which a function with a CFErrorRef* type parameter is declared as void.",
  "desc.CORE_FOUNDATION.CF_NUMBER.OBJC": "The Misuse of CFNumberCreate checker finds calls to CFNumberCreate() in which the number of bits represented by the third argument is lower than the data type size indicated by the second argument.",
  "desc.CORE_FOUNDATION.CF_RETAIN_RELEASE.OBJC": "The Misuse of Core Foundation Memory Management Function checker finds calls to CFRetain(), CFRelease(), and CFMakeCollectable() that receive a null argument.",
  "desc.CORE_FOUNDATION.CONTAINER_OUT_OF_BOUNDS.OBJC": "The Buffer Overflow from CFArrayGetValueAtIndex checker finds attempts to access a CFArrayRef buffer out of bounds.",
  "desc.CORE_FOUNDATION.CONTAINER_POINTER_SIZED_VALUES.OBJC": "The Misuse of CFArrayCreate checker finds calls to the CFArrayCreate() function in which an array of pointers is not passed.",
  "desc.CORRECT_DECLARE_FLEXIBLE_ARRAY_MEMBER": "The Incorrect Declaration of Variable-length Array checker finds syntactically incorrect declarations of variable-length arrays.",
  "desc.CRITICAL_PUBLIC_VARIABLE_WITHOUT_CONST_MODIFIER": "The Critical public Variable without const checker finds critical fields declared as public without const modifier.",
  "desc.CRITICAL_PUBLIC_VARIABLE_WITHOUT_FINAL_MODIFIER": "The Critical public static Variable without final checker finds instances in which a critical member field that should not be arbitrarily modified is declared public static without the final modifier.",
  "desc.CRITICAL_VARIABLE_IN_PUBLIC": "The Critical Public Variable checker finds critical variables that are declared public in a class.",
  "desc.CROSS_SITE_REQUEST_FORGERY": "The Cross-site Request Forgery checker finds form data transfers that are not made via the POST method.",
  "desc.CROSS_SITE_REQUEST_FORGERY.CSHARP": "Cross-site request forgery is an attack that causes an attacker to request an intended action (modification, deletion, registration, etc.) on a specific website, regardless of the user's intent.",
  "desc.CROSS_SITE_REQUEST_FORGERY.JS": "When sending Form Data, the attacker could produce unintended action through a malicious website in a verified user's session.",
  "desc.CROSS_SITE_REQUEST_FORGERY.PHP": "The Cross-site Request Forgery checker finds form data transfers that are not made via the POST method.",
  "desc.CROSS_SITE_REQUEST_FORGERY.PYTHON": "Cross-site Request Forgery is the attack that induces a user to submit unintended requests such as changes, deletions, registrations, etc. to a website as intended by an attacker.",
  "desc.CROSS_SITE_REQUEST_FORGERY_ASPNET": "Cross-site request forgery prevention tokens are vulnerable to cross-site request forgery attacks if you do not generate and pass a cross-site request forgery prevention token to your site in the form.",
  "desc.CROSS_SITE_REQUEST_FORGERY_CSHARP": "The Cross-site Request Forgery checker finds form data transfers that are not made via the POST method.",
  "desc.CROSS_STORAGE_CONTAMINATION.LOCAL_TO_SESSION.JS": "The Information Leak from localStorage to sessionStorage checker finds instances of moving data from a localStorage object to a sessionStorage object.",
  "desc.CROSS_STORAGE_CONTAMINATION.SESSION_TO_LOCAL.JS": "The Information Leak from sessionStorage to localStorage checker finds instances of moving data from a sessionStorage object to a localStorage object.",
  "desc.CSRF.NODEJS.JS": "Cross-site Request Forgery is the attack that induces a user to submit unintended requests such as changes, deletions, registrations, etc. to a website as intended by an attacker.",
  "desc.CTORS_SHOULD_NOT_HAVE_SIDE_EFFECT": "Do not assume that copy constructor invocations will not be elided.",
  "desc.CTYPE_VALUE_SHOULD_BE_USSIGNED_OR_EOF": "Functions in the <ctype.h> file accept integer arguments, but the argument value must be in the range of an unsigned char or be an EOF value to ensure normal behavior. If any other value is passed, it can cause undefined behavior.",
  "desc.CYCLOMATIC_COMPLEXITY_METRIC": "The Too Many Decision Points in Function checker finds functions whose internal decision points (if, while, and case statements) are more than the optionally specified number.",
  "desc.CallSuperFirst": "This checks if super() has been called at the beginning of the method.",
  "desc.CallSuperInConstructor": "It is a good practice to call super() in a constructor. If super() is not called but another constructor (such as an overloaded constructor) is called, this rule will not report it.",
  "desc.CallSuperLast": "This checks whether super has been called in the end of the method.",
  "desc.CastAddressToIntegerAtReturn": "Returning an address value in a function with integer return type is not portable.",
  "desc.CastIntegerToAddressAtReturn": "Returning an integer in a function with pointer return type is not portable.",
  "desc.CatchExceptionByValue": "Exception should be caught by reference.",
  "desc.CheckResultSet": "This checks if the value of the result of the navigation methods (next, previous, first, and last) of ResultSet is checked before being used.",
  "desc.CheckSkipResult": "The skip() method may skip a smaller number of bytes than requested.",
  "desc.ClarifyCondition": "Suspicious condition (assignment + comparison); Clarify expression with parentheses.",
  "desc.ClassCastExceptionWithToArray": "This checks for cases when ClassCastException occurring due to the Collection objects misusing toArray() method.",
  "desc.ClassNamingConventions": "This checks if class naming conventions are kept.",
  "desc.ClassWithOnlyPrivateConstructorsShouldBeFinal": "Classes with only private constructors should be final unless the constructor is called by an internal class.",
  "desc.CloneMethodMustImplementCloneable": "The method clone() should only be implemented if the class implements the Cloneable interface with the exception of a final method that only throws CloneNotSupportedException.",
  "desc.CloneThrowsCloneNotSupportedException": "This checks if a clone() method inside a class not declared final does not receive parameters and inherit CloneNotSupportedException.",
  "desc.CloseResource": "This checks if resources are closed after use.",
  "desc.CollapsibleIfStatements": "This checks for collapsible if statements using boolean short-circuit operators.",
  "desc.CommentSize": "This checks if a comment's length exceeds a predefined threshold.",
  "desc.CompareBoolExpressionWithInt": "Comparison of a boolean expression with an integer other than 0 or 1.",
  "desc.CompareObjectsWithEquals": "== is used for comparing objects. Using equals() instead of == is recommended for comparison of objects.",
  "desc.ComparisonError": "Expression '(X & 0x6) == 0x1' is always false.",
  "desc.ComparisonOfBoolWithBoolError": "Comparison of a variable having boolean value using relational (<, >, <= or >=) operator.",
  "desc.ComparisonOfFuncReturningBoolError": "Comparison of a function returning boolean value using relational (<, >, <= or >=) operator.",
  "desc.ComparisonOfTwoFuncsReturningBoolError": "Comparison of a function returning boolean value using relational (<, >, <= or >=) operator.",
  "desc.ConfusingTernary": "This checks for != in the conditional part of the ternary operator",
  "desc.ConsecutiveLiteralAppends": "This checks for consecutive calls for StringBuffer's append().",
  "desc.ConsistentReturn": "In Javascript, either a value must be returned or nothing must be returned throughout a function.",
  "desc.ConstructorCallsOverridableMethod": "This checks if virtual method is called within the parent class's constructor.",
  "desc.CopyCtorAndEqOperator": "The class 'class' has 'operator=' but lack of 'copy constructor'.",
  "desc.CopyCtorPointerCopying": "Value of pointer 'var', which points to allocated memory, is copied in copy constructor instead of allocating new memory.",
  "desc.CouplingBetweenObjects": "This checks if there are many different types of objects as a member.",
  "desc.CoutCerrMisusage": "Invalid usage of output stream.",
  "desc.CyclomaticComplexity": "This checks if the number of the statements that increase the complexity of the code such as if, while, for, case statements is over a certain threshold.",
  "desc.DANGEROUS_DOWNCAST": "The Invalid Integer Downcast checker finds instances of casting an integer to a narrower type.",
  "desc.DANGEROUS_EXTRACTION.PHP": "The Insecure Use of extract checker finds instances of using an unvalidated external input in extract() function.",
  "desc.DANGEROUS_FUNCTION.ASP": "This checks for dangerous functions in the asp source code.",
  "desc.DANGEROUS_FUNC_CAST": "The Cast of Dangerous Function Pointer checker finds instances in which a function pointer is cast to have a conflicting signature or a different return type.",
  "desc.DANGEROUS_USE_OF_TAINTED_VALUES": "The Use of Tainted Value checker finds instances of using tainted values without validation.",
  "desc.DATA_LEAK_BETWEEN_SESSIONS": "The Data Leak between Sessions checker finds instances in which a field is declared in a servlet in a multithreaded environment.",
  "desc.DATA_LEAK_BETWEEN_SESSIONS.CSHARP": "The Data Leak between Sessions checker finds instances in which a field is declared in a class implementing the IHttpHandler interface in a multithreaded environment.",
  "desc.DATA_LEAK_BETWEEN_SESSIONS.KOTLIN": "The Data Leak between Sessions checker finds instances in which a field is declared in a servlet in a multithreaded environment.",
  "desc.DATA_LEAK_BETWEEN_SESSIONS.URI": "Under certain circumstances, the cross-session data leak checker detects when a field variable is used in a servlet in a multithreaded environment.",
  "desc.DATA_STORING.SENSITIVE_INFORMATION.TOBE.JS": "The Storage of Sensitive Information in Dataset checker finds instances of storing sensitive information in a dataset.",
  "desc.DEALLOCATORS_MUST_NOT_THROW_EXCEPTIONS": "The Exception Thrown inside Memory Deallocator checker finds expressions that throw an exception inside a memory deallocation operator.",
  "desc.DEBUG_INFORMATION.WEB.CONFIG": "The Debugging Information Exposal checker finds settings that enable exposing debugging information.",
  "desc.DECLARE_AT_THE_BEGINNING_OF_BLOCK": "The Local Variable Declaration Not at Top of Function checker finds function definitions in which local variable declarations are not located at the top.",
  "desc.DECLARE_CONST_MEMBER_FUNCTION": "The Method Declaration without const checker finds instance in which a class method is not declared const even though it does not modify an object.",
  "desc.DECLARE_CONTROL_VARIABLES_WITHIN_FOR": "The Loop Control Variable Not Declared in for Loop checker finds for loops whose loop control variable is not declared within the loop but is from outside.",
  "desc.DECLARE_COPY_CONSTRUCTOR_PROTECTED": "The Public Declaration of Abstract Class Copy Assignment Operator checker finds abstract classes whose copy assignment operator has public accessibility.",
  "desc.DECLARE_DESTRUCTOR_FOR_RESOURCE_CLASS": "The Missing Definition of Destructor in Complicated Class checker finds certain kinds of classes in which a special method is not declared or defined.",
  "desc.DECLARE_DESTRUCTOR_USING_NEW": "The Missing Definition of Destructor in Dynamically Allocating Class checker finds certain kinds of classes in which a special method is not declared or defined.",
  "desc.DECLARE_EXPLICIT": "The Missing explicit Keyword checker finds constructors that take one argument but are not qualified with \"explicit.\"",
  "desc.DECLARE_EXPLICIT_ASSIGNMENT_OPERATOR_WHEN_TEMPLATED": "The Class with Template Does Not Have Copy Assignment Operator Definition checker finds classes with a template that do not define an explicit copy assignment operator.",
  "desc.DECLARE_EXTERNAL_OBJECT_ONLY_ONCE": "The Duplicate Declaration of extern Object or Function checker finds extern objects and functions declared in multiple header files.",
  "desc.DECLARE_EXTERN_IN_HEADER_FILES": "The Declaration in Invalid Header File checker finds instances that declaration is not performed in a header file as specified in rules.",
  "desc.DECLARE_NON_MEMBER_GENERIC_FUNC_IN_UNASSOCIATED_NAMESPACE": "The Non-member Template Function Definition in Namespace checker finds instances that a non-member template function is defined in relative namespaces.",
  "desc.DECLARE_OBJECTS_SHARED_BETWEEN_THREADS": "The Shared Object with Expired Storage Duration checker finds instances in which an object shared between threads has a shorter storage duration than the threads' lifetimes.",
  "desc.DECLARE_ONE_NAME_ONLY_IN_EACH_TYPEDEF": "The typedef Declaration of Multiple Types checker finds typedef statements that declare more than one type.",
  "desc.DECLARE_READ_ONLY_PARAMETERS": "The Non-const Qualified Parameter of Class Type checker finds instances in which a class-type parameter is declared not as a const reference.",
  "desc.DECLARE_SPECIAL_METHOD_FOR_RESOURCE_CLASS": "The Missing Definition of Special Method in Complicated Class checker finds certain kinds of classes in which a special method is not declared or defined.",
  "desc.DECLARE_SPECIAL_METHOD_USING_NEW": "The Missing Definition of Special Method in Dynamically Allocating Class checker finds certain kinds of classes in which a special method is not declared or defined.",
  "desc.DECLARE_STATIC_WHEN_UNLESS_EXTERNAL_LINKAGE": "The extern Object or Function not Externally Accessed but Declared in File Scope checker finds extern objects and functions that are not accessed from the outside but are declared in file scope.",
  "desc.DECLARE_TYPE_IN_HEADER_FILES": "The Definition That Must Be in Header checker finds instances in which an entity supposed to be defined in a header file is actually defined in a source file.",
  "desc.DECLARE_VARIABLE_INSIDE_SWITCH": "Do not declare variables inside a switch statement before the first case label.",
  "desc.DECLARE_VARIABLE_IN_MIDDLE_OF_BLOCK": "The Variable Declaration in Middle of Block checker finds instances of declaring a variable in the middle of a block, instead of in the beginning lines.",
  "desc.DECREMENT_ON_BOOLEAN": "The Use of Decrement Operator on Boolean checker finds code that performs decrement operation with -- operator on a boolean variable.",
  "desc.DEEPLY_NESTED.ABAP": "The Deeply Nested Control Statement checker finds too deeply nested control statements.",
  "desc.DEEPLY_NESTED_IF_STATEMENT.CSHARP": "The Deeply Nested if Statements checker finds code that uses nested if statements more than the specified number of levels.",
  "desc.DEEP_NESTING_BLOCKS": "The Block with Too Many Levels of Nesting checker finds functions that have too many levels of nesting.",
  "desc.DEFAULT_ARGUMENT_CONSISTENCY_WHEN_OVERRIDING": "The Overriding Function Takes Different Default Argument checker finds instances in which parameters in an overriding function do not use the same default arguments as the function they override.",
  "desc.DEFENSIVELY_COPY_MUTABLE_INPUTS_AND_MUTABLE_INTERNAL_COMPONENTS": "The Direct Use of Mutable Variable Input or Internal Component finds code that does not create a copy of the mutable object before it saves and returns it.",
  "desc.DEFINE_INLINE_IN_HEADER_FILES": "The Inline Definition in Invalid Header File checker finds instances that inline definition is not performed in a hear file as specified in rules.",
  "desc.DEFINE_OBJECT_AT_BLOCK_SCOPE": "The Global Variable Accessed Only in One Function checker finds instances in which a global variable is accessed only in one function.",
  "desc.DEFINE_SET_NEW_HANDLER": "The Missing Dynamic Allocation Handler checker finds a program that uses dynamic memory allocation but does not have a dynamic allocation handler defined.",
  "desc.DEFINE_TEMPLATE_IN_HEADER_FILES": "The Template Definition in Invalid Header File checker finds instances that template definition is not performed in a hear file as specified in rules.",
  "desc.DEFINE_WRAPPERS_AROUND_NATIVE_METHODS": "The Unwrapped Native Method checker finds a native method that is declared as private and called directly without using a wrapper method.",
  "desc.DENIAL_OF_SERVICE.REQUEST_FILE.JS": "The DoS through File Request checker finds instances of creating a file using an unvalidated external input.",
  "desc.DEPRECATED.DATA_BEGIN_OF_OCCURS.ABAP": "The Use of DATA BEGIN OF OCCURS Statement checker finds DATA BEGIN OF OCCURS statements.",
  "desc.DEPRECATED.FORM.ABAP": "The Use of FORM Statement checker finds FORM statements.",
  "desc.DEPRECATED.REFRESH_ITAB_FROM_TABLE.ABAP": "The Use of REFRESH FROM TABLE Statement checker finds REFRESH FROM TABLE statements.",
  "desc.DEREFERENCING_DOES_NOT_EXCEED_TWO_LEVELS": "The Expression with More than Two Levels of Dereferencing checker finds expressions that involve more than two dereference operations.",
  "desc.DESERIALIZATION_OF_UNTRUSTED_DATA.CSHARP": "The Deserialization of Untrusted Data checker finds code that uses an insecure deserialization method.",
  "desc.DESERIALIZATION_OF_UNTRUSTED_DATA.JS": "The Deserialization of Untrusted Data checker finds code that uses an insecure deserialization method.",
  "desc.DESERIALIZATION_OF_UNTRUSTED_DATA.KOTLIN": "The Deserialization of Untrusted Data checker finds code that uses insecure deserialization method or annotation.",
  "desc.DESERIALIZATION_OF_UNTRUSTED_DATA.OBJC": "The Deserialization of Untrusted Data checker finds code that uses an insecure deserialization protocol.",
  "desc.DESERIALIZATION_OF_UNTRUSTED_DATA.PHP": "The Deserialization of Untrusted Data checker finds code that uses an insecure deserialization method.",
  "desc.DESERIALIZATION_OF_UNTRUSTED_DATA.SWIFT": "The Deserialization of Untrusted Data checker finds code that uses an insecure deserialization protocol.",
  "desc.DESIGN.ABSTRACT_TYPE.CONSTRUCTOR.CSHARP": "A public type is abstract and has a public constructor.",
  "desc.DESIGN.ENUM.MISSING_ZERO_VALUE.CSHARP": "An enumeration does not define a member that has a value of zero, or defines zero member(s) in a way that could raise problems.",
  "desc.DESIGN.EVENT_HANDLER.NON_GENERIC.CSHARP": "A type contains a delegate that returns void, whose signature contains two parameters (the first an object and the second a type that is assignable to EventArgs), and the containing assembly targets .NET Framework 2.0.",
  "desc.DESIGN.FIELD.NOT_DISPOSABLE.CSHARP": "A class declares and implements an instance field that is a System.IDisposable type and the class does not implement IDisposable.",
  "desc.DESIGN.IDISPOSABLE.BAD_PATTERN.CSHARP": "IDisposable is not implemented correctly.",
  "desc.DESIGN.INDEXER.BAD_TYPE.CSHARP": "A public or protected type contains a public or protected indexer that uses an index type other than System.Int32, System.Int64, System.Object, or System.String.",
  "desc.DESIGN.INSTANCE_FIELD.VISIBLE.CSHARP": "An externally visible type has an externally visible instance field.",
  "desc.DESIGN.MEMBER_SIGNATURE.NESTED_GENERIC.CSHARP": "An externally visible member has a signature that contains a nested type argument.",
  "desc.DESIGN.NATIVE_FIELDS.NOT_DISPOSABLE.CSHARP": "A type references a System.IntPtr field, a System.UIntPtr field, or a System.Runtime.InteropServices.HandleRef field, but does not implement System.IDisposable.",
  "desc.DESIGN.NESTED_TYPE.VISIBLE.CSHARP": "An externally visible type contains an externally visible type declaration. Nested enumerations and protected types are exempt from this rule.",
  "desc.DESIGN.OVERLOAD_ADD_SUB.MISSING_EQUALS.CSHARP": "A public or protected type implements the addition or subtraction operators without implementing the equality operator.",
  "desc.DESIGN.PARAMETER.UNNECESSARY_DERIVED_TYPE.CSHARP": "A method declaration includes a formal parameter that is a derived type, and the method calls only members of the base type of the parameter.",
  "desc.DESIGN.PINVOKE_METHODS.INCORRECT_CLASS.CSHARP": "A method uses Platform Invocation Services to access unmanaged code and is not a member of one of the NativeMethods classes.",
  "desc.DESIGN.PROPERTY.WRITE_ONLY.CSHARP": "The public or protected property has a set accessor but does not have a get accessor.",
  "desc.DESIGN.REF_PARAMETER.OBJECT.CSHARP": "An externally visible method contains a reference parameter of type System.Object.",
  "desc.DESIGN.SEALED_CLASS.PROTECTED_MEMBER.CSHARP": "The Use of Invalid Access Modifier on sealed Class checker finds public sealed classes wherein a protected member or a nested protected class is declared.",
  "desc.DESIGN.STATIC_CLASS.NOT_SEALED.CSHARP": "A public or protected type contains only static members and is not declared with the sealed (NotInheritable) or static modifier.",
  "desc.DESIGN.STRING_METHOD.URI.CSHARP": "The name of a method contains \"uri\", \"Uri\", \"urn\", \"Urn\", \"url\", or \"Url\", and the method returns a string.",
  "desc.DESIGN.STRING_PARAMETER.URI.CSHARP": "A type declares a method with a string parameter whose name contains \"uri\", \"Uri\", \"urn\", \"Urn\", \"url\", or \"Url\" and the type does not declare a corresponding overload that takes a System.Uri parameter.",
  "desc.DESIGN.STRING_PROPERTY.URI.CSHARP": "A type declares a string property whose name contains \"uri\", \"Uri\", \"urn\", \"Urn\", \"url\", or \"Url\".",
  "desc.DESIGN.STRING_URI_METHOD.IMPROPER_OVERLOAD.CSHARP": "A type declares method overloads that differ only by the replacement of a string parameter with a System.Uri parameter, and the overload that takes the string parameter does not call the overload that takes the Uri parameter.",
  "desc.DESIGN.TYPE.OUTSIDE_NAMESPACE.CSHARP": "A public or protected type is defined outside the scope of a named namespace.",
  "desc.DESTRUCTORS_MUST_NOT_THROW_EXCEPTIONS": "The Throwing of Exception Out of Destructor checker finds destructors that throw an exception.",
  "desc.DESTRUCTOR_SHOULD_BE_VIRTUAL": "The Declaration of Destructor as Non-virtual Despite Virtual Function in Class checker finds classes that include a virtual function but does not declare the destructor virtual.",
  "desc.DESTRUCTOR_SHOULD_BE_VIRTUAL_IF_CLASS_HAS_VIRTUAL": "If a class contains any virtual member function then also its destructor must be virtual.",
  "desc.DIFFERENT_EXCEPTION_SPECIFICATION": "The Different Exception Specification checker finds instances that a single function has different exception specifications in different translation units.",
  "desc.DIFFERENT_FUNCTION_PTR_ASSIGN": "Different type of function pointer is assigned.",
  "desc.DIFFERENT_MUTEX_ON_CONDITION_VARIABLE": "Mutex and condition variable should be paired.",
  "desc.DIFFERENT_TYPE_DECLARATIONS": "The Declaration of Different Data Types on Same Line checker finds instances of declaring different data types on the same line.",
  "desc.DIRECTLY_APPEND_POINTER_AND_AMPERSAND": "The Pointer or Reference Operator Appended to Variable Name checker finds a variable name with a pointer or reference operator, such as asterisk or ampersand, appended in declaration.",
  "desc.DIRECT_MANAGEMENT_OF_CONNECTIONS": "The Direct Management of Connections checker finds calls to the DriverManager.getConnection() method, which allows the J2EE application directly manages connections.",
  "desc.DIRECT_USE_OF_INTEGER_LITERAL": "The Immediate Use of Integer Literal checker finds instances of directly using an integer literal other than -1, 0, and 1.",
  "desc.DIRECT_USE_OF_SOCKETS": "The Direct Use of Sockets checker finds instances of a J2EE program directly using sockets through the java.net.Socket class.",
  "desc.DIRECT_USE_OF_THREADS": "The Direct Use of Threads checker finds instances of a J2EE Web application directly using threads.",
  "desc.DIRECT_USE_OF_UNSAFE_JNI": "The Direct Use of Unsafe JNI checker finds instances of using the Java Native Interface (JNI) to call code written in another programming language.",
  "desc.DISABLED_HEADER_CHECKING.CSHARP": "The Missing Header Check checker finds code that disables a feature of header check.",
  "desc.DISABLED_HEADER_CHECKING.VBNET": "The Disabling of Header Check checker finds instances of disabling the header checking feature.",
  "desc.DISABLED_VIEW_STATE_MAC.CSHARP": "The Disabling of EnableViewStateMac checker finds instances of disabling the EnableViewStateMac attribute to false.",
  "desc.DISABLED_VIEW_STATE_MAC.VBNET": "The Disabling of View State MAC checker finds instances of disabling the view state MAC checking feature.",
  "desc.DISABLE_STRUTS_INPUT_VALIDATION_FRAMEWORK.CONFIG": "The Struts: Input Validation Framework not in Use checker finds code that does not use Struts validator framework for input.",
  "desc.DIVIDE_BY_ZERO": "The Division by Zero checker finds instances of division by zero.",
  "desc.DIVIDE_BY_ZERO.OBJC": "The Division by Zero checker finds instances of division by zero.",
  "desc.DIVIDE_BY_ZERO.RUST": "Division is a fundamental operation and is undefined when the denominator is zero, and in most cases it will cause runtime errors or panic to handle it.",
  "desc.DIVIDE_BY_ZERO_CSHARP": "The Division by Zero checker finds instances of division by zero.",
  "desc.DIV_BY_ZERO": "The Division by Zero checker finds instances of division by zero.",
  "desc.DIV_BY_ZERO.HORUS": "value when dividing by zero.",
  "desc.DIV_BY_ZERO.MISSING_CHECK": "The Division by Unidentified Zero checker finds instances in which a function argument or return to be used for a divisor is once checked for zero but later used again with no zero check.",
  "desc.DJANGO_BAD_SLEEP": "The Use of sleep() in django checker finds calls to the sleep() function made during a response to a request in a django application.",
  "desc.DJANGO_CONFIG_URL_HANDLER.PYTHON": "This is a vulnerability that may occur when an error is not handled or receives insufficient treatment; as a result sensitive information (for example, the system's internal information) will be included in the error information. It is also a security vulnerability caused by the improper handling of errors.",
  "desc.DJANGO_DEBUG_ENABLED": "The Information Exposure by django Debugging checker finds a django application setting file in which debug mode is set to on.",
  "desc.DJANGO_FILE_RESPONSE_MANIPULATION": "The Manipulation of django File Response checker finds instances of creating a FileResponse for a file path determined by an external input.",
  "desc.DJANGO_XSS.PYTHON": "Cross-site scripting (XSS) is an attack method that injects malicious code into websites. This attack typically targets application users, and may cause damage by the users to run a malicious code automatically.",
  "desc.DOUBLE.FORMAT_STRING.OBJC": "The Double String Formatting checker finds instances of formatting an already formatted string.",
  "desc.DOUBLE_CHECKED_LOCKING": "The Unnecessary Double-checked Locking checker finds instances of double-checked locking that is performed unnecessarily.",
  "desc.DOUBLE_CLOSE": "The Double-freeing of Resource finds attempts to close an already freed resource once again.",
  "desc.DOUBLE_CLOSE.CURSOR": "When using the PROC, do not free the resource that has already been freed (e.g. sql server). If this happens, undefined activity can occur and such situations will be detected.",
  "desc.DOUBLE_CLOSE.CURSOR_ARRAY": "When using the PROC, do not free the resource that has already been freed (e.g. sql server). If this happens, undefined activity can occur and such situations will be detected.",
  "desc.DOUBLE_CLOSE.RECORD": "When using the PROC, do not free the resource that has already been freed (Record).  If this happens, undefined activity can occur and such situations will be detected.",
  "desc.DOUBLE_CLOSE_THREAD": "The Double-freeing of Thread checker finds instances of performing both a join and a detach on the same thread.",
  "desc.DOUBLE_FREE": "The Double-freeing of Memory checker finds instances of freeing already freed memory.",
  "desc.DOUBLE_LOCK": "The Double Lock checker finds attempts to lock an already locked resource.",
  "desc.DOUBLE_OPEN": "The Double-accessing of Resource checker finds instances of attempting to open an opened file.",
  "desc.DOUBLE_UNLOCK": "The Double Unlock checker finds attempts to unlock an already unlocked resource.",
  "desc.DOWNLOAD_OF_CODE_WITHOUT_INTEGRITY_CHECK": "The Code Download without Integrity Check checker finds instances of downloading an executable code without checking its origin or integrity.",
  "desc.DOWNLOAD_OF_CODE_WITHOUT_INTEGRITY_CHECK.OBJC": "The Code Download without Integrity Check checker finds instances of downloading an executable code without checking its origin or integrity.",
  "desc.DOWNLOAD_OF_CODE_WITHOUT_INTEGRITY_CHECK.PYTHON": "Some products download source code or executables remotely and execute them without performing any integrity checks. This permits an attacker to execute a malicious code by compromising host servers, spoofing a DNS, compromising code during transfer, etc. The two main ways to check the integrity of files (and the relevant software) are encryption hash and digital signatures. It's safer to use hash to secure integrity, and use a proper code signature certificate if possible.",
  "desc.DOWNLOAD_OF_CODE_WITHOUT_INTEGRITY_CHECK.SWIFT": "The Code Download without Integrity Check checker finds instances of downloading an executable code without checking its origin or integrity.",
  "desc.DOWNLOAD_OF_CODE_WITHOUT_INTEGRITY_CHECK_CSHARP": "The Code Download without Integrity Check checker finds instances of downloading an executable code without checking its origin or integrity.",
  "desc.DO_DECL_VARS_AT_TOP_OF_FUNC": "The Variable Declaration in Middle of Function checker finds function definitions in which all variables are not declared and initialized at the top.",
  "desc.DO_NOT_ABRUPTLY_TERMINATE_THE_PROGRAM": "The Exception Thrown in Handler Registered with atexit() checker finds exit handlers registered with atexit() that throw an exception.",
  "desc.DO_NOT_ACCESS_ACCOUNT_INFORMATION": "Detect accessing account information.",
  "desc.DO_NOT_ACCESS_OVERLAPPING_STORAGE": "The Assignment between Union Fields with Overlapping Memory Area checker finds expression evaluations that include an assignment between two union fields having a mutually overlapping memory area.",
  "desc.DO_NOT_ACCESS_PRIVATE_MEMBER_OF_OUTER_CLASS": "The Access to Private Member of Nesting Class checker finds instances in which a nested class accesses a private member that belongs to its nesting class.",
  "desc.DO_NOT_ACCESS_SHARED_OBJECT_IN_HANDLER": "The Signal Handler's Access to Shared Object checker finds instances in which a signal function accesses a shared object.",
  "desc.DO_NOT_ALTER_CONTROL_VARIABLE_MORE_THAN_ONCE": "The Loop Control Variable Modified More Than Once checker finds loops in which the loop control variable is modified more than once in each iteration.",
  "desc.DO_NOT_APPEND_STRINGS": "The Use of + or += for String Concatenation checker finds instances of using the + operator on a string.",
  "desc.DO_NOT_ASSERT_AFTER_ATEXIT": "The Invalid Termination Function Handler checker finds assert() calls that are made after a handler already is registered with using the atexit() function.",
  "desc.DO_NOT_ASSIGN_ADDRESS_TO_WIDER_SCOPE": "The Assignment of Local Variable Address to Wide-scoped Variable checker find that expressions assign local variable addresses to variables at wide scope.",
  "desc.DO_NOT_ASSIGN_EXTERNAL_DATA_TO_MEMBER_VARIABLES": "The Unvalidated Method Argument checker finds code that assigns unvalidated external inputs to member variables.",
  "desc.DO_NOT_ASSUME_CONSTANT_WITH_EXPR": "The Assumption of Named Constant finds instances of assuming the value of an already named constant in an expression. Do not assume the value of a named constant such as BUFSIZ in an expression.",
  "desc.DO_NOT_ASSUME_ENV": "Do not use the function strcpy() to copy the size of an environment variable to fixed size array.",
  "desc.DO_NOT_AUTO_DIAL_SITE.SWIFT": "The Absence of Auto-dialing Attack Prevention checker finds instances of failure to implement any controls that prevent auto-dialing attacks when visiting malicious sites.",
  "desc.DO_NOT_BASE_SECURITY_CHECKS_ON_UNTRUSTED_SOURCES": "The Security Check for Untrusted Sources checker finds code that directly performs security checks without copying objects or arguments from untrusted sources.",
  "desc.DO_NOT_BASE_SECURITY_CHECKS_ON_UNTRUSTED_SOURCES_BAK": "Security checks based on untrusted sources are dangerous",
  "desc.DO_NOT_CALCULATE_SCALED_INT_TO_POINTER": "The Adjustment of Pointer Size for Pointer Operation checker finds instances of manually adjusting a pointer's size in order to perform an operation on the pointer.",
  "desc.DO_NOT_CALL_EXEC": "The Use of Runtime.exec checker finds calls to the dangerous method of Runtime.exec().",
  "desc.DO_NOT_CALL_FUNC_WITH_COMPLEX_VALUE": "Do not call functions expecting real values with complex values.",
  "desc.DO_NOT_CALL_RUN_FINALIZERS_ON_EXIT": "The Use of finalizer on Exit checker finds calls to the dangerous methods of Runtime.runFinalizersOnExit() and System.runFinalizersOnExit().",
  "desc.DO_NOT_CALL_SIGNAL_IN_MULTI_THREAD": "The Use of signal() in Multithreaded Environment checker finds calls to the signal() function made in a multithreaded program.",
  "desc.DO_NOT_CALL_SIGNAL_WITHIN_HANDLER": "The Race Condition Caused by Interrupt during Signal Handling checker finds race conditions caused by a signal() call from within an interruptible handler for a recurrable signal.",
  "desc.DO_NOT_CALL_STREAM_IN_METHOD": "The Multiple Buffer Wrappers on Single Byte or Character Stream checker finds two or more wrappers that are created and used for an object with non-blocking I/O, such as Scanner and BufferedInputStream.",
  "desc.DO_NOT_CALL_SYNCHRONIZED_METHOD_IN_LOOP": "The Use of Synchronized Method in Loop checker finds instances in which a method declared synchronized is called in a loop.",
  "desc.DO_NOT_CALL_THREAD_RUN": "The run method usage checker for the Thread class is detected by using Thread.run.",
  "desc.DO_NOT_CALL_UNLOCK_DIRECTLY_ON_MUTEX": "The Call to mutex_unlock() Function without Exception Handling checker finds calls to mutex_unlock() functions without exception handling.",
  "desc.DO_NOT_CAST_AWAY_CONST": "Do not cast away a const qualification",
  "desc.DO_NOT_CAST_FROM_INTEGRAL_TO_POINTER": "The Cast from Integer to Pointer checker finds expressions that cast an integer type to a pointer type.",
  "desc.DO_NOT_CAST_FROM_POINTER_TO_INTEGRAL": "The Cast from Pointer to Integer checker finds expressions that cast a pointer type to an integer type.",
  "desc.DO_NOT_CAST_FROM_VOID_POINTER_TO_POINTER": "The Cast of void Pointer checker finds instances of casting a void pointer to another pointer.",
  "desc.DO_NOT_CAST_GENERIC_ITERATOR": "The Meaningless Cast of Iterator checker finds instances in which the next() method called on an Iterator-type object and an unnecessary cast is performed on its return.",
  "desc.DO_NOT_CAST_INT_TO_ENUM": "The Cast from Integer to Enumerator checker finds instances of casting an integer to an enumerator.",
  "desc.DO_NOT_CAST_OR_DELETE_POINTER_TO_INCOMPLETE_CLASSES": "The Manipulation of Pointer to Incomplete Class checker finds expressions that cast or delete a pointer to an object of incomplete class type.",
  "desc.DO_NOT_CAST_TO_AN_OUT_OF_RANGE_ENUM_VALUE": "The Casting of Out-of-range Enum Value checker finds code that casts a value to enum, but fails to check its range within the range of the enum.",
  "desc.DO_NOT_CAST_TO_POINTER": "The Cast from General or Pointer Type to Another Pointer Type checker finds expressions that cast a general or pointer type to another pointer type.",
  "desc.DO_NOT_CHANGE_OF_LOOP_CONTROL_VARIABLE": "The loop control variable change prohibition checker detects when a control variable is changed within a for loop.",
  "desc.DO_NOT_CHANGE_PRECEDENCE_AND_ASSOCIATIVITY_OF_STANDARD_OPERATORS.SWIFT": "The Operator Precedence Change checker finds instances of changing a basic operator's precedence and associativity.",
  "desc.DO_NOT_COMMENT_IN_CODE_SECTION": "The Comment Present in Section of Code checker finds sections of code that are commented out.",
  "desc.DO_NOT_COMPARE_OR_INSPECT_THE_STRING_REPRESENTATION_OF_FLOATING_POINT_VALUES": "The Comparison with Floating-point Value in String Representation checker finds instances in which a double or float value is converted to a string and compared with another string.",
  "desc.DO_NOT_CONTAIN_UNUSED_LABEL_IN_FUNCTION": "The Useless Label checker finds labels that are not used in functions.",
  "desc.DO_NOT_CONVERT_FLOATING_TO_INTEGRAL": "The Cast from Real Number to Integer checker finds casts from a real number to an integer that are not through a standard library function.",
  "desc.DO_NOT_CREATE_INSTANCE_IN_LOOP": "The Creation of Instance in Loop checker finds cases in which a constructor creates an instance in a loop.",
  "desc.DO_NOT_DECLARED_INLINE_WITHIN_CLASS_DECLARATION": "The Method Definition inside Class Declaration checker finds inline methods defined inside class declarations.",
  "desc.DO_NOT_DECLARE_CONFLICTING_LINKAGE_CLASSIFICATIONS": "The Conflicting Storage Classes checker finds instances in which the declaration and definition of the same function or object use different conflicting storage classes.",
  "desc.DO_NOT_DECLARE_IN_LOOPS": "The Object Declaration in Loop checker finds instances of declaring an object in a loop.",
  "desc.DO_NOT_DECLARE_OR_DEFINE_RESERVED_ID": "The Use of Reserved Word as Identifier checker finds identifiers named with strings that may possibly be reserved words.",
  "desc.DO_NOT_DEFINE_VARIADIC_FUNCTIONS": "The Variable-length Arguments checker finds instances of allowing a variable number of arguments to be taken.",
  "desc.DO_NOT_DERIVE_FROM_VIRTUAL_BASE": "The Use of Virtual Inheritance checker finds child classes that are virtually inherited.",
  "desc.DO_NOT_DESTROY_A_MUTEX": "The Destruction of Locked Mutex checker finds expressions that destroy a mutex while it is locked.",
  "desc.DO_NOT_DISCARD_FUNCTION_RETURN_VALUE": "The Unused Function Return checker finds expressions that call functions without using their return values except some cases.",
  "desc.DO_NOT_EXPLICIT_FLOATING_INTEGRAL_CONVERSION": "The Cast of cvalue Expression checker finds instances of casting a cvalue expression.",
  "desc.DO_NOT_EXTERND_VALIDATION_CLASS": "The Inheriting Validation Class checker finds a class that inherits ActionForm or DynaActionForm class.",
  "desc.DO_NOT_GET_DEVICE_ID": "Detect retrieving IMEI, the unique ID of the device.",
  "desc.DO_NOT_GET_USIM_UNIQUE_ID": "Detect getting USIM serial number or subscriber id.",
  "desc.DO_NOT_HARDCODE_IPv4_ADDRESS.OBJC": "The Hardcoded IP checker finds hardcoded IPv4 addresses.",
  "desc.DO_NOT_HIDE_DEREFERENCE_OP": "The Hiding of Dereference Using Macro checker finds instances in which a dereferencing operation is hidden by defining it as a macro.",
  "desc.DO_NOT_HIDE_DEREFERENCE_OP_IN_TYPEDEF": "The Hiding of Dereference Using Custom Type checker finds instances in which a dereference operation is hidden by defining it as a custom type.",
  "desc.DO_NOT_IMPORT_ON_DEMAND": "The Type-import-on-demand Declaration checker finds import statements that use an asterisk (*).",
  "desc.DO_NOT_INCLUDE_COMMENT_IN_MACRO": "The Comment in Macro checker finds macro definitions that include a comment.",
  "desc.DO_NOT_INCLUDE_PATH_SPECIFIER": "The Path Separator in #include Statement checker finds #include statements that include a path separator in the directory.",
  "desc.DO_NOT_INC_ITER_WITH_VALUE_GREATER_THAN_ONE": "The Increase/Decrease Iterator by more than One checker finds increase/decrease operation on iterators by more than one.",
  "desc.DO_NOT_INSTANTIATE_OBJECTS_IN_LOOPS.CSHARP": "The Creation of Instance in Loop checker finds instances of creating an object in a loop.",
  "desc.DO_NOT_LET_EXTERNAL_PROCESSES_BLOCK_ON_IO_BUFFERS": "The indefinite Wait of External Process Caused by I/O buffer checker finds instances of using an external process that may be interrupted due to negligent management of the input or output buffer.",
  "desc.DO_NOT_LOCK_OR_UNLOCK_IN_LOOP": "The Change of Locking State in Loop checker finds instances of calling a locking or unlocking method in a loop.",
  "desc.DO_NOT_LOG_UNSANITIZED_USER_INPUT": "The Log Manipulation checker finds instances of printing out unvalidated user inputs in a log.",
  "desc.DO_NOT_MANIPULATE_TIME_T_DIRECTLY": "The Direct Manipulation of Time-related Variable checker finds expressions that directly manipulate a time_t variable.",
  "desc.DO_NOT_MIX_ARITHMETIC_PRECISION": "The Expression Involving Numbers with Different Arithmetic Precision checker finds expressions that involve numbers with different arithmetic precision.",
  "desc.DO_NOT_MIX_SIGNED_AND_UNSIGNED": "The Expression Involving Numbers with Different Signedness checker finds expressions that involve numbers with different signedness.",
  "desc.DO_NOT_MODIFY_KEY_OF_SET": "The Modification to Container Key checker finds expressions that modify the key of an object in a set or multiset container.",
  "desc.DO_NOT_MODIFY_PRIVATE_IN_PUBLIC_FUNCTION": "The Storage of External Data in Private Field checker finds instances of storing an externally accessible object in a private field.",
  "desc.DO_NOT_MODIFY_STATIC_MEMBER_IN_COPY_CONSTRUCTOR": "The Change of Static Field in Copy Constructor checker finds expressions to change values of static fields in copy constructors.",
  "desc.DO_NOT_MODIFY_THE_STANDARD_NAMESPACES": "The Alteration of Standard Namespace checker finds custom definitions of the std namespace.",
  "desc.DO_NOT_NOTIFY_IN_SYNCHRONIZED": "The Use of notify in Synchronized Block checker finds calls to the notify() method made in a synchronized block.",
  "desc.DO_NOT_OPERATE_ENUMERATOR": "The Invalid Enumerator Operation checker finds code that uses an enumerator for an operand of arithmetic operation.",
  "desc.DO_NOT_OPERATE_ON_FILES_IN_SHARED_DIRECTORIES": "The files in shared directory must be used with caution.",
  "desc.DO_NOT_OPERATE_ON_UNTRUSTED_FILE_LINKS": "The Use of Untrusted File Link checker finds instances of accessing a file without checking it for linkage to another file.",
  "desc.DO_NOT_OVERLOAD_FUNCTION_WITH_SPECIALIZATION": "The Ambiguous Call for Template Specialization Function checker finds specialized functions in which ambiguity occurs with other functions.",
  "desc.DO_NOT_OVERLOAD_LAND_LOR_COMMA": "The Comma or Logical Operator Overloading checker finds classes that overload the comma operator or a logical operator.",
  "desc.DO_NOT_OVERLOAD_NONVIRTUAL_FUNCTION": "The Hiding of Non-virtual Function from Base Class checker finds declarations of derived classes in which a non-virtual function from the base class is unavailable.",
  "desc.DO_NOT_OVERLOAD_NUMERIC_AND_POINTER": "The Function Overloading with Ambiguous Parameters Types checker finds overloaded functions whose parameter types may be indistinguishable-for example, one is a pointer and the other is number.",
  "desc.DO_NOT_OVERRIDE_ADDRESSOF": "The Overloading of Address Operator checker finds overloaded address operators in method declaration.",
  "desc.DO_NOT_READ_STREAM_IN_LOOP": "The Reading from Stream in Loop checker finds instances of calling the read() method on a stream in a loop.",
  "desc.DO_NOT_RECORD_MEDIA": "Detect recording media.",
  "desc.DO_NOT_RECURSIVELY_REENTER_DURING_INIT_STATIC": "The Static Variable Initialization with Recursive Function Call checker finds instances in which expressions for initializing a static variable include a call to a recursive function.",
  "desc.DO_NOT_REDEFINE_ERRNO": "The Redefinition of errno checker finds instances of redefining the errno variable in an individual source file.",
  "desc.DO_NOT_RELY_ON_ENUM_VALUE": "The Reliance on Enumerator's Integer Value checker finds instances of explicit comparison with an enumerator using its internal integer value.",
  "desc.DO_NOT_RELY_ON_THE_DEFAULT_AUTOMATIC_SIGNATURE_VERIFICATION": "The Use of Default Automatic-Signature Verification checker finds code that uses the default auto-signature verification only, but does not check that the signature is correct.",
  "desc.DO_NOT_RELY_ON_THE_WRITE_METHOD_TO_OUTPUT_INTEGERS_OUTSIDE_THE_RANGE_0_TO_255": "The Output of Invalid Integer via write checker finds instances of using the write() method to output an integer that does not fall within the range of 0 to 255.",
  "desc.DO_NOT_REMOVE_CONST": "The Casting Away const Qualifier checker finds expressions that cast a const-qualified object to a non-const type.",
  "desc.DO_NOT_REMOVE_VOLATILE": "The Casting Away Volatile Qualifier checker finds expressions that cast a volatile-qualified object to a non-volatile type.",
  "desc.DO_NOT_RETURN_PRIVATE_FIELD_OF_OUTER_CLASS": "The Return of Private Field of Nesting Class checker finds instances in which a nested class directly returns a private member that belongs to its nesting class.",
  "desc.DO_NOT_RETURN_SIGNAL_HANDLERS": "The Return from Computational Exception Signal Handler checker finds instances of implicitly or explicitly returning from a computational exception signal handler.",
  "desc.DO_NOT_REUSE_IDENTIFIER_NAME": "The Identically Named Identifiers checker finds identifiers with the identical names.",
  "desc.DO_NOT_REUSE_IDENTIFIER_WITH_EXTERNAL_LINKAGE": "The Duplicate Declarations of Identifier with External Linkage checker finds instances in which global identifiers with external linkage are declared once more at another level of scope.",
  "desc.DO_NOT_REUSE_IDENTIFIER_WITH_STATIC_STORAGE": "The Static Objects with Identical Names checker finds instances in which a name given at a declaration of a static object is reused elsewhere.",
  "desc.DO_NOT_REUSE_PUBLIC_IDENTIFIERS": "The Reuse of Public Identifier in Java Standard Library checker finds a class or interface identifier that is identically defined with a public identifier of the Java Standard Library.",
  "desc.DO_NOT_SEND_SMS": "Detect sending SMS message.",
  "desc.DO_NOT_SLEEP_OR_YIELD_WITHOUT_CONTROL": "The Uncontrolled Use of sleep or yield checker finds unconditional calls to the sleep() or yield() method.",
  "desc.DO_NOT_SPECIFY_BOUND_OF_ARRAY_FOR_STRING_LITERAL": "The Array with Specified Size Initialized to String checker finds array declarations that include initialization to a string literal while specifying the size of the array.",
  "desc.DO_NOT_STORE_RETURNED_POINTERS": "The Storage of Pointer Returned by Certain Function checker finds instances in which a pointer returned by one of certain standard library functions is stored in a mutable variable.",
  "desc.DO_NOT_THROW_ITSELF_CAUSE_EXCEPTION": "The Throw Involves Another Throw checker finds instances in which the assignment expression of a throw statement itself causes an exception to be thrown.",
  "desc.DO_NOT_THROW_NULL_REFERENCE_EXCEPTION.CSHARP": "The Throwing of NullReferenceException checker finds throw statements that throw a NullReferenceException exception.",
  "desc.DO_NOT_TREAT_ARRAYS_POLYMORPHICALLY": "The Array with Polymorphism checker finds code that assigns static pointer types to dynamic type objects.",
  "desc.DO_NOT_TYPEDEF_ARRAYTYPE": "The typedef Declaration of Array Type checker finds typedef statements that declare an array type.",
  "desc.DO_NOT_USE_ABORT_STREAM_OPENED": "The Inappropriate Approach to Termination checker finds calls to inappropriate termination functions.",
  "desc.DO_NOT_USE_ADJACENT_BINARY_OPERATOR": "The Violation of Binary Operator Spacing Rule checker finds instances in which a binary operator (except the . operator)  and the preceding or following operand is not separated by a space.",
  "desc.DO_NOT_USE_ANONYMOUS_LDAP_BIND.OBJC": "The Use of Anonymous LDAP Binding checker finds instances of using anonymous binding to execute an LDAP query.",
  "desc.DO_NOT_USE_ANYTHING_OTHER_THAN_CONSTANT_CLASS_INTERFACE_TYPE": "The constant class interface out-of-type checker detects when a constant class is not created as an interface.",
  "desc.DO_NOT_USE_ANYTHING_OTHER_THAN_DM_REGULAR_RETURN_VALUE": "The DM non-normal return value checker detects when a DM's return value is not of type IDataSet.",
  "desc.DO_NOT_USE_ANYTHING_OTHER_THAN_FM_REGULAR_RETURN_VALUE": "The FM non-normal return value prohibited checker detects when the return value of FM is not of type IDataSet.",
  "desc.DO_NOT_USE_ANYTHING_OTHER_THAN_PM_REGULAR_RETURN_VALUE": "The PM non-normal return value prohibited checker detects when the return value of a PM is not of type IDataSet.",
  "desc.DO_NOT_USE_ANYTHING_OTHER_THAN_PUBLIC_STATIC_FINAL_DIRECTIVES_WHEN_DECLARING_CONSTANTS": "The Do not use non-public static final directives when declaring constants checker detects when a constant declaration is not public static final.",
  "desc.DO_NOT_USE_ANYTHING_OTHER_THAN_REGULAR_LOG": "The Non-Integral Log (ILog) object prohibition checker detects the use of Log objects other than ILog objects.",
  "desc.DO_NOT_USE_ARRAY": "The Declaration of Array Variable checker finds instances of declaring a variable of an array type.",
  "desc.DO_NOT_USE_ARRAY_ACCESS": "The Access to Array with Array Expression checker finds instances of using the array operator ( [] ) in accessing an array object.",
  "desc.DO_NOT_USE_ASSIGN_OPERATOR_IN_EXPRESSION": "The Assignment Operation in Expression checker finds instances of including an assignment operation in an expression.",
  "desc.DO_NOT_USE_AUTO": "The Use of auto checker finds instances of using auto keywords.",
  "desc.DO_NOT_USE_A_COPY_OF_A_FILE_OBJECT": "The Copying FILE Object checker finds instances of copying an object of the standard library FILE type.",
  "desc.DO_NOT_USE_BIT_FIELD": "The Use of Bit-field Type checker finds declarations of member variables that are of a bit-field type.",
  "desc.DO_NOT_USE_BOOLEAN_VECTOR": "The Creation of Creation of Vector of bool checker finds declarations of variables that store a boolean object in a vector.",
  "desc.DO_NOT_USE_BREAK_CONTINUE": "Do not use the statements break and continue. The statements break and continue make the code path complicated.",
  "desc.DO_NOT_USE_BREAK_EXCEPT_SWITCH_STMT": "The Use of break Not in switch Statement checker finds instances of using a break statement not in a switch statement.",
  "desc.DO_NOT_USE_BREAK_WITH_LABEL": "The Labeled break Statement checker finds instances of using a labeled break to specify the loop to terminate.",
  "desc.DO_NOT_USE_COMMA_OPERATOR": "The Use of Comma Operator checker finds expressions that perform comma operations.",
  "desc.DO_NOT_USE_COMMIT.XSQL.CONFIG": "The No COMMIT in SQL statements checker detects when you use COMMIT within SQL statements.",
  "desc.DO_NOT_USE_CONSTANTS_AND_UTIL_CLASSES_OUTSIDE_OF_THE_CONSTS_PACKAGE": "The Don't use constants/utils outside of .consts package checker detects when the parent package of a constant/util class is not consts.",
  "desc.DO_NOT_USE_CONSTANT_OF_INNER_CLASS": "The Constant of Inner Class checker finds instances in which a constant variable declared static final in an inner class is directly referenced by an outer class.",
  "desc.DO_NOT_USE_CONST_FOR_SYMBOLIC_CONSTANT": "The Use of Magic Number of String Instead of Constant checker finds occurrences of a magic number or string that are directly used in code, instead of being represented by a symbolic constant.",
  "desc.DO_NOT_USE_CSTDIO": "The Use of cstdio Header checker finds preprocessor with cstdio header file.",
  "desc.DO_NOT_USE_CSTRING": "The Use of cstring Header checker finds preprocessor with cstring header file.",
  "desc.DO_NOT_USE_CTIME": "The Use of ctime Header checker finds preprocessor with ctime header file.",
  "desc.DO_NOT_USE_C_STYLE_ALLOCATION": "The Use of C Style Memory-related Function checker finds an expression with c-style memory function to allocate or free a class type.",
  "desc.DO_NOT_USE_C_STYLE_CASTING": "The Use of C-style Cast checker finds expressions that use a C-style type cast in source code.",
  "desc.DO_NOT_USE_DANGEROUS_FUNCTIONS": "The Use of Dangerous Function checker finds instances of using a function known to be dangerous.",
  "desc.DO_NOT_USE_DANGEROUS_FUNCTIONS.OBJC": "The Use of Dangerous Function checker finds instances of using a function known to be dangerous.",
  "desc.DO_NOT_USE_DECLARED_VARIABLE_IN_LOOP": "The Prohibit Variable Declaration in Loops checker detects when you assign a constant to a variable inside a While or for loop block.",
  "desc.DO_NOT_USE_DECODE.XSQL.CONFIG": "The Don't Use DECODE Statement checker detects the use of DECODE within SQL syntax.",
  "desc.DO_NOT_USE_DEFAULT_ARGUMENT_WITH_OVERLOADED": "The Use of Default Argument in Overloaded Function checker finds overloaded functions that take a default argument.",
  "desc.DO_NOT_USE_DEF_WITHIN_A_BLOCK": "The Use of #define or #undef in Block checker finds instances of using the #define or #undef preprocessor directive within a function block.",
  "desc.DO_NOT_USE_DEPRECATED_API": "The Use of Deprecated API checker finds instances of using a deprecated API.",
  "desc.DO_NOT_USE_DEPRECATED_FUNCTIONS": "The Call to Obsolete Functions checker finds calls to forbidden functions that are obsolete and no longer used.",
  "desc.DO_NOT_USE_DIGRAPH": "The Use of Digraph checker finds instances of using a digraph.",
  "desc.DO_NOT_USE_DOWHILE": "You used a Do-while statement.",
  "desc.DO_NOT_USE_DO_WHILE": "The Use of Do-While Statement checker finds do-while statements.",
  "desc.DO_NOT_USE_DU_WITHOUT_DATA_UNIT_INHERITANCE": "The disable DU without DataUnit inheritance checker detects when a DU does not inherit from pobis.framework.base.DataUnit.",
  "desc.DO_NOT_USE_DYNAMICALLY_ALLOCATED_ARRAYS": "The Use of Dynamically Allocated Array checker finds instances of declaring a dynamically allocated array.",
  "desc.DO_NOT_USE_DYNAMIC_ALLOCATION": "The Use of Dynamic Allocation checker finds expression uses dynamic allocation.",
  "desc.DO_NOT_USE_ERRNO": "The Use of errno Directive checker finds errno directives.",
  "desc.DO_NOT_USE_EXPERIMENTAL_FIREFOX": "Avoid using experimental Firefox identifiers.",
  "desc.DO_NOT_USE_EXPERIMENTAL_MS": "Avoid using experimental explorer identifiers.",
  "desc.DO_NOT_USE_EXPERIMENTAL_OPERA": "Avoid using experimental opera identifiers.",
  "desc.DO_NOT_USE_EXPERIMENTAL_WEBKIT": "Avoid using experimental webkit identifiers.",
  "desc.DO_NOT_USE_EXTERN_OR_STATIC": "The Use of static or extren checker finds variable and function declarations that use the static or extren keyword.",
  "desc.DO_NOT_USE_EXTRA_CHARACTER_AFTER_PREPROCESSOR": "The Preprocessor Statement Followed by Extra Characters checker finds instances in which a preprocessor statements is written normally but then followed by extra characters other than a space.",
  "desc.DO_NOT_USE_FENV_EXCEPTIONS": "The Forbidden Use of Exception Handling of fenv.h Header checker finds instances of using an exception handling function provided by the fenv.h header.",
  "desc.DO_NOT_USE_FENV_H": "The exception handling feature of <fenv.h> should not be used",
  "desc.DO_NOT_USE_FINDDOMNODE.REACT": "React supports `findDOMNode` to search a tree and find a DOM node based on the specified class instance. However, using `findDOMNode` can lead to breaking the abstraction by allowing a parent component to render a specific child component.",
  "desc.DO_NOT_USE_FLOAT_AS_LOOP_COUNTERS": "The Float Type Loop Counter checker finds instances of using a float-point variable as a loop counter.",
  "desc.DO_NOT_USE_FLOAT_TYPE_FOR_LOOP_INDICES": "The Use float type in iteration index checker detects when a float type is used as the index of an iteration.",
  "desc.DO_NOT_USE_FORBIDDEN_FUNC": "Do not use the functions that are prohibited in the option.",
  "desc.DO_NOT_USE_FORBIDDEN_TYPE": "Do not use the types that are prohibited in the option.",
  "desc.DO_NOT_USE_FUNCTION_LIKE_MACRO": "The Use of Macro Function checker finds instances of defining a macro function.",
  "desc.DO_NOT_USE_FU_WITHOUT_FUNCTION_UNIT_INHERITANCE": "The disable FU without FunctionUnit inheritance checker detects when an FU does not inherit from pobis.framework.base.FunctionUnit.",
  "desc.DO_NOT_USE_GETLOGIN_IN_MULTI_THREAD": "The Use of getlogin() in Multithreaded Environment checker finds instances of using the getlogin() function in a multithreaded environment to get a user account.",
  "desc.DO_NOT_USE_GIF_FORMAT": "Do not use the GIF format.",
  "desc.DO_NOT_USE_GOTO_STATEMENT": "The Noncompliant Use of goto Statement checker finds goto statements that do not comply with the given restrictions.",
  "desc.DO_NOT_USE_HARD_CODING": "The Violation of Hardcoding Prohibition checker finds instances of violating an optional hardcoding prohibition setting.",
  "desc.DO_NOT_USE_HARD_CODING.CALL": "The Hardcoded Argument Passed in Function Call checker finds calls to optionally specified functions that put a hardcoded argument in a forbidden position.",
  "desc.DO_NOT_USE_HARD_CODING.INITIALIZATION": "The Variable Initialization into Hardcoded Value checker finds instances of initializing a variable into a hardcoded value.",
  "desc.DO_NOT_USE_HARD_CODING.IP_ADDRESS.CSHARP": "The Hardcoded IP checker finds hardcoded IP addresses.",
  "desc.DO_NOT_USE_HARD_CODING.IP_ADDRESS.SWIFT": "The Hardcoded IP checker finds hardcoded IP addresses.",
  "desc.DO_NOT_USE_HARD_CODING.LITERAL": "The Hardcoding Disallow checker detects the use of strings (literals) in source code.",
  "desc.DO_NOT_USE_HARD_CODING.NUMBER": "The Hardcoded Numeric Constant checker finds instances of using an integer or real number constant directly in a function argument or expression.",
  "desc.DO_NOT_USE_HARD_CODING.PASSWORD": "The Hardcoded Password checker finds calls to SQLConnect() that pass a hardcoded password.",
  "desc.DO_NOT_USE_HARD_CODING.USERNAME": "The Hardcoded User Account checker finds calls to SQLConnect() that pass a hardcoded user account.",
  "desc.DO_NOT_USE_HEXADECIMAL_ESCAPE": "The Use of Hexadecimal Escape Sequence checker finds expressions that use an hexadecimal escape sequence.",
  "desc.DO_NOT_USE_HTTP_PROTOCOL": "Communication over HyperText Transfer Protocol (HTTP) can leave packets at risk of eavesdropping. To prevent this, HTTPS adds SSL, a secure communication, to HTTP.",
  "desc.DO_NOT_USE_HTTP_PROTOCOL.SWIFT": "The Transfer over HTTP checker finds data transfers to a server over the HTTP protocol.",
  "desc.DO_NOT_USE_IF_DIRECTIVE": "The Use of #if Directive checker finds instances of using the #if preprocessor directive.",
  "desc.DO_NOT_USE_IMPLICIT_DECLARED_FUNCTION": "The Implicit Function Declaration checker finds implicit declarations of functions.",
  "desc.DO_NOT_USE_IMPORTANT_FLAG": "The !important flag should not be used.",
  "desc.DO_NOT_USE_INLINE": "The Inline Declaration of Method checker finds class methods declared as inline.",
  "desc.DO_NOT_USE_INSTANCE_OF_IN_CATCH": "The Don't use instanceof in catch statements checker detects when you use instanceof inside a catch block.",
  "desc.DO_NOT_USE_IO_WITHOUT_BUFFER_PROCESSING": "The Do Not Use I/O Without Buffer checker detects when methods on a FileStream are used directly without a BufferedStream.",
  "desc.DO_NOT_USE_IPv4.SPECIFIC_APIS.OBJC": "The Use of IPv4-specific API checker finds instances of using IPv4-specific APIs, which are now obsolete.",
  "desc.DO_NOT_USE_LABEL_STATEMENT": "The Forbidden Use of Label Statement checker finds instances of using a label statement.",
  "desc.DO_NOT_USE_LONGJMP": "The Use of longjmp() Function checker finds instances of using longjmp() function.",
  "desc.DO_NOT_USE_LOWERCASE.XSQL.CONFIG": "The SQL Non-Capitalization checker detects the use of lowercase letters within SQL syntax.",
  "desc.DO_NOT_USE_MODULAR": "The Use of Division Operation checker finds modulo operations (%).",
  "desc.DO_NOT_USE_MULTILINE_IN_SINGLECOMMENT": "The One-line Comment Spanning Multiple Lines checker finds one-line comments that start with \"//\" and use backslashes to span multiple lines.",
  "desc.DO_NOT_USE_NESTED_TRY": "The Nested try Statement checker finds instances in which a try statement nests another try statement.",
  "desc.DO_NOT_USE_NON_CONST_FUNCTION_POINTER": "Non-constant pointers to functions should not be used.",
  "desc.DO_NOT_USE_NON_STANDARD_CHARACTERS": "The #include Filename with Non-standard Character checker finds #include preprocessor statements that are passed with a filename including non-standard characters.",
  "desc.DO_NOT_USE_NOTIFY": "The Use of notify checker finds direct calls to the notify() method.",
  "desc.DO_NOT_USE_NOT_NULL_ASSERTION_OPERATOR.KOTLIN": "The Dereference of Null Return Value checker finds instances of dereferencing a return value without checking it for null.",
  "desc.DO_NOT_USE_NULL_MACRO": "The Use of Null Macro checker finds expressions that use a null macro.",
  "desc.DO_NOT_USE_OCTAL": "The Use of Octal Number checker finds expressions that use an octal number.",
  "desc.DO_NOT_USE_OCTAL_ESCAPE": "The Use of Octal Escape Sequence checker finds expressions that use an octal escape sequence.",
  "desc.DO_NOT_USE_OFFSETOF_MACRO": "The Use of offsetof Macro checker finds instances of using a offsetof macro.",
  "desc.DO_NOT_USE_OTHER_THAN_REGULAR_MEMBER_VARIABLE": "The non-regular member variable usage disallow checker detects unauthorized member variable usage.",
  "desc.DO_NOT_USE_PARAMETERS_OTHER_THAN_DM_PARAMETERS": "The DM Non-Canonical Parameters checker detects when a parameter in DM is not of type IDataSet, IOnlineContext.",
  "desc.DO_NOT_USE_PARAMETERS_OTHER_THAN_FM_PARAMETERS": "The FM Non-Canonical Parameters checker detects when a parameter in FM is not of type IDataSet, IOnlineContext.",
  "desc.DO_NOT_USE_PARAMETERS_OTHER_THAN_PM_PARAMETERS": "The PM's non-normal parameters checker detects when a PM's parameters are not of type IDataSet, IOnlineContext.",
  "desc.DO_NOT_USE_POINTER_ARITHMETIC": "The Arithmetic Operation on Pointer checker finds instances of performing an arithmetic operation on a pointer.",
  "desc.DO_NOT_USE_PRAGMA": "The Use of Compiler-dependent #pragma checker finds instances of using #pragma, which is a preprocessor directive used to access compiler- or platform-specific preprocessor extensions.",
  "desc.DO_NOT_USE_PRINTF": "The Use of Obsolete Function checker finds instances of using the printf() function.",
  "desc.DO_NOT_USE_PTHREAD_KILL": "The Use of pthread_kill() checker finds calls to the pthread_kill() function.",
  "desc.DO_NOT_USE_PUBLIC_FIELD": "The Use of Public Field checker finds instances of applying the public modifier to a field declaration.",
  "desc.DO_NOT_USE_PUBLIC_METHODS_OTHER_THAN_PU_AND_PM": "The Prohibit PU, non-PM public methods checker detects the presence of non-PM public methods in a PU.",
  "desc.DO_NOT_USE_PU_WITHOUT_PROCESS_UNIT_INHERITANCE": "The Disable PU without ProcessUnit inheritance checker detects when a PU does not inherit from pobis.framework.base.ProcessUnit.",
  "desc.DO_NOT_USE_RECURSION": "The Prohibited Recursive Call checker finds instances of using a recursive call in a function definition.",
  "desc.DO_NOT_USE_REGISTER": "The Use of register checker finds instances of using register keywords.",
  "desc.DO_NOT_USE_RESERVED_IN_MACRO": "The Macro Named after Reserved Word checker finds macros that are named after a reserved word.",
  "desc.DO_NOT_USE_RESTRICT": "The Use of Forbidden Restrict Qualifier checker finds instances of using the restrict type qualifier.",
  "desc.DO_NOT_USE_ROLLBACK.XSQL.CONFIG": "The No COMMIT in SQL Statement checker detects the use of ROLLBACK within SQL statements.",
  "desc.DO_NOT_USE_SAME_NAME_IN_NESTED": "The Identically Named Identifiers at Different Levels of Scope checker finds instances in which identically named identifiers are used at different levels of scope.",
  "desc.DO_NOT_USE_SAME_SPELLING_IN_ANOTHER_NAMESPACE": "The Identically Named Identifiers in Different Namespaces checker finds instances in which identifiers belonging to different namespaces share the same name.",
  "desc.DO_NOT_USE_SELECT_ASTERISK.XSQL.CONFIG": "The SELECT * Don't Use checker detects when SELECT * is used within SQL syntax.",
  "desc.DO_NOT_USE_SEMICOLON_AFTER_PREPROCESSOR": "The Preprocessor Statement Ending with Semicolon checker finds instances in which a preprocessor statements is written normally but then ends with a semicolon.",
  "desc.DO_NOT_USE_SEQ_IN_ORDER_BY.XSQL.CONFIG": "The Don't use order values in ORDER BY clauses checker detects when you use order values in an ORDER BY clause.",
  "desc.DO_NOT_USE_SERVERSOCKET": "The Use of Socket Class checker finds java.net.Socket or java.net.ServerSocket class.",
  "desc.DO_NOT_USE_SETJMP": "The Use of setjmp Macro checker finds expressions with setjmp macros.",
  "desc.DO_NOT_USE_SETJMP_H": "The standard header file <setjmp.h> shall not be used",
  "desc.DO_NOT_USE_SETLOCALE": "The Use of setlocale Function checker finds instances of calling setlocale() function from locale.h library.",
  "desc.DO_NOT_USE_SHARP_OPERATOR": "The Use of # or ## checker finds macro definitions that use the # or ## operator.",
  "desc.DO_NOT_USE_SHIFT_ON_SIGNED_VALUE": "Detect use of shift on types with signs such as short, int, long, float and double.",
  "desc.DO_NOT_USE_SHORT": "The Use of short Type checker finds instances of using the short type.",
  "desc.DO_NOT_USE_SIGNAL": "The Use of Use of signal() checker finds calls to the signal() function.",
  "desc.DO_NOT_USE_SIGNAL_HANDLING": "The Use of Signal Handling checker finds instances of using the signal handling specified in the signal.h header.",
  "desc.DO_NOT_USE_SIZEOF_ON_ARRAY_PARAM": "The Use of sizeof operator for Array Type checker finds instances of calling the sizeof() function on an array variable passed in a function.",
  "desc.DO_NOT_USE_SIZEOF_ON_PTR": "The Use of sizeof operator for Pointer Type checker finds instances of using the sizeof() operator on a pointer type.",
  "desc.DO_NOT_USE_SMS.SWIFT": "The Use of SMS Features checker finds actions relating to short message service (SMS).",
  "desc.DO_NOT_USE_STATIC_IN_HEADER": "The Use of Static Qualifier in Header File checker finds instances of applying a static qualifier to a function or variable in a header file.",
  "desc.DO_NOT_USE_STDARG_FEATURE": "The Forbidden Use of stdarg.h Header Function checker finds instances of using the stdarg.h header.",
  "desc.DO_NOT_USE_STDARG_H": "The features of <stdarg.h> shall not be used",
  "desc.DO_NOT_USE_STDIO_H": "The Use of stdio checker finds instances of using stdio.h.",
  "desc.DO_NOT_USE_STL_CONTAINER_AS_PUBLIC_BASE_CLASSES": "The Inheritance from STL Container checker finds classes that inherit from an STL container.",
  "desc.DO_NOT_USE_STRING_OPERATION_IN_LOG": "The Prohibit string operation (+) in logs checker detects the use of the \"+\" operator when using log records.",
  "desc.DO_NOT_USE_STYLELINT_DISABLE": "The stylelint-disable tag must be removed.",
  "desc.DO_NOT_USE_STYLELINT_ENABLE": "You need to remove the stylelint-enable tag.",
  "desc.DO_NOT_USE_SYNCHRONIZED_STATEMENT": "The Use of Synchronized Statement checker finds all synchronized statements.",
  "desc.DO_NOT_USE_SYSTEM": "The Use of system() checker finds calls to system().",
  "desc.DO_NOT_USE_SYSTEM.OBJC": "The Call to Forbidden system Function checker finds calls to a system() function.",
  "desc.DO_NOT_USE_SYSTEM_COLOR": "Don't use deprecated system colors.",
  "desc.DO_NOT_USE_TERNARY_OPERATOR": "The Use of Ternary Operator checker finds instances of using a ternary operator.",
  "desc.DO_NOT_USE_TGMATH_H": "The Use of Forbidden tgmath.h Header checker finds instances of using the standard header tgmath.h.",
  "desc.DO_NOT_USE_THREAD_INHERITANCE": "The Thread inheritance prohibition checker detects if any class inherits from Thread.",
  "desc.DO_NOT_USE_THROWABLE_FUNCTION_IN_COPY_ASSIGNMENT": "The Throwing of Exception Out of Copy Assignment Operator checker finds copy assignment operators that implement a swap logic throwing an exception.",
  "desc.DO_NOT_USE_THROW_IN_CTOR_OR_DTOR": "The Exception Thrown from Constructor or Destructor check finds constructors and destructors that throw an exception.",
  "desc.DO_NOT_USE_TRIGRAPH": "The Use of Trigraph checker finds expressions that include a trigraph sequence.",
  "desc.DO_NOT_USE_UNBOUNDED_AGGREGATE_TYPE": "The Use of C-style Array checker finds C-style array declarations.",
  "desc.DO_NOT_USE_UNDEF": "The Use of #undef checker finds instances of using the #undef preprocessor directive.",
  "desc.DO_NOT_USE_UNDEFINED_MACRO_IDENTIFIERS": "The Use of Undefined Macro Identifier checker finds preprocessors that use non-predefined macro identifiers.",
  "desc.DO_NOT_USE_UNION": "The Use of Union checker finds declarations of unions.",
  "desc.DO_NOT_USE_UNUSED_MACRO_GLOBAL": "The Useless Macro Declaration checker finds macro declarations that are not used anywhere in the project.",
  "desc.DO_NOT_USE_UNUSED_TAG_GLOBAL": "The Useless Tag Declaration checker finds tag declarations that are not used anywhere in the project.",
  "desc.DO_NOT_USE_UNUSED_TYPE_GLOBAL": "The Useless Type Declaration checker finds type declarations that are not used anywhere in the project.",
  "desc.DO_NOT_USE_USING_DIRECTIVE": "The Use of using Directive checker finds a using directive instead of explicit namespace directive or using declaration.",
  "desc.DO_NOT_USE_VARIABLE_LENGTH_ARRAY": "The Use of Variable-length Array checker finds instances of declaring a static array of undefined size.",
  "desc.DO_NOT_USE_VFORK": "The Use of vfork() checker finds a vfork() call followed by an execve() call.",
  "desc.DO_NOT_USE_VOLATILE": "The Use of volatile checker finds instances of using the volatile modifier.",
  "desc.DO_NOT_USE_VOLATILE_IN_COMPLEX_EXPRESSION": "The Volatile Variable in Complex Expression checker finds complex expressions in which the same volatile-qualified variable occurs more than once.",
  "desc.DO_NOT_USE_WIDE_CHARACTER": "The Use of Wide String checker finds instances of using a wide string.",
  "desc.DO_NOT_USE_WITH.SQL": "The Do Not Use WITH Clause checker detects when you use a WITH clause within a SQL query.",
  "desc.DO_NOT_USE_WITH.SQL.CONFIG": "The Do Not Use WITH Clause checker detects when you use a WITH clause within a SQL query.",
  "desc.DO_NOT_VIOLATE_CONSTRAINTS": "The Violation of Constraints for extern inline Function checker finds instances in which an extern inline function accesses an object whose scope is not as wide as the function.",
  "desc.DO_NOT_WAIT_IN_SYNCHRONIZED_WITHOUT_CONTROL": "The Uncontrolled Call to wait() in Synchronized Block checker finds synchronized blocks that contain uncontrolled calls to the wait() method.",
  "desc.DO_NOT_WRITE_CONFUSED_CHARACTER": "The Identifier with Confusing Characters checker finds identifiers that include both the number \"1\" and lowercase \"l\" or both the number \"0\" and uppercase \"O.\"",
  "desc.DROPPED_ERROR_PAGE_J2EE.CONFIG": "If the custom error page is missing, the default error page is displayed to the user. The default error page can contain internal information about the server, which can be useful to attackers.",
  "desc.DUPLICATED.DESIGNATED_INIT": "The Duplicate Initializer in Designator List checker finds instances in which the same item is marked twice or more in a designator list.",
  "desc.DUPLICATED_SECURITY_ROLE.CONFIG": "The Duplicate Security Role checker finds duplicate security roles.",
  "desc.DUPLICATED_SERVLET_MAPPING.CONFIG": "The Duplicate Servlet Mapping checker finds duplicate servlet mappings.",
  "desc.DUPLICATE_CONDITION_IN_IF_SWITCH.SWIFT": "The Redundant Condition Check checker finds if and switch statements that contain a redundant condition check.",
  "desc.DYNAMIC_CODE_EVALUATION.VBS": "The Injection into Dynamic Evaluation Code checker finds instances of using unvalidated external inputs in dynamic evaluation code.",
  "desc.DYNAMIC_CODE_MANIPULATION": "The Dynamic Code Manipulation checker finds code that uses unvalidated external input without filtering.",
  "desc.DYNAMIC_CODE_MANIPULATION.JS": "The Dynamic Code Manipulation checker finds code that uses $where operator in a call to db.collection.find() function.",
  "desc.DYNAMIC_CODE_MANIPULATION.KOTLIN": "The Dynamic Code Manipulation checker finds code that uses unvalidated external input without filtering.",
  "desc.DYNAMIC_CODE_MANIPULATION.PHP": "The Dynamic Code Manipulation checker finds code that uses unvalidated external input without filtering.",
  "desc.DYNAMIC_CODE_MANIPULATION.PYTHON": "A security weakness that allows an attacker to inject code to change the intended behavior of the software, causing the software to behave abnormally. If you allow functions to execute dynamic code in response to user input, there is a risk that they could execute code that the developer did not intend, allowing them to take over privileges, bypass authentication, or execute system commands.",
  "desc.DYNAMIC_CODE_MANIPULATION_CSHARP": "The Dynamic Code Manipulation checker finds code that uses unvalidated external input without filtering.",
  "desc.DYNAMIC_TYPE_IN_CTOR_OR_DTOR": "An object's dynamic type shall not be used from the body of its constructor or destructor.",
  "desc.DataflowAnomalyAnalysis": "The dataflow analysis tracks local definitions, undefinitions and references to variables on different paths on the data flow.",
  "desc.DefaultLabelNotLastInSwitchStmt": "This checks for cases when default statement exists in the switch statement, but is not last.",
  "desc.DefaultPackage": "This checks if default package private level has been used instead of explicit scope.",
  "desc.DoNotCallGarbageCollectionExplicitly": "This checks if System.gc(), Runtime.gc() or System.runFinalization() is called.",
  "desc.DoNotExtendJavaLangError": "This checks if Exception inherits from java.lang.Error.",
  "desc.DoNotHardCodeSDCard": "This checks if /sdcard is used instead of Environment.getExternalStorgeDirectory() to get SD Card's storage directory.",
  "desc.DoNotThrowExceptionInFinally": "This checks if exception is thrown in the finally block.",
  "desc.DontCallThreadRun": "This checks if Thread.run() method is directly called from external environment.",
  "desc.DontImportJavaLang": "This checks for importing java.lang.",
  "desc.DontImportSun": "This checks for importing sun.* package. This package may not be portable as there is a possibility of it changing.",
  "desc.DontNestJsfInJstlIteration": "This checks if custom action is in the iterate statement in the JSF component's body",
  "desc.DontUseFloatTypeForLoopIndices": "This checks if float is used as a loop's index.",
  "desc.DoubleCheckedLocking": "Partially created objects can be returned by the Double Checked Locking pattern when used in Java. This is not thread safe.",
  "desc.DuplInheritedMember": "The class defines member variable with name also defined in its parent class.",
  "desc.DuplicateImports": "This checks for duplicate import statements",
  "desc.DuplicateJspImports": "This checks for duplicate import statements within the jsp.",
  "desc.EACH_COMMENT_LINE_LENGTH": "The Mismatching of Comment Length checker finds instances that a multi line comment has different lengths.",
  "desc.ELIMINATE_NONCHARACTER_CODE_POINTS_BEFORE_VALIDATION": "The Validation of Input with Non-character Included checker finds instances of validating an input string without removing non-characters from it.",
  "desc.EMERGENT_LANGUAGE_FEATURES_SHALL_NOT_BE_USED": "MISRA C:2012 recommends that you do not use language features added to the C11 standard. These features may cause undefined or unclear behavior, and may have unexpected behavior for the developer",
  "desc.EMPTY_ARRAY_SIZE": "The Empty Array Size checker finds array declarations without the size specified.",
  "desc.EMPTY_ARRAY_SIZE.MISRA2012": "The Unspecified Size of Empty extern Array checker finds code that fails to specify the size of an extern array variable.",
  "desc.EMPTY_BRANCH": "The Missing Branch checker finds if statements having no else branch and switch statements having no case or default branch.",
  "desc.EMPTY_BRANCH.ELSE.ABAP": "The Missing ELSE Branch checker finds IF-ELSE statements that do not end with an ELSE clause.",
  "desc.EMPTY_BRANCH.MISSING_ELSE": "The Missing ELSE Branch from IF-ELSE checker finds IF-ELSE statements that do not end with an ELSE clause.",
  "desc.EMPTY_BRANCH.VBNET": "The Empty Branch checker finds empty branches.",
  "desc.EMPTY_BRANCH.WHEN_OTHERS.ABAP": "The Missing WHEN OTHERS Branch checker finds CASE statements that do not include a WHEN OTHERS clause.",
  "desc.EMPTY_CATCH_BLOCK": "The Empty Exception-handling Block checker finds exception-handling blocks that have no relevant content.",
  "desc.EMPTY_CATCH_BLOCK.ABAP": "The Empty Exception-handling Block checker finds exception-handling blocks that have no relevant content.",
  "desc.EMPTY_CATCH_BLOCK.CSHARP": "The Empty Exception-handling Block checker finds exception-handling blocks that have no relevant content.",
  "desc.EMPTY_CATCH_BLOCK.JS": "The Empty Exception-handling Block checker finds exception-handling blocks that have no relevant content.",
  "desc.EMPTY_CATCH_BLOCK.KOTLIN": "The Empty Exception-handling Block checker finds exception-handling blocks that have no relevant content.",
  "desc.EMPTY_CATCH_BLOCK.OBJC": "The Empty Exception-handling Block checker finds exception-handling blocks that have no relevant content.",
  "desc.EMPTY_CATCH_BLOCK.PHP": "The Empty Exception-handling Block checker finds exception-handling blocks that have no relevant content.",
  "desc.EMPTY_CATCH_BLOCK.PYTHON": "If you have found a potential error but didn't mark such error as an exception, an attacker may abuse the exception to make the program operate in a way not intended by the developer.",
  "desc.EMPTY_CATCH_BLOCK.SWIFT": "The Empty Exception-handling Block checker finds exception-handling blocks that have no relevant content.",
  "desc.EMPTY_CATCH_BLOCK.VBNET": "The Empty Exception-handling Block checker finds exception-handling blocks that have no relevant content.",
  "desc.EMPTY_EXTERN_ARRAY_SIZE": "When declaring an array using the extern keyword, the size of the array has to be specified.",
  "desc.EMPTY_FINALLY_BLOCK": "An empty FinallyBlock checker detects when the Finally block is uncompleted.",
  "desc.EMPTY_FINALLY_BLOCK.CSHARP": "The Empty finally Block checker finds finally blocks that are empty.",
  "desc.EMPTY_HMAC_KEY.SWIFT": "The Empty HMAC Key checker finds instances of using an empty HMAC key.",
  "desc.EMPTY_PASSWORD.CONFIG": "The Blank Password checker finds a configuration file in which a password assumes a blank string.",
  "desc.EMPTY_SALT.PYTHON": "To save sensitive information such as passwords, use a one-way hash function that converts data of any length to a fixed-sized hash value. If you save sensitive information using a one-way hash function without a salt, an attacker may identify the hash value using the pre-calculated rainbow table.",
  "desc.EMPTY_SYNCHRONIZED_BLOCK": "Inside a synchronized block, the no-code checker detects if the sychronized syntax is empty.",
  "desc.EMPTY_TRY_BLOCK": "An empty TryBlock checker detects when a TryBlock is unwritten.",
  "desc.EMPTY_WHILE": "The Empty while Statement checker finds while statements that contain no body code.",
  "desc.EMPTY_WHILE_EMBEDDED_STATEMENT.CSHARP": "The Empty while Statement checker finds declared while statements whose body block is empty.",
  "desc.EMPTY_WHILE_STATEMENT": "The Empty while Statement checker finds while statements that contains no body code.",
  "desc.ENCAPSULATE_ASSEMBLER": "The Unencapsulated Assembler checker finds inline assembly codes that are not separated into individual functions.",
  "desc.ENCLOSE_FUNCTIONS_IN_THE_UNNAMED_NAMESPACE": "The Incorrect Declaration of Source File-specific Function checker finds source files in which a non-member function that is not of an external interface is defined outside an unnamed namespace.",
  "desc.ENSURE_CONSISTENCY_OF_THE_PARAMETER_DECLARATION": "The Inconsistent Parameter Declarations checker finds functions whose parameters are not declared in a consistent manner.",
  "desc.ENSURE_EACH_IDENTIFIER_IS_DISTINCT": "The Non-unique Identifier checker finds identifiers that are not unique.",
  "desc.ENSURE_LAST_LINE_IS_EMPTY": "The Last Line Is Not Empty checker finds instances in which source code does not end with an empty line.",
  "desc.ENSURE_MEMBER_TYPE_OF_STRUCT": "Member variables of a structure should only use limited types.",
  "desc.ENSURE_PASSING_VECTOR_TYPE_TO_C_STYLE": "The C-style Function with Vector Parameter checker finds instances in which a vector object is not correctly passed to a C-style function.",
  "desc.ENSURE_PRIVILEGE_RELINQUISHMENT": "The Misuse of setuid() finds instances calls to setuid(getuid()) that are not followed by a call to setuid(0).",
  "desc.ENSURE_RETURN_VALUE_COMPARE": "Ensure that return values are compared against the proper type",
  "desc.ENSURE_SINGLE_ENTRY_AND_EXIT_POINT": "The Multiple Entry or Exit Points in Compound Statement checker finds compound statements that include more than once entry or exit point. Switch statements are exempt from this rule.",
  "desc.ENSURE_USING_NAMESPACE_POSITION": "The Misplaced using Directive checker finds instances that a using directive is not placed after #include in a source file.",
  "desc.EQUALS_METHOD_IS_OVERLOADED": "The Overloading of equals checker finds definitions of the equals() method that take another parameter type than java.lang.Object.",
  "desc.ERROR_MESSAGE_INFORMATION_LEAK.JS": "If an application program generates an error message that includes sensitive information and provides it to a third party, an attacker may exploit that information for malicious purposes. This is because attackers can deduce a structure of the program from the name of error message or traceback exposed in exception.",
  "desc.ERROR_WITHOUT_ACTION": "The Return without Consequent Action checker finds instances in which a function return is not used, or a function return is inspected but followed by no safeguards against possible errors.",
  "desc.ERROR_WITHOUT_ACTION.OBJC": "The Return without Consequent Action checker finds instances in which a function return is not used, or a function return is inspected but followed by no safeguards against possible errors.",
  "desc.EUGENE_NAMING_CONVENTION": "Follow nomenclature stated in the coding standard issued by Eugene Investment & Securities Co., Ltd.",
  "desc.EUGENE_TOO_LONG_FUNCTION_NAME": "Follow nomenclature defined by Eugene Investment & Securities Co., Ltd.",
  "desc.EUGENE_TOO_LONG_VARIABLE_NAME": "Follow nomenclature defined by Eugene Investment & Securities Co., Ltd.",
  "desc.EUGENE_WRONG_BSNAME_IN_FILENAME": "Follow nomenclature defined by Eugene Investment & Securities Co., Ltd.",
  "desc.EUGENE_WRONG_BSNAME_IN_FUNCTION_NAME": "Follow nomenclature defined by Eugene Investment & Securities Co., Ltd.",
  "desc.EUGENE_WRONG_CMNAME_IN_FILE_NAME": "Follow nomenclature defined by Eugene Investment & Securities Co., Ltd.",
  "desc.EUGENE_WRONG_CMNAME_IN_FUNCTION_NAME": "Follow nomenclature defined by Eugene Investment & Securities Co., Ltd.",
  "desc.EUGENE_WRONG_DATA_FILE_NAME": "Follow nomenclature defined by Eugene Investment & Securities Co., Ltd.",
  "desc.EUGENE_WRONG_DEFAULT_DBIO": "Follow nomenclature defined by Eugene Investment & Securities Co., Ltd.",
  "desc.EUGENE_WRONG_DSNAME_IN_FILE_NAME": "Follow nomenclature defined by Eugene Investment & Securities Co., Ltd.",
  "desc.EUGENE_WRONG_FUNCTION_NAME": "Follow nomenclature defined by Eugene Investment & Securities Co., Ltd.",
  "desc.EUGENE_WRONG_OSNAME_IN_FILE_NAME": "Follow nomenclature defined by Eugene Investment & Securities Co., Ltd.",
  "desc.EUGENE_WRONG_OSNAME_IN_FUNCTION_NAME": "Follow nomenclature defined by Eugene Investment & Securities Co., Ltd.",
  "desc.EUGENE_WRONG_STRUCTURE_NAME": "Follow nomenclature defined by Eugene Investment & Securities Co., Ltd.",
  "desc.EUGENE_WRONG_UMNAME_IN_FILE_NAME": "Follow nomenclature defined by Eugene Investment & Securities Co., Ltd.",
  "desc.EUGENE_WRONG_UMNAME_IN_FUNCTION_NAME": "Follow nomenclature defined by Eugene Investment & Securities Co., Ltd.",
  "desc.EUGENE_WRONG_USER_DBIO": "Follow nomenclature defined by Eugene Investment & Securities Co., Ltd.",
  "desc.EUGENE_WRONG_VARIABLE_NAME": "Follow nomenclature defined by Eugene Investment & Securities Co., Ltd.",
  "desc.EVAL_INJECTION": "The Injection into Dynamic Evaluation Code checker finds instances of using unvalidated external inputs in dynamic evaluation code.",
  "desc.EVAL_INJECTION.JS": "The Injection into Dynamic Evaluation Code checker finds instances of using unvalidated external inputs in dynamic evaluation code.",
  "desc.EVAL_INJECTION.PYTHON": "The Injection into Dynamic Evaluation Code checker finds instances of using unvalidated external inputs in dynamic evaluation code.",
  "desc.EXCEPTION.IGNORE_RETURN_VALUE.PF": "Ensure return value from specified API and make handle exceptions.",
  "desc.EXCEPTION.MISSING_HANDLE.RES.PF": "Ensure handle an exception after calling resource module.",
  "desc.EXCESSIVE_FUNCTION_CALLS": "The Exceeded Function Calls checker finds instances of function calls more than the specified number in an option.",
  "desc.EXCESSIVE_IFS": "The Consecutive if Statements checker finds instances of using if statements consecutively.",
  "desc.EXCESSIVE_SERVLET_MAPPING.CONFIG": "The Excessive Servlet Mapping checker finds instances of mapping multiple URL patterns to a single servlet.",
  "desc.EXCESSIVE_SESSION_TIMEOUT.CAKEPHP.PHP": "The Excessive Session Duration in CakePHP checker finds instances of setting a session timeout lower than the required level by Configure::write() function of CakePHP library.",
  "desc.EXCESSIVE_SESSION_TIMEOUT.CONFIG": "The Excessive Session Duration checker finds instances of setting the session duration too long.",
  "desc.EXCESSIVE_STACK_DEPTH": "The Allocation of Oversized Buffer on Stack checker finds instances of allocating an oversized buffer on the stack.",
  "desc.EXCLUDE_UNSANITIZED_USER_INPUT_FROM_FORMAT_STRINGS": "Do not use unchecked user inputs in format string.",
  "desc.EXECL_REVEALS_DATA": "The Check on User Argument in Call to exec System Function checker finds calls to exec system functions that are passed with user inputs but without a \"--\" string included.",
  "desc.EXISTING_PASSWORD_RECOVERY": "The Insecure Password Recovery checker finds instances of password recovery that load the current password from an external source such as a file, instead of setting a new temporary password.",
  "desc.EXPLICIT_COPY_CONSTRUCTOR_WHEN_TEMPLATED_CONSTRUCTOR": "The Class with Template Does Not Have Copy Constructor Definition checker finds classes with a template that do not define an explicit copy constructor.",
  "desc.EXPLICIT_NAME_QUALIFIER_WHEN_TEMPLATED_BASE": "The Ambiguous Call to Template Base Method checker finds an expression that calls a method from its template base class.",
  "desc.EXPLICIT_NULL_TYPE.CONFIG": "The issue of distinguishing between `null` and `undefined` is the source of many bugs. Typescript supports `strictNullChecks` which makes clear distinction and prevents developers from referencing `null` or `undefined` values.",
  "desc.EXPLICIT_RETURN_WHEN_NON_VOID_RETURN_FUNCTION": "All exit paths from a function with non-void return type shall have an explicit return statement with an expression.",
  "desc.EXPLICIT_VIRTUAL_KEYWORD": "The Non-virtual Declaration of Overriding Method checker finds overriding methods that are not declared with the virtual keyword in the derived class.",
  "desc.EXPOSURE_ERROR_MESSAGE.CSHARP": "The Exception Information Exposure checker finds exception handlers that exhibit exception information.",
  "desc.EXPOSURE_OF_ADMINISTRATION_PAGE": "The Exposal of Admin Page checker finds an admin page given a predictable name.",
  "desc.EXPOSURE_OF_DANGEROUS_METHOD": "The Exposure of Dangerous Method checker finds instances in which a specified method is declared public or is called in a public method.",
  "desc.EXPOSURE_OF_SYSTEM_DATA": "The System Information Exposure finds instances of displaying system information through error messages or by other means.",
  "desc.EXPOSURE_OF_SYSTEM_DATA.KOTLIN": "The System Information Exposure finds instances of displaying system information through error messages or by other means.",
  "desc.EXPOSURE_OF_SYSTEM_DATA.PYTHON": "The System Information Exposure finds instances of displaying system information through error messages or by other means.",
  "desc.EXPOSURE_OF_SYSTEM_DATA_ASPNET": "The System Information Exposure checker finds instances of displaying system information.",
  "desc.EXPR_NOT_BOOLEAN": "The Implicit Comparison of Boolean Value checker finds instances of comparing a boolean variable implicitly in a context such as a condition expression.",
  "desc.EXTERNAL_CONTROL_OF_SYSTEM_OR_CONFIGURATION_SETTING": "The External Control of System or Configuration Setting checker finds instances of modifying a system or configuration setting using an unvalidated external input.",
  "desc.EXTERN_VAR_AND_FUNC_SHOULD_BE_IN_INTERFACE_FILE": "The Declaration of extern Variable or Function Not in Interface File checker finds instances of declaring an extern variable or function not in an interface file.",
  "desc.EmptyCatchBlock": "The Catch block is empty.",
  "desc.EmptyFinalizer": "This checks for method finalize() that does not have any parameters and is empty.",
  "desc.EmptyFinallyBlock": "This checks if finally block is empty. If so, the finally block can be deleted.",
  "desc.EmptyIfStmt": "This checks for empty if statements that leads to no action even if the conditional is true.",
  "desc.EmptyInitializer": "This checks for empty initializer.",
  "desc.EmptyMethodInAbstractClassShouldBeAbstract": "Non abstract and non native class must be declared abstract if there is no implementation in the declared method.",
  "desc.EmptyStatementBlock": "If a block is empty, it must be deleted.",
  "desc.EmptyStatementNotInLoop": "This checks for empty statements (single semicolon) not inside a loop statement.",
  "desc.EmptyStaticInitializer": "This checks if static initializer is empty.",
  "desc.EmptySwitchStatements": "This checks for cases when nothing happens due to empty switch statement.",
  "desc.EmptySynchronizedBlock": "This checks for empty synchronized block.",
  "desc.EmptyTryBlock": "This checks for empty try block that does not do anything.",
  "desc.EmptyTryOrFinallyBlock": "The try or finally syntax is empty.",
  "desc.EmptyWhileStmt": "This checks for empty while blocks that does not do anything even if the conditional is true.",
  "desc.EqualComparison": "'===' should be used instead of '==' and '!==' should be used instead of '!=' in Javascript.",
  "desc.EqualsNull": "This checks for equals(null)",
  "desc.ExceptDeallocThrow": "Exception thrown in invalid state, 'p' points at deallocated memory.",
  "desc.ExceptRethrowCopy": "Throwing a copy of the caught exception instead of rethrowing the original exception.",
  "desc.ExceptThrowInDestructor": "Class is not safe, destructor throws exception",
  "desc.ExceptionAsFlowControl": "This checks for flow control using try-catch statement.",
  "desc.ExcessiveClassLength": "This checks for a class with number of lines over a predefined threshold.",
  "desc.ExcessiveImports": "This checks for number of import statements being over a predefined threshold.",
  "desc.ExcessiveMethodLength": "This checks for a method with number of lines over a predefined threshold.",
  "desc.ExcessiveParameterList": "This checks for a method with number of parameters over a predefined threshold.",
  "desc.ExcessivePublicCount": "This checks if the number of fields is over a predefined threshold.",
  "desc.ExtendsObject": "This checks if unnecessary inheritance is explicitly stated when it is unnecessary to do so.",
  "desc.FIELD_ASSIGNED_IN_CONSTRUCTOR_SHOULD_BE_FINAL": "Variables that you assign through the constructor must be declared final.",
  "desc.FIELD_COMMENT": "The Field Variable Comment Format checker finds field variable comments that violate their format.",
  "desc.FILENAME_IN_ANGLE_BRACKET_OR_DOUBLE_QUOTATION": "The Syntactically Incorrect #include Statement checker finds instances in which the filename in an #include preprocessor statement is not written in the specified format.",
  "desc.FILE_COMMENT": "The File Comment Format checker finds file comments that violate their format.",
  "desc.FILE_PERMISSION_MANIPULATION.PHP": "The Permission Manipulation checker finds instances in which file permissions is changed with an unvalidated external input in chmod.",
  "desc.FINALIZE_DECLARED_PUBLIC": "finalize() is a method called by the garbage collector, primarily to clean up resources when an object is destroyed. finalize() should be declared protected; if it is declared public, it can be called arbitrarily from outside, which can destabilize the object and cause unexpected errors.",
  "desc.FINALIZE_DOES_NOT_CALL_SUPER_FINALIZE": "The no super.finalize() in parameterless finalize() methods or in the last sentence of the finally block checker detects the absence of super.finalize() in parameterless finalize() methods or in the last sentence of the finally block.",
  "desc.FINALIZE_SHOULD_BE_PROTECTED": "The public declaration checker for the finalize method detects when the finalize method is declared public.",
  "desc.FIND_STRING_IN_CONTENT": "The Use of Specified Keyword checker finds occurrences of specified keywords in source code.",
  "desc.FIRST_COLUMN.FUNCTION": "The function should be declared at the first column.",
  "desc.FIRST_COLUMN.GLOBAL": "The global variable should be declared at the first column.",
  "desc.FIRST_COLUMN.LOCAL": "When declaring the local variable in the function, use the indentation.",
  "desc.FIRST_COLUMN.PREPROCESSING": "The preprocessor statements should start at the first column.",
  "desc.FLEXIBLE_ARRAY_MEMBER": "The Use of Variable-length Array in Struct checker finds structs that include a variable-length array as a member field.",
  "desc.FLOAT_BIT_REPRESENTATION": "The Bitwise Access to Real Number checker finds casts or declarations that include a bitwise access to a value declared as a real number.",
  "desc.FLOAT_SHOULD_NOT_BE_TESTED_FOR_EQUALITY.SWIFT": "The Relational Operation on Floating-point Value checker finds instances of using a relational operator on a floating-point variable.",
  "desc.FORBIDDEN.ARITHMETIC_OPERATION.SQL": "Detects the case of using arithmetic operations such as +,-, *, and / in an expression.",
  "desc.FORBIDDEN.ASSIGNMENT.INNER_HTML.JS": "The Assignment to innerHTML checker finds instances of assigning a value to the innerHTML property.",
  "desc.FORBIDDEN.ASSIGNMENT_IN_OPERAND.JS": "The Use of Wrong Assignment Operator checker finds code that performs assignment operation instead of comparison to calculate conditions.",
  "desc.FORBIDDEN.ASSIGN_ADDRESS": "The Assignment of Address to Function Pointer checker finds instances of directly assigning an address value to a function pointer.",
  "desc.FORBIDDEN.ASTERISK.SELECT.ABAP": "The Use of * in SELECT Statement checker finds SELECT statements that use * to load all columns.",
  "desc.FORBIDDEN.ASTERISK.SELECT.SQL": "This checks if '*' is used in the SELECT query statement. It is recommended to specify the necessary column name.",
  "desc.FORBIDDEN.BINDING_VARIABLE.SQL": "Detect use of binding variables in SELECT or FROM clauses.",
  "desc.FORBIDDEN.BITWISE_OPERATION.JS": "The Bitwise Operation checker finds instances of using a bitwise operator.",
  "desc.FORBIDDEN.BYPASSING_BUFFER.ABAP": "The Use of BYPASSING BUFFER Clause checker finds SELECT statements that use a BYPASSING BUFFER clause.",
  "desc.FORBIDDEN.CALL.BATCH.PF": "This call is forbidden in Batch.",
  "desc.FORBIDDEN.CALL.BM.PF": "This call is forbidden in BM.",
  "desc.FORBIDDEN.CALL.BM_TO_SM.PF": "Do not call SM from BM.",
  "desc.FORBIDDEN.CALL.SM.PF": "This call is forbidden in Service Module.",
  "desc.FORBIDDEN.COOKIE.PHP": "The Storage of Sensitive Information in Cookie checker finds instances of storing security-sensitive information in a cookie.",
  "desc.FORBIDDEN.COUNT_EQUALS_ZERO.CSHARP": "The Comparison of Collection Size against 0 checker finds using Count()==0 or Count()!=0 on a collection object.",
  "desc.FORBIDDEN.DIRECT_JSP_ACCESS.CONFIG": "The Direct Access to JSP checker finds allowing direct access to JSP files.",
  "desc.FORBIDDEN.DISTINCT.ABAP": "The Use of DISTINCT Operator checker finds SELECT statements that use the DISTINCT operator.",
  "desc.FORBIDDEN.DISTINCT.SQL": "DISTINCT is used. It is recommended to use GROUP BY instead of DISTINCT",
  "desc.FORBIDDEN.DYNAMIC_CLAUSES.SELECT.ABAP": "The Use of SELECT with Dynamic Conditions checker finds SELECT statements that include dynamic conditions.",
  "desc.FORBIDDEN.EASY_DATABASE_NAME.JS": "The Inappropriate Database Name checker finds predictable database names.",
  "desc.FORBIDDEN.EDIT.NATIVE_OBJECT_PROTOTYPE.JS": "The Modification to Native Object Prototype checker finds instances of modifying a browser-native object's property.",
  "desc.FORBIDDEN.EQUALITY_FOR_BOXED_PRIMITIVES": "The Comparison of Boxed Primitives checker finds object type variables that are used for operands of equality operators.",
  "desc.FORBIDDEN.EQUAL_COMPARISON.JS": "The Inappropriate Equality Comparison Operator checker finds instances of using == and != instead of === and !===, respectively.",
  "desc.FORBIDDEN.EVAL_FUNCTION.JS": "The Remote Code Execution checker finds code that uses eval() function.",
  "desc.FORBIDDEN.FILE_IO.PF": "Do not call file handling functions in Service Module and BM.",
  "desc.FORBIDDEN.FLOAT_LOOP_COUNTER.OBJC": "The Float Type Loop Counter checker finds instances of using a float-point variable as a loop counter.",
  "desc.FORBIDDEN.FROM_DUAL.SQL": "Detects the use of FROM DUAL.",
  "desc.FORBIDDEN.GLOBAL_VARIABLE.JS": "Detects when a variable is declared and used without using the \"var\" declaration.",
  "desc.FORBIDDEN.INDEXOF_STRING.CSHARP": "The Passing of String to IndexOf checker finds instances in which a string is passed to the IndexOf method.",
  "desc.FORBIDDEN.INET_ADDRESS": "You used a prohibited method in the InetAddress class.",
  "desc.FORBIDDEN.INSECURE_RANDOM.JS": "If you use a predictable random number, an attacker can predict the next number generated and exploit the system.",
  "desc.FORBIDDEN.INSTANCE_ACCESSING": "The Access to Static Member through Object checker finds instances of accessing a class's static member through a non-class object.",
  "desc.FORBIDDEN.INTERNAL_STMT.ABAP": "The Use of Internal Source Code-handling Statement checker finds instances of using a statement restricted only to internal use.",
  "desc.FORBIDDEN.LOCAL_STORAGE.JS": "The Use of localStorage checker finds instances of using localStorage.",
  "desc.FORBIDDEN.LOWERCASE_KEYWORD.SQL": "Detect lowercase usage for specific keywords.",
  "desc.FORBIDDEN.MERGE.SQL": "You used a forbidden merge statement.",
  "desc.FORBIDDEN.MODIFY_PARAMETER": "The Modification of Parameter in Call-by-value Function checker finds instances of assigning a value to a parameter inside a function although the parameter receives a value when the function is called.",
  "desc.FORBIDDEN.MONITOR_PULSE.CSHARP": "The Use of Monitor.Pulse checker finds calls to Monitor.Pulse().",
  "desc.FORBIDDEN.MULTI_DIMENSION_ARRAY": "The Use of High-dimensional Array checker finds arrays whose dimensions exceed the optionally specified dimension level.",
  "desc.FORBIDDEN.NATIVE.SQL.ABAP": "The Use of Native SQL checker finds EXEC statements.",
  "desc.FORBIDDEN.NEGATION_IN_CONDITION.SQL": "Detects when you use an unstructured condition.",
  "desc.FORBIDDEN.NESTED_DECODE.SQL": "Detects the use of nested DECODE statements.",
  "desc.FORBIDDEN.NOT_IN_COND.ABAP": "The Use of NOT IN checker finds SQL queries that use NOT IN.",
  "desc.FORBIDDEN.NULL_IN_SECURITY_MANAGER": "You must not use null as an argument to the setSecurityManager function.",
  "desc.FORBIDDEN.OVERRIDING_FINALIZE": "Detects overridden finalize methods.",
  "desc.FORBIDDEN.PARALLEL.SQL": "Do not use PARALLEL QUERY/DML",
  "desc.FORBIDDEN.PROPERTY_METHOD": "Detects the use of methods that can change System properties.",
  "desc.FORBIDDEN.QUERY_IN_LOOP.ABAP": "The Use of SELECT Statement in Loop checker finds SELECT statements that are used within a LOOP or WHILE statement.",
  "desc.FORBIDDEN.RACE_CONDITION_METHOD": "You used a method that can cause a race condition.",
  "desc.FORBIDDEN.REPLACING_EMAIL_ADDRESS": "The Assignment to Email Address Variable checker finds instances of assigning a value to a specified email address variable.",
  "desc.FORBIDDEN.SMS_SENDING.OBJC": "The Use of SMS API checker finds instances of using an API for short message service (SMS).",
  "desc.FORBIDDEN.STATEMENT_EXECUTE_QUERY": "java.sql.Statement.executeQuery method is used.",
  "desc.FORBIDDEN.STATIC_KEYWORD_IN_PARAM": "The Array-type Parameter Declaration with Static Keyword checker finds function declarations that include an array-type parameter with the static keyword in the square brackets.",
  "desc.FORBIDDEN.SYSDATE.SQL": "Do not use SYSDATE",
  "desc.FORBIDDEN.TABLE.SQL": "The Use of Forbidden Table checker finds instances of using a forbidden table.",
  "desc.FORBIDDEN.TABLE_COLUMN.SQL": "The Use of Forbidden Table Column checker finds instances of using a forbidden table column.",
  "desc.FORBIDDEN.TRIM_LENGTH": "String.trim().length() is used.",
  "desc.FORBIDDEN.WEAK_ALGORITHM.JS": "A hash function is a one-way function that receives data of different lengths and maps it to random data of a fixed length. It is commonly used to store user passwords because it always produces the same output for a given input.",
  "desc.FORBIDDEN.WEAK_MIUPDATER.TOBE.JS": "The Use of Weak MiUpdater checker finds instances of using an insecure version of MiUpdater.",
  "desc.FORBIDDEN.WITH.SQL": "Do not use WITH.",
  "desc.FORBIDDEN.WITH_STATEMENT.JS": "The Use of with Statement checker finds with statements.",
  "desc.FORBIDDEN.WITH_STATEMENT.VBS": "The Use of With Statement checker finds With statements, which are forbidden.",
  "desc.FORBIDDEN_ASSIGN_LITERAL": "The Immediate Assignment of Literal to Specific Variable checker finds instances of assigning a literal to a variable that meet the specified conditions.",
  "desc.FORBIDDEN_CALL.BEFORE_CALL": "The Noncompliant Sequence of Function Calls checker finds instances of violating an optionally specified sequence of function calls.",
  "desc.FORBIDDEN_CALL.LOOP": "The Use of Forbidden Function in Loop checker finds instances of using a function optionally specified not to be used in a loop.",
  "desc.FORBIDDEN_DYNAMIC_TYPE_IN_CTOR_DTOR": "The Use of RTTI in Constructor or Destructor checker finds constructors and destructors whose implementation contains a command requiring run-time type information (RTTI).",
  "desc.FORBIDDEN_SYSTEM_FUNCTION_CALL.SWIFT": "The System Function Call checker finds calls to the forbidden system() function.",
  "desc.FORCE_UNWRAPPED_OPTIONALS.SWIFT": "The Forced-unwrapped Optional checker finds instances of forced-unwrapping an optional.",
  "desc.FORMATTING.BETWEEN_MEMBER_DEFINITION.MISSING_BLANK_LINE.CSHARP": "Add at least one blank line between method definitions and property definitions.",
  "desc.FORMATTING.COMMENT.BLOCK_OF_ASTERISK.CSHARP": "Do not create formatted blocks of asterisks around comments.",
  "desc.FORMATTING.COMMENT.LOWERCASE_FIRST_LETTER.CSHARP": "Begin comment text with an uppercase letter.",
  "desc.FORMATTING.COMMENT.MISSING_PERIOD.CSHARP": "End comment text with a period.",
  "desc.FORMATTING.COMMENT.MISSING_SPACE_AFTER_DELIMITER.CSHARP": "Insert one space between the comment delimiter(//) and the comment text.",
  "desc.FORMATTING.CONTINUATION_LINE.BAD_INDENTATION.CSHARP": "If continuation lines are not indented automatically, indent them one tab stop (four spaces).",
  "desc.FORMATTING.LINQ.QUERY_CLAUSE_ALIGNMENT.CSHARP": "Align query clauses under the 'from' clauses.",
  "desc.FORMATTING.LINQ.WHERE_CLAUSE_AFTER_OTHERS.CSHARP": "Use 'where' clauses before other query clauses to ensure that later query clauses operate on the reduced, filtered set of data.",
  "desc.FORMAT_STRING": "The Format String Injection checker finds instances of using a format string that is not a constant but built with an unvalidated external input.",
  "desc.FORMAT_STRING.KOTLIN": "The Format String Injection checker finds instances of using a format string that is not a constant but built with an unvalidated external input.",
  "desc.FORMAT_STRING.OBJC": "The Format String Injection checker finds instances of using a format string that is not a constant but built with an unvalidated external input.",
  "desc.FORMAT_STRING.PHP": "The Format String Injection checker finds instances of using a format string that is not a constant but built with an unvalidated external input.",
  "desc.FORMAT_STRING.PYTHON": "If unverified external inputs are used as format strings for input/output functions, it can lead to a security vulnerability. An attacker can use the format string to attack vulnerable processes, or read and write memory. As a result, the attacker can execute arbitrary code by gaining privileges to the vulnerable processes.",
  "desc.FORMAT_STRING.SWIFT": "The Format String Injection checker finds instances of using a format string that is not a constant but built with an unvalidated external input.",
  "desc.FORMAT_STRING_ARGUMENT_NUMBER_MISMATCH": "The Mismatch in Number between Format Specifiers and Corresponding Arguments checker finds calls to format string functions in which the number of format specifiers (%s, %x, %c, etc.) included is not equal to the number of arguments substituting for them.",
  "desc.FORMAT_STRING_OVERFLOW": "The Failure to Limit Format Specifier String Length checker finds instances of failure to limit the length of the string inserted via a format specifier.",
  "desc.FORM_CSRF_ATTR.HTML": "check csrf attritbute in form tag",
  "desc.FORWARD_NULL": "The Dereference of Null Value checker finds instances of dereferencing a null constant or a null-assigned variable without checking it for null.",
  "desc.FORWARD_NULL_CSHARP": "The Dereference of Null Value checker finds instances of dereferencing a null constant or a null-assigned variable without checking it for null.",
  "desc.FOR_LOOP_CONTROL_CHANGE_COND": "The Loop Control Variable Changed in Condition or Increment Clause checker finds for loops in which a loop control variable is changed in the condition or increment clause.",
  "desc.FOR_LOOP_NONBOOL_CONTROL_CHANGED": "The Non-boolean Loop Control Variable checker finds instances in which a loop control variable is changed in the body block of the loop but is not a boolean type.",
  "desc.FREE_NON_HEAP": "The Free of Stack-allocated Memory checker finds instances of freeing memory allocated on the stack rather than the heap.",
  "desc.FREE_NON_HEAP.HORUS": "You have freed memory that is not dynamically allocated memory.",
  "desc.FREE_NULL_POINTER": "Do not free the null pointer.",
  "desc.FUNCTION_COMMENT": "The Function Comment Format checker finds function comments that violate their format.",
  "desc.FUNCTION_DEFINITION_TYPE_MISMATCH": "The Mismatch between Function Definition and Declaration finds mismatches in type name between a function declaration and its definition.",
  "desc.FUNCTION_SHALL_BE_DECL_FILE_SCOPE": "The Function Declaration within Function checker finds instances of declaring a file not in file scope but within another function.",
  "desc.FUNCTION_TRY_BLOCK_SHOULD_NOT_REFERENCE_CLASS_DATA": "The Access to Field from Constructor or Destructor Catch finds classes whose constructor or destructor has a function-try-block that accesses a member field.",
  "desc.FUNCTION_WITHOUT_DEFINITION": "The Function Declared but Undefined checker finds instances in which a function is declared but remains not defined in a file.",
  "desc.FUNCTION_WITH_VOID_RETURN_TYPE_SHOULD_HAVE_EXTERNAL_SIDE_EFFECT": "The Function Declaration without External Side-effect checker finds instances that functions of void return types have declared without external side-effects.",
  "desc.FieldDeclarationsShouldBeAtStartOfClass": "Fields should be declared at the top of the class, before any method declarations, constructors, initializers or inner classes.",
  "desc.FinalFieldCouldBeStatic": "This checks for code that declares a field final and assigns a constant inside a class instead of an interface.",
  "desc.FinalizeDoesNotCallSuperFinalize": "This checks if super.finalize() is inside the finally block.",
  "desc.FinalizeOnlyCallsSuperFinalize": "This checks for finalize() method that does not have any parameters and is comprised only of one super.finalize() statement.",
  "desc.FinalizeOverloaded": "This checks for finalize() methods with parameters.",
  "desc.FinalizeShouldBeProtected": "This checks for finalize method being declared as public since it should not be explicitly called besides with super.finalize().",
  "desc.ForLoopShouldBeWhileLoop": "This checks whether there is no index init/update part of the for loop.",
  "desc.ForLoopsMustUseBraces": "This checks for for loops without braces.",
  "desc.FunctionConst": "Technically the member function 'class::function' can be const.",
  "desc.FunctionStatic": "Technically the member function 'class::function' can be static.",
  "desc.GENERAL_COMMENT": "The Comment Format checker finds general comments that violate their format.",
  "desc.GETCHAR_TO_INT": "The getchar Function Return of Invalid Type checker finds instances of assigning the getchar() function's return value to a smaller type than int.",
  "desc.GLOBAL.HARD_CODED_STRING.LOCALE_DEPENDANT.CSHARP": "A method uses a string literal that represents part of the path of certain system folders.",
  "desc.GOTO_JUMP_LATER_DECLARED_LABEL_ONLY": "The Backward goto Statement checker finds goto statements that jump to an earlier label.",
  "desc.GUARANTEE_EXCEPTION_SAFETY": "The Missing Exception Safety checker finds when a program is terminated by an exception which has the potential to adversely affect the program.",
  "desc.GenericsNaming": "This checks if the generic name is not one letter or is not a capital letter.",
  "desc.GlobalVariable": "This checks if `var` was not used.",
  "desc.GodClass": "God Class is inefficient for maintenance",
  "desc.GuardDebugLogging": "isDebugEnabled() must be used to prevent performance and memory problems.",
  "desc.HANDLE_ALL_EXCEPTIONS_BEFORE_MAIN_BEGINS_EXECUTE": "The Unhandled Exception from Statically Scoped Object Declaration checker finds an unhandled exception when an object is declared in static or thread-persistent scope, but not in a function block or constructor.",
  "desc.HANDLE_ALL_EXCEPTIONS_IF_SPECIFIED": "The Throwing of Unlisted Exception checker finds instances that a function throws an exception undeclared in exception specification.",
  "desc.HANDLE_ALL_EXCEPTIONS_NOT_IN_SPEC": "The Mismatching Exception Specification checker finds declarations of functions in which an exception is thrown whose type is different from the exception specification.",
  "desc.HANDLE_FLOATING_POINT_ERRORS": "The Failure to Handle Floating-point Error checker finds instances of failure to handle possible errors following a floating-point operation.",
  "desc.HANDLE_STANDARD_LIBRARY_ERROR": "The Unused Return of Standard Library Function checker finds expressions that do not use the return of a standard library function.",
  "desc.HANWHA_NAMING_CONVENTION": "Header naming convention for Hanhwa Securities Co., Ltd.",
  "desc.HARDCODED_PASSWORD.CSHARP": "The Hardcoded Password checker finds hardcoded passwords.",
  "desc.HARDCODED_PASSWORD.KOTLIN": "The Hardcoded Password checker finds hardcoded passwords.",
  "desc.HARDCODED_PASSWORD.PYTHON": "If you include hardcoded sensitive information or information about the database connection in the program code, a hacker may exploit it to leak sensitive information.",
  "desc.HARDCODED_PASSWORD_COMPARISON.CSHARP": "The Comparison with Hardcoded Password checker finds password checks performed against a hardcoded string.",
  "desc.HARDCODED_SET_FUNCTION": "The Set function hardcoding checker detects code that uses hardcoded information. The specific constants you want to use are stored in a constant variable and used through this variable.",
  "desc.HARD_CODED.CRYPTOGRAPHIC_KEY.KOTLIN": "The Hardcoded Encryption Key checker finds encryption keys hardcoded in source code.",
  "desc.HARD_CODED.CRYPTOGRAPHIC_KEY.PHP": "The Hardcoded Encryption Key checker finds encryption keys hardcoded in source code.",
  "desc.HARD_CODED.CRYPTOGRAPHIC_KEY.PYTHON": "The Hardcoded Encryption Key checker finds encryption keys hardcoded in source code.",
  "desc.HARD_CODED.PASSWORD.GO": "Hardcoded passwords are a common mistake that leads to security weaknesses. Hardcoding refers to directly inputting a fixed value including a password into the source code, and it may cause issues such as password leaks and difficulties in adapting to various environments.",
  "desc.HARD_CODED.PASSWORD.PHP": "The Hardcoded Password checker finds instances of passing a string constant to the password parameter of mysql_connect().",
  "desc.HARD_CODED_CRYPTOGRAPHIC_KEY": "Detect if hard-coded cryptographic key is used in the source code.",
  "desc.HARD_CODED_CRYPTOGRAPHIC_KEY_CSHARP": "The Hardcoded Encryption Key checker finds encryption keys hardcoded in source code.",
  "desc.HARD_CODED_DOMAIN_IN_HTML": "The Inclusion of Script from External Site checker finds HTML elements that include a script from an external site.",
  "desc.HARD_CODED_PASSWORD.CONFIG": "The Password Hardcoded in Configuration File checker finds a configuration file in which a password is stored in plaintext.",
  "desc.HARD_CODED_USER_NAME_AND_PASSWORD": "The Hardcoded Username and Password checker finds instances of passing a string constant to a parameter that takes a username or password.",
  "desc.HARD_CODED_USER_NAME_AND_PASSWORD.VBNET": "The Hardcoded Password checker finds instances in which a string constant is passed to a user id or password parameter.",
  "desc.HARD_CODED_USER_NAME_AND_PASSWORD_CSHARP": "The Hardcoded Username and Password checker finds instances of passing a string constant to a parameter that represents a password.",
  "desc.HARD_CODING.STRING_COMPARISON": "The Immediate Comparison of String Constant checker finds instances of using a quoted string constant directly in a comparison.",
  "desc.HASH.INSECURE_HASH_ITERATION_COUNT.CSHARP": "The Key Derivation Function with Insecure Iteration Count checker finds code that uses too low iteration count for a password-based key derivation function.",
  "desc.HASH.PREDICTABLE_SALT.CSHARP": "The Use of Predictable Salt checker finds code that uses an easily predictable salt.",
  "desc.HEADER_MANIPULATION.PHP": "The HTTP Header Manipulation checker finds instances of including an unvalidated external input in an HTTP response header.",
  "desc.HEADER_MANIPULATION.SWIFT": "The HTTP Header Manipulation checker finds instances of including an unvalidated external input in an HTTP response header.",
  "desc.HEADER_MANIPULATION.VBS": "The HTTP Header Manipulation checker finds instances of including an unvalidated external input in an HTTP response header.",
  "desc.HEAP_INSPECTION": "The Heap Memory Inspection checker finds instances of failure to completely clear heap memory before release.",
  "desc.HTML5.CROSS_DOCUMENT_MESSAGING.JS": "The Cross-page Messaging with Overly Broad Domain checker finds calls to the postMessage() function that take \"*\" as an argument.",
  "desc.HTML_COMMENT_IN_JSP.JSP": "If you store sensitive information in comments, such as information about a web program or its source code, a hacker can understand the structure of the program and expose hidden pages.",
  "desc.HTML_INPUT_HIDDEN.CSHARP": "The Use of HtmlInputHidden checker finds instances of using an HtmlInputHidden object.",
  "desc.HTTP.SECURITY_HEADER_SETTINGS.JS": "Web browsers use the headers sent via HTTP to identify communication standards and security policies. Using the security features of HTTP headers properly enhances the security of code executed on the browser client side as a quick and efficient way to mitigate security vulnerabilities.",
  "desc.HTTP_RESPONSE_SPLITTING": "The HTTP Response Splitting checker finds HTTP responses created with an unvalidated external input.",
  "desc.HTTP_RESPONSE_SPLITTING.JS": "The HTTP Response Splitting checker finds HTTP responses created with an unvalidated external input.",
  "desc.HTTP_RESPONSE_SPLITTING.OBJC": "The HTTP Response Splitting checker finds HTTP responses created with an unvalidated external input.",
  "desc.HTTP_RESPONSE_SPLITTING.PHP": "The HTTP Response Splitting checker finds HTTP responses created with an unvalidated external input.",
  "desc.HTTP_RESPONSE_SPLITTING.PYTHON": "When a parameter in an HTTP request is returned back to user in HTTP response header, the HTTP response may be splited into two or more lines if the input value has a newline character such as a CR (CarriageReturn) or LF (LineFeed). In this case, the attacker can use a newline character to terminate the first response and inject malicious code into the second response to perform XSS or cache poisoning attacks.",
  "desc.HTTP_RESPONSE_SPLITTING.SWIFT": "The HTTP Response Splitting checker finds HTTP responses created with an unvalidated external input.",
  "desc.HTTP_RESPONSE_SPLITTING.VBNET": "The HTTP Response Splitting checker finds HTTP responses created with an unvalidated external input.",
  "desc.HTTP_RESPONSE_SPLITTING_ASPNET": "The HTTP Response Splitting checker finds HTTP responses created with an unvalidated external input.",
  "desc.HTTP_TRANSPORT.GET.OBJC": "The Transfer by GET checker finds HTML transfers by the GET method.",
  "desc.HTTP_TRANSPORT.GET.PHP": "The Transfer by GET checker finds attempts to send a request using the GET method.",
  "desc.HTTP_TRANSPORT.GET.SWIFT": "The Transfer by GET checker finds transfers by the GET method.",
  "desc.HTTP_TRANSPORT.OBJC": "The Transfer over HTTP checker finds transfers over the HTTP protocol.",
  "desc.HTTP_TRANSPORT.PHP": "The Transfer over HTTP checker finds transfers over the HTTP protocol.",
  "desc.HUNGARIAN_NOTATION": "The Noncompliance with Hungarian Notation checker finds identifiers that are not named in compliance with Hungarian notation.",
  "desc.IDENTICAL_EXP_ON_BOTH_SIDES.SWIFT": "The Binary Operation with Identical Operands checker finds instances of using identical expressions on both sides of a binary operator.",
  "desc.IGNORED_RETURN_VALUE": "The Unused Return Value checker finds function return values that are never used after the functions are called.",
  "desc.IMPERSONATION_CONTEXT.VBNET": "The Execution with Impersonated Credential checker finds instances of running the program with impersonated credentials.",
  "desc.IMPLEMENT_ABSTRACT_DATA_TYPES": "The Non-abstract Data Type checker finds header files in which the members of an object such as a struct are fully visible.",
  "desc.IMPLICITLY_UNWRAPPED_OPTIONALS.SWIFT": "The Implicitly Unwrapped Optional checker finds instances of using an implicitly unwrapped optional.",
  "desc.IMPLICIT_ANY_TYPE.CONFIG": "Typescript provides `noImplicitAny` as a `Compiler Options`. noImplicitAny' will raise an error for any variable that is implicitly inferred to be `any'. If you don't infer types and use the `any` type, Typescript behaves like normal Javascript.",
  "desc.IMPLICIT_CASTING.ASSIGNMENT": "The Implicit Cast in Assignment checker finds instances in which an implicit cast is caused by type mismatch between the two sides of an assignment operation.",
  "desc.IMPLICIT_CASTING.CALL": "The Implicit Cast in Function Call checker finds instances in which an argument passed in a method call is implicitly cast.",
  "desc.IMPLICIT_CASTING.RETURN": "The Implicit Cast in Return checker finds instances in which an implicit cast is caused by mismatch between a method's declared return type and the actual return value's type.",
  "desc.IMPLICIT_CONVERSION_FLOAT_PARAM": "The Implicit Cast of Float Argument to Larger Type checker finds expressions that implicitly cast a float value to a larger float type.",
  "desc.IMPLICIT_CONVERSION_INT_PARAM": "The Implicit Cast of Integer Argument to Larger Type checker finds expressions that implicitly cast an integer value to a larger integer type.",
  "desc.IMPLICIT_NARROW_FLOAT_CONVERSION": "The Implicit Cast of Float to Small Type checker finds expressions that implicitly cast the value of a complex float expression to a small float type.",
  "desc.IMPLICIT_NARROW_INTEGER_CONVERSION": "The Implicit Cast of Integer to Small Type checker finds expressions that implicitly cast the value of a complex integer expression to a small integer type.",
  "desc.IMPLICIT_UNSIGNED_CHAR_TO_CHAR_HANDLING_INT": "The Passing of Signed to Character Function checker finds instances in which a character-handling function is passed with a value other than of the unsigned char type.",
  "desc.IMPLICIT_WIDEN_CAST_COMPLEX_FLOAT_EXPR": "The Implicit Cast of Float to Larger Type checker finds expressions that implicitly cast the value of a complex float expression to a larger float type.",
  "desc.IMPLICIT_WIDEN_CAST_COMPLEX_INT_EXPR": "The Implicit Cast of Integer to Larger Type checker finds expressions that implicitly cast the value of a complex integer expression to a larger integer type.",
  "desc.IMPROPERLY_CTL_SEQ_MEM_ALLOC": "Because alloca() allocates memory on the stack, it can cause stack overflows or unexpected behavior if used incorrectly within a loop.",
  "desc.IMPROPER_ARGUMENTS.HORUS": "Invalid argument value passed.",
  "desc.IMPROPER_AUTHORIZATION": "The Use of Anonymous LDAP Bind checker finds instances of using an anonymous bind to execute an LDAP query.",
  "desc.IMPROPER_AUTHORIZATION.CSHARP": "The Inappropriate Authentication checker finds code that fails to fully control accesses of execution paths after user authentication.",
  "desc.IMPROPER_AUTHORIZATION.KOTLIN": "The Use of Anonymous LDAP Binding checker finds instances of using anonymous binding to execute an LDAP query.",
  "desc.IMPROPER_AUTHORIZATION.PHP": "The Use of Anonymous LDAP Binding checker finds instances of using anonymous binding to execute an LDAP query.",
  "desc.IMPROPER_AUTHORIZATION.PYTHON": "The Inappropriate Authentication checker finds code that fails to fully control accesses of execution paths after user authentication.",
  "desc.IMPROPER_AUTHORIZATION.SWIFT": "The Inappropriate Authentication checker finds instances in which access to execution paths is not fully controlled for authenticated users.",
  "desc.IMPROPER_CARGO_SETTING.CONFIG": "When developing in the Rust language, you can set compiler options to improve the reliability and security of your software. debug-assertions and overflow-checks are configuration options in Cargo that control the activation of debug assertions and integer overflow checks, respectively. If you override these variables, you may lose important debugging information or error checking features during development. This can make it difficult to find and fix problems when bugs occur.",
  "desc.IMPROPER_CHECK_FOR_UNUSUAL_OR_EXCEPTIONAL_CONDITION": "The Extremely Generalized Exception Handling checker finds instances of generalizing a wide range of exceptions in handling them.",
  "desc.IMPROPER_COOKIE_FLAG_SETTING.GO": "Cookie settings should be properly managed in web application development. When the cookies are not properly set, this can lead to security vulnerabilities such as Session hijacking, XSS, and CSRF. To protect your cookies against the attacks, set secure cookie flags i.e. Secure, HttpOnly, SameSite.",
  "desc.IMPROPER_DEBUG_LEVEL.CONFIG": "The Inappropriate Logging Level Setting checker finds instances of setting Tomcat's debug level to 3 or higher.",
  "desc.IMPROPER_MACRO_NAME": "The Macro Name Not Composed of Uppercase Letters and Underscores checker finds macro names that include other characters than uppercase letters and underscores (_).",
  "desc.IMPROPER_NULL_TERMINATION": "The Improper Null Termination checker finds expressions that produce or use strings that are not terminated with nulls.",
  "desc.IMPROPER_NULL_TERMINATION.HORUS": "The end of the string is not zero.",
  "desc.IMPROPER_OVERLOAD_OF_SUBSCRIPT_OPERATOR": "The Array Operator Overload Does Not Implement Constant Version checker finds overloads of the array operator that do not implement both constant and non-constant versions.",
  "desc.IMPROPER_PERMISSION.GO": "Improper file privilege setting can pose a significant threat to system security based on the way to control file access in a certain OS. If proper privileges are not set to create a file or directory, an attacker can exploit the file or directory to conduct malicious actions, such as attacking its system or stealing sensitive data.",
  "desc.IMPROPER_RANDOM_USAGE": "The Inappropriate Random Value Generation checker finds instances of using a predictable random value.",
  "desc.IMPROPER_RANDOM_USAGE.PHP": "The Inappropriate Random Value Generation checker finds instances of using a predictable random value.",
  "desc.IMPROPER_REALLOC": "The Misuse of realloc() checker finds calls to the realloc() function in which the same variable is used both as a variable storing the return of the function and as the first argument passed to the function.",
  "desc.IMPROPER_REFERENCE_XML_EXTERNAL_ENTITY": "When a vulnerable XML parser processes XML values that reference external values, attacker-injected attack syntax can be triggered, resulting in server file access, unnecessary resource usage, authentication bypass, and information disclosure.",
  "desc.IMPROPER_RESTRICTION_OF_XML_ENTITY": "The Improper Reference of XML Entity checker finds code that enables to use external entities in XML libraries.",
  "desc.IMPROPER_RESTRICTION_OF_XML_ENTITY.OBJC": "The Improper Reference of XML Entity checker finds code that enables to use external entities in XML libraries.",
  "desc.IMPROPER_RESTRICTION_OF_XML_ENTITY.SWIFT": "The Improper Reference of XML Entity checker finds code that enables to use external entities in XML libraries.",
  "desc.IMPROPER_RETURN_STATEMENT": "The Unparenthesized Return Statement checker finds code that returns not a single variable or value, but an unparenthesized expression.",
  "desc.IMPROPER_SIGNATURE": "A security weakness in which there is inadequate validation of electronic signatures in relation to files, programs, libraries, and code, resulting in the risk of an attacker's malicious code being executed.",
  "desc.IMPROPER_SIGNATURE.CSHARP": "The Inappropriate Signature checker finds code that fails to check a signature from a file with the electronic signature.",
  "desc.IMPROPER_SIGNATURE.JS": "The Inappropriate Signature checker finds code that fails to check a signature from a file with the electronic signature.",
  "desc.IMPROPER_SIGNATURE.JWT": "A security weakness in which an attacker's malicious code can be executed due to inadequate validation of electronic signatures in files, programs, libraries, and code.",
  "desc.IMPROPER_SIGNATURE.KOTLIN": "The Inappropriate Signature checker finds code that fails to check a signature from a file with the electronic signature.",
  "desc.IMPROPER_SIGNATURE.VBNET": "The Inappropriate Signature checker finds code that fails to check a signature from a file with the electronic signature.",
  "desc.IMPROPER_SIGNATURE.XML": "A security weakness in which an attacker's malicious code can be executed due to inadequate validation of electronic signatures in files, programs, libraries, and code.",
  "desc.IMPROPER_SSH_KEY_SETTING.GO": "ssh.InsecureIgnoreHostKey() function prevents an SSH client from verifying a server's public key in establishment of connection to the server. When establishing an SSH connection, the client usually stores the public key of the original server. And the key is used to verify the server's identity in subsequent connections. If the public key is not verified, a man-in-the-middle (MITM) attack may occur in the process.",
  "desc.IMPROPER_TLS_SETTING.GO": "`InsecureSkipVerify` option sets the client to not verify the SSL/TLS certificate of the server. Using this option can cause vulnerabilities such as a man-in-the-middle attack or certificate forgery because the certificate for the server is not verified.",
  "desc.IMPROPER_TYPE_ASSIGN": "The Type Mismatch between Assigned Value and Assignee Variable checker finds assignment expressions whose assigned value and assignee variable have different types.",
  "desc.IMPROPER_TYPE_ASSIGN.PARAM_TYPE": "The Type Mismatch between Called Argument and Declared Parameter checker finds type mismatches between called arguments and declared parameters in functions.",
  "desc.IMPROPER_TYPE_ASSIGN.PLAIN_CHAR": "The Assignment of Mismatching Char Type checker finds instances of assigning an invalid value to a 1-byte character or integer variable.",
  "desc.IMPROPER_TYPE_ASSIGN.PROMOTION.OBJC": "The Implicit Cast in Assignment checker finds instances in which an implicit cast is caused by type mismatch between the two sides of an assignment operation.",
  "desc.IMPROPER_USAGE.FILE_OBJECT": "The Misuse of FILE Object checker finds instances of dereferencing a pointer to a FILE object or manually manipulating its inside.",
  "desc.IMPROPER_VARIABLE_ACCESS": "The Memory Access Using Incompatible Pointer checker finds instances of accessing a memory location using a pointer whose type is not compatible with the object stored in the memory location.",
  "desc.INADEQUATE_RSA_PADDING.CSHARP": "The Inappropriate RSA Padding checker finds RSA padding schemes that are inappropriate for the RSA algorithm.",
  "desc.INAPPROPRIATE_HTTP.HEADERS.JS": "Web browsers use the headers sent via HTTP to identify communication standards and security policies. Using the security features of HTTP headers properly enhances the security of code executed on the browser client side as a quick and efficient way to mitigate security vulnerabilities.",
  "desc.INCLUDE_EXPLICIT_CASES_FOR_ALL_ALTERNATIVES": "The Missing Case checker finds switch statements that do not explicitly include all possible cases.",
  "desc.INCLUDE_STATIC_SPECIFIER_ON_REDECLARATION": "The Internal-Linkage Function without Static Storage Class checker finds instances in which a function is declared with internal linkage but later defined without applying the static storage class specifier to its redeclaration.",
  "desc.INCLUDE_STDLIB_WITH_BRACKETS": "The Inappropriate Inclusion of Header checker finds instances in which a standard library header is not included using <> or a non-standard library header is not included using \"\".",
  "desc.INCOMPLETE_STRUCT_UNION": "The Struct or Union with Incomplete Type checker finds structs and unions that are of an incomplete type.",
  "desc.INCOMPLETE_VALIDATE_METHOD_DEFINITION": "The Incomplete validate Method Definition checker finds a validate method that is not defined or incorrectly defined in a subclass of a specific class.",
  "desc.INCONSISTENT_GLOBAL_VARIABLE_TYPE": "The Missing extern for Reuse of Declared Global Variable checker finds instances of failure to use the extern keyword when an already declared global variable's name is reused.",
  "desc.INCORRECT_BITWISE_SHIFT": "When performing bit shift operations, incorrect operations can occur if the number of bits to be shifted is not between 0 and 31.",
  "desc.INCORRECT_CONVERSION.NUMERIC_TYPES": "The Inappropriate Cast between Number Types checker finds expressions that cast between an integer and a real number without validating the cast.",
  "desc.INCORRECT_ERRNO_CHECK": "When examining the errno value, the last function called must be the function that sets errno. Only functions that set errno set the errno value when an error occurs. Other functions may not set errno or may set it unexpectedly.",
  "desc.INCORRECT_ORDER_OF_CONSTRUCTOR_INITIALIZERS": "The Incorrectly Sorted Initializer List checker finds initializer lists in which the initializers for the target fields are not sorted in the correct order.",
  "desc.INCORRECT_PERMISSION": "The Improper Granting of Privileges checker finds instances of granting a read or edit privilege improperly.",
  "desc.INCORRECT_PERMISSION_ASSIGNMENT_FOR_CRITICAL_RESOURCE": "The Incorrect Permission Assignment for Critical Resource checker finds instances of allowing users other than software administrators to read or write to security-critical resources such as configuration files, executables, and libraries.",
  "desc.INCORRECT_PERMISSION_ASSIGNMENT_FOR_CRITICAL_RESOURCE.KOTLIN": "The Incorrect Permission Assignment for Critical Resource checker finds code that allows users without privileges to read or write critical resources such as configuration files, executables, or libraries.",
  "desc.INCORRECT_PERMISSION_ASSIGNMENT_FOR_CRITICAL_RESOURCE.PYTHON": "If accesses to Read or Modify modes are unintentionally granted for security-related resources by an application, the resources may be used by unauthorized users.",
  "desc.INCORRECT_PERMISSION_ASSIGNMENT_FOR_CRITICAL_RESOURCE_CSHARP": "The Incorrect Permission Assignment for Critical Resource checker finds instances of allowing users other than software administrators to read or write to security-critical resources such as configuration files, executables, and libraries.",
  "desc.INCORRECT_POINTER_SCALING": "The Inaccurate Pointer Operation checker finds instances of performing a pointer operation inaccurately.",
  "desc.INCORRECT_SERIAL_PERSISTENT_FIELDS_MODIFIER": "The Invalid Modifier for serialPersistentFields checker finds declarations of the serialPersistentFields field that are not private static final.",
  "desc.INCORRECT_USE_OF_AUTOBOXING_AND_UNBOXING": "Autoboxing and unboxing refers to the process of converting primitive data into wrapper class objects and vice versa. During the autoboxing process of converting primitive data to objects, new objects are created and stored in heap memory. This increases the burden on the garbage collector and increases memory usage. Especially when autoboxing or unboxing occurs in a loop, objects are created as many times as the number of iterations, which can increase memory usage and cause performance degradation.",
  "desc.INCORRECT_USE_OF_PLACEMENT_NEW": "The Use of placement new Operator on Improper Object checker finds placement new operation that allocates memory to an object that has not been checked for sufficient space or is not properly aligned.",
  "desc.INCREMENT_ON_BOOLEAN": "The Use of Increment Operator on Boolean checker finds instances of using the increment operator (++) on a boolean variable.",
  "desc.INDICATE_SIGNEDNESS_TYPEDEF": "The typedef Declaration of Numeric Type without Signedness checker finds code that declares a numeric type as typedef, but fails to specify signed or unsigned.",
  "desc.INEFFECTIVE_BOOLEAN_LOGICAL_OP": "The Logical Operator on Non-boolean Operand checker finds expressions that use a logical operator on a non-boolean operand.",
  "desc.INFINITE_RECURSIVE_CALL": "The Infinite Recursive Calls checker finds recursive functions that are not properly controlled and thus can be called infinitely.",
  "desc.INFINITE_RECURSIVE_CALL.JS": "Excessive accumulation of recursive functions can cause abnormal behavior because the call stack is filled by function returns. In JavaScript, excessive recursive function calls can trigger the 'Too much recursion' exception in Firefox or 'Maximum call stack size exceeded' exception in Chrome or Safari, which will result in an abnormal termination of the program.",
  "desc.INFINITE_RECURSIVE_CALL.PHP": "The Infinite Recursive Calls checker finds recursive functions that are not properly controlled and thus can be called infinitely.",
  "desc.INFINITE_RECURSIVE_CALL.PYTHON": "Failing to control the number of loops of a recursive function can be insecure and lead to excessive use of resources, including memory or stacks. In most cases, a recursive function with no base case will create an infinite loop, using up resources and interfering with the normal working of the system.",
  "desc.INFORMATION_LEAK": "The Information Leak checker finds instances in which the program's sensitive internal information may be exposed through such means as an error message.",
  "desc.INFORMATION_LEAK.ERROR.GO": "When an application generates an error message that contains sensitive information and exposes it, an attacker may exploit the information for malicious purposes. This is because attackers can deduce the structure of a program from the exception error message.",
  "desc.INFORMATION_LEAK.RUNTIME_ERROR": "The Information Exposure via Java Runtime Error Message checker finds code in which sensitive information is exposed via runtime error messages.",
  "desc.INFORMATION_LEAK.TOBE.JS": "The System Information Exposure finds instances of displaying system information through error messages or by other means.",
  "desc.INFORMATION_LEAK_ANDROID": "The Information Leak through Android checker finds instances of storing sensitive information on the SD card of an Android device.",
  "desc.INLINE_FUNCTION_SHALL_BE_STATIC": "The Inline Function Declaration without Static checker finds inline functions that are not declared static.",
  "desc.INPUT_FUNCTION_ERROR_HANDLING": "The Missing Error Handler for Input Function checker finds instances of failure to handle errors when converting character data using an input function.",
  "desc.INSECURE_HASH_ITERATION_COUNT.PYTHON": "When hashing a password, a hash output could be predictable unless iteration count for a hash algorithm is large enough .",
  "desc.INSECURE_PERSISTENT_COOKIE.PYTHON": "Cookies can be configured to be saved continuously regardless of the browser session. They persist on the disk and loaded into the memory when the next browser session starts. If personal information, authentication information, etc. is saved in a persistent cookie, an attacker may use it to expose such information.",
  "desc.INSECURE_RANDOM.PYTHON": "This security vulnerability is caused by using predictable random numbers. This may let an attacker to predict the next number generated by the software and use that information to attack the system.",
  "desc.INSECURE_RANDOMNESS.VBS": "The Inappropriate Random Value Generation checker finds instances of using a predictable random value.",
  "desc.INSECURE_TEMPORARY_FILE.PYTHON": "The Generation of Dangerous Temp File checker finds instances of generating a temporary file in an improper way.",
  "desc.INSECURE_TOUCHID_IMPLEMENTATION.SWIFT": "The Security Decision Relying on Weak Framework checker finds instances of user authentication using LAContext in the LocalAuthentication framework.",
  "desc.INSECURE_UNPICKLE.PYTHON": "Deserialization is a method used to calculate a binary file or byte stream and restore it into an object structure. Deserialization has a security vulnerability where it may cause an integrity violation, remote code execution, or DoS attack if the transmission or stream can be manipulated by an attacker in the process of delivering serialized information to the receiver via the network.",
  "desc.INSERT_DERIVED_INTO_CONTAINER_HOLDING_BASE": "The Insertion of Derived Class Object into Container checker finds expressions that store a derived class object in a container holding objects of the base class.",
  "desc.INSERT_WITHOUT_COLUMN.XSQL.CONFIG": "The Don't use INSERT clause without specifying target column checker detects when you don't write a column name when creating an INSERT clause.",
  "desc.INSTANTIATE_TEMPLATES": "The Uninstantiated Template checker finds a template element that is never instantiated.",
  "desc.INSUFFICIENT_INIT_ARRAY": "The Lack of Brace Initialization of Struct/Array checker finds struct/array definitions in which the struct/array object is assigned an initial set of elements that are smaller in number than the struct/array size.",
  "desc.INSUFFICIENT_PUBLIC_EXPONENT": "The Unoptimized Public Key Exponent checker finds RSA (Rivest Shamir Adleman) public key exponents that are not 65,537.",
  "desc.INSUFFICIENT_SESSION_EXPIRATION": "The Excessive Session Duration checker finds instances of passing an argument of -1 to the HttpSession.setMaxInactiveInterval() method.",
  "desc.INSUFFICIENT_SESSION_ID.CONFIG": "The Insufficient Session ID Length checker finds instances of setting the session ID length too short.",
  "desc.INTEGER_OVERFLOW": "The Integer Overflow checker finds instances in which the result of an arithmetic operation exceeds the size of the given integer type.",
  "desc.INTEGER_OVERFLOW.HORUS": "The result of an integer operation is outside the range of values that can be represented.",
  "desc.INTEGER_OVERFLOW.OBJC": "The Integer Overflow checker finds instances in which the result of an arithmetic operation exceeds the size of the given integer type.",
  "desc.INTEGER_OVERFLOW.TYPE_CONV.GO": "When converting a string into an integer in Golang, mainly two functions are used: `strconv.Atoi` and `strconv.ParseInt`. `strconv.Atoi` converts a string into an int. In Golang, the int type varies in size based on the system, functioning as int32 in the 32-bit system and int64 in the 64-bit system. If you first convert a string into an int and then into a smaller integer type, it may cause overflow.",
  "desc.INTEGER_OVERFLOW_CSHARP": "The Integer Overflow checker finds instances in which the result of an arithmetic operation exceeds the size of the given integer type.",
  "desc.INTEGER_PRECISION": "The Use of Incorrect Integer Precision checker finds instances of using an incorrect integer precision.",
  "desc.INTEGER_UNDERFLOW": "The Integer Underflow checker finds instances in which the result of an arithmetic operation such as addition, subtraction, or multiplication is lower than the range of the given data type.",
  "desc.INTENT_DATA_LEAK_ANDROID": "An issue is detected when an Intent or Intent data received from an external source is used to create or pass an Intent to another component.",
  "desc.INTEROPERABILITY.AUTO_LAYOUT.COM_VISIBLE.CSHARP": "A Component Object Model (COM) visible value type is marked with the System.Runtime.InteropServices.StructLayoutAttribute attribute set to LayoutKind.Auto.",
  "desc.INTEROPERABILITY.CLASS_INTERFACE.AUTO_DUAL.CSHARP": "A Component Object Model (COM) visible type is marked with the ClassInterfaceAttribute attribute set to the AutoDual value of ClassInterfaceType.",
  "desc.INTEROPERABILITY.COM_INTERFACE.OVERLOAD_METHOD.CSHARP": "A Component Object Model (COM) visible interface declares overloaded methods.",
  "desc.INTEROPERABILITY.COM_METHOD.EXTERNALLY_VISIBLE.CSHARP": "A method that is marked with the System.Runtime.InteropServices.ComRegisterFunctionAttribute or the System.Runtime.InteropServices.ComUnregisterFunctionAttribute attribute is externally visible.",
  "desc.INTEROPERABILITY.COM_METHOD.MISMATCH.CSHARP": "A type declares a method that is marked with the System.Runtime.InteropServices.ComRegisterFunctionAttribute attribute but does not declare a method that is marked with the System.Runtime.InteropServices.ComUnregisterFunctionAttribute attribute, or vice versa.",
  "desc.INTEROPERABILITY.COM_SOURCE_INTERFACE.NOT_IDISPATCH.CSHARP": "A type is marked with the ComSourceInterfacesAttribute attribute and at least one specified interface is not marked with the InterfaceTypeAttribute attribute set to the InterfaceIsDispatch value.",
  "desc.INTEROPERABILITY.COM_VISIBLE_TYPE.NOT_VISIBLE_BASE.CSHARP": "An externally visible type contains an externally visible read-only field that is a mutable reference type.",
  "desc.INTEROPERABILITY.GET_LAST_ERROR.NOT_AFTER_PINVOKE.CSHARP": "A call is made to the Marshal.GetLastWin32Error method or the equivalent Win32 GetLastError function, and the call that comes immediately before is not to a platform invoke method.",
  "desc.INTEROPERABILITY.PINVOKE.VISIBLE.CSHARP": "A public or protected method in a public type has the System.Runtime.InteropServices.DllImportAttribute attribute.",
  "desc.INT_TO_CHAR": "The Conversion from Int to Char checker finds instances of converting an int type to a char type.",
  "desc.INVALID_COLUMN_COMMENT.XSQL.CONFIG": "The column commenting convention violation checker detects when a column comment is written as a single line comment (--) within the SQL syntax.",
  "desc.INVALID_DATA_TO_ASCTIME": "The Invalid Input to asctime() checker finds calls to the asctime() function that take an invalid or unvalidated value.",
  "desc.INVALID_ITERATOR": "Invalidated Iterator Checker detects expressions that use invalidated iterators.",
  "desc.INVALID_MESSAGE_ID_IN_EXCEPTION": "The Do Not Use Non-Corresponding Business Message ID checker detects if the message is not a corresponding business message ID when passing a POBISException exception.",
  "desc.INVALID_MESSAGE_ID_IN_SETOKMSG": "The out-of-work message ID checker detects if a message is not a work message ID when you use the setOkMsg function.",
  "desc.INVALID_OPERAND_TYPE.JS": "The Invalid Operand Type checker finds instances of using an operand of an invalid type.",
  "desc.INVALID_SERVLET.CONFIG": "The Invalid Servlet Setting checker finds servlets with invalid settings.",
  "desc.INVOCATION_OF_EQUALS_ON_ARRAY": "The Use of equals between Arrays checker finds calls to the base equals() method intended for comparison between two array objects.",
  "desc.INVOKE_VIRTUAL_FUNCTION_FROM_CTOR_OR_DTOR": "The Virtual Function Call in Constructor or Destructor checker finds constructors and destructors that call a virtual function.",
  "desc.IOWithoutPositioning": "Read and write operations without a call to a positioning function.",
  "desc.ITERATOR": "When calling method next() or previous() in Iterators or ListIterator, exception NoSuchElementExcept occurs. In such case, programs can terminate abnormally so it is warned. Such cases occur in following circumstances: Not calling methods hasNext() or previous() before using methods next() or remove(). Not calling methods hasPrevious(), add() or next() before calling method previous().",
  "desc.IdempotentOperations": "This checks for idempotent operations (e.g. x=x) as they have no effect.",
  "desc.IdenticalConditionAfterEarlyExit": "Identical condition, second condition is always false",
  "desc.IfElseStmtsMustUseBraces": "This checks for if else statement without braces.",
  "desc.IfStmtsMustUseBraces": "Avoid using if statements without using braces to surround the code block.",
  "desc.IframeMissingSrcAttribute": "IFrame must have src attribute.",
  "desc.IgnoredReturnValue": "Return value of function  is not used.",
  "desc.ImmutableField": "This checks for a private field with its value unchanged since its initialization.",
  "desc.ImportFromSamePackage": "This checks for import statements from the same package after defining with the package directive.",
  "desc.IncorrectLogicOperator": "Logical disjunction always evaluates to true",
  "desc.Incrementboolean": "Incrementing a variable of type 'bool' with postfix operator++ is deprecated by the C++ Standard. You should assign it the value 'true' instead.",
  "desc.InefficientEmptyStringCheck": "This checks if String.trim().length() is used to check for blank string.",
  "desc.InefficientStringBuffering": "This checks if string combined using '+' is the argument of the StringBuffer declaration or append().",
  "desc.InitializerList": "Member variable is in the wrong place in the initializer list.",
  "desc.InnaccurateNumericLiteral": "If a number past a certain range is assigned to a variable, the variable can be unintentionally changed and act differently.",
  "desc.InsecureCmdLineArgs": "Buffer overrun possible for long command line arguments.",
  "desc.InstantiationToGetClass": "Avoid instantiating an object just to call getClass() on it; use the .class public member instead.",
  "desc.InsufficientStringBufferDeclaration": "This checks for creation of an empty StringBuffer.",
  "desc.IntegerInstantiation": "This checks for allocation of 'new Integer' or 'new java.lang.Integer'",
  "desc.InvalidFunctionArg": "Invalid func_name() argument nr 1. The value is 0 or 1 (boolean) but the valid values are '1:4'.",
  "desc.InvalidFunctionArgBool": "Invalid func_name() argument nr 1. A non-boolean value is required.",
  "desc.InvalidTestForOverflow": "Overflow is undefined behaviour. Invalid test using overflow 'x + u < x'.",
  "desc.JSON_INJECTION.JS": "The JSON Injection checker finds instances of storing an unvalidated external input in JSON data creation.",
  "desc.JUMP_AT_THE_END_OF_LOOP.CSHARP": "The Jump Statement at End of Loop checker finds loop statements ended with a jump statement (break or continue).",
  "desc.JUMP_OVER_SCOPE": "The Jump between Blocks checker finds goto statements that jump from one block of code into a different block.",
  "desc.JUMP_SHOULD_BE_CONDITIONAL.SWIFT": "The Branching Statement Not Included in Conditional Statement checker finds break or continue statements that are not placed within a conditional statement.",
  "desc.JUMP_SHOULD_NOT_BE_FOLLOWED_BY_OTHERS.SWIFT": "The Extra Code after Branching Statement checker finds return or other branching statements (break, continue, and fallthrough) followed by some extra code.",
  "desc.JUnit4SuitesShouldUseSuiteAnnotation": "This checks test suites without annotation @RunWith(Suite.class).",
  "desc.JUnit4TestShouldUseAfterAnnotation": "This checks for tearDown methods that does not have annotation @After.",
  "desc.JUnit4TestShouldUseBeforeAnnotation": "This checks for setUp methods without annotation @Before.",
  "desc.JUnit4TestShouldUseTestAnnotation": "This checks for all methods that start with test and does not have annotation @Test.",
  "desc.JUnitAssertionsShouldIncludeMessage": "This checks for calls to the method assertEquals() without 3 arguments.",
  "desc.JUnitSpelling": "This checks for the spelling of JUnit framework methods like setUp() or tearDown().",
  "desc.JUnitStaticSuite": "suite() method inside JUnit test must be declared as public static.",
  "desc.JUnitTestContainsTooManyAsserts": "Too many assert in JUnit test leads the test to become complicated and less accurate.",
  "desc.JUnitTestsShouldIncludeAssert": "This checks if there are assertions in a JUnit test.",
  "desc.JUnitUseExpected": "This checks for cases where Exception occurs but there is no annotation @Test.",
  "desc.JspEncoding": "This checks for a missing 'meta' tag or page directive and missing encoding information.",
  "desc.JumbledIncrementer": "This checks for jumbled loop incrementers.",
  "desc.KEYWORD_AS_IDENTIFIER.ABAP": "Keywords should not be used as variable names.",
  "desc.KEY_MANAGEMENT.EMPTY_HMAC_KEY.CSHARP": "The Empty HMAC Private Key checker finds code that uses an empty key for the HMAC function.",
  "desc.KEY_MANAGEMENT.HARDCODED_ENCRYPTION_KEY.CSHARP": "The Hardcoded Private Key in Symmetric Key Algorithm checker finds instances of using a hardcoded private key in symmetric key algorithm.",
  "desc.KEY_MANAGEMENT.HARDCODED_HMAC_KEY.CSHARP": "The Hardcoded HMAC Private Key checker finds code that uses a hardcoded HMAC private key.",
  "desc.KOSCOM.NAMING_CONVENTION.FUNCTION": "The function name violates code convention.",
  "desc.KnownConditionTrueFalse": "The result of the conditional statement is fixed.",
  "desc.LANGUAGE_EXTENSION_SHOULD_NOT_BE_USED": "The Use of Compiler-specific Code Extension checker finds instances of using a code extension compatible only with specific environments or compilers.",
  "desc.LDAP_INJECTION": "The LDAP Injection checker finds LDAP (Lightweight Directory Access Protocol) queries built with an unvalidated external input.",
  "desc.LDAP_INJECTION.KOTLIN": "The LDAP Injection checker finds LDAP (Lightweight Directory Access Protocol) queries built with an unvalidated external input.",
  "desc.LDAP_INJECTION.OBJC": "The LDAP Injection checker finds instances of using an untrusted external input without validating it.",
  "desc.LDAP_INJECTION.PHP": "The LDAP Injection checker finds instances in which unvalidated external inputs can be exploited to execute unintended LDAP commands.",
  "desc.LDAP_INJECTION.PYTHON": "Using unverified external inputs for the LDAP (Lightweight Directory Access Protocol) commands might allow attackers to manipulate the commands.",
  "desc.LDAP_INJECTION.SWIFT": "The LDAP Injection checker finds instances of using an untrusted external input without validating it.",
  "desc.LDAP_INJECTION.VBNET": "The LDAP Injection checker finds LDAP (Lightweight Directory Access Protocol) queries built with an unvalidated external input.",
  "desc.LDAP_INJECTION_ASPNET": "The LDAP Injection checker finds instances of using an untrusted external input without validating it.",
  "desc.LEAK.CURSOR": "When using the PROC, if the database cursor is opened using the function SQL_OPEN_CUR(A\"), it should be closed using the function SQL_CLOSE_CUR(\"A\",...). If the database cursor is not closed correctly, it causes an error.\"",
  "desc.LEAK.CURSOR_ARRAY": "If database base array cursor is created using function SQL_OPEN_CUR_ARR(\"A\"), the function should be closed using function SQL_CLOSE_CUR_ARR(\"A\", ...).",
  "desc.LEAK.DEBUG_INFORMATION.CAKEPHP.PHP": "The CakePHP System Information Exposure checker finds instances of displaying system information by Configure::write() function of CakePHP library.",
  "desc.LEAK.ERROR_INFORMATION.PHP": "The System Information Exposure finds instances of displaying system information through error messages or by other means.",
  "desc.LEAK.ERROR_INFORMATION.PYTHON": "The System Information Exposure checker detects code that outputs system information, such as through error messages. Error messages are designed to contain only the minimum amount of information that is useful to a given user. The source code handles exception situations internally and avoids outputting errors that contain sensitive information.",
  "desc.LEAK.INFORMATION.PRIVILEGED_BLOCK": "The Information Leak through Privileged Block checker finds instances of calling java.security.AccessController.doPrivileged() in a non-private method.",
  "desc.LEAK.MEMORY": "The Memory Leak checker finds instances of failure to release allocated memory which is no longer needed.",
  "desc.LEAK.MEMORY.OBJC": "The Memory Leak checker finds instances of failure to release allocated memory which is no longer needed.",
  "desc.LEAK.RECORD": "When using the PROC, generate the record dynamically, and destroy it afterwards.",
  "desc.LEAK.RESOURCE": "The Resource Leak checker finds instances of failure to release an allocated resource (file, socket, etc.).",
  "desc.LEAK.RESOURCE.PHP": "The Resource Leak checker finds instances of failure to reclaim an allocated resource.",
  "desc.LEAK.RESOURCE.PYTHON": "File descriptor, heap memory, socket, etc. are finite resources of the program. If such resources were allocated and used but not released, a DoS attack may be caused by a program error.",
  "desc.LEAK.SYSTEM_INFORMATION.CSHARP": "The System Information Exposure checker finds catch statements displaying system information.",
  "desc.LEAK.SYSTEM_INFORMATION.VBNET": "The System Information Exposure checker finds catch statements displaying system information.",
  "desc.LEAK.SYSTEM_INFORMATION.VBS": "The System Information Exposure checker finds instances of displaying system information.",
  "desc.LEAST_PRIVILEGE_VIOLATION": "The Failure to De-elevate Permission after Action checker finds instances in which the permission is elevated to perform a particular action but is not de-elevated afterword.",
  "desc.LEAST_PRIVILEGE_VIOLATION.W32": "The Violation of Minimum Access Rule in Windows Function Call checker finds instances of failure to properly take care of access privileges in a call to a Windows function, such as CreateProcess*(), RegCreateKey*(), SHRegCreate*(), or SHRegOpen*().",
  "desc.LEFTOVER_DEBUG_CODE": "The Leftover Debug Code finds debug code that remains not removed.",
  "desc.LEFTOVER_DEBUG_CODE.JS": "Code used for debugging needs to be removed once development is complete. The debug code may contain sensitive information, such as settings, or expose information that could potentially bring up unintended results in system control. If the software is deployed with the debug code unremoved, an attacker may bypass authentication, or expose unintended information.",
  "desc.LEFTOVER_DEBUG_CODE.KOTLIN": "The Leftover Debug Code finds debug code that remains not removed.",
  "desc.LEFTOVER_DEBUG_CODE.OBJC": "The Leftover Debug Code finds debug code that remains not removed.",
  "desc.LEFTOVER_DEBUG_CODE.PHP": "The Leftover Debug Code finds debug code that remains not removed.",
  "desc.LEFTOVER_DEBUG_CODE.PYTHON": "Codes written for debugging must be removed once development is complete. If the software is deployed with debug code, attackers may circumvent the identification process, or unintended information/control information may be exposed.",
  "desc.LEFTOVER_DEBUG_CODE.SWIFT": "The Leftover Debug Code finds debug code that remains not removed.",
  "desc.LEFTOVER_DEBUG_CODE.TOBE.JS": "The Leftover Debug Code finds debug code that remains not removed.",
  "desc.LEFTOVER_DEBUG_CODE.VBNET": "The Leftover Debug Code finds debug code that remains not removed.",
  "desc.LEFTOVER_DEBUG_METHOD.KOTLIN": "The Leftover Debug Method finds debug method that remains not removed.",
  "desc.LIMIT.QUICK_TABS_TEXT_FONT.TOBE.JS": "The Too Long String Assigned to QuickTabsTextFont checker finds instances of assigning an extremely long string to the QuickTabsTextFont property.",
  "desc.LIMIT_DBIO_FETCH.PF": "DBIO fetch counter should be limited.",
  "desc.LIMIT_OPERATOR_PRECEDENCE": "The Reliance on Operator Precedence in Compound Expression without Parentheses checker finds compound expressions that do not use parentheses but rely solely on the predefined operator precedence rules.",
  "desc.LIMIT_REPETITION.PF": "Limit repetition of sub-structure in Service I/O structure.",
  "desc.LOAD_LIBRARY_USING_ABSOLUTE_PATH": "The argument to the java.lang.System.loadLibrary method must be an absolute path.",
  "desc.LOGGER_ERROR_IN_CATCH": "When handling an exception, use the logger.error method.",
  "desc.LOGICAL_OP_SHALL_BE_PRIMARY_EXPR": "The Use of Invalid Operand in Logical Operation checker finds logical operations in which an operand expression is other than a variable, constant, or a parenthesized expression.",
  "desc.LOG_FORGING.JS": "The Log Manipulation checker finds instances of printing out unvalidated user inputs in a log.",
  "desc.LOG_FORGING.OBJC": "The Log Manipulation checker finds instances of printing out unvalidated user inputs in a log.",
  "desc.LOG_FORGING.PHP": "The Log Manipulation checker finds instances of printing out unvalidated user inputs in a log.",
  "desc.LOG_FORGING.PYTHON": "The Log Manipulation checker finds instances of printing out unvalidated user inputs in a log.",
  "desc.LOG_FORGING.TOBE.JS": "The TOBESOFT Platform Log Manipulation checker finds instances of printing out unvalidated user inputs in a platform log.",
  "desc.LOG_FORGING.VBS": "The Log Manipulation checker finds instances of printing out unvalidated user inputs in a log.",
  "desc.LOG_FORGING_ANDROID": "Detect if sensitive data in android is used to log",
  "desc.LOG_SENSITIVE_INFORMATION": "The Log Sensitive Information checker finds code that records sensitive information such as personally identifiable information in the log.",
  "desc.LOG_SENSITIVE_INFORMATION_ANDROID": "The Logging of Android Sensitive Information checker finds logs that print out data with external inputs.",
  "desc.LawOfDemeter": "The use of methods from instances that will result in coupling are forbidden.",
  "desc.LocalHomeNamingConvention": "Session EJB's Local Home interface must end with LocalHome.",
  "desc.LocalInterfaceSessionNamingConvention": "Session EJB's Local interface must end with Local.",
  "desc.LocalVariableCouldBeFinal": "This checks for a variable that has only been assigned a value once yet is not final.",
  "desc.LoggerIsNotStaticFinal": "This checks for a Logger that is not final static.",
  "desc.LogicInversion": "This checks for using negating the whole expression with a logic complement operator instead of opposite operator.",
  "desc.LongInstantiation": "This checks for allocation of 'new Long' or 'new java.lang.Long'",
  "desc.LongVariable": "This checks if the variable length is longer than $minimum.",
  "desc.LooseCoupling": "This checks for using implementation type (e.g. HashSet) instead of interface (e.g. Set).",
  "desc.MACRO_IF_EXPRESSION_SHALL_EVAL_TO_BOOLEAN": "The Invalid Return from Preprocessor Conditional Expression checker finds instances in which an #if or #elif preprocessor directive's expression evaluates to neither a 0 nor 1.",
  "desc.MAIN_IN_GLOBAL_NAMESPACE": "The Non-main Function Uses Name of main() checker finds instances in which a function is named main() but is not actually the main function that is called when the program starts running.",
  "desc.MAKE_BINARY_OPERATORS_NONMEMBERS": "The Arithmetic Operator Overloaded as Class Member checker finds method definitions that overload an arithmetic operator as a class member.",
  "desc.MAKE_COPYING_EFFICIENT_FOR_OBJECT": "The Omission of Copy Operation in Container checker finds containers whose elements are objects of a class with no explicit copy constructor and copy assignment operator.",
  "desc.MAKE_MEMBER_DATA_PRIVATE": "Make member data private.",
  "desc.MAKE_PREDICATES_PURE_FUNCTIONS": "The Predicate Not Dependent on Parameters checker finds declarations of predicates whose return is not dependent on their parameters.",
  "desc.MALICIOUS.CODE.PATTERN": "Detects malicious code patterns that violate rules.",
  "desc.MALICIOUS.URL": "Detects malicious URL codes that violate rules.",
  "desc.MALLOC.HORUS": "You've freed memory that you've already freed again.",
  "desc.MAX_LINE_LENGTH": "The Too Long Line checker finds code lines that exceed the specified length.",
  "desc.MAY_OVERFLOW_WRAP.RUST": "When an arithmetic operation has the potential to overflow, you should use specialized functions or types. Overflows during arithmetic operations can lead to unexpected results, which can often lead to security vulnerabilities. Therefore, arithmetic operations that have the potential to overflow should be handled appropriately.",
  "desc.MDBAndSessionBeanNamingConvention": "Any MessageDrivenBean or SessionBean should be suffixed by 'Bean'.",
  "desc.MEMBER_FUNCTION_SHOULD_NOT_RETURN_NON_CONST_HANDLER": "The Non-const Handle Returned to Class Data checker finds instances in which a member function returns a non-const handle to class data.",
  "desc.MEMCACHE_INJECTION.PYTHON": "The Memcached Injection checker finds instances of storing unvalidated external input data in Memcache.",
  "desc.MEMCPY_WITH_OVERLAPPING_REGIONS": "The Arguments with Overlapping Memory Area checker finds instances in which a function receives arguments pointing to an overlapping memory area.",
  "desc.MEMORY_COMPARISON_OF_FLOAT_POINT_VALUES": "The Comparison on Floating-point Objects checker finds instances of performing a memory comparison on floating-point objects.",
  "desc.MEMORY_LEAK.HORUS": "Memory rigs.",
  "desc.METHOD_COMMENT": "The Method Comment Format finds method comments that violate their format.",
  "desc.METHOD_IGNORES_RETURN_VALUE": "The Unused Return of String Method checker finds unused returns called by specific string manipulation methods.",
  "desc.METHOD_NAME_IS_NOT_INTENDED": "The Suspicious Method Name checker finds user-defined methods that are considered misnamed.",
  "desc.MINIMAL_SCOPE": "The Minimum Scope of Variable checker finds variables that are used in a particular file (or function) but not declared static for the file (or function).",
  "desc.MINIMISE_MIXING_OF_ITERATOR": "The Mixed Use of Different Iterator Types checker finds statements that use different iterator types together.",
  "desc.MINIMISE_USE_AUTOPTR": "The Misuse of auto_ptr checker finds instances of declaring a variable incorrectly with auto_ptr.",
  "desc.MINIMIZE_VARIABLE_LIVE_RANGE": "The Too Wide Live Range of Variable checker finds instances in which a local variable is declared much earlier than its actual use and thus stays live in a broad range.",
  "desc.MIPLATFORM_FORM_DATASET_ID_PREFIX.KEUMKAMWON": "The Financial Supervisory Service's MIPLATFORM Form Dataset ID prefix must starts with \"ds_\"",
  "desc.MIPLATFORM_GLOBAL_DATASET_ID_PREFIX.KEUMKAMWON": "The Financial Supervisory Service's MIPLATFORM Global Dataset ID prefix must starts with \"USD_\"",
  "desc.MIPLATFORM_GLOBAL_VAR_ID_PREFIX.KEUMKAMWON": "The Financial Supervisory Service's MIPLATFORM Global variable ID prefix must starts with \"U_\"",
  "desc.MISMATCH.COLUMN_VALUE.INSERT.SQL": "The Mismatch in Number of Column Inputs finds INSERT statements in which the number of columns does not match the number of input values.",
  "desc.MISMATCH.MALLOC_TO_DELETE": "The Use of delete to Free Memory Allocated by Dynamic Memory Allocation Function checker finds attempts of using delete to free a memory area allocated by a dynamic memory allocation function such as malloc().",
  "desc.MISMATCH.MALLOC_TO_DELETE_ARRAY": "The Use of delete[] to Free Memory Allocated by Dynamic Memory Allocation Function checker finds attempts of using delete[] to free a memory area allocated by a dynamic memory allocation function such as malloc.",
  "desc.MISMATCH.NEW_ARRAY_TO_DELETE": "The Use of delete to Free Memory Allocated by new[] checker finds attempts of using delete to free a memory area allocated by new[].",
  "desc.MISMATCH.NEW_ARRAY_TO_FREE": "Use of free to Free Memory Allocated by new[] checker finds attempts of using free() to free a memory area allocated by new[].",
  "desc.MISMATCH.NEW_TO_DELETE_ARRAY": "Use of delete[] to Free Memory Allocated by new checker finds attempts of using delete[] to free a memory area allocated by new.",
  "desc.MISMATCH.NEW_TO_FREE": "Use of free to Free Memory Allocated by new checker finds attempts of using free() to free a memory area allocated by new.",
  "desc.MISMATCH.RESOURCE": "The Mismatch between Resource Allocation and Deallocation Functions checker finds instances in which a resource is allocated and deallocated with mutually mismatching functions.",
  "desc.MISMATCH.WINAPI": "Windows provides several APIs for allocating memory.  While some of these functions have converged over time, it is still important to always properly pair allocations and deallocations.",
  "desc.MISMATCH_RETURN_TYPE": "The Type Mismatch between Declared and Actual Return Types checker finds functions that return an expression of another type than their declared type.",
  "desc.MISMATCH_STORAGE_CLASS": "The Conflicting Storage Classes checker finds instances in which the same function or object has both external and static linkage.",
  "desc.MISMATCH_VALIDATOR_AND_FORM_FIELD": "In a web application that uses the Struts2 framework, if the form fields that are validated do not match the form fields defined in the Java class, correct validation will not occur.",
  "desc.MISSING.ALIAS.TABLE.SQL": "Detects when alias is omitted from the table name.",
  "desc.MISSING.ASC_DESC.ORDER_BY.SQL": "This checks if ASC/DESC is specified in the ORDER BY clause. It is recommended to specify ASC and DESC.",
  "desc.MISSING.BRACES.FOR_LOOP.CSHARP": "The Missing Braces in for Statement checker finds for statements that do not use braces.",
  "desc.MISSING.BRACES.WHILE_LOOP.CSHARP": "The Missing Braces in while Statement checker finds while statements that do not use braces.",
  "desc.MISSING.BREAK.CASE.CSHARP": "The Missing break in case Statement checker finds case statements in which a break is missing.",
  "desc.MISSING.COLUMN.INSERT.SQL": "This checks if the columns of the table is specified in INSERT query statement. It is recommended to specify all the columns.",
  "desc.MISSING.COMMENT.BINDING_VARIABLE.SQL": "Comment about binding variables does not exist.",
  "desc.MISSING.COMMENT.COLUMN_IN_SELECT.SQL": "The Missing Comment on Referenced Column checker finds SELECT statements in which the referenced columns are not attached with a comment.",
  "desc.MISSING.DEFAULT.SWITCH.CSHARP": "The Missing default case in switch Statement checker finds switch statements in which a default case is missing.",
  "desc.MISSING.DESIGNATED_INIT": "The Missing Item in Designator List checker finds designator lists in which some items are not given initializers.",
  "desc.MISSING.FUNCTION_DECLARATION": "The Call to Non-declared Function finds instances of calling a function whose name is never declared in any of the complied sources.",
  "desc.MISSING.INDEX_HINT.SQL": "This checks if INDEX HINT was included in SELECT, INSERT or DELETE query statement. It is recommended to include INDEX HINT.",
  "desc.MISSING.ORDER_BY.SELECT.ABAP": "The Missing ORDER BY in SELECT Statement checker finds SELECT statements that do not contain an ORDER BY clause.",
  "desc.MISSING.SORT_KEY.ABAP": "The Missing SORT Key checker finds SORT statements with no key fields specified.",
  "desc.MISSING.TABLE_ALIAS.JOIN.SQL": "This checks if ALIAS for the table is not specified in the FROM clause when the tables are joined. It is recommended to specify the table ALIAS.",
  "desc.MISSING.WHERE.DELETE.ABAP": "The Missing WHERE in DELETE Statement checker finds DELETE statements that do not contain a WHERE clause.",
  "desc.MISSING.WHERE.DELETE_UPDATE.SQL": "The Missing WHERE in DELETE or UPDATE Statement checker finds DELETE or UPDATE statements that do not contain a WHERE clause.",
  "desc.MISSING.WHERE.SELECT.ABAP": "The Missing WHERE in SELECT Statement checker finds SELECT statements that do not contain a WHERE clause.",
  "desc.MISSING.WHERE.SELECT.SQL": "The Missing WHERE in SELECT Statement checker finds SELECT statements that do not contain a WHERE clause.",
  "desc.MISSING.WHERE.UPDATE.ABAP": "The Missing WHERE in UPDATE Statement checker finds UPDATE statements that do not contain a WHERE clause.",
  "desc.MISSING_ATTRIBUTE.SERIALIZABLE.CSHARP": "The Missing Serializable Attribute checker finds classes that implement the ISerializable interface but do not declare the Serializable attribute.",
  "desc.MISSING_AUTHENTICATION.CRITICAL_FUNCTION.CSHARP": "The Missing Authentication for Critical Function checker finds instances of failure to perform authentication for critical functionality.",
  "desc.MISSING_AUTHENTICATION.CRITICAL_FUNCTION.KOTLIN": "The Missing Authentication for Critical Function checker finds code that fails to perform proper authentication for critical functionality.",
  "desc.MISSING_AUTHENTICATION.CRITICAL_FUNCTION.PHP": "The Missing Authentication for Critical Function checker finds instances of failure to perform authentication for critical functionality.",
  "desc.MISSING_AUTHENTICATION.CRITICAL_FUNCTION.PYTHON": "This vulnerability may be caused when any security function (authentication, access control, confidentiality, encryption, permission management, etc.) is implemented improperly. This includes allowing critical functions to operate without proper authentication or with improper authorization.",
  "desc.MISSING_AUTHENTICATION_CONTROL": "The Omission of Authentication checker finds instances of failure to implement a control routine using authentication.",
  "desc.MISSING_AUTHENTICATION_CONTROL.OBJC": "The Omission of Authentication checker finds instances of failure to implement a control routine using authentication.",
  "desc.MISSING_AUTHENTICATION_CONTROL.SWIFT": "The Omission of Authentication checker finds instances of failure to implement a control routine using authentication.",
  "desc.MISSING_AUTHENTICATION_FOR_CRITICAL_FUNCTION": "The Missing Authentication for Critical Function checker finds instances of failure to perform authentication for critical functionality.",
  "desc.MISSING_BLANK_LINE": "The Missing Blank Line checker finds instances in which a blank line is missing where it is supposed to be present.",
  "desc.MISSING_BLANK_LINE.IMPORT": "The Violation of Line-wrapping Rule between import Statements checker finds instances of failure to insert a blank line between two import statements of different types.",
  "desc.MISSING_BLANK_LINE.SECTION": "The Violation of Section-separating Blank Line in Method checker finds methods in which two different sections are not separated by a blank line.",
  "desc.MISSING_BLANK_LINE_BEFORE_COMMENT": "The Comment without Preceding Blank Line checker finds instances in which source code and its subsequent comment are not separated by a blank line.",
  "desc.MISSING_BLANK_LINE_BEFORE_COMMENT.CSHARP": "Place the comment on a separate line, not at the end of a line of code.",
  "desc.MISSING_BLOCK_IN_CONTROL_STATEMENT": "The Compound Statement without Braces checker finds compound statements that do not contain curly braces.",
  "desc.MISSING_BRACE_IN_IF_STATEMENT": "The Unbraced if Statement checker finds instances in which branch blocks of an if statement are not enclosed in braces.",
  "desc.MISSING_BREAK_IN_CASE": "The Missing break in case Statement checker finds case statements that do not end with a break statement.",
  "desc.MISSING_BREAK_IN_CASE.MISRA2008": "The Missing break in case Statement checker finds case statements that do not end with a break statement.",
  "desc.MISSING_BREAK_OR_THROW_IN_CASE": "The Missing Termination of Case checker finds switch statements in which a non-empty case clause is not terminated with a throw or break statement.",
  "desc.MISSING_CATCH_BLOCKING_IO_ERROR.PYTHON": "The Missing Exception Handling for BlockingIOError checker finds instances in which an API that can possibly throw the BlockingIOError exception is called but the handling of this exception is missing.",
  "desc.MISSING_CATCH_CONNECTION_ERROR.PYTHON": "The Missing Exception Handling for ConnectionError checker finds instances in which an API that can possibly throw the ConnectionError exception is called but the handling of this exception is missing.",
  "desc.MISSING_CATCH_FILE_EXISTS_ERROR.PYTHON": "The Missing Exception Handling for FileExistError checker finds instances in which an API that can throw the FileExistError exception is called but the handling of this exception is missing.",
  "desc.MISSING_CAUSE_EXCEPTION_IN_THROW": "The Do Not Miss Passing the Causing Exception checker detects when you do not pass the causing exception as a parameter when throwing inside a catch block.",
  "desc.MISSING_CHECK_OF_INPUT": "The Unvalidated Input checker finds instances in which a variable that takes an external input is not validated in a conditional such as an if statement.",
  "desc.MISSING_CLASS_IN_SOURCE_FILE": "The File without Public Class or Interface Declaration checker finds source files in which a properly named public class or interface does not exist.",
  "desc.MISSING_COMPOUND_STATEMENT": "The Compound Statement without Braces checker finds compound statements that do not contain curly braces.",
  "desc.MISSING_CUSTOM_ERROR_PAGE.WEB.CONFIG": "The Use of Default Error Page checker finds instances of letting the default error page show up when an error occurs.",
  "desc.MISSING_DEBUG_CHECK": "The Missing Debug Mode Check checker finds instances of failure to check for debug mode before a call to a debugging function.",
  "desc.MISSING_DEFAULT_IN_SWITCH": "The Unused Default in Switch checker finds code that fails to use a default in switch statements.",
  "desc.MISSING_EXPLICIT_TYPE": "The return type has to be explicitly specified on function declaration.",
  "desc.MISSING_FILTER_DEFINITION.CONFIG": "The Use of Non-existent Filter checker finds filter mappings that reference a non-existent filter.",
  "desc.MISSING_FINALLY_IN_TRY_CATCH": "The Missing finally Block checker finds try statements that do not include a finally block.",
  "desc.MISSING_FUNCTION_DEFINITION_PARAMETER": "Do not omit the type of argument in the function definition.",
  "desc.MISSING_FUNCTION_RETURN_TYPE": "The Missing Definition of Function Return Type checker finds functions with an undefined return type.",
  "desc.MISSING_INPUT_VALIDATION": "Input validation needed.",
  "desc.MISSING_INTEGRITY_CHECK": "The Code Download without Integrity Check checker finds instances of downloading an executable code without checking its origin or integrity.",
  "desc.MISSING_LOGIN_CONTROL": "The Omission of Login Attempt Limit checker finds instances of failure to implement a logic to limit the number of login attempts.",
  "desc.MISSING_LOGIN_CONTROL.CSHARP": "The Omission of Login Attempt Limit checker finds instances of failure to implement a logic to limit the number of login attempts.",
  "desc.MISSING_LOGIN_CONTROL.KOTLIN": "The Omission of Login Attempt Limit checker finds instances of failure to implement a logic to limit the number of login attempts.",
  "desc.MISSING_LOGIN_CONTROL.OBJC": "The Omission of Login Attempt Limit checker finds instances of failure to implement a logic to limit the number of login attempts.",
  "desc.MISSING_LOGIN_CONTROL.PHP": "The Omission of Login Attempt Limit checker finds instances of failure to implement a logic to limit the number of login attempts.",
  "desc.MISSING_LOGIN_CONTROL.PYTHON": "The Omission of Login Attempt Limit checker finds instances of failure to implement a logic to limit the number of login attempts.",
  "desc.MISSING_LOGIN_CONTROL.SWIFT": "The Omission of Login Attempt Limit checker finds instances of failure to implement a logic to limit the number of login attempts.",
  "desc.MISSING_MESSAGE_ID_WHEN_GENERATING_MAC": "The Missing Message ID when Generating MAC checker finds code that does not includes message IDs for message authentication code (MAC) so that an attacker can reuse authentication.",
  "desc.MISSING_NORMALIZATION_BEFORE_VALIDATION": "The Missing Normalization before Validation checker finds file names that are not normalized before they are validated for paths.",
  "desc.MISSING_OPERATION_MESSAGE.SWIFT": "The No Explaining Message for Fingerprint Request checker finds instances in which users are asked for a fingerprint input but no message is provided about why.",
  "desc.MISSING_PACKAGE_DECLARATION": "The Missing Package Declaration checker finds a source file that does not include a package declaration at the top.",
  "desc.MISSING_PARENTHESIS_IN_EXPRESSION": "The Complicated Expression without Parentheses checker finds expressions that are sized large enough but lack parentheses for prioritizing the constituent operations.",
  "desc.MISSING_PARENTHESIS_IN_EXPRESSION.CSHARP": "Use parentheses to make clauses in an expression apparent.",
  "desc.MISSING_PASSWORD_RECOVERY_CONTROL": "The Omission of Password Restore Attempt Limit checker finds instances of failure to implement a logic to limit the number of password restore attempts.",
  "desc.MISSING_REQUIRE_CRYPTO_STEP": "The Missing Call to Functions Necessary for Encryption checker finds instances of failure to call functions necessary for encryption.",
  "desc.MISSING_RETURN": "The Missing Return Statement checker finds non-void functions that do not include a return statement.",
  "desc.MISSING_RETURN.FUNCTION.VBS": "The Missing Return Statement checker finds functions having no return statement.",
  "desc.MISSING_SERIAL_VERSION_UID": "The serialVersionUID undeclared checker detects when serialVersionUID is not assigned a value within a class that inherits from java.io.Serizable.",
  "desc.MISSING_SYNCHRONIZED_FOR_OVERRIDING": "Detect if synchronized modifier is not used when overriding synchronized method.",
  "desc.MISSING_TABLE_OWNER.XSQL.CONFIG": "The Prohibit Declaring Tables with Missing Owners checker detects when you write a table name without an owner in a FORM clause in your SQL syntax.",
  "desc.MISSING_VALIDATION_OF_ARRAY_INDEX": "The Missing Validation of Array Indexing Parameter checker finds instances in which a parameter represents an array index but its value is not validated.",
  "desc.MISSING_WRAPPER_ON_VARIABLE": "The Missing Specific Function as Argument in Function Call checker finds calls to optionally specified functions that do not pass a function of a specific data type to the designated argument position.",
  "desc.MISSING_XML_VALIDATION_CSHARP": "The Missing XML Validation checker finds instances of creating an XML document from an external input without validating it.",
  "desc.MISUSE_OF_TRY_CATCH": "The Throwing of Non-allowed Exception checker finds throw statements in conditional statements.",
  "desc.MIXED_REQUIREDNESS_MODEL.VBNET": "The class contains both required and non-required properties.",
  "desc.MIXED_TYPE_COMPARISON": "Understand integer conversion rules",
  "desc.MODIFICATION_CONTROL_VAR_IN_LOOP": "The Modification to Loop Counter inside for Loop Body checker finds expressions that make a modification to the loop counter inside the body of a for loop instead of the increment section.",
  "desc.MULTIPLE_ALLOC_IN_SINGLE_STMT": "Do not allocate memory more than one time in a single statement.",
  "desc.MULTIPLE_BINDS_TO_SAME_PORT": "The Use of Single Port by Multiple Services checker finds instances in which multiple services run on one port.",
  "desc.MULTIPLE_BINDS_TO_THE_SAME_PORT": "The Multiple Binds to the Same Port checker finds instances in which multiple services run on one port.",
  "desc.MULTIPLE_DECLARATION_IN_NAMESPACE": "The Overloading of Function in Namespace checker finds a function overloaded in a namespace.",
  "desc.MULTIPLE_ENV_WITH_SAME_NAME": "The Environment Variables with Case-insensitively Identical Names checker finds instances in which different environment variables take identical names with different cases.",
  "desc.MULTIPLE_FILE_ATTRIBUTES": "The Unassured File Identification checker finds instances of identifying a file based on a single criterion.",
  "desc.MULTIPLE_SIGNAL_TO_SAME_HANDLER": "The Multiple Signals Connected to Single Handler checker finds instances of connecting multiple signals to a single signal handler.",
  "desc.MUST_CALL.BATCH_EXIT.PF": "Commit/Rollback is not used at exit in batch service.",
  "desc.MUST_CALL_BASE_CONSTRUCTOR": "The Missing Call to Superclass Constructor checker finds constructors of child classes that do not call other constructors of superclasses.",
  "desc.MUST_CATCH_ALL_EXCEPTION_IN_DTOR": "The Unhandleable Exception within Destructor checker finds destructors in which an exception is thrown but cannot be handled within the destructor.",
  "desc.MUST_CATCH_ALL_EXCEPTION_IN_MAIN": "The Unhandleable Exception within Main Function checker finds instances in which an exception is thrown in the main() function but cannot be handled therewithin.",
  "desc.MUST_HAVE_AN_IDENTIFIER": "The Parameter without Identifier checker finds declarations of function prototypes whose parameter does not have an identifier.",
  "desc.MUST_NOT_BE_MUTATE_SRC_OBJ": "The Modifying Source Object within Copy Operation checker finds code that changes a value of member variable of the source object received as an argument of the copy constructor or copy assignment operator.",
  "desc.MUTABLE_COMPARISON": "The Use of Mutable Field in compareTo checker finds overrides of the Comparable.compareTo() method that use mutable fields.",
  "desc.MUTABLE_EQUALS": "The Use of mutable Field within equals checker finds a mutable field that is used to execute a method that compares objects.",
  "desc.MUTABLE_HASHCODE": "The Use of Mutable Field in hashCode checker finds overrides of the Object.hashCode() method that use mutable fields.",
  "desc.MUTUALLY_VISIBLE_ID_SHOULD_BE_UNIQUE": "The Identifiers with Same Initial Characters checker finds identifiers whose initial characters fail to represent a unique string different from those of any other identifiers.",
  "desc.MallocOnClassError": "Memory for class instance allocated with malloc(), but class contains a std::string.",
  "desc.MallocOnClassWarning": "Memory for class instance allocated with malloc(), but class provides constructors.",
  "desc.MemsetClass": "Using 'memfunc' on class that contains a classname.",
  "desc.MemsetClassFloat": "Using memset() on class which contains a floating point number.",
  "desc.MemsetClassReference": "Using 'memfunc' on class that contains a reference.",
  "desc.MemsetFloat": "The 2nd memset() argument 'varname' is a float, its representation is implementation defined.",
  "desc.MemsetValueOutOfRange": "The 2nd memset() argument 'varname' doesn't fit into an 'unsigned char'.",
  "desc.MemsetZeroBytes": "memset() called to fill 0 bytes.",
  "desc.MethodArgumentCouldBeFinal": "This checks for non-final method argument not being assigned.",
  "desc.MethodNamingConventions": "This checks if the name of the method does not violate the standard naming convention.",
  "desc.MethodReturnsInternalArray": "This checks if internal array of an class is directly returned.",
  "desc.MethodWithSameNameAsEnclosingClass": "Detect methods with the same name as the enclosing class except for constructors.",
  "desc.MisleadingVariableName": "Detect variables that are not fields starting with prefix 'm_'. This can cause confusion in differentiating between fields and variables.",
  "desc.MismatchingBitAnd": "Mismatching bitmasks. Result is always 0",
  "desc.MisplacedNullCheck": "Detect verification of NULL being performed in the wrong place or in the wrong way.",
  "desc.MissingBreakInSwitch": "Detect if a break statement does not exist in a switch block and the number of return statements and throw statements is less than the number of case labels.",
  "desc.MissingSerialVersionUID": "Detect if declaration of serialVersionUID does not exists in a non-abstract class that inherits Serializable or java.io.Serializable.",
  "desc.MissingStaticMethodInNonInstantiatableClass": "Detect classes that have a private constructor and does not have any other static methods or fields. These cases are not usable.",
  "desc.ModuloAlwaysTrueFalse": "Comparison of modulo result is predetermined.",
  "desc.MoreThanOneLogger": "Detect declaration of two or more Logger objects in a single class.",
  "desc.MultiCondition": "Expression is always false because 'else if' condition matches previous condition.",
  "desc.NAMESPACE_IN_HEADER_SHOULD_BE_NAMED": "The Unnamed Namespace of Header File checker finds incidents that unnamed namespaces are located on header files instead of source files.",
  "desc.NAMES_WITH_WIDER_SCOPE_SHOULD_BE_LONGER": "The Inclusion of Upper Level Variable Name checker finds instances in which a variable name at an upper level of scope is included to a lower level.",
  "desc.NAME_IS_USED_IN_STANDARD_LIBRARY": "The Reuse of Standard Library Identifier checker finds instances in which a custom definition in a source file uses an identifier used by the standard library.",
  "desc.NAME_SHOULD_NOT_START_WITH_UNDERSCORE": "The Identifier Starting with Underscore checker finds identifiers that start with the underscore symbol (_).",
  "desc.NAMING.ENUM.INCORRECT_PREFIX.CSHARP": "An enumeration contains a member whose name starts with the type name of the enumeration.",
  "desc.NAMING.IDENTIFIER.INCORRECT_PREFIX.CSHARP": "The name of an externally visible interface does not start with an uppercase 'I'. Or the name of a generic type parameter on an externally visible type or method does not start with an uppercase 'T'.",
  "desc.NAMING.IDENTIFIERS.CASEINSENSITIVE_SAME.CSHARP": "The names of two types, members, parameters, or fully qualified namespaces are identical when they are converted to lowercase.",
  "desc.NAMING.LINQ.NOT_USED_PASCAL_CASING.CSHARP": "Use aliases to make sure that property names of anonymous types are correctly capitalized, using Pascal casing.",
  "desc.NAMING_CONVENTION.ENUM": "When declaring the enum, it must follow the naming convention.",
  "desc.NAMING_CONVENTION.FUNCTION": "When declaring the function, it must follow the naming convention.",
  "desc.NAMING_CONVENTION.HEADER": "The name of the header file included in the source code must follow the predefined naming convention.",
  "desc.NAMING_CONVENTION.STRUCTURE": "When declaring the structure, it must follow the naming convention.",
  "desc.NAMING_CONVENTION.TYPE": "The Noncompliant Type Name checker finds type declarations that do not comply with the naming rules.",
  "desc.NAMING_CONVENTION.UNION": "When declaring the structure, it must follow the naming convention.",
  "desc.NAMING_CONVENTION.VARIABLE": "When declaring the variable, it must follow the naming convention.",
  "desc.NARROW_CAST_COMPLEX_FLOAT_EXPR": "The Cast of Float to Larger Type checker finds expressions that implicitly cast the value of a complex float expression to a larger float type.",
  "desc.NARROW_CAST_COMPLEX_INTEGRAL_EXPR": "The Cast of Integer to Larger Type checker finds expressions that implicitly cast the value of a compound integral expression to a larger integer type.",
  "desc.NEGATIVE_FILE_DESCRIPTOR": "The Negative Argument Passed to Specific Function checker finds calls to file- and socket-handling functions that pass a negative number.",
  "desc.NEGATIVE_MOD_OPERATION": "The Modulo on Negative Number checker finds modulo operations performed on a negative number.",
  "desc.NEGATIVE_NUMBER_PROPERTY.JS": "The Invalid Value Set to Negative checker finds instances in which a variable is set to a negative number even though its valid range does not include negative numbers.",
  "desc.NESTED_SELECT.ABAP": "The Nested SELECT Statement checker finds SELECT statements that are nested in another SELECT statement.",
  "desc.NEVER_CREATE_CONTAINERS_OF_AUTO_PTRS": "The Creation of Container of auto_ptr checker finds declarations of variables that store an auto_ptr in a container.",
  "desc.NEVER_QUALIFY_REFERENCE_TYPE": "Do not make const or volatile as a reference type.",
  "desc.NEVER_USE_RAW_TYPE": "The Use of Generic Type without Type Parameter checker finds instances of using a generic collection type without a type parameter specified.",
  "desc.NEW_DELETE_INSTEAD_OF_MALLOC_FREE": "Memory allocation using new/delete should be used instead of malloc()/free().",
  "desc.NONEFFECTIVE_FUNCTION_CALL": "The Unnecessary Function Call checker finds instances in which a function call does not affect the flow of the program at all.",
  "desc.NONSERIALIZABLE_OBJECT_STORED_IN_SESSION": "The Non-serializable Object Stored in Session checker finds code that stores non-serializable objects in the session.",
  "desc.NONSYNCHRONIZED_METHOD_OVERRIDES_SYNCHRONIZED_METHOD": "The Overriding without synchronized checker finds instances in which a method is once declared synchronized but later overridden without using the synchronized modifier.",
  "desc.NON_CONSTANT_PTR_TO_FUNCTION": "The Function Pointer Declaration without const checker finds instances of declaring a function pointer without using the const qualifier.",
  "desc.NON_DYNAMIC_CAST_ON_VIRTUAL_BASE_CLASS_PTR": "The Invalid Cast of Virtual Base Class checker finds expressions that conduct an invalid cast of a virtually inherited base class.",
  "desc.NON_NULL_PARAMETER.OBJC": "The Passing of Null Argument checker finds of passing a null pointer to a function that is known not to take a null argument.",
  "desc.NON_PRIVATE_FIELD_IN_ACTION_CLASS": "In Apache Struts 2, the ActionSupport class is the base class for action classes and is used to encapsulate and validate form data. Fields in the ActionSupport class should generally be declared private to maintain the integrity and encapsulation of the data. Using public fields can lead to data leakage and integrity issues.",
  "desc.NON_SERIALIZABLE_OBJECT_IN_SESSION.VBNET": "The Storage of Non-Serializable Object as HttpSessionState Attribute checker finds instances of adding an object without the [Serialization] attribute to a session.",
  "desc.NON_THREAD_SAFE_SINGLETON": "The singleton pattern is a design pattern that guarantees that only one instance of a class is created. However, if you implement singletons in a multi-threaded environment without proper synchronization, you cannot guarantee singletons because multiple threads may attempt to create instances at the same time.",
  "desc.NORETURN_DECLARED": "The Return from noreturn Function checker finds return statements from noreturn functions.",
  "desc.NORMALIZE_STRINGS_BEFORE_VALIDATING_THEM": "Normalize strings before validating them.",
  "desc.NOT_BE_ASSIGNED_TO_OVERLAPPING_OBJECTS": "The Assignment between Objects with Overlapping Memory Area checker finds expression evaluations that include an assignment between two objects having a mutually overlapping memory area.",
  "desc.NOT_EXIST.EXTRA_CODES.PF": "Additional logic should be after calling setErrLog()",
  "desc.NOT_LAST_DEFAULT_CASE": "The switch Statement without Ending default checker find incidents that the last clause of switch statements does not end with a default.",
  "desc.NOT_LAST_DEFAULT_CASE.MISRA2012": "The switch Statement with Starting or without Ending default checker find incidents that the first or last clause of switch statements does not end with a default.",
  "desc.NO_BITWISE_SIGNED": "The Bitwise Operation on Signed Integer checker finds expressions in which a signed integer object is used as an operand of a bitwise operator.",
  "desc.NO_BRACKETS_TO_SWITCH_BODY": "The Unbraced Switch Statement checker finds switch statements whose body is not wrapped by braces.",
  "desc.NO_BRACKETS_TO_THEN_ELSE": "The Unbraced if Statement checker finds if-elseif-else statements whose condition blocks are not wrapped by braces.",
  "desc.NO_CASE_IN_NESTED_BLOCK": "The Use of case Not in switch Statement checker finds instances of using a case or default in a compound statement other than switch statement.",
  "desc.NO_CONTINUE_STMT": "The Use of continue Statement checker finds instances of using a continue statement.",
  "desc.NO_EXEC_STMT_BEFORE_FIRST_SWITCH_CASE": "The Unreachable Code in Switch Statement checker finds executable code written in a switch statement above the first case label.",
  "desc.NO_EXPLICIT_TYPE_CASTING": "The Implicit Cast in Assignment checker finds instances in which an implicit cast is caused by type mismatch between the two sides of an assignment operation.",
  "desc.NO_FUNCTION_DEFINITION_IN_HEADER": "The Function Definition in Header File checker finds header files that contain a function definition.",
  "desc.NO_GLOBAL_VARIABLES_BETWEEN_FUNCTIONS": "The Global Variable Declared between Function Definition checker finds global variables that are declared between function and its definition.",
  "desc.NO_INC_EXPR_IN_FOR_LOOP": "The Omission of Counter Increment in for Loop checker finds for loops that do not have an increment or decrement operation in the increment section.",
  "desc.NO_MEMBER_FUNCTION_IN_STRUCT": "The Use of Struct like Class checker finds instances of including a member function in a struct or applying an access modifier to a struct member.",
  "desc.NO_MORE_THAN_ONE_BREAK": "The Multiple breaks in Loop checker finds loops that use a break statement more than once.",
  "desc.NO_MORE_THAN_ONE_SHARP_OPERATOR": "The Duplicate Occurrences of # and ## checker finds macro definitions that use the # and ## operators more than once.",
  "desc.NO_PREPROCESSING_DIRECTIVE_IN_MACRO": "The Use of Preprocessor Directive in Macro Function Invocation checker finds instances in which a preprocessor statement is passed as an argument to a macro function.",
  "desc.NO_PUBLIC_CONSTRUCTOR_FOR_ABSTRACT_CLASS": "The Public Declaration of Abstract Class Constructor checker finds abstract classes whose constructor has public accessibility.",
  "desc.NO_REAL_DECLARATION_FOR_VARIABLE": "The Useless extern Qualification checker finds instances in which a variable is declared with the extern qualifier despite not being used in other source files.",
  "desc.NO_SEMICOLON_ON_SAME_STMT": "The Misuse of Semicolon checker finds semicolons put on the same line as the condition of an if, for, or while statement.",
  "desc.NO_SHIFT_SIGNED": "The Shift Operation on Signed Integer checker finds expressions in which a signed integer object is used as an operand of a bitwise operator.",
  "desc.NO_SIDE_EFFECT_STMT": "The Statement without Side Effect checker finds statements that have no side effects.",
  "desc.NO_TEST_EXPR_IN_FOR_LOOP": "The Omission of Comparison Operator in for Loop checker finds for loops that do not have a comparison operation in the evaluation section.",
  "desc.NPathComplexity": "NPath complexity of certain methods represent the number of acyclic execution paths within the method.",
  "desc.NULL_ARGUMENT.EQUALS.CSHARP": "The Null Check via Equals Method checker finds instances of using the Equals() method to check an object for null. This always returns false.",
  "desc.NULL_DEREF": "This checker detects code that attempts to read a value pointed to by a null pointer, without considering the possibility that the pointer value is null.",
  "desc.NULL_DEREF.CHECK_AFTER_DEREF": "The Null Check after Dereference checker finds instances in which a value once dereferenced with no null check is later checked for null.",
  "desc.NULL_DEREF.HORUS": "A null pointer dereference occurred.",
  "desc.NULL_DEREF.MALLOC_FAILED": "The Null Dereference Resulting from Allocation Failure checker finds instances of blindly dereferencing a pointer retrieved from a function that returns null when memory allocation fails.",
  "desc.NULL_DEREF.MISSING_CHECK": "This checker detects code that uses a pointer without a null check, even if the pointer was passed as an argument to a function or returned from another function after null checking.",
  "desc.NULL_DEREF.OBJC": "The Dereference of Null Value checker finds instances of dereferencing a null constant or a null-assigned variable without checking it for null.",
  "desc.NULL_DEREFERENCE.PHP": "The Dereference of Null Value checker finds instances of dereferencing a null-assigned variable without checking it for null.",
  "desc.NULL_DEREFERENCE.PYTHON": "A Null Pointer is dereferenced when the following assumption is violated: Object cannot be null. If an attacker intentionally creates a Null Pointer dereference, a Null Pointer Exception can be thrown to bypass security logic or expose debugging information.",
  "desc.NULL_RETURN": "The Dereference of Null Return Value checker finds instances of dereferencing a return value without checking it for null.",
  "desc.NULL_RETURN_CSHARP": "The Dereference of Null Return Value checker finds instances of dereferencing a return value without checking it for null.",
  "desc.NULL_RETURN_STD": "The Dereference of Null Return Value from Standard Library checker finds instances of dereferencing a return value from a Java standard library method without checking it for null even through the method can return null.",
  "desc.NULL_RETURN_STD_CSHARP": "The Dereference of Null Return Value from Standard Library checker finds instances of dereferencing a return value from a C# standard library method without checking it for null even through the method can return null.",
  "desc.NULL_RETURN_USR": "A warning is created when user defined methods that have the possibility of returning null are, is used to allocate a value in a certain variable and the variable is dereferenced without checking whether it is null.",
  "desc.NULL_RETURN_USR_CSHARP": "This issue is reported when methods from user defined libraries that can return null is assigned to a variable, and the variable is dereferenced without checking for null.",
  "desc.NULL_SHALL_BE_POINTER_CONSTANT": "The Assignment of Integer-type Null to Pointer Variable checker finds instances of assigning an integer value of 0 to a pointer type variable.",
  "desc.NULL_SHALL_NOT_BE_INTERGER_VALUE": "The Use of Null Pointer for Integer checker finds expressions that use null pointers instead of integers.",
  "desc.NULL_STATEMENT_FOUND": "The Empty Statement checker finds instances of using an empty statement in a non-allowed way.",
  "desc.NcssConstructorCount": "NCSS counts the number of statements, not including the number of comments. Single statement over multiple lines is still considered a single statement.",
  "desc.NcssMethodCount": "NCSS counts the number of statements, not including the number of comments.",
  "desc.NcssTypeCount": "NCSS counts the number of statements, not including the number of comments.",
  "desc.NegativeArraySize": "Declaration of array with negative size is undefined behaviour",
  "desc.NegativeIndex": "Array index -1 is out of bounds.",
  "desc.NegativeMemoryAllocationSize": "Memory allocation size is negative.",
  "desc.NoClassAttribute": "Attribute 'class' is not allowed, and use of it will be detected.",
  "desc.NoConstructor": "The class 'classname' does not have a constructor.",
  "desc.NoCopyConstructor": "class does not have a copy constructor which is recommended since the class contains a pointer.",
  "desc.NoExplicitConstructor": "Class 'classname' has a constructor with 1 argument that is not explicit.",
  "desc.NoHtmlComments": "HTML comments increases payload between the application server and client.",
  "desc.NoInlineScript": "Detect use of inline script of HTML.",
  "desc.NoInlineStyleInformation": "Detect inclusion of style related information in a JSP file.",
  "desc.NoJspForward": "Detect forwarding between JSP files.",
  "desc.NoLongScripts": "Detect inclusion of long scripts (Ex. Javascript) in a JSP file.",
  "desc.NoPackage": "Detect code without any package declaration.",
  "desc.NoScriptlets": "Detect inclusion of scriptlet in a JSP file.",
  "desc.NonCaseLabelInSwitchStatement": "Detect labeling other than SwitchLabel with normal case numbering in a switch statement.",
  "desc.NonStaticInitializer": "Detect non-static initialization block being called before the call of the constructor.",
  "desc.NonThreadSafeSingleton": "Detect use of non thread-safe static singleton.",
  "desc.NullAssignment": "Detect variable null assign without a declaration.",
  "desc.OBJECT_MODEL_VIOLATION.CSHARP": "The Sematic Mismatch between Equality and Hash Code checker finds instances of overriding only either of the Equals() and GetHashCode() methods-Equals() is to determine whether two objects are equal, and GetHashCode() is to get a hash code for an object.",
  "desc.OBSOLETE.CSHARP": "The Misuse of SqlClientPermission checker finds calls to the SqlClientPermission constructor that have the second argument passed.",
  "desc.ONE_DEFINITION_RULE": "The Violation of One Definition Rule checker finds code that performs more than one definition for a non-inline function or object.",
  "desc.ONE_READ_CHAR_PUSH_BACK": "The Multiple Calls to ungetc() checker finds instances of multiple calls to the ungetc() function.",
  "desc.ONLY_ARG_DEPENDENT_LOOKUP": "The Ambiguous Call to Template Function checker finds expressions that call a template function ambiguously.",
  "desc.ONLY_DECLARE_TRIVIAL_FUNCTINS_INLINE": "The Inline Declaration of Complex Function checker finds complex functions declared as inline.",
  "desc.ONLY_INLINE_NON_VIRTUAL_CTOR_DTOR": "The Inline Declaration of Special Method checker finds instances in which certain class methods are declared with the inline keyword.",
  "desc.ONLY_INLINE_SIMPLE_FUNCTION": "The Inline Declaration of Non-trivial Function checker finds non-trivial functions declared as inline.",
  "desc.ONLY_LOOP_CONTROL_IN_FOR": "Do not use the variables other than the controlling variable in the for loop. In the section where the variable is initialized, incremented and controlled, there should only be one variable.",
  "desc.ONLY_LOOP_COUNT_INC_DEC": "The Increment on Non-loop Counter Variable checker finds for loops that perform an increment/decrement operation on a variable other than the loop counter in the increment section.",
  "desc.ONLY_MAIN_IN_GLOBAL_SCOPE": "The Variable and Function Declaration in Global Scope checker finds variable or function declaration in global scopes except main function and namespace.",
  "desc.ONLY_ONE_LOOP_COUNT_INIT": "The Initialization of Non-loop Counter Variable finds for loops that initialize a variable other than the loop counter in the initialization section.",
  "desc.ONLY_THROW_OBJECT_OF_CLASS_TYPE": "The Throwing of Non-allowed Exception checker finds instances of throwing an exception that is not of an allowed type.",
  "desc.ONLY_VIRTUAL_FUNC_DEFINITION_ON_INHERIT_HIERARCHY": "The Duplicate Definition of Virtual Function checker finds incidents that child classes override virtual functions defined by parent classes.",
  "desc.OPEN_REDIRECT": "The Redirect to Untrusted Site checker finds instances of redirecting to a URL generated with an unvalidated external input.",
  "desc.OPEN_REDIRECT.CPP": "The Redirect to Untrusted Site checker finds code that uses unvalidated external inputs to generate URLs to be redirected.",
  "desc.OPEN_REDIRECT.JS": "The Redirect to Untrusted Site checker finds instances of redirecting to a URL generated with an unvalidated external input.",
  "desc.OPEN_REDIRECT.KOTLIN": "The Redirect to Untrusted Site checker finds instances of redirecting to a URL generated with an unvalidated external input.",
  "desc.OPEN_REDIRECT.OBJC": "The Redirect to Untrusted Site checker finds instances of redirecting to a URL generated with an unvalidated external input.",
  "desc.OPEN_REDIRECT.PHP": "The Redirect to Untrusted Site checker finds instances of redirecting to a URL generated with an unvalidated external input.",
  "desc.OPEN_REDIRECT.PYTHON": "If a server program uses unverified external input as the address of external websites and connect them automatically to the websites, it can be exposed to phishing attacks. It may be considered secure because the user is connected to the URL address sent from the client, but an attacker can manipulate the request of the form and redirect the user to a malicious URL.",
  "desc.OPEN_REDIRECT.SWIFT": "The Redirect to Untrusted Site checker finds instances of redirecting to a URL generated with an unvalidated external input.",
  "desc.OPEN_REDIRECT.TOBE.JS": "The Redirect to Untrusted Site through Dialog checker finds instances of redirecting to a URL generated with an unvalidated external input.",
  "desc.OPEN_REDIRECT.VBNET": "The Redirect to Untrusted Site checker finds instances of redirecting to a URL generated with an unvalidated external input.",
  "desc.OPEN_REDIRECT.VBS": "The Redirect to Untrusted Site checker finds instances of redirecting to a URL generated with an unvalidated external input.",
  "desc.OPEN_REDIRECT_ANDROID": "Detect an external input sent to Intent loaded on webView without validation.",
  "desc.OPEN_REDIRECT_ASPNET": "The Redirect to Untrusted Site checker finds instances of redirecting to a URL generated with an unvalidated external input.",
  "desc.OPERATOR_NEW_AND_DELETE_MISMATCHED": "The Failure to Overload Both Memory Operators in Same Scope checker finds classes in which only either of the new and delete operators is overloaded.",
  "desc.OPTIONAL_SUBMODEL_REQUIRED.VBNET": "The Parent Model without Required Attribute checker finds instances in which a parent model does not have the Required attribute but its child model has this attribute.",
  "desc.ORDERING_TO_CATCH_SQLEXCEPTION": "The No Other Exception than SQLException checker finds instances of accessing a database with no other exceptions handled than SQLException.",
  "desc.ORDER_EXCEPTIONS_FROM_DERIVED_TO_BASE": "The Catch Blocks in Incorrect Sequence checker finds instances in which catch blocks are not arranged in derived-to-base order.",
  "desc.ORGANIZE_CLASS_DEFINE": "The Class Members Placed Not in Proper Order of Accessibility checker finds classes whose member fields are not placed in the order of those declared public, protected, and private.",
  "desc.OS_COMMAND_INJECTION": "The OS Command Injection checker finds instances in which an internal system command is executed by an unvalidated external input.",
  "desc.OS_COMMAND_INJECTION.JS": "When a user input without proper verification is used as a part or whole of an OS command, it might execute an unintended system command or action. This can result in granting an unauthorized permission, or malfunction on system and operation.",
  "desc.OS_COMMAND_INJECTION.OBJC": "The OS Command Injection checker finds instances in which an internal system command is executed by an unvalidated external input.",
  "desc.OS_COMMAND_INJECTION.SWIFT": "The OS Command Injection checker finds instances in which an internal system command is executed by an unvalidated external input.",
  "desc.OVERLOADED_FUNCTION_TEMPLATE_NOT_BE_SPECIALIZED": "The Ambiguous Call to Explicitly Specialized Function checker finds calls to overloaded functions that have an explicit specialization.",
  "desc.OVERLY_BROAD_CATCH.CSHARP": "The Extremely Generalized Exception Handling checker finds instances of generalizing a wide range of exceptions in handling them.",
  "desc.OVERLY_BROAD_CATCH.KOTLIN": "The Extremely Generalized Exception Handling checker finds instances of generalizing a wide range of exceptions in handling them.",
  "desc.OVERLY_BROAD_CATCH.PHP": "The Extremely Generalized Exception Handling checker finds instances of generalizing a wide range of exceptions in handling them.",
  "desc.OVERLY_BROAD_CATCH.PYTHON": "This is a security vulnerability that may cause a problem for the developer if it is widely used without exception handling for potential errors.",
  "desc.OVERLY_BROAD_CATCH.VBNET": "The Extremely Generalized Exception Handling checker finds instances of generalizing a wide range of exceptions in handling them.",
  "desc.OVERRIDE_ALL_OVERLOADS_OF_BASE_CLASS": "The Missing Overriding of Overloaded Function checker finds derived classes that fail to override any of the overloaded virtual functions from the base class.",
  "desc.OVERRIDE_HASHCODE_AND_EQUALS": "The Sematic Mismatch between Equality and Hash Code checker finds instances of overriding only either of the Equals() and GetHashCode() methods-Equals() is to determine whether two objects are equal, and GetHashCode() is to get a hash code for an object.",
  "desc.OVERRIDE_PURE_TO_NON_PURE": "The Overriding of Pure Virtual Function checker finds method declaration that pure virtual functions are overridden to pure virtual functions again.",
  "desc.OVERRUN.CONTAINER": "The Container Overflow checker finds expressions to inject or access data over specified storage capacity of containers.",
  "desc.OVERRUN.DYNAMIC": "The Overflow of Dynamically Allocated Buffer checker finds instances of reading from or writing to memory out of an allocated buffer.",
  "desc.OVERRUN.DYNAMIC.BAD_COND": "The Dynamically Assigned Buffer Overflow Caused by Improper Condition checker finds instances in which an improper conditional evaluation causes reading from or writing to memory out of an allocated buffer.",
  "desc.OVERRUN.DYNAMIC.IN_FUNC_CALL": "The Dynamically Assigned Buffer Overflow from Function checker finds calls with an error from copying the specific size of data on memory.",
  "desc.OVERRUN.DYNAMIC.IN_FUNC_CALL.BAD_COND": "The Dynamically Assigned Buffer Overflow from Function Caused by Improper Condition checker finds calls with an error for copying a specific size of data from memories.",
  "desc.OVERRUN.DYNAMIC.IN_FUNC_CALL.BAD_COND_delete": "An error that occurs when writing or reading a value to or from memory outside the area of the allocated buffer due to an invalid condition.",
  "desc.OVERRUN.DYNAMIC.IN_FUNC_CALL_delete": "An error that occurs when writing or reading a value to or from memory outside the area of the allocated buffer due to an invalid condition.",
  "desc.OVERRUN.DYNAMIC.MEMSET": "Buffer Overrun issue may be reported when the functions like memcpy() and strncpy() are used for copying data with a fixed size. A size of the target buffer should be larger than that of the data.",
  "desc.OVERRUN.DYNAMIC.MEMSET.BAD_COND": "Buffer Overrun issue may be reported when the functions like memcpy() and strncpy() are used for copying data with a fixed size. The size of the target buffer should be larger than the size of data to be copied but the size is compared improperly.",
  "desc.OVERRUN.DYNAMIC.STRCPY": "Buffer Overflow issue can occur when the function strcpy() uses a heap memory. Do not allocate the data whose size is larger than that of buffer and do not read the out-of-bounds memory of buffer.",
  "desc.OVERRUN.HORUS": "Buffer overrun.",
  "desc.OVERRUN.STATIC": "The Buffer Overflow checker finds instances of reading from or writing to memory out of an allocated buffer.",
  "desc.OVERRUN.STATIC.BAD_COND": "The Buffer Overflow Caused by Improper Condition checker finds instances in which an improper conditional evaluation causes reading from or writing to memory out of an allocated buffer.",
  "desc.OVERRUN.STATIC.IN_FUNC_CALL": "The Buffer Overflow from Function checker finds calls with an error for copying a specific size of data from memories.",
  "desc.OVERRUN.STATIC.IN_FUNC_CALL.BAD_COND": "The Buffer Overflow from Function Caused by Improper Condition checker finds calls with an error for copying a specific size of data from memories.",
  "desc.OVERRUN.STATIC.IN_FUNC_CALL.BAD_COND_delete": "-",
  "desc.OVERRUN.STATIC.IN_FUNC_CALL_delete": "An error that occurs when writing or reading a value to or from memory outside the area of the allocated buffer due to an invalid condition.",
  "desc.OVERRUN.STATIC.MEMSET": "The Buffer Overflow Caused by Range-copying Function checker finds misuses of a function such as memcpy() or strncpy() that copies its specified size (length) of in-memory data.",
  "desc.OVERRUN.STATIC.MEMSET.BAD_COND": "Buffer Overrun issue may be reported when the functions like memcpy() and strncpy() are used for copying data with a fixed size. The size of the target buffer should be larger than the size of data to be copied but the size is compared improperly.",
  "desc.OVERRUN.STATIC.MEMSET.BAD_COND.HORUS": "A Buffer Overrun error that is detected when using functions that copy data in memory by a certain size (length) through scoping, such as memcpy() and strncpy(), if the scope is incorrectly checked.",
  "desc.OVERRUN.STATIC.MEMSET.EXT": "Buffer Overrun issue may be reported when the functions like memcpy() and strncpy() are used for copying data with a fixed size. A size of the target buffer should be larger than that of the data.",
  "desc.OVERRUN.STATIC.STRCPY": "Buffer Overrun issue can be reported when the function strcpy() is used. The size of a buffer should be larger than that of a string.",
  "desc.OVERRUN.STATIC.STRCPY.OBJC": "The Buffer Overflow from String Function checker finds string function calls with an error for copying a specific size of data from memories.",
  "desc.OVERRUN.STRCPY.HORUS": "Detects memory overruns in STRCPY-like functions.",
  "desc.OVERRUN_STATIC.OBJC": "The Fixed Buffer Overflow checker finds instances of reading or writing outside the bounds of a fixed-length array.",
  "desc.OneDeclarationPerLine": "Detect declaration of multiple variables in a single line.",
  "desc.OnlyOneReturn": "Detect multiple return statements in a single method.",
  "desc.OperatorEq": "'class::operator=' should return 'class &'.",
  "desc.OperatorEqMissingReturnStatement": "No 'return' statement in non-void function causes undefined behavior.",
  "desc.OperatorEqRetRefThis": "'operator=' should return reference to 'this' instance.",
  "desc.OperatorEqShouldBeLeftUnimplemented": "'operator=' should either return reference to 'this' instance or be declared private and left unimplemented.",
  "desc.OperatorEqToSelf": "'operator=' should check for assignment to self to avoid problems with dynamic memory.",
  "desc.OperatorEqVarError": "Member variable 'classname::' is not assigned a value in 'classname::operator='.",
  "desc.OppositeInnerCondition": "Opposite inner 'if' condition leads to a dead code block.",
  "desc.OptimizableToArrayCall": "Detect creating and inserting an array with index 0 as the PrimarySuffix for toArray().",
  "desc.OutOfBounds": "index is out of bounds",
  "desc.PACKAGE_COMMENT": "The Package Comment Format finds package comments that violate their format.",
  "desc.PACKAGE_PATH.NICE": "Detect if source package path from the Biz column and from the xml are different.",
  "desc.PARAMETER_POINTER_TO_LOCAL": "The Local Variable Address Referenced from Outside checker finds instances in which the address of a local variable is referenced from outside the function.",
  "desc.PASSWORD.EMPTY_PASSWORD.CSHARP": "The Blank Password checker finds code that uses an empty value for password initialization.",
  "desc.PASSWORD.HARDCODED_PASSWORD.CSHARP": "The password is hardcoded.",
  "desc.PASSWORD.PBE_EMPTY_PASSWORD.CSHARP": "The Key Derivation Function with Blank Password checker finds instances of using a password based key derivation function as an empty password.",
  "desc.PASSWORD.PBE_HARDCODED_PASSWORD.CSHARP": "The Key Derivation Function with Hardcoded Password checker finds instances of using a password based key derivation function for hardcoded password.",
  "desc.PASSWORD_INSECURE_SUBMISSION": "The Password Exposure in GET Request checker finds instances of sending a password by the GET method.",
  "desc.PASSWORD_IN_COMMENT": "The Password Exposal in Comment checker finds comments that contain password information.",
  "desc.PASSWORD_IN_COMMENT.ASP": "Detect password information in the comment of ASP source code.",
  "desc.PASSWORD_IN_COMMENT.CSHARP": "The Password Exposal in Comment checker finds comments that contain password information.",
  "desc.PASSWORD_IN_COMMENT.KOTLIN": "The Password Exposal in Comment checker finds comments that contain password information.",
  "desc.PASSWORD_IN_COMMENT.OBJC": "The Password Exposal in Comment checker finds comments that contain password information.",
  "desc.PASSWORD_IN_COMMENT.PHP": "The Password Exposal in Comment checker finds comments that contain password information.",
  "desc.PASSWORD_IN_COMMENT.PYTHON": "If any sensitive information (for example, ID, password, etc.) is included in the comment, the system security may be vulnerable. If a software developer left the password in a comment for convenience, it is unlikely to be removed once the software is completed. Also, attackers may breach the system easily if they can access the source code.",
  "desc.PASSWORD_IN_SERVLET_COMMENT": "The Password Exposal in Servlet Comment checker finds comments in servlet code that contain password information.",
  "desc.PASSWORD_MANAGEMENT.WEB.CONFIG": "The Hardcoded Password checker finds hardcoded passwords. When releasing an application, its settings file should not contain a password.",
  "desc.PASSWORD_MANAGEMENT_HARDCODED_PASSWORD": "The Hardcoded Password checker finds hardcoded passwords.",
  "desc.PASSWORD_MANAGEMENT_HEAP_INSPECTION": "The Password Exposal from Memory Dump checker finds instances of storing a password in a string object.",
  "desc.PASSWORD_MANAGEMENT_PASSWORD_IN_COMMENT": "The Password Exposal in Comment checker finds comments that contain password information.",
  "desc.PASSWORD_MANAGEMENT_PASSWORD_IN_REDIRECT": "The Password Exposal in Address Bar checker finds instances of sending a GET response including a password.",
  "desc.PASSWORD_SAVED_FILE_WITHOUT_ENCRYPTION": "The Storing Unencrypted Password checker finds instances of storing unencrypted passwords externally.",
  "desc.PASSWORD_SAVED_WITHOUT_ENCRYPTION_ASPNET": "The Storing Unencrypted Password checker finds instances of storing unencrypted passwords externally.",
  "desc.PASS_BY_VALUE": "Using large data like structure as function's argument is inefficient.  The structure that is no bigger than the predefined size should be used as an argument.",
  "desc.PASS_OBJECT_OF_CORRECT_TYPE_TO_VA_START": "The va_start macro constraint violation checker detects violations of constraints in the va_start macro used to handle variable arguments.",
  "desc.PATH_CONTAMINATION.GO": "Path traversal is a vulnerability in which a user can access or modify arbitrary files in the application. This may occur when a user input is used as a file path without restrictions. Using a file path directly from a user input is dangerous. It is recommended to not use a file path from a user input whenever possible. If it is necessary, ensure that the user input is validated. If it becomes necessary, ensure that the user input is validated.",
  "desc.PATH_CONTAMINATION.JS": "When unverified external inputs are used to access system resources, attackers can manipulate the input values to access resources protected by the system, which lead to create vulnerability. Attackers can exploit this to modify or delete resources, leak system information, and cause service failure due to the conflicts between system resources.",
  "desc.PATH_MANIPULATION.KOTLIN": "The Path Traversal checker finds instances in which an unvalidated external input creates a path accessible to the file system.",
  "desc.PATH_MANIPULATION.OBJC": "The Path Traversal checker finds instances of using an unvalidated external input in creating a path to access the file system.",
  "desc.PATH_MANIPULATION.PHP": "The Path Traversal checker finds instances of using an unvalidated external input in creating a path to access the file system.",
  "desc.PATH_MANIPULATION.PYTHON": "The Path Traversal checker finds instances of using an unvalidated external input in creating a path to access the file system.",
  "desc.PATH_MANIPULATION.VBNET": "The Path Traversal checker finds instances of using an unvalidated external input in creating a path to access the file system.",
  "desc.PATH_MANIPULATION.VBS": "The Path Traversal checker finds instances of using an unvalidated external input in creating a path to access the file system.",
  "desc.PATH_TRAVERSAL": "The Path Traversal checker finds instances of using an unvalidated external input in creating a path to access the file system.",
  "desc.PATH_TRAVERSAL.TOBE.JS": "The TOBESOFT Platform Path Traversal checker finds instances of using an unvalidated external input in creating a path to access the file system.",
  "desc.PATH_TRAVERSAL_ANDROID": "If you need to generate a \"directory path string\" via an Intent input that can come from an external source, and you don't filter the characters that can be used for path traversal in the external input, you could end up with path strings to unexpected areas, which could cause system information leaks, service failures, etc.",
  "desc.PATH_TRAVERSAL_ASPNET": "The Path Traversal checker finds instances in which an unvalidated external input creates a path accessible to the file system.",
  "desc.PERFORMANCE.REFERENCE_TYPE.STATIC_CONSTRUCTOR.CSHARP": "A reference type declares an explicit static constructor.",
  "desc.PERSISTENT_AUTHENTICATION.VBNET": "The Setting of Persistent Permission checker finds calls to the RedirectFromLoginPage() method in which the second argument is true.",
  "desc.PERSISTENT_COOKIE": "The Storage of Sensitive Data in Persistent Cookie checker finds instances of storing sensitive date in a cookie whose lifespan is set too long.",
  "desc.PERSISTENT_COOKIE.CPP": "The Storage of Sensitive Data in Persistent Cookie checker finds code that stores sensitive data in cookies with too long lifespans.",
  "desc.PERSISTENT_COOKIE.KOTLIN": "The Storage of Sensitive Data in Persistent Cookie checker finds instances of storing sensitive date in a cookie whose lifespan is set too long.",
  "desc.PERSISTENT_COOKIE_ASPNET": "The Storage of Sensitive Data in Persistent Cookie checker finds instances of storing sensitive date in a cookie whose lifespan is set too long.",
  "desc.PLACE_PLAIN_CHAR": "The Use of Number for plain char Type checker finds instances of assigning or comparing a number to a variable of the plain char type with no signedness specification.",
  "desc.PLACE_SIGNED_CHAR": "The Use of Character for signed char Type checker finds instances of assigning or comparing a character to a variable of the unsigned char or signed char type.",
  "desc.PLAINTEXT_PASSWORD": "The Storage of Password in Plaintext checker finds instances of storing unencrypted passwords.",
  "desc.PLAIN_CHAR_OPERATION": "The Use of Arithmetic Operator for plain char Type checker finds instances of using a arithmetic operator to a variable of the plain char type with no signedness specification.",
  "desc.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.KOTLIN": "The Sensitive Information Storage in Plaintext checker finds code that stores unencrypted sensitive information in plain texts.",
  "desc.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.OBJC": "The Sensitive Information Storage in Plaintext checker finds instances in which unencrypted sensitive information is stored in plaintext.",
  "desc.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.PHP": "The Sensitive Information Storage in Plaintext checker finds instances in which unencrypted sensitive information is stored in plaintext.",
  "desc.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.PYTHON": "The Sensitive Information Storage in Plaintext checker finds instances in which unencrypted sensitive information is stored in plaintext.",
  "desc.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.SWIFT": "The Sensitive Information Storage in Plaintext checker finds instances in which unencrypted sensitive information is stored in plaintext.",
  "desc.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.TOBE.JS": "The Sensitive Information Storage in Plaintext checker finds instances in which unencrypted sensitive information is stored in plaintext.",
  "desc.PLAIN_TEXT_TRANSMISSION.SENSITIVE_INFORMATION.PHP": "The Sensitive Information Transfer in Plaintext checker finds instances of transferring sensitive information without encrypting it.",
  "desc.PLAIN_TEXT_TRANSMISSION.SENSITIVE_INFORMATION.PYTHON": "The Sensitive Information Transfer in Plaintext checker finds instances of transferring sensitive information without encrypting it.",
  "desc.POINTER_ARITHMETIC_NOT_ON_ARRAY": "The Pointer Operation on Non-array checker finds expressions that perform a pointer operation on a non-array pointer object.",
  "desc.POOR_LOGGING_PRACTICE.CSHARP": "The Use of Forbidden Logger checker finds code that uses forbidden methods to generate logs.",
  "desc.POOR_LOGGING_PRACTICE.JS": "The Use of Forbidden Logger checker finds instances of using a forbidden method for logging.",
  "desc.PORTABILITY_FLAW.FILE_SEPARATOR.CSHARP": "The Hardcoded Path Separator checker finds hardcoded path separators.",
  "desc.PORTABILITY_FLAW.FILE_SEPARATOR.PYTHON": "The Hardcoded Path Separator checker finds hardcoded path separators.",
  "desc.POSTFIX_OPERATOR_SHOULD_RETURN_CONST": "The Postfix Operator with Wrong Qualifier checker finds overloads of the postfix increment and decrement operators that are not declared with the const qualifier.",
  "desc.POSTPONE_VARIABLE_DEFINITIONS": "The Too Wide Live Range of Variable checker finds instances in which a local variable is declared much earlier than its actual use and thus stays live in a broad range.",
  "desc.POTENTIAL_INFINITE_LOOP": "The Potential Infinite Loop checker finds loops that may potentially execute an infinite number of iterations.",
  "desc.POTENTIAL_INFINITE_LOOP.PF": "It may be fallen into infinite loop.",
  "desc.PRACTICE.ARRAY_DECLARATION.COMPLICATED_SYNTAX.CSHARP": "Use the concise syntax when you initialize arrays on the declaration line.",
  "desc.PRACTICE.BOOLEAN_EXPRESSION.USED_AMP_AND_BITWISE_OR.CSHARP": "To avoid exceptions and increase performance by skipping unnecessary comparisons, use '&&' instead of '&' and '||' instead of '|' when you perform comparisons.",
  "desc.PRACTICE.CALL_TO_STATIC_MEMBER.WITH_DERIVED_CLASS_NAME.CSHARP": "Do not qualify a static member defined in a base class with the name of a derived class.",
  "desc.PRACTICE.DELEGATE_TYPE.BAD_INSTANCE_CREATION.CSHARP": "Use the concise syntax to create instances of a delegate type.",
  "desc.PRACTICE.FINALLY_BLOCK.RESOURCE_DISPOSITION_ONLY.CSHARP": "If you have a try-finally statement in which the only code in the finally block is a call to the Dispose method, use a using statement instead.",
  "desc.PRACTICE.LINQ.NOT_USED_IMPLICIT_TYPING.CSHARP": "Use implicit typing in the declaration of query variables and range variables.",
  "desc.PRACTICE.LOOP_VARIABLE.NOT_USED_IMPLICIT_TYPING.CSHARP": "Use implicit typing to determine the type of the loop variable in 'for' and 'foreach' loops.",
  "desc.PRACTICE.OBJECT_INITIALIZATION.NOT_USED_INITIALIZER.CSHARP": "Use object initializers to simplify object creation.",
  "desc.PRACTICE.OBJECT_INSTANTIATION.NOT_USED_IMPLICIT_TYPING.CSHARP": "Use the concise form of object instantiation, with implicit typing.",
  "desc.PRACTICE.OBVIOUS_VARIABLE_TYPE.NOT_USED_IMPLICIT_TYPING.CSHARP": "Use implicit typing for local variables when the type of the variable is obvious from right side of the assignment, or when the precise type is not important.",
  "desc.PRACTICE.STRINGBUILDER.SHORT_STRING_CONCATENATION.CSHARP": "Use the + operator to concatenate short strings instead of call to the Append method of StringBuilder.",
  "desc.PRACTICE.TYPE.USED_UNSIGNED_TYPE.CSHARP": "The use of 'int' is common throughout C#, and it is easier to interact with other libraries when you use 'int' instead of unsigned typing.",
  "desc.PRECEDE_INCLUDE": "The #include Not at Top of File checker finds files in which #include preprocessor statements are not located at the top.",
  "desc.PREDICATES_SHOULD_NOT_HAVE_NONSTATIC_DATA": "The Modification to Non-static Field in Predicate checker finds declarations of predicate methods that modify the value of a non-static field.",
  "desc.PREFER_SPECIAL_MEMBER_AND_OVERLOADED_OP": "The Use of C Standard Library to Target Unsuitable Class Object checker finds code that uses some C standard library to perform an operation on objects of non-trivial class or non-standard layout class.",
  "desc.PREFER_TO_USE_SIGNED_VALUE": "The Use of Unsigned Number checker finds instances of using an unsigned number.",
  "desc.PREMATURE_THREAD_TERMINATION": "The Failure to Detach Child Thread in Multithreaded Environment checker finds instances of multithreading in which a parent thread neither joins its children to wait for their finish nor detaches them (in the case the parent needs to finish earlier).",
  "desc.PRESERVE_ARRAY_DIMENSION": "The Array Decayed to Pointer checker finds incidents that objects are decayed to pointer by being passed to arguments.",
  "desc.PRESERVE_THREAD_SAFETY_AND_LIVENESS": "The Misuse of Condition Variable checker finds instances of using condition variables incorrectly, thereby undermining thread safety and liveness.",
  "desc.PREVENT_DATA_RACES": "The Access to Bit-field by Multiple Threads checker finds instances of modifying adjacent bit-fields in different threads.",
  "desc.PREVENT_DESERIALIZATION_OF_UNTRUSTED_DATA": "Serialization involves copying instance information into a byte stream that replicates the state of the object running in memory, which is then saved as a file or passed to the receiving end.  Deserialization is the opposite operation, transforming a binary file or byte stream into an object with a structure. During the process of sending serialized data over a network from a sender to a receiver, an attacker may manipulate the transmitted or stored stream. This untrusted deserialization creates a security vulnerability that can lead to integrity violations, remote code execution, and denial of service (DoS) attacks.",
  "desc.PREVENT_MATH_FUNCTIONS_ERROR": "The Range Error in Math Function checker finds domain and range errors in math functions.",
  "desc.PREVENT_OPERATIONS_ON_DEVICES": "The Performance of Operation on Device checker finds instances of performing operations on devices that are only appropriated for files.",
  "desc.PREVENT_SENSITIVE_DATA_WRITE_TO_DISK": "The Sensitive Data Written Out from Memory to Disk checker finds instances of writing sensitive data in memory out to the disk, thus unexpectedly exposing it externally.",
  "desc.PREVENT_XML_INSERTION": "The XML Insertion checker finds code that uses an untrusted external input that is not properly filtered out in XML document.",
  "desc.PRIVACY.ACCOUNT": "The Account Information in Code checker finds bank account information included in code.",
  "desc.PRIVACY.CREDIT_CARD": "The Credit Card Information in Code checker finds credit card information included in code.",
  "desc.PRIVACY.DRIVER_LIC": "The Driver's License Number Information in Code checker finds driver's license number information included in code.",
  "desc.PRIVACY.EMAIL": "The Email Information in Code checker finds email information included in code.",
  "desc.PRIVACY.FOREIGNER_ID": "The Alien Registration Number Information in Code checker finds alien registration number information included in code.",
  "desc.PRIVACY.IP": "The IP Information in Code checker finds ip information included in code.",
  "desc.PRIVACY.NATIONAL_ID": "The Social Security Number Information in Code checker finds social security number information included in code.",
  "desc.PRIVACY.PASSPORT": "The Passport Number Information in Code checker finds passport number information included in code.",
  "desc.PRIVACY.PHONE": "The Phone Number Information in Code checker finds phone number information included in code.",
  "desc.PRIVACY_CONCERNS_USING_GEOLOCATION_API": "The Failure to Check Permission on Geolocation API checker finds code that uses the Geolocation API to obtain the user location information, but fails to check user permission on it.",
  "desc.PRIVACY_VIOLATION.JS": "The Sensitive Information Exposal checker finds instances of storing sensitive information in an easily exposable storage.",
  "desc.PRIVACY_VIOLATION_SHOULDER_SURFING.CSHARP": "The Sensitive Information Exposal in UI Loading checker finds code that exposes sensitive information while loading UIs.",
  "desc.PRIVATE_COLLECTION": "The Private Collection Exposure checker finds instances in which a non-private method returns a private-declared array or collection field's object.",
  "desc.PRIVATE_COLLECTION.ASSIGN": "The Storage of External Data in Private Collection checker finds instances of storing an externally accessible collection or pointer object in a private field.",
  "desc.PRIVATE_COLLECTION.CSHARP": "The Private Collection Exposure checker finds instances in which a non-private method returns a private-declared array or collection field's object.",
  "desc.PRIVATE_COLLECTION.KOTLIN": "The Private Collection Exposure checker finds instances in which a non-private method returns a private-declared array or collection field's object.",
  "desc.PRIVATE_COLLECTION.PYTHON": "This is a security vulnerability where external parties can modify the array and change the properties of an object because the array reference is exposed to the outside world when an array declared as private is released via a method declared as public.",
  "desc.PROCESS_CONTROL": "The Insecure Code Loading checker finds instances of specifying a relative path to a library file to be loaded.",
  "desc.PROHIBIT_DELETE_CONTAIN_ELEMENT_NUM": "The Indexing in Array Deallocation checker finds instances in which the delete[] operator is used to deallocate an array but with an index specified.",
  "desc.PROHIBIT_ENUM_TYPE_BITFIELD": "The enum Declaration of Bit Field checker finds incidents of declaring enum types on bit fields.",
  "desc.PROHIBIT_ENUM_TYPE_BITFIELD2": "Bit-fields shall not have enum type.",
  "desc.PROHIBIT_FUNC_IN_STDLIB": "The Use of Forbidden Standard Library checker finds calls to standard library functions that are forbidden.",
  "desc.PROHIBIT_FUNC_IN_TIME": "The Use of Forbidden Time Library checker finds preprocessor directives that include a time library header.",
  "desc.PROHIBIT_INCORRECT_USE_OF_JOIN": "Non-standard JOIN SQL query is used.",
  "desc.PROHIBIT_NONSTANDARD_SQL": "Non-ANSI query is used.",
  "desc.PROHIBIT_NONSTANDARD_TYPE_CONVERSION": "Non-ANSI type conversion is used.",
  "desc.PROHIBIT_USE_OF_BTRIM": "Non-ANSI btrim is used.",
  "desc.PROHIBIT_USE_OF_CBRT": "Non-ANSI cbrt return is used.",
  "desc.PROHIBIT_USE_OF_DECODE": "Non-ANSI decode function is used.",
  "desc.PROHIBIT_USE_OF_ILIKE": "Non-ANSI search is used.",
  "desc.PROHIBIT_USE_OF_INNER_JOIN": "Non-ANSI inner-join is used.",
  "desc.PROHIBIT_USE_OF_MAINTENANCE_HEAVY_FUNCTION": "A maintenance-heavy function is used.",
  "desc.PROHIBIT_USE_OF_NONSTANDARD_HIERARCHICAL_QUERIES": "Non-ANSI hierarchical query is used.",
  "desc.PROHIBIT_USE_OF_NVL": "Non-ANSI null is used.",
  "desc.PROHIBIT_USE_OF_OUTER_JOIN": "Non-ANSI outer-join is used.",
  "desc.PROHIBIT_USE_OF_POW": "Non-ANSI pow function is used.",
  "desc.PROVIDE_OUTPUT_OPERATOR": "The Output Operator Unprovided checker finds classes that do not provide output operators for ostream.",
  "desc.PROVIDE_PROPERLY_ALIGNED_POINTERS_TO_PLACEMENT_NEW": "The Invalid Use of Placement new checker finds expressions that call placement new on a misaligned address.",
  "desc.PTR_EXCEED_TWO_LEVELS": "The Pointer with More than Two Levels of Indirection checker finds instances of declaring a pointer variable that has more than two levels of indirection.",
  "desc.PUBLICLY_DERIVED_CLASS_SHOULD_BE_ABSTRACT": "The Public Inheritance of Non-abstract Class checker finds non-abstract classes publicly derived from their child classes.",
  "desc.PUBLIC_DATA_ASSIGNED_TO_PRIVATE_ARRAY": "The Storage of External Data in Private Array checker finds instances of storing an externally accessible array object in a private array field.",
  "desc.PUBLIC_DATA_ASSIGNED_TO_PRIVATE_ARRAY.CSHARP": "The Storage of External Data in Private Array checker finds instances of storing an externally accessible array object in a private array field.",
  "desc.PUBLIC_DATA_ASSIGNED_TO_PRIVATE_ARRAY.KOTLIN": "The Storage of External Data in Private Array checker finds instances of storing an externally accessible array object in a private array field.",
  "desc.PUBLIC_DATA_ASSIGNED_TO_PRIVATE_ARRAY.PYTHON": "This is a security vulnerability where external parties can modify the array and change the properties of objects by accessing a private array from the outside, when the argument of a method declared as public is saved in an array declared as private.",
  "desc.PUBLIC_FIELD_SHOULD_BE_USED_WITHOUT_METHOD": "The Coexistence of Method and Public Instance Field checker finds declarations of public instance fields that belong to a class containing a method definition.",
  "desc.PUBLIC_STATIC_FIELD_WITHOUT_CONST": "The Static Member Variable Not Marked Const checker finds where an object contains a public static member variable that is not marked const.",
  "desc.PackageCase": "Detect package name consisting not only of lower case characters.",
  "desc.PointerAdditionResultNotNull": "Comparison is wrong. Result of 'ptr+1' can't be 0 unless there is pointer overflow, and pointer overflow is undefined behaviour.",
  "desc.PointerArithBool": "Converting pointer arithmetic result to bool. The bool is always true unless there is undefined behaviour.",
  "desc.PointerOutOfBounds": "Undefined behaviour, pointer arithmetic is out of bounds.",
  "desc.PositionLiteralsFirstInComparisons": "Detect pattern .equals(constant) when comparing constants and variables via equals().",
  "desc.PossibleBufferAccessOutOfBounds": "Possible buffer overflow if strlen(source) is larger than or equal to sizeof(destination).",
  "desc.PrematureDeclaration": "Detect variable declaration not being located before the block it is going to be used in.",
  "desc.PreserveStackTrace": "Detect new Exception being thrown in a catch statement.",
  "desc.ProperCloneImplementation": "Detect super.clone() not being called in method Object clone().",
  "desc.ProperLogger": "Logger has to be declared as private static final and should have the correct class.",
  "desc.PurgedConfiguration": "The configuration 'something' was not checked because its code equals another one.",
  "desc.RACE_CONDITION": "After a file is opened with the filename, calling the functions such as chown(), stat(), and remove() can be malfunctioning.",
  "desc.RACE_CONDITION.EXT": "The TOCTOU Race Condition Resulting from Reliance on Filename checker finds race conditions occurring between the time of checking a file's state by filename and the time of using it.",
  "desc.RACE_CONDITION.HORUS": "TOCTOU vulnerability. Relying on file name resolution alone is risky.",
  "desc.RACE_CONDITION.SWITCH": "The Race Condition in Switch checker finds switch statements in which the switched variable can be modified while the switch is still executing.",
  "desc.RACE_CONDITION_STATIC_DATABASE_CONNECTION": "The Race Condition for Database Connection checker finds static declarations of database connection objects.",
  "desc.READ_WRITE_BINARY_DATA": "The Improper Transfer of Binary Data checker finds problematic transfers of binary data made across multiple, heterogeneous systems.",
  "desc.REDOS.JS": "The Regular Expression Denial of Service (ReDoS) is a type of DoS attack that exploits the fact that many regular expressions perform very slowly under certain extreme circumstances. The vulnerable regular expressions can be exploited by an attacker to overwhelm an application or cause it to crash.",
  "desc.REDUNDANT_CAST": "The Unnecessary Cast checker finds instances of explicitly casting an object to exactly the same type.",
  "desc.REDUNDANT_CONDITION": "The Unnecessary Conditional Expression checker finds conditional expressions that are always or never satisfied.",
  "desc.REDUNDANT_NAME": "The Identically Named Local and Static Variables checker finds instances in which a local variable and a static variable are given the same name.",
  "desc.REFER_ATOMIC_VARIABLE_MANY_TIMES_IN_EXPRESSION": "The Pointing to Atomic Variable Twice in Single Expression checker finds instances of referencing an atomic variable twice in the same expression.",
  "desc.REGISTRY.LEAK.TOBE.JS": "The Registry Leak checker finds instances of failure to initialize a registry variable after its use.",
  "desc.RELATIONSHIPS_IN_CONSTANT_DEFINITIONS": "The Missing Relation between Constants checker finds instances in which two or more variables are relevant to one another but their relation is not defined in an expression.",
  "desc.RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION": "The Security Decision Relying on DNS Lookups checker finds instances in which authentication and access controls rely solely on the domain name.",
  "desc.RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION.KOTLIN": "The Security Decision Relying on DNS Lookups checker finds instances in which authentication and access controls rely solely on the domain name.",
  "desc.RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION.PYTHON": "The Security Decision Relying on DNS Lookups checker finds instances in which authentication and access controls rely solely on the domain name.",
  "desc.RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION.VBNET": "The Security Decision Relying on DNS Lookups checker finds instances in which authentication and access controls rely solely on the domain name.",
  "desc.RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION_ASPNET": "The Security Decision Relying on DNS Lookups checker finds instances in which authentication and access controls rely solely on the domain name.",
  "desc.RELIANCE_ON_UNTRUSTED_ENV_INPUTS.OBJC": "The Security Decision Relying on Untrusted Cookie checker finds code that stores user credentials in cookies.",
  "desc.RELIANCE_ON_UNTRUSTED_ENV_INPUTS.SWIFT": "The Security Decision Relying on Untrusted Cookie checker finds instances of storing user credentials in a cookie.",
  "desc.RELIANCE_ON_UNTRUSTED_INPUTS": "The Security Decision Relying on Untrusted Cookie checker finds instances of storing user credentials in a cookie.",
  "desc.RELIANCE_ON_UNTRUSTED_INPUTS_IN_A_SECURITY_DECISION": "The Security Decision Relying on Untrusted Cookie checker finds instances of storing user credentials in a cookie.",
  "desc.RELIANCE_ON_UNTRUSTED_INPUTS_IN_A_SECURITY_DECISION.PYTHON": "If an application has a protection mechanism based on reliance on external inputs, an attacker can bypass the mechanism by manipulating input values. Accordingly, external user inputs should be prevented from being used without sufficient encryption and integrity checks.",
  "desc.REMOTE_CODE_EXECUTION.PHP": "The Injection into Dynamic Evaluation Code checker finds instances of using unvalidated external inputs in dynamic evaluation code.",
  "desc.REPRESENTATION_SIGNED_INTEGER": "The Assumption of Particular Signed Representation checker finds instances of constructing a wrong expression in the assumption of a specific representation of signed integers.",
  "desc.RESET_SIGNAL_HANDLER": "The Failure to Make Signal Handler Persist checker finds instances of failure to ensure a signal handler persists in different OS environments.",
  "desc.RESET_SIGNAL_HANDLER.OBJC": "The Failure to Make Signal Handler Persist checker finds instances of failure to ensure a signal handler persists in different OS environments.",
  "desc.RESET_STRING_ON_FGETS_FAILURE": "The Omission of Buffer Initialization after File Read Failure checker finds instances in which a file read function fails but the string buffer to store the function's return is not initialized.",
  "desc.RESOURCE_INJECTION": "The Resource Injection checker finds resource identifiers created with an unvalidated external input.",
  "desc.RESOURCE_INJECTION.JS": "When unverified external inputs are used to access system resources, attackers can manipulate the input values to access resources protected by the system, which lead to create vulnerability. Attackers can exploit this to modify or delete resources, leak system information, and cause service failure due to the conflicts between system resources.",
  "desc.RESOURCE_INJECTION.OBJC": "The Resource Injection checker finds resource identifiers created with an unvalidated external input.",
  "desc.RESOURCE_INJECTION.PORT.VBS": "The Port Resource Injection checker finds port IDs created with an unvalidated external input.",
  "desc.RESOURCE_INJECTION.PYTHON": "When unverified external inputs are used to access system resources, attackers can manipulate the input values to access resources protected by the system, which lead to create vulnerability. Attackers can exploit this to modify or delete resources, leak system information, and cause service failure due to the conflicts between system resources.",
  "desc.RESOURCE_INJECTION.SWIFT": "The Resource Injection checker finds resource identifiers created with an unvalidated external input.",
  "desc.RESOURCE_INJECTION_ASPNET": "The Resource Injection checker finds resource identifiers created with an unvalidated external input.",
  "desc.RESOURCE_LEAK": "The Resource Leak checker finds instances of failure to release an allocated resource (file, socket, etc.).",
  "desc.RESOURCE_LEAK_CSHARP": "The Resource Leak checker finds instances of failure to release an allocated resource (file, socket, etc.).",
  "desc.RESTRICT_PARAM_VALUE_RANGE": "The Out of Range of Constant Argument in Function checker finds instances in which a constant argument out of range is passed to a function.",
  "desc.RESTRICT_USE_OF_EXTERN_KEYWORD": "The Use of extern checker finds instances of using extern keywords.",
  "desc.RETURN_EMPTY_ARRAY_INSTEAD_OF_NULL": "The Return of Null Instead of Empty Array checker finds functions that contain both a statement that returns an array object and a statement that returns null.",
  "desc.RETURN_ERRNO_WITH_ERRNO_T_TYPE": "The Invalid Error Code Return Type checker finds error code return functions whose return type is not declared as errno_t.",
  "desc.RETURN_FLOAT_CASTING": "The Return without Cast to Real Number checker finds instances in which a function is declared to return a real number but does not actually cast the return value to the real number type.",
  "desc.RETURN_FREE": "The checker detects code that returns a variable pointing to memory that has already been freed.",
  "desc.RETURN_FROM_FINALLY_BLOCK": "Using a return inside a finally block The checker detects a return inside a finally block.",
  "desc.RETURN_IN_CATCH_STATEMENT": "The return Statement in catch Block checker finds catch blocks that contain a return statement.",
  "desc.RETURN_LOCAL": "The Return of Local Variable Address checker finds instances of returning a local variable's address.",
  "desc.RETURN_PARAM_ADDR": "The Return of Argument Address checker finds functions that return the address of an argument passed in.",
  "desc.RETURN_REFERENCE_PARAM": "The Return of Argument Passed by Reference checker finds functions that take an argument passed in by reference or by const reference and return it by reference or by post.",
  "desc.RETURN_REFERENCE_PARAM2": "A function shall not return a reference or a pointer to a parameter that is passed by reference or const reference.",
  "desc.RETURN_SHALL_NOT_HAVE_EXPRESSION": "The Return from Void Function checker finds instances in which a void function returns a value.",
  "desc.RETURN_VALUE_SHOULD_BE_CONST": "The Failure to Return Allowed Constant checker finds return statements in functions whose return value is not an optionally allowed constant.",
  "desc.REUSE_NAME_IN_DIFFERENT_FILE": "The Duplicate Identifier Across Files checker finds instances in which the same function or variable identifier is used across different source files.",
  "desc.REVERSIBLE_ONE_WAY_HASH": "The Weak Hashing Algorithm checker finds instances of using a hashing algorithm known to be insecure.",
  "desc.RedundantCondition": "Redundant condition.",
  "desc.RedundantFieldInitializer": "Do not initialize to the same value as the default value.",
  "desc.RemoteInterfaceNamingConvention": "Name of Remote interface of Session EJB should not end with Session, EJB or Bean.",
  "desc.RemoteSessionInterfaceNamingConvention": "Name of Remote Home interface of Session EJB should end with Home.",
  "desc.ReplaceEnumerationWithIterator": "Detect use of Enumeration type.",
  "desc.ReplaceHashtableWithMap": "Detect use of Hashtable type.",
  "desc.ReplaceVectorWithList": "Detect use of Vector type.",
  "desc.ReturnAddressOfAutoVariable": "Address of an auto-variable returned.",
  "desc.ReturnAddressOfFunctionParameter": "Address of function parameter returned.",
  "desc.ReturnEmptyArrayRatherThanNull": "Detect method that returns an array returning a null statement.",
  "desc.ReturnFromFinallyBlock": "Detect return statement being used in a finally block.",
  "desc.ReturnLocalVariable": "Pointer to local array variable returned.",
  "desc.ReturnReference": "Reference to auto variable returned.",
  "desc.SAFELY_EXTRACT_FILES_FROM_ZIPINPUTSTREAM": "The Insecure File Extraction through ZipInputStream checker finds instances of uncompressing an untrusted archive file without checking the contained files' sizes and names.",
  "desc.SAME_THE_NUMBER_OF_PARAMETERS": "The number of arguments and the number of parameters of the function do not match.",
  "desc.SANITIZE_UNTRUSTED_DATA_PASSED_TO_A_REGEX": "The Untrusted Regex checker finds regex strings that contain an unvalidated external input.",
  "desc.SANITIZE_UNTRUSTED_DATA_PASSED_TO_A_REGEX_ASPNET": "The Untrusted Regex checker finds regex strings that contain an unvalidated external input.",
  "desc.SAST.SW.DART.6457": "Including hardcoded API keys within your source code is a big security mistake because it exposes that information to the outside world when your source code is made public, increasing the risk of unauthorized access. For example, if this information is found in a public repository or collaborative codebase, a malicious user could hijack your system or gain unauthorized access to your data.",
  "desc.SAST.SW.DART.6458": "Basic authentication schemes that embed usernames and passwords within URLs can lead to serious security issues. This approach exposes credentials in plain text in the URL, which can lead to information leakage from log files or browser history. It's also vulnerable to man-in-the-middle attacks, increasing the likelihood of malicious users accessing user data or launching phishing attacks.",
  "desc.SAST.SW.DART.6459": "Email addresses embedded in source code can be targets for spamming, phishing attacks, and can even provide hackers with information about internal data management if the personal emails of administrators or other important people are accidentally exposed.",
  "desc.SAST.SW.DART.6460": "IP addresses contained within source code or comments can be the source of a variety of security threats. Exposed IP addresses can give attackers hints about the structure of your network and make you a target for distributed denial-of-service (DDoS) attacks, sniffing, or more subtle attacks.",
  "desc.SAST.SW.DART.6462": "A hash function is a one-way function that maps data of different lengths to a fixed length of random data. It's used to store a user's password, for example, because using the same data always yields the same data. However, hash functions like MD5 and SHA1 are very fast and simple to compute a hash, which makes them seem like a good performance choice, but they are vulnerable to randomization attacks by hackers. Furthermore, using hash functions on simple data is risky because it is stored and shared in a rainbow table.",
  "desc.SAST.SW.DART.6463": "A cryptographically insecure random number generator can produce predictable values, which can lead to security vulnerabilities.",
  "desc.SAST.SW.DART.6464": "Weak encryption algorithms can give attackers the opportunity to decrypt data. Algorithms that were once thought to take billions of years to crack can now be cracked in days or even hours. This includes algorithms like RC2, DES, and Blowfish.",
  "desc.SAST.SW.DART.6465": "RSA encryption is a form of public-key cryptography, where the strength of the cipher depends on the length of the key. Currently, the key length considered appropriate in most situations is 2048 bits. This is because it is practically impossible to break with current computing power.",
  "desc.SAST.SW.DART.6491": "Including hard-coded API keys within comments is a big security mistake because it exposes that information to the outside world when the source code is released, increasing the risk of unauthorized access. For example, if this information is found in a public repository or collaborative codebase, a malicious user could hijack your system or gain unauthorized access to your data.",
  "desc.SAST.SW.DART.6492": "Basic authentication schemes that embed usernames and passwords within URLs can lead to serious security issues. This approach exposes credentials in plain text in the URL, which can lead to information leakage from log files or browser history. It's also vulnerable to man-in-the-middle attacks, increasing the likelihood of malicious users accessing user data or launching phishing attacks.",
  "desc.SAST.SW.DART.6493": "Email addresses included in comments can be targets for spamming, phishing attacks, and can even provide hackers with information about internal data management if the personal email of an administrator or other important person is accidentally exposed.",
  "desc.SAST.SW.DART.6494": "IP addresses contained in comments can be the source of a variety of security threats. Exposed IP addresses can give attackers hints about the structure of your network and make you a target for distributed denial-of-service (DDoS) attacks, sniffing, or more subtle attacks.",
  "desc.SAST.SW.LUA.7155": "Basic authentication schemes that embed usernames and passwords within URLs can lead to serious security issues. This approach exposes credentials in plain text in the URL, which can lead to information leakage from log files or browser history. It's also vulnerable to man-in-the-middle attacks, increasing the likelihood of malicious users accessing user data or launching phishing attacks.",
  "desc.SAST.SW.LUA.7156": "Email addresses embedded in source code can be targets for spamming, phishing attacks, and can even provide hackers with information about internal data management if the personal emails of administrators or other important people are accidentally exposed.",
  "desc.SAST.SW.LUA.7157": "IP addresses contained in code can be the source of a variety of security threats. Exposed IP addresses can give attackers hints about the structure of your network and make you a target for distributed denial-of-service (DDoS) attacks, sniffing, or more subtle attacks.",
  "desc.SAST.SW.LUA.7158": "Including hardcoded API keys within your source code is a big security mistake because it exposes that information to the outside world when your source code is made public, increasing the risk of unauthorized access. For example, if this information is found in a public repository or collaborative codebase, a malicious user could hijack your system or gain unauthorized access to your data.",
  "desc.SAST.SW.LUA.7159": "A hash function is a one-way function that maps data of different lengths to a fixed length of random data. It's used to store a user's password, for example, because using the same data always yields the same data. However, hash functions like MD5 and SHA1 are very fast and simple to compute a hash, which makes them seem like a good performance choice, but they are vulnerable to randomization attacks by hackers. Furthermore, using hash functions on simple data is risky because it is stored and shared in a rainbow table.",
  "desc.SAST.SW.LUA.7160": "A cryptographically insecure random number generator can produce predictable values, which can lead to security vulnerabilities.",
  "desc.SAST.SW.LUA.7161": "RSA encryption is one of the public key encryption mechanism: the longer key makes the encryption stronger. In general, a key length of 2048 bits is considered as appropriate. Because it is practically impossible to decrypt the encryption without the key.",
  "desc.SAST.SW.LUA.7162": "Basic authentication schemes that embed usernames and passwords within URLs can lead to serious security issues. This approach exposes credentials in plain text in the URL, which can lead to information leakage from log files or browser history. It's also vulnerable to man-in-the-middle attacks, increasing the likelihood of malicious users accessing user data or launching phishing attacks.",
  "desc.SAST.SW.LUA.7163": "Email addresses included in comments can be targets for spamming, phishing attacks, and can even provide hackers with information about internal data management if the personal email of an administrator or other important person is accidentally exposed.",
  "desc.SAST.SW.LUA.7164": "IP addresses contained in comments can be the source of a variety of security threats. Exposed IP addresses can give attackers hints about the structure of your network and make you a target for distributed denial-of-service (DDoS) attacks, sniffing, or more subtle attacks.",
  "desc.SAST.SW.LUA.7165": "Including hard-coded API keys within comments is a big security mistake because it exposes that information to the outside world when the source code is released, increasing the risk of unauthorized access. For example, if this information is found in a public repository or collaborative codebase, a malicious user could hijack your system or gain unauthorized access to your data.",
  "desc.SAST.SW.LUA.7166": "The debugging code is used for logging in development process. However, they can cause lower performance or leak sensitive information on logs during production stage. Therefore, the debugging code need to be removed.",
  "desc.SAST.SW.LUA.7168": "Weak encryption algorithms can give attackers the opportunity to decrypt data. Algorithms that were once thought to take billions of years to crack can now be cracked in days or even hours. This includes algorithms like RC2, DES, and Blowfish.",
  "desc.SAVE_UNNECESSARY_REALLOCATION": "The Reallocation by Container checker finds expressions that cause a container to unnecessarily reallocate memory.",
  "desc.SAVING_UNSERIALIZABLE_OBJECTS_TO_DISK": "Attempting to save a non-serialized object throws a NotSerializableException exception, which can result in data loss and a system crash.",
  "desc.SCOPE_FOR_IN_VARIABLE.JS": "The Inappropriate Variable Declaration in for Loop checker finds instances of declaring a variable in a for loop's control section without using the var keyword.",
  "desc.SCRIPT_INJECTION.REACT": "JSON.stringify() is used to convert a JavaScript value or an object into a JSON string. In general, JSON.stringify() can be vulnerable to XSS attacks if used in an API or HTML environment, regardless of any specific vulnerabilities present.",
  "desc.SECURITY.ARGUMENT.ASSERT": "The Method Argument Validation with Assertion checker finds instances of using a method argument in assert statements.",
  "desc.SECURITY.ARGUMENT.DOPRIVILEGE": "The Use of Untrusted Variable in Privileged Block checker finds instances of using unvalidated external values to AccessController.doPrivileged() method.",
  "desc.SECURITY.ARGUMENT.LOGGER": "Detect logging via java.util.logging.Logger of prespecified block Exception catch.",
  "desc.SECURITY.ARGUMENT.READ.BYTE": "The Missing Size Argument for read() Method checker finds instances that a data length is not specified for byte[] argument of read() method.",
  "desc.SECURITY.ARGUMENT.THREAD_POOL": "The Sub-task on Thread Pool checker finds instances of using a thread pool and performing a sub-task on the same pool.",
  "desc.SECURITY.ARGUMENT.XML_INJECTION": "Detect if XML parser such as SAX or DOM is used to parse external input as it is.",
  "desc.SECURITY.ARRAY_FIELD.READ_ONLY.CSHARP": "A public or protected field that holds an array is declared read-only.",
  "desc.SECURITY.ASSERT.BOOLEAN": "The Side-effect of Expressions in Assertion checker finds instances of calling methods or using incremental / assignment statements in assert statements.",
  "desc.SECURITY.ASSIGN.BIG_INTEGER": "Detect directly assigning BigInter.toByteArray() to byte[].",
  "desc.SECURITY.ATTRIBUTE.SUPPRESSED_SECURITY.CSHARP": "A type that implements System.IDisposable, and has fields that suggest the use of unmanaged resources, does not implement a finalizer as described by Object.Finalize.",
  "desc.SECURITY.BIG_INTEGER_EXTENDABLE": "Detect if class BigInteger can be inherited.",
  "desc.SECURITY.CALL.APPEND.LOOP": "Call to Injection Method on Collection Class checker finds instances of calling an injection method on a collection class.",
  "desc.SECURITY.CALL.BIG_ENDIAN": "The Incompatible Method with little endian checker finds calls to methods to read and write big endian data only.",
  "desc.SECURITY.CALL.DEFAULT_READ_OBJECT": "Check if defaultReadObject exists in method readObject().",
  "desc.SECURITY.CALL.DELETE_ON_EXIT": "The Removing Temporary Files before a Program Terminates checker finds instances of calling createTempFile() and deleteOnExit() methods in sequence.",
  "desc.SECURITY.CALL.DEPRECATED": "Detect use of insecure methods.",
  "desc.SECURITY.CALL.DO_PRIVILEGED": "Detect lack of second argument when calling method doPrivileged() of class AccessController.",
  "desc.SECURITY.CALL.FILE_DELETE": "The Detecting and Handling of File-related Error checker finds instances of calling delete() method.",
  "desc.SECURITY.CALL.GET_CONTEXT_CLASS_LOADER": "Detect call of method getContextClassLoader().",
  "desc.SECURITY.CALL.KEY_EQUALS": "The Encryption Key Compared by key.equals() Method checker finds instances of comparing encryption keys by using key.equals() method.",
  "desc.SECURITY.CALL.LOCK_HOLDING": "The Thread.sleep() Method Called by Synchronized Method checker finds instances of a method called by a synchronized method to stop threads.",
  "desc.SECURITY.CALL.PUBLIC_METHOD": "The Overriding Method Called by readObject() is finds instances that readObject() method calls another method to override.",
  "desc.SECURITY.CALL.RAW_COLLECTION": "The Method Called by Raw Type Collection checker finds when raw type collections call methods.",
  "desc.SECURITY.CALL.REFLECTION": "The Use of Java Reflection checker finds instances of using Java Reflection that specifies permissions to classes, methods, or fields.",
  "desc.SECURITY.CALL.REFLECT_PERMISSION": "Use of java.lang.ReflectPermission checker finds instances of gaining permission with java.lang.ReflectPermission.",
  "desc.SECURITY.CALL.REMOVE.LOOP": "The Modification to Collection Item in Iterator checker finds instances of modifying items of collection in loops.",
  "desc.SECURITY.CALL.SECURITY_CHECK": "The Missing Call for Security Check checker finds instance that methods to check security are not called by specified method.",
  "desc.SECURITY.CALL.SHUTDOWN_HOOK": "Detect if method halt() is called after method addShutdownHook() is called.",
  "desc.SECURITY.CALL.SYSTEM_GETENV": "The Call to System.getEnv() Method checker finds a call to System.getEnv() method.",
  "desc.SECURITY.CALL.THREAD_INTERRUPTED": "The Use of Interrupt for Task submitted to Thread Pool checker finds instances that Thread.interrupted() method is not called by a Runnable or thread-inheriting class in a synchronized block.",
  "desc.SECURITY.CALL.THREAD_START": "The Escaping of this Keyword in Object Constructor checker finds a call to a method to execute a thread in a constructor.",
  "desc.SECURITY.CALL.THREAD_STOP": "The Call to Thread.stop() Method checker finds a call to Thread.stop() method.",
  "desc.SECURITY.CALL.THROWS.FINALLY": "The Unhandled Exception from Method checker finds instances that exception handling is not performed from a method.",
  "desc.SECURITY.CALL.UNLOCK": "Detect if method unlock() is not called in the finally block.",
  "desc.SECURITY.CALL.URL_EQUALS": "The Call to URL.equals() Method checker finds calls to URL.equals() method.",
  "desc.SECURITY.CALL.WAIT.LOOP": "Detect if method wait() or await() exists in places other than iterative statements in a synchronized block.",
  "desc.SECURITY.CAST.FLOAT_DOUBLE": "The Loss Caused by Cast from Floating-point to Integer checker finds instances of casting float types into int or long types, or double types into long types.",
  "desc.SECURITY.CHECK.OVERRIDE_METHOD": "The dependency checker for unprotected child classes detects if all relevant invariants in the child class are not preserved when the super class is modified.",
  "desc.SECURITY.CLASS.CLONE": "The Copy of Class Containing Sensitive Information checker finds instances that a subclass of Cloneable class with sensitive information performs clone() method.",
  "desc.SECURITY.CLASS.MUTABLE_COPY": "The Assignment of Mutable Argument to Constructor checker finds instances of assigning mutable values of constructor arguments to fields.",
  "desc.SECURITY.CLASS_IN_TRUST_PACKAGE": "The Use of Untrusted Code checker finds code that contains untrusted code.",
  "desc.SECURITY.COMPARE.CLASS_NAME": "The Comparison of Classes by Name checker finds instances of comparing classes with their names.",
  "desc.SECURITY.COMPARE.CYCLIC_ORDER": "Detect if a class showing cyclic order is used in method compareTo().",
  "desc.SECURITY.DECLARE.CLASS_NAME.JSL": "Detect declaring a class with a name that already exists in the java standard library.",
  "desc.SECURITY.DECLARE.INPUTSTREAM.WRAPPER": "Detect if internal instance of BufferedInputStream uses System.in as an argument to be initialized in a method.",
  "desc.SECURITY.DECLARE.INSTANCE.ORDER": "The Class Initialization Order checker finds instances of creating fields and instances in incorrect orders in field operation.",
  "desc.SECURITY.DECLARE.LOCK_OBJECT": "Detect lock used in a synchronized block being public or private volatile.",
  "desc.SECURITY.DEPLOY.REMOTELY_MONITORING": "The Deployment of Remotely Monitored Application checker finds code that sets an application that can be remotely monitored.",
  "desc.SECURITY.DISABLE.BYTECODE_VERIFICATION": "The Disabling of Bytecode Verification checker finds code that uses an option to disable bytecode verification.",
  "desc.SECURITY.EXCEPTION_THROWING_CONSTRUCTOR": "The Exception Throwing in Constructor finds instances of throwing exceptions within constructors.",
  "desc.SECURITY.EXPRESSION.BITWISE_OPERATION": "Detect if shift operation and arithmetic operation is used in a single expression.",
  "desc.SECURITY.FILE.GLOBAL_ACCESS": "The Public Access to File in Android Internal Storage checker finds instances of accessing a file in the internal storage not in MODE_PRIVATE mode.",
  "desc.SECURITY.FILE_AND_FLAG.LOOP": "The File I/O with volatile Flag or Thread.interrupted Method checker finds instances of using a volatile flag or Thread.interrupted() method with an I/O controlling method in a while expression.",
  "desc.SECURITY.FLOAT_MAX_VALUE": "Detect strictfp not being used.",
  "desc.SECURITY.IMPLEMENT.EXTERNALIZABLE": "The Externalizable Object Overriding checker finds instances of calling a specified method without a synchronize block in an externalizable class.",
  "desc.SECURITY.IMPROPER_RESTORATION_ON_FAILURE": "The Improper Restoration on Failure checker finds instances of assigning a value to a field after an exception is thrown by a try block.",
  "desc.SECURITY.INCOMPLETE_STATIC_INITIALIZER": "The Incomplete Static Initializer Block checker finds a static field that can be incompletely initialized.",
  "desc.SECURITY.INFINITE_LOOP": "The Infinite Loop checker finds loops that may run forever.",
  "desc.SECURITY.INFINITE_LOOP.KOTLIN": "The Infinite Loop checker finds loops that may run forever.",
  "desc.SECURITY.INFORMATION_LEAK.EXCEPTION": "Detect if methods that can leak information are called in certain exception handling catch statements.",
  "desc.SECURITY.INITIALIZER.THREAD": "The Use of Background Thread in Class Initialization checker finds instances of using a thread before a class gets initialized.",
  "desc.SECURITY.INNER_CLASS.SERIALIZABLE": "The Unserialized Instance of Inner Class checker finds instances of serializing a non-static inner class.",
  "desc.SECURITY.INTER_CLASS_CYCLE": "The Class Initialization Cycle checker finds initialization cycles within classes.",
  "desc.SECURITY.LINK_DEMAND.NOT_IDENTICAL.CSHARP": "A public or protected method in a public type overrides a method or implements an interface, and does not have the same Link Demands as the interface or virtual method.",
  "desc.SECURITY.LOOP_VARIABLE_FINAL": "The Missing final Qualifier of for each Loop Variable checker finds missing final qualifiers of loop variables in for each statements.",
  "desc.SECURITY.METHOD.LOCALE": "When applying method toUpperCase() or method toLowerCase() to a string, detect if there are not any local settings.",
  "desc.SECURITY.METHOD.OVERRIDE": "The Security Sensitive Method Declaration checker finds instances of declaring a certain kind of method as public or non-final.",
  "desc.SECURITY.METHOD.OVERRIDE.CLONEABLE": "The Forbidden Call to Method Overridable by clone() checker finds a call to methods that can be overridden by clone() method.",
  "desc.SECURITY.METHOD.OVERRIDE.GETPERMISSIONS": "The Missing Call to super.getPermissions checker finds instances that super.getPermissions is not called by an overriding function of getPermissions() for a class inheriting URLClassLoader.",
  "desc.SECURITY.METHOD.OVERRIDE.STATIC": "The public static Overriding Method Declared in Superclass checker finds instances that a public static method is used to override in a superclass.",
  "desc.SECURITY.METHOD.PROTECTED": "The checker finds when a method with a protected qualifier overrides other methods to public in sub-classes.",
  "desc.SECURITY.METHOD.SERIALIZABLE": "When implementing a certain method in a class that implements serializable, detect if security checking method is not called.",
  "desc.SECURITY.MISSING.ACCESS_PERMISSION": "When creating a file or writing to a file, detect creating a file without proper privilege settings.",
  "desc.SECURITY.MUTABLE_REFERENCE_TYPE.READ_ONLY.CSHARP": "An externally visible type contains an externally visible read-only field that is a mutable reference type.",
  "desc.SECURITY.PARTIALLY_INITIALIZED_OBJECT": "The Use of Partially Initialized Object checker finds a partially initialized object when created by a thread.",
  "desc.SECURITY.PATTERN.METHOD_CHAINING": "The Missing Atomicity to Invoke Chained Method checker finds method chaining patterns which makes threads unsafe.",
  "desc.SECURITY.PATTERN.THREAD_PER_MESSAGE": "The Missing Thread Pool for Thread-per-message Pattern checker finds instances that thread pools are not used for thread-per-message pattern.",
  "desc.SECURITY.PRIVATE_FIELD.INNER_CLASS": "Detect public methods of inner class using private fields of the outer class.",
  "desc.SECURITY.PRIVATE_INTERFACE_METHOD.NOT_SEALED.CSHARP": "An inheritable public type provides an overridable method implementation of an internal (Friend in Visual Basic) interface.",
  "desc.SECURITY.PUBLISH_BEFORE_INITIALIZATION": "The Publishing of Uninitialized Instance checker finds instances of publishing instances from specified classes before initialization.",
  "desc.SECURITY.RETURN.INPUTSTREAM_READ": "The Return of InputStream.read() Method checker finds instances of receiving a non-integer return of InputStream.read() and comparing it with -1.",
  "desc.SECURITY.RETURN.INTEGER_DATA": "The Return of readInt() Method without Masking checker finds instances of using return values of readInt() method without '0xFFFFFFFFL' masking for long type variables.",
  "desc.SECURITY.RETURN.WRAP_OR_DUPLICATE": "The Copying of CharBuffer value with duplicate() Method checker finds instances that a value of CharBuffer type is copied by duplicate() method.",
  "desc.SECURITY.SERIALIZABLE.FIELD.TRANSIENT": "The Serialization of Unencrypted Sensitive Data checker finds fields without private transient keywords.",
  "desc.SECURITY.SERIALIZABLE.METHOD_MODIFIER": "Detect method readResolve() and writeReplace() not being protected.",
  "desc.SECURITY.SERIALIZABLE.METHOD_OVERRIDE": "The Non-overriding of Serializable Method checker finds instances that Serializable methods are not overridden or errors are not generated.",
  "desc.SECURITY.SERIALIZABLE.PRIVATE_MUTABLE_COMPONENT": "In method readObject(), detect if there is not a defensive copy for private mutable components.",
  "desc.SECURITY.SERIALIZATION.INSECURE_CONSTRUCTOR.CSHARP": "The Weak Security Requirements for Serialization Implementation checker finds code that a serialization constructor is not secured by security checks for regular constructors.",
  "desc.SECURITY.SPLIT_MULTI_BYTE_ENCODED": "Detect if an encoding error occurs when multi-byte character is handling in a string class.",
  "desc.SECURITY.STRING.ENCODING": "Check encoding related parameters of objects InputStreamReader and OutputStreamWriter.",
  "desc.SECURITY.SYNCHRONIZE.ATOMIC_VALUE": "The Missing Atomicity for Shared Variables checker finds code that performs compound operations on shared variables in a multi-threaded environment, but does not guarantee atomicity for the shared variables.",
  "desc.SECURITY.SYNCHRONIZE.BACK_COLLECTION": "The Synchronization of Collection View with Accessible Backing Collection checker finds instances of using other collection values for initialization.",
  "desc.SECURITY.SYNCHRONIZE.CLASS_LOCK": "Detect if there are fields declared as private final in the lock class that is used in a synchronized block.",
  "desc.SECURITY.SYNCHRONIZE.GET_CLASS": "The Use of getClass() Method for Lock checker finds instances that getClass() method is used to an object for lock in a synchronized block.",
  "desc.SECURITY.SYNCHRONIZE.IMMUTABLE_OBJECT": "Detect use of immutable object in a method that is not synchronized.",
  "desc.SECURITY.SYNCHRONIZE.LOCK_OR_CONDITION": "The Synchronization of Intrinsic Lock of High-level Concurrency Object checker finds instances of using objects that implement either or both of the Lock and Condition interfaces to synchronize on intrinsic locks.",
  "desc.SECURITY.SYNCHRONIZE.METHOD.LOCK_FIELD": "When field of type private boolean is used as shared data in a method, detect if the method is not synchronized.",
  "desc.SECURITY.SYNCHRONIZE.ORDER": "The Deadlock checker finds instances of using a class to perform two or more locks in a synchronized block.",
  "desc.SECURITY.SYNCHRONIZE.REUSABLE_OBJECT": "The Use of Reusable Object for Lock checker finds instances that a reusable object is used to a synchronized object for lock.",
  "desc.SECURITY.SYNCHRONIZE.STATIC.FIELD": "The static Field Undefined in synchronized Block checker finds instances that a static field is not defined in a synchronized block.",
  "desc.SECURITY.THREAD.LOCAL.NOT_REINITIALIZED": "The Missing try-finally Block for execute() Method checker finds instances of using execute() methods for class of ThreadLocal type fields without try-finally blocks.",
  "desc.SECURITY.THREAD.SHARED_VARIABLE": "The Use of primitive non-volatile Field of run() Method checker finds instances of using a primitive non-volatile field in run() method.",
  "desc.SECURITY.THROW.THREAD_POOL": "The Exception Handling Thrown by Thread Pool checker finds instances of using Executors.newFixedThreadPool() method to create an object of thread pools.",
  "desc.SECURITY.TYPE.AUTO_CONVERSION": "When calling methods related to collection, detect if the type of argument is changed due to an operation.",
  "desc.SECURITY.TYPE_LINK_DEMAND.NO_INHERITANCE_DEMAND.CSHARP": "A public unsealed type is protected with a link demand, has an overridable method, and neither the type nor the method is protected with an inheritance demand.",
  "desc.SECURITY.VARIABLE_IN_EXPRESSION": "Detect if a single variable is updated two or more times in a single expression.",
  "desc.SECURITY_DECISION_ON_DNS_LOOKUP": "The Security Decision Relying on DNS Lookups checker finds instances in which authentication and access controls rely solely on the domain name.",
  "desc.SECURITY_DECISION_ON_DNS_LOOKUP.OBJC": "The Security Decision Relying on DNS Lookups checker finds instances in which authentication and access controls rely solely on the domain name.",
  "desc.SECURITY_DECISION_ON_DNS_LOOKUP.SWIFT": "The Security Decision Relying on DNS Lookups checker finds instances in which authentication and access controls rely solely on the domain name.",
  "desc.SENSITIVE_COOKIE.FLAG.JS": "Generally, web application uses cookies to send session information. However, the improper use of cookie flags may lead to vulnerabilities in session management such as MITM attacks or cookie stealing using XSS.",
  "desc.SENSITIVE_COOKIE_IN_HTTPS_SESSION_WITHOUT_SECURE_ATTRIBUTE": "The Insecure Cookie checker finds instances of transferring an unencrypted cookie.",
  "desc.SERVER_SIDE_REQUEST_FORGERY": "The Server-side Request Forgery checker finds accesses to an unvalidated URL that contains an external input.",
  "desc.SERVER_SIDE_REQUEST_FORGERY.GO": "Using a url from an external link entered by a user is dangerous. Consequently, malicious requests can be sent, leading to problems such as forgery of server-side requests. This is a security vulnerability in which an attacker can manipulate the server to send a request related to the internal network.",
  "desc.SERVER_SIDE_REQUEST_FORGERY.JS": "The Server-side Request Forgery checker finds accesses to an unvalidated URL that contains an external input.",
  "desc.SERVER_SIDE_REQUEST_FORGERY.KOTLIN": "The Server-side Request Forgery checker finds accesses to an unvalidated URL that contains an external input.",
  "desc.SERVER_SIDE_REQUEST_FORGERY.PHP": "The Server-side Request Forgery checker finds accesses to an unvalidated URL that contains an external input.",
  "desc.SERVER_SIDE_REQUEST_FORGERY.PYTHON": "If unverified external inputs are used in requests submitted between servers, a security vulnerability could allow malicious actions to occur. If a web server has a vulnerable application, an attacker can trick the application into performing abnormal behaviors or obtaining data from the trusted network by forging a URL or a request statement to bypass access control.",
  "desc.SERVER_SIDE_REQUEST_FORGERY_CSHARP": "The Server-side Request Forgery checker finds accesses to an unvalidated URL that contains an external input.",
  "desc.SERVICE_ANNOTATION_GUIDE": "The Service Annotation Guide checker detects whether a ServiceDescription annotation is created on a per-service basis in PGH. This annotation is required because it can be used to search for service-specific annotations in the web information screen or to generate meta-information for future services.",
  "desc.SERVLET_WORK_WITH_COMMITTED_RESPONSE": "The Servlet Action after Committed Response checker finds when some action is performed after the servlet's response is committed.",
  "desc.SETTING_MANIPULATION.PYTHON": "The External Control of System or Configuration Setting checker finds instances of modifying a system or configuration setting using an unvalidated external input.",
  "desc.SETTING_MANIPULATION.VBS": "The External Control of System or Configuration Setting checker finds instances of modifying a system or configuration setting using an unvalidated external input.",
  "desc.SET_ERRNO_ZERO_BEFORE_CALL_FUNC": "The Uninitialized errno checker finds instances of failure to initialize errno to zero before using it to call an error indication function.",
  "desc.SET_HTTP_ONLY_COOKIES.WEB.CONFIG": "The Non-HttpOnly Cookie checker finds instances in which the HttpOnly flag for a cookie is set enabled.",
  "desc.SET_STATIC_IN_NON_STATIC": "The Change in Static Field in Instance Method checker finds statements that assign a value to a static field in an instance method.",
  "desc.SHIFT_EXCEEDS_BIT_WIDTH": "The Shift Operation Larger than Target Type Size checker finds instances of a shift operator (>> or <<) requiring a larger shift than the bit size of the target type.",
  "desc.SHIFT_NEGATIVE": "The Shift Operation on Negative Number checker finds instances of applying a shift operator (>> or <<) to a negative number.",
  "desc.SIDE_EFFECT.DESIGNATED_INIT": "The Side Effect in Designator List checker finds designator lists in which expressions have side effects.",
  "desc.SIDE_EFFECT.INITIALIZER_LISTS": "The Side Effect in Initializer List checker finds initializer list expressions that have side effects.",
  "desc.SIDE_EFFECTS_IN_UNEVALUATED_OPERANDS": "Some expression involve operands that are unevaluated.",
  "desc.SIDE_EFFECT_RHS_OF_LOGICAL_OP": "The Side Effect on Right-hand Side of Logical Operator checker finds expressions in which the right-hand side of a logical operator contains an operator with a side effect.",
  "desc.SIGNAL_HANDLER_CALLS_LONGJMP": "Do not call the function longimp() in the function registered as a signal handler. An issue is reported when the longimp() function is used in the handler.",
  "desc.SIGNAL_HANDLER_CALLS_UNSAFE_FUNCTION": "The Call to Function with Unsafe Asynchronous Behavior in Signal Handler Function checker finds instances in which a function registered as a signal handler calls a function that is unsafe when behaving asynchronously.",
  "desc.SIGNAL_HANDLER_USES_NON_VOLATILE_VARIABLE": "The Use of Non-volatile Variable in Signal Handler checker finds signal handlers that use a global variable that is not declared volatile.",
  "desc.SIGNATURE_DECLARE_THROWS_EXCEPTION": "Throws Exception when declaring a method or constructor The usage checker detects throws Exception when declaring a method or constructor.",
  "desc.SIGN_SEAL_WRITE": "The Incorrect Serialization Order checker finds instances of object serialization not performed in the order of signing, sealing, and outputting.",
  "desc.SINGLE_ARGUMENTED_CONSTRUCTOR_SHOULD_BE_EXPLICIT": "Ensure that single-argument constructors are marked \"explicit\"",
  "desc.SINGLE_LOOP_COUNTER": "The Duplicate Loop Counter checker finds for statements with more than a single loop counter.",
  "desc.SINGLE_OR_MULTI_COMMENT": "The Invalid Comment Type checker finds instances that a single line comment is used with multiple line comment specified in option or vice versa.",
  "desc.SIZEOF_DO_NOT_CONTAIN_SIDE_EFFECTS": "The Side Effect in sizeof Operand checker finds calls to sizeof in which their operand have side effects.",
  "desc.SIZE_CALCULATION": "When using the function malloc() for dynamic memory allocation, the type of the variable must match the type that is used in the function sizeof().",
  "desc.SLOWLORIS_ATTACK.GO": "Slowloris is an attack that sends requests slowly to the server, consumes the server resources, and blocks access from other users to the server. This attack keeps the server connections open through partial requests, blocking the server from accepting new connections.",
  "desc.SMTP_COMMAND_INJECTION.PYTHON": "The SMTP Command Injection checker finds instances of executing an SMTP command with an insecure external input.",
  "desc.SOCKET_IN_WRONG_STATE": "The Misuse of Socket Function checker finds instances of misusing a socket-related function.",
  "desc.SOURCECODE_IN_COMMENT": "The Code in Comment checker finds code placed in the middle of comments.",
  "desc.SPECIFY_CLASS_MODIFIER.SWIFT": "The Implicit Access to Class checker finds instances of using a class without defining the access level for it.",
  "desc.SPECIFY_LENGTH_TYPEDEF": "The typedef Declaration without Storage Size checker finds typedef declarations for a primitive numeric type that do not specify the size of the storage.",
  "desc.SQLCC.DOES_NOT_EXIST.COLUMN": "The Nonexistent Column checker finds SQL statements that reference a nonexistent column.",
  "desc.SQLCC.DOES_NOT_EXIST.TABLE": "The Nonexistent Table checker finds SQL statements that reference a nonexistent database table.",
  "desc.SQLCC.INVALID_EXPRESSION": "The Syntax Error checker finds statements constructed in incorrect syntax.",
  "desc.SQLCC.INVALID_TABLE_NAME": "The Invalid Table Name checker finds tables given an invalid name.",
  "desc.SQLCC.MISMATCH.COLUMN_IS_NOT_IN_GROUP_BY": "The Invalid GROUP BY Clause checker finds SQL SELECT statements in which the GROUP BY clause does not cover every single column referenced by the statement.",
  "desc.SQLCC.MISMATCH.COLUMN_IS_NOT_IN_ORDER_BY": "The Unselected Column Appears in ORDER BY checker finds SELECT DISTINCT statements in which a column is referenced in the ORDER BY clause but does not appear in the SELECT list.",
  "desc.SQLCC.MISMATCH.DATETIME": "The Invalid Date Format checker finds inputs in an invalid date format.",
  "desc.SQLCC.MISMATCH.LENGTH": "The Longer Input than Column Size checker finds DML statements in which an input value is longer than the allowed size for the destination column.",
  "desc.SQLCC.MISMATCH.NUMBER_TYPE": "The Invalid Number Type checker finds DML statements that pass a value of a mismatched data type to a column whose data type is number.",
  "desc.SQLCC.NULL_IN_NOT_NULL_COLUMN": "The Null into Non-nullable Column checker finds statements that insert a null value in a NOT NULL column.",
  "desc.SQLCC.NULL_IN_NOT_NULL_COLUMN_PK": "The Null into PRIMARY KEY Column checker finds statements that insert a null value in a PRIMARY KEY column.",
  "desc.SQLCC.UNUSED.COLUMN": "The Unused Column checker finds columns that are present in the database but never used in DML statements.",
  "desc.SQLCC.UNUSED.TABLE": "The Unused Table checker finds tables that are present in the database but never used in DML statements.",
  "desc.SQL_ID_PREFIX_PATTERN.KEUMKAMWON": "The Financial Supervisory Service's IBATIS SQL ID prefix must be created according to the rules.",
  "desc.SQL_INJECTION": "The SQL Injection checker finds SQL queries that include an unvalidated external input.",
  "desc.SQL_INJECTION.GO": "When code does not validate data entered on a web program and the program integrates with the database, an attacker can inject SQL statements in an input form or URL field to view or manipulate information from the database. A vulnerable web application creates dynamic queries with user input. This can execute unintended queries and cause data leak.",
  "desc.SQL_INJECTION.IBATIS": "The IBATIS SQL Injection checker finds an SQL statement generated by an unvalidated external input from client to application.",
  "desc.SQL_INJECTION.JS": "The SQL Injection checker finds SQL queries that include an unvalidated external input.",
  "desc.SQL_INJECTION.KOTLIN": "The SQL Injection checker finds SQL queries that include an unvalidated external input.",
  "desc.SQL_INJECTION.MYBATIS": "The MYBATIS SQL Injection checker finds an SQL statement generated by an unvalidated external input from client to application.",
  "desc.SQL_INJECTION.OBJC": "The SQL Injection checker finds SQL queries that include an unvalidated external input.",
  "desc.SQL_INJECTION.PHP": "The SQL Injection checker finds SQL queries that include an unvalidated external input.",
  "desc.SQL_INJECTION.PYTHON": "When input data in a web application integrated with a database are not verified, attackers can inject an SQL statement via the input form or URL input field to access or modify data in the database, which lead to create vulnerability. In a vulnerable web application, dynamic queries are created with user input. In this case, the unintended queries can be executed causing data leakage.",
  "desc.SQL_INJECTION.SWIFT": "The SQL Injection checker finds SQL queries that include an unvalidated external input.",
  "desc.SQL_INJECTION.VBNET": "The SQL Injection checker finds SQL queries that include an unvalidated external input.",
  "desc.SQL_INJECTION.VBS": "The SQL Injection checker finds SQL queries that include an unvalidated external input.",
  "desc.SQL_INJECTION_ASPNET": "The SQL Injection checker finds SQL queries that use an untrusted external input without validating it.",
  "desc.SQL_INJECTION_HIBERNATE": "The SQL Injection via Hibernate checker finds instances in which an SQL statement executed via the Hibernate API is built with an unvalidated external input.",
  "desc.SQL_INJECTION_JDO": "The SQL Injection via JDO API checker finds instances in which an SQL or JDOQL statement executed via the Java Data Objects (JDO) API is built with an unvalidated external input.",
  "desc.SQL_INJECTION_MYSQL.JS": "When code does not validate data entered on a web program and the program integrates with the database, an attacker can inject SQL statements in an input form or URL field to view or manipulate information from the database. A vulnerable web application creates dynamic queries with user input. This can execute unintended queries and cause data leak.",
  "desc.SQL_INJECTION_NOSQL.JS": "When code does not validate data entered on a web program and the program integrates with the database, an attacker can inject SQL statements in an input form or URL field to view or manipulate information from the database. A vulnerable web application creates dynamic queries with user input. This can execute unintended queries and cause data leak.",
  "desc.SQL_INJECTION_ORM.JS": "When code does not validate data entered on a web program and the program integrates with the database, an attacker can inject SQL statements in an input form or URL field to view or manipulate information from the database. A vulnerable web application creates dynamic queries with user input. This can execute unintended queries and cause data leak.",
  "desc.SQL_INJECTION_PERSISTENCE": "The SQL Injection via J2EE Persistence API checker finds instances in which an SQL statement executed via the J2EE Persistence API is built with an unvalidated external input.",
  "desc.SQL_INJECTION_POSTGRESQL.JS": "A security weakness in web programs that interact with a database that fails to validate entered data, allowing an attacker to inject SQL statements into input forms and URL fields to view or manipulate information from the database. Because vulnerable web programs generate dynamic queries from user input, queries that were not intended by the developer can be executed and exploited to exfiltrate information.",
  "desc.SSI_INJECTION": "The SSI Injection checker finds server-side includes (SSIs) that include an unvalidated external input.",
  "desc.STACK_ADDRESS_ESCAPE.OBJC": "The Assignment of Stack Variable Address checker finds instances of referencing the address of a local variable, which ceases to exist after the function's return.",
  "desc.STANDARD_CHARACTERS": "The Use of Non-standard Character checker finds string literals that include a non-standard character.",
  "desc.STANDARD_ESCAPE_SEQUENCE": "The Use of Non-standard Escape Sequence checker finds escape sequences that are not provided in the ISO C standard.",
  "desc.STANDARD_LIBRARY_FUNCTIONS_SHOULD_BE_CONST": "The standard library functions localeconv, getenv, setlocale, and strerror specify that pointers returned by them should only be used as pointers with const. These functions return static data internally, and attempting to modify the data can cause unexpected behavior. Therefore, you should treat the returned pointers as unmodifiable const pointers.",
  "desc.STANDARD_LIBRARY_RETURNED_POINTER_SHOULD_NOT_BE_REUSED": "It is recommended that pointers returned by the standard library functions asctime, ctime, gmtime, localtime, localeconv, getenv, setlocale, and strerror not be reused after subsequent calls to the same function. These functions use static buffers internally to store data, and the buffers may be overwritten on subsequent calls.",
  "desc.STATIC_FOR_VARIABLE_USED_IN_ONLY_ONE_FILE": "The Global Variable Declaration without Static checker finds instances in which a global variable used only in a single source file is declared without the static keyword.",
  "desc.STRICT_MODE.CONFIG": "In Typescript, the Strict mode enables type-checks extensively, which can make your program more accurate and less prone to errors. Disabling this feature can lead to weak methods being used or various errors being ignored, creating potential vulnerabilities in your source code.",
  "desc.STRICT_MODE.JS": "In ECMAScript 5.1, JavaScript introduced a strict mode. The strict mode operates differently from normal code by selecting a restricted version. Compatible with existing code, the strict mode makes the source code operate more safely by imposing restrictions on the source code, such as throwing previously ignored errors or prohibiting the use of insecure methods.",
  "desc.STRICT_USE_FOPEN_MODE": "The Call to fopen() with Invalid Mode checker finds calls to fopen() made with an invalid mode argument passed in.",
  "desc.STRING.DUPLICATED.ABAP": "The Repeated Use of String Constant checker finds string constants that are used repeatedly.",
  "desc.STRING_CONVERSION_WITH_CONSTRUCTOR": "The Return of String Using Constructor checker finds instances in which an object is created and immediately converted to a string through the toString() method.",
  "desc.STRING_LITERAL_MODIFICATION": "The Modification of String Literal checker finds expressions that modify a string literal.",
  "desc.STRING_NORMALIZATION_REQUIRED_BEFORE_VALIDATION": "The Unnormalized String before Validation checker finds unvalidated external inputs with strings that are not normalized.",
  "desc.STRTOK_CHANGES_STRING": "The Reuse of First Argument for strtok() checker finds instances in which the first argument passed in a call to the strtok() function is reused.",
  "desc.STRUTS.DUPLICATE_VALIDATION_FORM.CONFIG": "The Duplicate Name for Validation Forms checker finds that two or more validation forms have the same name of which validates input forms through Apache Struts Validator.",
  "desc.STRUTS_VALIDATOR_TURNED_OFF.CONFIG": "By default, validation interceptors are enabled in web applications that use the Struts2 framework. However, if a developer disables validation or excludes it from certain methods, there is no validation of user input, and malicious input can be passed to the system.",
  "desc.SUPPLY_AN_INITIAL_VALUE_FOR_EACH_ENTRIES": "The Missing Initializer in Constructor checker finds constructors that omits an initializer for a member that must be initialized.",
  "desc.SWITCH_CASE_IN_SAME_SCOPE": "The Out-of-scope case Statement checker finds incidents that case statements are not close to scopes of switch statements.",
  "desc.SYMBOLIC_LINK_RACE_CONDITION": "The Symlink TOCTOU Race Condition checker finds instances of accessing a file in reliance solely on the return from a call to lstat() on it.",
  "desc.SYMBOLIC_LINK_RACE_CONDITION.OBJC": "The Symlink TOCTOU Race Condition checker finds instances of accessing a file in reliance solely on the return from a call to lstat() on it.",
  "desc.SYMMETRIC_OPERATOR_SHOULD_BE_DEFINED_AS_FRIEND": "The Non-friend Symmetric Operator checker finds declarations of symmetric operators to which the friend keyword is not applied.",
  "desc.SYNTACTICALLY_AMBIGUOUS_DECLARATIONS": "The Grammatically Ambiguous Declaration checker finds code that is too ambiguous to interpret as either an expression or a declaration.",
  "desc.SYSTEM_INFORMATION_LEAK.OBJC": "The System Information Exposure finds instances of displaying system information through error messages or by other means.",
  "desc.SYSTEM_INFORMATION_LEAK.SWIFT": "The System Information Exposure finds instances of displaying system information through error messages or by other means.",
  "desc.SYSTEM_INFORMATION_LEAK_EXTERNAL": "!!!!!plz!!!!!",
  "desc.SYSTEM_PRINTLN": "Using the System.(out | err).print~ method The checker detects the use of the System.out print() or System.err print() method.",
  "desc.ScopeForInVariable": "When a variable is used in a for statement, pay attention to the scope.",
  "desc.SelfInitialization": "Member variable is initialized by itself.",
  "desc.ShortClassName": "Detect class name less than five characters.",
  "desc.ShortInstantiation": "Detect allocation statements such as 'new Short' and 'new java.lang.Short'.",
  "desc.ShortMethodName": "Detect method names less than three characters.",
  "desc.ShortVariable": "When declaring a variable, except for index of a for loop or formal parameter (exception) of a catch statement, detect variables with length 1 or 2.",
  "desc.SignatureDeclareThrowsException": "Detect 'throws Exception' statement when declaring a method.",
  "desc.SimpleDateFormatNeedsLocale": "Detect Locale not being set when create an SimpleDateFormat object.",
  "desc.SimplifyBooleanAssertion": "Detect use of operator ! in test assertTrue() or assertFalse().",
  "desc.SimplifyBooleanExpressions": "Detect having true or false in front or behind operator ==.",
  "desc.SimplifyBooleanReturns": "Detect if a Boolean value is returned from an if-else statement.",
  "desc.SimplifyConditional": "When argument of type null is used for instanceof, false is returned. Extra null checking is not required.",
  "desc.SimplifyStartsWith": "Detect if argument for method startsWith() has three characters and starts with \" \" and ends with \" \".",
  "desc.SingularField": "Detect private variables that is only used in a single method and first use is an assignment operation.",
  "desc.SizeArgumentAsChar": "The size argument is given as a char constant.",
  "desc.StaticEJBFieldShouldBeFinal": "Detect if declaration of a field is static, not final in classes that inherit SessionBean, EJBHome, EJBLocalObject or EJBObject.",
  "desc.StdCyclomaticComplexity": "Detects the use of 10 or more if, while, for, and case statements that cause code complexity.",
  "desc.StlMissingComparison": "Missing bounds check for extra iterator increment in loop.",
  "desc.StringBufferInstantiationWithChar": "When declaring StringBuffer, detect use of characters wrapped by ' ' as an argument.",
  "desc.StringInstantiation": "Detect use of new String(...).",
  "desc.StringToString": "Detect call of method toString() in a String object.",
  "desc.StrncatUsage": "Dangerous usage of strncat",
  "desc.SuspiciousConstantFieldName": "In a class that is not a interface, detect variable names that are not final, only consisting of upper case letters.",
  "desc.SuspiciousEqualsMethodName": "Detect if the method name and number of parameters are similar to equals(Object) because it might not have been intended to override equals(Object).",
  "desc.SuspiciousHashcodeMethodName": "Detect if the method name and return type is similar to method hashCode(), because it might not have been intended to override method hashCode().",
  "desc.SuspiciousOctalEscape": "Detect suspicious octal escape sequence founded in strings.",
  "desc.SwitchDensity": "Detect using more number of lines than the specified amount in a switch label.",
  "desc.SwitchStmtsShouldHaveDefault": "Detect not including a default case in a switch statement.",
  "desc.SystemPrintln": "Detect call of method System.out.print() or System.err.print().",
  "desc.TABLE_NAME_CONVENTION.SQL": "The Noncompliant Table Name checker finds a table name that does not comply with regular expressions specified in an option.",
  "desc.TAG_NAME_SHALL_BE_A_UNIQUE": "The Tags with Identical Names checker finds instances in which a name given at a tag declaration is reused elsewhere.",
  "desc.TAINTED_LOOP_BOUND": "Tainted Information from outer environment is used as a loop bound",
  "desc.TAKE_CARE_WHEN_USING_RENAME": "The Use of rename() without Duplicate Check checker finds calls to the rename() function that are made without handling the possibilities of duplicate filenames.",
  "desc.TEMPLATE_SPECIALIZATION_SHOULD_BE_SAME_FILE": "The Template Specialization Declaration in Another File checker finds instances that default template and template specialization are declared in each file.",
  "desc.TEMPLATE_WITH_POTENTIALLY_CONFLICTING_METHODS": "The Template with Potentially Conflicting Methods checker finds declarations of template methods that can be potentially conflicting when the template is instantiated.",
  "desc.TEMPORARY_FILE_WRITING.OBJC": "The Creation of Temp File in Open Directory checker finds instances of creating a temporary file in an open directory accessible to arbitrary users.",
  "desc.TEMP_LIFETIME_OBJ_MODIFICATION": "The Modification to Temporary Object checker finds expressions that result in a modification to an object with temporary lifetime.",
  "desc.TERNARY_OP_SHOULD_NOT_RETURN_THE_SAME_VAL.SWIFT": "The Ternary Operator Returning Fixed Value checker finds occurrences of the ternary operator that always return the same value regardless of the condition.",
  "desc.TESTED_AGAINST_CONSTANT_VALUE": "The Complicated Expression for Terminating Condition checker finds instances in which a complicated expression is used instead of constant to evaluate the number of iteration in for loop.",
  "desc.TEST_CHECKER": "en",
  "desc.THREAD_SHARE_LOCAL_VARIABLE": "The Local Variable Shared between Threads checker finds instances in which a thread-local variable is accessed by another POSIX thread.",
  "desc.THROW_NEW_EXCEPTION_IN_CATCH.CSHARP": "The Creation of New Exception in catch Block checker finds catch blocks that throw a newly created exception.",
  "desc.THROW_NOT_IN_CATCH_STMT": "The Empty throw Statement checker finds incidents that throw statements do not throw any objects without exception handlers.",
  "desc.THROW_NOT_IN_CATCH_STMT2": "An empty throw (throw;) shall only be used in the compound-statement of a catch handler.",
  "desc.THROW_NULL": "The Throwing of Null Exception checker finds instances of explicitly throwing a null pointer as an exception.",
  "desc.THROW_NULL2": "NULL shall not be thrown explicitly.",
  "desc.THROW_PTR_TYPE": "The Throwing of Pointer Type Exception checker finds statements throwing pointer type exceptions.",
  "desc.THROW_PTR_TYPE2": "An exception object should not have pointer type.",
  "desc.TMP_FILE_IN_SHARED_DIR": "The Creation of Temp File in Open Directory checker finds instances of creating a temporary file in an open directory accessible to arbitrary users.",
  "desc.TOCTOU_RACE_CONDITION": "The TOCTOU Race Condition checker finds race conditions occurring between the time of checking a resource's state and the time of using it.",
  "desc.TOCTOU_RACE_CONDITION.KOTLIN": "The TOCTOU Race Condition checker finds race conditions occurring between the time of checking a resource's state and the time of using it.",
  "desc.TOCTOU_RACE_CONDITION.PYTHON": "This security vulnerability can occur due to improper time or status management in a parallel system that supports concurrent execution or in a multi-processor environment. The parallel system, an application that is implemented by utilizing multiple processors, checks the status of resources including files, sockets, etc., before using them. However, the resources are used at a different time from when they were checked, so the resources existed at the Time Of Check may change or disappear at the Time of Use.",
  "desc.TOCTOU_RACE_CONDITION_CSHARP": "The TOCTOU Race Condition checker finds race conditions occurring between the time of checking a resource's state and the time of using it.",
  "desc.TOC_TOU_ACCESS": "The TOCTOU Race Condition checker finds race conditions occurring between the time of checking a resource's state and the time of using it.",
  "desc.TOC_TOU_ACCESS.OBJC": "The TOCTOU Race Condition checker finds race conditions occurring between the time of checking a resource's state and the time of using it.",
  "desc.TOC_TOU_ACCESS.SWIFT": "The TOCTOU Race Condition checker finds race conditions occurring between the time of checking a resource's state and the time of using it.",
  "desc.TOO_BIG.STRUCT_SIZE.PF": "The buffer size is too big.",
  "desc.TOO_BIG_FILE.ABAP": "The Oversized Source File checker finds source files whose lines are more than the line limit.",
  "desc.TOO_BIG_FUNCTION": "The Too Long Function Code checker finds functions that span more than the specified line limit.",
  "desc.TOO_COMPLEX_FOR_STATEMENT": "The Too Complicated for Loop Control checker finds for loops whose initialization and increment statements include more than the allowed number of expressions.",
  "desc.TOO_FEW_WHEN.ABAP": "The Too Short WHEN Clause checker finds CASE statements that include fewer than three WHEN clauses.",
  "desc.TOO_LONG_COLUMN": "The Too Long Code Line checker finds code lines that span a longer length than the optionally specified value.",
  "desc.TOO_LONG_COLUMN.ABAP": "The Too Long Code Line checker finds code lines that span a longer length than the optionally specified value.",
  "desc.TOO_LONG_COLUMN_SCSS_SASS": "Avoid using columns that are too long in SCSS/SASS.",
  "desc.TOO_LONG_IDENTIFIER": "The Identifier with Over 31 Characters checker finds instances in which an identifier representing an entity of a certain type is longer than 31 characters.",
  "desc.TOO_LONG_SOURCE_CODE_BEFORE_COMMENT": "The Too Long Source Code before Comment checker finds instances in which a source code preceding a comment exceeds the specified length.",
  "desc.TOO_MANY_BRANCH_IN_LOOP.ABAP": "The Too Many Branches in Loop checker finds loops that contain too many control statements.",
  "desc.TOO_MANY_EXECUTABLE_PATH": "The Too Many Execution Paths checker finds functions that have too many executable paths.",
  "desc.TOO_MANY_INIT_ARRAY": "The Overflowing Brace Initialization of Struct/Array checker finds struct/array definitions in which the struct/array object is assigned an initial set of elements that are greater in number than the struct/array size.",
  "desc.TOO_MANY_METHODS": "The Too Many Function Definitions checker finds instances in which the number of function definitions exceed the optionally specified per-file count.",
  "desc.TOO_MANY_NONCYCLIC_EXECUTION_PATH": "The Too Many Non-iterative Executable Paths checker finds functions that have too many executable paths, except for the case in which the number of paths increases due to iterations in a loop.",
  "desc.TOO_MANY_RETURNS": "Do not use more return statements than specified.",
  "desc.TO_STRING_ON_ARRAY.CSHARP": "The Use of toString on Array checker finds calls to the toString method made on an array object.",
  "desc.TRACE_OUTPUT.WEB.CONFIG": "The Trace Log Exposal checker finds settings that enable displaying a trace log.",
  "desc.TRANSACTION.GET.TOBE.JS": "The Transaction by GET checker finds transfers by the GET method.",
  "desc.TRANSACTION.NOT_BINARY.TOBE.JS": "The Non-binary Transaction checker finds calls to transactional functions that transfer data not in binary.",
  "desc.TRANSACTION.PLAIN.TOBE.JS": "The Plaintext Transfer of Sensitive Information via Transaction checker finds calls to transactional functions that transfer sensitive information in plaintext.",
  "desc.TRANSACTION.SYNC.TOBE.JS": "The Inefficient Synchronous Transaction checker finds calls to a transactional function in synchronous mode.",
  "desc.TRANSACTION_INJECTION.TOBE.JS": "The Transaction Injection checker finds instances of using an unvalidated external input in a transactional function.",
  "desc.TRUST_BOUNDARY_VIOLATION": "The Violation of Trust Boundary checker finds instances of mixing up trusted and untrusted data.",
  "desc.TRYLOCK_FAIL": "The Attempt of trylock on Locked Resource checker finds calls to pthread_mutex_trylock() targeted at an already locked resource.",
  "desc.TYPEDEF_NAME_SHALL_BE_A_UNIQUE": "The typedef with Identical Names checker finds instances in which a name given at a typedef declaration is reused elsewhere.",
  "desc.TYPE_CHECK_WITH_NAME.CSHARP": "The Name-based Type Check checker finds instances of determining an object's type based on its class name.",
  "desc.TYPE_MISMATCH_IN_TERNARY": "The Type Mismatch in Ternary Operation checker finds ternary operations in which the two conditional expressions mismatch in type.",
  "desc.TYPE_OVERRUN.BAD_COND": "The Field Buffer Overflow Caused by Improper Condition checker finds instances in which an improper conditional evaluation causes reading from or writing to memory out of an allocated buffer.",
  "desc.TYPE_OVERRUN.IN_FUNC_CALL": "The Field Buffer Overflow from Function checker finds calls with an error for copying a specific size of data from memories.",
  "desc.TYPE_OVERRUN.IN_FUNC_CALL.BAD_COND": "The Field Buffer Overflow from Function Caused by Improper Condition checker finds calls with an error for copying a specific size of data from memories.",
  "desc.TYPE_OVERRUN.IN_FUNC_CALL.BAD_COND_delete": "-",
  "desc.TYPE_OVERRUN.IN_FUNC_CALL_delete": "-",
  "desc.TYPE_OVERRUN.MEMSET": "Buffer overrun occurs in structures because the index is checked improperly.",
  "desc.TYPE_OVERRUN.MEMSET.BAD_COND": "Buffer overrun occurs in structures through calling memset functions because the index is checked improperly.",
  "desc.TYPE_OVERRUN.STATIC": "The Field Buffer Overflow checker finds instances of reading from or writing to memory out of an allocated buffer.",
  "desc.TYPE_UNDERRUN.BAD_COND": "The Field Buffer Underflow Caused by Improper Condition checker finds instances in which an improper condition triggers reading or writing below the lower bound of an object in memory.",
  "desc.TYPE_UNDERRUN.IN_FUNC_CALL": "The Field Buffer Underflow from Function checker finds calls with an error for copying a specific size of data from memories.",
  "desc.TYPE_UNDERRUN.IN_FUNC_CALL.BAD_COND": "The Field Buffer Underflow from Function Caused by Improper Condition checker finds calls with an error for copying a specific size of data from memories.",
  "desc.TYPE_UNDERRUN.IN_FUNC_CALL.BAD_COND_delete": "-",
  "desc.TYPE_UNDERRUN.IN_FUNC_CALL_delete": "-",
  "desc.TYPE_UNDERRUN.MEMSET": "The size of memory copy functions should be larger than or equal to zero.",
  "desc.TYPE_UNDERRUN.MEMSET.BAD_COND": "The size should be checked before accessing the structure in the stack memory using memory copy functions.",
  "desc.TYPE_UNDERRUN.STATIC": "The Field Buffer Underflow checker finds instances of reading or writing below the lower bound of an object in memory.",
  "desc.TerminateStrncpy": "The buffer may not be null-terminated after the call to strncpy().",
  "desc.TestClassWithoutTestCases": "Detect if test classes don't have method names starting with test.",
  "desc.ThisSubtraction": "Suspicious subtraction in this pointer. Check if it is intended to write '->'.",
  "desc.ThrowInNoexceptFunction": "Exception thrown in function declared not to throw exceptions.",
  "desc.TooFewBranchesForASwitchStatement": "Detect switch statements having fewer case statements than a predefined number.",
  "desc.TooManyFields": "Classes that have too many fields could be redesigned to have fewer fields, possibly through some nested object grouping of some of the information.",
  "desc.TooManyMethods": "Classes that have too many methods should be refactored to lower complexity.",
  "desc.TooManyStaticImports": "Detect if number of static import statements is more than a predefined number.",
  "desc.Toomanyconfigs": "Too many #ifdef configurations",
  "desc.UNARY_NEGATIVE_OP_ON_UNSIGNED": "The Use of Unary Minus Operator on Unsigned Integer Variable checker finds expressions that use the unary minus operator on an unsigned integer variable.",
  "desc.UNBOUNDED_SOURCE_TO_ARRAY": "The Storage of External Data in Stack Array checker finds expressions that store external user input data in a stack array.",
  "desc.UNCAUGHT_EXCEPTION": "The Missing Exception Handling checker finds code that throws an exception, but does not handle it.",
  "desc.UNCAUGHT_EXCEPTION.JS": "Using uncaughtException enables a developer to handle errors that could not be addressed by a developer beforehand. However, the official node document specifies that it should only be used as a last resort. This is because uncaughtException cannot guarantee a program will close after an error occurs.",
  "desc.UNCHECKED_NULL": "The Dereference of Non-null-checked Value finds instances in which a variable is once checked for null but later is dereferenced without a null check.",
  "desc.UNCHECKED_NULL_CSHARP": "The Dereference of Non-null-checked Value finds instances in which a variable is once checked for null but later is dereferenced without a null check.",
  "desc.UNCHECKED_OGNL_EXPRESSION": "The OGNL Expression Unchecked checker finds code that creates Object without external input checks.",
  "desc.UNCHECKED_SPEL_EXPRESSION.SPRING": "The SpEL Expression Unchecked checker finds code that creates SpelExpression without external input checks.",
  "desc.UNCHECK_ARRAY_LENGTH": "The Invalid Size of Variable-length Array checker finds declarations of variable-length arrays (VLAs) whose length is not properly controlled.",
  "desc.UNCONTROLLED_RECURSION": "The Infinite Recursive Calls checker finds recursive functions that are not properly controlled and thus can be called infinitely.",
  "desc.UNCONTROLLED_RECURSION.OBJC": "The Infinite Recursive Calls checker finds recursive functions that are not properly controlled and thus can be called infinitely.",
  "desc.UNCONTROLLED_RECURSION.SWIFT": "The Infinite Recursive Calls checker finds recursive functions that are not properly controlled and thus can be called infinitely.",
  "desc.UNDECIDABLE_DIVISION": "The Division by Undecidable Value checker finds instances of dividing by an undeterminable value.",
  "desc.UNDEFINED_BINARY_OPERATOR.OBJC": "The Binary Operation on Uninitialized Variable checker finds binary operations performed on an uninitialized variable.",
  "desc.UNDERRUN.DYNAMIC": "The Dynamically Assigned Buffer Underflow checker finds instances of reading or writing below the lower bound of an object in memory.",
  "desc.UNDERRUN.DYNAMIC.BAD_COND": "The Dynamically Assigned Buffer Underflow Caused by Improper Condition checker finds instances in which an improper conditional evaluation causes reading from or writing to memory out of an allocated buffer.",
  "desc.UNDERRUN.DYNAMIC.IN_FUNC_CALL": "The Dynamically Assigned Buffer Underflow from Function checker finds calls with an error for copying a specific size of data from memories.",
  "desc.UNDERRUN.DYNAMIC.IN_FUNC_CALL.BAD_COND": "The Dynamically Assigned Buffer Underflow from Function Caused by Improper Condition checker finds calls with an error for copying a specific size of data from memories.",
  "desc.UNDERRUN.DYNAMIC.IN_FUNC_CALL.BAD_COND_delete": "-",
  "desc.UNDERRUN.DYNAMIC.IN_FUNC_CALL_delete": "-",
  "desc.UNDERRUN.STATIC": "The Buffer Underflow checker finds instances of reading or writing below the lower bound of an object in memory.",
  "desc.UNDERRUN.STATIC.BAD_COND": "The Buffer Underflow Caused by Improper Condition checker finds instances in which an improper condition triggers reading from or writing below the lower bound of an object in memory.",
  "desc.UNDERRUN.STATIC.IN_FUNC_CALL": "The Buffer Underflow from Function checker finds calls with an error for copying a specific size of data from memories.",
  "desc.UNDERRUN.STATIC.IN_FUNC_CALL.BAD_COND": "The Buffer Underflow from Function Caused by Improper Condition checker finds calls with an error for copying a specific size of data from memories.",
  "desc.UNDERRUN.STATIC.IN_FUNC_CALL.BAD_COND_delete": "-",
  "desc.UNDERRUN.STATIC.IN_FUNC_CALL_delete": "-",
  "desc.UNEXPECTED_SIGN_EXTENSION": "The Unintended Sign Extension checker finds expressions that can convert a negative number to an unsigned variable.",
  "desc.UNINIT": "The Use of Uninitialized Variable checker finds instances of using an uninitialized local variable.",
  "desc.UNINIT.HORUS": "An uninitialized value was used.",
  "desc.UNINITIALIZED.ARRAY_SUBSCRIPT.OBJC": "The Use of Uninitialized Variable for Array Indexing checker finds instances of using an uninitialized variable for array indexing.",
  "desc.UNINITIALIZED.ASSIGN.OBJC": "The Assignment of Uninitialized Variable checker finds instance of assigning an uninitialized variable to another variable.",
  "desc.UNINITIALIZED.BRANCH.OBJC": "The Use of Uninitialized Variable in Conditional Expression checker finds conditional expressions containing an uninitialized variable.",
  "desc.UNINITIALIZED.UNDEFINED_RETURN.OBJC": "The Return of Uninitialized Variable checker finds instances of returning an uninitialized variable.",
  "desc.UNIQUE_HEADER_FILE_NAME": "The Duplicate Header File Name checker finds header files whose name can be considered duplicate when interpreted according to the C99 standard.",
  "desc.UNIQUE_VALUE_IN_ENUMERATOR": "The Partial Assignment to Enum checker finds enumeration assignment statements that assign values only to part of the enumerators.",
  "desc.UNIVERSAL_CHARACTER_TROUGH_CONCATENATION": "The Use of Universal Character for Macro Concatenation checker finds universal characters (such as Unicode) passed as arguments for macro concatenation.",
  "desc.UNMATCH_TYPE_PTR_COMPARE": "The Comparison between Elements of Different Arrays checker finds comparison operations between arrays with different elements.",
  "desc.UNMATCH_TYPE_PTR_SUBTRACT": "The Pointer Subtraction between Elements of Different Arrays checker finds pointer subtraction between arrays with different elements.",
  "desc.UNNAMED_STRUCT_UNION_MEMBERS": "The Unnamed Field Declaration checker finds instances of declaring an unnamed field in a struct or union.",
  "desc.UNNECESSARY_BLOCK.JS": "The Unnecessary Block checker finds unnecessarily added blocks.",
  "desc.UNNECESSARY_PARENTHESES.JS": "The Unnecessary Parentheses checker finds unnecessarily added parentheses.",
  "desc.UNNOTIFIED_OBJECT": "The Unnotified Object checker finds classes that call the wait() method but do not include a call to the notify() or notifyAll() method.",
  "desc.UNPULSED_OBJECT.CSHARP": "The Unpulsed Object checker finds code that fails to call Mointor.Pulse() or Monitor.PulseAll() method after calling Monitor.Wait() method.",
  "desc.UNREACHABLE_CASE": "The Unnecessary Case checker finds unreachable case labels in switch statements.",
  "desc.UNREACHABLE_CODE": "The Unreachable Code Checker finds a code block that is unreachable in any case.",
  "desc.UNREACHABLE_CODE.JS": "The Unreachable Code checker finds unreachable statements that come after a return, break, continue, or throw statement.",
  "desc.UNREACHABLE_CODE_STRING_COMPARE": "The Unreachable Code in String Comparison checker finds chained conditionals with string comparison that include a never reachable branch.",
  "desc.UNREASONABLE_PARAMETER": "The Assignment of Invalid Length Argument checker finds instances in which a length argument being passed to a function is a negative number or too large.",
  "desc.UNREASONABLE_PARAMETER.OBJC": "The Invalid Size Argument checker finds instances of passing a negative number or too large a number to a length parameter of a function.",
  "desc.UNRELEASED_LOCK": "The Unreleased Lock checker finds instances in which a lock object is acquired in a method but the lock is not released in the same method.",
  "desc.UNRESTRICTED_UPLOAD.FILE.PHP": "The Unrestricted File Upload checker finds instances of accepting a file upload without checking its type and size.",
  "desc.UNRESTRICTED_UPLOAD.FILE.VBNET": "The Unrestricted File Upload checker finds instances of uploading files to a server without checking their extensions.",
  "desc.UNRESTRICTED_UPLOAD_OF_FILE": "The Unrestricted File Upload checker finds instances of accepting a file upload without checking its type and size.",
  "desc.UNRESTRICTED_UPLOAD_OF_FILE.CPP": "The Unrestricted File Upload checker finds code that allows files to be uploaded without checking types and sizes.",
  "desc.UNRESTRICTED_UPLOAD_OF_FILE.KOTLIN": "The Unrestricted File Upload checker finds instances of accepting a file upload without checking its type and size.",
  "desc.UNRESTRICTED_UPLOAD_OF_FILE.PYTHON": "Based on the following condition, an attacker can execute the internal system commands or connect to the external source: 1) uploading a script file, such as asp, jsp, php, sh, executable on the server and 2) allowing the attacker to run the script on the web.",
  "desc.UNRESTRICTED_UPLOAD_OF_FILE_ASPNET": "The Unrestricted File Upload checker finds instances of failure to restrict file types and size.",
  "desc.UNSAFE_JACKSON_DESERIALIZATION": "The Deserialization of Unsafe Jackson checker finds code that performs deserialization with Jackson libraries or that imports sensitive data from an untrusted source.",
  "desc.UNSAFE_REFLECTION": "Reflection occurs when a class or method is dynamically selected and executed using data input from an external source. This can allow an attacker to enter malicious data to execute unwanted code or take control of the system.",
  "desc.UNSAFE_REFLECTION.OBJC": "The Insecure Reflection checker finds instances of using an unvalidated external input as an argument for reflection.",
  "desc.UNSAFE_REFLECTION.VBS": "The Insecure Reflection checker finds instances of using an unvalidated external input as an argument for reflection.",
  "desc.UNSAFE_XSTREAM_DESERIALIZATION": "The Deserialization of Unsafe XStream checker finds code that calls XStream.fromXML() method.",
  "desc.UNSALTED_ONE_WAY_HASH": "The Use of Hash without Salt checker finds instances of calculating a hash without a salt.",
  "desc.UNSPECIFY_BUFFER_LENGTH_CIN": "The Unspecified cin Buffer Size Limit checker finds calls to the \"cin\" operator without specifying the maximum number of characters to be read in the input buffer.",
  "desc.UNSUITABLE_BITFIELD_TYPE": "The Invalid Bit Field Type checker finds instances of declaring a bit field as a different type than unsigned int or signed int.",
  "desc.UNSYNCHRONIZED_ACCESS_TO_SHARED_DATA_MULTITHREAD": "Caused by asynchronous access to shared resources, such as static variables, in a multi-threaded environment. Asynchronous accesses can cause data races, which can lead to unexpected behavior, data corruption, security vulnerabilities, and more.",
  "desc.UNSYNCHRONIZED_STATIC_DATE_FORMATTER": "The Missing Visibility of Shared immutable Object checker finds a non-final or non-volatile field within a specific method that is not declared as synchronized.",
  "desc.UNTRUSTED_DATA_IN_PRIVILEGED_BLOCK": "The Untrusted Data in Privileged Block checker finds instances in which untrusted data passed to a parameter is directly used in a privileged block.",
  "desc.UNUSED.FORMAL_PARAMETER.CSHARP": "The Unused Parameter checker finds unused method parameters.",
  "desc.UNUSED.LOCAL_VARIABLE": "The Unused Local Variable checker finds local variables that are never used after declaration.",
  "desc.UNUSED.LOCAL_VARIABLE.CSHARP": "The Unused Local Variable checker finds local variables that are never used after declaration.",
  "desc.UNUSED.PRIVATE_FIELD.CSHARP": "The Unused Private Field checker finds private fields that are never used.",
  "desc.UNUSED_CATCH_HANDLER": "The Unused Exception Handler checker finds functions that include a never reached exception handling block.",
  "desc.UNUSED_IMPORT": "The Unnecessary import Statement checker finds import statements that do not affect the execution of the program.",
  "desc.UNUSED_PARAMETER": "The Unused Parameter checker finds unused function parameters.",
  "desc.UNUSED_PARAMETER.MISRA2008": "The Unused Parameter in Virtual Function checker finds incidents that virtual functions are declared with unused parameters.",
  "desc.UNUSED_STATIC_VARIABLE": "The Unused Static Variable checker finds static variables that are never used.",
  "desc.UNUSED_VALUE": "The Unused Variable checker finds variables that are assigned a value but never used in any executable paths while assuming that value.",
  "desc.UNUSED_VARIABLE": "Detect variables not used within a function scope.",
  "desc.UNUSED_VARIABLE.OBJC": "The Unused Variable checker finds variables that are declared but never used.",
  "desc.UNVALIDATED_WEB_API_MODEL.VBNET": "The Untrusted Model checker finds functions that are annotated with the HttpPost() attribute but does not check the ModelState.IsValid attribute.",
  "desc.UNVERIFIABLE_NATIVE_INVOCATION.CSHARP": "The Use of Unsafe DLL checker finds instances to load unvalidated DLLs.",
  "desc.USAGE.CONSTRUCTOR.VIRTUAL_METHOD_CALL.CSHARP": "The constructor of an unsealed type calls a virtual method defined in its class.",
  "desc.USAGE.DISPOSABLE_TYPE.MISSING_FINALIZER.CSHARP": "A type that implements System.IDisposable, and has fields that suggest the use of unmanaged resources, does not implement a finalizer as described by Object.Finalize.",
  "desc.USAGE.DISPOSE.GC_SUPPRESS_FINALIZE.CSHARP": "A method calls GC.SuppressFinalize and passes something other than this (Me in Visual Basic).",
  "desc.USAGE.ENUM.FLAGS_ATTRIBUTE.CSHARP": "An externally visible enumeration is marked with FlagsAttribute and it has one or more values that are not powers of two or a combination of the other defined values on the enumeration.",
  "desc.USAGE.FIELDS.NON_SERIALIZABLE.CSHARP": "An instance field of a type that is not serializable is declared in a type that is serializable.",
  "desc.USAGE.ISERIALIZABLE.BAD_IMPLEMENTATION.CSHARP": "Instance fields that are declared in a type that inherits the System.Runtime.Serialization.ISerializable interface are not automatically included in the serialization process.",
  "desc.USAGE.NAN.INCORRECTLY_TESTED.CSHARP": "An expression tests a value against F:System.Single.Nan or F:System.Double.Nan.",
  "desc.USAGE.OVERLOAD_EQ.MISSING_EQUALS.CSHARP": "A public type implements the equality operator, but does not override Object.E",
  "desc.USAGE.OVERLOAD_OPERATOR.NO_ALTERNATE.CSHARP": "An operator overload was detected, and the expected named alternative method was not found.",
  "desc.USAGE.UNSEALED_PRIVATE_METHOD.DIFFERENT_ACCESSIBILITY.CSHARP": "A private method in an unsealed type has a signature that is identical to a public method declared in a base type. The private method is not final.",
  "desc.USE.PROPER_VARIABLE_NAME.JS": "The Noncompliant Variable Name checker finds variables that are not named as per the naming rules.",
  "desc.USELESS_ASSIGNMENT": "The Useless Assignment checker finds assignment statements that cannot, in any cases, make changes in the values of the variables involved.",
  "desc.USELESS_OVERRIDING_METHOD": "Within a Method with the Same Name as a Method Defined in a Parent Class The Calling a Method with the Same Name within a Parent Class checker detects a call to a method with the same name within a method defined in a parent class as a call to a method with the same name within a method defined in the parent class.",
  "desc.USE_ADJACENT_UNARY_OPERATOR": "The Violation of Unary Operator Spacing Rule checker finds instances in which a unary operator such as ++ or ? and its operand are separated by a whitespace.",
  "desc.USE_AFTER_CLOSE": "Recycled resource should not be used again.",
  "desc.USE_AFTER_CLOSE.EXT": "The Use of Resource after Free checker finds instances of reusing an already freed resource.",
  "desc.USE_AFTER_CLOSE.HORUS": "After you return a resource, you shouldn't use it again.",
  "desc.USE_AFTER_FREE": "The Use of Freed Memory checker finds instances of referencing an already freed memory block.",
  "desc.USE_AFTER_FREE.HORUS": "The memory was freed and used.",
  "desc.USE_AFTER_FREE.OBJC": "The Use after Free checker finds instances of referencing an already freed memory block.",
  "desc.USE_AFTER_MOVE": "The Reuse of Moved-from Object checker finds code that relies on and reuse the value of a moved-from object.",
  "desc.USE_AFTER_RELEASE.RESOURCE.PHP": "The Use after Free checker finds instances of reusing an already freed resource.",
  "desc.USE_A_SUBSET_OF_ASCII_FOR_FILE_AND_PATH_NAMES": "The Non-ASCII Character in File Name or Path checker finds instances of including a non-ASCII character in a file name or path.",
  "desc.USE_A_SUBSET_OF_ASCII_FOR_FILE_AND_PATH_NAMES_CSHARP": "The Non-ASCII Character in File Name or Path checker finds instances of including a non-ASCII character in a file name or path.",
  "desc.USE_BLOCK_SYNCHRONIZED": "It is recommended to use synchronized on a block.",
  "desc.USE_BRACES.JS": "The Compound Statement without Braces checker finds compound statements that do not contain curly braces.",
  "desc.USE_BRACE_MULTI_DIMENSION_ARRAY_INIT": "The Struct/Array Initialization of Using Incorrectly Nested Braces checker finds instances of brace initialization in which the struct or array object is assigned a differently nested set of elements.",
  "desc.USE_CODEGUARD_WHEN_DECLARING_CLASS": "The Missing Include Guard in Class Definition Header checker finds header files that define a class but do not enclose it with include guards.",
  "desc.USE_COMPATIBLE_ENCODINGS_ON_BOTH_SIDES_OF_FILE_OR_NETWORK_IO": "Use compatible encoding on both sides of file or network IO.",
  "desc.USE_CONCURRENT_HASH_MAP": "The ConcurrentHashMap not used checker detects if ConcurrentHashMap is not used when using java.util.Map.",
  "desc.USE_CONST_GLOBAL_AND_STATIC": "The Non-const Global or Static Variable checker finds global and static variables that are not declared const.",
  "desc.USE_CONST_OBJECT_OR_ENUMERATORS": "The Macro Definition for Constant checker finds instances of defining a macro-instead of a const-qualified object or enumerator-to get a constant object.",
  "desc.USE_CONST_POINTER_FOR_STRING_VAR": "The String Constant Declaration without const checker finds instances of declaring pointers to string constants without using const qualifiers.",
  "desc.USE_CONST_WHENEVER_POSSIBLE": "The Failure to Use const on All Possible Occasions checker finds code that fails to use const keywords on any possible places of pointer parameter declaration.",
  "desc.USE_CONST_WITH_MACRO": "The Use of Constant Not Defined as Macro checker finds instances of using a constant that is not defined as a macro.",
  "desc.USE_CONTAINERS_OF_POINTER": "The Container with Class-type Elements checker finds containers of a class type that incurs a high overhead.",
  "desc.USE_CONTAINER_MEMBER_FUNCTIONS": "The Use of STL Algorithm Function checker finds expressions that call an STL algorithm function on a container instead of using the container's member function with the same name.",
  "desc.USE_CORRECT_BYTE_ORDERING": "The data received by the function recv() should be handled with the function ntohl() and data to be sent by the function send() should be converted by the function htonl().",
  "desc.USE_DANGEROUS_INNERHTML.REACT": "\"dangerouslySetInnerHTML\" is an alternative way for React to use `innerHTML` in the browser DOM. React is safe by default because it escapes most values before rendering. However, this function is insecure because it does not support input escaping, which can lead to XSS attacks.",
  "desc.USE_DEFINED_STANDARD_FORMS": "The Syntactically Incorrect #defined Statement checker finds instances of using the #defined preprocessor operator not in compliance with the syntactical rules.",
  "desc.USE_EACH_ACCESS_SPECIFIER_EXACTLY_ONCE": "The Access Specifiers in Incorrect Order checker finds classes in which the access specifiers are not arranged in the correct order.",
  "desc.USE_EMPTY_INSTEAD_OF_CHECKING_SIZE_AGAINST_ZERO": "The Use of size() on Empty Container checker finds instances of checking the return of the size() function against zero.",
  "desc.USE_EQUALS_TO_COMPARE_STRINGS": "Constant comparison of strings via comparison operators The constant comparison checker detects when a string is compared to a string constant via ==, !=.",
  "desc.USE_EXTERN_TO_IMPORT_VARIABLE": "The Use of External Variable without extern Keyword checker finds instances of declaring an external variable without the extern keyword.",
  "desc.USE_FERROR_THAN_COMPARE_ERRNO": "The Improper Check for FILE Stream Errors checker finds instances of using errno to check for FILE stream errors.",
  "desc.USE_FUNCTION_IN_IF_CONDITION": "The Use of Function in Conditional Statement checker finds conditional statements that include a function other than those optionally specified.",
  "desc.USE_LOWER_CASE_IN_INCLUDE_FILENAMES": "The Uppercase Letter in Included Header Filename checker finds #include statements that include an uppercase letter in the directory.",
  "desc.USE_MAXIMUM_SIZED_BUFFER": "The Use of Maximum Buffer Size Checker finds code that uses a buffer size smaller than the maximum size of path specified in checker option.",
  "desc.USE_NEW_THROW_CAUSE": "When handling an exception, use the CommUtil.newThrowCuase method.",
  "desc.USE_NOTIFY_ALL_INSTEAD_OF_NOTIFY": "The no arguments checker for the notify method detects when there are no arguments to notify().",
  "desc.USE_OF_CLASS_LOADER": "EJB containers follow specific class loading rules to ensure the stability and security of your application. However, if developers use their own class loaders to load classes, they bypass the container's class loading rules, which can lead to security vulnerabilities.",
  "desc.USE_OF_HARDCODED_CRYPTOGRAPHIC_KEY": "The Hardcoded Encryption Key checker finds encryption keys hardcoded in source code.",
  "desc.USE_OF_INNER_CLASS_CONTAINING_SENSITIVE_DATA": "The Nested Class Containing Sensitive Data checker finds instances in which a nested class accesses a private field that belongs to its nesting class.",
  "desc.USE_OF_INSUFFICIENT_RANDOM_VALUES": "The Too Simple Random Value Generation checker finds instances of using predictable random numbers.",
  "desc.USE_OF_INSUFFICIENT_RANDOM_VALUES.KOTLIN": "The Inappropriate Random Value Generation checker finds code with predictable random values.",
  "desc.USE_OF_INSUFFICIENT_RANDOM_VALUES.OBJC": "The Inappropriate Random Value Generation checker finds instances of using a predictable random value.",
  "desc.USE_OF_INSUFFICIENT_RANDOM_VALUES.SWIFT": "The Inappropriate Random Value Generation checker finds instances of using a predictable random value.",
  "desc.USE_OF_INSUFFICIENT_RANDOM_VALUES_OWASP": "The Inappropriate Random Value Generation checker finds instances of using a predictable random value.",
  "desc.USE_OF_LOW_SECURITY_ENCRYPTION_ALGORITHM": "The Use of Low-security Encryption Algorithm checker finds use of encryption algorithms or hash functions that are not strong enough for the level of required protection.",
  "desc.USE_OF_SINGLETON_WITHOUT_SYNC": "The singleton pattern ensures that only one instance of a class exists, but when used without synchronization in a multi-threaded environment, multiple instances can be created. This can compromise data integrity and lead to unexpected behavior.",
  "desc.USE_OF_SOCKETS": "The Use of Sockets in EJB checker finds an EJB program directly using a server socket inside a bean to serve the clients.",
  "desc.USE_OF_SYNCHRONIZATION_PRIMITIVES": "The Use of sync Primitives checker finds code that uses synchronized methods in the Enterprise JavaBeans specification.",
  "desc.USE_ONE_CASE_PER_LINE": "The Multiple case Branches in Single Line checker finds instances in which more than one case/default branch occupy a single line.",
  "desc.USE_ONE_DECLARATION_PER_LINE": "The Multiple Declarations in Single Line checker finds instances in which multiple declarations are placed in a single line.",
  "desc.USE_ONE_DECLARATION_PER_LINE.CSHARP": "Write only one declaration per line.",
  "desc.USE_ONE_STATEMENT_PER_LINE": "The Multiple Statements in Single Line checker finds instances in which multiple statements are placed in a single line.",
  "desc.USE_ONE_STATEMENT_PER_LINE.CSHARP": "Write only one statement per line.",
  "desc.USE_ONLY_ALLOWED_TYPE": "Only use the types specified in the option.",
  "desc.USE_ONLY_PERMITTED_MACROS": "The Useless Macro Declaration checker finds macros that are not declared in the correct manner.",
  "desc.USE_OPEN_WITH_PERMISSION": "The File Creation without Appropriate Access Permissions checker finds instances of creating a file without setting up proper access permissions.",
  "desc.USE_PARAMETERIZED_QUERY.VBNET": "The Use of Non-parameterized Query checker finds SQL queries that include a non-parameterized value.",
  "desc.USE_PARENTHESIS_TO_MACRO_REPLACEMENT_LIST": "The Declaration of Macro Function with Unparenthesized Arguments checker finds failure to parenthesize an argument when declaring a function-like macro, except for when they are used in a # or ## operation.",
  "desc.USE_PASS_BY_REFERENCE": "The Failure to Pass by Reference checker finds function declarations in which a parameter of a class type is passed by value or pointer.",
  "desc.USE_POINTER_ARITHMETIC_ON_FIELD": "The Arithmetic Operation on Pointer to Field checker finds instances of performing an arithmetic operation such as addition on a pointer to a struct or class's member field.",
  "desc.USE_PREPROCESSOR_ONLY_INCLUDEGUARDS": "The pre-processor shall only be used for file inclusion and include guards.",
  "desc.USE_PUBLIC_DERIAVTION_ONLY": "The Failure to Use Public Inheritance checker finds classes that inherit by other means than public.",
  "desc.USE_RSA_WITHOUT_OAEP": "The Use of RSA Algorithm without OAEP checker finds instances of using the RSA encryption algorithm without using OAEP.",
  "desc.USE_RUNTIME_CONSTRAINT_HANDLERS": "The Failure to Register Handler Prior to Use of Bounds-checking Functions checker finds instances of failure to register a runtime-constraint handler prior to calling any bounds-checking functions.",
  "desc.USE_SAME_DEFAULT_VALUES": "The Different Default Argument Passed to Derived Function checker finds instances in which parameters in an overriding function do not use the same default arguments as the function they override.",
  "desc.USE_SAME_TYPE_WHEN_REDECLARING": "The Token Mismatch in Redeclaration checker finds instances that a type of object, return type, or parameter is not token-identical in declaration and redeclaration.",
  "desc.USE_SHIFT_OPERATORS_CORRECTLY": "The Use of Shift Operator checker finds an external input that is used for a shift operation without proper validation.",
  "desc.USE_SHORT_FUNCTION": "The Too Long and Complicated Function checker finds functions that span more lines than the limit or have too many parameters.",
  "desc.USE_SINGLE_RETURN": "The Use of Multiple Returns checker finds instances in which a function includes more return statements than the optionally specified number.",
  "desc.USE_SIZEOF_FOR_DATATYPE": "The Missing sizeof for Type Evaluation checker finds incidents that sizeof are not used for functions required to evaluate their data type.",
  "desc.USE_SIZEOF_ON_PARAM": "The Missing Call to sizeof() checker finds instances in which a specified function is passed with an expression other than the sizeof() operator in the specified position.",
  "desc.USE_STANDARD_CPP_LIBRARY_HEADERS": "The Use of Old Standard Header File checker finds lines that include an old standard header file.",
  "desc.USE_STATIC_IN_PUTENV": "The Call to putenv() with Pointer to Automatic Variable Passed checker finds expressions that pass a pointer to an automatic variable to the putenv() function.",
  "desc.USE_STRICTFP_FOR_DIVISION": "The Division without strictfp checker finds methods and classes that include a division expression with floating-point numbers but are not declared with the strictfp modifier.",
  "desc.USE_STRTOL": "The Improper String-to-Integer Conversion checker finds instances of converting a string to an integer without using a conversion function that provides reliable error handling.",
  "desc.USE_SUFFIXES_FOR_FLOAT_CONSTANT": "The Float Type Constant without Suffix checker finds instances that a suffix F is not specified to a float type constant, or a suffix L is not specified to a long double constant.",
  "desc.USE_SUFFIXES_FOR_INTEGER_CONSTANT": "The Integer Constant without Suffix checker finds instances that an uppercase suffix is not specified to a constant.",
  "desc.USE_SUFFIX_FOR_UNSIGNED_INTEGER_LITERALS": "The Misuse of unsigned int-type Suffix checker finds instances that a suffix U is not specified for an integer literal of unsigned int type.",
  "desc.USE_SYNCHRONIZED_PUBLIC_METHOD": "The Asynchronized Public Method checker finds instances in which a field is used in a method that is declared public but without the synchronized modifier.",
  "desc.USE_TAB_BETWEEN_TYPE_AND_IDENTIFIER": "The Missing Tab between Type and Identifier checker finds variable declarations in which the type and identifier are not separated by a tab.",
  "desc.USE_TYPEDEF_TYPE_INSTEAD_OF_BASIC": "The Use of Basic Type than Typedef checker finds statements that do not declared typedef on basic types, such as int or float.",
  "desc.USE_TYPEREF_NON_POINTER_TYPE": "The Pointer Type Declaration using typedef checker finds instances of using typedef to declare a pointer type other than a function pointer.",
  "desc.USE_UNSIGNED_INT_ON_DIVISION": "The Division Operation on Signed Integer checker finds division operations whose dividend or divisor is of a signed integer type.",
  "desc.USE_UTILITY_CLASS": "The unused checker for utility classes detects when you write a class that is not a utility class and has only static elements.",
  "desc.USE_VALUE_FROM_FGETPOS": "The Passing Invalid Argument to fsetpos() checker finds calls to fsetpos() that are not passed with the return of fgetpos().",
  "desc.USE_VISUALLY_DISTINCT_IDENTIFIER": "The Similar-looking Identifiers checker finds instances of using identifiers that are hardly distinguishable from one another.",
  "desc.USING_APPLICATION_EXIT.CSHARP": "The Use of Application.Exit checker finds calls to the Application.Exit() method.",
  "desc.USING_BAD_PANIC.RUST": "You should avoid using functions and macros that can cause a Rust program to panic and terminate unexpectedly, such as unwrap(), expect(), and assert! Panicking can leave resources in an inconsistent state and can lead to data loss or expose vulnerabilities when not handled properly.",
  "desc.USING_BAD_RAW_POINTER.RUST": "Certain types in Rust can be converted to raw pointers via into_raw, which is particularly useful for interfaces between languages, such as Foreign Function Interface (FFI) bindings. However, if raw pointers converted by into_raw are not handled properly, they can lead to memory leaks, data corruption, and application instability.",
  "desc.USING_BOX_LEAK.RUST": "In Rust, functions like Box::leak allow you to intentionally create memory leaks. This may be considered necessary in some specific situations, but uncontrolled memory leaks consume system resources unnecessarily.",
  "desc.USING_COPY_INITIALIZATION": "The Use of Copy Initialization checker finds class-type variables that are defined by means of copy initialization.",
  "desc.USING_DIRECT_INDEX.RUST": "Direct array indexing can potentially cause panic, which has the risk of breaking your program at runtime. To avoid this, you should either make sure that the index is within the scope of the array, or use the get method, which returns an Option without panic.",
  "desc.USING_DYNAMIC_CLASS_LOADING": "The Dynamic Class Loading checker finds calls to the java.lang.Class.forName() method.",
  "desc.USING_FORGET.RUST": "The forget function in the std::mem or core::mem module takes ownership of an object and prevents its destructor from being called. This can be a big problem in safety-critical code, as it can cause memory leaks and potentially prevent resources from being freed properly.",
  "desc.USING_HASH_WITHOUT_SALT": "The Use of Hash without Salt checker finds instances of calculating a hash without a salt.",
  "desc.USING_HASH_WITHOUT_SALT.KOTLIN": "The Use of Hash without Salt checker finds instances of calculating a hash without a salt.",
  "desc.USING_HASH_WITHOUT_SALT_CSHARP": "The Use of Hash without Salt checker finds instances of calculating a hash without a salt.",
  "desc.USING_INCOMPATIBLE_TYPE_WITH_C.RUST": "When interfacing with other languages through an external function interface (FFI), it is important to ensure compatibility of data types to maintain data integrity. C-compatible types are important because they ensure that the layout of data in memory follows the layout of the C language, making it predictable and interoperable in an FFI context.",
  "desc.USING_MANUALLY_DROP.RUST": "ManuallyDrop is a wrapper type that allows Rust to explicitly manage memory and manually control its release. This is used when you don't want to explicitly call a destructor and want to control the drop from happening while maintaining ownership.",
  "desc.USING_SYSTEM_EXIT": "The Call to API for Immediate Program Termination checker finds calls to such methods as System.exit() that terminate the virtual machine.",
  "desc.USING_TRY_MACRO.RUST": "Use the ? operator to improve the readability of your code and make error handling clearer, and avoid using the try! macro, which is no longer recommended. The try! macro is an outdated syntax, and its use has been deprecated with the introduction of the ? operator. Using the try! macro not only breaks the consistency of your code, but can also be confusing for developers.",
  "desc.USING_UNINIT_MEM.RUST": "Deprecated since Rust 1.38.0, the use of std::mem::uninitialized or std::mem::MaybeUninit types can lead to unpredictable behavior and memory safety issues by allowing uninitialized memory to be used or dropped.",
  "desc.USING_UNSAFE.RUST": "Unsafe blocks should be avoided whenever possible, as they do not guarantee memory safety in Rust. However, when using C language functions, embedded programming, and when unavoidable, unsafe can be used.",
  "desc.USING_WEAK_CRYPTOGRAPHIC_ALGORITHM": "The Weak Cryptographic Algorithm checker finds instances of using a cryptographic algorithm known to be insecure.",
  "desc.UncommentedEmptyConstructor": "Detect empty constructors without any comments because it is hard to know whether it was intentional.",
  "desc.UncommentedEmptyMethodBody": "Detect empty methods without any comments because it is hard to know whether it was intentional.",
  "desc.UnconditionalIfStatement": "Detect if the condition of an if statement is 'true' or 'false'.",
  "desc.UnhandledExceptionSpecification": "Unhandled exception specification when calling function.",
  "desc.UninitMemberVar": "Member variable 'classname::varname' is not initialized in the constructor.",
  "desc.UnnecessaryBlock": "Unnecessary block should be removed.",
  "desc.UnnecessaryBooleanAssertion": "Assertion of JUnit test on a Boolean literal is unnecessary because it always distinguishes between the same value.",
  "desc.UnnecessaryCaseChange": "Detect if methods toUpperCase().equals()/toLowerCase().equals() is used to compare cases.",
  "desc.UnnecessaryConstructor": "Detect if there is only a single line of code which is the declaration of a public method that does not accept and parameters or throws any exceptions in a class.",
  "desc.UnnecessaryConversionTemporary": "Detect use of method toString() on a primitive type.",
  "desc.UnnecessaryFinalModifier": "Detect methods not declared as final in a class declared as final (excluding interfaces).",
  "desc.UnnecessaryFullyQualifiedName": "Detect if defined in import and fully qualified name is used.",
  "desc.UnnecessaryLocalBeforeReturn": "Detect code that creates a variable that is going to be returned immediately.",
  "desc.UnnecessaryModifier": "A class or interface with a field of type public static final or method of type public abstract is public static thus explicitly stating the modifier is prohibited.",
  "desc.UnnecessaryParentheses": "Detect PrimaryPrefix that looks like a PrimarySurfix.",
  "desc.UnnecessaryReturn": "Detect return statement used in a void method.",
  "desc.UnnecessaryWrapperObjectCreation": "Parsing methods (Ex. Integer.parseInt(...)) has to be called directly. Detect if this is not followed.",
  "desc.UnpreciseMathCall": "Expression can be replaced by more mathematically accurate function to avoid loss of precision.",
  "desc.UnreachableCode": "Statements 'return, 'break', 'continue' or 'throw' should always be used at the end of a block.",
  "desc.UnsafeClassDivZero": "Public interface of Class is not safe. If parameter x is 0 that leads to division by zero.",
  "desc.UnsynchronizedStaticDateFormatter": "Detect if the method that executes method format() of SimpleDateFormat is not declared as synchronized.",
  "desc.UnusedFormalParameter": "Detect variables that is accepted as a formal parameter of a method but not used.",
  "desc.UnusedLocalVariable": "Detect unused local variables.",
  "desc.UnusedNullCheckInEquals": "Detect if method equals() is not called on an object that has been checked for null.",
  "desc.UnusedPrivateField": "Detect unused private variables.",
  "desc.UnusedPrivateFunction": "Unused private function: 'classname::funcname'",
  "desc.UnusedPrivateMethod": "Detect unused private methods.",
  "desc.UseArrayListInsteadOfVector": "Detect use of vector type.",
  "desc.UseArraysAsList": "Detect if a list is created using a loop statement instead of method asList().",
  "desc.UseAssertEqualsInsteadOfAssertTrue": "Detect if method assertTrue(x.equals(y)) is used to check if the two objects are the same.",
  "desc.UseAssertNullInsteadOfAssertTrue": "Detect if methods assertTrue(x==null) or assertFalse(x==null) is used to check if the object is null.",
  "desc.UseAssertSameInsteadOfAssertTrue": "Detect if assertTrue(x==y) is used to check if reference of objects are the same.",
  "desc.UseAssertTrueInsteadOfAssertEquals": "It is recommended to use methods assertTrue() or assertFalse() instead of assertEqual() when using assert related methods.",
  "desc.UseCollectionIsEmpty": "Detect use of .size() == 0 or .size() != 0 on a collection object.",
  "desc.UseConcatOnce": "The XPath concat() function is nested.",
  "desc.UseConcurrentHashMap": "Detect if ConcurrentHashMap is not used.",
  "desc.UseCorrectExceptionLogging": "For objects declared as a Logger, Detect if the PrimarySuffix argument of a block is received in the catch block and the argument name is equal to the name of the FormalParameter of the catch statement.",
  "desc.UseEqualsToCompareStrings": "Detect if a string is compared with a constant through operators \"==\", or \"!=\".",
  "desc.UseIndexOfChar": "Detect if indexOf(String) is used when method indexOf() of String is called.",
  "desc.UseInitializationList": "Variable is assigned in constructor body. Consider performing initialization in initialization list.",
  "desc.UseLocaleWithCaseConversions": "Detect if argument is not used when using methods toLowerCase() and toUpperCase().",
  "desc.UseNotifyAllInsteadOfNotify": "Detect argument not passed to the notify() statement.",
  "desc.UseObjectForClearerAPI": "It is recommended to have the parameter of the API as a single object for re-usability, modification and maintenance.",
  "desc.UseProperClassLoader": "Detect use of getClassLoader through PrimarySuffix.",
  "desc.UseStringBufferForStringAppends": "Detect appending a string through +=.",
  "desc.UseStringBufferLength": "Detect use of .toString().equals() to compare length of a StringBuffer.",
  "desc.UseUtilityClass": "It is recommended to make a class as a singleton if it only contains static.",
  "desc.UseVarargs": "It is recommended to use varargs instead of an array.",
  "desc.UselessAssignmentArg": "Assignment of function parameter has no effect outside the function.",
  "desc.UselessAssignmentPtrArg": "Assigning values to parameters does not affect anything outside function.",
  "desc.UselessOperationOnImmutable": "Since calculations on Immutable objects do not change themselves, detect if the result value does not have any following operations.",
  "desc.UselessOverridingMethod": "Detect if a method is created with name equal to that of the super class and does the same functionality, when calling the method of the super class is enough.",
  "desc.UselessParentheses": "Remove useless parenthesis.",
  "desc.UselessStringValueOf": "Detect if method String.valueOf() is called when a value is added to a string.",
  "desc.VA_ARG_INTEGER_PROMOTION": "The Incorrect Vararg Type checker finds calls to the va_arg() function made with an argument of an incorrect type.",
  "desc.VERIFY_PROVIDE_STANDARD_INTERFACE": "The Failure to Provide Standard Interface checker finds classes that do not provide at least a minimal standard interface.",
  "desc.VLA_SIZE.OBJC": "The Invalid Size of Variable-length Array checker finds variable-length array (VLA) declarations that assign the length expression with zero or leave it undefined.",
  "desc.VOID_KEYWORD_FOR_NO_PARAM": "The Missing void in Argumentless Function checker finds function declarations that have no arguments but do not include the void keyword in the argument list.",
  "desc.VOID_PARAMETER_SHALL_NOT_BE_USED": "The Use of Void Parameter checker finds declarations of functions that include a void-type parameter.",
  "desc.VOID_RETURN_VALUE_SHALL_NOT_BE_USED": "The Use of Void Function Return checker finds attempts at using the return of a function declared void.",
  "desc.VOLATILE_ACCESS_RHS_OF_LOGICAL_OP": "The Access to Volatile Object on Right-Hand Side of Logical Operator checker finds expressions in which the right-hand side of a logical operator contains a volatile-qualified variable.",
  "desc.VOLATILE_VALUE_MODIFICATION": "The Use of volatile Qualifier for Reference Type checker finds code that uses a volatile qualifier for reference type.",
  "desc.VariableNamingConventions": "Detect violation of variable naming conventions.",
  "desc.VfCsrf": "Call the VF action on page load.",
  "desc.VfUnescapeEl": "When EL receives user input, it needs to be escaped.",
  "desc.VirtualDestructor": "Class 'Base' which is inherited by class 'Derived' does not have a virtual destructor.",
  "desc.WAIT_ALL_THREAD_BEFORE_DESTROY": "The Manipulation of Another Thread's Mutex checker finds instances of unlocking or destroying another thread's mutex.",
  "desc.WEAK_CRYPTOGRAPHIC_HASH.CSHARP": "The Weak Hashing Algorithm checker finds code with hashing algorithms known to be insecure.",
  "desc.WEAK_CRYPTOGRAPHIC_HASH.GO": "A hash function is a one-way function that generates fixed length of output by mapping random data. It is commonly used to store user passwords because it always produces the same output for the given input. The hash functions, such as MD5 and SHA, may give the illusion of high performance as they calculate hash very quickly, but they are vulnerable to random brute-force attacks. Furthermore, using a hash function for simple data is dangerous because it can be stored and shared in the rainbow table.",
  "desc.WEAK_CRYPTOGRAPHIC_HASH_HARDCODED_SALT": "The Hardcoded Salt checker finds instances of using a hardcoded salt for hash calculation.",
  "desc.WEAK_CRYPTOGRAPHIC_NETWORK.GO": "Using \"0.0.0.0\" as the IP address means receiving all connection requests from all network interfaces in the system. In general, it is recommended that servers only accept connections from specific network interfaces. If not, servers may accept a connection request from an unexpected network interface, allowing a hacker to attempt an attack.",
  "desc.WEAK_CRYPTOGRAPHIC_PACKAGE.GO": "The Go language has packages like `unsafe` and `testing` that are required in limited situations. `unsafe` can bypass memory safety, while `testing` is used only in testing environments, not in production code.",
  "desc.WEAK_CRYPTOGRAPHIC_RANDOM.GO": "The security vulnerability is caused by using a vulnerable random number algorithm. This makes its results to be predictable. If you use predictable random numbers, an attacker can predict the next number that is generated in the software and use the information to attack the system.",
  "desc.WEAK_ENCRYPTION.DES.CSHARP": "The Weak Cryptographic Algorithm checker finds code with encryption algorithms known to be insecure.",
  "desc.WEAK_ENCRYPTION.DES.VBS": "The Weak Cryptographic Algorithm checker finds instances of using a cryptographic algorithm known to be insecure.",
  "desc.WEAK_ENCRYPTION.HARDCODED_KEY.OBJC": "The Hardcoded Encryption Key checker finds encryption keys hardcoded in source code.",
  "desc.WEAK_ENCRYPTION.HARDCODED_KEY.SWIFT": "The Hardcoded Encryption Key checker finds encryption keys hardcoded in source code.",
  "desc.WEAK_ENCRYPTION.HARDCODED_SALT": "The Hardcoded Salt checker finds instances of using a hardcoded salt for hash calculation.",
  "desc.WEAK_ENCRYPTION.HASH.OBJC": "The Weak Hashing Algorithm checker finds instances of using a hashing algorithm known to be insecure.",
  "desc.WEAK_ENCRYPTION.HASH.PHP": "The Weak Hashing Algorithm checker finds instances of using a hashing algorithm known to be insecure.",
  "desc.WEAK_ENCRYPTION.HASH.VBS": "The Weak Hashing Algorithm checker finds instances of using a hashing algorithm known to be insecure.",
  "desc.WEAK_ENCRYPTION.HASH.WITHOUT_SALT.PHP": "The Use of Hash without Salt checker finds code that calculates hashes without salts.",
  "desc.WEAK_ENCRYPTION.INSECURE_INITIALIZATION_VECTOR.CSHARP": "The Hardcoded Initialization Vector finds instances of using a hardcoded initialization vector.",
  "desc.WEAK_ENCRYPTION.INSECURE_MODE_OF_OPERATION.CSHARP": "The Use of Cryptographic Algorithm in ECB Mode checker finds instances of encryption in ECB mode.",
  "desc.WEAK_ENCRYPTION.INSUFFICIENT_KEY": "The Short Encryption Key checker finds encryption keys that are too short.",
  "desc.WEAK_ENCRYPTION.INSUFFICIENT_KEY_SIZE.CSHARP": "The Short Encryption Key checker finds encryption keys that are too short.",
  "desc.WEAK_ENCRYPTION.INSUFFICIENT_KEY_SIZE.GO": "RSA encryption is one of the public key encryption mechanism: the longer key makes the encryption stronger. In general, a key length of 2048 bits is considered as appropriate. Because it is practically impossible to decrypt the encryption without the key.",
  "desc.WEAK_ENCRYPTION.INSUFFICIENT_KEY_SIZE.JS": "Using a key with insufficient length creates a security vulnerability. Even if a validated cryptographic algorithm is used, a short key may be discovered quickly and an attacker may use it to decrypt encrypted data or passwords.",
  "desc.WEAK_ENCRYPTION.INSUFFICIENT_KEY_SIZE.KOTLIN": "The Short Encryption Key checker finds encryption keys that are too short.",
  "desc.WEAK_ENCRYPTION.INSUFFICIENT_KEY_SIZE.OBJC": "The Short Encryption Key checker finds encryption keys that are too short.",
  "desc.WEAK_ENCRYPTION.INSUFFICIENT_KEY_SIZE.PHP": "The Short Encryption Key checker finds encryption keys that are too short.",
  "desc.WEAK_ENCRYPTION.INSUFFICIENT_KEY_SIZE.SWIFT": "The Short Encryption Key checker finds encryption keys that are too short.",
  "desc.WEAK_ENCRYPTION.INSUFFICIENT_KEY_SIZE.VBNET": "The Short Encryption Key checker finds encryption keys that are too short.",
  "desc.WEAK_ENCRYPTION.INSUFFICIENT_KEY_SIZE.VBS": "The Short Encryption Key checker finds encryption keys that are too short.",
  "desc.WEAK_ENCRYPTION.PASSWORD": "The Password Encryption Using Weak Cryptographic Algorithm checker finds instances of using a simple cryptographic algorithm for password encryption.",
  "desc.WEAK_ENCRYPTION.RISKY_ALGORITHM": "The Weak Cryptographic Algorithm checker finds instances of using a cryptographic algorithm known to be insecure.",
  "desc.WEAK_ENCRYPTION.RISKY_ALGORITHM.OBJC": "The Weak Cryptographic Algorithm checker finds instances of using a cryptographic algorithm known to be insecure.",
  "desc.WEAK_ENCRYPTION.RISKY_ALGORITHM.PHP": "The Weak Cryptographic Algorithm checker finds instances of using a cryptographic algorithm known to be insecure.",
  "desc.WEAK_ENCRYPTION.RSA_PADDING": "The Inappropriate RSA Padding checker finds RSA padding schemes that are inappropriate for the RSA algorithm.",
  "desc.WEAK_ENCRYPTION.VBNET": "The Weak Cryptographic Algorithm checker finds instances of using a cryptographic algorithm known to be insecure.",
  "desc.WEAK_ENCRYPTION_ALGORITHM.KOTLIN": "The Weak Cryptographic Algorithm checker finds code with encryption algorithms known to be insecure.",
  "desc.WEAK_ENCRYPTION_ALGORITHM.PYTHON": "Developers often attempt to hide passwords stored in configuration files by using simple encoding functions to protect them. However, overly simple encoding functions including base64 are not sufficient for proper password protection.",
  "desc.WEAK_ENCRYPTION_HASH.EMPTY_PBE_SALT.OBJC": "The Empty Salt checker finds instances of using an empty salt for encryption key generation.",
  "desc.WEAK_ENCRYPTION_HASH.EMPTY_PBE_SALT.SWIFT": "The Empty Salt checker finds instances of using an empty salt for encryption key generation.",
  "desc.WEAK_ENCRYPTION_HASH.HARDCODED_PBE_SALT.SWIFT": "The Hardcoded Salt checker finds instances of using a hardcoded salt for hash calculation.",
  "desc.WEAK_ENCRYPTION_HASH.INSECURE_PBE_ITERATION.SWIFT": "The Key Derivation Function with Insecure Iteration Count checker finds instances in which the iteration count used by a password-based key derivation function is too low.",
  "desc.WEAK_ENCRYPTION_HASH.NIL_PBE_SALT.SWIFT": "The Null Salt checker finds instances of using a null (nil) salt for encryption key generation.",
  "desc.WEAK_ENCRYPTION_HASH.NULL_PBE_SALT.OBJC": "The Null Salt checker finds instances of using a null (nil) salt for encryption key generation.",
  "desc.WEAK_ENCRYPTION_HASH.SWIFT": "The Weak Hashing Algorithm checker finds instances of using a hashing algorithm known to be insecure.",
  "desc.WEAK_ENCRYPTION_INADEQUATE_RSA_PADDING": "The Inappropriate RSA Padding checker finds RSA padding schemes that are inappropriate for the RSA algorithm.",
  "desc.WEAK_ENCRYPTION_INSUFFICIENT_KEY_SIZE": "The Short Encryption Key checker finds encryption keys that are too short.",
  "desc.WEAK_ENCRYPTION_INSUFFICIENT_KEY_SIZE.PYTHON": "Using a key of insufficient size creates a security vulnerability. Even if a secure encryption algorithm is used, a short key may be discovered quickly and an attacker may use it to decrypt encrypted data or passwords.",
  "desc.WEAK_ENCRYPTION_OPTION.SWIFT": "The Use of Cryptographic Algorithm in ECB Mode checker finds instances of encryption in ECB mode.",
  "desc.WEAK_HASH.JS": "When storing sensitive information such as passwords, it is recommended to use a one-way hash function that converts data of any length into a fixed-sized hash value. If sensitive information is stored without using salt in a one-way hash function, an attacker may identify the hash value using a pre-calculated rainbow table.",
  "desc.WEAK_PASSWORD.EMPTY_PASSWORD.JS": "The Blank Password checker finds blank passwords.",
  "desc.WEAK_PASSWORD.HARDCODED_PASSWORD.JS": "The Hardcoded Password checker finds instances of passing a string constant to the password parameter of XMLHttpRequest.open.",
  "desc.WEAK_PASSWORD_ALGORITHM.STRING": "Detect use of weak encryption algorithm in the source code.",
  "desc.WEAK_PASSWORD_REQUIREMENTS": "The Weak Password Requirements checker finds instances in which user passwords are accepted without checking for their complexity.",
  "desc.WEAK_PASSWORD_REQUIREMENTS.KOTLIN": "The Weak Password Requirements checker finds instances in which user passwords are accepted without checking for their complexity.",
  "desc.WEAK_PASSWORD_REQUIREMENTS.OBJC": "The Weak Password Requirements checker finds instances in which user passwords are accepted without checking for their complexity.",
  "desc.WEAK_PASSWORD_REQUIREMENTS.PHP": "The Weak Password Requirements checker finds instances in which user passwords are accepted without checking for their complexity.",
  "desc.WEAK_PASSWORD_REQUIREMENTS.PYTHON": "When a password is not created using the secure password policy, the security of the user account is weakened by the vulnerability of the password.",
  "desc.WEAK_PASSWORD_REQUIREMENTS.SWIFT": "The Weak Password Requirements checker finds instances in which user passwords are accepted without checking for their complexity.",
  "desc.WEAK_PASSWORD_REQUIREMENTS.VBNET": "The Weak Password Requirements checker finds instances in which user passwords are accepted without checking for their complexity.",
  "desc.WEAK_PASSWORD_REQUIREMENTS_ASPNET": "The Weak Password Requirements checker finds instances in which user passwords are accepted without checking for their complexity.",
  "desc.WEAK_SERVER_CERTIFICATES": "The Weak Server Certificate checker finds a child class that inherits X509TrustManager class, but fails to redefine an overriding function, or throw an exception from the child class.",
  "desc.WEAK_SERVER_CERTIFICATES.CPP": "The Weak Server Certificate checker finds code that fails to properly validate certificates.",
  "desc.WEAK_SERVER_CERTIFICATES.CSHARP": "The Weak Server Certificate checker finds code that creates SSL/TLS sessions, but fails to validate X.509 certificates, therefore, trusts all certificates.",
  "desc.WEAK_SERVER_CERTIFICATES.JS": "The Weak Server Certificate checker finds code that specifies rejectUnauthorized option to false to authenticate a server.",
  "desc.WEAK_SERVER_CERTIFICATES.KOTLIN": "The Weak Server Certificate checker finds a child class that inherits X509TrustManager class, but fails to redefine an overriding function, or throw an exception from the child class.",
  "desc.WEAK_SERVER_CERTIFICATES.OBJC": "The Weak Server Certificate checker finds code that fails to properly validate certificates.",
  "desc.WEAK_SERVER_CERTIFICATES.PHP": "The Weak Server Certificate checker finds code that creates SSL/TLS sessions, but fails to validate X.509 certificates, therefore, trusts all certificates.",
  "desc.WEAK_SERVER_CERTIFICATES.PYTHON": "The Weak Server Certificate checker finds code that creates SSL/TLS sessions, but fails to validate X.509 certificates, therefore, trusts all certificates.",
  "desc.WEAK_SERVER_CERTIFICATES.SWIFT": "The Weak Server Certificate checker finds code that fails to properly validate certificates.",
  "desc.WEAK_SERVER_CERTIFICATES.VBNET": "The Weak Server Certificate checker finds an SSL/TLS connection that is not verified.",
  "desc.WEAK_SIGNATURE.INSUFFICIENT_KEY_SIZE.CSHARP": "The Short Signature Key checker finds code that uses the key size of signature shorter than the optionally specified size.",
  "desc.WEAK_SSL_CERTIFICATE.OBJC": "The Weak SSL Certificate checker finds instances of allowing a weak SSL certificate.",
  "desc.WEAK_SSL_PROTOCOL.SWIFT": "The Weak SSL Protocol checker finds instances of using the SSLv2, SSLv23, or SSLv3 protocol.",
  "desc.WEAK_XML_TRANSFORMERS_SECURITY": "The Weak XML Transformer checker finds code that uses the XML parser, but fails to specify security options.",
  "desc.WEAK_XML_TRANSFORMERS_SECURITY.CSHARP": "The Weak XML Transformer checker finds code that uses the XML parser, but fails to specify security options.",
  "desc.WEAK_XML_TRANSFORMERS_SECURITY.JS": "In XML documents, Document Type Definition (DTD) can be created and define XML entities.",
  "desc.WEAK_XML_TRANSFORMERS_SECURITY.KOTLIN": "The Weak XML Transformer checker finds code that uses the XML parser, but fails to specify security options.",
  "desc.WEAK_XML_TRANSFORMERS_SECURITY.PHP": "The Weak XML Transformer checker finds code that uses the XML parser, but fails to specify security options.",
  "desc.WEAK_XML_TRANSFORMERS_SECURITY.PYTHON": "\"The Improper XML External Entity Reference vulnerability may occur due to improper settings that process an XML external entity on the server. When the vulnerable XML parser processes the XML that contains a reference to the external entity, the attack statement injected by the attacker is executed. It might create another malicious attack such as access to server files, unnecessary usage of resources, authentication bypass, or information exposure.",
  "desc.WRITE_DIRECTIVE_NESTED_PREPROCESSOR": "The Preprocessor Directive without Space checker finds instances in which a preprocessor statement does not start in the first column or an inner conditional preprocessing block does not include a space between the # character and directive name.",
  "desc.WRITE_DIRECTIVE_PREPROCESSOR": "The Preprocessor Directive with Space checker finds preprocessor statements that do not start in the first column or that include a space between the # character and directive name.",
  "desc.WRITE_STATIC_DECLARING_OPERATOR_NEW_AND_DELETE": "The Non-static Declaration of Memory Operator Overload checker finds overloads of the new and delete operators that are not declared static.",
  "desc.WRITE_TO_READONLY_FILE": "The Write to Read-only File checker finds attempts to write to a file open in read mode.",
  "desc.WRITE_VIRTUAL_DTOR_FOR_BASE_CLASS": "The Declaration of Base Class Destructor as Non-virtual checker finds base classes in which the destructor is not declared virtual.",
  "desc.WRONG_ERROR_HANDLING": "The Improper Error Handling checker finds an application-independent code that does not include an error-detecting mechanism.",
  "desc.WRONG_EXCEPTION_HANDLING_IN_PM": "The non-POBISException deprecation checker detects when a PM has not handled a POBISException exception.",
  "desc.WRONG_NUMBER_OF_PARAMETERS_IN_MACRO": "The Use of Macro Function with Fewer Arguments checker finds instances of calling a macro function with fewer arguments passed in than declared.",
  "desc.WRONG_PREPROCESSING_TOKEN": "The Invalid Preprocessing Token checker finds instances in which the # token appears as the first token on a line but is not followed by a valid preprocessing token.",
  "desc.WhileLoopsMustUseBraces": "Detect lack of curly brackets in a while statement.",
  "desc.Wrongmathcall": "Passing value '#' to #() leads to implementation-defined result.",
  "desc.XHR_INJECTION.JS": "The XHR Injection checker finds instances of using an unvalidated external input in an XMLHttpRequest object for AJAX.",
  "desc.XML_EXTERNAL_ENTITY_ATTACKS": "The XML External Entity Attack checker finds code that an XML input containing references to external entities is processed by an improperly configured XML parser.",
  "desc.XPATH_INJECTION": "The XPath Injection checker finds XPath queries that include an unvalidated external input.",
  "desc.XPATH_INJECTION.CPP": "The XPath Injection checker finds XPath queries that include an unvalidated external input.",
  "desc.XPATH_INJECTION.KOTLIN": "The XPath Injection checker finds XPath queries that include an unvalidated external input.",
  "desc.XPATH_INJECTION.OBJC": "The XPath Injection checker finds XPath queries that include an unvalidated external input.",
  "desc.XPATH_INJECTION.PHP": "The XPath Injection checker finds XPath queries that include an unvalidated external input.",
  "desc.XPATH_INJECTION.PYTHON": "When the unverified external input is used to construct XQuery or XPath query, attackers might execute random queries that can modify the query structure, access unauthorized data, and bypass the authentication procedure.",
  "desc.XPATH_INJECTION.SWIFT": "The XPath Injection checker finds XPath queries that include an unvalidated external input.",
  "desc.XPATH_INJECTION.VBNET": "The XPath Injection checker finds XPath queries that include an unvalidated external input.",
  "desc.XPATH_INJECTION_ASPNET": "The XPath Injection checker finds XPath queries that include an unvalidated external input.",
  "desc.XQUERY_INJECTION": "The XQuery Injection checker finds XQuery statements that include an unvalidated external input.",
  "desc.XQUERY_INJECTION.CPP": "The XQuery Injection checker finds XQuery statements that include an unvalidated external input.",
  "desc.XQUERY_INJECTION.OBJC": "The XQuery Injection checker finds XQuery statements that include an unvalidated external input.",
  "desc.XQUERY_INJECTION.PHP": "The XQuery Injection checker finds XQuery statements that include an unvalidated external input.",
  "desc.XQUERY_INJECTION.PYTHON": "The XQuery Injection checker finds XQuery statements that include an unvalidated external input.",
  "desc.XQUERY_INJECTION.VBNET": "The XQuery Injection checker finds XQuery statements that include an unvalidated external input.",
  "desc.XQUERY_INJECTION_ASPNET": "The XQuery Injection checker finds XQuery statements that include an unvalidated external input.",
  "desc.XSLT_INJECTION_CSHARP": "The XSLT Injection checker finds instances of transforming XML data using an unvalidated XSLT style sheet.",
  "desc.XSS": "The Cross-site Scripting checker finds instances of including an external input in HTML without validating it.",
  "desc.XSS.DOM.JS": "The DOM-based Cross-site Scripting checker finds instances of creating a DOM object with an external input.",
  "desc.XSS.JSTL_COUT_ESCAPE_XML_FALSE": "The Cross-site Scripting by escapeXml checker finds code that specifies escapeXml attributes to false for c:out tags in Java Standard Tag Library.",
  "desc.XSS.LOCAL_STORAGE.JS": "The Cross-site Scripting Using localStorage checker finds instances in which unvalidated data is sent to a web browser.",
  "desc.XSS.NODEJS.JS": "Cross-site scripting (XSS) is an attack method that injects malicious code into websites. This attack typically targets application users, and may cause damage by the users to run a malicious code automatically. When an unverified external input is used to create a dynamic web page, an unintended script can be run with unauthorized permission when a user access to read the page. This leads to an attacks such as information leakage.",
  "desc.XSS.OBJC": "The Cross-site Scripting checker finds instances of including an external input in HTML without validating it.",
  "desc.XSS.PHP": "The Cross-site Scripting checker finds instances of including an external input in HTML without validating it.",
  "desc.XSS.PYTHON": "A cross-site script attack is an attack method that injects malicious code into a website. The attack typically targets users of an application and can cause harm, such as automatically causing users to execute malicious code.",
  "desc.XSS.SWIFT": "The Cross-site Scripting checker finds instances of including an external input in HTML without validating it.",
  "desc.XSS.VBNET": "The Cross-site Scripting checker finds instances of including an external input in HTML without validating it.",
  "desc.XSS.VBS": "The Cross-site Scripting checker finds instances of including an external input in HTML without validating it.",
  "desc.XSS.WARNING": "If a result page is created from some condition filtering using characters from an external input, inappropriate script can be executed and expose information.",
  "desc.XSS_ASPNET": "The Cross-site Scripting checker finds instances of including an external input in HTML without validating it.",
  "desc.XSS_ATTRIBUTE": "The Cross-site Scripting Using Attribute Value checker finds instances of outputting an html page using the attribute value carried by an unvalidated input.",
  "desc.XSS_DOM": "The DOM-based Cross-site Scripting checker finds instances of creating a DOM object with an external input in JSP.",
  "desc.XSS_ERROR_MESSAGE": "The Cross-site Scripting Using Error Message checker finds instances in which an error message is sent containing an external input.",
  "desc.XSS_ERROR_MESSAGE_ASPNET": "The Cross-site Scripting Using Error Message checker finds instances in which an error message is sent containing an external input.",
  "desc.XSS_ETC.GO": "Using an unescaped function such as `template.CSS` or `template.Srcset` exposes your code to Cross-site Script (XSS) attacks in Golang. It is dangerous to pass a user input without validation, as an attacker can change the input in an unexpected way. Generating CSS from the user input gives no more than an attack vector to hackers.",
  "desc.XSS_FROM_URL.REACT": "Allowing URL values to be modified maliciously may expose you to attacks such as XSS. In particular, an attacker can intentionally execute a malicious script by manipulating a URL that contains the string \"javascript:\" in its address.",
  "desc.XSS_HTML.GO": "The html/template package is implemented to create HTML template in Golang. The package basically handles HTML escaping and helps to prevent Cross-site scripting (XSS) attacks. However, two functions i.e. `template.HTML` and `template.HTMLAttr` do not escape characters in the html/template. If an unverified external input is included in the functions, it can cause vulnerabilities against the XSS attacks.",
  "desc.XSS_JS.GO": "The `html/template` package in the Go language includes the functions `template.JS` and `template.JSStr`. Both functions treat strings as JavaScript code, which makes your code vulnerable to Cross-site Script (XSS) attacks. Since those functions are interpreted as JavaScript code within the template, converting a user input without validation allows users to inject attack code.",
  "desc.XSS_TEMPLATE.GO": "The Go language provides two template engines, `text/template` and `html/template`. The `text/template` package does not provide any HTML escaping function. When a user input is directly inserted into HTML elements, an attacker can use unescaped HTML tags or script code to inject malicious scripts. To generate HTML outputs with `text/template`, developers need to manually escape all dynamic content, which exposes an application to XSS attacks.",
  "desc.XSS_URL.GO": "Golang `template.URL` generates URLs that are considered to be safe. However, when the function uses a user input, an attacker can manipulate the URLs to direct to dangerous sites or execute dangerous scripts.",
  "desc.XSS_VANILLA_JS.JS": "Cross-site scripting (XSS) is an attack method that injects malicious code into websites. This attack typically targets application users, and may cause damage by the users to run a malicious code automatically. When an unverified external input is used to create a dynamic web page, an unintended script can be run with unauthorized permission when a user access to read the page. This leads to an attacks such as information leakage.",
  "desc.accessForwarded": "Access of a forwarded variable.",
  "desc.accessMoved": "Access of a moved variable.",
  "desc.arithOperationsOnVoidPointer": "When using void pointers in calculations, the behaviour is undefined.",
  "desc.charBitOp": "When using char variables in bit operations, sign extension can generate unexpected results.",
  "desc.charLiteralWithCharPtrCompare": "Char literal compared with a pointer.",
  "desc.checkCastIntToCharAndBack": "Storing a function return value in char variable and then comparing with EOF.",
  "desc.clarifyCalculation": "Clarify calculation precedence for operators.",
  "desc.clarifyStatement": "Ineffective statement similar to *A++.",
  "desc.commaSeparatedReturn": "Comma is used in return statement.",
  "desc.comparisonFunctionIsAlwaysTrueOrFalse": "Comparison of two identical variables always evaluates same result.",
  "desc.constStatement": "Found a statement that begins with constant.",
  "desc.cstyleCast": "C-style pointer casting detected.",
  "desc.deadpointer": "Dead pointer usage.",
  "desc.deallocDealloc": "Deallocating a deallocated pointer.",
  "desc.deallocret": "Returning/dereferencing after it is deallocated/released.",
  "desc.deallocuse": "Dereferencing the pointer after it is deallocated / released.",
  "desc.derefInvalidIterator": "Possible dereference of an invalid iterator.",
  "desc.doubleFree": "Momory is freed twice.",
  "desc.duplicateBranch": "Identical condition found in another branch.",
  "desc.duplicateBreak": "Consecutive return, break, continue, goto or throw statements are unnecessary.",
  "desc.duplicateExpression": "Same expression on both sides of a logical operator.",
  "desc.duplicateExpressionTernary": "Same expression in both branches of ternary operator.",
  "desc.eraseDereference": "An invalid iterator is used.",
  "desc.fflushOnInputStream": "fflush() is called on input stream: stdin may result in undefined behaviour on non-linux systems.",
  "desc.floatConversionOverflow": "Undefined behaviour: float to integer conversion overflow.",
  "desc.funcArgNamesDifferent": "Function argument names are different between declaration and definition.",
  "desc.funcArgOrderDifferent": "Function argument orders are different between declaration and definition.",
  "desc.incompleteArrayFill": "An array is filled incompletely.",
  "desc.incorrectStringBooleanError": "Conversion of a string literal to bool always evaluates to true.",
  "desc.incorrectStringCompare": "A string literal doesn't match length argument for substr().",
  "desc.integerOverflow": "Signed integer overflow for expression.",
  "desc.invalidIterator1": "Invalid iterator.",
  "desc.invalidIterator2": "After push_back|push_front|insert(), the iterator may be invalid.",
  "desc.invalidLengthModifierError": "'I' in format string (no. 1) is a length modifier and cannot be used without a conversion specifier.",
  "desc.invalidPointer": "Invalid the pointer in a vector after push_back().",
  "desc.invalidPointerCast": "Casting between pointers which have an incompatible binary data representation.",
  "desc.invalidPrintfArgType_float": "%f in format string (no. 1) requires a double type.",
  "desc.invalidPrintfArgType_n": "%n in format string (no. 1) requires a int* type.",
  "desc.invalidPrintfArgType_p": "%p in format string (no. 1) requires an address.",
  "desc.invalidPrintfArgType_s": "%s in format string (no. 1) requires a char* type.",
  "desc.invalidPrintfArgType_sint": "%i in format string (no. 1) requires an int type.",
  "desc.invalidPrintfArgType_uint": "%u in format string (no. 1) requires an unsigned int type.",
  "desc.invalidScanfArgType_float": "%f in format string (no. 1) requires a float* type.",
  "desc.invalidScanfArgType_int": "%d in format string (no. 1) requires a int* type.",
  "desc.invalidScanfArgType_s": "%s in format string (no. 1) requires a char* type.",
  "desc.invalidScanfFormatWidth": "Width given in format string (no. 10) is larger than destination buffer.",
  "desc.invalidscanf": "scanf() without field width limits can crash with huge input data.",
  "desc.iterators": "Same iterator is used with different containers.",
  "desc.leakNoVarFunctionCall": "Allocation with a function, but the outer function does not release it.",
  "desc.leakReturnValNotUsed": "Return value of allocatioin function is not stored.",
  "desc.leakUnsafeArgAlloc": "Unsafe allocation. If an another function in arguments throws, memory could be leaked.",
  "desc.literalWithCharPtrCompare": "String literal compared with a variable.",
  "desc.memleak": "Memory leak.",
  "desc.memleakOnRealloc": "Common realloc mistake: the assigned pointer is nulled but not freed upon failure.",
  "desc.mismatchAllocDealloc": "Mismatching allocation and deallocation.",
  "desc.mismatchSize": "The allocated size is not a multiple of the type's size.",
  "desc.mismatchingContainers": "Iterators of different containers are used together.",
  "desc.missingInclude": "Include file not found.",
  "desc.multiplySizeof": "Multiplying sizeof() with sizeof() indicates a logic error.",
  "desc.nanInArithmeticExpression": "Using NaN/Inf in a computation.",
  "desc.nullPointer": "Null pointer dereference.",
  "desc.nullPointerArithmetic": "There is pointer arithmetic with null pointer.",
  "desc.nullPointerDefaultArg": "Possible null pointer dereference if the default parameter value is used.",
  "desc.nullPointerRedundantCheck": "Either the condition is redundant or there is possible null pointer dereference.",
  "desc.overlappingStrcmp": "The conditions are overlapped.",
  "desc.passedByValue": "A function parameter should be passed by reference.",
  "desc.pointerLessThanZero": "A pointer can not be negative.",
  "desc.pointerPositive": "A pointer can not be negative.",
  "desc.pointerSize": "Size of a pointer used instead of size of its data.",
  "desc.postfixOperator": "Prefer prefix ++/-- operators for non-primitive types.",
  "desc.publicAllocationError": "Possible leak in public function. The pointer is not deallocated before it is allocated.",
  "desc.raceAfterInterlockedDecrement": "Race condition: non-interlocked access after InterlockedDecrement(). Use InterlockedDecrement() return value instead.",
  "desc.readWriteOnlyFile": "Read operation on a file that was opened only for writing.",
  "desc.reademptycontainer": "Reading from an empty STL container.",
  "desc.redundantAssignInSwitch": "Variable &apos;var&apos; is reassigned a value before the old one has been used. \"break;\" missing?",
  "desc.redundantAssignment": "A variable is reassigned a value before the old one has been used.",
  "desc.redundantCopy": "A buffer is being written before its old content has been used.",
  "desc.redundantCopyInSwitch": "A buffer is being written before its old content has been used. \"break;\" missing?",
  "desc.redundantCopyLocalConst": "Use const reference to avoid unnecessary data copying.",
  "desc.redundantIfRemove": "Redundant checking of STL container element existence before removing it.",
  "desc.redundantPointerOp": "Redundant pointer operation.",
  "desc.resourceLeak": "Resource leak.",
  "desc.returnTempReference": "Reference to temporary returned.",
  "desc.seekOnAppendedFile": "Repositioning operation performed on a file opened in append mode has no effect.",
  "desc.selfAssignment": "Redundant assignment of a variable to itself.",
  "desc.shiftNegative": "Shifting by a negative value is undefined behaviour.",
  "desc.shiftNegativeLHS": "Shifting a negative value is technically undefined behaviour.",
  "desc.shiftTooManyBits": "Shifting a value by bigger bits than its size is undefined behavior.",
  "desc.shiftTooManyBitsSigned": "Shifting signed 32-bit value by 31 bits is undefined behaviour",
  "desc.signConversion": "Suspicious code: sign conversion of a variable in calculation, even though the variable can have a negative value.",
  "desc.signedCharArrayIndex": "Signed char type used as array index.",
  "desc.sizeofCalculation": "Found calculation inside sizeof().",
  "desc.sizeofDereferencedVoidPointer": "Behaviour of sizeof(void) is not covered by the ISO C standard.",
  "desc.sizeofDivisionMemfunc": "Division by result of sizeof(). memset() expects a size in bytes.",
  "desc.sizeofFunctionCall": "Found function call inside sizeof().",
  "desc.sizeofVoid": "Behaviour of sizeof(void) is not covered by the ISO C standard.",
  "desc.sizeofsizeof": "Calling sizeof on sizeof.",
  "desc.sizeofwithnumericparameter": "Suspicious usage of sizeof with a numeric constant as parameter.",
  "desc.sizeofwithsilentarraypointer": "Using sizeof on array given as function argument returns size of a pointer.",
  "desc.sprintfOverlappingData": "Undefined behavior: A variable is used as parameter and destination in s[n]printf().",
  "desc.staticStringCompare": "Unnecessary comparison of static strings.",
  "desc.stlBoundaries": "Dangerous comparison using operator < or > on iterator.",
  "desc.stlIfFind": "The result of find() is an iterator, but it is not properly checked.",
  "desc.stlIfStrFind": "Inefficient usage of string::find() in condition, string::compare() would be faster.",
  "desc.stlOutOfBounds": "When i==foo.size(), foo[i] is out of bounds.",
  "desc.stlSize": "Possible inefficient checking for emptiness.",
  "desc.stlcstr": "Dangerous usage of c_str(). The value returned by c_str() is invalid after this call.",
  "desc.stlcstrParam": "Passing the result of c_str() to a function that takes std::string as argument no. 0 is slow and redundant.",
  "desc.stlcstrReturn": "Returning the result of c_str() in a function that returns std::string is slow and redundant.",
  "desc.strPlusChar": "Unusual pointer arithmetic. A value of type char is added to a string literal.",
  "desc.stringCompare": "Comparison of identical string variables.",
  "desc.stringLiteralWrite": "Modifying string literal directly or indirectly is undefined behaviour.",
  "desc.suspiciousCase": "Found suspicious case label in switch(). logical operations probably do not work as intended.",
  "desc.suspiciousEqualityComparison": "Found suspicious equality comparison.",
  "desc.suspiciousSemicolon": "Suspicious use of ;.",
  "desc.truncLongCastAssignment": "int result is assigned to long variable.",
  "desc.truncLongCastReturn": "int result is returned as long value.",
  "desc.unassignedVariable": "A variable is not assigned a value.",
  "desc.uninitStructMember": "Uninitialized struct member.",
  "desc.uninitdata": "Memory is allocated but not initialized.",
  "desc.uninitstring": "Dangerous usage. strncpy doesn't always null-terminate it.",
  "desc.uninitvar": "Uninitialized variable.",
  "desc.unknownEvaluationOrder": "An expression depends on order of evaluation of side effects.",
  "desc.unknownSignCharArrayIndex": "Signed char type used as array index.",
  "desc.unreachableCode": "Statements following return, break, continue, goto or throw will never be executed.",
  "desc.unsafeClassCanLeak": "This field can leak by wrong usage.",
  "desc.unsignedLessThanZero": "Checking if an unsigned variable is less than zero.",
  "desc.unsignedPositive": "An unsigned variable can't be negative so it is unnecessary to test it.",
  "desc.unusedFunction": "A function is never used.",
  "desc.unusedLabel": "A label is not used.",
  "desc.unusedLabelSwitch": "A label is not used.",
  "desc.unusedScopedObject": "Instance of an object is destroyed immediately.",
  "desc.unusedStructMember": "A struct memeber is never used.",
  "desc.unusedVariable": "Unused variable.",
  "desc.useAutoPointerArray": "You should not use auto_ptr for pointers obtained with operator new[].",
  "desc.useAutoPointerContainer": "You can randomly lose access to pointers if you store auto_ptr, unique_ptr pointers in an STL container.",
  "desc.useAutoPointerCopy": "Copying auto_ptr pointer to another does not create two equal objects since one has lost its ownership of the pointer.",
  "desc.useAutoPointerMalloc": "You should not use auto_ptr for pointers obtained with function malloc.",
  "desc.useClosedFile": "Used file that is not opened.",
  "desc.uselessCallsCompare": "It is inefficient to call str.find(str) as it always returns 0.",
  "desc.uselessCallsEmpty": "Ineffective call of function empty.",
  "desc.uselessCallsRemove": "Return value of std::remove() ignored. Elements remain in container.",
  "desc.uselessCallsSubstr": "Ineffective call of function substr because it returns a copy of the object. Use operator= instead.",
  "desc.uselessCallsSwap": "It is inefficient to swap a object with itself by calling swap.",
  "desc.va_end_missing": "va_list was opened but not closed by va_end().",
  "desc.va_list_usedBeforeStarted": "va_list used before va_start() was called.",
  "desc.va_start_referencePassed": "Using reference as parameter for va_start() results in undefined behaviour.",
  "desc.va_start_subsequentCalls": "va_start() or va_copy() called subsequently without va_end() in between.",
  "desc.va_start_wrongParameter": "A variable given to va_start() is not last named argument of the function.",
  "desc.varFuncNullUB": "Passing NULL after the last typed argument to a variadic function leads to undefined behaviour.",
  "desc.variableScope": "The scope of the variable can be reduced.",
  "desc.writeReadOnlyFile": "Write operation on a file that was opened only for reading.",
  "desc.wrongPipeParameterSize": "A buffer must have size of 2 integers if used as parameter of pipe().",
  "desc.wrongPrintfScanfArgNum": "printf format string requires 3 parameters but only 2 are given.",
  "desc.wrongPrintfScanfParameterPositionError": "'n$' in format string requires an appropriate argument.",
  "desc.zerodiv": "Division by zero occurs.",
  "desc.zerodivcond": "Either the condition is redundant or there is division by zero.",
  "doubleFree.description": "Momory is freed twice.",
  "duplicateBranch.description": "Identical condition found in another branch. Please examine this code carefully to determine if it is correct.",
  "duplicateBreak.description": "Consecutive return, break, continue, goto or throw statements are unnecessary.",
  "duplicateExpression.description": "Same expression on both sides of a logical operator. Please examine this code carefully to determine if it is correct.",
  "duplicateExpressionTernary.description": "Same expression in both branches of ternary operator.",
  "edg.FORMAT_STRING.1": "The format string ends before this argument. : {0}",
  "edg.FORMAT_STRING.1.brief": "The format string ends before this argument.",
  "edg.FORMAT_STRING.2": "The format string requires additional arguments. : {0}",
  "edg.FORMAT_STRING.2.brief": "The format string requires additional arguments.",
  "edg.FORMAT_STRING.3": "Argument is incompatible with corresponding format string conversion. : {0}",
  "edg.FORMAT_STRING.3.brief": "Argument is incompatible with corresponding format string conversion.",
  "edg.UNUSED_VARIABLE": "Variable {0} was declared but never used.",
  "edg.UNUSED_VARIABLE.brief": "A Variable was declared but never used.",
  "edgpog.ARGUMENT_NUMBER_MISMATCH.too_few": "Too few arguments in function call.",
  "edgpog.ARGUMENT_NUMBER_MISMATCH.too_many": "Too many arguments in function call.",
  "edgpog.BAD_FORMAT.VIRTUAL_FUNC_INIT.msg": "Pure virtual function is defined without 'virtual' keyword.",
  "edgpog.BAD_INIT.PURE_VIRTUAL.msg": "Wrong declaration for pure virtual function",
  "edgpog.BAD_VLA_PARAMETER.msg": "Declared a function with a parameter of a disallowed variable-length array type.",
  "edgpog.COND_COMP_MISMATCH.msg_endif": "#if directive has started, but there is no corresponding conditional compilation end directive in the current file.",
  "edgpog.COND_COMP_MISMATCH.msg_if": "There is no corresponding #if for this conditional compilation end directive.",
  "edgpog.FILENAME_IN_ANGLE_BRACKET_OR_DOUBLE_QUOTATION.msg": "The #include directive shall be followed by either a  <filename> or \"filename\" sequence.",
  "edgpog.MISSING.FUNCTION_DECLARATION.msg": "Do not call the function without declaration.",
  "edgpog.MISSING_FUNCTION_RETURN_TYPE.msg": "Return type omitted from function declaration.",
  "edgpog.PROHIBIT_DELETE_CONTAIN_ELEMENT_NUM.msg": "The index was specified while releasing the array with the delete statement.",
  "edgpog.VOID_PARAMETER_SHALL_NOT_BE_USED.msg": "Do not use void type on a parameter.",
  "edgpog.VOID_RETURN_VALUE_SHALL_NOT_BE_USED.msg": "The return value of the function whose return type is void was used.",
  "eraseDereference.description": "An invalid iterator is used.",
  "fflushOnInputStream.description": "fflush() called on input stream stdin may result in undefined behaviour on non-linux systems.",
  "floatConversionOverflow.description": "Undefined behaviour: float to integer conversion overflow.",
  "funcArgNamesDifferent.description": "Function argument names are different between declaration and definition.",
  "funcArgOrderDifferent.description": "Function argument orders are different between declaration and definition.",
  "gochk.HARD_CODED.PASSWORD.GO.defect": "It is insecure because of data assumed to be a hardcoded password.",
  "gochk.IMPROPER_COOKIE_FLAG_SETTING.GO.defect": "Improper cookie settings expose you to XSS, CSRF, and other security vulnerabilities. Set the safe cookie flag.",
  "gochk.IMPROPER_PERMISSION.GO.defect": "Setting too broad permissions allows attackers to take malicious actions.",
  "gochk.IMPROPER_SSH_KEY_SETTING.GO.defect": "It is safe to disable ssh.InsecureIgnoreHostKey() because it leads to man-in-the-middle attacks.",
  "gochk.IMPROPER_TLS_SETTING.GO.defect": "Setting `InsecureSkipVerify` leaves certificates vulnerable to man-in-the-middle attacks because they are not verified.",
  "gochk.INFORMATION_LEAK.ERROR.GO.defect": "If an error type prints out in message, it can expose sensitive information of the system to hackers.",
  "gochk.INTEGER_OVERFLOW.TYPE_CONV.GO.defect": "The size of `strconv.Atoi` depends on the system. It might create an overflow.",
  "gochk.PATH_CONTAMINATION.GO.defect.sink": "The risk of path traversal is that the function contains external inputs without filtering.",
  "gochk.SERVER_SIDE_REQUEST_FORGERY.GO.defect.sink": "It's dangerous to use the data you get from users as URLs verbatim.",
  "gochk.SLOWLORIS_ATTACK.GO.defect": "If you don't set a timeout, you're vulnerable to a Slowloris attack.",
  "gochk.SQL_INJECTION.GO.defect.sink": "It is dangerous because an external input is used in the query statement without binding.",
  "gochk.WEAK_CRYPTOGRAPHIC_HASH.GO.defect": "Using a weak hash algorithm can expose you to brute-force attacks.",
  "gochk.WEAK_CRYPTOGRAPHIC_NETWORK.GO.defect": "It is dangerous to listen to all connection requests incoming from the network interface. Use a clear IP address.",
  "gochk.WEAK_CRYPTOGRAPHIC_PACKAGE.GO.defect": "Using unnecessary packages can lead to security issues.",
  "gochk.WEAK_CRYPTOGRAPHIC_RANDOM.GO.defect": "Using a weak random number algorithm can make you an easy target for hackers.",
  "gochk.WEAK_ENCRYPTION.INSUFFICIENT_KEY_SIZE.GO.defect": "It is safe to use an RSA key of 2048 bits or more.",
  "gochk.XSS_ETC.GO.defect.sink": "{0} contains an external input. It is vulnerable to XSS attacks.",
  "gochk.XSS_HTML.GO.defect.sink": "{0} contains an external input, it is vulnerable to XSS attacks. Escape special characters from the input before using it.",
  "gochk.XSS_JS.GO.defect.sink": "{0} contains an external input, it is vulnerable to XSS attacks. Escape special characters from the input before using it.",
  "gochk.XSS_TEMPLATE.GO.defect": "Use 'html/template' instead of 'text/template' which is vulnerable to XSS attacks.",
  "gochk.XSS_URL.GO.defect.sink": "If `template.URL` contains external input, it is vulnerable to XSS attacks and should be escaped before use.",
  "horus.ACCESS_NONEXISTENT_MEMBERS.default_desc_0": "Access to non-existent member {0}.",
  "horus.ACCESS_NONEXISTENT_MEMBERS.deref_0": "The value pointed to by the member pointer {0} is a null pointer. A null dereferencing error occurs.",
  "horus.ALREAY_OWNED_POINTER.default_desc_0": "Do not store an already-owned pointer value {0}.",
  "horus.ALTERNATING_INPUT_OUTPUT.default_desc": "Do not alternately input and output from a stream without an intervening flush or positioning call.",
  "horus.ATEXIT_HANDLER_CALLS_EXIT.default_desc": "All exit handlers must return normally.",
  "horus.AVOID_DEADLOCK.default_desc": "Avoid deadlock by locking in a predefined order.",
  "horus.CALL_EVERY_FUNCTION_GLOBAL.default_desc": "This function has not been called.",
  "horus.CAST_ALTERS_VALUE.EXT.cast_0_from_0_to_1": "Casting from type {0} to type {1} may change the result of {2}.",
  "horus.CHECK_ALIGNMENT_OF_MEMORY.default_desc": "Function realloc() creates non-aligned memory blocks.",
  "horus.CLEARTEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.default_desc_0": "Sensitive information {0} is transmitted outside the controller in clear text form.",
  "horus.CLEAR_TEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.default_desc": "The sensitive information is transmitted without integrity check.",
  "horus.CODE_INJECTION.RETURN_ADDRESS.default_desc_0": "Both the offset of the {0} array in the stack area and the value it stores are dangerous values. Code injection attacks can occur.",
  "horus.COMMON.arg_0_mb_1_2": "An argument value {0} must be {1} {2}.",
  "horus.COMMON.argu_0_type_1_arguement": "The passed {1} argument has type {0}.",
  "horus.COMMON.assign_0_to_1": "This assigns {0} expression to {1}.",
  "horus.COMMON.assign_0_to_1_field": "This assigns {0} expression to {1} field.",
  "horus.COMMON.assign_alloc_to_0": "This assigns allocated memories to {0}.",
  "horus.COMMON.assign_type_0_to_1": "This assigns a value with type {0} to {1}.",
  "horus.COMMON.assume_0_equal_1": "This assumed that {0} equals to {1}.",
  "horus.COMMON.assume_0_equal_to_zero": "This assumed that {0} equals to 0.",
  "horus.COMMON.assume_0_false": "This assumed that {0} is set to false.",
  "horus.COMMON.assume_0_non_zero": "This assumed that {0} is not a zero.",
  "horus.COMMON.assume_0_not_equal_1": "This assumed that {0} does not equal to {1}.",
  "horus.COMMON.assume_0_not_equal_to_zero": "This assumed that {0} does not equal to 0.",
  "horus.COMMON.assume_0_not_match_cases": "This assumed that {0} is not matched with other cases.",
  "horus.COMMON.assume_0_not_null": "This assumed that {0} is not a Null pointer.",
  "horus.COMMON.assume_0_null": "This assumed that {0} is a Null pointer.",
  "horus.COMMON.assume_0_op1_2": "This assumed that {0} is set to {1} {2}.",
  "horus.COMMON.assume_0_true": "This assumed that {0} is set to true.",
  "horus.COMMON.assume_0_zero": "This assumed that {0} is a zero.",
  "horus.COMMON.calc_0": "This calculates {0} expression.",
  "horus.COMMON.calling_0": "This calls {0} function.",
  "horus.COMMON.calling_cnd_signal": "This calls cnd_signal() function.",
  "horus.COMMON.calling_exit": "This calls an exit function.",
  "horus.COMMON.calling_mtx_destroy": "This calls mtx_destory() function.",
  "horus.COMMON.calling_signal": "This calls signal() function.",
  "horus.COMMON.calling_x": "This calls a function.",
  "horus.COMMON.captures_0": "This captures {0} expression.",
  "horus.COMMON.cast_alters_0": "This value can be changed by casting results of expression {0}.",
  "horus.COMMON.changed_field_0": "The value of the {0} field is changed.",
  "horus.COMMON.check_field_0": "This checks a declaration of field {0}.",
  "horus.COMMON.check_handler": "This checks a registration of handler.",
  "horus.COMMON.check_memory_0": "This checks a memory value pointed by {0}.",
  "horus.COMMON.check_resource_0": "This checks a resource value pointed by {0}.",
  "horus.COMMON.check_var_0": "This checks a declaration of variable {0}.",
  "horus.COMMON.cond_0_1_2": "(if this is {0} {1} {2})",
  "horus.COMMON.default_branch": "This selects a 'default' brench.",
  "horus.COMMON.deref": "This references a pointer.",
  "horus.COMMON.div_by_0": "Since expression {0} evaluates to 0, a division by zero will be caused.",
  "horus.COMMON.dyn_cast_failed": "This causes a dynamic casting with a reference type to be failed.",
  "horus.COMMON.enter_loop": "This enters a loop body.",
  "horus.COMMON.enter_then": "This enters 'then' body",
  "horus.COMMON.exception_raised": "This causes an exception.",
  "horus.COMMON.exit_loop": "This escapes from a loop body.",
  "horus.COMMON.expr_0_can_be_nullptr": "{0} can be a Null pointer.",
  "horus.COMMON.expr_0_can_be_zero": "{0} can be a zero.",
  "horus.COMMON.field_0_decl": "This causes field {0} to be declared.",
  "horus.COMMON.field_0_decl_uninit": "This causes field {0} to be declared without initialization.",
  "horus.COMMON.file_allocated": "This succeeds to allocate a resource file.",
  "horus.COMMON.file_failed": "This fails to allocate a resource file.",
  "horus.COMMON.file_released": "This succeeds to release a resource file.",
  "horus.COMMON.handle_allocated": "This succeeds to allocate a resource handle.",
  "horus.COMMON.handle_failed": "This fails to allocate a resource handle.",
  "horus.COMMON.handle_released": "This succeeds to release a resource handle.",
  "horus.COMMON.invalid_iter": "The iterator has been invalidated.",
  "horus.COMMON.jmp_to_0": "Move to line {0}.",
  "horus.COMMON.jmp_to_case_0_1": "Move to case {0} statement at line {1}.",
  "horus.COMMON.jmp_to_default_0": "Move to 'default' statement at line {0}.",
  "horus.COMMON.last": "Last changed value.",
  "horus.COMMON.length_0_can_be_zero_ret_1": "{0} length can be zero when {1} is returned.",
  "horus.COMMON.location_access_0": "Access to a memory value pointed by {0}.",
  "horus.COMMON.location_access_func_0": "Access to a memory value of function {0}.",
  "horus.COMMON.loop_cond_is_false": "This loop condition is set to false.",
  "horus.COMMON.loop_cond_is_true": "This loop condition is set to true.",
  "horus.COMMON.lost_0": "This causes a value pointed by {0} to be lost.",
  "horus.COMMON.mem_0_aligned_allocated": "This allocates a aligned memory with {0} type.",
  "horus.COMMON.mem_0_allocated": "This allocates a memory with {0} type.",
  "horus.COMMON.mem_0_is_relinquished": "This transfers a memory ownership with {0} type.",
  "horus.COMMON.mem_0_released": "This release a memory with {0} type.",
  "horus.COMMON.mem_bound_0": "Expression {0} references excessive memories.",
  "horus.COMMON.moved_0": "The value of object {0} is moved.",
  "horus.COMMON.mutex_created": "This creates a mutex.",
  "horus.COMMON.mutex_locked": "This locks a mutex.",
  "horus.COMMON.mutex_unlocked": "This unlocks a mutex.",
  "horus.COMMON.no_case_0": "A switch statement does not match. Move to line {0}.",
  "horus.COMMON.not_enter_then": "This does not enter to 'then' statement.",
  "horus.COMMON.pass_arg_0_thread": "This passes argument {0} to a thread.",
  "horus.COMMON.passed_val_0_is_1": "This causes value {1} to be sent to argument {0}.",
  "horus.COMMON.propargate_exception": "This causes an exception to be propagated out of a function.",
  "horus.COMMON.reallocation_failed": "This fails to reallocate.",
  "horus.COMMON.regist_0_atexit": "{0} function is registered by atexit().",
  "horus.COMMON.regist_0_signal": "{0} function is registered by signal().",
  "horus.COMMON.regist_0_thread": "{0} function is registered by a thread function.",
  "horus.COMMON.rem_by_0": "Operand {0} of modulus operation can be a negative.",
  "horus.COMMON.return_alloc_val": "A return value equals to an allocated value.",
  "horus.COMMON.return_type_val_0": "A return value equals to type {0} value.",
  "horus.COMMON.return_val_0": "A return value is {0}.",
  "horus.COMMON.return_x": "This returns a function.",
  "horus.COMMON.short_circuit_land": "The left side term of '&&' is set to false. Thus, all condition will be set as false.",
  "horus.COMMON.short_circuit_lor": "The left side term of '||' is set to true. Thus, all condition will be set as true.",
  "horus.COMMON.size_0": "A buffer size is {0}.",
  "horus.COMMON.size_0_index_1": "A buffer size is {0}, but an index is {1}.",
  "horus.COMMON.size_0_index_op1_2": "A buffer size is {0}, but an index is {1} {2}.",
  "horus.COMMON.size_0_index_over_1_2": "A buffer size is {0}, but an index is over {1}. (index <= {2})",
  "horus.COMMON.size_0_index_under_1_2": "A buffer size is {0}, but an index is under {1}. (index >= {2})",
  "horus.COMMON.socket_allocated": "This succeeds to allocate a resource socket.",
  "horus.COMMON.socket_failed": "This fails to allocate a resource socket.",
  "horus.COMMON.socket_released": "This releases a resource socket.",
  "horus.COMMON.taint_enter": "This causes an insecure value to be entered.",
  "horus.COMMON.taint_propagate": "This causes an insecure value to be propagated.",
  "horus.COMMON.taint_use": "This causes an insecure value to be used.",
  "horus.COMMON.taint_use_0": "The expression {0} uses an insecure value.",
  "horus.COMMON.thread_detach_0": "Separated the {0} thread object.",
  "horus.COMMON.thread_join_0": "The {0} thread object has been put on hold for termination.",
  "horus.COMMON.uninit_0": "Expression {0} is undefined.",
  "horus.COMMON.v_0_is_local": "The value pointed to by the {0} expression is a local variable.",
  "horus.COMMON.var_0_decl": "This causes variable {0} to be declared.",
  "horus.COMMON.var_0_decl_uninit": "This causes variable {0} to be declared without initialization.",
  "horus.CONFIGURATION_SETTING.default_desc_0": "The System configuration {0} is set from outer environments.",
  "horus.DANGEROUS_USE_OF_TAINTED_VALUES.dangerous_func_0": "The insecure value {0} is used as an argument of a dangerous function.",
  "horus.DANGEROUS_USE_OF_TAINTED_VALUES.loop_var_0": "The insecure value {0} is used to control the loop.",
  "horus.DANGEROUS_USE_OF_TAINTED_VALUES.offset_0": "The insecure value {0} is used as the offset of the pointer.",
  "horus.DECLARE_OBJECTS_SHARED_BETWEEN_THREADS.default_desc": "Declare objects shared between threads with appropriate storage durations.",
  "horus.DIV_BY_ZERO.MISSING_CHECK.default_0": "Since expression {0} evaluates to 0, division by 0 can be caused without zero check.",
  "horus.DIV_BY_ZERO.MISSING_CHECK.default_desc": "Division by value which was compared with zero",
  "horus.DIV_BY_ZERO.default_0": "Since expression {0} evaluates to 0, division by zero will be caused.",
  "horus.DIV_BY_ZERO.default_desc": "Division by zero",
  "horus.DOUBLE_CLOSE.default_desc": "Attempt to close released resource.",
  "horus.DOUBLE_FREE.delete_nonowned_mem": "The non-owned memory has been deleted.",
  "horus.DOUBLE_FREE.delete_released_mem": "The memory aleady released has been deleted.",
  "horus.DOUBLE_FREE.free_nonowned_mem": "The non-owned memory has been freed.",
  "horus.DOUBLE_FREE.free_released_mem": "The memory already released has been freed.",
  "horus.DOUBLE_LOCK.default_desc": "It is tried to lock the mutex again.",
  "horus.DOUBLE_OPEN.default_desc": "It is tried to open the file again.",
  "horus.DOUBLE_UNLOCK.default_desc": "It is tried to unlock the mutex again.",
  "horus.DO_NOT_ACCESS_SHARED_OBJECT_IN_HANDLER.default_desc_0": "Do not access {0} shared objects in signal handlers.",
  "horus.DO_NOT_CALL_SIGNAL_WITHIN_HANDLER.default_desc": "Do not call signal() from within interruptible signal handlers.",
  "horus.DO_NOT_CAST_TO_AN_OUT_OF_RANGE_ENUM_VALUE.default_desc": "Casting is performed in enumerations without a range check of values.",
  "horus.DO_NOT_DESTROY_A_MUTEX.default_desc": "Do not destroy a mutex while it is locked.",
  "horus.DO_NOT_RETURN_SIGNAL_HANDLERS.default_desc": "Do not return from SIGSEGV, SIGILL, or SIGFPE signal handlers.",
  "horus.DUPLICATE_THREAD_EXECUTION.default_desc_0": "The lifecycle of the previously processed {0} thread object has been processed once again.",
  "horus.EXECL_REVEALS_DATA.default_desc": "'--' option should be used when the user input value is used as the argument of system function execl().",
  "horus.FREE_NON_HEAP.default_desc_0": "The memory pointed to by {0} is not allocated in the heap memory.",
  "horus.FUNCTION_PARAM_ARRAY_OVERFLOW.default_desc": "The array size specified for function parameter {0} is {1}, but the size of the passed argument array is {2}, which is smaller.",
  "horus.GUARANTEE_EXCEPTION_SAFETY.default_desc": "An exception is thrown. Only some of the state of objects can be changed.",
  "horus.IMPROPER_ARGUMENTS.HORUS.default": "Improper arguments",
  "horus.IMPROPER_ARGUMENTS.HORUS.overlapping": "Arguments must not be overlapping buffers",
  "horus.IMPROPER_AUTHORIZATION.default_desc_0": "The authorization check on {0} is missing.",
  "horus.IMPROPER_NULL_TERMINATION.HORUS.arg_to_0": "Argument to {0} is not a null-terminated string",
  "horus.IMPROPER_NULL_TERMINATION.HORUS.arg_to_0_is_1": "Argument to {0} is the address of the label '{1}', which is not a null-terminated string",
  "horus.IMPROPER_NULL_TERMINATION.HORUS.arg_to_0_which": "Argument to {0} is, which is not a null-terminated string",
  "horus.IMPROPER_NULL_TERMINATION.HORUS.default": "Argument is not a null-terminated string.",
  "horus.IMPROPER_NULL_TERMINATION.default_desc_0": "Argument {0} is not a null-terminated string.",
  "horus.IMPROPER_NULL_TERMINATION.string_0": "An externally input value was passed to the constructor of {0}. A value that limits the number of characters must also be passed.",
  "horus.IMPROPER_NULL_TERMINATION.use_cin_0": "The result of cin is stored in string array {0}. Make sure to use std::string.",
  "horus.INCORRECT_USE_OF_PLACEMENT_NEW.alignas_decl": "The buffer space is not properly aligned.",
  "horus.INCORRECT_USE_OF_PLACEMENT_NEW.small_0_1": "Less space was allocated for the object than the {1} space required for the {0} type.",
  "horus.INFORMATION_LEAK.default_desc_0": "The sensitive information {0} is leaked.",
  "horus.INTEGER_OVERFLOW.default_desc_0": "The result value can overflow by the operation {0} {1} {2}.",
  "horus.INTEGER_OVERFLOW.taint_0": "The insecure value {0} is used. An integer overflow can occur.",
  "horus.INTEGER_OVERFLOW.unary_0": "The result value can overflow by the operation {0} {1}.",
  "horus.INTEGER_UNDERFLOW.default_desc_0": "The result value can underflow by the operation {0} {1} {2}.",
  "horus.INTEGER_UNDERFLOW.taint_0": "The insecure value {0} is used. An integer underflow can occur.",
  "horus.INTEGER_UNDERFLOW.unary_0": "The result value can underflow by the operation {0} {1}.",
  "horus.INVALID_ITERATOR.default_desc_0": "Invalidated {0} iterator used.",
  "horus.INVALID_ITERATOR.different_0_1": "The {0} iterator and the {1} iterator are iterators for different objects.",
  "horus.INVALID_ITERATOR.not_precedes_0_1": "The {0} iterator representing the start of the range not precedes the {1} iterator representing the end of the range.",
  "horus.LDAP_INJECTION.default_desc_0": "The LDAP query {0} made from outer environments is injected.",
  "horus.LEAK.MEMORY.default_desc": "Potentially memory leaks.",
  "horus.LEAK.MEMORY.default_desc_0": "Potentially memory pointed to by {0} leaks.",
  "horus.LEAK.MUTEX.default_desc": "There is a potential mutex leak.",
  "horus.LEAK.MUTEX.default_desc_0": "There is a potential memory leak in the mutex pointed to by {0}.",
  "horus.LEAK.RESOURCE.default_desc": "Potential leak of resource.",
  "horus.LEAK.RESOURCE.default_desc_0": "Potential leak of resource pointed to by {0}.",
  "horus.MEMCMP_STRING_COMPARISON.memcmp_0": "A null-terminated string is used for the first argument {0} of `memcmp`.",
  "horus.MEMCMP_STRING_COMPARISON.memcmp_0_1": "Null-terminated strings are used for the first argument {0} and the second argument {1} of `memcmp`.",
  "horus.MEMCMP_STRING_COMPARISON.memcmp_1": "A null terminated strings is used for second argument {0} of `memcmp`.",
  "horus.MEMCPY_WITH_OVERLAPPING_REGIONS.default_desc_0": "Function {0} is called on overlapping region. Copying takes place between objects that overlap with each other, in which the behaviour of program is undefined.",
  "horus.MISMATCH.MALLOC_TO_DELETE.default_desc": "Memory allocated by malloc() should be deallocated by free(), not delete.",
  "horus.MISMATCH.MALLOC_TO_DELETE_ARRAY.default_desc": "Memory allocated by malloc() should be deallocated by free(), not delete[].",
  "horus.MISMATCH.NEW_ARRAY_TO_DELETE.default_desc": "Memory allocated by new[] should be deallocated by delete[], not delete.",
  "horus.MISMATCH.NEW_ARRAY_TO_FREE.default_desc": "Memory allocated by new[] should be deallocated by delete[], not free().",
  "horus.MISMATCH.NEW_TO_DELETE_ARRAY.default_desc": "Memory allocated by new should be deallocated by delete, not delete[].",
  "horus.MISMATCH.NEW_TO_FREE.default_desc": "Memory allocated by new should be deallocated by delete, not free().",
  "horus.MISMATCH.RESOURCE.default_desc": "It is tried to deallocate the resource with an improper function.",
  "horus.MISSING_MESSAGE_ID_WHEN_GENERATING_MAC.default_desc": "The message identification value is missing when generating the MAC.",
  "horus.MISSING_NORETURN_DECL.default_desc_0": "The function {0} that does not return is not declared with the _Noreturn specifier.",
  "horus.MISSING_RETURN.default_desc": "A return statement is missing.",
  "horus.MUST_NOT_BE_MUTATE_SRC_OBJ.default_desc_0": "The value of the original object {0} received as an argument has been modified.",
  "horus.NEGATIVE_FILE_DESCRIPTOR.default_desc": "The negative file decriptor is used.",
  "horus.NEGATIVE_MOD_OPERATION.default_desc_0": "The operand {0} of mod operation may be negative.",
  "horus.NEGATIVE_MOD_OPERATION.mod_0_1": "The operand of mod operation may be negative because the result of {0} is {1}.",
  "horus.NORETURN_DECLARED.C.default_desc_ex": "An explicit return statement was used in a function declared with _Noreturn.",
  "horus.NORETURN_DECLARED.C.default_desc_im": "An implicit return occurred in a function declared with _Noreturn.",
  "horus.NORETURN_DECLARED.default_desc": "Do not return from a function declared [[noreturn]].",
  "horus.NORETURN_DECLARED.default_desc_ex": "An explicit return statement is used in a function declared [[noreturn]].",
  "horus.NORETURN_DECLARED.default_desc_im": "Implicit return occurred in a function declared with [[noreturn]].",
  "horus.NULL_DEREF.CHECK_AFTER_DEREF.default_desc": "The Expression is null-checked after dereferenced.",
  "horus.NULL_DEREF.CHECK_AFTER_DEREF.default_desc_0": "The Expression {0} is null-checked after dereferenced.",
  "horus.NULL_DEREF.HORUS.access_field_0": "Access to field '{0}' results in a dereference of a null pointer",
  "horus.NULL_DEREF.HORUS.array_access": "Array access results in a null pointer dereference",
  "horus.NULL_DEREF.HORUS.default": "Dereference of null pointer",
  "horus.NULL_DEREF.HORUS.deref_undef": "Dereference of undefined pointer value",
  "horus.NULL_DEREF.HORUS.from_var_0": "(loaded from field '{0}')",
  "horus.NULL_DEREF.HORUS.instantiation": "Null dereference on function instantiation",
  "horus.NULL_DEREF.HORUS.ld_from_field_0": "(via field '{0}')",
  "horus.NULL_DEREF.HORUS.ld_from_var_0": "(loaded from variable '{0}')",
  "horus.NULL_DEREF.HORUS.null_str_0": "Null pointer argument in call to '{0}'",
  "horus.NULL_DEREF.HORUS.null_str_func": "Null pointer argument in call to byte string function",
  "horus.NULL_DEREF.HORUS.via_field_0": "Array access results in a null pointer dereference",
  "horus.NULL_DEREF.MALLOC_FAILED.default_desc": "Null pointer is dereferenced when memory allocation fails.",
  "horus.NULL_DEREF.MALLOC_FAILED.default_desc_0": "Null pointer pointed to by {0} is dereferenced when memory allocation fails.",
  "horus.NULL_DEREF.MISSING_CHECK.default_desc": "Potentially null pointer is dereferenced without null check.",
  "horus.NULL_DEREF.MISSING_CHECK.default_desc_0": "Potentially null pointer pointed to by {0} is dereferenced without null check.",
  "horus.NULL_DEREF.default_desc": "Null pointer is dereferenced.",
  "horus.NULL_DEREF.default_desc_0": "Null pointer pointed to by {0} is dereferenced.",
  "horus.OPEN_REDIRECT.CPP.default_desc_0": "Define a filtering method {0} which find and remove danger so that use it to filter out possible vulnerability from external sources.",
  "horus.OS_COMMAND_INJECTION.default_desc_0": "The OS command {0} made from outer environments is executed.",
  "horus.OVERRUN.CONTAINER.access_under_0": "The index to access the container is {0}. Passing negative numbers for index values can cause out-of-bounds memory access issues.",
  "horus.OVERRUN.CONTAINER.access_under_cond_0_1": "The index to access the container is {0} {1}. Passing negative numbers for index values can cause out-of-bounds memory access issues.",
  "horus.OVERRUN.CONTAINER.default_desc_0": "There is not enough space in the container. The capacity of the container is {0}.",
  "horus.OVERRUN.DYNAMIC.BAD_COND.default_desc_0": "Expression {0} references a memory location past the end of the buffer.",
  "horus.OVERRUN.DYNAMIC.IN_FUNC_CALL.BAD_COND.default_desc_0": "Expression {0} references a memory location past the end of the buffer.",
  "horus.OVERRUN.DYNAMIC.IN_FUNC_CALL.default_desc_0": "Expression {0} references a memory location past the end of the buffer.",
  "horus.OVERRUN.DYNAMIC.STRCPY.default": "This is outside the size of the string buffer access.",
  "horus.OVERRUN.DYNAMIC.STRCPY.index_0": "This is outside the size of the string buffer access. The index is {0}.",
  "horus.OVERRUN.DYNAMIC.STRCPY.size_0": "This is outside the size of the string buffer access. The buffer size is {0}.",
  "horus.OVERRUN.DYNAMIC.STRCPY.size_0_index_1": "This is outside the size of the string buffer access. The buffer size is {0}, but the index is {1}.",
  "horus.OVERRUN.DYNAMIC.default_desc_0": "Expression {0} references a memory location past the end of the buffer.",
  "horus.OVERRUN.HORUS.array": "Access out-of-bound array element (buffer overflow)",
  "horus.OVERRUN.HORUS.default": "Out-of-bound array access",
  "horus.OVERRUN.HORUS.function": "'{0}' accesses out-of-bound array element",
  "horus.OVERRUN.HORUS.strcpy": "Access out-of-bound array element (strcpy)",
  "horus.OVERRUN.STATIC.BAD_COND.default_desc_0": "Expression {0} references a memory location past the end of the buffer.",
  "horus.OVERRUN.STATIC.IN_FUNC_CALL.BAD_COND.default_desc_0": "Expression {0} references a memory location past the end of the buffer.",
  "horus.OVERRUN.STATIC.IN_FUNC_CALL.default_desc_0": "Expression {0} references a memory location past the end of the buffer.",
  "horus.OVERRUN.STATIC.MEMSET.EXT.function": "Accesses out-of-bound array element.",
  "horus.OVERRUN.STATIC.MEMSET.EXT.function_0": "{0} accesses out-of-bound array element.",
  "horus.OVERRUN.STATIC.default_desc_0": "Expression {0} references a memory location past the end of the buffer.",
  "horus.PARAMETER_POINTER_TO_LOCAL.default_desc": "The address in stack memory is pointed to by the pointer of a parameter.",
  "horus.PATH_TRAVERSAL.default_desc_0": "The file path {0} made from outer environments is accessed.",
  "horus.PLAINTEXT_PASSWORD.default_desc_0": "Password {0} is not verified.",
  "horus.PRESERVE_THREAD_SAFETY_AND_LIVENESS.default_desc": "Preserve thread safety and liveness when using condition variables.",
  "horus.PREVENT_DATA_RACES.default_desc": "Prevent data races when accessing bit-fields from multiple threads.",
  "horus.PREVENT_MATH_FUNCTIONS_ERROR.arg_0_mb_1_2": "The argument value {0} must be {1} {2}.",
  "horus.PREVENT_MATH_FUNCTIONS_ERROR.invalid_arg_0": "Invalid argument passed in {0}.",
  "horus.PROCESS_CONTROL.default_desc_0": "The library {0} is loaded from a relative file path made from outer environments.",
  "horus.RACE_CONDITION.EXT.default_desc": "After a file is opened with the filename, calling the functions such as chown(), stat(), and remove() can be malfunctioning.",
  "horus.REDUNDANT_CONDITION.default_desc_f": "The results of the operation are always false. {0}",
  "horus.REDUNDANT_CONDITION.default_desc_t": "The results of the operation are always true. {0}",
  "horus.RESET_SIGNAL_HANDLER.default_desc": "Understand implementation-specific details regarding signal handler persistence.",
  "horus.RESOURCE_INJECTION.default_desc_0": "The network socket {0} using a number from outer environments is created.",
  "horus.RETURN_FREE.default_desc": "The memory already released has been returned.",
  "horus.RETURN_FREE.default_desc_0": "The memory pointed to {0} has been returned after it was freed.",
  "horus.RETURN_LOCAL.default_desc": "The stack adress has been returned.",
  "horus.RETURN_LOCAL.object": "The object that owns the stack address is returned.",
  "horus.SAQT.M.CCPP.7180.default_0_1": "The cyclomatic complexity of the function is {0}, which is higher than {1}. Keep the number under the threshold.",
  "horus.SAQT.M.CCPP.7184.default_0_1": "The maximum block depth of the function is {0}, which is higher than {1}. Keep the number under the threshold.",
  "horus.SAQT.M.CCPP.7187.default_0_1": "The number of parameters of the function is {0}, which is higher than {1}. Keep the number under the threshold.",
  "horus.SAQT.M.CCPP.7188.default_0_1": "The number of callers of the function is {0}, which is higher than {1}. Keep the number under the threshold.",
  "horus.SAQT.M.CCPP.7189.default_0_1": "The number of callees of the function is {0}, which is higher than {1}. Keep the number under the threshold.",
  "horus.SAQT.M.CCPP.7190.default_0_1": "The number of executable code lines of the function is {0}, which is higher than {1}. Keep the number under the threshold.",
  "horus.SAQT.M.CCPP.7191.default_0_1": "The number of parameters of the function is {0}, which is higher than {1}. Keep the number under the threshold.",
  "horus.SAQT.M.CCPP.7199.default_0_1": "The number of statements of the function is {0}, which is higher than {1}. Keep the number under the threshold.",
  "horus.SAQT.M.CCPP.7200.default_0_1": "The number of unique operands of the function is {0}, which is higher than {1}. Keep the number under the threshold.",
  "horus.SAQT.M.CCPP.7201.default_0_1": "The number of unique operators of the function is {0}, which is higher than {1}. Keep the number under the threshold.",
  "horus.SAQT.M.CCPP.7202.default_0_1": "The number of total operands of the function is {0}, which is higher than {1}. Keep the number under the threshold.",
  "horus.SAQT.M.CCPP.7203.default_0_1": "The number of total operators of the function is {0}, which is higher than {1}. Keep the number under the threshold.",
  "horus.SAQT.M.CCPP.7204.default_0_1": "The vocabulary size of the function is {0}, which is bigger than {1}. Keep the number under the threshold.",
  "horus.SAQT.M.CCPP.7205.default_0_1": "The component size of the function is {0}, which is bigger than {1}. Keep the number under the threshold.",
  "horus.SAQT.M.CCPP.7206.default_0_1": "The average statement size of the function is {0}, which is bigger than {1}. Keep the number under the threshold.",
  "horus.SAQT.M.CCPP.7207.default_0_1": "The number of decision statements of the function is {0}, which is higher than {1}. Keep the number under the threshold.",
  "horus.SAQT.M.CCPP.7208.default_0_1": "The number of exit points of the function is {0}, which is higher than {1}. Keep the number under the threshold.",
  "horus.SAQT.M.CCPP.7209.default_0_1": "The number of unstructured jumps of the function is {0}, which is higher than {1}. Keep the number under the threshold.",
  "horus.SHIFT_EXCEEDS_BIT_WIDTH.bound_0": "At least {0} amount of shift operation to the value of type {2} is over the threshold of the maximum bit width {1}.",
  "horus.SHIFT_EXCEEDS_BIT_WIDTH.default_desc_0": "The {0} amount of shift operation to the value of type {2} is over the threshold of the maximum bit width {1}.",
  "horus.SHIFT_NEGATIVE.bound_0": "The operand of operator shift is negative number (<= {0}).",
  "horus.SHIFT_NEGATIVE.default_desc": "The operand of operator shift is negative number.",
  "horus.SHIFT_NEGATIVE.default_desc_0": "The operand of operator shift is negative number ({0}).",
  "horus.SIGNAL_HANDLER_CALLS_UNSAFE_FUNCTION.default_desc": "Call only asynchronous-safe functions within signal handlers.",
  "horus.SQL_INJECTION.default_desc_0": "The SQL query {0} made from outer environments is injected.",
  "horus.TRYLOCK_FAIL.default_desc": "The mutex is already locked hence try-lock will never succeed.",
  "horus.TYPE_OVERRUN.BAD_COND.default_desc_0": "Expression {0} references a memory location past the end of the buffer.",
  "horus.TYPE_OVERRUN.IN_FUNC_CALL.BAD_COND.default_desc_0": "Expression {0} references a memory location past the end of the buffer.",
  "horus.TYPE_OVERRUN.IN_FUNC_CALL.default_desc_0": "Expression {0} references a memory location past the end of the buffer.",
  "horus.TYPE_OVERRUN.STATIC.default_desc_0": "Expression {0} references a memory location past the end of the buffer.",
  "horus.TYPE_UNDERRUN.BAD_COND.default_desc_0": "Expression {0} references a memory location prior to the beginning of the buffer.",
  "horus.TYPE_UNDERRUN.IN_FUNC_CALL.BAD_COND.default_desc_0": "Expression {0} references a memory location prior to the beginning of the buffer.",
  "horus.TYPE_UNDERRUN.IN_FUNC_CALL.default_desc_0": "Expression {0} references a memory location prior to the beginning of the buffer.",
  "horus.TYPE_UNDERRUN.STATIC.default_desc_0": "Expression {0} references a memory location prior to the beginning of the buffer.",
  "horus.UNBOUNDED_SOURCE_TO_ARRAY.unbounded_0_to_1": "The unbounded source {0} is copied to a fixed-size array.",
  "horus.UNCAUGHT_EXCEPTION.default_desc_0": "The {0} function was called which raised an unintended exception.",
  "horus.UNDERRUN.DYNAMIC.BAD_COND.default_desc_0": "Expression {0} references a memory location prior to the beginning of the buffer.",
  "horus.UNDERRUN.DYNAMIC.IN_FUNC_CALL.BAD_COND.default_desc_0": "Expression {0} references a memory location prior to the beginning of the buffer.",
  "horus.UNDERRUN.DYNAMIC.IN_FUNC_CALL.default_desc_0": "Expression {0} references a memory location prior to the beginning of the buffer.",
  "horus.UNDERRUN.DYNAMIC.default_desc_0": "Expression {0} references a memory location prior to the beginning of the buffer.",
  "horus.UNDERRUN.STATIC.BAD_COND.default_desc_0": "Expression {0} references a memory location prior to the beginning of the buffer.",
  "horus.UNDERRUN.STATIC.IN_FUNC_CALL.BAD_COND.default_desc_0": "Expression {0} references a memory location prior to the beginning of the buffer.",
  "horus.UNDERRUN.STATIC.IN_FUNC_CALL.default_desc_0": "Expression {0} references a memory location prior to the beginning of the buffer.",
  "horus.UNDERRUN.STATIC.default_desc_0": "Expression {0} references a memory location prior to the beginning of the buffer.",
  "horus.UNHANDLED_EXCEPTION_IN_NOEXCEPT.default_desc_0": "An unhandled exception propagated from the noexcept-declared function {0} causes the program to terminate abruptly.",
  "horus.UNINIT.ATOMIC.default_desc_0": "Used atomic object {0} that was not properly initialized.",
  "horus.UNINIT.default_desc_0": "Use of the undefined value. Expression {0} is undefined.",
  "horus.UNREACHABLE_CODE.default_desc": "Default syntax is not executed.",
  "horus.UNREACHABLE_CODE.default_desc_f": "Since expression {0} evaluates to false, statements for true will not be reached.",
  "horus.UNREACHABLE_CODE.default_desc_switch": "The switch statement's condition always evaluates to {0}.",
  "horus.UNREACHABLE_CODE.default_desc_t": "Since expression {0} evaluates to true, statements for false will not be reached.",
  "horus.UNREACHABLE_CODE.default_desc_while": "Since expression {0} evaluates to false, while statement will not be executed.",
  "horus.UNREASONABLE_PARAMETER.big_0_1": "Length parameters have too big value {0} which exceeds the predefined threshold {1}.",
  "horus.UNREASONABLE_PARAMETER.default_desc_0": "Length parameters have negative value {0}.",
  "horus.UNREASONABLE_PARAMETER.meaningless": "Length parameters have the zero value which is meaningless.",
  "horus.UNRESTRICTED_UPLOAD_OF_FILE.CPP.default_desc_0": "The file {0} made from outer environments is accessed.",
  "horus.UNSUPPORTED_TIMEOUT_MUTEX.default_desc_0": "The mutex {0} passed to the mtx_timedlock() function does not support timeout functionality.",
  "horus.USELESS_ASSIGNMENT.default_desc_0": "The same value {0} was assigned consecutively.",
  "horus.USE_AFTER_CLOSE.EXT.default_desc": "Use of resource after it is deallocated.",
  "horus.USE_AFTER_FREE.default_desc": "Use of the memory after it is freed.",
  "horus.USE_AFTER_FREE.default_desc_0": "Use of the memory pointed to by {0} after it is freed.",
  "horus.USE_AFTER_MOVE.default_desc_0": "{0} is referenced again after the object has been moved.",
  "horus.USE_CORRECT_BYTE_ORDERING.need_hton_0": "The value {0} was not converted to network byte order by function htonl() or htons().",
  "horus.USE_CORRECT_BYTE_ORDERING.need_ntoh_0": "The value {0} was not converted to host byte order by function ntohl() or ntohs().",
  "horus.USE_OF_HARDCODED_CRYPTOGRAPHIC_KEY.default_desc_0": "Password {0} is compared with a constant string.",
  "horus.XPATH_INJECTION.CPP.default_desc_0": "You must filter for external input data {0} used for XPath",
  "horus.XQUERY_INJECTION.CPP.default_desc_0": "Special characters and query reserved words must be filtered for external input data {0} used for XQuery.",
  "html.AUTOCOMPLETE_PASSWORD.msg": "Auto complete attribute of password field is enabled.",
  "html.HARD_CODED_DOMAIN_IN_HTML.msg": "External javascript is referred.",
  "html.PASSWORD_INSECURE_SUBMISSION.msg": "Password field is transferred via GET method",
  "incompleteArrayFill.description": "An array is filled incompletely. Possibly made mistakes on multiplying the size of buffer.",
  "incorrectStringBooleanError.description": "Conversion of a string literal to bool always evaluates to true.",
  "incorrectStringCompare.description": "A string literal doesn't match length argument for substr().",
  "integerOverflow.description": "Signed integer overflow for expression.",
  "invalidIterator1.description": "Invalid iterator.",
  "invalidIterator2.description": "After push_back|push_front|insert(), the iterator may be invalid.",
  "invalidLengthModifierError.description": "'I' in format string (no. 1) is a length modifier and cannot be used without a conversion specifier.",
  "invalidPointer.description": "Invalid the pointer in a vector after push_back().",
  "invalidPointerCast.description": "Casting between pointers which have an incompatible binary data representation.",
  "invalidPrintfArgType_float.description": "%f in format string (no. 1) requires a double type.",
  "invalidPrintfArgType_n.description": "%n in format string (no. 1) requires a int* type.",
  "invalidPrintfArgType_p.description": "%p in format string (no. 1) requires an address.",
  "invalidPrintfArgType_s.description": "%s in format string (no. 1) requires a char* type.",
  "invalidPrintfArgType_sint.description": "%i in format string (no. 1) requires an int type.",
  "invalidPrintfArgType_uint.description": "%u in format string (no. 1) requires an unsigned int type.",
  "invalidScanfArgType_float.description": "%f in format string (no. 1) requires a float* type.",
  "invalidScanfArgType_int.description": "%d in format string (no. 1) requires a int* type.",
  "invalidScanfArgType_s.description": "%s in format string (no. 1) requires a char* type. but the argument type is Unknown.",
  "invalidScanfFormatWidth.description": "Width given in format string (no. 10) is larger than destination buffer.",
  "invalidscanf.description": "scanf() without field width limits can crash with huge input data.",
  "iterators.description": "Same iterator is used with different containers.",
  "jfsem.COMMON.0_can_be_a_zero": "{0} can be a zero!",
  "jfsem.COMMON.0_dereferenced_here_by_1": "Here {0} is dereferenced by {1}!",
  "jfsem.COMMON.0_is_1": "{0} equals to {1}.",
  "jfsem.COMMON.0_is_assumed_as_null": "This assumes {0} as a Null.",
  "jfsem.COMMON.0_is_assumed_as_zero": "This assumes {0} as a zero.",
  "jfsem.COMMON.0_is_false": "{0} is set to false.",
  "jfsem.COMMON.0_is_true": "{0} is set to true.",
  "jfsem.COMMON.0_might_cause_sql_injection": "{0} can cause an SQL Injection.",
  "jfsem.COMMON.ASSUME": "ASSUMED",
  "jfsem.COMMON.EVALED": "EVALUATED",
  "jfsem.COMMON.EXCEPTION_0": "EXCEPTION {0}",
  "jfsem.COMMON.LOOP": "LOOP",
  "jfsem.COMMON.RANDOM": "RANDOM",
  "jfsem.COMMON.arithmetic_overflow_for_0_evaluated_to_1_which_is_bigger_than_2_max_3": "This causes an arithmetic overflow for {0} Because its result is evaluated as {1}, which is escaped from max {3} in {2} type.",
  "jfsem.COMMON.arithmetic_overflow_for_0_evaluated_to_1_which_is_bigger_than_2_min_3": "This causes an arithmetic overflow for {0} Because its result is evaluated as {1}, which is escaped from min {3} in {2} type.",
  "jfsem.COMMON.attribute_android_exported_is_set_true": "attribute android:exported property is set to true in {0}",
  "jfsem.COMMON.attribute_android_intent_filter_is_used_in": "{1} intent filter is activated in {0}",
  "jfsem.COMMON.attribute_android_permission_is_used": "tag uses-permission is activating {0} permission",
  "jfsem.COMMON.attribute_android_sharedUserId_is_present": "Here android:sharedUserId property is found",
  "jfsem.COMMON.avoid_leak_during_serialization": "The serialization object is leaking memory.",
  "jfsem.COMMON.call_to_0": "This calls {0}.",
  "jfsem.COMMON.clue_value_get": "This imports a value.",
  "jfsem.COMMON.clue_value_get_vector": "This imports a value from a vector.",
  "jfsem.COMMON.clue_value_put": "This sets a value.",
  "jfsem.COMMON.clue_value_put_vector": "This puts a value to a vector.",
  "jfsem.COMMON.constant_integer": "A integer constant",
  "jfsem.COMMON.custom_error_page_off_in_config": "A custom error page is set to false.",
  "jfsem.COMMON.dangerous_downcast_from_0_to_1": "This executes a risky downcast from {0} to {1}.",
  "jfsem.COMMON.debug_information_in_config": "This includes a debugging information.",
  "jfsem.COMMON.dereferenced_in_callee": "This is dereferenced in a called function.",
  "jfsem.COMMON.divided_by_zero_in_callee": "Here a division by zero is found in a called function.",
  "jfsem.COMMON.escaped_by_exception": "This causes an exception to be escaped from scopes.",
  "jfsem.COMMON.escaped_by_exception_from_0": "This causes an exception from {0} to be escaped from scopes.",
  "jfsem.COMMON.evaled_as_zero": "This is evaluated as zero.",
  "jfsem.COMMON.file_delete": "This deletes a file.",
  "jfsem.COMMON.file_exist_check": "This checks a file to be existed.",
  "jfsem.COMMON.file_read": "This reads a file.",
  "jfsem.COMMON.file_write": "This writes a file.",
  "jfsem.COMMON.go_to_line_0": "Move to line {0}.",
  "jfsem.COMMON.hardcoded_string": "Hard-coded string",
  "jfsem.COMMON.http_only_cookies_off_in_config": "httpOnlyCookies is set to false.",
  "jfsem.COMMON.infinite_recursive_call_0_might_happen_here": "Here an uncontrolled recursive call {0} can be caused.",
  "jfsem.COMMON.invalid_sql_id_0": "An SQL id {0} resists against a rule.",
  "jfsem.COMMON.invalid_xml_id_0": "An XML id {0} resists against a rule.",
  "jfsem.COMMON.iterator_api_misuse_here": "Here an iterator API is misused!",
  "jfsem.COMMON.load_summary.not_include_method": "A redefined function {1} is called instead of {0} which is not included in the source. This can lead to inaccuracy of results.",
  "jfsem.COMMON.load_summary.override_method.class": "A subclass of class {0} is assumed as {1} and function {2} is called. This can lead to inaccuracy of results.",
  "jfsem.COMMON.load_summary.override_method.interface": "A implemented class of interface {0} is assumed as {1} and function {2} is called. This can lead to inaccuracy of results.",
  "jfsem.COMMON.load_summary.parent_method": "{1} function is not redefined in the {0} class and {2} of its superclass is called.",
  "jfsem.COMMON.null_aliased": "A Null is set.",
  "jfsem.COMMON.null_aliased_from_0": "A Null is set from {0}.",
  "jfsem.COMMON.null_aliased_to_0": "A Null is set in {0}.",
  "jfsem.COMMON.null_aliased_to_0_from_1": "A Null is set to {0} from {1}.",
  "jfsem.COMMON.null_literal_found": "A Null literal is found.",
  "jfsem.COMMON.null_returned": "A Null is returned.",
  "jfsem.COMMON.password_in_config": "A password is not deleted.",
  "jfsem.COMMON.race_condition_error_toctou_for_0_possible_here": "Here a TOCTOU race condition is found for {0}!",
  "jfsem.COMMON.resource_dangled": "You cannot refer this resource.",
  "jfsem.COMMON.resource_escaped": "This causes a resource to be escaped from scopes.",
  "jfsem.COMMON.resource_leak_may_occur_here": "This can cause a resource leak!",
  "jfsem.COMMON.resource_type_0_allocated": "This allocates a resource type {0}.",
  "jfsem.COMMON.sign_then_seal_api_misuse_here": "A calling sequese of serialization methods is wrong!",
  "jfsem.COMMON.state_changed.delete": "{0} is used to delete the file.",
  "jfsem.COMMON.state_changed.exists": "{0} is used to check that the file exists.",
  "jfsem.COMMON.state_changed.has_next": "{0} is used to check that the iterator can be moved to the next position.",
  "jfsem.COMMON.state_changed.has_previous": "{0} is used to check that the iterator can be moved to the previous position.",
  "jfsem.COMMON.state_changed.init": "{0} is used to initialize the serialized data.",
  "jfsem.COMMON.state_changed.next": "{0} is used to move the iterator to the next position.",
  "jfsem.COMMON.state_changed.previous": "{0} is used to move the iterator to the previous position.",
  "jfsem.COMMON.state_changed.read": "{0} is used to read the file.",
  "jfsem.COMMON.state_changed.remove": "{0} is used to delete the element of the current position.",
  "jfsem.COMMON.state_changed.seal": "{0} is used to seal the serialized data.",
  "jfsem.COMMON.state_changed.sign": "{0} is used to sign the serialized data.",
  "jfsem.COMMON.state_changed.write": "{0} is used to print out the serialized data.",
  "jfsem.COMMON.state_changed.write2": "{0} is used to print out the serialized data without initializing it.",
  "jfsem.COMMON.taint_flow.accessed_array": "A tracked value changes an array, and a result of array access is tracked.",
  "jfsem.COMMON.taint_flow.assigned_to_0": "A tracked value is specified for {0}.",
  "jfsem.COMMON.taint_flow.passed_to_callee": "A tracked value is passed to a called function.",
  "jfsem.COMMON.taint_flow.returned_from_0": "A tracked value changes a return value of {0} method, and the return value is tracked.",
  "jfsem.COMMON.taint_propag.init_call.all": "A tracked value {0} is assumed to be referenced by a constructor in {1} class with no code to analyze. This can lead to inaccuracy of results.",
  "jfsem.COMMON.taint_propag.init_call.nth_param.base": "A tracked value {0} is used for the {2}th parameter of a constructor in {1} class, and its initialized object {3} is tracked.",
  "jfsem.COMMON.taint_propag.method_call.all": "A tracked value {0} is assumed to be referenced by {1} method call with no code to analyze. This can lead to inaccuracy of results.",
  "jfsem.COMMON.taint_propag.method_call.base.return": "A tracked value {0} is used for a base object of {1} method, and its return value is tracked.",
  "jfsem.COMMON.taint_propag.method_call.nth_param.base": "A tracked value {0} is used for the {2}th parameter of {1} method, and its base object {3} is tracked.",
  "jfsem.COMMON.taint_propag.method_call.nth_param.return": "A tracked value {0} is used for the {2}th parameter of {1} method, and its return value is tracked.",
  "jfsem.COMMON.taint_propag.string_append": "A tracked value is used for string concatenation, and its result is tracked.",
  "jfsem.COMMON.taint_sink.array_index": "A tracked value is used as a superscript of array expression, and violates a taint checking rule.",
  "jfsem.COMMON.taint_sink.array_size": "A tracked value is used as the size of a newly assigned array, and violates Taint checking of the checker.",
  "jfsem.COMMON.taint_sink.init_call.any_param": "A tracked value is used as an arbitrary parameter of a constructor in {0} class, and violates Taint checking of the checker.",
  "jfsem.COMMON.taint_sink.init_call.base": "A tracked value is initialized by a constructor in {0} class, and violates a taint checking rule.",
  "jfsem.COMMON.taint_sink.init_call.nth_param": "A tracked value is used as the {1}th parameter of a constructor in {0} class, and violates Taint checking of the checker.",
  "jfsem.COMMON.taint_sink.int_operation": "A tracked value is used for integer operation, and violates a taint checking rule.",
  "jfsem.COMMON.taint_sink.method_call.any_param": "A tracked value is used as an arbitrary parameter of method {0}, and violates a taint checking rule.",
  "jfsem.COMMON.taint_sink.method_call.base": "A tracked value is used as a base object of method {0}, and violates a taint checking rule.",
  "jfsem.COMMON.taint_sink.method_call.nth_param": "A tracked value is used as the {1}th parameter of method {0}, and violates Taint checking of the checker.",
  "jfsem.COMMON.taint_sink.variable": "A tracked value is specified to a variable {0}, and violates Taint checking of the checker.",
  "jfsem.COMMON.taint_source.const_integer_any": "A taint checking rule finds an integer constant {0}, and starts to track.",
  "jfsem.COMMON.taint_source.const_string_any": "A taint checking rule finds a const string {0}, and starts to track.",
  "jfsem.COMMON.taint_source.const_string_specific": "A taint checking rule finds {0} string including {1} constant string, and starts to track.",
  "jfsem.COMMON.taint_source.init_call.base": "A taint checking rule finds {0} object initialized by calling a constructor in {1} class, and starts to track.",
  "jfsem.COMMON.taint_source.init_call.nth_param": "A taint checking rule finds {0}, the {2}th argument of a constructor in {1} class, and starts to track.",
  "jfsem.COMMON.taint_source.method_call.base": "A taint checking rule finds {0}, a base object of {1} method, and starts to track.",
  "jfsem.COMMON.taint_source.method_call.nth_param": "A taint checking rule finds {0}, the {2}th argument of {1} method, and starts to track.",
  "jfsem.COMMON.taint_source.method_call.return": "A taint checking rule finds a return value of {0} method, and starts to track.",
  "jfsem.COMMON.taint_source.overflowed_integer": "A taint checking rule finds an out-of-bound integer {0}, and starts to track.",
  "jfsem.COMMON.taint_source.param_of_any": "A taint checking rule finds {0} parameter, and starts to track.",
  "jfsem.COMMON.taint_source.param_of_method": "A taint checking rule finds {0} parameter sent by {1} method, and starts to track.",
  "jfsem.COMMON.taint_source.req_param": "A taint checking rule finds an access to an HTTP request parameter, and starts to track.",
  "jfsem.COMMON.taint_source.req_param.specific": "A taint checking rule finds an access to an HTTP request parameter, and starts to track. The parameter is named to {0}.",
  "jfsem.COMMON.tainted_value_aliased_to_0": "A tainted value is specified for {0}.",
  "jfsem.COMMON.tainted_value_appended": "A tainted value is appended.",
  "jfsem.COMMON.tainted_value_from_0_against_rule_1": "A tainted value passed by {0} violates {1}.",
  "jfsem.COMMON.tainted_value_go_into_in_callee": "A tainted value is passed to a called function.",
  "jfsem.COMMON.tainted_value_reaches_0": "A tainted value is reached to {0}.",
  "jfsem.COMMON.tainted_value_returned": "A tainted value is returned.",
  "jfsem.COMMON.toctou_race_condition_detected": "A TOCTOU race condition is found.",
  "jfsem.COMMON.toctou_race_condition_in_callee": "A TOCTOU cace condition is found in a called function.",
  "jfsem.COMMON.trace_output_on_in_config": "Trace log output is set to true.",
  "jfsem.COMMON.transaction_committed_0": "This causes a transaction to be committed. ({0})",
  "jfsem.COMMON.transaction_incomplete": "An incomplete transaction",
  "jfsem.COMMON.uncontrolled_recursion_in_callee": "Here an uncontrolled recursive call is found in a called function.",
  "jfsem.FORMAT_STRING.sca.desc.default": "First argument should not be a string variable.",
  "jfsem.FORMAT_STRING.sca.note.desc.default": "To print a string variable, set constant \"%s\" the first argument while passing the target string variable to the second argument.",
  "jfsem.FORWARD_NULL.sca.desc.default": "Check that {0} is a null before using.",
  "jfsem.FORWARD_NULL.sca.desc.init_field_complex": "Initiate a field variable in a constructor when its default value is set to a complex expression.",
  "jfsem.FORWARD_NULL.sca.desc.use_temp_var": "Store a nullable expression into a temporary variable for exception handling before using.",
  "jfsem.FORWARD_NULL.sca.note.desc.conditional": "Do not check the rest condition when variable {0} is a null.",
  "jfsem.FORWARD_NULL.sca.note.desc.default": "Check that {0} is a null and handle its individual cases.",
  "jfsem.FORWARD_NULL.sca.note.desc.init_field_simple": "Set a constant as a default value when variable {0} is a null.",
  "jfsem.HTTP_RESPONSE_SPLITTING.sca.desc.default": "Before not-known string value is passed to HTTP response header, remove all new-line characters.",
  "jfsem.HTTP_RESPONSE_SPLITTING.sca.note.desc.default": "Using method replaceAll() removes all new-line characters in the string.",
  "jfsem.INTEGER_OVERFLOW.sca.desc.array_access": "Array access index should not be unchecked value.",
  "jfsem.INTEGER_OVERFLOW.sca.desc.array_create": "Array allocation size should not be unchecked value.",
  "jfsem.INTEGER_OVERFLOW.sca.note.desc.array_access": "Before array access, check if the index is zero or positive integer less than array size.",
  "jfsem.INTEGER_OVERFLOW.sca.note.desc.array_create": "Before array allocation, check if the array size is in proper range.",
  "jfsem.NULL_RETURN.sca.desc.default": "Check that {0} is a null before using.",
  "jfsem.NULL_RETURN.sca.desc.init_field_complex": "Initiate a field variable in a constructor when its default value is set to a complex expression.",
  "jfsem.NULL_RETURN.sca.desc.use_temp_var": "Store a nullable expression into a temporary variable for exception handling before using.",
  "jfsem.NULL_RETURN.sca.note.desc.conditional": "Do not check the rest condition when variable {0} is a null.",
  "jfsem.NULL_RETURN.sca.note.desc.default": "Check that {0} is a null and handle its individual cases.",
  "jfsem.NULL_RETURN.sca.note.desc.init_field_simple": "Set a constant as a default value when variable {0} is a null.",
  "jfsem.NULL_RETURN_STD.sca.desc.default": "Check that {0} is a null before using.",
  "jfsem.NULL_RETURN_STD.sca.desc.init_field_complex": "Initiate a field variable in a constructor when its default value is set to a complex expression.",
  "jfsem.NULL_RETURN_STD.sca.desc.use_temp_var": "Store a nullable expression into a temporary variable for exception handling before using.",
  "jfsem.NULL_RETURN_STD.sca.note.desc.conditional": "Do not check the rest condition when variable {0} is a null.",
  "jfsem.NULL_RETURN_STD.sca.note.desc.default": "Check that {0} is a null and handle its individual cases.",
  "jfsem.NULL_RETURN_STD.sca.note.desc.init_field_simple": "Set a constant as a default value when variable {0} is a null.",
  "jfsem.NULL_RETURN_USR.sca.desc.default": "Check if {0} is null before use it.",
  "jfsem.NULL_RETURN_USR.sca.desc.init_field_complex": "Init the field variable in a constructor when the initializer is complex expression.",
  "jfsem.NULL_RETURN_USR.sca.desc.use_temp_var": "Use temporary variable to store and check the nullable expression.",
  "jfsem.NULL_RETURN_USR.sca.note.desc.conditional": "Do not check the rest condition if {0} is null.",
  "jfsem.NULL_RETURN_USR.sca.note.desc.default": "Check {0} and handle exceptional case.",
  "jfsem.NULL_RETURN_USR.sca.note.desc.init_field_simple": "Set default constant as initial value if {0} is null.",
  "jfsem.OPEN_REDIRECT.sca.desc.default": "Define a filtering method {0} which find and remove danger so that use it to filter out possible vulnerability from external sources.",
  "jfsem.PATH_TRAVERSAL.sca.desc.default": "Define a filtering method {0} which find and remove danger so that use it to filter out possible vulnerability from external sources.",
  "jfsem.PERSISTENT_COOKIE.sca.desc.constant": "It is dangerous to set duration of cookie to long time.",
  "jfsem.PERSISTENT_COOKIE.sca.desc.variable": "It is dangerous to set duration of cookie using unchecked value.",
  "jfsem.PERSISTENT_COOKIE.sca.note.desc.constant": "Replace duration of cookie to reasonable size.",
  "jfsem.PERSISTENT_COOKIE.sca.note.desc.variable": "Restrict duration of cookie to reasonable size.",
  "jfsem.SAQT.M.JAVA.7193.defect": "The number of callers of the function is {0}, which is higher than {1}. Keep the number under the threshold.",
  "jfsem.SAQT.M.JAVA.7195.defect": "The number of callees of the function is {0}, which is higher than {1}. Keep the number under the threshold.",
  "jfsem.SCAFFOLD.0_th_param_dereferenced_here_by_1": "Here {0} th parameter is dereferenced by {1}!",
  "jfsem.SCAFFOLD.param_dereferenced_here_by_scaffold": "Here a method parameter is dereferenced by a library or scaffold!",
  "jfsem.SENSITIVE_COOKIE_IN_HTTPS_SESSION_WITHOUT_SECURE_ATTRIBUTE.sca.desc.default": "Call setSecure(true) for Cookie object to set secure attribute.",
  "jfsem.UNCHECKED_NULL.sca.desc.default": "Check that {0} is a null before using.",
  "jfsem.UNCHECKED_NULL.sca.desc.init_field_complex": "Initiate a field variable in a constructor when its default value is set to a complex expression.",
  "jfsem.UNCHECKED_NULL.sca.desc.use_temp_var": "Store a nullable expression into a temporary variable for exception handling before using.",
  "jfsem.UNCHECKED_NULL.sca.note.desc.conditional": "Do not check the rest condition when variable {0} is a null.",
  "jfsem.UNCHECKED_NULL.sca.note.desc.default": "Check that {0} is a null and handle its individual cases.",
  "jfsem.UNCHECKED_NULL.sca.note.desc.init_field_simple": "Set a constant as a default value when variable {0} is a null.",
  "jfsem.UNRESTRICTED_UPLOAD_OF_FILE.sca.desc.default": "Define a filtering method {0} which find and remove danger so that use it to filter out possible vulnerability from external sources.",
  "jfsem.UNSAFE_REFLECTION.defect": "The unvalidated external input value {0} was used in the {1} method was used.",
  "jfsem.USE_OF_INSUFFICIENT_RANDOM_VALUES_OWASP.sca.desc.default": "Use java.security.SecureRandom which is cryptographically secure pseudo random generator instead of vulnerable java.util.Random.",
  "jfsem.WEAK_ENCRYPTION_INSUFFICIENT_KEY_SIZE.sca.desc.default": "Use key with size at least which is suggested minimum size for the algorithm.",
  "jfsem.WEAK_PASSWORD_REQUIREMENTS.msg1": "It should be strong condition tests when creating password.",
  "jfsem.XSS.sca.desc.default": "Define a filtering method {0} which find and remove danger so that use it to filter out possible vulnerability from external sources.",
  "jfsyn.ABSENCE_CALL_SUPER_IN_ACTIVITY_LIFECYCLE.defect": "This Activity lifecycle method does not have calling super's same method at the first statement of body.",
  "jfsyn.ABSENCE_SET_MEASURED_DIMENSION_IN_OVERRIDE_ON_MEASURE.defect": "Overrided method View.onMeasure does not call method setMeasuredDimension.",
  "jfsyn.ACCESSING_CONSTANT_INDEX_IN_LOOP.defect.lit": "Do not access to an array with constant index in a loop. {0}",
  "jfsyn.ACCESSING_CONSTANT_INDEX_IN_LOOP.defect.var": "Index used in array access may have invariant value during a loop. {0}",
  "jfsyn.ALWAYS_INCLUDE_THROW_IN_CATCH.defect": "A THROW statement or replacing comments are not found in the CATCH block.",
  "jfsyn.ANDROID_ADD_JAVASCRIPT_INTERFACE.defect": "Use the addJavascriptInterface function.",
  "jfsyn.ANDROID_ADD_JAVASCRIPT_INTERFACE.defect.set": "Use the setJavascriptInterface function.",
  "jfsyn.ANDROID_CONTEXT_SEND_BROADCAST.defect": "The method exposed the intent to other apps.",
  "jfsyn.ANDROID_GRANT_URI_PERMISSIONS.defect": "It uses a implicit intent, and also calls addFlags method with forbidden flags.",
  "jfsyn.ANDROID_MISSING_BROADCASTER_PERMISSION.defect": "Use the registerReceiver function without setting permissions.",
  "jfsyn.ANDROID_PERMISSION_CHECK_BYPASS.defect": "Permissions can be bypassed using the checkCallingOrSelfPermission() method.",
  "jfsyn.ANDROID_RECEVIED_SSL_ERROR.defect": "The handler.process() method in the onRecoveredSslError() method must be called within the branch statement.",
  "jfsyn.ANDROID_UNSAFE_HOSTNAME_VERIFICATION.defect": "HostnameVerifier's verify function always returns true.",
  "jfsyn.ANDROID_WEB_SETTING_JAVA_SCRIPT.defect": "It will allow some malicious javascripts to execute on WebView.",
  "jfsyn.ASSIGNMENT_IN_OPERAND.defect": "An assignment is included to the conditional clause of control statement.",
  "jfsyn.AUTOCOMPLETE_PASSWORD.defect": "The password input should not be autocompleted.",
  "jfsyn.AVOID_CALLING_FINALIZE.defect": "finalize() has been called.",
  "jfsyn.AVOID_CATCHING_GENERIC_EXCEPTION.defect": "A generic exception was used within the try-catch block.",
  "jfsyn.AVOID_CATCHING_NPE.defect": "NullPointerException was thrown.",
  "jfsyn.AVOID_CATCHING_THROWABLE.defect": "The Throwable type was used as a parameter in the catch block.",
  "jfsyn.AVOID_DECIMAL_LITERALS_IN_BIG_DECIMAL_CONSTRUCTOR.defect": "The float type was used as an argument to BigDecimal.",
  "jfsyn.AVOID_FINAL_LOCAL_VARIABLE.defect": "An improper final local variable declaration exists.",
  "jfsyn.AVOID_INSTANCEOF_CHECKS_IN_CATCH_CLAUSE.defect": "The instanceof construct exists on a variable with the same name as the argument value in the Catch syntax.",
  "jfsyn.AVOID_LOSING_EXCEPTION_INFORMATION.defect": "Exception information was accessed.",
  "jfsyn.AVOID_RETHROWING_EXCEPTION.defect": "Inside the catch block, there is only one statement that throws a reference to that exception.",
  "jfsyn.AVOID_SYNCHRONIZED_AT_METHOD_LEVEL.defect": "Synchronized was used for method declaration.",
  "jfsyn.AVOID_THREAD_GROUP.defect": "The ThreadGroup class was used.",
  "jfsyn.AVOID_THROWING_NULL_POINTER_EXCEPTION.defect": "NullPointerException object assignment succeeded.",
  "jfsyn.AVOID_THROWING_RAW_EXCEPTION_TYPES.defect": "A generic exception object was thrown.",
  "jfsyn.AVOID_USING_AWT_SWING.defect": "{0} should not be used.",
  "jfsyn.AVOID_USING_HARD_CODE_IP.defect": "Hardcoded the IP address.",
  "jfsyn.AVOID_USING_JAVA_IO.defect": "Using the java.io package is forbidden in the Enterprise JavaBeans (EJB) specification.",
  "jfsyn.AVOID_USING_NATIVE_CODE.defect": "JNI was used.",
  "jfsyn.AVOID_USING_PUBLIC_STATIC_FINAL_ARRAY.defect": "Do not use public static final array.",
  "jfsyn.BAD_ARRAY_DECLARATION.defect.bracket": "Brackets should be written right after the type.",
  "jfsyn.BAD_ARRAY_DECLARATION.defect.white_space": "There should not be white spaces before bracket.",
  "jfsyn.BAD_CALL.FORBIDDEN.defect": "Do not call a forbidden method.",
  "jfsyn.BAD_CALL.FROM_DM_TO_ALL.defect": "Do not call the {0} in DM. It is forbidden to call PM, FM, DM from DM.",
  "jfsyn.BAD_CALL.FROM_FM_TO_PM.defect": "Do not call the {0} PM in FM.",
  "jfsyn.BAD_CALL.FROM_PM_TO_CUD_DM_SAME_COMPONENT.defect": "Do not call the {0} in PM. It is forbidden to call C/U/D DM from PM at same component.",
  "jfsyn.BAD_CALL.FROM_PM_TO_DIRECT_PM.defect": "Do not call the {0} PM in PM.",
  "jfsyn.BAD_CALL.FROM_PM_TO_INDIRECT_CUD_DM_OTHER_COMPONENT.defect": "Do not call {0} in the wrong way from within PM. It is forbidden to indirectly call C/U/D DM of other components from PM.",
  "jfsyn.BAD_CALL.RUNTIME_GC.defect": "Call the Runtime.gc() function.",
  "jfsyn.BAD_CALL.RUNTIME_PROCESS.defect": "Call the Runtime.process() function.",
  "jfsyn.BAD_CALL.TO_DIRECT_ALL_OTHER_COMPONENT.defect": "{0} must not be called. It is forbidden to directly call PM, FM, DM of another component from this component method.",
  "jfsyn.BAD_CALL.TO_INDIRECT_ALL_SAME_COMPONENT.defect": "Do not call {0} in the wrong way. It is forbidden to call methods of the same component with indirect calls.",
  "jfsyn.BAD_CALL.TO_INDIRECT_DM_OTHER_APP.defect": "Do not call {0} in the wrong way. It is forbidden to call DM of the other application with indirect calls.",
  "jfsyn.BAD_COLLECTION_REMOVAL.INTEGER_TYPE.defect": "The integer value to be removed should be casted to the type of the collection.",
  "jfsyn.BAD_COMMENT.POSITION.BLOCK.defect.empty_missing": "An empty line should be added before the comment.",
  "jfsyn.BAD_COMMENT.POSITION.BLOCK.defect.indent_before_close": "The comment should be indented more than the closing brace in the next line.",
  "jfsyn.BAD_COMMENT.POSITION.BLOCK.defect.indent_mismatch": "The comment does not match the next line.",
  "jfsyn.BAD_COMMENT.POSITION.BLOCK.defect.indent_mismatch_incomment": "The indentation of the commnets in the block annotations does not match.",
  "jfsyn.BAD_COMMENT.POSITION.DOCUMENT.defect.empty_missing": "An empty line should be added before the comment.",
  "jfsyn.BAD_COMMENT.POSITION.DOCUMENT.defect.indent_before_close": "The comment should be indented more than the closing brace in the next line.",
  "jfsyn.BAD_COMMENT.POSITION.DOCUMENT.defect.indent_mismatch": "The comment does not match the next line.",
  "jfsyn.BAD_COMMENT.POSITION.DOCUMENT.defect.indent_mismatch_incomment": "The indentation of the commnets in the document annotations does not match.",
  "jfsyn.BAD_COMMENT.POSITION.END_OF_LINE.defect.white_space_missing": "End-of-line comments within the block has been used continuously.",
  "jfsyn.BAD_COMMENT.POSITION.SINGLE.defect.empty_missing": "An empty line should be added before the comment.",
  "jfsyn.BAD_COMMENT.POSITION.SINGLE.defect.indent_before_close": "The comment should be indented more than the closing brace in the next line.",
  "jfsyn.BAD_COMMENT.POSITION.SINGLE.defect.indent_mismatch": "The comment does not match the next line.",
  "jfsyn.BAD_COMMENT.POSITION.TRAILING.defect.indent_missing": "The comment should be indented according to the previous comment.",
  "jfsyn.BAD_COMMENT.POSITION.TRAILING.defect.white_space_missing": "A white space should be added before(or after) the comment.",
  "jfsyn.BAD_COMPARISON.defect": "A NaN value was used in the comparison operator.",
  "jfsyn.BAD_COMPOUND_STATEMENT.CURLY_BRACE.defect.invalid_indent": "The indentation of the curly brace is not appropriate.",
  "jfsyn.BAD_COMPOUND_STATEMENT.CURLY_BRACE.defect.invalid_position": "The curly brace is located at the wrong place.",
  "jfsyn.BAD_COMPOUND_STATEMENT.CURLY_BRACE.defect.invalid_whitespace": "Braces must be preceded by spaces.",
  "jfsyn.BAD_CURLYBRACE.DECLARATION.defect.different_line": "The left curly brace should be placed at the same line of the declaration.",
  "jfsyn.BAD_CURLYBRACE.DECLARATION.defect.invalid_indent": "The size of the indentation of the sentence which includes a right curly brace should be equal to the sentence which contains a left curly brace.",
  "jfsyn.BAD_CURLYBRACE.DECLARATION.defect.not_right_after": "The left curly brace should be placed right after the right one if there is no statement in the block.",
  "jfsyn.BAD_CURLY_BRACE_GENERAL.defect.bad_after_open_char": "Forbidden character \"{0}\"(code=0x{1}) found after open brace.",
  "jfsyn.BAD_CURLY_BRACE_GENERAL.defect.bad_after_open_strict": "Should newline immediately after open brace.",
  "jfsyn.BAD_CURLY_BRACE_GENERAL.defect.bad_close": "Should close brace after newline.",
  "jfsyn.BAD_CURLY_BRACE_GENERAL.defect.bad_open_inline": "Should open brace after newline.",
  "jfsyn.BAD_CURLY_BRACE_GENERAL.defect.bad_open_newline": "Should open brace without preceding newline.",
  "jfsyn.BAD_EQ.defect": "A bad equality operation has been used.",
  "jfsyn.BAD_EQUALITY_EXPRESSION.FLOAT.defect": "Do not use an equality expression on float values.",
  "jfsyn.BAD_EXCEPTIONAL_CONDITION.defect.caught": "The exceptional condition should not be caught.",
  "jfsyn.BAD_EXCEPTIONAL_CONDITION.defect.uncaught": "A required exceptional condition has not been caught.",
  "jfsyn.BAD_IF_BOOLEAN_VARIABLE_CONDITION.defect": "Do not use boolean variable directly as condition.",
  "jfsyn.BAD_IF_BOOLEAN_VARIABLE_CONDITION.sca.desc.cmp_false": "Compare to false instead of direct negating boolean variable.",
  "jfsyn.BAD_IF_BOOLEAN_VARIABLE_CONDITION.sca.desc.cmp_true": "Compare to true instead of direct using boolean variable.",
  "jfsyn.BAD_IF_ONLY.defect": "The if statement is used without else.",
  "jfsyn.BAD_IF_ONLY.sca.desc.default": "Insert empty else block if there is nothing to do for else case.",
  "jfsyn.BAD_INDENTATION.BLOCK.defect.not_same": "Statements in the block should be indented with the same size.",
  "jfsyn.BAD_INDENTATION.BLOCK.defect.smaller": "The indentation size of the statement should be greater than or equal to {0}. The current indentation of this code is {1}.",
  "jfsyn.BAD_INDENTATION.CASE_LABELS.defect": "The indentation of the switch label should be written with a right format.",
  "jfsyn.BAD_INDENTATION.CLASS.defect.class_indent": "The indentation of the class statement is wrong.",
  "jfsyn.BAD_INDENTATION.CLASS.defect.extends": "An extends statement should be placed at the same line as a line of the class declaration.",
  "jfsyn.BAD_INDENTATION.CLASS.defect.implements": "An implements statement should be placed at the next line to a line of the class declaration.",
  "jfsyn.BAD_INDENTATION.CLASS.defect.implements_indent": "The indentation of the implements statement is wrong.",
  "jfsyn.BAD_INDENTATION.DO_STATEMENT.defect": "There must be a space between 'do' keywords and braces.",
  "jfsyn.BAD_INDENTATION.FIELD.defect": "The indentation of the field is wrong.",
  "jfsyn.BAD_INDENTATION.FOR_STATEMENT.defect": "If a for statement consists of multiple lines, indentations of them should be arranged.",
  "jfsyn.BAD_INDENTATION.IF_STATEMENT.defect.all": "Expressions in the if condition should be indented more than {0} spaces.",
  "jfsyn.BAD_INDENTATION.IF_STATEMENT.defect.max": "The maximum indentation for statements in the if block is {0} spaces.",
  "jfsyn.BAD_INDENTATION.IMPROPER_LENGTH.defect.not_tab": "Tab words should not be used.",
  "jfsyn.BAD_INDENTATION.IMPROPER_LENGTH.defect.tab": "White spaces should not be used before a code starts.",
  "jfsyn.BAD_INDENTATION.METHOD.defect": "The indentation of the method is wrong.",
  "jfsyn.BAD_INDENTATION.METHOD.defect.miss_blank": "A space must exist between the method and its definition.",
  "jfsyn.BAD_INDENTATION.PACKAGE.defect": "The indentation of the package is wrong.",
  "jfsyn.BAD_INDENTATION.SOURCE_CODE.defect": "A source code must be started at the first column.",
  "jfsyn.BAD_INDENTATION.SWITCH_STATEMENT.defect": "The switch statement's indentation should be written with a right format.",
  "jfsyn.BAD_INDENTATION.SWITCH_STATEMENT.defect.bad_indent": "The indentation of the \"case\" keyword must be the same as the \"switch\" keyword indentation.",
  "jfsyn.BAD_INDENTATION.TRY_STATEMENT.defect.catch_indent": "The indentation of the catch block should be equal to the try block's: {0}.",
  "jfsyn.BAD_INDENTATION.TRY_STATEMENT.defect.catch_start": "The catch block should be started right after the previous block.",
  "jfsyn.BAD_INDENTATION.TRY_STATEMENT.defect.finally_indent": "The indentation of the finally block should be equal to the try block's: {0}.",
  "jfsyn.BAD_INDENTATION.TRY_STATEMENT.defect.finally_start": "The finally block should be started right after the previous block.",
  "jfsyn.BAD_INIT.INIT_AFTER_FIELD_DECLARATION.defect": "The field variable should not be initialized right after the declaration.",
  "jfsyn.BAD_INIT.MISSING_AFTER_LOCAL_DECLARATION.defect": "The local variable has not been initialized right after the declaration.",
  "jfsyn.BAD_LINE_WRAPPING.defect.after_comma": "A line wrapping after the comma is not allowed.",
  "jfsyn.BAD_LINE_WRAPPING.defect.after_operator": "A line wrapping after the operator is not allowed.",
  "jfsyn.BAD_LINE_WRAPPING.defect.before_comma": "A line wrapping before the comma is not allowed.",
  "jfsyn.BAD_LINE_WRAPPING.defect.before_operator": "A line wrapping before the operator is not allowed.",
  "jfsyn.BAD_LINE_WRAPPING.defect.invalid": "An invalid line wrapping has been found.",
  "jfsyn.BAD_LINE_WRAPPING.defect.top_level": "A line wrapping is only allowed at the top level of the expression.",
  "jfsyn.BAD_LINE_WRAPPING.defect.wrong_column": "A wrong column alignment for the line wrapping has been found.",
  "jfsyn.BAD_METHOD_DECLARATION.defect.empty": "A parameter does not exist, but the white space exists.",
  "jfsyn.BAD_METHOD_DECLARATION.defect.forbidden": "White space(s) before the parenthesis of the method declaration is(are) forbidden.",
  "jfsyn.BAD_METHOD_DECLARATION.defect.indentation": "The indentation of the parameter is wrong.",
  "jfsyn.BAD_METHOD_DECLARATION.defect.missing": "The blank(s) of the parameter is(are) wrong. The blank Column is {0}.",
  "jfsyn.BAD_METHOD_DECLARATION.defect.parenthesis": "The indentation of the parenthesis is wrong.",
  "jfsyn.BAD_NAME.BU.defect": "Invalid BU naming convention.",
  "jfsyn.BAD_NAME.CLASS_METHOD_SAVING_BANKS.defect.class": "Invalid class name for {0} is detected.",
  "jfsyn.BAD_NAME.CLASS_METHOD_SAVING_BANKS.defect.method": "In {0} class {1}, this method does not have valid {2} method name.",
  "jfsyn.BAD_NAME.CLASS_METHOD_SAVING_BANKS.defect.private": "Invalid method name for private method in Unit is detected.",
  "jfsyn.BAD_NAME.CLASS_OR_INTERFACE.defect": "A name of a class or an interface have to start with a capital letter.",
  "jfsyn.BAD_NAME.CONSTANT.defect": "The name of the constant is not allowed.",
  "jfsyn.BAD_NAME.CONSTANT_CLASS.KOREAPOST.defect": "Violation of constant class naming convention.",
  "jfsyn.BAD_NAME.DM.ANNOTATION.defect": "Invalid DM annotation naming convention.",
  "jfsyn.BAD_NAME.DM.defect": "Invalid DM naming convention.",
  "jfsyn.BAD_NAME.DU.ANNOTATION.defect": "Invalid DU annotation naming convention.",
  "jfsyn.BAD_NAME.DU.defect": "Invalid DU naming convention.",
  "jfsyn.BAD_NAME.DUPLICATED.defect.class": "The name {0} has already been occupied as a class name.",
  "jfsyn.BAD_NAME.DUPLICATED.defect.method": "The name {0} has already been occupied as a method name.",
  "jfsyn.BAD_NAME.DUPLICATED.defect.variable": "The name {0} has already been occupied as a variable name.",
  "jfsyn.BAD_NAME.FM.ANNOTATION.defect": "Invalid FM annotation naming convention.",
  "jfsyn.BAD_NAME.FM.defect": "Invalid FM naming convention.",
  "jfsyn.BAD_NAME.FU.ANNOTATION.defect": "Invalid FU annotation naming convention.",
  "jfsyn.BAD_NAME.FU.defect": "Invalid FU naming convention.",
  "jfsyn.BAD_NAME.METHOD.defect": "The name of the method have to start with lower case letter.",
  "jfsyn.BAD_NAME.PACKAGE.defect": "The name of the package is not allowed.",
  "jfsyn.BAD_NAME.PACKAGE.defect.upper": "The name of the top package level does not comply with the rule.",
  "jfsyn.BAD_NAME.PARAMETER.defect": "The name of the parameter is invalid.",
  "jfsyn.BAD_NAME.PM.defect": "Invalid PM naming convention.",
  "jfsyn.BAD_NAME.PU.ANNOTATION.defect": "Invalid PU annotation naming convention.",
  "jfsyn.BAD_NAME.PU.defect": "Invalid PU naming convention.",
  "jfsyn.BAD_NAME.SPECIAL_CHARACTER.defect": "Special character(s) in the name is not allowed.",
  "jfsyn.BAD_NAME.TOO_LONG.defect": "The length of the name exceeds the allowed maximum length {0}.",
  "jfsyn.BAD_NAME.VARIABLE.defect.all": "The {1} variable with modifiers {0} should be matched to {2}.",
  "jfsyn.BAD_NAME.VARIABLE.defect.some": "The {1} variable with modifiers {0} should be matched to {2}, but it is not matched to {3}.",
  "jfsyn.BAD_OPERATOR.ASSIGNMENT_IN_COND.defect": "Check that it is intended to perform a comparative operation instead of an assignment operation.",
  "jfsyn.BAD_OPERATOR.ASSIGNMENT_IN_COND.sca.desc.default": "A comparison operator need to be used instead of an assignment operator in conditional expressions.",
  "jfsyn.BAD_OPERATOR.ASSIGNMENT_IN_COND.sca.note.desc.move_assign": "If an assignment operator is intended to be used, then perform it outside conditional expressions.",
  "jfsyn.BAD_OPERATOR.MULTIPLE_VARIABLE_ASSIGNMENT.defect": "Do not use multiple variable assignments.",
  "jfsyn.BAD_OPERATOR.TOO_MANY_LOGICAL_OPERATIONS.defect": "A correct number of logical operations should be used.",
  "jfsyn.BAD_ORGANIZATION.CLASS.defect": "The class element has been ordered improperly.",
  "jfsyn.BAD_OVERRIDE.defect": "The method has been overridden badly.",
  "jfsyn.BAD_PARAMETER_IN_ABS_LIST_VIEW_SET_CHOICE_MODE.defect": "Non-recommended value is passed to parameter choiceMode of AbsListView.setChoiceMode.",
  "jfsyn.BAD_PARAMETER_IN_ACTIVITY_GET_PREFERENCES.defect": "Non-recommended value is passed to parameter mode of Activity.getPreferences.",
  "jfsyn.BAD_PARAMETER_IN_ACTIVITY_SET_PROGRESS.defect": "The value passed to parameter progress of Activity.setProgress is out of allowed range.",
  "jfsyn.BAD_PARAMETER_IN_ACTIVITY_START_INTENT_SENDER.defect": "Non-recommended value is passed to parameter flags of Activity.startIntentSender.",
  "jfsyn.BAD_PARAMETER_IN_ADDRESS_ADDRESS_LINE.defect": "The value passed to parameter index of Address.getAddressLine or Address.setAddressLine is out of allowed range.",
  "jfsyn.BAD_PARAMETER_IN_ALARM_MANAGER_SET.defect": "Non-recommended value is passed to parameter type or intervalMillis of AlarmManager.set, AlarmManager.setInexactRepeating, or AlarmManager.setRepeating.",
  "jfsyn.BAD_PARAMETER_IN_ALERT_DIALOG_SET_BUTTON.defect": "Non-recommended value is passed to parameter whichButton of AlertDialog.setButton.",
  "jfsyn.BAD_PARAMETER_IN_ANIMATION_RESOLVE_SIZE.defect": "Non-recommended value is passed to parameter type of Animation.resolveSize.",
  "jfsyn.BAD_PARAMETER_IN_ANIMATION_SET_REPEAT_MODE.defect": "Non-recommended value is passed to parameter repeatMode of Animation.setRepeatMode.",
  "jfsyn.BAD_PARAMETER_IN_ANIMATION_SET_Z_ADJUSTMENT.defect": "Non-recommended value is passed to parameter zAdjustment of Animation.setZAdjustment .",
  "jfsyn.BAD_PARAMETER_IN_AUDIO_MANAGER_ADJUST_STREAM_VOLUME.defect": "Non-recommended values are passed to parameters of AudioManager.adjustStreamVolume.",
  "jfsyn.BAD_PARAMETER_IN_AUDIO_MANAGER_GET_VIBRATE_SETTING.defect": "Non-recommended value is passed to parameter mode of AudioManager.getVibrateSetting.",
  "jfsyn.BAD_PARAMETER_IN_AUDIO_MANAGER_SET_RINGER_MODE.defect": "Non-recommended value is passed to parameter ringerMode of AudioManager.setRingerMode.",
  "jfsyn.BAD_PARAMETER_IN_AUDIO_MANAGER_SET_VIBRATE_SETTING.defect": "Non-recommended values are passed to parameters of AudioManager.setVibrateSetting.",
  "jfsyn.BAD_PARAMETER_IN_AUDIO_MANAGER_SHOULD_VIBRATE.defect": "Non-recommended value is passed to parameter vibrateType of AudioManager.shouldVibrate.",
  "jfsyn.BAD_PARAMETER_IN_AUDIO_RECORD_GET_MIN_BUFFER_SIZE.defect": "Non-recommended value is passed to parameter audioFormat of AudioRecord.getMinBufferSize.",
  "jfsyn.BAD_PARAMETER_IN_BINDER_TRANSACT.defect": "The value passed to parameter code of Binder.transact is out of allowed range.",
  "jfsyn.BAD_PARAMETER_IN_BITMAP_CREATE_BITMAP.defect": "The value passed to parameter width and height of Bitmap.createBitmap is out of allowed range.",
  "jfsyn.BAD_PARAMETER_IN_BLUETOOTH_CLASS_HAS_SERVICE.defect": "Non-recommended value is passed to parameter service of BluetoothClass.hasService.",
  "jfsyn.BAD_PARAMETER_IN_CAMERA_PARAMETER_SET_ANTIBANDING.defect": "Non-recommended value is passed to parameter antibanding of Camera.Parameters.setAntibanding.",
  "jfsyn.BAD_PARAMETER_IN_CAMERA_PARAMETER_SET_COLOR_EFFECT.defect": "Non-recommended value is passed to parameter value of Camera.Parameters.setWhiteBalance.",
  "jfsyn.BAD_PARAMETER_IN_CAMERA_PARAMETER_SET_FLASH_MODE.defect": "Non-recommended value is passed to parameter value of Camera.Parameters.setFlashMode.",
  "jfsyn.BAD_PARAMETER_IN_CAMERA_PARAMETER_SET_FOCUS_MODE.defect": "Non-recommended value is passed to parameter value of Camera.Parameters.setFocusMode.",
  "jfsyn.BAD_PARAMETER_IN_CAMERA_PARAMETER_SET_SCENE_MODE.defect": "Non-recommended value is passed to parameter value of Camera.Parameters.setSceneMode.",
  "jfsyn.BAD_PARAMETER_IN_CAMERA_PARAMETER_SET_WHITE_BALANCE.defect": "Non-recommended value is passed to parameter value of Camera.Parameters.setWhiteBalance.",
  "jfsyn.BAD_PARAMETER_IN_CANVAS_SAVE_LAYER.defect": "Non-recommended value is passed to parameter saveFlags of Canvas.saveLayer or saveLayerAlpha.",
  "jfsyn.BAD_PARAMETER_IN_CONTEXT_BIND_SERVICE.defect": "Non-recommended value is passed to parameter flags of Context.bindService.",
  "jfsyn.BAD_PARAMETER_IN_CONTEXT_CREATE_PACKAGE_CONTEXT.defect": "Non-recommended value is passed to parameter flags of Context.createPackageContext.",
  "jfsyn.BAD_PARAMETER_IN_CONTEXT_GET_SYSTEM_SERVICE.defect": "Non-recommended value is passed to parameter name of Context.getSystemService.",
  "jfsyn.BAD_PARAMETER_IN_CONTEXT_PERMISSION_PID.defect": "The value passed to parameter pid of a method related to permssion in class Context is out of allowed range.",
  "jfsyn.BAD_PARAMETER_IN_CRITERIA_SET_ACCURACY.defect": "Non-recommended value is passed to parameter accuracy of Criteria.setAccuracy.",
  "jfsyn.BAD_PARAMETER_IN_DATE_UTILS_FORMAT_DATE_RANGE.defect": "Non-recommended value is passed to parameter flags of DateUtils.formatDateRange.",
  "jfsyn.BAD_PARAMETER_IN_DATE_UTILS_GET_AMPM_STRING.defect": "Non-recommended value is passed to parameter ampm of DateUtils.getAMPMString.",
  "jfsyn.BAD_PARAMETER_IN_DATE_UTILS_GET_DAY_OF_WEEK_STRING.defect": "Non-recommended value is passed to parameter dayOfWeek or abbrev of DateUtils.getDayOfWeekString.",
  "jfsyn.BAD_PARAMETER_IN_DATE_UTILS_GET_MONTH_STRING.defect": "Non-recommended value is passed to parameter month or abbrev of DateUtils.getMonthString.",
  "jfsyn.BAD_PARAMETER_IN_DRAWABLE_SET_ALPHA.defect": "The value passed to parameter alpha of Drawable.setAlpha is out of allowed range.",
  "jfsyn.BAD_PARAMETER_IN_DRAWABLE_SET_LEVEL.defect": "The value passed to parameter level of Drawable.setLevel is out of allowed range.",
  "jfsyn.BAD_PARAMETER_IN_GEOCODER_GET_FROM_LOCATION_LATITUDE.defect": "The value passed to parameter latitude of Geocoder.getFromLocation is out of allowed range.",
  "jfsyn.BAD_PARAMETER_IN_GEOCODER_GET_FROM_LOCATION_LONGITUDE.defect": "The value passed to parameter longitude of Geocoder.getFromLocation is out of allowed range.",
  "jfsyn.BAD_PARAMETER_IN_GESTURE_STORE_SET_ORIENTATION_STYLE.defect": "Non-recommended value is passed to parameter style of Gesturestore.setOrientationStyle.",
  "jfsyn.BAD_PARAMETER_IN_GESTURE_STORE_SET_SEQUENCE_TYPE.defect": "Non-recommended value is passed to parameter type of Gesturestore.setSequenceType.",
  "jfsyn.BAD_PARAMETER_IN_GLSURFACE_VIEW_SET_RENDER_MODE.defect": "Non-recommended value is passed to parameter renderMode of GLSurfaceView.setRenderMode.",
  "jfsyn.BAD_PARAMETER_IN_GPS_STATUS_LISTENER_ON_GPS_STATUS_CHANGED.defect": "Non-recommended value is passed to parameter event of GpsStatus.Listener.onGpsStatusChanged.",
  "jfsyn.BAD_PARAMETER_IN_INPUT_METHOD_SERVICE_GET_TEXT_FOR_IME_ACTION.defect": "Non-recommended value is passed to parameter imeOptions of InputMethodService.getTextForImeAction.",
  "jfsyn.BAD_PARAMETER_IN_INPUT_METHOD_SERVICE_SEND_DOWN_UP_KEY_EVENTS.defect": "Non-recommended value is passed to parameter keyEventCode of InputMethodService.sendDownUpKeyEvents.",
  "jfsyn.BAD_PARAMETER_IN_INTENT_ADD_SET_FLAGS.defect": "Non-recommended value is passed to parameter flags of Intent.addFlags or Intent.setFlags.",
  "jfsyn.BAD_PARAMETER_IN_INTENT_FILTER_ADD_DATA_PATH.defect": "Non-recommended value is passed to parameter type of IntentFilter.addDataPath.",
  "jfsyn.BAD_PARAMETER_IN_INTENT_FILTER_SET_PRIORITY.defect": "The value passed to parameter priority of IntentFilter.setPriority is out of allowed range.",
  "jfsyn.BAD_PARAMETER_IN_INTENT_PARSE_URI.defect": "Non-recommended value is passed to parameter flags of Intent.parseUri.",
  "jfsyn.BAD_PARAMETER_IN_LAYOUT_ANIMATION_CONTROLLER_SET_ORDER.defect": "Non-recommended value is passed to parameter order of LayoutAnimationController.setOrder.",
  "jfsyn.BAD_PARAMETER_IN_LOCATION_CONVERT_COORDINATE.defect": "The value passed to parameter coordinate of Location.convert is out of allowed range.",
  "jfsyn.BAD_PARAMETER_IN_LOCATION_CONVERT_OUTPUT_TYPE.defect": "Non-recommended value is passed to parameter outputType of Location.convert.",
  "jfsyn.BAD_PARAMETER_IN_LOCATION_LISTENER_ON_STATUS_CHANGED.defect": "Non-recommended value is passed to parameter status of LocationListener.onStatusChanged.",
  "jfsyn.BAD_PARAMETER_IN_META_KEY_KEY_LISTENER_GET_META_STATE.defect": "Non-recommended value is passed to parameter meta of MetaKeyKeyListener.getMetaState.",
  "jfsyn.BAD_PARAMETER_IN_MOTION_EVENT_OBTAIN.defect": "Non-recommended value is passed to parameter action of MotionEvent.obtain.",
  "jfsyn.BAD_PARAMETER_IN_PACKAGE_MANAGER_FLAG_ZERO.defect": "Non-recommended value is passed to parameter flags of the method.",
  "jfsyn.BAD_PARAMETER_IN_PACKAGE_MANAGER_SET_APPLICATION_ENABLED_SETTING.defect": "Non-recommended value is passed to a parameter of PackageManager.setComponentEnabledSetting.",
  "jfsyn.BAD_PARAMETER_IN_PACKAGE_MANAGER_SET_COMPONENT_ENABLED_SETTING.defect": "Non-recommended value is passed to a parameter of PackageManager.setComponentEnabledSetting.",
  "jfsyn.BAD_PARAMETER_IN_PAINT_SET_TEXT_SIZE.defect": "The value passed to parameter textSize of Paint.setTextSize is out of allowed range.",
  "jfsyn.BAD_PARAMETER_IN_PARCELABLE_WRITE_TO_PARCEL.defect": "Non-recommended value is passed to parameter flags of Parcelable.writeToParcel.",
  "jfsyn.BAD_PARAMETER_IN_PHONE_NUMBER_UTILS_CALLED_PARTY_BCD_TO_STRING.defect": "The value passed to parameter length of PhoneNumberUtils.calledPartyBCDToString is out of allowed range.",
  "jfsyn.BAD_PARAMETER_IN_PHONE_STATE_LISTENER_ON_CALL_STATE_CHANGED.defect": "Non-recommended value is passed to parameter state of PhoneStateListener.onCallStateChanged.",
  "jfsyn.BAD_PARAMETER_IN_PHONE_STATE_LISTENER_ON_DATA_ACTIVITY.defect": "Non-recommended value is passed to parameter direction of PhoneStateListener.onDataActivity.",
  "jfsyn.BAD_PARAMETER_IN_PHONE_STATE_LISTENER_ON_DATA_CONNECTION_STATE_CHANGED.defect": "Non-recommended value is passed to parameter state of PhoneStateListener.onDataConnectionStateChanged.",
  "jfsyn.BAD_PARAMETER_IN_POPUP_WINDOW_SET_INPUT_METHOD_MODE.defect": "Non-recommended value is passed to parameter mode of PopupWindow.setInputMethodMode.",
  "jfsyn.BAD_PARAMETER_IN_SENSOR_MANAGER_REGISTER_LISTENER.defect": "Non-recommended value is passed to parameter samplingPeriodUs of SensorManager.registerListener.",
  "jfsyn.BAD_PARAMETER_IN_SENSOR_MANAGER_REMAP_COORDINATE_SYSTEM.defect": "Non-recommended value is passed to parameter X or Y of SensorManager.remapCoordinateSystem.",
  "jfsyn.BAD_PARAMETER_IN_SOUND_EFFECT_CONSTANTS_GET_CONTANT_FOR_FOCUS_DIRECTION.defect": "Non-recommended value is passed to parameter direction of SoundEffectConstants.getContantForFocusDirection.",
  "jfsyn.BAD_PARAMETER_IN_TELEPHONY_MANAGER_LISTEN.defect": "Non-recommended value is passed to parameter events of TelephonyManager.listen.",
  "jfsyn.BAD_PARAMETER_IN_TEXT_TO_SPEECH_QUEUE_MODE.defect": "Non-recommended value is passed to parameter queueMode of TextToSpeech.playEarcon, TextToSpeech.playSilence, TextToSpeech.speak.",
  "jfsyn.BAD_PARAMETER_IN_TIME_SET_MONTH.defect": "The value passed to parameter month of Time.set is out of allowed range.",
  "jfsyn.BAD_PARAMETER_IN_TIME_SET_MONTH_DAY.defect": "The value passed to parameter monthDay of Time.set is out of allowed range.",
  "jfsyn.BAD_PARAMETER_IN_VELOCITY_TRACKER_COMPUTE_CURRENT_VELOCITY.defect": "The value passed to parameter maxVelocity of VelocityTracker.computeCurrentVelocity is out of allowed range.",
  "jfsyn.BAD_PARAMETER_IN_VIEW_FOCUS.defect": "Non-recommended value is passed to parameter direction of a method related to focus.",
  "jfsyn.BAD_PARAMETER_IN_VIEW_FOCUS_SEARCH.defect": "Non-recommended value is passed to parameter direction of View.focusSearch.",
  "jfsyn.BAD_PARAMETER_IN_VIEW_GROUP_SET_DESCENDANT_FOCUSABILITY.defect": "Non-recommended value is passed to parameter focusability of ViewGroup.setDescendantFocusability.",
  "jfsyn.BAD_PARAMETER_IN_VIEW_GROUP_SET_PERSISTENT_DRAWING_CACHE.defect": "Non-recommended value is passed to parameter drawingCacheToKeep of ViewGroup.setPersistentDrawingCache.",
  "jfsyn.BAD_PARAMETER_IN_VIEW_SET_DRAWING_CACHE_QUALITY.defect": "Non-recommended value is passed to parameter quality of View.setDrawingCacheQuality.",
  "jfsyn.BAD_PARAMETER_IN_VIEW_SET_SCROLL_BAR_STYLE.defect": "Non-recommended value is passed to parameter style of View.setScrollBarStyle.",
  "jfsyn.BAD_PARAMETER_IN_VIEW_SET_VISIBILITY.defect": "Non-recommended value is passed to parameter visibility of View.setVisibility.",
  "jfsyn.BAD_PARENTHESIS.defect.different_column": "A pair of parentheses at the multiple lines should be placed at the same columns.",
  "jfsyn.BAD_PARENTHESIS.defect.forbidden_left": "Any white spaces after the inner left parenthesis are forbidden.",
  "jfsyn.BAD_PARENTHESIS.defect.forbidden_right": "Any white spaces before the inner right parenthesis are forbidden.",
  "jfsyn.BAD_PARENTHESIS.defect.required_left": "Any white spaces after the outermost left parenthesis are required.",
  "jfsyn.BAD_PARENTHESIS.defect.required_right": "Any white spaces before the outermost right parenthesis are required.",
  "jfsyn.BAD_PARENTHESIS.defect.something_before_right": "There should be nothing before the right parenthesis at the new line.",
  "jfsyn.BAD_RETURN_IN_IF_STATEMENT.defect": "Only return syntax exists inside the if-else statement. Code brevity is possible.",
  "jfsyn.BAD_THROW.FORBIDDEN_EXCEPTION.defect": "Throws exception object {0} of class not allowed as an option.",
  "jfsyn.BAD_THROW.FORBIDDEN_EXCEPTION.defect.prohibited": "Throws exception object {0} of optional forbidden class.",
  "jfsyn.BAD_TYPE.FLOAT.defect": "Do not use a float type.",
  "jfsyn.BAD_TYPE.INTEGER.defect": "Do not use an integer type.",
  "jfsyn.BAD_USE_SHIFT_OPERATORS_IN_SAME_DATA.defect": "Bit operations and arithmetic operations should not be performed simultaneously on the same data.",
  "jfsyn.BAD_VARIABLE_DECLARATION.FIELD.defect": "The field has been ordered improperly.",
  "jfsyn.BAD_VARIABLE_DECLARATION.LOOP.defect.outer": "The loop variable should be declared in the loop.",
  "jfsyn.BAD_VARIABLE_DECLARATION.LOOP.defect.prohibited": "The name of the loop variable has been prohibited.",
  "jfsyn.BAD_VARIABLE_DECLARATION.defect": "Variable declarations with the same type should be grouped.",
  "jfsyn.BAD_WHITESPACE.ACCESSING.defect": "Any white spaces are not allowed around the accessing operator.",
  "jfsyn.BAD_WHITESPACE.ASSERT_KEYWORD.defect": "Any white spaces before the parenthesis of the keyword are required.",
  "jfsyn.BAD_WHITESPACE.CALL.defect.after_method": "There is a white space after the method name.",
  "jfsyn.BAD_WHITESPACE.CALL.defect.before_argument": "There is no white space before the argument.",
  "jfsyn.BAD_WHITESPACE.CALL.defect.exist_but_no_argument": "There is a white space even though there is no argument.",
  "jfsyn.BAD_WHITESPACE.CALL.defect.no_around_argument": "There is no white space around the whole arguments.",
  "jfsyn.BAD_WHITESPACE.CALL.defect.preceding_comma": "There is a preceding white space before the comma.",
  "jfsyn.BAD_WHITESPACE.CALL.defect.wrong_around_argument": "{0} white space(s) is(are) required around the whole arguments.",
  "jfsyn.BAD_WHITESPACE.CALL.defect.wrong_around_argument_detail": "{0} white space(s) is(are) required around the {1} argument.",
  "jfsyn.BAD_WHITESPACE.CASTING.defect.double": "A space must be used after the casting operator.",
  "jfsyn.BAD_WHITESPACE.CASTING.defect.single": "A space must be used after the casting operator.",
  "jfsyn.BAD_WHITESPACE.CATCH_STATEMENT.defect": "An white space of the catch statement's should be written with a right format.",
  "jfsyn.BAD_WHITESPACE.COMMA.defect.after": "Any white spaces are required after the comma.",
  "jfsyn.BAD_WHITESPACE.COMMA.defect.before": "Any white spaces are required before the comma.",
  "jfsyn.BAD_WHITESPACE.DO_KEYWORD.defect": "Any white spaces before the parenthesis of the keyword are required.",
  "jfsyn.BAD_WHITESPACE.FOR_KEYWORD.defect": "Any white spaces before the parenthesis of the keyword are required.",
  "jfsyn.BAD_WHITESPACE.FOR_STATEMENT.defect.between": "There is no white space between expressions in the for statement.",
  "jfsyn.BAD_WHITESPACE.FOR_STATEMENT.defect.forinit": "The initialization expression does not use more than three variables.",
  "jfsyn.BAD_WHITESPACE.FOR_STATEMENT.defect.forupdate": "The incremental expression does not use more than three variables.",
  "jfsyn.BAD_WHITESPACE.IF_KEYWORD.defect": "Any white spaces before the parenthesis of the keyword are required.",
  "jfsyn.BAD_WHITESPACE.IF_STATEMENT.defect": "An white space of the if statement should be written with a right format.",
  "jfsyn.BAD_WHITESPACE.INC_DEC_EXPRESSION.defect": "There must be no space between the incremental, decreasing operator and the operand.",
  "jfsyn.BAD_WHITESPACE.KEYWORD.defect": "Any white spaces before the parenthesis of the keyword are required.",
  "jfsyn.BAD_WHITESPACE.SEMICOLON.defect": "Any white spaces before the semicolon are not allowed.",
  "jfsyn.BAD_WHITESPACE.SWITCH_KEYWORD.defect": "Any white spaces before the parenthesis of the keyword are required.",
  "jfsyn.BAD_WHITESPACE.SWITCH_STATEMENT.defect": "An white space of the switch statement should be written with a right format.",
  "jfsyn.BAD_WHITESPACE.TRY_KEYWORD.defect": "Any white spaces before the parenthesis of the keyword are required.",
  "jfsyn.BAD_WHITESPACE.WHILE_KEYWORD.defect": "Any white spaces before the parenthesis of the keyword are required.",
  "jfsyn.BAD_WHITESPACE.WHILE_STATEMENT.defect.after_exp": "There must be a space between the \"while\" condition expression and the brace.",
  "jfsyn.BEAN_MEMBERS_SHOULD_SERIALIZE.defect": "You need an implementation of the Serializable interface of the bean class.",
  "jfsyn.CALL_SUPER.defect": "The method should call super().",
  "jfsyn.CALL_SUPER_IN_CONSTRUCTOR.defect": "You didn't call super() or any other constructor inside the constructor.",
  "jfsyn.CANONICALIZE_URL_RECEIVED_BY_PROVIDER.defect": "The normalization process is missing before exchanging files through the content provider.",
  "jfsyn.CANONICALIZE_URL_RECEIVED_BY_PROVIDER.source": "Uri information was used when creating File objects.",
  "jfsyn.CATCH_THROW_EXCEPTION_CHECKER.defect": "Exception object was created while throwing in the catch block, but not included to the argument.",
  "jfsyn.CHECK_METHOD_NAME_IN_FILE_PATH.defect": "Violate the method naming convention on a certain file path.",
  "jfsyn.CLASSCAST.defect": "A dangerous class cast has been used.",
  "jfsyn.CODE_INJECTION.defect": "The external input value was used by eval() without verification.",
  "jfsyn.CODE_INJECTION.source": "External value input has been verified. {0}",
  "jfsyn.COMBINED_INCREMENT_AND_DECREMENT_OPERATOR.defect": "Do not use increment/decrement operators with other operators.",
  "jfsyn.COMMON.file": "associated {0} file associated with it.",
  "jfsyn.COMMON.jsp_include": "The file is included.",
  "jfsyn.COMMON.jsp_tainted_include": "A tainted value is found in an included file.",
  "jfsyn.COMMON.tainted": "A tainted value is found.",
  "jfsyn.COMMON.tainted_assigned": "This allocates a tainted value.",
  "jfsyn.COMPARE_OBJECTS_WITH_EQUALS.defect": "You didn't use equals().",
  "jfsyn.COMPLY_WITH_MODIFIER_ORDER.defect": "Reorder modifiers as {1} instead of {0}.",
  "jfsyn.COMPLY_WITH_MODIFIER_ORDER.sca.desc.default": "Reorder the modifiers in specified order.",
  "jfsyn.CONDITIONAL_OPERATION_WITHOUT_PARENTHESIS.defect": "Binary operations used in the conditional clause of the trinomial operator must use parentheses.",
  "jfsyn.CONSTANT_CLASS_METHOD.defect": "An unnecessary method has been found in the constant class.",
  "jfsyn.CONSTRUCTOR_CALLS_OVERRIDABLE_METHOD.defect": "A virtual method was called in the constructor of the parent class.",
  "jfsyn.CRITICAL_PUBLIC_VARIABLE_WITHOUT_FINAL_MODIFIER.defect": "A critical public variable has been used without a final modifier.",
  "jfsyn.CROSS_SITE_REQUEST_FORGERY.defect.critical_function": "A critical function has been executed without any authentications.",
  "jfsyn.CROSS_SITE_REQUEST_FORGERY.defect.method_get": "A method attribute should not be get.",
  "jfsyn.CROSS_SITE_REQUEST_FORGERY.defect.missing_authentication": "There is no authentication process via token comparison in the file.",
  "jfsyn.DATA_LEAK_BETWEEN_SESSIONS.URI.defect": "A field that was not declared final was used.",
  "jfsyn.DATA_LEAK_BETWEEN_SESSIONS.defect": "A non final field has been used.",
  "jfsyn.DATA_LEAK_BETWEEN_SESSIONS.sca.desc.move": "Move declaration of field variable {0} to local variable of method using the variable.",
  "jfsyn.DATA_LEAK_BETWEEN_SESSIONS.sca.desc.remove": "Delete field variable {0}.",
  "jfsyn.DATA_LEAK_BETWEEN_SESSIONS.sca.note.desc.move": "If the value of variable is shared in the several methods, pass the value through method parameter.",
  "jfsyn.DECLARE_AT_THE_BEGINNING_OF_BLOCK.defect": "Declare only at the beginning of the block of the method.",
  "jfsyn.DEFINE_WRAPPERS_AROUND_NATIVE_METHODS.defect": "The native method is called without checking the input value.",
  "jfsyn.DEFINE_WRAPPERS_AROUND_NATIVE_METHODS.defect.private_native": "A native method, not private, has been declared.",
  "jfsyn.DEFINE_WRAPPERS_AROUND_NATIVE_METHODS.source": "The native method has been declared.",
  "jfsyn.DIFFERENT_GROUP_CLASS_CALL.defect": "A class violates the calling conventions within the different business group.",
  "jfsyn.DIFFERENT_MESSAGE_CODE.defect": "A string that violates the other business message code conventions has found.",
  "jfsyn.DIRECT_MANAGEMENT_OF_CONNECTIONS.defect": "Do not call DriverManager.getConnection() in order to manage connections directly.",
  "jfsyn.DIRECT_USE_OF_INTEGER_LITERAL.defect": "Integer literal {0} was used directly in the code without being stored in the variable.",
  "jfsyn.DIRECT_USE_OF_SOCKETS.defect": "Do not create or use Socket directly.",
  "jfsyn.DIRECT_USE_OF_THREADS.defect": "Do not create or use Thread directly.",
  "jfsyn.DIRECT_USE_OF_UNSAFE_JNI.defect": "An unsafe JNI has been used directly.",
  "jfsyn.DOUBLE_CHECKED_LOCKING.defect": "A double checked locking has been used.",
  "jfsyn.DO_NOT_ACCESS_ACCOUNT_INFORMATION.defect": "Method accessing account inforamtion is called.",
  "jfsyn.DO_NOT_ACCESS_PRIVATE_MEMBER_OF_OUTER_CLASS.defect": "Do not access a private member of the outer class.",
  "jfsyn.DO_NOT_APPEND_STRINGS.defect": "Do not append strings.",
  "jfsyn.DO_NOT_ASSIGN_EXTERNAL_DATA_TO_MEMBER_VARIABLES.defect": "External input values should not be assigned to member objects without proper verification.",
  "jfsyn.DO_NOT_BASE_SECURITY_CHECKS_ON_UNTRUSTED_SOURCES.defect": "Perform security checks for untrusted sources.",
  "jfsyn.DO_NOT_BASE_SECURITY_CHECKS_ON_UNTRUSTED_SOURCES.source": "Unreliable values are transferred to parameters. {0}",
  "jfsyn.DO_NOT_CALL_EXEC.defect": "Do not call Runtime.exec() since it is dangerous.",
  "jfsyn.DO_NOT_CALL_OVERRIDABLE_METHODS_FROM_CONSTRUCTORS.defect": "An overridable method has been found within the constructor.",
  "jfsyn.DO_NOT_CALL_RUN_FINALIZERS_ON_EXIT.defect": "Do not call runFinalizersOnExit() since it is dangerous.",
  "jfsyn.DO_NOT_CALL_STREAM_IN_METHOD.defect": "Each time a method is called, a new buffer wrapper is created for a single stream.",
  "jfsyn.DO_NOT_CALL_SYNCHRONIZED_METHOD_IN_LOOP.defect": "Do not call a synchronized method in the loop.",
  "jfsyn.DO_NOT_CALL_THREAD_RUN.defect": "The run method of Thread class was used.",
  "jfsyn.DO_NOT_CAST_GENERIC_ITERATOR.defect": "Do not cast a next value of the generic iterator.",
  "jfsyn.DO_NOT_CHANGE_OF_LOOP_CONTROL_VARIABLE.defect": "Change the control variable within the for loop.",
  "jfsyn.DO_NOT_COMPARE_NULL_USING_EQUALS.defect": ".equals() method was used on comparison between null and a value.",
  "jfsyn.DO_NOT_COMPARE_STRING_WITH_HARDCODED_EQUALS.defect": "A forbidden pattern of method has been found.",
  "jfsyn.DO_NOT_CREATE_FORBIDDEN_EXCEPTION_INSTANCES.defect": "Forbidden Exception instance was created and used.",
  "jfsyn.DO_NOT_CREATE_INSTANCE_IN_LOOP.defect": "Do not create an instance in loops.",
  "jfsyn.DO_NOT_CREATE_UNNECESSARY_STRING_INSTANCE.defect": "Unnecessary Strings instance has been created.",
  "jfsyn.DO_NOT_EXTERND_VALIDATION_CLASS.defect": "You must not extend the ActionForm class.",
  "jfsyn.DO_NOT_EXTERND_VALIDATION_CLASS.defect.extend_dyna": "You must not extend the DynaActionForm class.",
  "jfsyn.DO_NOT_GET_DEVICE_ID.defect": "TelephonyManager.getDeviceId is called.",
  "jfsyn.DO_NOT_GET_USIM_UNIQUE_ID.defect": "TelephonyManager.getSubscriberId or TelephonyManager.getSimSerialNumber is called.",
  "jfsyn.DO_NOT_IMPORT_ON_DEMAND.defect": "An import statement should not be written with on-demand style.",
  "jfsyn.DO_NOT_LOCK_OR_UNLOCK_IN_LOOP.defect": "Do not call a lock or an unlock method in the loop.",
  "jfsyn.DO_NOT_NOTIFY_IN_SYNCHRONIZED.defect": "Do not call notify() method in the synchronized block or method.",
  "jfsyn.DO_NOT_READ_STREAM_IN_LOOP.defect": "Do not read a stream in the loop.",
  "jfsyn.DO_NOT_RECORD_MEDIA.defect": "API method MediaRecorder.start for recording audio or video is called.",
  "jfsyn.DO_NOT_RELY_ON_THE_DEFAULT_AUTOMATIC_SIGNATURE_VERIFICATION.defect": "It relies on auto-signed authentication done by default without any additional validation.",
  "jfsyn.DO_NOT_RETURN_PRIVATE_FIELD_OF_OUTER_CLASS.defect": "Do not return a private field of the outer class.",
  "jfsyn.DO_NOT_REUSE_PUBLIC_IDENTIFIERS.defect": "The public identifier of the Java Standard Library has been reused. {0}",
  "jfsyn.DO_NOT_SEND_SMS.defect": "API method for sending SMS is called.",
  "jfsyn.DO_NOT_SLEEP_OR_YIELD_WITHOUT_CONTROL.defect": "Do not call sleep() or yield method without any control statements.",
  "jfsyn.DO_NOT_USE_ADJACENT_BINARY_OPERATOR.defect.adjacent": "Do not use a binary operator adjacently to the operands.",
  "jfsyn.DO_NOT_USE_ADJACENT_BINARY_OPERATOR.defect.white_space": "{0} white space(s) is(are) required for the operator.",
  "jfsyn.DO_NOT_USE_ANYTHING_OTHER_THAN_CONSTANT_CLASS_INTERFACE_TYPE.defect": "Declare a constant class as class.",
  "jfsyn.DO_NOT_USE_ANYTHING_OTHER_THAN_DM_REGULAR_RETURN_VALUE.defect": "DM's return value is not IDataSet type.",
  "jfsyn.DO_NOT_USE_ANYTHING_OTHER_THAN_FM_REGULAR_RETURN_VALUE.defect": "FM's return value is not IDataSet type.",
  "jfsyn.DO_NOT_USE_ANYTHING_OTHER_THAN_PM_REGULAR_RETURN_VALUE.defect": "PM's return value is not IDataSet type.",
  "jfsyn.DO_NOT_USE_ANYTHING_OTHER_THAN_PUBLIC_STATIC_FINAL_DIRECTIVES_WHEN_DECLARING_CONSTANTS.defect": "The constant declaration is not public static final.",
  "jfsyn.DO_NOT_USE_ANYTHING_OTHER_THAN_REGULAR_LOG.defect": "Use the Log object.",
  "jfsyn.DO_NOT_USE_BREAK_WITH_LABEL.defect": "Do not use a break statement with following labels.",
  "jfsyn.DO_NOT_USE_CLASS_MEMBER_VARIABLE.defect": "A class member variable was used.",
  "jfsyn.DO_NOT_USE_CLASS_MEMBER_VARIABLE_FINAL.defect": "Final type class member variable was used.",
  "jfsyn.DO_NOT_USE_CONSTANTS_AND_UTIL_CLASSES_OUTSIDE_OF_THE_CONSTS_PACKAGE.defect": "Constant and Util class's parent package is not consts.",
  "jfsyn.DO_NOT_USE_CONSTANT_OF_INNER_CLASS.defect": "Do not use the constant of the inner class.",
  "jfsyn.DO_NOT_USE_CONSTANT_OF_INNER_CLASS.source": "A constant has been defined in the inner class.",
  "jfsyn.DO_NOT_USE_DECLARED_VARIABLE_IN_LOOP.defect": "Assign a constant to a variable inside the loop.",
  "jfsyn.DO_NOT_USE_DEPRECATED_API.defect": "A deprecated API has been imported.",
  "jfsyn.DO_NOT_USE_DU_WITHOUT_DATA_UNIT_INHERITANCE.defect": "DataUnit Prohibits the use of DU without inheritance.",
  "jfsyn.DO_NOT_USE_FLOAT_TYPE_FOR_LOOP_INDICES.defect": "The float type was used as the index of the iteration.",
  "jfsyn.DO_NOT_USE_FU_WITHOUT_FUNCTION_UNIT_INHERITANCE.defect": "FunctionUnit Prohibits the use of FU without inheritance.",
  "jfsyn.DO_NOT_USE_HARD_CODING.LITERAL.defect": "The string is hardcoded.",
  "jfsyn.DO_NOT_USE_HARD_CODING.NUMBER.defect": "The number literal is hard-coded.",
  "jfsyn.DO_NOT_USE_HTTP_PROTOCOL.defect": "If you use the HTTP protocol to transmit sensitive information, sniffing can lead to data leakage.",
  "jfsyn.DO_NOT_USE_INNER_CLASS.defect": "Inner class was used.",
  "jfsyn.DO_NOT_USE_INSTANCE_OF_IN_CATCH.defect": "Use instanceof inside a catch block.",
  "jfsyn.DO_NOT_USE_IO_WITHOUT_BUFFER_PROCESSING.defect": "Direct use of FileStream's methods without BufferedStream.",
  "jfsyn.DO_NOT_USE_NESTED_TRY.defect": "Do not use a nested try-catch statement.",
  "jfsyn.DO_NOT_USE_NOTIFY.defect": "Do not call notify() in the synchronized method.",
  "jfsyn.DO_NOT_USE_OTHER_THAN_REGULAR_MEMBER_VARIABLE.defect": "Declare disallowed member variables.",
  "jfsyn.DO_NOT_USE_PARAMETERS_OTHER_THAN_DM_PARAMETERS.defect": "DM parameter is not IDataSet or IOnlineContext type.",
  "jfsyn.DO_NOT_USE_PARAMETERS_OTHER_THAN_FM_PARAMETERS.defect": "FM parameter is not IDataSet, IOnlineContext type.",
  "jfsyn.DO_NOT_USE_PARAMETERS_OTHER_THAN_PM_PARAMETERS.defect": "PM parameter is not IDataSet or IOnlineContext type.",
  "jfsyn.DO_NOT_USE_PUBLIC_FIELD.defect": "Do not use a public field for the encapsulation.",
  "jfsyn.DO_NOT_USE_PUBLIC_METHODS_OTHER_THAN_PU_AND_PM.defect": "Public methods other than PM exist in PU.",
  "jfsyn.DO_NOT_USE_PU_WITHOUT_PROCESS_UNIT_INHERITANCE.defect": "PU does not inherit pobis.framework.base.ProcessUnit.",
  "jfsyn.DO_NOT_USE_SERVERSOCKET.defect": "Data exchange using {0} is dangerous.",
  "jfsyn.DO_NOT_USE_SHIFT_ON_SIGNED_VALUE.defect": "Do not use a shift operation on signed values.",
  "jfsyn.DO_NOT_USE_SHORT.defect": "Do not use a short type.",
  "jfsyn.DO_NOT_USE_SIMPLE_DATE_FORMAT.defect": "SimpleDateFormat class was used.",
  "jfsyn.DO_NOT_USE_STRING_OPERATION_IN_LOG.defect": "When logging, use the + operator to concatenate strings.",
  "jfsyn.DO_NOT_USE_SYNCHRONIZED_STATEMENT.defect": "Do not use a synchronized statement. Use a synchronized method instead.",
  "jfsyn.DO_NOT_USE_THREAD_INHERITANCE.defect": "Declare a class that extends Thread.",
  "jfsyn.DO_NOT_USE_VOLATILE.defect": "Do not use a volatile.",
  "jfsyn.DO_NOT_USE_WITH.SQL.defect": "You are using a WITH clause within a query.",
  "jfsyn.DO_NOT_WAIT_IN_SYNCHRONIZED_WITHOUT_CONTROL.defect": "Do not call wait() method in the synchronized block without any control statements.",
  "jfsyn.DYNAMIC_CODE_MANIPULATION.defect.use_localvar": "The external input value {0} was used without separate validation.",
  "jfsyn.DYNAMIC_CODE_MANIPULATION.defect.use_only_method": "The External input values was used immediately without any validation.",
  "jfsyn.EMPTY_BRANCH.defect": "The branch is empty.",
  "jfsyn.EMPTY_CATCH_BLOCK.defect": "The catch block has been emptied.",
  "jfsyn.EMPTY_CATCH_BLOCK.sca.desc.default": "Insert error handling code into the catch block.",
  "jfsyn.EMPTY_CLASS_BLOCK.defect": "An empty class block has been found.",
  "jfsyn.EMPTY_DO_WHILE_BLOCK.defect": "An empty do/while block has been found.",
  "jfsyn.EMPTY_FINALLY_BLOCK.defect": "Finally, the block is empty.",
  "jfsyn.EMPTY_FOR_BLOCK.defect": "An empty for block has been found.",
  "jfsyn.EMPTY_IF_BLOCK.defect": "An empty if block has been found.",
  "jfsyn.EMPTY_METHOD_BLOCK.defect": "An empty method block has been found.",
  "jfsyn.EMPTY_STRING_CHECK.defect": "Use .isEmpty() to check empty strings.",
  "jfsyn.EMPTY_SWITCH_BLOCK.defect": "An empty switch block has been found.",
  "jfsyn.EMPTY_SYNCHRONIZED_BLOCK.defect": "A synchronized block is empty.",
  "jfsyn.EMPTY_TRY_BLOCK.defect": "The Try block is empty.",
  "jfsyn.EMPTY_TRY_CATCH_BLOCK.defect": "An empty try catch block has been found.",
  "jfsyn.EMPTY_WHILE_STATEMENT.defect": "Avoid using braces when the phrase 'while' is empty.",
  "jfsyn.EQUALS_METHOD_IS_OVERLOADED.defect": "The type of the parameter of the overridden equals() method is not java.lang.Object.",
  "jfsyn.EVAL_INJECTION.defect": "The tainted value is used.",
  "jfsyn.EXPOSURE_OF_ADMINISTRATION_PAGE.defect": "Do not use the name of the administration page for easy access.",
  "jfsyn.EXPOSURE_OF_DANGEROUS_METHOD.defect.call": "A dangerous method has been called in the public method.",
  "jfsyn.EXPOSURE_OF_DANGEROUS_METHOD.defect.declare": "A dangerous method has been declared as public.",
  "jfsyn.EXPOSURE_OF_DANGEROUS_METHOD.sca.desc.call": "Change access modifier of method {1} which calls dangerous method {0} from public to private.",
  "jfsyn.EXPOSURE_OF_DANGEROUS_METHOD.sca.desc.declare": "Change access modifier of dangerous method {0} from public to private.",
  "jfsyn.EXPOSURE_OF_SYSTEM_DATA.defect": "A sensitive system data has been exposed.",
  "jfsyn.EXPOSURE_OF_SYSTEM_DATA.sca.desc.default": "Remove code that exposes sensitive system data.",
  "jfsyn.FINALIZE_DECLARED_PUBLIC.defect": "You can declare finalize() as public so that it can be called arbitrarily from outside.",
  "jfsyn.FINALIZE_DOES_NOT_CALL_SUPER_FINALIZE.defect": "You need to call super.finalize() on the last sentence.",
  "jfsyn.FINALIZE_SHOULD_BE_PROTECTED.defect": "The finalize method has been declared public.",
  "jfsyn.FORBIDDEN.EQUALITY_FOR_BOXED_PRIMITIVES.defect": "The equal() method must be used for comparison.",
  "jfsyn.FORBIDDEN.INSTANCE_ACCESSING.defect": "Do not access to the instance. Use a class instead.",
  "jfsyn.FORBIDDEN.REPLACING_EMAIL_ADDRESS.defect": "Do not replace the e-mail address.",
  "jfsyn.FORBIDDEN_ASSIGN_LITERAL.defect": "Do not assign a literal value to variable {0}.",
  "jfsyn.FORBIDDEN_ASSIGN_LITERAL.sca.desc.default": "Remove the line.",
  "jfsyn.FORBIDDEN_CLASS.defect": "A forbidden class name has been found.",
  "jfsyn.FORBIDDEN_PACKAGE.defect": "A forbidden package name has been found.",
  "jfsyn.FOR_LOOP_CONTROL_VARIABLE.defect": "The variable that controls the for loop violates the specified rule.",
  "jfsyn.HARD_CODED_USER_NAME_AND_PASSWORD.defect": "Using hardcoded information in the {1}th parameter of {0} increases possibility to be exploited by hackers.",
  "jfsyn.HARD_CODING.STRING_COMPARISON.defect.hard_coded": "Any hard-coded values have been used for the string comparison.",
  "jfsyn.HARD_CODING.STRING_COMPARISON.defect.wrong_side": "A constant value should be placed at the left side of equals().",
  "jfsyn.IMPLICIT_CASTING.ASSIGNMENT.defect": "The assigned value has been implicitly casted.",
  "jfsyn.IMPLICIT_CASTING.CALL.defect": "The argument of the call has been implicitly casted.",
  "jfsyn.IMPLICIT_CASTING.RETURN.defect": "The returned value has been implicitly casted.",
  "jfsyn.IMPROPER_AUTHORIZATION.defect": "An improper authorization has been used.",
  "jfsyn.IMPROPER_CHECK_FOR_UNUSUAL_OR_EXCEPTIONAL_CONDITION.defect.exception": "An improper exception has been caught.",
  "jfsyn.IMPROPER_CHECK_FOR_UNUSUAL_OR_EXCEPTIONAL_CONDITION.defect.null_check": "The return value has been referred before a null checking.",
  "jfsyn.IMPROPER_REFERENCE_XML_EXTERNAL_ENTITY.defect.SAXBuilder": "External object reference limit setting is required. Please refer to the solution code. SAXBuilder",
  "jfsyn.IMPROPER_REFERENCE_XML_EXTERNAL_ENTITY.defect.SAXReader": "External object reference limit setting is required. Please refer to the solution code. SAXReader",
  "jfsyn.IMPROPER_REFERENCE_XML_EXTERNAL_ENTITY.defect.dbf": "External object reference limit setting is required. Please refer to the solution code. DocumentBuilderFactory",
  "jfsyn.IMPROPER_REFERENCE_XML_EXTERNAL_ENTITY.defect.saxpf": "External object reference limit setting is required. Please refer to the solution code. SAXParserFactory",
  "jfsyn.IMPROPER_REFERENCE_XML_EXTERNAL_ENTITY.defect.sf": "External object reference limit setting is required. Please refer to the solution code. SchemaFactory",
  "jfsyn.IMPROPER_REFERENCE_XML_EXTERNAL_ENTITY.defect.tf": "External object reference limit setting is required. Please refer to the solution code. TransformerFactory",
  "jfsyn.IMPROPER_REFERENCE_XML_EXTERNAL_ENTITY.defect.xmlif": "External object reference limit setting is required. Please refer to the solution code. XMLInputFactory",
  "jfsyn.IMPROPER_RETURN_STATEMENT.defect": "Return values with expressions must be enclosed in parentheses.",
  "jfsyn.IMPROPER_SIGNATURE.JWT.defect.builder": "JWT must be created by signing with signWith().",
  "jfsyn.IMPROPER_SIGNATURE.JWT.defect.create": "JWT is generated without using an electronic signature algorithm.",
  "jfsyn.IMPROPER_SIGNATURE.JWT.defect.parser": "The JWT signature must be verified through parseClaimsJws().",
  "jfsyn.IMPROPER_SIGNATURE.JWT.defect.require": "The electronic signature of JWT is verified without using an encryption algorithm.",
  "jfsyn.IMPROPER_SIGNATURE.XML.defect": "XML security verification mode is not enabled unless the property is set through setProperty().",
  "jfsyn.IMPROPER_SIGNATURE.defect.false_param": "The second parameter in the JarFile constructor is false.",
  "jfsyn.IMPROPER_SIGNATURE.defect.one_param": "Electronic signature is not verified while initializing JarFile.",
  "jfsyn.IMPROPER_SIGNATURE.source": "File variable declared. {0}",
  "jfsyn.INCOMPLETE_VALIDATE_METHOD_DEFINITION.defect": "The validate method must be defined.",
  "jfsyn.INCOMPLETE_VALIDATE_METHOD_DEFINITION.defect.no_super": "The super.valid method must be called within the validate method.",
  "jfsyn.INCORRECT_BITWISE_SHIFT.defect": "Incorrect bit shift operations can lead to unexpected results.",
  "jfsyn.INCORRECT_PERMISSION_ASSIGNMENT_FOR_CRITICAL_RESOURCE.defect": "An incorrect permission has been assigned to the critical resource.",
  "jfsyn.INCORRECT_PERMISSION_ASSIGNMENT_FOR_CRITICAL_RESOURCE.sca.desc.set_executable": "Set parameter of setExecutable to false to remove execution permission.",
  "jfsyn.INCORRECT_PERMISSION_ASSIGNMENT_FOR_CRITICAL_RESOURCE.sca.desc.umask": "Set parameter of umask to 77 to restrict access permission.",
  "jfsyn.INCORRECT_PERMISSION_ASSIGNMENT_FOR_CRITICAL_RESOURCE.sca.note.desc.set_executable": "Do not give write and execute permission simultaneously so that threat of dangerous code execution is reduced.",
  "jfsyn.INCORRECT_SERIAL_PERSISTENT_FIELDS_MODIFIER.defect": "serialPersistentFields has incorrect modifiers.",
  "jfsyn.INCORRECT_USE_OF_AUTOBOXING_AND_UNBOXING.defect": "Incorrect autoboxing and unboxing within a loop can cause performance degradation.",
  "jfsyn.INFINITE_RECURSIVE_CALL.defect": "A recursive call has not been controlled.",
  "jfsyn.INFORMATION_LEAK.RUNTIME_ERROR.defect": "Sensitive information was exposed through runtime error messages. {0}",
  "jfsyn.INSUFFICIENT_SESSION_EXPIRATION.defect": "Sessions will not be expired because of the setting.",
  "jfsyn.INVALID_MESSAGE_ID_IN_EXCEPTION.defect": "The business message is not public or its business message ID.",
  "jfsyn.INVALID_MESSAGE_ID_IN_SETOKMSG.defect": "The business message is not public or its business message ID.",
  "jfsyn.INVOCATION_OF_EQUALS_ON_ARRAY.defect": "Do not call equals() on an array.",
  "jfsyn.LEAK.INFORMATION.PRIVILEGED_BLOCK.defect.call": "doPrivileged() should be called in a private method.",
  "jfsyn.LEAK.INFORMATION.PRIVILEGED_BLOCK.defect.type": "Only PrivilegedAction<Void> can be used for the privileged blocks.",
  "jfsyn.LEFTOVER_DEBUG_CODE.defect": "A debug code has been left.",
  "jfsyn.LEFTOVER_DEBUG_CODE.sca.desc.default": "Remove the debug code.",
  "jfsyn.LOGGER_METHOD_ARGUMENT.defect": "Forbidden pattern was used for method argument of the logger object.",
  "jfsyn.LOG_SENSITIVE_INFORMATION.defect": "Sensitive information is output to the log.",
  "jfsyn.LOG_SENSITIVE_INFORMATION_ANDROID.defect": "Sensitive information has been output in the log.",
  "jfsyn.MAX_LINE_LENGTH.defect": "Exceeded specified maximum length.",
  "jfsyn.METHOD_IGNORES_RETURN_VALUE.defect": "The return value of the method has been ignored.",
  "jfsyn.METHOD_NAME_IS_NOT_INTENDED.defect": "{0} is defined in the class. Check if it is intended to override {1}.",
  "jfsyn.METHOD_NAMING.defect": "The method violates the method naming convention that comes from the package.",
  "jfsyn.METHOD_NAMING_IN_SPECIFIC_PACKAGE.defect": "The method violates the method naming convention that comes from the package.",
  "jfsyn.MINIMIZE_VARIABLE_LIVE_RANGE.defect": "Declaration statement of variable {0} should be near to use point.",
  "jfsyn.MISMATCH_VALIDATOR_AND_FORM_FIELD.defect": "The form fields set do not match the fields defined in the Java class.",
  "jfsyn.MISMATCH_VALIDATOR_AND_FORM_FIELD.source": "The field variable {0} does not exist.",
  "jfsyn.MISSING_AUTHENTICATION_CONTROL.defect": "An required authentication control for this page has been missing.",
  "jfsyn.MISSING_AUTHENTICATION_FOR_CRITICAL_FUNCTION.defect": "An authentication process has been missing for the critical function.",
  "jfsyn.MISSING_BLANK_LINE.IMPORT.defect.blank": "A blank line is needed in front of an import statement.",
  "jfsyn.MISSING_BLANK_LINE.IMPORT.defect.order": "The order of import statements is not a permitted format.",
  "jfsyn.MISSING_BLANK_LINE.SECTION.defect": "Blank lines should be placed between blocks of sections in the method.",
  "jfsyn.MISSING_BLANK_LINE.defect.few": "{0} blank line(s) is(are) needed but there are too few.",
  "jfsyn.MISSING_BLANK_LINE.defect.many": "{0} blank line(s) is(are) needed but there are too many.",
  "jfsyn.MISSING_BLOCK_IN_CONTROL_STATEMENT.defect": "Coding convention force to wrap codes controlled by {0} with curly-braces.",
  "jfsyn.MISSING_BLOCK_IN_CONTROL_STATEMENT.sca.desc.default": "Use curly-braces.",
  "jfsyn.MISSING_BRACE_IN_IF_STATEMENT.defect": "Braces should be used in if statements.",
  "jfsyn.MISSING_BREAK_IN_CASE.defect": "A break in the case statement has been missing.",
  "jfsyn.MISSING_CAUSE_EXCEPTION_IN_THROW.defect": "Cause Exception delivery is missing.",
  "jfsyn.MISSING_CHECK_OF_INPUT.defect": "The input has been referred without checking.",
  "jfsyn.MISSING_CLASS_IN_SOURCE_FILE.defect.in_public": "Non-private class or interface must be in the public class or interface.",
  "jfsyn.MISSING_CLASS_IN_SOURCE_FILE.defect.many_toplevel": "A top-level class or interface must be only one.",
  "jfsyn.MISSING_CLASS_IN_SOURCE_FILE.defect.name_mismatch": "A top-level public class or interface name must be same to file name.",
  "jfsyn.MISSING_CLASS_IN_SOURCE_FILE.defect.need_public": "The source file must has a public class or interface.",
  "jfsyn.MISSING_COMPOUND_STATEMENT.defect": "A control statement must use a compound statement.",
  "jfsyn.MISSING_DEFAULT_IN_SWITCH.defect": "Switch statement must have default.",
  "jfsyn.MISSING_FINALLY_IN_TRY_CATCH.defect": "A finally block has been missing.",
  "jfsyn.MISSING_LOGIN_CONTROL.defect": "The login routine should be controlled by any loops.",
  "jfsyn.MISSING_PACKAGE_DECLARATION.defect": "The first statement of the file should be a package declaration.",
  "jfsyn.MISSING_PARENTHESIS_IN_EXPRESSION.defect": "Use parentheses in order to determine priorities of expressions.",
  "jfsyn.MISSING_PASSWORD_RECOVERY_CONTROL.defect": "The password recovery routine should be controlled by any loops.",
  "jfsyn.MISSING_SERIAL_VERSION_UID.defect": "You didn't specify a value for serializable.",
  "jfsyn.MISSING_SYNCHRONIZED_FOR_OVERRIDING.defect": "A synchronized keyword has been missing during the overriding.",
  "jfsyn.MODIFY_INPUT_PARAMETER.defect": "The input parameter has been modified.",
  "jfsyn.MULTIPLE_BINDS_TO_THE_SAME_PORT.defect": "Multiple services will be bound to the same port.",
  "jfsyn.MUTABLE_COMPARISON.defect": "Mutable fields have been used in the comparison.",
  "jfsyn.MUTABLE_EQUALS.defect": "A changeable {0} field has been used.",
  "jfsyn.MUTABLE_EQUALS.source": "A changeable {0} field has been declared.",
  "jfsyn.MUTABLE_HASHCODE.defect": "Mutable fields have been used to generate the hash code.",
  "jfsyn.NEVER_USE_RAW_TYPE.defect": "Do not use a raw type for collection types.",
  "jfsyn.NONSERIALIZABLE_OBJECT_STORED_IN_SESSION.defect": "An object that cannot be serialized has been stored in the session. {0}",
  "jfsyn.NONSYNCHRONIZED_METHOD_OVERRIDES_SYNCHRONIZED_METHOD.defect": "Non-synchronized method overrides the synchronized parent method.",
  "jfsyn.NON_PRIVATE_FIELD_IN_ACTION_CLASS.defect": "Using public fields can lead to data leakage.",
  "jfsyn.NON_THREAD_SAFE_SINGLETON.defect": "A non-thread-safe singleton was used.",
  "jfsyn.NUMBER_OF_METHOD_LINES_IN_PATH.defect": "The number of lines of code inside the method is included in the prohibited range.",
  "jfsyn.ORDERING_TO_CATCH_SQLEXCEPTION.defect": "java.lang.Exception also should be caught.",
  "jfsyn.OVERRIDE_HASHCODE_AND_EQUALS.defect": "Both hashCode() method and equals() method should be overridden.",
  "jfsyn.PACKAGE_PATH.NICE.defect": "The path {0} should be a substring of a package name.",
  "jfsyn.PASSWORD_IN_SERVLET_COMMENT.defect": "A password in the servlet code is not allowed.",
  "jfsyn.PASSWORD_IN_SERVLET_COMMENT.sca.desc.default": "Delete password part in the comment.",
  "jfsyn.PASSWORD_MANAGEMENT_HEAP_INSPECTION.defect": "A password should not be stored to java.lang.String object.",
  "jfsyn.PASSWORD_MANAGEMENT_PASSWORD_IN_REDIRECT.defect": "A sensitive data has been sent via sendRedirect() method.",
  "jfsyn.PASSWORD_MANAGEMENT_PASSWORD_IN_REDIRECT.sca.desc.default": "Use HTTP POST method instead of GET method.",
  "jfsyn.PREVENT_DESERIALIZATION_OF_UNTRUSTED_DATA.defect": "Unreliable data can be deserialized. {0}",
  "jfsyn.PREVENT_DESERIALIZATION_OF_UNTRUSTED_DATA.source": "The resolveClass method has not been overridden. {0}",
  "jfsyn.PRIVACY_CONCERNS_USING_GEOLOCATION_API.defect": "User authority verification is missing before transferring location information.",
  "jfsyn.PRIVATE_COLLECTION.defect": "A private {0} collection (or array) has been return from the public method.",
  "jfsyn.PRIVATE_COLLECTION.sca.desc.default": "Create and return copy of private collection (or array) instead of the private field variable.",
  "jfsyn.PROCESS_CONTROL.defect": "A library should be loaded with an absolute path.",
  "jfsyn.PUBLIC_DATA_ASSIGNED_TO_PRIVATE_ARRAY.defect": "A data from the public method has been assigned to the private array.",
  "jfsyn.PUBLIC_DATA_ASSIGNED_TO_PRIVATE_ARRAY.sca.desc.default": "Use copy instead of simple assignment when storing private array into public variable.",
  "jfsyn.PUBLIC_FIELD_SHOULD_BE_USED_WITHOUT_METHOD.defect": "A non-static public field should be used if only there is no method.",
  "jfsyn.RACE_CONDITION_STATIC_DATABASE_CONNECTION.defect": "Connection object should not be static.",
  "jfsyn.REDUNDANT_NAME.defect": "Do not hide the name of the upper scope.",
  "jfsyn.RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION.defect": "Security decisions are reliant on DNS lookups.",
  "jfsyn.RELIANCE_ON_UNTRUSTED_INPUTS_IN_A_SECURITY_DECISION.defect": "Security decisions are reliant on untrusted inputs.",
  "jfsyn.RETURN_FROM_FINALLY_BLOCK.defect": "Finally, a return statement was used inside the block.",
  "jfsyn.RETURN_IN_CATCH_STATEMENT.defect": "A return statement is used inside catch block.",
  "jfsyn.SAME_GROUP_CLASS_CALL.defect": "A class violates the calling conventions within the same business group.",
  "jfsyn.SAQT.M.JAVA.7181.defect": "The cyclomatic complexity of the function is {0}, which is higher than {1}. Keep the number under the threshold.",
  "jfsyn.SAQT.M.JAVA.7185.defect": "The maximum block depth of the function is {0}, which is higher than {1}. Keep the number under the threshold.",
  "jfsyn.SAQT.M.JAVA.7191.defect": "The number of parameters of the function is {0}, which is higher than {1}. Keep the number under the threshold.",
  "jfsyn.SAQT.M.JAVA.7197.defect": "The number of executable code lines of the function is {0}, which is higher than {1}. Keep the number under the threshold.",
  "jfsyn.SAVING_UNSERIALIZABLE_OBJECTS_TO_DISK.defect": "You may be storing an object that cannot be serialized, causing an exception to be thrown.",
  "jfsyn.SAVING_UNSERIALIZABLE_OBJECTS_TO_DISK.source": "An object that cannot be serialized.",
  "jfsyn.SECURITY.ARGUMENT.ASSERT.defect": "Parameter {0} should not use assert syntax.",
  "jfsyn.SECURITY.ARGUMENT.DOPRIVILEGE.defect": "The AccessController.doPrivate() method factor must not contain parameters.",
  "jfsyn.SECURITY.ARGUMENT.READ.BYTE.defect.call_read": "The return value of read() must be received and inspected.",
  "jfsyn.SECURITY.ARGUMENT.READ.BYTE.defect.data_type": "read() return value data type is {1}. Data type for {0} needs to be changed.",
  "jfsyn.SECURITY.ARGUMENT.THREAD_POOL.defect": "Do not use the same thread pool as the parent task. {0}",
  "jfsyn.SECURITY.ASSERT.BOOLEAN.defect": "Recommand to use a boolean variable in assert statement.",
  "jfsyn.SECURITY.CALL.APPEND.LOOP.defect.append_loop": "Do not call an append method in a loop where is not limited by specific number.",
  "jfsyn.SECURITY.CALL.APPEND.LOOP.defect.buffered_reader": "Do not call the method Buffered.readLine() inside the loop statement.",
  "jfsyn.SECURITY.CALL.BIG_ENDIAN.defect": "{0} method was called. Little-endian data can be read as big-endian .",
  "jfsyn.SECURITY.CALL.DELETE_ON_EXIT.defect": "Do not call deleteOnExit() method, the method would not delete the temp file.",
  "jfsyn.SECURITY.CALL.FILE_DELETE.defect": "Should check a return value of FILE.delete()",
  "jfsyn.SECURITY.CALL.KEY_EQUALS.defect": "Key.equals() needs other comparing between each data at key object.",
  "jfsyn.SECURITY.CALL.LOCK_HOLDING.defect": "Do not call a thread holding method in a synchronized method .",
  "jfsyn.SECURITY.CALL.PUBLIC_METHOD.defect": "This method should not call a overridable method which is public or not final.",
  "jfsyn.SECURITY.CALL.RAW_COLLECTION.defect": "Do not invoke methods in raw type collections.",
  "jfsyn.SECURITY.CALL.REFLECTION.defect": "method should be private or final.",
  "jfsyn.SECURITY.CALL.REFLECT_PERMISSION.defect": "Do not use the ReflectionPermission() method to acquire permissions.",
  "jfsyn.SECURITY.CALL.REMOVE.LOOP.defect": "Do not modify the underlying collection when an iteration is in progress.",
  "jfsyn.SECURITY.CALL.SECURITY_CHECK.defect.check_method": "A name of security method is not a proper name.",
  "jfsyn.SECURITY.CALL.SECURITY_CHECK.defect.security_check": "This method should call any security method calls.",
  "jfsyn.SECURITY.CALL.SYSTEM_GETENV.defect": "Do not invoke the System.getEnv() method.",
  "jfsyn.SECURITY.CALL.THREAD_INTERRUPTED.defect": "Should use Thread.interrupted() in a synchronized block, If a class is threadable.",
  "jfsyn.SECURITY.CALL.THREAD_START.defect": "Thread execution methods should not be invoked within the constructor.",
  "jfsyn.SECURITY.CALL.THREAD_STOP.defect": "Do not invoke the Thread.stop() method.",
  "jfsyn.SECURITY.CALL.THROWS.FINALLY.defect": "The exception thrown by method {0} was unhandled.",
  "jfsyn.SECURITY.CALL.URL_EQUALS.defect": "The URL.equals() method should not be called immediately.",
  "jfsyn.SECURITY.CAST.FLOAT_DOUBLE.defect.to_double": "Warning the narrow casting of types of double.",
  "jfsyn.SECURITY.CAST.FLOAT_DOUBLE.defect.to_float": "Warning the narrow casting of types of float.",
  "jfsyn.SECURITY.CHECK.OVERRIDE_METHOD.defect": "A method in the super class does not exist in the child class.",
  "jfsyn.SECURITY.CHECK.OVERRIDE_METHOD.defect.parent": "The super class's {0} method of the super class does not exist in the child class.",
  "jfsyn.SECURITY.CLASS.CLONE.defect.non_clone": "Class {0} is not final.",
  "jfsyn.SECURITY.CLASS.CLONE.defect.throw_clone": "CloneNotSupportedException Exception must be handled in the clone() method.",
  "jfsyn.SECURITY.CLASS.MUTABLE_COPY.defect": "The mutable variable should be assinged with creating instances and final.",
  "jfsyn.SECURITY.CLASS_IN_TRUST_PACKAGE.defect": "An unreliable code has been used. {0}",
  "jfsyn.SECURITY.COMPARE.CLASS_NAME.defect": "Do not compare to between class names.",
  "jfsyn.SECURITY.DECLARE.INSTANCE.ORDER.defect": "Order of instance of this class and field members is an inappropriate sequence.",
  "jfsyn.SECURITY.EXCEPTION_THROWING_CONSTRUCTOR.defect": "Avoid creating exceptions within the constructor.",
  "jfsyn.SECURITY.FILE.GLOBAL_ACCESS.defect": "MODE_PRIVATE should be used to access files in the internal storage.",
  "jfsyn.SECURITY.FILE_AND_FLAG.LOOP.defect": "Some volatile flags or interruption do not use with file i/o call at loop expressions.",
  "jfsyn.SECURITY.IMPLEMENT.EXTERNALIZABLE.defect": "ObjectInput and ObjectOutput method call should be inside synchronized blocks in readExternal or writeExternal methods.",
  "jfsyn.SECURITY.IMPROPER_RESTORATION_ON_FAILURE.defect": "A restoration should be placed at the catch or the finally block.",
  "jfsyn.SECURITY.INCOMPLETE_STATIC_INITIALIZER.defect": "The static field can be initialized incompletely.",
  "jfsyn.SECURITY.INFINITE_LOOP.defect": "This loop has a potential infinite loop problem.",
  "jfsyn.SECURITY.INFINITE_LOOP.defect.const_condition": "This loop has constant condition, so it can be an infinite loop or dead code.",
  "jfsyn.SECURITY.INITIALIZER.THREAD.defect": "Do not create a instance of Thread in the static initializer.",
  "jfsyn.SECURITY.INNER_CLASS.SERIALIZABLE.defect": "Use the static modifier to serializable inner class.",
  "jfsyn.SECURITY.INTER_CLASS_CYCLE.defect": "Field variables in other classes should not be used when initializing field variables.",
  "jfsyn.SECURITY.LOOP_VARIABLE_FINAL.defect": "The final qualifier is not written to the loop variable in the for-each statement.",
  "jfsyn.SECURITY.METHOD.OVERRIDE.CLONEABLE.defect": "A class Cloneable is implemented should have only final methods.",
  "jfsyn.SECURITY.METHOD.OVERRIDE.GETPERMISSIONS.defect": "super.getPermision() was not used.",
  "jfsyn.SECURITY.METHOD.OVERRIDE.STATIC.defect": "The method which has two public and static modifiers should remove static modifier.",
  "jfsyn.SECURITY.METHOD.OVERRIDE.defect": "Do not use a 'public' modifier without 'final' at this method.",
  "jfsyn.SECURITY.METHOD.PROTECTED.defect": "{0} method overridden in lower class. Final qualifier is required.",
  "jfsyn.SECURITY.PARTIALLY_INITIALIZED_OBJECT.defect": "A partially initialized object can be generated due to the uninitialized field.",
  "jfsyn.SECURITY.PATTERN.METHOD_CHAINING.defect": "The method chaining pattern should not be used in the run() method.",
  "jfsyn.SECURITY.PATTERN.THREAD_PER_MESSAGE.defect": "Thread per message pattern must use thread pool.",
  "jfsyn.SECURITY.PUBLISH_BEFORE_INITIALIZATION.defect": "Care must be taken as it may be an object reference before the member variables.",
  "jfsyn.SECURITY.RETURN.INPUTSTREAM_READ.defect": "The value of return InputStream.read() should be assigned to integer type.",
  "jfsyn.SECURITY.RETURN.INTEGER_DATA.defect": "Missing mask '0xFFFFFFFFL' for return value of readInt() method.",
  "jfsyn.SECURITY.RETURN.WRAP_OR_DUPLICATE.defect": "{0} should not be returned.",
  "jfsyn.SECURITY.SERIALIZABLE.FIELD.TRANSIENT.defect": "All fields should be private transient on this class.",
  "jfsyn.SECURITY.SERIALIZABLE.METHOD_OVERRIDE.defect": "{0} class should override methods which throw NotSerializableException.",
  "jfsyn.SECURITY.SYNCHRONIZE.ATOMIC_VALUE.defect": "A method other than synchronized is returning a private member variable. {0}",
  "jfsyn.SECURITY.SYNCHRONIZE.ATOMIC_VALUE.source": "Private member variables were used for composite operators within methods other than synchronized. {0}",
  "jfsyn.SECURITY.SYNCHRONIZE.BACK_COLLECTION.defect": "This variable may have a problem of backing collection, when using as lock.",
  "jfsyn.SECURITY.SYNCHRONIZE.GET_CLASS.defect": "The getClass() method should not be used as a lock object.",
  "jfsyn.SECURITY.SYNCHRONIZE.LOCK_OR_CONDITION.defect": "{0} class audience should not be used as lock instance.",
  "jfsyn.SECURITY.SYNCHRONIZE.ORDER.defect": "This method should be checked by checking security method.",
  "jfsyn.SECURITY.SYNCHRONIZE.REUSABLE_OBJECT.defect": "Reusable objects should not be used as locks in synchronized.",
  "jfsyn.SECURITY.SYNCHRONIZE.STATIC.FIELD.defect": "For the in-public function, the static field variable must be in the synchronized block.",
  "jfsyn.SECURITY.THREAD.LOCAL.NOT_REINITIALIZED.defect": "The class which contains any thread-local variables should be reinitialized.",
  "jfsyn.SECURITY.THREAD.SHARED_VARIABLE.defect": "Some shared field variables in run() method should be volatile.",
  "jfsyn.SECURITY.THROW.THREAD_POOL.defect": "Thread pool must not be used without threadFactory type factor.",
  "jfsyn.SENSITIVE_COOKIE_IN_HTTPS_SESSION_WITHOUT_SECURE_ATTRIBUTE.defect": "A cookie has been stored to the browser without the secure attribute.",
  "jfsyn.SENSITIVE_COOKIE_IN_HTTPS_SESSION_WITHOUT_SECURE_ATTRIBUTE.sca.desc.default": "Call setSecure(true) for Cookie object to set secure attribute.",
  "jfsyn.SERVER_SIDE_REQUEST_FORGERY.defect.use_localvar": "The external input value {0} was used without separate validation.",
  "jfsyn.SERVER_SIDE_REQUEST_FORGERY.defect.use_only_method": "The External input values was used immediately without any validation.",
  "jfsyn.SERVLET_WORK_WITH_COMMITTED_RESPONSE.defect": "The response was already committed to the servlet.",
  "jfsyn.SERVLET_WORK_WITH_COMMITTED_RESPONSE.source": "Response has been committed.",
  "jfsyn.SET_STATIC_IN_NON_STATIC.defect": "A static field has been set in the non-static method.",
  "jfsyn.SIGNATURE_DECLARE_THROWS_EXCEPTION.defect": "method or constructor throws an Exception.",
  "jfsyn.SPECIFIC_PATH_BOOLEAN_NAME.defect": "The boolean variable violates the variable naming convention.",
  "jfsyn.SSI_INJECTION.defect": "The tainted value is used in a server side include.",
  "jfsyn.STRING_CONVERSION_WITH_CONSTRUCTOR.defect": "Do not perform any string conversions with constructors.",
  "jfsyn.SYSTEM_PRINTLN.defect": "Use a dedicated logger instead of System.out.print() or System.err.print().",
  "jfsyn.TOO_COMPLEX_FOR_STATEMENT.defect.initialization": "Only {0} expression(s) is(are) allowed in the for initialization.",
  "jfsyn.TOO_COMPLEX_FOR_STATEMENT.defect.update": "Only {0} expression(s) is(are) allowed in the for update.",
  "jfsyn.TOO_LONG_COLUMN.defect": "The number of columns exceeded the allowed maximum column length {0}.",
  "jfsyn.UNCHECKED_OGNL_EXPRESSION.defect.use_localvar": "The external input value {0} was used without separate validation.",
  "jfsyn.UNCHECKED_OGNL_EXPRESSION.defect.use_only_method": "The External input values was used immediately without any validation.",
  "jfsyn.UNCHECKED_SPEL_EXPRESSION.SPRING.defect.use_localvar": "The external input value {0} was used without separate validation.",
  "jfsyn.UNCHECKED_SPEL_EXPRESSION.SPRING.defect.use_only_method": "The External input values was used immediately without any validation.",
  "jfsyn.UNNECESSARY_IMPORT_IN_SPECIFIC_PATH.defect.dup": "An import has been declared, but duplicated with the class of already declared import.",
  "jfsyn.UNNECESSARY_IMPORT_IN_SPECIFIC_PATH.defect.not_used": "An unused import has been declared.",
  "jfsyn.UNNECESSARY_IMPORT_IN_SPECIFIC_PATH.defect.package": "import has been declared for the already declared package.",
  "jfsyn.UNNECESSARY_PARENTHESIS.defect": "An unnecessary parenthesis was used.",
  "jfsyn.UNNECESSARY_STATEMENT.defect": "An unnecessary statement has been found in the method body.",
  "jfsyn.UNNECESSARY_TO_STRING.defect": "An unnecessary toString() method was called.",
  "jfsyn.UNNOTIFIED_OBJECT.defect": "The waited object should be notified in the same class.",
  "jfsyn.UNPROCESSED_EXCEPTION_THROW.defect": "An unprocessed exception throw has been found.",
  "jfsyn.UNRELEASED_LOCK.defect": "The locked object should be unlocked in the same method.",
  "jfsyn.UNSAFE_JACKSON_DESERIALIZATION.defect": "When invoking the ObjectMapper.enableDefaultTyping() method, a deserialization vulnerability may occur.",
  "jfsyn.UNSAFE_JACKSON_DESERIALIZATION.defect.use_annotation": "You must use id.NAME instead of {0}.",
  "jfsyn.UNSAFE_XSTREAM_DESERIALIZATION.defect": "A deserialization vulnerability may occur when invoking the XStream.fromXML() method.",
  "jfsyn.UNSYNCHRONIZED_ACCESS_TO_SHARED_DATA_MULTITHREAD.defect": "Multi-threaded methods that use static variables require synchronization.",
  "jfsyn.UNSYNCHRONIZED_STATIC_DATE_FORMATTER.defect": "Incomplete references are available in other threads.",
  "jfsyn.UNTRUSTED_DATA_IN_PRIVILEGED_BLOCK.defect": "The untrusted data has been used in the privileged block.",
  "jfsyn.UNUSED.LOCAL_VARIABLE.defect": "There is an unused local variable.",
  "jfsyn.UNUSED_IMPORT.defect.cur_package": "An item from the current package has been imported unnecessarily.",
  "jfsyn.UNUSED_IMPORT.defect.dup_ondemand": "Detected duplication of on-demand import using asterisk.",
  "jfsyn.UNUSED_IMPORT.defect.javalang": "Import item in java.lang package is useless.",
  "jfsyn.UNUSED_IMPORT.defect.unused": "The imported item has never been used.",
  "jfsyn.UNUSED_PRIVATE_METHOD.defect": "An unused private method has been found.",
  "jfsyn.UNUSED_PRIVATE_VARIABLE.defect": "An unused private variable has been found.",
  "jfsyn.USELESS_OVERRIDING_METHOD.defect": "You called a superclass method with the same name as the method.",
  "jfsyn.USE_ADJACENT_UNARY_OPERATOR.defect": "Use an unary operator adjacently to the operand.",
  "jfsyn.USE_CONCURRENT_HASH_MAP.defect": "You didn't use ConcurrentHashMap.",
  "jfsyn.USE_EQUALS_TO_COMPARE_STRINGS.defect": "A comparison operator was used to compare strings.",
  "jfsyn.USE_NOTIFY_ALL_INSTEAD_OF_NOTIFY.defect": "You used notify() with no arguments.",
  "jfsyn.USE_OF_CLASS_LOADER.defect": "You should avoid using direct class loaders in an EJB environment.",
  "jfsyn.USE_OF_HARDCODED_CRYPTOGRAPHIC_KEY.defect": "Using hardcoded information in the {1}th parameter of {0} increases possibility to be exploited by hackers.",
  "jfsyn.USE_OF_INNER_CLASS_CONTAINING_SENSITIVE_DATA.defect": "Do not access the private fields of the outer class in the inner class.",
  "jfsyn.USE_OF_INSUFFICIENT_RANDOM_VALUES.defect": "An insufficient random value has been used.",
  "jfsyn.USE_OF_INSUFFICIENT_RANDOM_VALUES.sca.desc.set_seed": "Use better seed value for java.util.Random instaed of dangerous constant seed.",
  "jfsyn.USE_OF_INSUFFICIENT_RANDOM_VALUES.sca.desc.use_random_class": "Use java.util.Random instead of dangerous random number generator.",
  "jfsyn.USE_OF_SOCKETS.defect": "It is prohibited to use ServerSocket in the EJB program.",
  "jfsyn.USE_OF_SYNCHRONIZATION_PRIMITIVES.defect": "The synchronized method should not be used in the EJB specification. {0}",
  "jfsyn.USE_OF_SYNCHRONIZATION_PRIMITIVES.source": "Using the EJB standard.",
  "jfsyn.USE_ONE_CASE_PER_LINE.defect": "Use only one case per a line.",
  "jfsyn.USE_ONE_DECLARATION_PER_LINE.defect": "Use only one declaration per a line.",
  "jfsyn.USE_ONE_STATEMENT_PER_LINE.defect": "Use only one statement per a line.",
  "jfsyn.USE_SHIFT_OPERATORS_CORRECTLY.defect": "Appropriate verification is required when using external input values for shift operations.",
  "jfsyn.USE_STRICTFP_FOR_DIVISION.defect": "Declare a method or a class with strictfp in order to perform divisions.",
  "jfsyn.USE_SYNCHRONIZED_PUBLIC_METHOD.defect": "Use a synchronized public method since fields are used in the method.",
  "jfsyn.USE_TAB_BETWEEN_TYPE_AND_IDENTIFIER.defect": "Use tabs only between a type and an identifier on declarations.",
  "jfsyn.USE_UTILITY_CLASS.defect": "A class with only static elements exists, not a utility class.",
  "jfsyn.USING_DYNAMIC_CLASS_LOADING.defect": "A class should not be loaded dynamically.",
  "jfsyn.USING_SYSTEM_EXIT.defect": "Do not call System.exit().",
  "jfsyn.USING_WEAK_CRYPTOGRAPHIC_ALGORITHM.defect": "An weak cryptographic algorithm has been used.",
  "jfsyn.USING_WEAK_CRYPTOGRAPHIC_ALGORITHM.sca.desc.default": "Use {0} instead of weak cryptographic algorithm.",
  "jfsyn.WEAK_CRYPTOGRAPHIC_HASH_HARDCODED_SALT.defect": "A hard-coded salt has been used for an encryption.",
  "jfsyn.WEAK_ENCRYPTION_INADEQUATE_RSA_PADDING.defect": "An inadequate RSA padding has been set.",
  "jfsyn.WEAK_ENCRYPTION_INSUFFICIENT_KEY_SIZE.defect": "The key size {0} for {1} algorithm is insufficient. The size should be greater than {2}.",
  "jfsyn.WEAK_ENCRYPTION_INSUFFICIENT_KEY_SIZE.sca.desc.default": "The key size of the algorithm should be larger than or equal to {0}.",
  "jfsyn.WEAK_PASSWORD_REQUIREMENTS.defect": "The password has been used without any validation processes.",
  "jfsyn.WEAK_SERVER_CERTIFICATES.defect": "CheckServerTrusted() method is empty.",
  "jfsyn.WEAK_SERVER_CERTIFICATES.defect.no_throw": "CertificateException is not excepted.",
  "jfsyn.WEAK_XML_TRANSFORMERS_SECURITY.defect": "After you create a TransformerFactory object, you must set security options.",
  "jfsyn.WEAK_XML_TRANSFORMERS_SECURITY.defect.no_attr": "Security options must be set on the generated TransformerFactory object.",
  "jfsyn.WEAK_XML_TRANSFORMERS_SECURITY.defect.no_dtd": "XMLConstants.ACCESS_EXTERNAL_DTD is not set on the TransformerFactory object",
  "jfsyn.WEAK_XML_TRANSFORMERS_SECURITY.defect.no_style": "XMLConstants.ACCESS_EXTERNAL_STYLESHEET is not set on the TransformerFactory object",
  "jfsyn.WRONG_EXCEPTION_HANDLING_IN_PM.defect": "An unhandled POBISException exception occurred in the try statement inside PM.",
  "jfsyn.XML_EXTERNAL_ENTITY_ATTACKS.defect": "XML parsing was performed without validation.",
  "jfsyn.XSS.JSTL_COUT_ESCAPE_XML_FALSE.defect": "escapeXml attribute is set to false.",
  "jfsyn.XSS.WARNING.defect": "The tainted value is used.",
  "jfsyn.XSS_DOM.defect": "The tainted value is used.",
  "jschk.ASSIGNMENT_IN_CONDITION.JS.defect": "The assignment operator (`=`) is used in the condition of {0} statement.",
  "jschk.BAD.FSS_FORM_PREFIX_NAMING.TOBE.JS.defect.function": "The form function name is not started with naming convention prefix set to the option.",
  "jschk.BAD.FSS_FORM_PREFIX_NAMING.TOBE.JS.defect.variable": "The form global variable name is not started with naming convention prefix set to the option.",
  "jschk.BAD.FSS_GLOBAL_PREFIX_NAMING.TOBE.JS.defect.function": "The function name in unit system is not started with naming convention prefix set to the option.",
  "jschk.BAD.FSS_GLOBAL_PREFIX_NAMING.TOBE.JS.defect.variable": "The global variable name in unit system is not started with naming convention prefix set to the option.",
  "jschk.BAD_CALL.FORBIDDEN.JS.defect": "A forbidden function has been called.",
  "jschk.CODE_INJECTION.JS.defect.sink": "Using {0} can cause code injection attacks; you should filter out special characters or use a white list.",
  "jschk.COMMON.called.anonymous": "This calls anonymous function.",
  "jschk.COMMON.value.assigned.to.anonymous": "This allocates a value to anonymous function.",
  "jschk.COMMON.value.passed.to.anonymous": "This causes a value to be sent to anonymous function.",
  "jschk.COMMON.value.returned.from.anonymous": "This returns a value from anonymous function.",
  "jschk.CROSS_SITE_REQUEST_FORGERY.JS.defect": "A form data transmitted by function.",
  "jschk.CSRF.NODEJS.JS.defect.cookie": "CSRF attacks can occur due to not using CSRF-protected tokens.",
  "jschk.CSRF.NODEJS.JS.defect.notuse": "CSRF attacks can occur due to not using CSRF-protected tokens.",
  "jschk.DATA_STORING.SENSITIVE_INFORMATION.TOBE.JS.defect": "Saved sensitive data in Dataset.",
  "jschk.DESERIALIZATION_OF_UNTRUSTED_DATA.JS.defect": "Use a deserialization method that is vulnerable to security.",
  "jschk.DO_NOT_USE_FINDDOMNODE.REACT.defect": "findDOMNode() should not be used.",
  "jschk.DYNAMIC_CODE_MANIPULATION.JS.defect": "$where operator has been used.",
  "jschk.EMPTY_CATCH_BLOCK.JS.defect": "The catch block has been emptied.",
  "jschk.ERROR_MESSAGE_INFORMATION_LEAK.JS.defect": "Error information from the server is passed through the error object, which can expose sensitive information.",
  "jschk.FORBIDDEN.ASSIGNMENT.INNER_HTML.JS.defect": "A value should not be assigned to the innerHTML field.",
  "jschk.FORBIDDEN.ASSIGNMENT_IN_OPERAND.JS.defect": "Assignments has been used in operands.",
  "jschk.FORBIDDEN.BITWISE_OPERATION.JS.defect": "A bitwise operator has been used.",
  "jschk.FORBIDDEN.EASY_DATABASE_NAME.JS.defect": "Easy-to-guess database name used.",
  "jschk.FORBIDDEN.EDIT.NATIVE_OBJECT_PROTOTYPE.JS.defect": "A prototype of native object overwriting",
  "jschk.FORBIDDEN.EQUAL_COMPARISON.JS.defect.equal": "operator == used.",
  "jschk.FORBIDDEN.EQUAL_COMPARISON.JS.defect.not_equal": "operator != used.",
  "jschk.FORBIDDEN.EVAL_FUNCTION.JS.defect": "A eval has been called.",
  "jschk.FORBIDDEN.GLOBAL_VARIABLE.JS.defect": "Declare global variables by missing the \"var\" declaration",
  "jschk.FORBIDDEN.INSECURE_RANDOM.JS.defect": "It is dangerous to use insecure pseudo-random number.",
  "jschk.FORBIDDEN.LOCAL_STORAGE.JS.defect": "localStorage used.",
  "jschk.FORBIDDEN.WEAK_ALGORITHM.JS.defect": "Using {0} leaves you vulnerable to a randomized substitution attack.",
  "jschk.FORBIDDEN.WEAK_MIUPDATER.TOBE.JS.defect": "Weak version of miupdater used.",
  "jschk.FORBIDDEN.WITH_STATEMENT.JS.defect": "A with has been used.",
  "jschk.HTML5.CROSS_DOCUMENT_MESSAGING.JS.defect": "A forbidden domain has been used.",
  "jschk.HTTP.SECURITY_HEADER_SETTINGS.JS.defect": "Http security headers are not used.",
  "jschk.IMPROPER_SIGNATURE.JS.defect.sign": "JWT does not contain a signature.",
  "jschk.IMPROPER_SIGNATURE.JS.defect.verify": "'none' algorithm is used to verify the JWT's signature.",
  "jschk.INAPPROPRIATE_HTTP.HEADERS.JS.defect.header": "The X-XSS-Protection header is deprecated in modern browsers and should be disabled.",
  "jschk.INAPPROPRIATE_HTTP.HEADERS.JS.defect.sink": "The X-Powered-By header is an unnecessary header that causes information flow and should be disabled.",
  "jschk.INFINITE_RECURSIVE_CALL.JS.defect": "Recursion with unclear termination conditions can cause programs to behave erratically.",
  "jschk.INVALID_OPERAND_TYPE.JS.defect": "Use invalid operand type",
  "jschk.LEFTOVER_DEBUG_CODE.JS.defect": "Debug code can cause unintended information disclosure issues and is recommended to be removed.",
  "jschk.LEFTOVER_DEBUG_CODE.TOBE.JS.defect": "Check for code left for debugging purposes.",
  "jschk.LIMIT.QUICK_TABS_TEXT_FONT.TOBE.JS.defect": "Excess length of string assigned QuickTabsTextFont property.",
  "jschk.NEGATIVE_NUMBER_PROPERTY.JS.defect": "Use negative number",
  "jschk.OS_COMMAND_INJECTION.JS.defect.shell": "A shell is created with \"shell: true\" as an options value, which can lead to an operating system command injection vulnerability.",
  "jschk.OS_COMMAND_INJECTION.JS.defect.sink": "Unvalidated values are dangerous because they can be used in methods that cause operating system instruction injection.",
  "jschk.PATH_CONTAMINATION.JS.defect.sink": "It is dangerous to use an unvalidated input in a method that is vulnerable to path traversal.",
  "jschk.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.TOBE.JS.defect": "Saved sensitive data in global variable.",
  "jschk.POOR_LOGGING_PRACTICE.JS.defect": "Use Not dedicated logger",
  "jschk.PRIVACY_VIOLATION.JS.defect": "Private information is saved in storage that can be easily exposed",
  "jschk.REDOS.JS.defect": "Weak regular expressions were used without checking.",
  "jschk.REGISTRY.LEAK.TOBE.JS.defect": "registry variable is not cleared.",
  "jschk.RESOURCE_INJECTION.JS.defect.sink": "It is dangerous to use an unvalidated input in a method that is vulnerable to resource injection.",
  "jschk.SCOPE_FOR_IN_VARIABLE.JS.defect": "Use variable in for-in loop by missing the \"var\" declaration",
  "jschk.SCRIPT_INJECTION.REACT.defect": "The value of JSON.stringify() is not filtered by replacer.",
  "jschk.SENSITIVE_COOKIE.FLAG.JS.defect.false": "Security flag of cookie was set to false.",
  "jschk.SENSITIVE_COOKIE.FLAG.JS.defect.httponly": "httpOnly flag of cookie not set.",
  "jschk.SENSITIVE_COOKIE.FLAG.JS.defect.notset": "Security flag of cookie was not set.",
  "jschk.SENSITIVE_COOKIE.FLAG.JS.defect.secure": "secure flag of cookie was not set.",
  "jschk.SQL_INJECTION_MYSQL.JS.defect.sink": "Externally input values are used without binding processing, which is dangerous.",
  "jschk.SQL_INJECTION_NOSQL.JS.defect.sink": "If you don't cast to the correct type, you run the risk of being exposed.",
  "jschk.SQL_INJECTION_NOSQL.JS.defect.where": "Using the $where operator without a whitelist puts you at risk.",
  "jschk.SQL_INJECTION_ORM.JS.defect.sink": "Externally input values are used without binding processing, which is dangerous.",
  "jschk.SQL_INJECTION_POSTGRESQL.JS.defect.sink": "Externally entered tainted values are used without escaping query handling, which is dangerous.",
  "jschk.STRICT_MODE.JS.defect": "Not declaring strict mode may result in unexpected errors or dangerous methods used by developers.",
  "jschk.STRICT_MODE.JS.defect.inside": "If strict mode is not declared globally, developers may accidentally make their source code vulnerable.",
  "jschk.STRICT_MODE.JS.defect.nottop": "Strict mode does not work unless it is used at the top of the source code except for comments.",
  "jschk.TRANSACTION.GET.TOBE.JS.defect": "A transaction method is used with GET interface",
  "jschk.TRANSACTION.NOT_BINARY.TOBE.JS.defect": "Data used by transaction function is transmitted by not binary type.",
  "jschk.TRANSACTION.PLAIN.TOBE.JS.defect": "Data used by transaction function is transmitted without compression.",
  "jschk.TRANSACTION.SYNC.TOBE.JS.defect": "Detect if a transaction function is performed in synchronous method.",
  "jschk.UNCAUGHT_EXCEPTION.JS.defect": "You used uncaughtException, but did not exit the program. You must exit the program with exit().",
  "jschk.UNNECESSARY_BLOCK.JS.defect": "Unnecessary block('{}') used.",
  "jschk.UNNECESSARY_PARENTHESES.JS.defect": "Unnecessary parentheses('()') used.",
  "jschk.UNREACHABLE_CODE.JS.defect": "Not executable code has been found.",
  "jschk.USE.PROPER_VARIABLE_NAME.JS.defect": "Invalid variable name",
  "jschk.USE_BRACES.JS.defect": "The block ('{}') is not used in statement.",
  "jschk.USE_DANGEROUS_INNERHTML.REACT.defect.sink": "Using the dangerouslySetInnerHTML property unfiltered can expose you to an XSS attack. To be safe, use a secure API or remove special characters.",
  "jschk.WEAK_ENCRYPTION.INSUFFICIENT_KEY_SIZE.JS.defect": "An insufficient key length allows attackers to find out the key and decrypt data in a short amount of time.",
  "jschk.WEAK_HASH.JS.defect.salt": "{0} function must be used with a salt value to be safe.",
  "jschk.WEAK_HASH.JS.defect.weak": "Using {0} to hash data leaves you vulnerable to randomization attacks. It is safer to use something like Bcrypt or PBKDF2 instead.",
  "jschk.WEAK_PASSWORD.EMPTY_PASSWORD.JS.defect": "Empty password used.",
  "jschk.WEAK_PASSWORD.HARDCODED_PASSWORD.JS.defect": "Hardcoded password used.",
  "jschk.WEAK_SERVER_CERTIFICATES.JS.defect": "The rejectUnauthorized option is set to false in the {1}th argument of the {0} function.",
  "jschk.WEAK_XML_TRANSFORMERS_SECURITY.JS.defect": "External entity parsing is disabled by default in libxml, but it is safe to explicitly declare it.",
  "jschk.XSS.NODEJS.JS.defect.sink": "Using external input values without filtering or encoding them leaves you vulnerable to XSS attacks.",
  "jschk.XSS_FROM_URL.REACT.defect": "It is necessary to verify that the value of href is correct url.",
  "jschk.XSS_VANILLA_JS.JS.defect.sink": "Writing externally input data to the DOM without any validation leaves you vulnerable to XSS attacks.",
  "jsyn.DIFFERENT_MESSAGE_CODE.defect": "A string that violates the other business message code conventions has found.",
  "kotlinchk.ALLOWED_XML_DTD.KOTLIN.defect.explicit": "A configuration that explicitly allows DTD declarations has been found.",
  "kotlinchk.ALLOWED_XML_DTD.KOTLIN.defect.implicit": "The setting to disable DTD declaration is missing.",
  "kotlinchk.ALLOWED_XML_EXTERNAL_ENTITY.KOTLIN.defect.sink": "There is a risk of XXE when processing external input-based XML without separate security options.",
  "kotlinchk.ALWAYS_FAIL_CAST.KOTLIN.defect": "An unsuccessful cast operation is detected.",
  "kotlinchk.ANDROID_FD_TO_IMPLICIT_BROADCAST.KOTLIN.defect.sink": "A file descriptor (`ParcelFileDescriptor`) is transmitted via implicit broadcast.",
  "kotlinchk.ANDROID_SENSITIVE_TO_IMPLICIT_BROADCAST.KOTLIN.defect.sink": "Sensitive information is transmitted via implicit broadcast.",
  "kotlinchk.ANDROID_UNSAFE_HOSTNAME_VERIFICATION.KOTLIN.defect": "HostnameVerifier's verify function always returns true.",
  "kotlinchk.BAD_CALL.FORBIDDEN.KOTLIN.defect": "Do not call a forbidden method.",
  "kotlinchk.BUFFER_OVERFLOW_UNSAFE_COPY_MEMORY.KOTLIN.defect": "A buffer overflow occurs because the allocated memory size is {0} bytes, while the size to be copied is {1} bytes.",
  "kotlinchk.CONFUSING_OPERATOR_PRECEDENCE.KOTLIN.defect": "Operators with different precedence levels are used in the compound expression without parentheses.",
  "kotlinchk.CONSTANT_RANDOM_SEED.KOTLIN.defect": "A fixed seed is used to generate pseudo-random numbers.",
  "kotlinchk.DATABASE_CONNECTION_RACE_CONDITION.KOTLIN.defect.companion": "Connection object is being created within the companion object block.",
  "kotlinchk.DATABASE_CONNECTION_RACE_CONDITION.KOTLIN.defect.object": "Connection object is being created inside the object.",
  "kotlinchk.DATABASE_CONNECTION_RACE_CONDITION.KOTLIN.defect.top_level": "Connection object is being created at the top level.",
  "kotlinchk.DATA_LEAK_BETWEEN_SESSIONS.KOTLIN.defect": "A non val field has been used.",
  "kotlinchk.DEAD_LOCK.KOTLIN.defect.block_main": "runBlocking(Dispatchers.Main) can ban main (UI) thread from being executed, potentially leading to a deadlock.",
  "kotlinchk.DEAD_LOCK.KOTLIN.defect.nested_lock": "A deadlock can occur by acquiring the parameter lock in a nested manner within synchronized(this).",
  "kotlinchk.DESERIALIZATION_OF_UNTRUSTED_DATA.KOTLIN.defect.annotation": "Uses a security-vulnerable annotation during deserialization.",
  "kotlinchk.DESERIALIZATION_OF_UNTRUSTED_DATA.KOTLIN.defect.method": "Uses a security-vulnerable function during deserialization.",
  "kotlinchk.DESERIALIZATION_OF_UNTRUSTED_DATA.KOTLIN.defect.setting": "Uses a security-vulnerable setting during deserialization.",
  "kotlinchk.DIVIDE_BY_ZERO.KOTLIN.defect.unchecked": "No validation or exception handling to check that a division denominator is not 0.",
  "kotlinchk.DIVIDE_BY_ZERO.KOTLIN.defect.zero": "A division operation with a denominator of constant 0 is detected.",
  "kotlinchk.DO_NOT_USE_NOT_NULL_ASSERTION_OPERATOR.KOTLIN.defect": "Using the not-null assertion operator(!!) can cause a NullPointerException.",
  "kotlinchk.EMPTY_CATCH_BLOCK.KOTLIN.defect": "The catch block has been emptied.",
  "kotlinchk.EXPOSURE_OF_SYSTEM_DATA.KOTLIN.defect": "A sensitive system data has been exposed.",
  "kotlinchk.FIXED_CONDITION_EXPRESSION.KOTLIN.defect.false": "A condition expression that is always evaluated as false is used.",
  "kotlinchk.FIXED_CONDITION_EXPRESSION.KOTLIN.defect.true": "A condition that is always evaluated to true has been used.",
  "kotlinchk.HARDCODED_COMPARISON.KOTLIN.defect": "An external input suspected of being sensitive information is directly compared with a hardcoded literal. {0}: {1}",
  "kotlinchk.HARDCODED_PASSWORD.KOTLIN.defect": "The hard-coded {2} was passed as the {1}th argument of the {0} method.",
  "kotlinchk.HARDCODED_SECURITY_INFO.KOTLIN.defect": "Potentially sensitive data is hardcoded. {0}: {1}",
  "kotlinchk.HARD_CODED.CRYPTOGRAPHIC_KEY.KOTLIN.defect": "The hard-coded {2} was passed as the {1}th argument of the {0} method.",
  "kotlinchk.IGNORE_CAUGHT_EXCEPTION.KOTLIN.defect": "There is no logic to handle actual exceptions.",
  "kotlinchk.IMPROPER_AUTHORIZATION.KOTLIN.defect": "An improper authorization has been used.",
  "kotlinchk.IMPROPER_SIGNATURE.KOTLIN.defect": "Use JarFile without signature.",
  "kotlinchk.INCORRECT_PERMISSION_ASSIGNMENT_FOR_CRITICAL_RESOURCE.KOTLIN.defect": "Minimize the arguments of the chmod command so that no more privileges are granted than necessary.",
  "kotlinchk.INTEGER_OVERFLOW.KOTLIN.defect": "External input is being used in integer operations without proper validation.",
  "kotlinchk.INTEGER_OVERFLOW.KOTLIN.defect.not_exact": "Using {1} instead of {0} in a conversion where the range of the integer type is reduced.",
  "kotlinchk.INTEGER_OVERFLOW.KOTLIN.defect.sink": "External input is being used in integer operations without proper validation.",
  "kotlinchk.INTEGER_OVERFLOW.KOTLIN.defect.wraparound": "The integer value is outside the range of the target type {0}. {1}",
  "kotlinchk.LEFTOVER_DEBUG_CODE.KOTLIN.defect.code": "A debug code has been left.",
  "kotlinchk.LEFTOVER_DEBUG_CODE.KOTLIN.defect.method": "A debug method has been left.",
  "kotlinchk.LEFTOVER_DEBUG_METHOD.KOTLIN.defect": "A debug method has been left.",
  "kotlinchk.MISSING_AUTHENTICATION.CRITICAL_FUNCTION.KOTLIN.defect": "The critical function is called without authentications.",
  "kotlinchk.MISSING_LOGIN_CONTROL.KOTLIN.defect": "The login routine should be controlled by any loops.",
  "kotlinchk.MISUSE_CONDITION_OPERATOR.KOTLIN.defect.ref": "The reference equality operator (===) is used instead of comparison.",
  "kotlinchk.MISUSE_CONDITION_OPERATOR.KOTLIN.defect.str": "String literals used with the `in` operator can behave as substring searches, contrary to the original intent.",
  "kotlinchk.OVERLY_BROAD_CATCH.KOTLIN.defect": "General exceptions will be caught.",
  "kotlinchk.OVERLY_BROAD_THROW.KOTLIN.defect": "A broad exception object is being thrown.",
  "kotlinchk.PASSWORD_IN_COMMENT.KOTLIN.defect.including_password": "A password is written in the comment.",
  "kotlinchk.PASSWORD_IN_COMMENT.KOTLIN.defect.over_max_word_length": "The length of a single word {0} in the comment exceeds the allowed maximum word length {1}.",
  "kotlinchk.PASSWORD_IN_COMMENT.KOTLIN.defect.word_length_fixed": "The word in the comment with the fixed length {0} is assumed as a critical key.",
  "kotlinchk.PERSISTENT_COOKIE.KOTLIN.defect": "max_age of cookie {0} exceeds the allowed maximum value {1}.",
  "kotlinchk.PREDICTABLE_RANDOM_SEED.KOTLIN.defect.pid": "A predictable process ID is used as a seed.",
  "kotlinchk.PREDICTABLE_RANDOM_SEED.KOTLIN.defect.time": "A predictable time is used as a seed.",
  "kotlinchk.PRIVATE_COLLECTION.KOTLIN.defect.private_array": "A private array has been return from the public method.",
  "kotlinchk.PRIVATE_COLLECTION.KOTLIN.defect.private_collection": "A private collection has been return from the public method.",
  "kotlinchk.PRIVATE_COLLECTION.KOTLIN.defect.val_array": "A val array has been return from the getter method.",
  "kotlinchk.PRIVATE_COLLECTION.KOTLIN.defect.val_collection": "A val collection has been return from the getter method.",
  "kotlinchk.PUBLIC_DATA_ASSIGNED_TO_PRIVATE_ARRAY.KOTLIN.defect.array": "A data from the public method has been assigned to the private array.",
  "kotlinchk.PUBLIC_DATA_ASSIGNED_TO_PRIVATE_ARRAY.KOTLIN.defect.collection": "A data from the public method has been assigned to the private collection.",
  "kotlinchk.RESOURCE_LEAK.KOTLIN.defect": "A resource is not deallocated properly.",
  "kotlinchk.RETURN_IN_FINALLY.KOTLIN.defect": "return is used within the finally block.",
  "kotlinchk.SECURITY.INFINITE_LOOP.KOTLIN.defect": "This loop has constant condition, so it can be an infinite loop",
  "kotlinchk.SECURITY.INFINITE_LOOP.KOTLIN.defect.seq": "The `generateSequence()` call has no restrictions, which may lead to an infinite loop.",
  "kotlinchk.SECURITY.INFINITE_LOOP.KOTLIN.defect.while": "This loop has constant condition, so it can be an infinite loop",
  "kotlinchk.STORE_IN_CLEAR_TEXT_TO_COOKIE.KOTLIN.defect.sink": "Sensitive information is stored in cookies as plain text.",
  "kotlinchk.STORE_IN_CLEAR_TEXT_TO_FILE.KOTLIN.defect.sink": "Sensitive information is stored in the file as plain text without encryption.",
  "kotlinchk.STORE_IN_CLEAR_TEXT_TO_REGISTRY.KOTLIN.defect.sink": "Sensitive information is stored in the registry as plain text without encryption.",
  "kotlinchk.STORE_SENSITIVE_TO_EXTERNAL_STORAGE.KOTLIN.defect.sink": "Sensitive information is stored in plaintext on paths accessible from the outside.",
  "kotlinchk.STORE_SENSITIVE_TO_OUT_OF_CONTROL_PATH.KOTLIN.defect.extern_public": "An API that returns the path of the public directory has been used.",
  "kotlinchk.STORE_SENSITIVE_TO_OUT_OF_CONTROL_PATH.KOTLIN.defect.extern_root": "An API that returns the root path of the external storage has been used.",
  "kotlinchk.STORE_SENSITIVE_TO_OUT_OF_CONTROL_PATH.KOTLIN.defect.sink": "Sensitive information is being stored in plaintext in external storage.",
  "kotlinchk.STRING_OF_JAVA_WRAPPER.KOTLIN.defect": "Unnecessary temporary instances are being created while converting wrapper classes to strings in Kotlin.",
  "kotlinchk.TOCTOU_RACE_CONDITION.KOTLIN.defect": "There is a possibility that the file does not exist when the file is accessed.",
  "kotlinchk.TRIVIAL_DEAD_CODE.KOTLIN.defect.dead_expr": "Not executable code has been found.",
  "kotlinchk.TRIVIAL_DEAD_CODE.KOTLIN.defect.dead_private": "The defined private method is never called within the project.",
  "kotlinchk.UNCHECKED_READ_RESULT.KOTLIN.defect": "The return value of the {0} method is not checked at any path.",
  "kotlinchk.UNSAFE_SINGLETON.KOTLIN.defect": "Synchronization handling is missing while creating the singleton instance.",
  "kotlinchk.UNUSED_VALUE_IN_VARIABLE.KOTLIN.defect.overwrite": "There were consecutive assignments to the same variable, but the value of the first assignment is not used and is overwritten.",
  "kotlinchk.UNUSED_VALUE_IN_VARIABLE.KOTLIN.defect.unused": "A value is assigned to a variable, but that value is never used in any execution path and is discarded.",
  "kotlinchk.USE_OF_INSUFFICIENT_RANDOM_VALUES.KOTLIN.defect": "An insufficient random value has been used.",
  "kotlinchk.USING_DEPRECATED_API.KOTLIN.defect": "A deprecated API has been found.",
  "kotlinchk.USING_HASH_WITHOUT_SALT.KOTLIN.defect.sink": "Use an unpredictable value as a salt to the hash.",
  "kotlinchk.USING_PREDICTABLE_SALT.KOTLIN.defect": "The salt provided for the hash operation is predictable.",
  "kotlinchk.USING_PREDICTABLE_SALT.KOTLIN.source.const_int": "A fixed integer is used as a salt.",
  "kotlinchk.USING_PREDICTABLE_SALT.KOTLIN.source.hardcode": "A hardcoded string is used as the salt.",
  "kotlinchk.USING_PREDICTABLE_SALT.KOTLIN.source.time": "A predictable system time is used as a salt.",
  "kotlinchk.USING_PREDICTABLE_SALT.KOTLIN.source.uuidv3": "UUIDv3 is used as a salt, always generating the same UUID from the same input.",
  "kotlinchk.USING_PREDICTABLE_SALT.KOTLIN.source.weak_random": "A predictable random number is used as a salt.",
  "kotlinchk.WEAK_CERT_TRUST_CHAIN.KOTLIN.defect.empty_check": "The certificate validation logic is missing, so all certificates are trusted.",
  "kotlinchk.WEAK_CERT_TRUST_CHAIN.KOTLIN.defect.insecure_trust": "Using InsecureTrustManagerFactory.INSTANCE disables certificate validation.",
  "kotlinchk.WEAK_CERT_TRUST_CHAIN.KOTLIN.defect.trust_all": "Using TrustAllStrategy.INSTANCE configures to trust all certificates.",
  "kotlinchk.WEAK_CERT_UNVERIFIED_HOST.KOTLIN.defect.disabled": "Host name validation is set to be disabled.",
  "kotlinchk.WEAK_CERT_UNVERIFIED_HOST.KOTLIN.defect.trust_all": "It is configured to trust all hostnames.",
  "kotlinchk.WEAK_ENCRYPTION.INSUFFICIENT_KEY_SIZE.KOTLIN.defect": "A key of size {0} is not sufficient to be used in the RSA algorithm. The key must be at least {1} in size.",
  "kotlinchk.WEAK_ENCRYPTION_ALGORITHM.KOTLIN.defect.crypt": "Weak cryptographic algorithm ({0}) is used.",
  "kotlinchk.WEAK_ENCRYPTION_ALGORITHM.KOTLIN.defect.hash": "Weak hash algorithm ({0}) is used.",
  "kotlinchk.WEAK_ENCRYPTION_ALGORITHM.KOTLIN.defect.mac": "A vulnerable MAC algorithm ({0}) is being used.",
  "kotlinchk.WEAK_ENCRYPTION_ALGORITHM.KOTLIN.defect.sign": "A vulnerable signature algorithm ({0}) is being used.",
  "kotlinchk.WEAK_HASH_ALGORITHM.KOTLIN.defect": "A vulnerable hash function is used in the code: {0}",
  "kotlinchk.WEAK_SERVER_CERTIFICATES.KOTLIN.defect.empty": "checkServerTrusted method is not implemented.",
  "kotlinchk.WEAK_SERVER_CERTIFICATES.KOTLIN.defect.throw": "Did not throw CertificateException.",
  "leakNoVarFunctionCall.description": "Allocation with a function, but the outer function does not release it.",
  "leakReturnValNotUsed.description": "Return value of allocatioin function is not stored.",
  "leakUnsafeArgAlloc.description": "Unsafe allocation. If an another function in arguments throws, memory could be leaked. Use make_shared<> instead.",
  "literalWithCharPtrCompare.description": "Strings are directly compared with variables. Check if it is intended to use strcmp() instead.",
  "memleak.description": "Memory leak.",
  "memleakOnRealloc.description": "Common realloc mistake: the assigned pointer is nulled but not freed upon failure.",
  "mismatchAllocDealloc.description": "Mismatching allocation and deallocation.",
  "mismatchSize.description": "The allocated size is not a multiple of the type's size.",
  "mismatchingContainers.description": "Iterators of different containers are used together.",
  "missingInclude.description": "Include file not found.",
  "multiplySizeof.description": "Multiplying sizeof() with sizeof() indicates a logic error.",
  "nanInArithmeticExpression.description": "Using NaN/Inf in a computation. Although nothing bad really happens, it is suspicious.",
  "notified_analysis_browser_clipboard_cannot_playing": "Failed to replay the log-in record file used in the crawling. The analysis will be run without logging-in. Please check that the log-in record file or its log-in page has been changed. {0}",
  "notified_analysis_browser_dom_invalid_element_state": "The system cannot access to the HTML element. The analysis will be restricted in parts of the following URLs. {0}",
  "notified_analysis_browser_dom_javascript": "An error has occurred by JavaScript execution. The analysis will be restricted in parts of the following URLs. {0}",
  "notified_analysis_browser_dom_no_alert_present": "Attempted to handle a non-existing warning message. The analysis will be restricted in parts of the following URLs. {0}",
  "notified_analysis_browser_dom_no_element": "No HTML element is available to be accessed. The analysis will be restricted in parts of the following URLs. {0}",
  "notified_analysis_browser_dom_no_such_session": "No session has been found. The analysis will be restricted in parts of the following URLs. {0}",
  "notified_analysis_browser_dom_no_such_window": "Attempted to browse to a non-existing window. The analysis will be restricted in parts of the following URLs. {0}",
  "notified_analysis_browser_dom_script_timeout": "Failed to execute JavaScript due to the delay. The analysis will be restricted in parts of the following URLs. {0}",
  "notified_analysis_browser_dom_session_not_created": "The system cannot create a session for the browser. Restart the browser. The analysis will be restricted in parts of the following URLs. {0}",
  "notified_analysis_browser_dom_socket_timeout": "Failed to connect to the socket due to connection delay between the browser and the target web application. The analysis will be restricted in parts of the following URLs. {0}",
  "notified_analysis_browser_dom_stale_element_reference": "No HTML element is available to be accessed. The analysis will be restricted in parts of the following URLs. {0}",
  "notified_analysis_browser_dom_timeout": "Delayed responses of the browser. Restart the browser. The analysis will be restricted in parts of the following URLs. {0}",
  "notified_analysis_browser_dom_unable_to_set_cookie": "The system cannot set cookies for the browser. The analysis will be restricted in parts of the following URLs. {0}",
  "notified_analysis_browser_dom_unhandled_alert": "Found an unhandled warning message. The analysis will be restricted in parts of the following URLs. {0}",
  "notified_analysis_browser_dom_unknown": "An unknown error has occurred. The analysis will be restricted in parts of the following URLs. {0}",
  "notified_analysis_browser_dom_unreachable_browser": "The system cannot access to the browser. Restart the browser. The analysis will be restricted in parts of the following URLs. {0}",
  "notified_analysis_browser_dom_unsupported_command": "An inexecutable command by the browser has occurred. The analysis will be restricted in parts of the following URLs. {0}",
  "notified_analysis_browser_language": "Set {0} on the browser language for the analysis starts.",
  "notified_analysis_engine_all_out_of_memory": "Failed to run analysis due to memory shortage. Please expand your memory or reduce the number of concurrent analyses.",
  "notified_analysis_engine_all_paused": "The analysis has paused.",
  "notified_analysis_engine_all_resume": "The analysis has resumed.",
  "notified_analysis_engine_url_start_analyzing": "The analysis on the following URL has started. {0}",
  "notified_analysis_engine_url_unknown": "An unknown error has occurred. Failed to run analysis on the following URL. {0}",
  "notified_analysis_http_request_protocol": "An invalid HTTP protocol. Failed to run analysis on the following request. {0}",
  "notified_analysis_http_request_socket": "The system cannot send HTTP request due to a deny on TCP connection. Failed to run analysis on the following request. {0}",
  "notified_analysis_http_request_socket_timeout": "The system cannot send HTTP request due to a delay on TCP connection. Failed to run analysis on the following request. {0}",
  "notified_analysis_http_request_ssl_handshake": "The SSL connection has been denied. Failed to run analysis on the following request. {0}",
  "notified_analysis_http_request_ssl_key": "An invalid SSL key. Failed to run analysis on the following request. {0}",
  "notified_analysis_http_request_ssl_peer_unverified": "The system cannot connect to SSL due to an uncertain target. Failed to run analysis on the following request. {0}",
  "notified_analysis_http_request_ssl_protocol": "An invalid SSL protocol. Failed to run analysis on the following request. {0}",
  "notified_analysis_http_request_unknown": "An unknown error has occurred. Failed to run analysis on the following request. {0}",
  "notified_analysis_http_request_unknown_host": "The system cannot send an HTTP request due to an unknown host. Failed to run analysis on the following request. {0}",
  "notified_analysis_http_request_unknown_service": "The system cannot send an HTTP request due to an unknown service. Failed to run analysis on the following request. {0}",
  "notified_analysis_socket_address_bind": "Failed to bind a socket due to the unavailable port or invalid local address. The analysis will be restricted on the following address. {0}",
  "notified_analysis_socket_address_connect": "Failed to connect to the socket due to connection denial. The analysis will be restricted on the following address. {0}",
  "notified_analysis_socket_address_no_route_to_host": "Failed to connect to the socket due to an unreached target The analysis will be restricted on the following address. {0}",
  "notified_analysis_socket_address_port_unreachable": "Failed to create a socket due to a port out of ranges. The analysis will be restricted on the following address. {0}",
  "notified_analysis_socket_address_socket_timeout": "Failed to connect to the socket due to connection delay. The analysis will be restricted on the following address. {0}",
  "notified_analysis_socket_address_unknown": "An unknown error has occurred. The analysis will be restricted on the following address. {0}",
  "notified_crawl_block_disconnected_urls": "An access to the following URLs are forbidden because {0} request to them has been failed, which occurs when: {1}",
  "notified_crawl_browser_clipboard_never_use": "No log-in record file has been used at all. The crawling performed without logging-in. A login action will be performed at the URL where the log-in record file is created during crawling. Please check the collected URLs and URL where the log-in record file is created.",
  "notified_crawl_browser_dom_invalid_element_state": "The system cannot access to the HTML element. The crawling will be restricted on some pages of the following URLs. {0}",
  "notified_crawl_browser_dom_javascript": "An error has occurred by JavaScript execution. The crawling will be restricted on some pages of the following URLs. {0}",
  "notified_crawl_browser_dom_no_alert_present": "Attempted to handle a non-existing warning message. The crawling will be restricted on some pages of the following URLs. {0}",
  "notified_crawl_browser_dom_no_element": "No HTML element is available to be accessed. The crawling will be restricted on some pages of the following URLs. {0}",
  "notified_crawl_browser_dom_no_such_session": "No session has been found. The crawling will be restricted on some pages of the following URLs. {0}",
  "notified_crawl_browser_dom_no_such_window": "Attempted to browse to a non-existing window. The crawling will be restricted on some pages of the following URLs. {0}",
  "notified_crawl_browser_dom_script_timeout": "Failed to execute JavaScript due to the delay. The crawling will be restricted on some pages of the following URLs. {0}",
  "notified_crawl_browser_dom_session_not_created": "The system cannot create a session for the browser. Restart the browser. The crawling will be restricted on some pages of the following URLs. {0}",
  "notified_crawl_browser_dom_socket_timeout": "Failed to connect to the socket due to connection delay between the browser and the target web application. The analysis will be restricted in parts of the following URLs. {0}",
  "notified_crawl_browser_dom_stale_element_reference": "No HTML element is available to be accessed. The crawling will be restricted on some pages of the following URLs. {0}",
  "notified_crawl_browser_dom_timeout": "Delayed responses of the browser. Restart the browser. The crawling will be restricted on some pages of the following URLs. {0}",
  "notified_crawl_browser_dom_unable_to_set_cookie": "The system cannot set cookies for the browser. The crawling will be restricted on some pages of the following URLs. {0}",
  "notified_crawl_browser_dom_unhandled_alert": "Found an unhandled warning message. The crawling will be restricted on some pages of the following URLs. {0}",
  "notified_crawl_browser_dom_unknown": "An unknown error has occurred. The crawling will be restricted on some pages of the following URLs. {0}",
  "notified_crawl_browser_dom_unreachable_browser": "The system cannot access to the browser. Restart the browser. The crawling will be restricted on some pages of the following URLs. {0}",
  "notified_crawl_browser_dom_unsupported_command": "An inexecutable command by the browser has occurred. The crawling will be restricted on some pages of the following URLs. {0}",
  "notified_crawl_browser_language": "Set {0} on the browser language for the crawling starts.",
  "notified_crawl_browser_url_inaccessible_seed": "The system cannot access to the project URL from the browser. The system cannot perform crawling from the browser. Please check that the target URL can be accessed by the server. {0}",
  "notified_crawl_browser_url_invalid_element_state": "The system cannot access to the HTML element. Failed to perform crawling on the following URL. {0}",
  "notified_crawl_browser_url_javascript": "An error has occurred by JavaScript execution. Failed to perform crawling on the following URL. {0}",
  "notified_crawl_browser_url_no_alert_present": "Attempted to handle a non-existing warning message. Failed to perform crawling on the following URL. {0}",
  "notified_crawl_browser_url_no_such_session": "No session has been found. Failed to perform crawling on the following URL. {0}",
  "notified_crawl_browser_url_no_such_window": "Attempted to browse to a non-existing window. Failed to perform crawling on the following URL. {0}",
  "notified_crawl_browser_url_redirected_seed": "The browser has been redirected with an attempt to the project URL. The crawling has started from the next of redirected URL. {0}",
  "notified_crawl_browser_url_script_timeout": "Failed to execute JavaScript due to the delay. Failed to perform crawling on the following URL. {0}",
  "notified_crawl_browser_url_session_not_created": "The system cannot create a session for the browser. Restart the browser. Failed to perform crawling on the following URL. {0}",
  "notified_crawl_browser_url_stale_element_reference": "No HTML element is available to be accessed. Failed to perform crawling on the following URL. {0}",
  "notified_crawl_browser_url_timeout": "Delayed responses of the browser. Restart the browser. Failed to perform crawling on the following URL. {0}",
  "notified_crawl_browser_url_unable_to_set_cookie": "The system cannot set cookies for the browser. Failed to perform crawling on the following URL. {0}",
  "notified_crawl_browser_url_unhandled_alert": "Found an unhandled warning message. Failed to perform crawling on the following URL. {0}",
  "notified_crawl_browser_url_unknown": "An unknown error has occurred. Failed to perform crawling on the following URL. {0}",
  "notified_crawl_browser_url_unreachable_browser": "The system cannot access to the browser. Restart the browser. Failed to perform crawling on the following URL. {0}",
  "notified_crawl_browser_url_unsupported_command": "An inexecutable command by the browser has occurred. Failed to perform crawling on the following URL. {0}",
  "notified_crawl_engine_all_out_of_memory": "Failed to run crawling due to memory shortage. Please expand your memory or reduce the number of concurrent analyses.",
  "notified_crawl_engine_all_paused": "The crawling has paused.",
  "notified_crawl_engine_all_resume": "The crawling has resumed.",
  "notified_crawl_engine_url_start_crawling": "The crawling on the following URL has started. {0}",
  "notified_crawl_engine_url_unknown": "An unknown error has occurred. Failed to perform crawling on the following URL. {0}",
  "notified_crawl_http_request_inaccessible_seed": "The system cannot send a request to the project URL from the HTTP client. The system cannot perform crawling from the HTTP client. Please check that the target URL can be accessed by the server. {0}",
  "notified_crawl_http_request_protocol": "An invalid HTTP protocol. Failed to run crawling on the following request. {0}",
  "notified_crawl_http_request_socket": "The system cannot send HTTP request due to a deny on TCP connection. Failed to run crawling on the following request. {0}",
  "notified_crawl_http_request_socket_timeout": "The system cannot send HTTP request due to a delay on TCP connection. Failed to run crawling on the following request. {0}",
  "notified_crawl_http_request_ssl_handshake": "The SSL connection has been denied. Failed to run crawling on the following request. {0}",
  "notified_crawl_http_request_ssl_key": "An invalid SSL key. Failed to run crawling on the following request. {0}",
  "notified_crawl_http_request_ssl_peer_unverified": "The system cannot connect to SSL due to an uncertain target. Failed to run crawling on the following request. {0}",
  "notified_crawl_http_request_ssl_protocol": "An invalid SSL protocol. Failed to run crawling on the following request. {0}",
  "notified_crawl_http_request_unknown": "An unknown error has occurred. Failed to run crawling on the following request. {0}",
  "notified_crawl_http_request_unknown_host": "The system cannot send an HTTP request due to an unknown host. Failed to run crawling on the following request. {0}",
  "notified_crawl_http_request_unknown_service": "The system cannot send an HTTP request due to an unknown service. Failed to run crawling on the following request. {0}",
  "notified_entire_browser_all_cannot_execute": "The system cannot run crawling or analyzing through your browser. Your browser is not running. Please check a binary of the browser on the following path. {0}",
  "notified_entire_browser_clipboard_playing_error": "An error has occurred while replaying the log-in record file. The crawling might not be performed. Please check that the log-in record file is normally replayed through the Event Clipboard. {0} {1}",
  "notified_error_analyzer_no_checker": "No checker has been selected for the analysis. Check its checker list.",
  "notified_error_analyzer_no_target": "No target has been selected for the analysis. Check its crawling results.",
  "notified_error_analyzer_out_of_memory": "The analysis is abnormally terminated due to memory shortage. Check memory usage.",
  "notified_error_browser_blacklist": "An error is omitted due to persistent occurrence in the page. {0}",
  "notified_error_browser_cannot_execute": "The inner browser does not work: {0}",
  "notified_error_change_seed_url": "In results of attempting to access the project URL, the browser is redirected to another URL. Now start to crawling from the redirected URL: {0}",
  "notified_error_clipboard_never_execute": "No log-in record file has been executed at all. Check the log-in record file URL and crawling URL.",
  "notified_error_crawler_failed_to_save_result": "An error has occurred while storing crawling results.",
  "notified_error_crawler_inaccessible_eb_seed": "The system cannot access to the URL to be collected by your browser. Check project URL accessible from the server: {0}",
  "notified_error_crawler_inaccessible_hb_seed": "The system cannot access to the URL to be collected by your HTTP client. Check that HTTP communication between the server and the target web application is blocked by certificates or security programs: {0}",
  "notified_error_crawler_no_seed": "No crawling has started in URLs. Check its project URL.",
  "notified_error_crawler_out_of_memory": "The crawling is abnormally terminated due to memory shortage. Check memory usage.",
  "notified_error_crawler_skipped_eb_seed": "URLs is excluded from crawling of the browsers. Please check the excluded crawling URL: {0}",
  "notified_error_crawler_skipped_hb_seed": "URLs to collect is excluded from the HTTP client. Please check the excluded crawling URL: {0}",
  "notified_error_http_protocol": "An error, such as TCP error, has occurred in the default protocol: {0}",
  "notified_error_http_socket": "The socket connection has been denied for HTTP communication: {0}",
  "notified_error_http_socket_timeout": "Failed to receive a response to an HTTP request due to delay: {0}",
  "notified_error_http_ssl_handshake": "The system cannot connect to SSL due to a security issue: {0}",
  "notified_error_http_ssl_key": "The system cannot send an HTTP request due to an invalid SSL key: {0}",
  "notified_error_http_ssl_peer_unverified": "The system cannot send an HTTP request from a peer due to lacks of certificates, unsupported encrypted authentication, SSL authentication failure, etc: {0}",
  "notified_error_http_ssl_protocol": "An error has occurred in the SSL protocol: {0}",
  "notified_error_http_unknown": "The system cannot send an HTTP request due to an unknown error: {0} - {1}",
  "notified_error_http_unknown_host": "The system cannot specify an IP address or host to send HTTP request: {0}",
  "notified_error_http_unknown_service": "Received an HTTP response in an unknown MIME type, or attempted to write data on read-only URL connection: {0}",
  "notified_error_over_redirection": "The process does not receive responses due to redirections of request messages: {0}",
  "notified_error_socket_bind": "Failed to bind a socket due to the unavailable port or invalid local address: {0}",
  "notified_error_socket_connect": "Failed to create a socket due to denied connection to the target: {0}",
  "notified_error_socket_no_route_to_host": "Failed to create a socket due to a target unreachable with a firewall or router: {0}",
  "notified_error_socket_port_unreachable": "Failed to create a socket due to a port out of ranges: {0}",
  "notified_error_socket_timeout": "Failed to create a socket due to delayed connection. {0}",
  "notified_error_socket_unknown": "Failed to create a socket due to an unknown error: {0} - {1}",
  "notified_error_webdriver_invalid_element_state": "The web element status is improper to perform {0} action.{1}",
  "notified_error_webdriver_javascript": "An invalid JavaScript statement tried to be executed.{0}",
  "notified_error_webdriver_no_alert_present": "No warning message to be handled has been found.",
  "notified_error_webdriver_no_such_session": "No browser session has been found. Restart a browser with {0} command, and a web driver with {1} port.",
  "notified_error_webdriver_no_such_window": "No tap window is available to be converted by the browser.",
  "notified_error_webdriver_not_detect_element": "No web element is available to perform {0} action in browser: {1}",
  "notified_error_webdriver_script_timeout": "The browser does not respond to JavaScript execution request for a long time. Restart a browser with {0} command, and a web driver with {1} port.",
  "notified_error_webdriver_session_not_created": "Failed to create a session in the browser. Restart a browser with {0} command, and a web driver with {1} port.",
  "notified_error_webdriver_stale_element_reference": "The target web server cannot import web elements due to delayed responses, or the web element of {0} action are deleted from other event actions.{1}",
  "notified_error_webdriver_timeout": "The browser response has been delayed. Restart a browser with {0} command, and a web driver with {1} port.",
  "notified_error_webdriver_unable_to_set_cookie": "Failed to set cookies in the browser. {0}",
  "notified_error_webdriver_unhandled_alert": "Found an unhandled warning message. Click check button, then, your browser will attempt to perform {0} action again.",
  "notified_error_webdriver_unknown": "An unknown error has occurred. A browser with {0} command will be restarted. A web driver with {1} port will be restarted. {2}",
  "notified_error_webdriver_unreachable_browser": "The system cannot handle the browser due to a crash. Restart a browser with {0} command, and a web driver with {1} port.",
  "notified_error_webdriver_unsupported_command": "The web driver executed unsupported commands. Restart a browser with {0} command, and a web driver with {1} port.",
  "nullPointer.description": "Null pointer dereference.",
  "nullPointerArithmetic.description": "There is pointer arithmetic with null pointer.",
  "nullPointerDefaultArg.description": "Possible null pointer dereference if the default parameter value is used.",
  "nullPointerRedundantCheck.description": "Either the condition is redundant or there is possible null pointer dereference.",
  "nw.activate": "Feature is enabled.",
  "nw.activate_0": "Feature {0} is enabled.",
  "nw.assert": "The scan result items are.",
  "nw.assert_0": "{0}",
  "nw.exception": "An exception is thrown.",
  "nw.exception_0": "{0} exception is thrown.",
  "nw.exists": "The file or path does not exist.",
  "nw.exists_0": "The file or path does not exist: {0}",
  "nw.exists_pt_0_from_1": "A file or path satisfying the pattern {0} does not exist. : {1}",
  "nw.exists_pt_from": "No file or path exists that satisfies the pattern.",
  "nw.filesize_is_gt": "The file size is larger than the threshold.",
  "nw.filesize_is_gt_0_1": "The following file size is larger than the threshold {0}: : {1}",
  "nw.filesize_is_zero": "The file size is zero.",
  "nw.filesize_is_zero_0": "The following file size is zero: : {0}",
  "nw.lint_failed": "There is a problem with the data file.",
  "nw.lint_failed_0": "There is a problem with the data file. : {0}",
  "nw.module_can_exec_0": "Analysis-related modules are not in a runnable state. : {0}",
  "nw.module_exists_0": "Analysis-related module does not exist: : {0}",
  "nw.module_version": "At least two different versions of this analytics module were run for issue status management.",
  "nw.module_version_0": "The version of this Analysis module is {0}.",
  "nw.msg": "The detailed message is shown as follow.",
  "nw.msg_0": "{0}",
  "nw.msg_0_colon_1": "{0} : {1}",
  "nw.notify": "Found alert items.",
  "nw.notify_0": "{0}",
  "nw.notify_af": "Failed to run the analysis.",
  "nw.notify_af_0": "Analysis Failed: {0}",
  "nw.notify_af_0_1": "The analysis is failed in {0} engine. (exit code: {1})",
  "nw.sln_append_file": "Add missing files or paths, or copy them to the correct paths.",
  "nw.sln_append_file_0": "Missing {0} files or paths, or copy them to the correct path.",
  "nw.sln_check_common_module": "It is likely that a public module used by the engine is missing. Check the logs for this module to see which module is causing the problem.",
  "nw.sln_check_module_log": "Check the logs for this module for the detailed cause of the problem.",
  "nw.sln_chmod_0": "{0} Have the module's permissions adjusted to be executable.",
  "nw.sln_copy_module_0_1": "The missing {0} modules to the {1} location.",
  "nw.sln_lint": "If the configuration file is invalid, fix it so that there are no XML or JSON form errors in the configuration file. If the engine output is problematic, contact your development team.",
  "nw.sln_out_of_memory": "The engine cannot run due to insufficient memory. Try increasing the value of engine.java.xmx in sparrow.properties.",
  "nw.stacktrace": "The stack trace is shown as follow.",
  "nw.stacktrace_0": "The stack trace is shown as: {0}",
  "objchk.AVOID_CATCHING_GENERIC_EXCEPTION.OBJC.defect": "Catching overly broad exceptions promotes complex error handling code.",
  "objchk.BAD_CALL.API.APPLE.OBJC.defect": "The first argument of \"dispatch_once\" function should be static.",
  "objchk.BAD_CALL.API.GETPW.OBJC.defect": "Insecure function getpw() is used.",
  "objchk.BAD_CALL.API.GETS.OBJC.defect": "Insecure function gets() is used.",
  "objchk.BAD_CALL.API.MKSTEMP.OBJC.defect": "A string passed to argument of mktemp, mkstemp, mkstemps or mkdtemp should be more than 6 characters.",
  "objchk.BAD_CALL.API.MKTEMP.OBJC.defect": "Insecure function mktemp() is used.",
  "objchk.BAD_CALL.API.RANDOM.OBJC.defect": "Insecure function random() is used.",
  "objchk.BAD_CALL.API.SECURE_KEYCHAIN.OBJC.defect": "improper uses of the Security framework's Keychain APIs.",
  "objchk.BAD_CALL.API.SECURE_KEYCHAIN.OBJC.defect.free_isnt_allocated": "Trying to free an unassigned variable.",
  "objchk.BAD_CALL.API.SECURE_KEYCHAIN.OBJC.defect.isnt_dealloced": "The data has not been released.",
  "objchk.BAD_CALL.API.STRCPY.OBJC.defect": "Insecure function strcpy() is used.",
  "objchk.BAD_CALL.API.UNIX.OBJC.defect": "UNIX/Posix API used incorrectly",
  "objchk.BAD_CALL.API.VFORK.OBJC.defect": "Insecure function vfork() is used.",
  "objchk.BAD_CALL.FORBIDDEN.OBJC.defect.function": "A forbidden function has been called.",
  "objchk.BAD_CALL.FORBIDDEN.OBJC.defect.message": "A forbidden message has been sent.",
  "objchk.BAD_CSTRING.SIZE_ARGUMENT.OBJC.defect": "3rd argument size is smaller than buffer size",
  "objchk.BAD_EQUALITY_EXPRESSION.OBJECT.OBJC.defect": "Object is comapred by ==.",
  "objchk.BAD_MALLOC.OBJC.allocated": "memory allocated.",
  "objchk.BAD_MALLOC.OBJC.defect.free_already_deallocated": "memory already deallocated.",
  "objchk.BAD_MALLOC.OBJC.defect.ref_already_deallocated": "memory already deallocated.",
  "objchk.BAD_MALLOC.OBJC.defect.ret_without_free": "memory is not released properly.",
  "objchk.BAD_MALLOC.SIZEOF.OBJC.defect": "sizeof operation needs proper variable-types.",
  "objchk.BAD_MUTEX_LOCK.OBJC.defect": "mutex is not unlocked.",
  "objchk.BAD_PASSWORD.EMPTY.OBJC.defect": "An empty password has been used.",
  "objchk.BAD_PASSWORD.HARDCODED.OBJC.defect": "A hardcoded password has been used.",
  "objchk.BAD_PRIVILEGE_CONTROL.OBJC.defect": "trying root privilege acquire.",
  "objchk.BAD_PRIVILEGE_RELINQUISHMENT.OBJC.defect": "setgid is called after calling setuid.",
  "objchk.BAD_PRIVILEGE_RESET.OBJC.defect": "you have to call seteuid after chroot.",
  "objchk.CALL_AND_MESSAGE.OBJC.defect": "Uninitialized variable is found",
  "objchk.CHECK_PTHREAD_MUTEX_LOCK_RETURN.OBJC.defect": "return value of pthread_mutex_lock is not handled.",
  "objchk.COCOA.AT_SYNC.OBJC.defect": "The object passed to the @synchronized directive should not be nil.",
  "objchk.COCOA.CLASS_RELEASE.OBJC.defect": "Do not deliver \"release, retain, autorelease\" message to non-instance object.",
  "objchk.COCOA.SELF_INIT.OBJC.defect": "returning uninitialized 'self'",
  "objchk.COOKIE.OVERLY_BROAD_DOMAIN.OBJC.defect": "Domain of cookie is set too broad domain",
  "objchk.COOKIE.OVERLY_BROAD_PATH.OBJC.defect": "Domain of cookie is set too broad path.",
  "objchk.COOKIE.PERSISTENT.OBJC.defect": "expire date of cookie is too large time window",
  "objchk.CORE_FOUNDATION.CF_ERROR.OBJC.defect": "A function accepting CFErrorRef* should have a non-void return.",
  "objchk.CORE_FOUNDATION.CF_NUMBER.OBJC.defect": "2nd argument size of CFNumberCreate should be longer than 3rd argument size.",
  "objchk.CORE_FOUNDATION.CF_RETAIN_RELEASE.OBJC.defect": "null is passed ti CFRetain",
  "objchk.CORE_FOUNDATION.CONTAINER_OUT_OF_BOUNDS.OBJC.defect": "Accessing out of bounds container is occured with CFArrayGetValueAtIndex().",
  "objchk.CORE_FOUNDATION.CONTAINER_POINTER_SIZED_VALUES.OBJC.defect": "Do not use \"CFArrayCreate\" to create array with non-pointer-size values.",
  "objchk.DESERIALIZATION_OF_UNTRUSTED_DATA.OBJC.defect": "When deserializing, use a function that is vulnerable to security.",
  "objchk.DIVIDE_BY_ZERO.OBJC.defect": "Tried to divide by 0.",
  "objchk.DOUBLE.FORMAT_STRING.OBJC.defect": "String is formatted twice.",
  "objchk.DO_NOT_HARDCODE_IPv4_ADDRESS.OBJC.defect": "IPv4 address is detected.",
  "objchk.DO_NOT_USE_ANONYMOUS_LDAP_BIND.OBJC.defect": "Anonoymous ldap authentication tried.",
  "objchk.DO_NOT_USE_DANGEROUS_FUNCTIONS.OBJC.defect": "There was unsafe function calls.",
  "objchk.DO_NOT_USE_IPv4.SPECIFIC_APIS.OBJC.defect": "Do not use IPv4-only function.",
  "objchk.DO_NOT_USE_SYSTEM.OBJC.defect": "A System call function has been called.",
  "objchk.EMPTY_CATCH_BLOCK.OBJC.defect": "This catch block is empty",
  "objchk.ERROR_WITHOUT_ACTION.OBJC.defect": "No error prevention code in if statement.",
  "objchk.FORBIDDEN.FLOAT_LOOP_COUNTER.OBJC.defect": "floating point type is used as loop index counter",
  "objchk.FORBIDDEN.SMS_SENDING.OBJC.defect": "SMS sending is forbidden.",
  "objchk.HTTP_TRANSPORT.GET.OBJC.defect": "GET method will be used for the HTTP transport.",
  "objchk.HTTP_TRANSPORT.OBJC.defect": "HTTP transport has been used.",
  "objchk.IMPROPER_RESTRICTION_OF_XML_ENTITY.OBJC.defect": "The value of shouldResolveExternalEntities in the NSXMLParser object is set to YES.",
  "objchk.IMPROPER_TYPE_ASSIGN.PROMOTION.OBJC.defect": "value assigned to smaller type.",
  "objchk.LEAK.MEMORY.OBJC.allocated": "The memory is allocated.",
  "objchk.LEAK.MEMORY.OBJC.defect": "Potentially memory leaks.",
  "objchk.LEFTOVER_DEBUG_CODE.OBJC.defect": "The debug function has been called.",
  "objchk.MISSING_LOGIN_CONTROL.OBJC.defect": "The number of login entries is not limited.",
  "objchk.NON_NULL_PARAMETER.OBJC.defect": "null argument is passed.",
  "objchk.NULL_DEREF.OBJC.defect": "Tried to reference NULL.",
  "objchk.OVERRUN.STATIC.STRCPY.OBJC.defect": "Buffer Overrun issue can be reported when the function strcpy(), strcat() is used.",
  "objchk.OVERRUN_STATIC.OBJC.defect.index_out": "array-index may exceed the array size.",
  "objchk.OVERRUN_STATIC.OBJC.defect.unchecked": "array-index is not checked.",
  "objchk.PASSWORD_IN_COMMENT.OBJC.defect.including_password": "A password is written in the comment.",
  "objchk.PASSWORD_IN_COMMENT.OBJC.defect.max_word_length_fixed": "The word in the comment with the fixed length {0} is assumed as a critical key.",
  "objchk.PASSWORD_IN_COMMENT.OBJC.defect.max_word_length_non_fixed": "The length of a single word {0} in the comment exceeds the allowed maximum word length {1}.",
  "objchk.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.OBJC.defect": "The password is stored in an exposed area.",
  "objchk.RESET_SIGNAL_HANDLER.OBJC.defect": "Understand implementation-specific details regarding signal handler persistence.",
  "objchk.SECURITY_DECISION_ON_DNS_LOOKUP.OBJC.defect": "Do not rely on DNS lookups via the function. Use an IP address instead.",
  "objchk.STACK_ADDRESS_ESCAPE.OBJC.defect": "allocate cannot accesable variable when out of scope",
  "objchk.SYMBOLIC_LINK_RACE_CONDITION.OBJC.defect": "Avoid race conditions while checking for the existence of a symbolic link.",
  "objchk.SYSTEM_INFORMATION_LEAK.OBJC.defect": "Printed to the system information.",
  "objchk.TEMPORARY_FILE_WRITING.OBJC.defect": "The data has been written to a temporary(or public) derictory.",
  "objchk.TOC_TOU_ACCESS.OBJC.defect": "The resource is used(Time of Use). TOCTOU race condition may be occurred in multi-process environment.",
  "objchk.UNCONTROLLED_RECURSION.OBJC.defect": "A recursion without any conditional blocks or loop blocks.",
  "objchk.UNDEFINED_BINARY_OPERATOR.OBJC.defect": "Variable is not initialized.",
  "objchk.UNINITIALIZED.ARRAY_SUBSCRIPT.OBJC.defect": "Array index variable is not initialized.",
  "objchk.UNINITIALIZED.ASSIGN.OBJC.defect": "variable is not initialized.",
  "objchk.UNINITIALIZED.BRANCH.OBJC.defect": "Branch condition variable is not initialized.",
  "objchk.UNINITIALIZED.UNDEFINED_RETURN.OBJC.defect": "Return value is not initialized.",
  "objchk.UNREASONABLE_PARAMETER.OBJC.defect": "negative size allocation tried.",
  "objchk.UNUSED_VARIABLE.OBJC.defect": "Variable is never used.",
  "objchk.USE_AFTER_FREE.OBJC.defect": "The freed memory was used.",
  "objchk.USE_OF_INSUFFICIENT_RANDOM_VALUES.OBJC.defect": "An insufficient random value has been used.",
  "objchk.VLA_SIZE.OBJC.defect": "An expression representing the number of elements should not be zero or undefined value.",
  "objchk.WEAK_ENCRYPTION.HARDCODED_KEY.OBJC.defect": "The hardcoded encryption key has been used.",
  "objchk.WEAK_ENCRYPTION.HASH.OBJC.defect": "The weak hash function has been called.",
  "objchk.WEAK_ENCRYPTION.INSUFFICIENT_KEY_SIZE.OBJC.defect": "The used key size should be equal or greater than {0}.",
  "objchk.WEAK_ENCRYPTION.RISKY_ALGORITHM.OBJC.defect": "The risky algorithm has been used.",
  "objchk.WEAK_ENCRYPTION_HASH.EMPTY_PBE_SALT.OBJC.defect": "An empty value is used for the hash salt.",
  "objchk.WEAK_ENCRYPTION_HASH.NULL_PBE_SALT.OBJC.defect": "null salt is used.",
  "objchk.WEAK_SERVER_CERTIFICATES.OBJC.defect": "The parameter value of index {0} of the certificate verification function is incorrectly set. For certificate verification to work properly, this value should be {1}.",
  "objchk.WEAK_SSL_CERTIFICATE.OBJC.defect": "The weak SSL certificate has been used.",
  "option.ACCESSING_CONSTANT_INDEX_IN_LOOP.desc.trusted_readonly_methods": "Write the name of the methods that do not write to memory of object but just read the object fields.\nExample) compareTo",
  "option.ACCESSING_CONSTANT_INDEX_IN_LOOP.title.trusted_readonly_methods": "Read-only methods which do not write to memory of object",
  "option.ACCESS_CONTROL.AZURE.JS.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(*) of name(\"filter\")",
  "option.ACCESS_CONTROL.AZURE.JS.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.ACCESS_CONTROL.AZURE.JS.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\"+\") to return",
  "option.ACCESS_CONTROL.AZURE.JS.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(*) of fqn(reg(\".*createQueueService\\\\(\\\\)\\\\.deleteQueue\"))",
  "option.ACCESS_CONTROL.AZURE.JS.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of fqn(\"__sparrow_node_js_request__.url\")",
  "option.ACCESS_CONTROL.AZURE.JS.title.taint_filter": "External information filter",
  "option.ACCESS_CONTROL.AZURE.JS.title.taint_filter_function_fqn": "Custom external information filter",
  "option.ACCESS_CONTROL.AZURE.JS.title.taint_propagator": "External information propagator",
  "option.ACCESS_CONTROL.AZURE.JS.title.taint_sink": "External information sink",
  "option.ACCESS_CONTROL.AZURE.JS.title.taint_source": "External information source",
  "option.ACCESS_CONTROL.DATABASE.JS.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) return of fqn(\"encodeURIComponent\")",
  "option.ACCESS_CONTROL.DATABASE.JS.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.ACCESS_CONTROL.DATABASE.JS.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\"+\") to return",
  "option.ACCESS_CONTROL.DATABASE.JS.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(2) of name(\"executeSql\")",
  "option.ACCESS_CONTROL.DATABASE.JS.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of fqn(\"document.URL\")",
  "option.ACCESS_CONTROL.DATABASE.JS.title.taint_filter": "External information filter",
  "option.ACCESS_CONTROL.DATABASE.JS.title.taint_filter_function_fqn": "Custom external information filter",
  "option.ACCESS_CONTROL.DATABASE.JS.title.taint_propagator": "External information propagator",
  "option.ACCESS_CONTROL.DATABASE.JS.title.taint_sink": "External information sink",
  "option.ACCESS_CONTROL.DATABASE.JS.title.taint_source": "External information source",
  "option.ACCOUNT_INFO_IN_CODE.JS.desc.exclude_extension": "Write a exclusion of file extension.",
  "option.ACCOUNT_INFO_IN_CODE.JS.desc.rule": "Write a rule of analysis.",
  "option.ACCOUNT_INFO_IN_CODE.JS.desc.target_extension": "Write a target of file extension.",
  "option.ACCOUNT_INFO_IN_CODE.JS.title.exclude_extension": "Exclusion of file extension",
  "option.ACCOUNT_INFO_IN_CODE.JS.title.rule": "Detection rule",
  "option.ACCOUNT_INFO_IN_CODE.JS.title.target_extension": "Target of file extension",
  "option.ALLOWED_XML_EXTERNAL_ENTITY.KOTLIN.desc.taint_filter": "Write the function name and filtering type for external information.\nExample) return of fqn(\"kotlin.text.Regex.replace\")",
  "option.ALLOWED_XML_EXTERNAL_ENTITY.KOTLIN.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) sparrow.my.filter.utils.is_safe()",
  "option.ALLOWED_XML_EXTERNAL_ENTITY.KOTLIN.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.ALLOWED_XML_EXTERNAL_ENTITY.KOTLIN.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(\"java.io.BufferedInputStream.read(byte[])\")",
  "option.ALLOWED_XML_EXTERNAL_ENTITY.KOTLIN.title.taint_filter": "External information filter",
  "option.ALLOWED_XML_EXTERNAL_ENTITY.KOTLIN.title.taint_filter_function_fqn": "Custom external information filter",
  "option.ALLOWED_XML_EXTERNAL_ENTITY.KOTLIN.title.taint_propagator": "External information propagator",
  "option.ALLOWED_XML_EXTERNAL_ENTITY.KOTLIN.title.taint_source": "External information source",
  "option.ALWAYS_DISCARD_RESULT_OF_ASSIGN.desc.check_return": "Check return expression",
  "option.ALWAYS_DISCARD_RESULT_OF_ASSIGN.title.check_return": "Check return expression",
  "option.ALWAYS_INCLUDE_THROW_IN_CATCH.desc.comment_patterns": "When a CATCH block has no THROW statement, if it contains specific comments matching the specified regular expression, that CATCH block will be excluded from detection. If no comment pattern is specified, all CATCH blocks without THROW statements will be detected.",
  "option.ALWAYS_INCLUDE_THROW_IN_CATCH.title.comment_patterns": "Regular expression patterns for comments to exclude from detection",
  "option.ANDROID_ADD_JAVASCRIPT_INTERFACE.desc.class_fqn": "Write a name of WebView class.",
  "option.ANDROID_ADD_JAVASCRIPT_INTERFACE.desc.method_name": "Write a name of addJavascriptInterface  method.",
  "option.ANDROID_ADD_JAVASCRIPT_INTERFACE.title.class_fqn": "A name of WebView class",
  "option.ANDROID_ADD_JAVASCRIPT_INTERFACE.title.method_name": "A name of addJavascriptInterface method",
  "option.ANDROID_CLASS_LOADING_HIJACKING.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nsink: expression for the tainted value (including definition for method).\nsource: expression that causes the tainted value (including definition for method).",
  "option.ANDROID_CLASS_LOADING_HIJACKING.desc.exclude": "A filter is considered safe if it is defined like this \"if\" {filter_target}\nfilter_target: filter expression for the pollution value (includes method definition).",
  "option.ANDROID_CLASS_LOADING_HIJACKING.desc.propagator": "If a propagator is defined as follows, it propagates a tainted value. {propagator_target}\npropagator_target: propagation expression for the tainted value. (including method definition)",
  "option.ANDROID_CLASS_LOADING_HIJACKING.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.ANDROID_CLASS_LOADING_HIJACKING.title.alarm": "Detection rule",
  "option.ANDROID_CLASS_LOADING_HIJACKING.title.exclude": "Exception rule",
  "option.ANDROID_CLASS_LOADING_HIJACKING.title.propagator": "Propagator name",
  "option.ANDROID_CLASS_LOADING_HIJACKING.title.suggestion_filter_function": "Suggested filter function",
  "option.ANDROID_CLASS_LOADING_HIJACKING_ABSOLUTE_PATH.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method). ",
  "option.ANDROID_CLASS_LOADING_HIJACKING_ABSOLUTE_PATH.desc.exclude": "A filter is considered safe if it is defined like this \"if\" {filter_target}\nfilter_target: filter expression for the pollution value (includes method definition).",
  "option.ANDROID_CLASS_LOADING_HIJACKING_ABSOLUTE_PATH.desc.propagator": "If a propagator is defined as follows, it propagates a tainted value. {propagator_target}\npropagator_target: propagation expression for the tainted value. (including method definition)",
  "option.ANDROID_CLASS_LOADING_HIJACKING_ABSOLUTE_PATH.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.ANDROID_CLASS_LOADING_HIJACKING_ABSOLUTE_PATH.title.alarm": "Detection rule",
  "option.ANDROID_CLASS_LOADING_HIJACKING_ABSOLUTE_PATH.title.exclude": "Exception rule",
  "option.ANDROID_CLASS_LOADING_HIJACKING_ABSOLUTE_PATH.title.propagator": "Propagator name",
  "option.ANDROID_CLASS_LOADING_HIJACKING_ABSOLUTE_PATH.title.suggestion_filter_function": "Suggested filter function",
  "option.ANDROID_CONTEXT_SEND_BROADCAST.desc.check_only_method_name": "Check only the method name.",
  "option.ANDROID_CONTEXT_SEND_BROADCAST.desc.class_fqn": "Write a name of class which is available to send an intent on broadcast.",
  "option.ANDROID_CONTEXT_SEND_BROADCAST.desc.method_name": "Write a name of method which is available to send an intent on broadcast.",
  "option.ANDROID_CONTEXT_SEND_BROADCAST.title.check_only_method_name": "Check only the method name",
  "option.ANDROID_CONTEXT_SEND_BROADCAST.title.class_fqn": "A name of broadcasting class",
  "option.ANDROID_CONTEXT_SEND_BROADCAST.title.method_name": "A name of broadcasting method",
  "option.ANDROID_FD_TO_IMPLICIT_BROADCAST.KOTLIN.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) return of fqn(\"java.security.MessageDigest.digest\")",
  "option.ANDROID_FD_TO_IMPLICIT_BROADCAST.KOTLIN.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) sparrow.my.filter.utils.is_safe()",
  "option.ANDROID_FD_TO_IMPLICIT_BROADCAST.KOTLIN.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.ANDROID_FD_TO_IMPLICIT_BROADCAST.KOTLIN.desc.taint_sink": "List the function names and usage types for external information.\nExample) param(1) of name(\"sendBroadcast\")",
  "option.ANDROID_FD_TO_IMPLICIT_BROADCAST.KOTLIN.desc.taint_source": "Write the function name and input type for external information.\nExample) return of fqn(\"android.os.ParcelFileDescriptor.open\")",
  "option.ANDROID_FD_TO_IMPLICIT_BROADCAST.KOTLIN.title.taint_filter": "External information filter",
  "option.ANDROID_FD_TO_IMPLICIT_BROADCAST.KOTLIN.title.taint_filter_function_fqn": "Custom external information filter",
  "option.ANDROID_FD_TO_IMPLICIT_BROADCAST.KOTLIN.title.taint_propagator": "External information propagator",
  "option.ANDROID_FD_TO_IMPLICIT_BROADCAST.KOTLIN.title.taint_sink": "External information sink",
  "option.ANDROID_FD_TO_IMPLICIT_BROADCAST.KOTLIN.title.taint_source": "External information source",
  "option.ANDROID_GRANT_URI_PERMISSIONS.desc.class_fqn": "Write a name of Intent class.",
  "option.ANDROID_GRANT_URI_PERMISSIONS.desc.forbidden_flag": "Set a name of forbidden flags.",
  "option.ANDROID_GRANT_URI_PERMISSIONS.desc.method_name": "Write a name of addFlags method.",
  "option.ANDROID_GRANT_URI_PERMISSIONS.title.class_fqn": "A name of Intent class",
  "option.ANDROID_GRANT_URI_PERMISSIONS.title.forbidden_flag": "Forbidden flags",
  "option.ANDROID_GRANT_URI_PERMISSIONS.title.method_name": "A name of addFlags",
  "option.ANDROID_MANIFEST_AVOID_EXPORTED_ACCESS.desc.is_activity": "Check the activity element.",
  "option.ANDROID_MANIFEST_AVOID_EXPORTED_ACCESS.desc.is_provider": "Check the provider element.",
  "option.ANDROID_MANIFEST_AVOID_EXPORTED_ACCESS.desc.is_receiver": "Check the receiver element.",
  "option.ANDROID_MANIFEST_AVOID_EXPORTED_ACCESS.desc.is_service": "Check the service element.",
  "option.ANDROID_MANIFEST_AVOID_EXPORTED_ACCESS.title.is_activity": "Check activity",
  "option.ANDROID_MANIFEST_AVOID_EXPORTED_ACCESS.title.is_provider": "Check provider",
  "option.ANDROID_MANIFEST_AVOID_EXPORTED_ACCESS.title.is_receiver": "Check receiver",
  "option.ANDROID_MANIFEST_AVOID_EXPORTED_ACCESS.title.is_service": "Check service",
  "option.ANDROID_PERMISSION_CHECK_BYPASS.desc.check_only_method_name": "Check only the method name",
  "option.ANDROID_PERMISSION_CHECK_BYPASS.desc.method_name": "Permissiong check bypass method list",
  "option.ANDROID_PERMISSION_CHECK_BYPASS.title.check_only_method_name": "Check only the method name",
  "option.ANDROID_PERMISSION_CHECK_BYPASS.title.method_name": "Permissiong check bypass method list",
  "option.ANDROID_SENSITIVE_TO_IMPLICIT_BROADCAST.KOTLIN.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) return of fqn(\"java.security.MessageDigest.digest\")",
  "option.ANDROID_SENSITIVE_TO_IMPLICIT_BROADCAST.KOTLIN.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) sparrow.my.filter.utils.is_safe()",
  "option.ANDROID_SENSITIVE_TO_IMPLICIT_BROADCAST.KOTLIN.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.ANDROID_SENSITIVE_TO_IMPLICIT_BROADCAST.KOTLIN.desc.taint_sink": "List the function names and usage types for external information.\nExample) param(1) of name(\"sendBroadcast\")",
  "option.ANDROID_SENSITIVE_TO_IMPLICIT_BROADCAST.KOTLIN.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of fqn(reg(\"^(?!.*encrypted).*[pP]assw(or)?d\"))",
  "option.ANDROID_SENSITIVE_TO_IMPLICIT_BROADCAST.KOTLIN.title.taint_filter": "External information filter",
  "option.ANDROID_SENSITIVE_TO_IMPLICIT_BROADCAST.KOTLIN.title.taint_filter_function_fqn": "Custom external information filter",
  "option.ANDROID_SENSITIVE_TO_IMPLICIT_BROADCAST.KOTLIN.title.taint_propagator": "External information propagator",
  "option.ANDROID_SENSITIVE_TO_IMPLICIT_BROADCAST.KOTLIN.title.taint_sink": "External information sink",
  "option.ANDROID_SENSITIVE_TO_IMPLICIT_BROADCAST.KOTLIN.title.taint_source": "External information source",
  "option.ANDROID_WEB_SETTING_JAVA_SCRIPT.desc.method_name": "Write a name of setJavaScriptEnabled method which WebSetting class provides.",
  "option.ANDROID_WEB_SETTING_JAVA_SCRIPT.title.method_name": "A name of setJavaScriptEnabled method",
  "option.ANDROID_XSS.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.ANDROID_XSS.desc.exclude": "A filter is considered safe if it is defined like this \"if\" {filter_target}\nfilter_target: filter expression for the pollution value (includes method definition).",
  "option.ANDROID_XSS.desc.propagator": "If a propagator is defined as follows, it propagates a tainted value. {propagator_target}\npropagator_target: propagation expression for the tainted value. (including method definition)",
  "option.ANDROID_XSS.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.ANDROID_XSS.title.alarm": "Detection rule",
  "option.ANDROID_XSS.title.exclude": "Exception rule",
  "option.ANDROID_XSS.title.propagator": "Propagator name",
  "option.ANDROID_XSS.title.suggestion_filter_function": "Suggested filter function",
  "option.ARRAY_ACCESS_ON_POINTER.desc.ignore_parameter": "Ignore parameter variables.",
  "option.ARRAY_ACCESS_ON_POINTER.title.ignore_parameter": "Ignore parameter variables.",
  "option.ASSIGNMENT_IN_OPERAND.desc.excluded_conditions": "Enter the conditional statements to exclude from detection.\nExample) if, else if, switch",
  "option.ASSIGNMENT_IN_OPERAND.desc.excluded_loops": "Enter the loops to exclude from detection.\nExample) do, while, for",
  "option.ASSIGNMENT_IN_OPERAND.desc.forbidden_operators": "Option to detect when text matching the input text is found.",
  "option.ASSIGNMENT_IN_OPERAND.desc.whitelist_patterns": "Excludes from detection when text within the range of the input regular expression is found.",
  "option.ASSIGNMENT_IN_OPERAND.title.excluded_conditions": "Excluded conditions",
  "option.ASSIGNMENT_IN_OPERAND.title.excluded_loops": "Loop types to exclude from detection",
  "option.ASSIGNMENT_IN_OPERAND.title.forbidden_operators": "Option to input the assignment expression to be detected in the condition clause of the control statement (blacklist single)",
  "option.ASSIGNMENT_IN_OPERAND.title.whitelist_patterns": "Exception handling options (whitelist range)",
  "option.ASYNCHRONOUS_CANCEL_THREADS.desc.pthread_cancel_type": "Write a actual value for PTHREAD_CALCEL_TYPE macro",
  "option.ASYNCHRONOUS_CANCEL_THREADS.title.pthread_cancel_type": "Actual value for PTHREAD_CALCEL_TYPE macro",
  "option.AUTHENTICATION_ATTEMPT_LIMIT.desc.id_regex": "Write regular expressions for checking identification variables.",
  "option.AUTHENTICATION_ATTEMPT_LIMIT.desc.pwd_regex": "Write regular expressions for checking password variables.",
  "option.AUTHENTICATION_ATTEMPT_LIMIT.title.id_regex": "Identification regular expressions.",
  "option.AUTHENTICATION_ATTEMPT_LIMIT.title.pwd_regex": "Password regual expressions.",
  "option.AVOID_IMPLICIT_CONVERSIONS_OF_ARGUMENTS.desc.allow_primitive_type": "If the option is enabled, it allows implicit casting to a primitive type.",
  "option.AVOID_IMPLICIT_CONVERSIONS_OF_ARGUMENTS.desc.allow_string_conversion": "If the option is enabled, it allows implicit casting to a string class.",
  "option.AVOID_IMPLICIT_CONVERSIONS_OF_ARGUMENTS.desc.allow_wrapping_class": "If the option is enabled, it allows implicit casting to a struct wrapping class.",
  "option.AVOID_IMPLICIT_CONVERSIONS_OF_ARGUMENTS.title.allow_primitive_type": "Allow implicit casting to a primitive type.",
  "option.AVOID_IMPLICIT_CONVERSIONS_OF_ARGUMENTS.title.allow_string_conversion": "Allow implicit casting to a string class.",
  "option.AVOID_IMPLICIT_CONVERSIONS_OF_ARGUMENTS.title.allow_wrapping_class": "Allow implicit casting to a struct wrapping class.",
  "option.AVOID_MUTABLE_IN_STRUCT.CSHARP.desc.forbidden_type": "Write the name of the forbidden class type.",
  "option.AVOID_MUTABLE_IN_STRUCT.CSHARP.title.forbidden_type": "Forbidden class types",
  "option.AVOID_THROWING_RAW_EXCEPTION_TYPES.exception_list": "Exception list",
  "option.BAD_ARGS.FORBIDDEN.AFTER_CALL.desc.call_param_should_not_be_name": "Forbidden parameters",
  "option.BAD_ARGS.FORBIDDEN.AFTER_CALL.desc.function_target_begin_call_function": "Target functions begin call",
  "option.BAD_ARGS.FORBIDDEN.AFTER_CALL.title.call_param_should_not_be_name": "Forbidden parameters",
  "option.BAD_ARGS.FORBIDDEN.AFTER_CALL.title.function_target_begin_call_function": "Target functions begin call",
  "option.BAD_BLOCK_COMMENT.desc.check_header": "If the option is enabled, all comments in the header files will be checked.",
  "option.BAD_BLOCK_COMMENT.desc.end_comment": "Define end of the block comment.\nExample) */",
  "option.BAD_BLOCK_COMMENT.desc.start_comment": "Define start of the block comment.\nExample) /*",
  "option.BAD_BLOCK_COMMENT.title.check_header": "Inspect header files",
  "option.BAD_BLOCK_COMMENT.title.end_comment": "End of the block comment",
  "option.BAD_BLOCK_COMMENT.title.start_comment": "Start of the block comment",
  "option.BAD_CALL.FORBIDDEN.JS.desc.forbidden_function": "Write a name of the function to be forbidden.\nExample) .*forbidden.*",
  "option.BAD_CALL.FORBIDDEN.JS.title.forbidden_function": "Function to be forbidden",
  "option.BAD_CALL.FORBIDDEN.KOTLIN.desc.forbidden_method": "Write a name of the function to be forbidden.\nExample) .*forbidden.*",
  "option.BAD_CALL.FORBIDDEN.KOTLIN.title.forbidden_method": "Function to be forbidden",
  "option.BAD_CALL.FORBIDDEN.LIB.PROCESS.desc.file_target_excluded": "Files to be excluded",
  "option.BAD_CALL.FORBIDDEN.LIB.PROCESS.desc.file_target_have_include": "Target files that includes forbidden headers",
  "option.BAD_CALL.FORBIDDEN.LIB.PROCESS.desc.function_should_not_be_used": "Set up forbidden functions",
  "option.BAD_CALL.FORBIDDEN.LIB.PROCESS.desc.function_target_excluded": "Set up functions to be excluded with regular expression.",
  "option.BAD_CALL.FORBIDDEN.LIB.PROCESS.title.file_target_excluded": "Files to be excluded",
  "option.BAD_CALL.FORBIDDEN.LIB.PROCESS.title.file_target_have_include": "Target files that includes forbidden headers",
  "option.BAD_CALL.FORBIDDEN.LIB.PROCESS.title.function_should_not_be_used": "Function which should not be called.",
  "option.BAD_CALL.FORBIDDEN.LIB.PROCESS.title.function_target_excluded": "Function to be excluded",
  "option.BAD_CALL.FORBIDDEN.LIB.RESOURCE.desc.file_target_excluded": "Files to be excluded",
  "option.BAD_CALL.FORBIDDEN.LIB.RESOURCE.desc.file_target_have_include": "Target files that includes forbidden headers",
  "option.BAD_CALL.FORBIDDEN.LIB.RESOURCE.desc.function_should_not_be_used": "Set up forbidden functions.",
  "option.BAD_CALL.FORBIDDEN.LIB.RESOURCE.desc.function_target_excluded": "Set up functions to be excluded for analyze",
  "option.BAD_CALL.FORBIDDEN.LIB.RESOURCE.title.file_target_excluded": "Files to be excluded",
  "option.BAD_CALL.FORBIDDEN.LIB.RESOURCE.title.file_target_have_include": "Target files that includes forbidden headers",
  "option.BAD_CALL.FORBIDDEN.LIB.RESOURCE.title.function_should_not_be_used": "Forbidden functions",
  "option.BAD_CALL.FORBIDDEN.LIB.RESOURCE.title.function_target_excluded": "Functions to be excluded for analyze",
  "option.BAD_CALL.FORBIDDEN.LIB.SIGNAL.desc.file_target_excluded": "Files to be excluded",
  "option.BAD_CALL.FORBIDDEN.LIB.SIGNAL.desc.file_target_have_include": "Target files that includes forbidden headers",
  "option.BAD_CALL.FORBIDDEN.LIB.SIGNAL.desc.function_should_not_be_used": "Set up forbidden functions.",
  "option.BAD_CALL.FORBIDDEN.LIB.SIGNAL.desc.function_target_excluded": "Set up functions to be excluded for analyze",
  "option.BAD_CALL.FORBIDDEN.LIB.SIGNAL.title.file_target_excluded": "Files to be excluded",
  "option.BAD_CALL.FORBIDDEN.LIB.SIGNAL.title.file_target_have_include": "Target files that includes forbidden headers",
  "option.BAD_CALL.FORBIDDEN.LIB.SIGNAL.title.function_should_not_be_used": "Forbidden functions",
  "option.BAD_CALL.FORBIDDEN.LIB.SIGNAL.title.function_target_excluded": "Functions to be excluded for analyze",
  "option.BAD_CALL.FORBIDDEN.LIB.TEMP.desc.file_target_excluded": "Files to be excluded",
  "option.BAD_CALL.FORBIDDEN.LIB.TEMP.desc.file_target_have_include": "Target files that includes forbidden headers",
  "option.BAD_CALL.FORBIDDEN.LIB.TEMP.desc.function_should_not_be_used": "Set up forbidden functions.",
  "option.BAD_CALL.FORBIDDEN.LIB.TEMP.desc.function_target_excluded": "Set up functions to be excluded for analyze",
  "option.BAD_CALL.FORBIDDEN.LIB.TEMP.title.file_target_excluded": "Files to be excluded",
  "option.BAD_CALL.FORBIDDEN.LIB.TEMP.title.file_target_have_include": "Target files that includes forbidden headers",
  "option.BAD_CALL.FORBIDDEN.LIB.TEMP.title.function_should_not_be_used": "Forbidden functions",
  "option.BAD_CALL.FORBIDDEN.LIB.TEMP.title.function_target_excluded": "Functions to be excluded for analyze",
  "option.BAD_CALL.FORBIDDEN.LIB.TIMER.desc.file_target_excluded": "Files to be excluded",
  "option.BAD_CALL.FORBIDDEN.LIB.TIMER.desc.file_target_have_include": "Target files that includes forbidden headers",
  "option.BAD_CALL.FORBIDDEN.LIB.TIMER.desc.function_should_not_be_used": "Set up forbidden functions.",
  "option.BAD_CALL.FORBIDDEN.LIB.TIMER.desc.function_target_excluded": "Set up functions to be excluded for analyze",
  "option.BAD_CALL.FORBIDDEN.LIB.TIMER.title.file_target_excluded": "Files to be excluded",
  "option.BAD_CALL.FORBIDDEN.LIB.TIMER.title.file_target_have_include": "Target files that includes forbidden headers",
  "option.BAD_CALL.FORBIDDEN.LIB.TIMER.title.function_should_not_be_used": "Forbidden functions",
  "option.BAD_CALL.FORBIDDEN.LIB.TIMER.title.function_target_excluded": "Functions to be excluded for analyze",
  "option.BAD_CALL.FORBIDDEN.LIB.TP.desc.file_target_excluded": "Files to be excluded",
  "option.BAD_CALL.FORBIDDEN.LIB.TP.desc.file_target_have_include": "Target files that includes forbidden headers",
  "option.BAD_CALL.FORBIDDEN.LIB.TP.desc.function_should_not_be_used": "Set up forbidden functions.",
  "option.BAD_CALL.FORBIDDEN.LIB.TP.desc.function_target_excluded": "Set up functions to be excluded for analyze",
  "option.BAD_CALL.FORBIDDEN.LIB.TP.title.file_target_excluded": "Files to be excluded",
  "option.BAD_CALL.FORBIDDEN.LIB.TP.title.file_target_have_include": "Target files that includes forbidden headers",
  "option.BAD_CALL.FORBIDDEN.LIB.TP.title.function_should_not_be_used": "Forbidden functions",
  "option.BAD_CALL.FORBIDDEN.LIB.TP.title.function_target_excluded": "Functions to be excluded for analyze",
  "option.BAD_CALL.FORBIDDEN.OBJC.desc.forbidden_function": "Write the name of the function or receiver forbid.\nExample) .*forbidden.*",
  "option.BAD_CALL.FORBIDDEN.OBJC.title.forbidden_function": "Function or receiver to forbid",
  "option.BAD_CALL.FORBIDDEN.PARAM.LITERAL.desc.call_param_should_not_be_deciaml": "Set up call parameters which should not place decimal.",
  "option.BAD_CALL.FORBIDDEN.PARAM.LITERAL.desc.call_param_should_not_be_string": "Set up call parameters which should not place string.",
  "option.BAD_CALL.FORBIDDEN.PARAM.LITERAL.desc.call_target": "Target function call",
  "option.BAD_CALL.FORBIDDEN.PARAM.LITERAL.desc.file_target_excluded": "Files to be excluded",
  "option.BAD_CALL.FORBIDDEN.PARAM.LITERAL.title.call_param_should_not_be_deciaml": "Call parameters which should not place decimal",
  "option.BAD_CALL.FORBIDDEN.PARAM.LITERAL.title.call_param_should_not_be_string": "Call parameters which should not place string",
  "option.BAD_CALL.FORBIDDEN.PARAM.LITERAL.title.call_target": "Target function call",
  "option.BAD_CALL.FORBIDDEN.PARAM.LITERAL.title.file_target_excluded": "Files to be excluded",
  "option.BAD_CALL.FORBIDDEN.PARAM.NAME.desc.call_param_should_not_be_name": "Forbidden parameters",
  "option.BAD_CALL.FORBIDDEN.PARAM.NAME.desc.call_target": "Target function call",
  "option.BAD_CALL.FORBIDDEN.PARAM.NAME.desc.file_target_excluded": "Files to be excluded",
  "option.BAD_CALL.FORBIDDEN.PARAM.NAME.desc.function_target": "Set target functions with regular expressions",
  "option.BAD_CALL.FORBIDDEN.PARAM.NAME.desc.function_target_excluded": "Set up functions to be excluded for analyze",
  "option.BAD_CALL.FORBIDDEN.PARAM.NAME.title.call_param_should_not_be_name": "Forbidden parameters",
  "option.BAD_CALL.FORBIDDEN.PARAM.NAME.title.call_target": "Target function call",
  "option.BAD_CALL.FORBIDDEN.PARAM.NAME.title.file_target_excluded": "Files to be excluded",
  "option.BAD_CALL.FORBIDDEN.PARAM.NAME.title.function_target": "Target functions",
  "option.BAD_CALL.FORBIDDEN.PARAM.NAME.title.function_target_excluded": "Functions to be excluded for analyze",
  "option.BAD_CALL.FORBIDDEN.PARAM.NUMBER.desc.call_param_should_not_be_deciaml": "Call parameter which should not be decimal",
  "option.BAD_CALL.FORBIDDEN.PARAM.NUMBER.desc.call_target": "Target function call",
  "option.BAD_CALL.FORBIDDEN.PARAM.NUMBER.title.call_param_should_not_be_deciaml": "Call parameter which should not be decimal",
  "option.BAD_CALL.FORBIDDEN.PARAM.NUMBER.title.call_target": "Target function call",
  "option.BAD_CALL.FORBIDDEN.PARAM.STRING.desc.call_param_should_not_be_string": "Call parameter which should not be string",
  "option.BAD_CALL.FORBIDDEN.PARAM.STRING.desc.call_target": "Target function call",
  "option.BAD_CALL.FORBIDDEN.PARAM.STRING.desc.file_target_excluded": "Files to be excluded",
  "option.BAD_CALL.FORBIDDEN.PARAM.STRING.desc.function_target": "Set target functions with regular expressions",
  "option.BAD_CALL.FORBIDDEN.PARAM.STRING.desc.function_target_excluded": "Set up functions to be excluded for analyze",
  "option.BAD_CALL.FORBIDDEN.PARAM.STRING.title.call_param_should_not_be_string": "Call parameter which should not be string",
  "option.BAD_CALL.FORBIDDEN.PARAM.STRING.title.call_target": "Target function call",
  "option.BAD_CALL.FORBIDDEN.PARAM.STRING.title.file_target_excluded": "Files to be excluded",
  "option.BAD_CALL.FORBIDDEN.PARAM.STRING.title.function_target": "Target functions",
  "option.BAD_CALL.FORBIDDEN.PARAM.STRING.title.function_target_excluded": "Functions to be excluded for analyze",
  "option.BAD_CALL.FORBIDDEN.PHP.desc.forbidden_function": "Write the name of the function forbid.\nExample) .*forbidden.*",
  "option.BAD_CALL.FORBIDDEN.PHP.title.forbidden_function": "Function to be forbidden",
  "option.BAD_CALL.FORBIDDEN.PYTHON.desc.forbidden_method": "Write a name of the function to be forbidden.\nExample) .*forbidden.*",
  "option.BAD_CALL.FORBIDDEN.PYTHON.title.forbidden_method": "Function to be forbidden",
  "option.BAD_CALL.FORBIDDEN.SWIFT.desc.forbidden_method": "Write a name of the function to be forbidden.\nExample) .*forbidden.*",
  "option.BAD_CALL.FORBIDDEN.SWIFT.title.forbidden_method": "Function to be forbidden",
  "option.BAD_CALL.FORBIDDEN.VARARGS.desc.call_param_should_not_be_variable": "Call parameter which should not be name",
  "option.BAD_CALL.FORBIDDEN.VARARGS.desc.call_target": "Target function call",
  "option.BAD_CALL.FORBIDDEN.VARARGS.desc.file_target_excluded": "Files to be excluded",
  "option.BAD_CALL.FORBIDDEN.VARARGS.title.call_param_should_not_be_variable": "Call parameter which should not be name",
  "option.BAD_CALL.FORBIDDEN.VARARGS.title.call_target": "Target function call",
  "option.BAD_CALL.FORBIDDEN.VARARGS.title.file_target_excluded": "Files to be excluded",
  "option.BAD_CALL.FORBIDDEN.VBNET.desc.forbidden_function": "Write the name of the forbidden function.\nExample) forbidden",
  "option.BAD_CALL.FORBIDDEN.VBNET.title.forbidden_function": "Function to be forbidden",
  "option.BAD_CALL.FORBIDDEN.VBS.desc.forbidden_function": "Write the name of the forbidden function.\nExample) forbidden",
  "option.BAD_CALL.FORBIDDEN.VBS.title.forbidden_function": "Function to be forbidden",
  "option.BAD_CALL.FORBIDDEN.desc.forbidden_function": "Write the name of the forbidden function.\nExample) forbidden",
  "option.BAD_CALL.FORBIDDEN.desc.forbidden_method": "Write the name of the method to forbid in Fully Qualified Name (FQN).\nExample) com.fasoo.Forbidden.forbidden",
  "option.BAD_CALL.FORBIDDEN.title.forbidden_function": "Name of the function to forbid",
  "option.BAD_CALL.FORBIDDEN.title.forbidden_method": "Name of the method to forbid",
  "option.BAD_CALL.IMPROPER_VARARGS.desc.call_param_should_be_deciaml": "Call parameter which should not be decimal",
  "option.BAD_CALL.IMPROPER_VARARGS.desc.call_param_value_equal_next_param_count": "Parameter index which represent various arguments' number",
  "option.BAD_CALL.IMPROPER_VARARGS.desc.call_target": "Target function call",
  "option.BAD_CALL.IMPROPER_VARARGS.desc.file_target_excluded": "Files to be excluded",
  "option.BAD_CALL.IMPROPER_VARARGS.desc.function_target": "Set target functions with regular expressions",
  "option.BAD_CALL.IMPROPER_VARARGS.desc.function_target_excluded": "Set up functions to be excluded for analyze",
  "option.BAD_CALL.IMPROPER_VARARGS.title.call_param_should_be_deciaml": "Call parameter which should not be decimal",
  "option.BAD_CALL.IMPROPER_VARARGS.title.call_param_value_equal_next_param_count": "Parameter index which represent various arguments' number",
  "option.BAD_CALL.IMPROPER_VARARGS.title.call_target": "Target function call",
  "option.BAD_CALL.IMPROPER_VARARGS.title.file_target_excluded": "Files to be excluded",
  "option.BAD_CALL.IMPROPER_VARARGS.title.function_target": "Target functions",
  "option.BAD_CALL.IMPROPER_VARARGS.title.function_target_excluded": "Functions to be excluded for analyze",
  "option.BAD_CALL.INCORRECT_SIZEOF.MEMCPY.desc.call_param_target_in_function": "Target function and parameter index",
  "option.BAD_CALL.INCORRECT_SIZEOF.MEMCPY.title.call_param_target_in_function": "Target function and parameter index",
  "option.BAD_CALL.LIBRARY.MEMORY.desc.file_target_excluded": "Set up files to be excluded for analyze",
  "option.BAD_CALL.LIBRARY.MEMORY.desc.file_target_have_include": "Target files that includes forbidden headers",
  "option.BAD_CALL.LIBRARY.MEMORY.desc.function_should_not_be_used": "Set up forbidden functions.",
  "option.BAD_CALL.LIBRARY.MEMORY.desc.function_target_excluded": "Set up functions to be excluded for analyze",
  "option.BAD_CALL.LIBRARY.MEMORY.title.file_target_excluded": "Files to be excluded",
  "option.BAD_CALL.LIBRARY.MEMORY.title.file_target_have_include": "Target files that includes forbidden headers",
  "option.BAD_CALL.LIBRARY.MEMORY.title.function_should_not_be_used": "Forbidden functions",
  "option.BAD_CALL.LIBRARY.MEMORY.title.function_target_excluded": "Functions to be excluded for analyze",
  "option.BAD_CALL.MISSING_CALL_PARAM.EXTENDED.desc.call_target": "Target function call",
  "option.BAD_CALL.MISSING_CALL_PARAM.EXTENDED.desc.call_target_call_param": "Parameter index which is place function call",
  "option.BAD_CALL.MISSING_CALL_PARAM.EXTENDED.desc.call_target_compare_param": "Parameter that calling function's comparision",
  "option.BAD_CALL.MISSING_CALL_PARAM.EXTENDED.desc.call_target_param_call": "Function name which should be called as parameter",
  "option.BAD_CALL.MISSING_CALL_PARAM.EXTENDED.desc.call_target_param_compare_mode": "decimal : decimal constant .string  : string constant .variable: variable",
  "option.BAD_CALL.MISSING_CALL_PARAM.EXTENDED.desc.call_target_param_compare_param": "Call target parameter compare parameter",
  "option.BAD_CALL.MISSING_CALL_PARAM.EXTENDED.desc.file_target_excluded": "Set up files to be excluded for analyze",
  "option.BAD_CALL.MISSING_CALL_PARAM.EXTENDED.desc.function_target": "Set target functions with regular expressions",
  "option.BAD_CALL.MISSING_CALL_PARAM.EXTENDED.desc.function_target_excluded": "Set up functions to be excluded for analyze",
  "option.BAD_CALL.MISSING_CALL_PARAM.EXTENDED.title.call_target": "Target function call",
  "option.BAD_CALL.MISSING_CALL_PARAM.EXTENDED.title.call_target_call_param": "Parameter index which is place function call",
  "option.BAD_CALL.MISSING_CALL_PARAM.EXTENDED.title.call_target_compare_param": "Parameter that calling function's comparision",
  "option.BAD_CALL.MISSING_CALL_PARAM.EXTENDED.title.call_target_param_call": "Function name which should be called as parameter",
  "option.BAD_CALL.MISSING_CALL_PARAM.EXTENDED.title.call_target_param_compare_mode": "Comparison mode",
  "option.BAD_CALL.MISSING_CALL_PARAM.EXTENDED.title.call_target_param_compare_param": "Call target parameter compare parameter",
  "option.BAD_CALL.MISSING_CALL_PARAM.EXTENDED.title.file_target_excluded": "Files to be excluded",
  "option.BAD_CALL.MISSING_CALL_PARAM.EXTENDED.title.function_target": "Target functions",
  "option.BAD_CALL.MISSING_CALL_PARAM.EXTENDED.title.function_target_excluded": "Functions to be excluded for analyze",
  "option.BAD_CALL.NOT_ALLOWED.PARAM.NAME.desc.call_param_should_be_name": "Required call parameters",
  "option.BAD_CALL.NOT_ALLOWED.PARAM.NAME.desc.call_target": "Target function call",
  "option.BAD_CALL.NOT_ALLOWED.PARAM.NAME.desc.file_target_excluded": "Files to be excluded",
  "option.BAD_CALL.NOT_ALLOWED.PARAM.NAME.desc.function_target": "Set up target functions for analyze",
  "option.BAD_CALL.NOT_ALLOWED.PARAM.NAME.desc.function_target_excluded": "Set up functions to be excluded for analyze.",
  "option.BAD_CALL.NOT_ALLOWED.PARAM.NAME.title.call_param_should_be_name": "Required call parameters",
  "option.BAD_CALL.NOT_ALLOWED.PARAM.NAME.title.call_target": "Target function call",
  "option.BAD_CALL.NOT_ALLOWED.PARAM.NAME.title.file_target_excluded": "Files to be excluded",
  "option.BAD_CALL.NOT_ALLOWED.PARAM.NAME.title.function_target": "Target functions",
  "option.BAD_CALL.NOT_ALLOWED.PARAM.NAME.title.function_target_excluded": "Functions to be excluded for analyze",
  "option.BAD_CALL.NOT_ALLOWED.PARAM.STRING.desc.call_param_should_be_string": "Parameter which should be place string in calling function",
  "option.BAD_CALL.NOT_ALLOWED.PARAM.STRING.desc.call_target": "Target function call",
  "option.BAD_CALL.NOT_ALLOWED.PARAM.STRING.desc.file_target_excluded": "Files to be excluded",
  "option.BAD_CALL.NOT_ALLOWED.PARAM.STRING.desc.function_target": "Set up target functions for analyze",
  "option.BAD_CALL.NOT_ALLOWED.PARAM.STRING.desc.function_target_excluded": "Set up functions to be excluded for analyze.",
  "option.BAD_CALL.NOT_ALLOWED.PARAM.STRING.title.call_param_should_be_string": "Parameter which should be place string in calling function",
  "option.BAD_CALL.NOT_ALLOWED.PARAM.STRING.title.call_target": "Target function call",
  "option.BAD_CALL.NOT_ALLOWED.PARAM.STRING.title.file_target_excluded": "Files to be excluded",
  "option.BAD_CALL.NOT_ALLOWED.PARAM.STRING.title.function_target": "Target functions",
  "option.BAD_CALL.NOT_ALLOWED.PARAM.STRING.title.function_target_excluded": "Functions to be excluded for analyze",
  "option.BAD_CALL.NUMBER_OF_VARARGS_MISMATCH.desc.targets": "Describe target functions and index of conversion specifiation. The index starts with zero. The format should be <the name of target function>,<index>. For example printf() has a conversion specification at index 0.",
  "option.BAD_CALL.NUMBER_OF_VARARGS_MISMATCH.title.targets": "Target function to analyze",
  "option.BAD_CALL.REQUIRED.AFTER_CALL.desc.sink_func": "Describe a function name must be called when the target function is called after",
  "option.BAD_CALL.REQUIRED.AFTER_CALL.desc.source_func": "Describe target function",
  "option.BAD_CALL.REQUIRED.AFTER_CALL.title.sink_func": "Must call function",
  "option.BAD_CALL.REQUIRED.AFTER_CALL.title.source_func": "Target function to analyze",
  "option.BAD_CALL.REQUIRED.ARGS.desc.call_param_should_be_name": "Required call parameters",
  "option.BAD_CALL.REQUIRED.ARGS.desc.call_target": "Target function call",
  "option.BAD_CALL.REQUIRED.ARGS.desc.file_target_excluded": "Set up files to be excluded for analyze",
  "option.BAD_CALL.REQUIRED.ARGS.title.call_param_should_be_name": "Required call parameters",
  "option.BAD_CALL.REQUIRED.ARGS.title.call_target": "Target function call",
  "option.BAD_CALL.REQUIRED.ARGS.title.file_target_excluded": "Files to be excluded",
  "option.BAD_CALL.REQUIRED.LIB_CALL.desc.file_target_excluded": "Set up files to be excluded for analyze",
  "option.BAD_CALL.REQUIRED.LIB_CALL.desc.function_target": "Set target functions with regular expressions",
  "option.BAD_CALL.REQUIRED.LIB_CALL.desc.function_used_set": "Required function and function should be used with the required function",
  "option.BAD_CALL.REQUIRED.LIB_CALL.title.file_target_excluded": "Files to be excluded",
  "option.BAD_CALL.REQUIRED.LIB_CALL.title.function_target": "Target functions",
  "option.BAD_CALL.REQUIRED.LIB_CALL.title.function_used_set": "Required function and function should be used with the required function",
  "option.BAD_CALL.REQUIRED.PARAM.desc.file_target_excluded": "Set up files to be excluded for analyze",
  "option.BAD_CALL.REQUIRED.PARAM.desc.function_should_not_be_used": "Set up forbidden functions.",
  "option.BAD_CALL.REQUIRED.PARAM.desc.function_target_have_param_type": "Required parameter's type",
  "option.BAD_CALL.REQUIRED.PARAM.title.file_target_excluded": "Files to be excluded",
  "option.BAD_CALL.REQUIRED.PARAM.title.function_should_not_be_used": "Function which should not be called.",
  "option.BAD_CALL.REQUIRED.PARAM.title.function_target_have_param_type": "Required parameter's type",
  "option.BAD_CALL.REQUIRED.VARARGS.desc.call_param_should_be_variable": "Required parameter variable and index",
  "option.BAD_CALL.REQUIRED.VARARGS.desc.call_target": "Target function call",
  "option.BAD_CALL.REQUIRED.VARARGS.desc.file_target_excluded": "Set up files to be excluded for analyze",
  "option.BAD_CALL.REQUIRED.VARARGS.title.call_param_should_be_variable": "Required parameter variable and index",
  "option.BAD_CALL.REQUIRED.VARARGS.title.call_target": "Target function call",
  "option.BAD_CALL.REQUIRED.VARARGS.title.file_target_excluded": "Files to be excluded",
  "option.BAD_CALL.REQUIRED.WRAPPER.desc.call_should_be_used_parameter": "Required parameter variable and index",
  "option.BAD_CALL.REQUIRED.WRAPPER.desc.call_target": "Target function call",
  "option.BAD_CALL.REQUIRED.WRAPPER.title.call_should_be_used_parameter": "Required parameter variable and index",
  "option.BAD_CALL.REQUIRED.WRAPPER.title.call_target": "Target function call",
  "option.BAD_CALL.REQUIRED.desc.function_should_be_used": "Set up functions should be used",
  "option.BAD_CALL.REQUIRED.title.function_should_be_used": "Functions should be used",
  "option.BAD_CALL.TYPE_MISMATCH.STRING.desc.str_function": "Set up functions for string.",
  "option.BAD_CALL.TYPE_MISMATCH.STRING.desc.wcs_function": "Set up functions for wide-character string.",
  "option.BAD_CALL.TYPE_MISMATCH.STRING.title.str_function": "Functions for string",
  "option.BAD_CALL.TYPE_MISMATCH.STRING.title.wcs_function": "Functions for wide-character string",
  "option.BAD_COMMENT.POSITION.SINGLE.desc.tab_space": "Set the length of space characters corresponding to a TAB character.",
  "option.BAD_COMMENT.POSITION.SINGLE.title.tab_space": "The length of space characters corresponding to a TAB character.",
  "option.BAD_COMMENT.TYPE.desc.TypeComment": "Define the comment format for type declaration.",
  "option.BAD_COMMENT.TYPE.title.TypeComment": "Comment format for type declaration",
  "option.BAD_COMPOUND_STATEMENT.CURLY_BRACE.desc.tab_space": "Set the length of space characters corresponding to a TAB character.",
  "option.BAD_COMPOUND_STATEMENT.CURLY_BRACE.title.tab_space": "The length of space characters corresponding to a TAB character.",
  "option.BAD_COOKIE.PATH.PHP.desc.check_function_params": "Write the name of the function to be checked and the position of the parameter.",
  "option.BAD_COOKIE.PATH.PHP.title.check_function_params": "Function name and parameter position",
  "option.BAD_CURLY_BRACE_GENERAL.desc.allow_after_open_level_ctrl": "For each kind, 0 allows any character, 1 allows comments and whitepaces, 2 allows only whitespaces, and 3 force immediate newline after open brace.",
  "option.BAD_CURLY_BRACE_GENERAL.desc.allow_after_open_level_decl": "For each kind, 0 allows any character, 1 allows comments and whitepaces, 2 allows only whitespaces, and 3 force immediate newline after open brace.",
  "option.BAD_CURLY_BRACE_GENERAL.desc.allow_close_without_newline_ctrl": "You can write if, else, for, while, do, switch, try, catch, finally, and synchronized.",
  "option.BAD_CURLY_BRACE_GENERAL.desc.allow_close_without_newline_decl": "You can write class, interface, enum, method, static, annotation, and array.",
  "option.BAD_CURLY_BRACE_GENERAL.desc.check_ctrl_exception": "You can write if, else, for, while, do, switch, try, catch, finally, and synchronized.",
  "option.BAD_CURLY_BRACE_GENERAL.desc.check_decl_exception": "You can write class, interface, enum, method, static, annotation, and array.",
  "option.BAD_CURLY_BRACE_GENERAL.desc.new_line_after_ctrl": "You can write if, else, for, while, do, switch, try, catch, finally, and synchronized.",
  "option.BAD_CURLY_BRACE_GENERAL.desc.new_line_after_decl": "You can write class, interface, enum, method, static, annotation, and array.",
  "option.BAD_CURLY_BRACE_GENERAL.title.allow_after_open_level_ctrl": "Allowed character levels for each controls",
  "option.BAD_CURLY_BRACE_GENERAL.title.allow_after_open_level_decl": "Allowed character levels for each declarations",
  "option.BAD_CURLY_BRACE_GENERAL.title.allow_close_without_newline_ctrl": "Controls that don't need newline before close brace",
  "option.BAD_CURLY_BRACE_GENERAL.title.allow_close_without_newline_decl": "Delcarations that don't need newline before close brace",
  "option.BAD_CURLY_BRACE_GENERAL.title.check_ctrl_exception": "Controls that need not to be checked",
  "option.BAD_CURLY_BRACE_GENERAL.title.check_decl_exception": "Delcarations that need not to be checked",
  "option.BAD_CURLY_BRACE_GENERAL.title.new_line_after_ctrl": "Controls that need newline before open brace",
  "option.BAD_CURLY_BRACE_GENERAL.title.new_line_after_decl": "Declarations that need newline before open brace",
  "option.BAD_DB_TRANSACTION.desc.commit_function": "Set up commit function",
  "option.BAD_DB_TRANSACTION.desc.rollback_function": "Set up rollback function.",
  "option.BAD_DB_TRANSACTION.title.commit_function": "commit function",
  "option.BAD_DB_TRANSACTION.title.rollback_function": "rollback function",
  "option.BAD_EQUALITY_EXPRESSION.BOOLEAN.desc.allowed_equality_value": "set up allowed equality comparision values with regular expression",
  "option.BAD_EQUALITY_EXPRESSION.BOOLEAN.title.allowed_equality_value": "Allowed equality comparision value",
  "option.BAD_ERROR.INVALID_CODE.desc.call_param_should_be_string": "Parameter which should be place string in calling function",
  "option.BAD_ERROR.INVALID_CODE.desc.call_target": "Target function call",
  "option.BAD_ERROR.INVALID_CODE.desc.file_target_excluded": "Files to be excluded",
  "option.BAD_ERROR.INVALID_CODE.desc.function_target": "Set up target functions for analyze",
  "option.BAD_ERROR.INVALID_CODE.desc.function_target_excluded": "Set up functions to be excluded for analyze.",
  "option.BAD_ERROR.INVALID_CODE.title.call_param_should_be_string": "Parameter which should be place string in calling function",
  "option.BAD_ERROR.INVALID_CODE.title.call_target": "Target function call",
  "option.BAD_ERROR.INVALID_CODE.title.file_target_excluded": "Files to be excluded",
  "option.BAD_ERROR.INVALID_CODE.title.function_target": "Target functions",
  "option.BAD_ERROR.INVALID_CODE.title.function_target_excluded": "Functions to be excluded for analyze",
  "option.BAD_ERROR.MISSING_INIT.desc.cond_error": "Set up an error values that are compared in conditional statement.",
  "option.BAD_ERROR.MISSING_INIT.desc.init_function": "Set up functions for initialization.",
  "option.BAD_ERROR.MISSING_INIT.desc.return_error": "Set up return error value",
  "option.BAD_ERROR.MISSING_INIT.title.cond_error": "Error values that are compared in conditional statement",
  "option.BAD_ERROR.MISSING_INIT.title.init_function": "Functions for initialization",
  "option.BAD_ERROR.MISSING_INIT.title.return_error": "Return error value",
  "option.BAD_ERROR.MISSING_LOGGING.desc.error_expr": "Set up error expressions",
  "option.BAD_ERROR.MISSING_LOGGING.desc.log_function": "Set up functions for logging",
  "option.BAD_ERROR.MISSING_LOGGING.title.error_expr": "Error expressions",
  "option.BAD_ERROR.MISSING_LOGGING.title.log_function": "Functions for logging",
  "option.BAD_ERROR.MISSING_RETURN.desc.call_target": "Target function call",
  "option.BAD_ERROR.MISSING_RETURN.desc.file_target_excluded": "Files to be excluded",
  "option.BAD_ERROR.MISSING_RETURN.desc.function_target": "Set up target functions for analyze",
  "option.BAD_ERROR.MISSING_RETURN.desc.function_target_excluded": "Set up functions to be excluded for analyze.",
  "option.BAD_ERROR.MISSING_RETURN.title.call_target": "Target function call",
  "option.BAD_ERROR.MISSING_RETURN.title.file_target_excluded": "Files to be excluded",
  "option.BAD_ERROR.MISSING_RETURN.title.function_target": "Target functions",
  "option.BAD_ERROR.MISSING_RETURN.title.function_target_excluded": "Functions to be excluded for analyze",
  "option.BAD_EXCEPTIONAL_CONDITION.desc.forbidden_exception": "Write the name of the exception class to forbid in Fully Qualified Name (FQN).\nExample) java.io.IOException",
  "option.BAD_EXCEPTIONAL_CONDITION.desc.required_exception": "Write the name of the exception class to include in Fully Qualified Name (FQN).\nExample) java.sql.SQLException",
  "option.BAD_EXCEPTIONAL_CONDITION.title.forbidden_exception": "Name of the exception class to exclude",
  "option.BAD_EXCEPTIONAL_CONDITION.title.required_exception": "Name of the exception class to include",
  "option.BAD_HEADER_FILE.DATA.desc.ignored_path": "Write the name of the path to exclude from analysis.",
  "option.BAD_HEADER_FILE.DATA.title.ignored_path": "Name of the path to exclude from analysis",
  "option.BAD_HEADER_FILE.DEFINE.desc.ignored_path": "Write the name of the path to exclude from analysis.",
  "option.BAD_HEADER_FILE.DEFINE.title.ignored_path": "Name of the path to exclude from analysis",
  "option.BAD_INCLUDE.DUPLICATED.desc.file_target_excluded": "Set up execluded files to analyze.",
  "option.BAD_INCLUDE.DUPLICATED.title.file_target_excluded": "Excluded files to analyze",
  "option.BAD_INCLUDE.FORBIDDEN.desc.forbidden_header": "Set up forbidden headers",
  "option.BAD_INCLUDE.FORBIDDEN.title.forbidden_header": "Forbidden headers",
  "option.BAD_INCLUDE.REQUIRED.desc.check_all_missing_only": "Check all missing only",
  "option.BAD_INCLUDE.REQUIRED.desc.required_header": "Set headers required",
  "option.BAD_INCLUDE.REQUIRED.title.check_all_missing_only": "Check all missing only",
  "option.BAD_INCLUDE.REQUIRED.title.required_header": "Header required",
  "option.BAD_INDENTATION.BLOCK.desc.check_alignment_block": "Check the indentation in the first line consistently is applied within the block.",
  "option.BAD_INDENTATION.BLOCK.desc.tab_space": "Set the length of space characters corresponding to a TAB character.",
  "option.BAD_INDENTATION.BLOCK.desc.target_block": "Write the blocks to detect. Blocks not written here will not be detected.",
  "option.BAD_INDENTATION.BLOCK.desc.white_space_number": "Set the indentation size in the block.",
  "option.BAD_INDENTATION.BLOCK.title.check_alignment_block": "Check alignment",
  "option.BAD_INDENTATION.BLOCK.title.tab_space": "The length of space characters corresponding to a TAB character.",
  "option.BAD_INDENTATION.BLOCK.title.target_block": "Blocks to detect",
  "option.BAD_INDENTATION.BLOCK.title.white_space_number": "Indentation Size",
  "option.BAD_INDENTATION.CASE_LABELS.desc.blank_line_number": "Set the number of blank lines between case statements.",
  "option.BAD_INDENTATION.CASE_LABELS.desc.indentation_space_number": "Set indentation of case statement in switch block.",
  "option.BAD_INDENTATION.CASE_LABELS.title.blank_line_number": "Number of blank lines between case statements",
  "option.BAD_INDENTATION.CASE_LABELS.title.indentation_space_number": "Indentation Size",
  "option.BAD_INDENTATION.CLASS.desc.max_implements_num": "Set the number of implements classes that can be declared on a single line.",
  "option.BAD_INDENTATION.CLASS.desc.start_class_column": "Set the starting position (column) of class.",
  "option.BAD_INDENTATION.CLASS.desc.start_others_column": "Set indentation of implements or extends statement on the next line.",
  "option.BAD_INDENTATION.CLASS.title.max_implements_num": "The number of declared implements classes.",
  "option.BAD_INDENTATION.CLASS.title.start_class_column": "Start position of class.",
  "option.BAD_INDENTATION.CLASS.title.start_others_column": "Indentation of implements or extends",
  "option.BAD_INDENTATION.COMMENT.desc.check_general_comment": "If the option is enabled, indentation of the general comments will be checked.",
  "option.BAD_INDENTATION.COMMENT.desc.check_header": "If the option is enabled, all comments in the header files will be checked.",
  "option.BAD_INDENTATION.COMMENT.desc.check_voting_column": "If the option is enabled, small indentations will be checked.",
  "option.BAD_INDENTATION.COMMENT.desc.tab_size": "Set the number of spaces for each tab.",
  "option.BAD_INDENTATION.COMMENT.title.check_general_comment": "Check indentation of the general comments",
  "option.BAD_INDENTATION.COMMENT.title.check_header": "Inspect header files",
  "option.BAD_INDENTATION.COMMENT.title.check_voting_column": "Multiple indentations",
  "option.BAD_INDENTATION.COMMENT.title.tab_size": "Tab size",
  "option.BAD_INDENTATION.FIELD.desc.start_field_column": "Set the indentation between class and field declarations.",
  "option.BAD_INDENTATION.FIELD.desc.tab_space": "Set the length of space characters corresponding to a TAB character.",
  "option.BAD_INDENTATION.FIELD.title.start_field_column": "Start position of field.",
  "option.BAD_INDENTATION.FIELD.title.tab_space": "The length of space characters corresponding to a TAB character.",
  "option.BAD_INDENTATION.IF_STATEMENT.desc.spaces_for_tab": "Set the number of spaces for each tab.\nExample) 4",
  "option.BAD_INDENTATION.IF_STATEMENT.title.spaces_for_tab": "Tab size",
  "option.BAD_INDENTATION.IMPROPER_LENGTH.desc.allowed_tab": "If the option is enabled, tab space will be allowed.",
  "option.BAD_INDENTATION.IMPROPER_LENGTH.desc.indent_size": "Specify the indentation size.",
  "option.BAD_INDENTATION.IMPROPER_LENGTH.desc.tab_number": "Set the number of tabs before the code.",
  "option.BAD_INDENTATION.IMPROPER_LENGTH.title.allowed_tab": "Allow tab",
  "option.BAD_INDENTATION.IMPROPER_LENGTH.title.indent_size": "Indentation size",
  "option.BAD_INDENTATION.IMPROPER_LENGTH.title.tab_number": "Number of tabs",
  "option.BAD_INDENTATION.METHOD.desc.start_method_column": "Set the indentation between class and method declarations.",
  "option.BAD_INDENTATION.METHOD.title.start_method_column": "Start position of method.",
  "option.BAD_INDENTATION.PACKAGE.desc.blank_line": "Write the number of blank lines between package statement and the file comment.",
  "option.BAD_INDENTATION.PACKAGE.title.blank_line": "Number of blank lines between package statement and the file comment",
  "option.BAD_INI.PERSISTENT_COOKIE.PHP.desc.max_lifetime": "Write the maximum lifetime of the cookies.\nExample) 3600",
  "option.BAD_INI.PERSISTENT_COOKIE.PHP.title.max_lifetime": "Maximum lifetime of the cookie",
  "option.BAD_INIT.INIT_AFTER_FIELD_DECLARATION.desc.exclude_final": "If the option is enabled, final fields will not be checked.",
  "option.BAD_INIT.INIT_AFTER_FIELD_DECLARATION.desc.exclude_static": "When enabled, fields declared as static are excluded from analysis.",
  "option.BAD_INIT.INIT_AFTER_FIELD_DECLARATION.desc.excluded_variable": "Write the fields to exclude from detection.\nExample) excluded",
  "option.BAD_INIT.INIT_AFTER_FIELD_DECLARATION.desc.target_variable": "Write the name of the field to detect that is initialized upon declaration.\nExample) field",
  "option.BAD_INIT.INIT_AFTER_FIELD_DECLARATION.title.exclude_final": "Exclude final field",
  "option.BAD_INIT.INIT_AFTER_FIELD_DECLARATION.title.exclude_static": "Exclude static fields",
  "option.BAD_INIT.INIT_AFTER_FIELD_DECLARATION.title.excluded_variable": "Name of the field to exclude",
  "option.BAD_INIT.INIT_AFTER_FIELD_DECLARATION.title.target_variable": "Name of the target field",
  "option.BAD_INIT.MISSING_AFTER_DECLARATION.desc.check_global": "If the option is enabled, global variables will be checked.",
  "option.BAD_INIT.MISSING_AFTER_DECLARATION.desc.check_local": "If the option is enabled, local variables will be checked.",
  "option.BAD_INIT.MISSING_AFTER_DECLARATION.desc.check_only_ptr": "If it is checked, the analyzer will check only pointer type.",
  "option.BAD_INIT.MISSING_AFTER_DECLARATION.desc.ignore_name": "The analyzer will not check the variables.",
  "option.BAD_INIT.MISSING_AFTER_DECLARATION.title.check_global": "Check global variables",
  "option.BAD_INIT.MISSING_AFTER_DECLARATION.title.check_local": "Check local variables",
  "option.BAD_INIT.MISSING_AFTER_DECLARATION.title.check_only_ptr": "Only check initialize for pointer type",
  "option.BAD_INIT.MISSING_AFTER_DECLARATION.title.ignore_name": "Variable name to ignore",
  "option.BAD_INIT.MISSING_AFTER_LOCAL_DECLARATION.desc.excluded_variable": "Write the name of local variable to exclude from analysis.\nExample) excluded",
  "option.BAD_INIT.MISSING_AFTER_LOCAL_DECLARATION.desc.ignored_variable_name": "Write variables to exclude from analysis.",
  "option.BAD_INIT.MISSING_AFTER_LOCAL_DECLARATION.desc.skip_array_check": "Skip array initialization checking",
  "option.BAD_INIT.MISSING_AFTER_LOCAL_DECLARATION.desc.target_variable": "Write the name of field to detect that is not initialized upon declaration.\nExample) local",
  "option.BAD_INIT.MISSING_AFTER_LOCAL_DECLARATION.title.excluded_variable": "Name of the local variable to exclude",
  "option.BAD_INIT.MISSING_AFTER_LOCAL_DECLARATION.title.ignored_variable_name": "Variables to exclude from analysis",
  "option.BAD_INIT.MISSING_AFTER_LOCAL_DECLARATION.title.skip_array_check": "Skip array initialization checking",
  "option.BAD_INIT.MISSING_AFTER_LOCAL_DECLARATION.title.target_variable": "Name of the target local variable",
  "option.BAD_INTEGER_EXPRESSION.desc.ignore_hexadecimal_const": "If selected, the analyzer ignore hexadecimal constants.",
  "option.BAD_INTEGER_EXPRESSION.title.ignore_hexadecimal_const": "Ignore hexadecimal constants",
  "option.BAD_INTERFACE.ICLONEABLE.CSHARP.desc.forbidden_interface": "Write forbidden interface.\nExample) ICloneable",
  "option.BAD_INTERFACE.ICLONEABLE.CSHARP.title.forbidden_interface": "Forbidden interface",
  "option.BAD_LINE_WRAPPING.desc.check_alignment": "If the option is enabled, line wrapping over different columns will be detected.",
  "option.BAD_LINE_WRAPPING.desc.check_if_condition_alignment": "If the option is enabled, line wrappings in condition expression of If statement will be checked with the start of if statement.",
  "option.BAD_LINE_WRAPPING.desc.tab_space": "Set the length of space characters corresponding to a TAB character.",
  "option.BAD_LINE_WRAPPING.desc.wrap_after_comma": "If the option is enabled, line wrappings after commas will be allowed.",
  "option.BAD_LINE_WRAPPING.desc.wrap_after_operator": "If the option is enabled, line wrappings after operators will be allowed.",
  "option.BAD_LINE_WRAPPING.desc.wrap_at_the_top_level": "If the option is enabled, line wrappings will be allowed only around the top level operator.",
  "option.BAD_LINE_WRAPPING.desc.wrap_before_comma": "If the option is enabled, line wrappings before commas will be allowed.",
  "option.BAD_LINE_WRAPPING.desc.wrap_before_operator": "If the option is set to ON line wrappings before operators will be allowed.",
  "option.BAD_LINE_WRAPPING.title.check_alignment": "Check line wrapping alignment",
  "option.BAD_LINE_WRAPPING.title.check_if_condition_alignment": "Special check for line wrappings in condition expression of If statement.",
  "option.BAD_LINE_WRAPPING.title.tab_space": "The length of space characters corresponding to a TAB character.",
  "option.BAD_LINE_WRAPPING.title.wrap_after_comma": "Allow line wrappings after commas",
  "option.BAD_LINE_WRAPPING.title.wrap_after_operator": "Allow line wrappings after operators",
  "option.BAD_LINE_WRAPPING.title.wrap_at_the_top_level": "Allow line wrappings only at the top level operator.",
  "option.BAD_LINE_WRAPPING.title.wrap_before_comma": "Allow line wrappings before commas",
  "option.BAD_LINE_WRAPPING.title.wrap_before_operator": "Allow line wrappings before operators",
  "option.BAD_MACRO.DUPLICATED.desc.exclude_macro": "Setup macros excluded",
  "option.BAD_MACRO.DUPLICATED.title.exclude_macro": "Macro excluded",
  "option.BAD_MACRO.MISUSE.desc.macro_used_order": "Set up macro usage order",
  "option.BAD_MACRO.MISUSE.title.macro_used_order": "Macro usage order",
  "option.BAD_MACRO.NAMING.desc.macro_naming_expr": "Write macro name expressions to allow.\nExample) [A-Z]+(_[A-Z]+)*",
  "option.BAD_MACRO.NAMING.title.macro_naming_expr": "Macro name expression",
  "option.BAD_MACRO.TRAILING_SEMICOLON.desc.exclude_macro": "Setup macros excluded",
  "option.BAD_MACRO.TRAILING_SEMICOLON.title.exclude_macro": "Macro excluded",
  "option.BAD_NAME.CLASS.ABAP.desc.name_regex": "Put a naming convention (Regular expression)",
  "option.BAD_NAME.CLASS.ABAP.title.name_regex": "Naming convention",
  "option.BAD_NAME.CLASS_OR_INTERFACE.desc.first_letter_pattern": "Write the first character rule of the class or interface. \n Example) A-Z",
  "option.BAD_NAME.CLASS_OR_INTERFACE.title.first_letter_pattern": "First character pattern of the class or interface",
  "option.BAD_NAME.CONSTANT.desc.const_name_expr": "Write constant variable expression to allow.\nExample) [A-Z][A-Z_]*",
  "option.BAD_NAME.CONSTANT.desc.exclude_param": "If the option is enabled, constant variables defined as parameters will not be detected.",
  "option.BAD_NAME.CONSTANT.desc.name_pattern": "Write the rule of the constant name. \n Example) [A-Z].*",
  "option.BAD_NAME.CONSTANT.title.const_name_expr": "Constant name expression",
  "option.BAD_NAME.CONSTANT.title.exclude_param": "Exclude constant parameters",
  "option.BAD_NAME.CONSTANT.title.name_pattern": "Constant name pattern",
  "option.BAD_NAME.DATA.ABAP.desc.name_regex": "Put a naming convention (Regular expression)",
  "option.BAD_NAME.DATA.ABAP.title.name_regex": "Naming convention",
  "option.BAD_NAME.DUPLICATED.desc.check_function": "If the option is enabled, duplicate function names will be detected.",
  "option.BAD_NAME.DUPLICATED.desc.check_macro": "If the option is enabled, duplicate with macro names will be detected.",
  "option.BAD_NAME.DUPLICATED.desc.check_same_type": "If selected, variables or functions of which names are overlapping each other will be detected. Otherwise, variable names overlapping with function names or vice versa will be detected.",
  "option.BAD_NAME.DUPLICATED.desc.check_variable": "If the option is enabled, duplicate variable names will be detected.",
  "option.BAD_NAME.DUPLICATED.title.check_function": "Check function name",
  "option.BAD_NAME.DUPLICATED.title.check_macro": "Check macro name",
  "option.BAD_NAME.DUPLICATED.title.check_same_type": "Check duplication status",
  "option.BAD_NAME.DUPLICATED.title.check_variable": "Check variable name",
  "option.BAD_NAME.FORM.ABAP.desc.name_regex": "Put a naming convention (Regular expression)",
  "option.BAD_NAME.FORM.ABAP.title.name_regex": "Naming convention",
  "option.BAD_NAME.FUNCTION.ABAP.desc.name_regex": "Put a naming convention (Regular expression)",
  "option.BAD_NAME.FUNCTION.ABAP.title.name_regex": "Naming convention",
  "option.BAD_NAME.GLOBAL_VARIABLE.desc.global_variable_name_expression": "Write global variable name expressions.\nExample) g[A-Za-z]+",
  "option.BAD_NAME.GLOBAL_VARIABLE.desc.ignore_var_list": "Set ignore variables list",
  "option.BAD_NAME.GLOBAL_VARIABLE.title.global_variable_name_expression": "Global variable name",
  "option.BAD_NAME.GLOBAL_VARIABLE.title.ignore_var_list": "Ignore variables list",
  "option.BAD_NAME.INTERFACE.ABAP.desc.name_regex": "Put a naming convention (Regular expression)",
  "option.BAD_NAME.INTERFACE.ABAP.title.name_regex": "Naming convention",
  "option.BAD_NAME.LOCAL_VARIABLE.CSHARP.desc.first_letter_pattern": "first letter pattern",
  "option.BAD_NAME.LOCAL_VARIABLE.CSHARP.title.first_letter_pattern": "first letter pattern",
  "option.BAD_NAME.METHOD.ABAP.desc.name_regex": "Put a naming convention (Regular expression)",
  "option.BAD_NAME.METHOD.ABAP.title.name_regex": "Naming convention",
  "option.BAD_NAME.METHOD.desc.check_first_word": "If the option is enabled, the first word of the method name will be checked.",
  "option.BAD_NAME.METHOD.desc.check_private_method": "When checked, the name of the private method is also checked.",
  "option.BAD_NAME.METHOD.desc.first_word": "Write verbs to use as the prefix of the method name.\n Example) do",
  "option.BAD_NAME.METHOD.desc.name_pattern": "Write the rule of the method name. \n Example) [a-z].*",
  "option.BAD_NAME.METHOD.title.check_first_word": "Check the first word of the method name",
  "option.BAD_NAME.METHOD.title.check_private_method": "private method inspection",
  "option.BAD_NAME.METHOD.title.first_word": "First word of the method name",
  "option.BAD_NAME.METHOD.title.name_pattern": "Method name pattern",
  "option.BAD_NAME.NAMESPACE.CSHARP.desc.first_letter_pattern": "first letter pattern",
  "option.BAD_NAME.NAMESPACE.CSHARP.title.first_letter_pattern": "first letter pattern",
  "option.BAD_NAME.PACKAGE.desc.1st_level": "Create a list of names to use for the first level of the package.",
  "option.BAD_NAME.PACKAGE.desc.2nd_level": "Create a list of names to use for the second level of the package.",
  "option.BAD_NAME.PACKAGE.desc.3rd_level": "Create a list of names to use for the third level of the package.",
  "option.BAD_NAME.PACKAGE.desc.4th_level": "Create a list of names to use for the fourth level of the package.",
  "option.BAD_NAME.PACKAGE.desc.check_1st_level": "If the option is enabled, it checks the first level name of the package.",
  "option.BAD_NAME.PACKAGE.desc.check_2nd_level": "If the option is enabled, it checks the second level name of the package.",
  "option.BAD_NAME.PACKAGE.desc.check_3rd_level": "If the option is enabled, it checks the third level name of the package.",
  "option.BAD_NAME.PACKAGE.desc.check_4th_level": "If the option is enabled, it checks the fourth level name of the package.",
  "option.BAD_NAME.PACKAGE.title.1st_level": "First level word in package",
  "option.BAD_NAME.PACKAGE.title.2nd_level": "Second level word in package",
  "option.BAD_NAME.PACKAGE.title.3rd_level": "Third level word in package",
  "option.BAD_NAME.PACKAGE.title.4th_level": "Fourth level word in package",
  "option.BAD_NAME.PACKAGE.title.check_1st_level": "Check First Level Name of Package",
  "option.BAD_NAME.PACKAGE.title.check_2nd_level": "Check Second Level Name of Package",
  "option.BAD_NAME.PACKAGE.title.check_3rd_level": "Check Third Level Name of Package",
  "option.BAD_NAME.PACKAGE.title.check_4th_level": "Check Fourth Level Name of Package",
  "option.BAD_NAME.PARAMETER.CSHARP.desc.first_letter_pattern": "first letter pattern",
  "option.BAD_NAME.PARAMETER.CSHARP.title.first_letter_pattern": "first letter pattern",
  "option.BAD_NAME.PARAMETER.desc.parameter_prefix": "Write parameter prefixes.\nExample) p",
  "option.BAD_NAME.PARAMETER.title.parameter_prefix": "Parameter prefix",
  "option.BAD_NAME.POINTER_VARIABLE.desc.check_param": "Check parameters",
  "option.BAD_NAME.POINTER_VARIABLE.desc.ignore_name": "Ignore variables name",
  "option.BAD_NAME.POINTER_VARIABLE.desc.ignore_type": "Ignore type names",
  "option.BAD_NAME.POINTER_VARIABLE.desc.pointer_variable_name_expression": "Write an expression for the pointer variable name.\nExample) p_[A-Za-z]+",
  "option.BAD_NAME.POINTER_VARIABLE.title.check_param": "Check parameters",
  "option.BAD_NAME.POINTER_VARIABLE.title.ignore_name": "Ignore variables name",
  "option.BAD_NAME.POINTER_VARIABLE.title.ignore_type": "Ignore type names",
  "option.BAD_NAME.POINTER_VARIABLE.title.pointer_variable_name_expression": "Name of the pointer variable",
  "option.BAD_NAME.PROGRAM.ABAP.desc.name_regex": "Put a naming convention (Regular expression)",
  "option.BAD_NAME.PROGRAM.ABAP.title.name_regex": "Naming convention",
  "option.BAD_NAME.REPORT.ABAP.desc.name_regex": "Put a naming convention (Regular expression)",
  "option.BAD_NAME.REPORT.ABAP.title.name_regex": "Naming convention",
  "option.BAD_NAME.SPECIAL_CHARACTER.desc.allowed_special_char": "Write a special character which is allowed for names.\nExample) _",
  "option.BAD_NAME.SPECIAL_CHARACTER.title.allowed_special_char": "Special characters to allow",
  "option.BAD_NAME.TOO_LONG.desc.max_class_name_length": "Write the maximum length of the class name.\nExample) 20",
  "option.BAD_NAME.TOO_LONG.desc.max_field_name_length": "Set the maximum length of the field name to allow.\nExample) 20",
  "option.BAD_NAME.TOO_LONG.desc.max_func_name_length": "Write the maximum length of the function name to allow.\nExample) 20",
  "option.BAD_NAME.TOO_LONG.desc.max_method_name_length": "Write the maximum length of the method name.\nExample) 20",
  "option.BAD_NAME.TOO_LONG.desc.max_var_name_length": "Write the maximum allowable length of variable names.\nExample) 20",
  "option.BAD_NAME.TOO_LONG.title.max_class_name_length": "Maximum length of the class name",
  "option.BAD_NAME.TOO_LONG.title.max_field_name_length": "Maximum length of the field name",
  "option.BAD_NAME.TOO_LONG.title.max_func_name_length": "Maximum length of the function name",
  "option.BAD_NAME.TOO_LONG.title.max_method_name_length": "Maximum length of the method name",
  "option.BAD_NAME.TOO_LONG.title.max_var_name_length": "Maximum length of the variable",
  "option.BAD_NAME.VARIABLE.desc.name_rule_1": "Write target variable specifier condition for first value, and variable name regex pattern for second value.\n Example) !final field (all field variable that non-final), [a-z].* (name starts with lower case letter)",
  "option.BAD_NAME.VARIABLE.desc.name_rule_2": "Write target variable specifier condition for first value, and variable name regex pattern for second value.\n Example) public static final field (all public static final field constants), [A-Z][A-Z 0-9]+(_[A-Z 0-9]+)* (name starts with upper case letter and consists of upper case, digit, and underbar characters)",
  "option.BAD_NAME.VARIABLE.desc.name_rule_3": "Write target variable specifier condition for first value, and variable name regex pattern for second value.\n Example) !final parameter (all method parameter variable that non-final), [a-z].* (name starts with lower case letter)",
  "option.BAD_NAME.VARIABLE.desc.name_rule_4": "Write target variable specifier condition for first value, and variable name regex pattern for second value.\n Example) !final local (all method local variable that non-final), [a-z].* (name starts with lower case letter)",
  "option.BAD_NAME.VARIABLE.desc.name_rule_5": "Write target variable specifier condition for first value, and variable name regex pattern for second value.\n Example) !final field (all field variable that non-final), [a-z].* (name starts with lower case letter)",
  "option.BAD_NAME.VARIABLE.desc.scope_target_global": "If the option is enabled, global variables will be checked.",
  "option.BAD_NAME.VARIABLE.desc.scope_target_local": "If the option is enabled, local variables will be checked.",
  "option.BAD_NAME.VARIABLE.desc.scope_target_loop": "If the option is enabled, loop variables will be checked.",
  "option.BAD_NAME.VARIABLE.desc.scope_target_member": "If the option is enabled, member variables will be checked.",
  "option.BAD_NAME.VARIABLE.desc.scope_target_parameter": "If the option is enabled, parameters will be checked.",
  "option.BAD_NAME.VARIABLE.desc.variable_should_be_name": "Write an expression of the variable name to allow.\nExample) [a-zA-Z0-9_]*",
  "option.BAD_NAME.VARIABLE.desc.variable_should_not_be_name": "Write an expression of the variable name to be forbid.\nExample) forbidden",
  "option.BAD_NAME.VARIABLE.title.name_rule_1": "Target variable condition and pattern",
  "option.BAD_NAME.VARIABLE.title.name_rule_2": "Target variable condition and pattern",
  "option.BAD_NAME.VARIABLE.title.name_rule_3": "Target variable condition and pattern",
  "option.BAD_NAME.VARIABLE.title.name_rule_4": "Target variable condition and pattern",
  "option.BAD_NAME.VARIABLE.title.name_rule_5": "Target variable condition and pattern",
  "option.BAD_NAME.VARIABLE.title.scope_target_global": "Check global variable",
  "option.BAD_NAME.VARIABLE.title.scope_target_local": "Check local variable",
  "option.BAD_NAME.VARIABLE.title.scope_target_loop": "Check loop variable",
  "option.BAD_NAME.VARIABLE.title.scope_target_member": "Check member variable",
  "option.BAD_NAME.VARIABLE.title.scope_target_parameter": "Check parameter",
  "option.BAD_NAME.VARIABLE.title.variable_should_be_name": "Name of the variable to allow",
  "option.BAD_NAME.VARIABLE.title.variable_should_not_be_name": "Name of the variable to forbid",
  "option.BAD_OPERATOR.MULTIPLE_VARIABLE_ASSIGNMENT.desc.check_separate_assignments": "If the checkbox is checked, additionally detect two or more assignment operators which are used separately even though they are not assigning the same value in a single expression.\nExample) (x",
  "option.BAD_OPERATOR.MULTIPLE_VARIABLE_ASSIGNMENT.title.check_separate_assignments": "Check separated assignments",
  "option.BAD_OPERATOR.TOO_MANY_LOGICAL_OPERATIONS.desc.allow_exceptional_cases": "Common exceptions are allowed. \nExample) a",
  "option.BAD_OPERATOR.TOO_MANY_LOGICAL_OPERATIONS.desc.check_multi_line": "Check multiple lines",
  "option.BAD_OPERATOR.TOO_MANY_LOGICAL_OPERATIONS.desc.ignore_parenthesis": "Ignore parentheses.",
  "option.BAD_OPERATOR.TOO_MANY_LOGICAL_OPERATIONS.desc.operator_numbers": "Set the number of the operators to allow.",
  "option.BAD_OPERATOR.TOO_MANY_LOGICAL_OPERATIONS.title.allow_exceptional_cases": "Allow exceptional case.",
  "option.BAD_OPERATOR.TOO_MANY_LOGICAL_OPERATIONS.title.check_multi_line": "Check multiple lines",
  "option.BAD_OPERATOR.TOO_MANY_LOGICAL_OPERATIONS.title.ignore_parenthesis": "Ignore parenthesis",
  "option.BAD_OPERATOR.TOO_MANY_LOGICAL_OPERATIONS.title.operator_numbers": "Number of operators.",
  "option.BAD_ORGANIZATION.CLASS.desc.class_element_priority": "Define priorities of each class element - 'field', 'innerclass', 'constructor', 'method' and 'initializer'. List the class elements from the highest priority separated them using semicolons. Unwritten class elements will be given the lowest priority.\nExample) field;innerclass;constructor;method;initializer",
  "option.BAD_ORGANIZATION.CLASS.title.class_element_priority": "Priorities of class elements",
  "option.BAD_PARENTHESIS.desc.check_inner_blank": "If selected, whitespace within the inner parentheses will be detected.",
  "option.BAD_PARENTHESIS.desc.check_multiline_alignment": "If selected with the contents being on multiple lines, whether the opening and the closing parentheses are located at the same column and whether the closing parenthesis is at the first column of the line will be checked.",
  "option.BAD_PARENTHESIS.desc.check_outer_blank": "If selected, whitespace in the outermost parentheses will be detected.",
  "option.BAD_PARENTHESIS.title.check_inner_blank": "Do not allow whitespace within the inner parentheses",
  "option.BAD_PARENTHESIS.title.check_multiline_alignment": "Check Alignments of Parentheses",
  "option.BAD_PARENTHESIS.title.check_outer_blank": "Check blank in the outermost parentheses.",
  "option.BAD_PRIVILEGE_ASSIGNMENT.desc.call_param_target_in_function": "Required parameter in call function",
  "option.BAD_PRIVILEGE_ASSIGNMENT.title.call_param_target_in_function": "Required parameter in call function",
  "option.BAD_QUALIFIER.FORBIDDEN.PARAM_PTR.desc.file_target_excluded": "Files to be excluded",
  "option.BAD_QUALIFIER.FORBIDDEN.PARAM_PTR.desc.function_target": "Set target functions with regular expressions",
  "option.BAD_QUALIFIER.FORBIDDEN.PARAM_PTR.desc.function_target_excluded": "Set up functions to be excluded for analyze.",
  "option.BAD_QUALIFIER.FORBIDDEN.PARAM_PTR.desc.parameter_should_not_have_qualifiers": "Set up forbidden qualifiers. If you want set up multiple qualifier, use a comma(,).\nExample) const, volatile",
  "option.BAD_QUALIFIER.FORBIDDEN.PARAM_PTR.desc.parameter_target_type_is_pointer": "Set up parameter index which type is pointer.\n Ex : Format [param index]:[data]\nparam index - All index : 0\nParticular index (Multiple) : 1,2",
  "option.BAD_QUALIFIER.FORBIDDEN.PARAM_PTR.title.file_target_excluded": "Files to be excluded",
  "option.BAD_QUALIFIER.FORBIDDEN.PARAM_PTR.title.function_target": "Target functions",
  "option.BAD_QUALIFIER.FORBIDDEN.PARAM_PTR.title.function_target_excluded": "Functions to be excluded for analyze",
  "option.BAD_QUALIFIER.FORBIDDEN.PARAM_PTR.title.parameter_should_not_have_qualifiers": "Forbidden qualifier",
  "option.BAD_QUALIFIER.FORBIDDEN.PARAM_PTR.title.parameter_target_type_is_pointer": "Pointer Type parameter",
  "option.BAD_QUALIFIER.FORBIDDEN.desc.forbidden_qualifiers": "Set up forbidden qualifiers. If you want set up multiple qualifier, use a comma(,).\nExample) const, volatile",
  "option.BAD_QUALIFIER.FORBIDDEN.desc.scope_target_global": "If the option is enabled, global variables will be checked.",
  "option.BAD_QUALIFIER.FORBIDDEN.desc.scope_target_local": "If the option is enabled, local variables will be checked.",
  "option.BAD_QUALIFIER.FORBIDDEN.desc.scope_target_parameter": "If the option is enabled, parameters will be checked.",
  "option.BAD_QUALIFIER.FORBIDDEN.title.forbidden_qualifiers": "Forbidden qualifier",
  "option.BAD_QUALIFIER.FORBIDDEN.title.scope_target_global": "Check global variable",
  "option.BAD_QUALIFIER.FORBIDDEN.title.scope_target_local": "Check local variable",
  "option.BAD_QUALIFIER.FORBIDDEN.title.scope_target_parameter": "Check parameter",
  "option.BAD_QUALIFIER.REQUIRED.PARAM_PTR.desc.file_target_excluded": "Files to be excluded",
  "option.BAD_QUALIFIER.REQUIRED.PARAM_PTR.desc.function_target": "Set target functions with regular expressions",
  "option.BAD_QUALIFIER.REQUIRED.PARAM_PTR.desc.function_target_excluded": "Set up functions to be excluded for analyze",
  "option.BAD_QUALIFIER.REQUIRED.PARAM_PTR.desc.parameter_should_have_qualifiers": "Set up qualifier which should be used. If you want multiple qualifiers, use a comma(,).\nExample) const, volatile",
  "option.BAD_QUALIFIER.REQUIRED.PARAM_PTR.desc.parameter_target_type_is_pointer": "Set up parameter index which type is pointer.\n Ex : Format [param index]:[data]\nparam index - All index : 0\nParticular index (Multiple) : 1,2",
  "option.BAD_QUALIFIER.REQUIRED.PARAM_PTR.title.file_target_excluded": "Files to be excluded",
  "option.BAD_QUALIFIER.REQUIRED.PARAM_PTR.title.function_target": "Target functions",
  "option.BAD_QUALIFIER.REQUIRED.PARAM_PTR.title.function_target_excluded": "Functions to be excluded for analyze",
  "option.BAD_QUALIFIER.REQUIRED.PARAM_PTR.title.parameter_should_have_qualifiers": "Required qualifier",
  "option.BAD_QUALIFIER.REQUIRED.PARAM_PTR.title.parameter_target_type_is_pointer": "Pointer Type parameter",
  "option.BAD_SECURITY_DECISION.DNS_LOOKUP.PHP.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(*) of name(\"filter\")",
  "option.BAD_SECURITY_DECISION.DNS_LOOKUP.PHP.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.BAD_SECURITY_DECISION.DNS_LOOKUP.PHP.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\".\") to return",
  "option.BAD_SECURITY_DECISION.DNS_LOOKUP.PHP.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(*) of name(\"strcmp\")",
  "option.BAD_SECURITY_DECISION.DNS_LOOKUP.PHP.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of name(\"gethostname\")",
  "option.BAD_SECURITY_DECISION.DNS_LOOKUP.PHP.title.taint_filter": "External information filter",
  "option.BAD_SECURITY_DECISION.DNS_LOOKUP.PHP.title.taint_filter_function_fqn": "Custom external information filter",
  "option.BAD_SECURITY_DECISION.DNS_LOOKUP.PHP.title.taint_propagator": "External information propagator",
  "option.BAD_SECURITY_DECISION.DNS_LOOKUP.PHP.title.taint_sink": "External information sink",
  "option.BAD_SECURITY_DECISION.DNS_LOOKUP.PHP.title.taint_source": "External information source",
  "option.BAD_SECURITY_DECISION.UNTRUSTED_INPUT.PHP.desc.forbidden_key": "Write a name of the cookie key to be forbidden.\nExample) role",
  "option.BAD_SECURITY_DECISION.UNTRUSTED_INPUT.PHP.title.forbidden_key": "Cookie key to be forbidden",
  "option.BAD_STRING_IN_COMMENT.desc.check_header": "If the option is enabled, all comments in the header files will be checked.",
  "option.BAD_STRING_IN_COMMENT.desc.forbidden_string_list": "Write a list of forbidden string in comments.\nExample) /*,*/,//",
  "option.BAD_STRING_IN_COMMENT.title.check_header": "Inspect header files",
  "option.BAD_STRING_IN_COMMENT.title.forbidden_string_list": "Forbidden string",
  "option.BAD_STRING_MANAGEMENT.desc.function_should_not_be_used": "Set up forbidden functions with regular expressions.",
  "option.BAD_STRING_MANAGEMENT.title.function_should_not_be_used": "Forbidden functions",
  "option.BAD_STRUCT.ALIGNMENT.desc.alignment_size": "Set up alignment size",
  "option.BAD_STRUCT.ALIGNMENT.desc.char_size": "Set up char type size.",
  "option.BAD_STRUCT.ALIGNMENT.desc.float_size": "Set up float type size.",
  "option.BAD_STRUCT.ALIGNMENT.desc.int_size": "Set up int type size.",
  "option.BAD_STRUCT.ALIGNMENT.desc.short_size": "Set up short type size.",
  "option.BAD_STRUCT.ALIGNMENT.desc.use_alignment": "If selected, alignment may be allowed.",
  "option.BAD_STRUCT.ALIGNMENT.title.alignment_size": "alignment size",
  "option.BAD_STRUCT.ALIGNMENT.title.char_size": "char type size",
  "option.BAD_STRUCT.ALIGNMENT.title.float_size": "float type size",
  "option.BAD_STRUCT.ALIGNMENT.title.int_size": "int type size",
  "option.BAD_STRUCT.ALIGNMENT.title.short_size": "short type size",
  "option.BAD_STRUCT.ALIGNMENT.title.use_alignment": "Use alignment",
  "option.BAD_STRUCT.PADDING.desc.alignment_size": "Set up alignment size",
  "option.BAD_STRUCT.PADDING.desc.char_size": "Set up char type size.",
  "option.BAD_STRUCT.PADDING.desc.float_size": "Set up float type size.",
  "option.BAD_STRUCT.PADDING.desc.int_size": "Set up int type size.",
  "option.BAD_STRUCT.PADDING.desc.short_size": "Set up short type size.",
  "option.BAD_STRUCT.PADDING.desc.use_alignment": "If selected, alignment may be allowed.",
  "option.BAD_STRUCT.PADDING.title.alignment_size": "alignment size",
  "option.BAD_STRUCT.PADDING.title.char_size": "char type size",
  "option.BAD_STRUCT.PADDING.title.float_size": "float type size",
  "option.BAD_STRUCT.PADDING.title.int_size": "int type size",
  "option.BAD_STRUCT.PADDING.title.short_size": "short type size",
  "option.BAD_STRUCT.PADDING.title.use_alignment": "Use alignment",
  "option.BAD_STRUCT.SIZE.desc.alignment_size": "Set up alignment size",
  "option.BAD_STRUCT.SIZE.desc.char_size": "Set up char type size.",
  "option.BAD_STRUCT.SIZE.desc.float_size": "Set up float type size.",
  "option.BAD_STRUCT.SIZE.desc.int_size": "Set up int type size.",
  "option.BAD_STRUCT.SIZE.desc.max_size": "Set up maximum size of a structure.",
  "option.BAD_STRUCT.SIZE.desc.short_size": "Set up short type size.",
  "option.BAD_STRUCT.SIZE.desc.use_alignment": "If selected, alignment may be allowed.",
  "option.BAD_STRUCT.SIZE.title.alignment_size": "alignment size",
  "option.BAD_STRUCT.SIZE.title.char_size": "char type size",
  "option.BAD_STRUCT.SIZE.title.float_size": "float type size",
  "option.BAD_STRUCT.SIZE.title.int_size": "int type size",
  "option.BAD_STRUCT.SIZE.title.max_size": "Maximum size",
  "option.BAD_STRUCT.SIZE.title.short_size": "short type size",
  "option.BAD_STRUCT.SIZE.title.use_alignment": "Use alignment",
  "option.BAD_STRUCT_MEMBER_ACCESS.desc.file_target_excluded": "Set up excluded files' name.",
  "option.BAD_STRUCT_MEMBER_ACCESS.desc.function_target": "Set up target functions' name.",
  "option.BAD_STRUCT_MEMBER_ACCESS.desc.function_target_excluded": "Set up excluded functions' name",
  "option.BAD_STRUCT_MEMBER_ACCESS.desc.member_assign_limit": "Limit member assignment count.",
  "option.BAD_STRUCT_MEMBER_ACCESS.title.file_target_excluded": "Excluded files to analyze",
  "option.BAD_STRUCT_MEMBER_ACCESS.title.function_target": "Target function to analyze",
  "option.BAD_STRUCT_MEMBER_ACCESS.title.function_target_excluded": "Excluded functions",
  "option.BAD_STRUCT_MEMBER_ACCESS.title.member_assign_limit": "Limit member assignment",
  "option.BAD_THROW.FORBIDDEN_EXCEPTION.desc.allowed_exceptions": "Write the <i>Exception</i> class names, containing package name, that are allowed to be thrown.",
  "option.BAD_THROW.FORBIDDEN_EXCEPTION.desc.prohibited_exceptions": "Write the <i>Exception</i> class names, containing package name, that are prohibited to be thrown.",
  "option.BAD_THROW.FORBIDDEN_EXCEPTION.title.allowed_exceptions": "Allowed Exception classes",
  "option.BAD_THROW.FORBIDDEN_EXCEPTION.title.prohibited_exceptions": "Prohibited exception class",
  "option.BAD_TRY_CATCH_MACRO_USAGE.desc.catch_macro": "set up catch macro name.",
  "option.BAD_TRY_CATCH_MACRO_USAGE.desc.try_macro": "Set up try macro name.",
  "option.BAD_TRY_CATCH_MACRO_USAGE.title.catch_macro": "catch macro",
  "option.BAD_TRY_CATCH_MACRO_USAGE.title.try_macro": "try macro",
  "option.BAD_TYPE.FLOAT.desc.allowed_type": "Write float types to allow. Other float types will be detected.",
  "option.BAD_TYPE.FLOAT.title.allowed_type": "List of float types to allow",
  "option.BAD_TYPE.FORBIDDEN.CHAR.desc.expand_typedef": "If selected, the analyzer will check typedef types.",
  "option.BAD_TYPE.FORBIDDEN.CHAR.desc.forbidden_type": "Set forbidden types.",
  "option.BAD_TYPE.FORBIDDEN.CHAR.desc.ignore_const": "If selected, the analyzer will ignore constants.",
  "option.BAD_TYPE.FORBIDDEN.CHAR.desc.scope_target_global": "If selected, the analyzer will check in global scope.",
  "option.BAD_TYPE.FORBIDDEN.CHAR.desc.scope_target_local": "If selected, the analyzer will check local variables.",
  "option.BAD_TYPE.FORBIDDEN.CHAR.desc.scope_target_member": "If selected, the analyzer will check members.",
  "option.BAD_TYPE.FORBIDDEN.CHAR.desc.scope_target_parameter": "Check parameters",
  "option.BAD_TYPE.FORBIDDEN.CHAR.desc.type_target_array": "If selected, the analyzer will check array types.",
  "option.BAD_TYPE.FORBIDDEN.CHAR.desc.type_target_pointer": "If selected, the analyzer will check pointer types.",
  "option.BAD_TYPE.FORBIDDEN.CHAR.desc.type_target_signed": "If selected, the analyzer will check signed integer.",
  "option.BAD_TYPE.FORBIDDEN.CHAR.desc.type_target_typedef": "If selected, the analyzer will check typedef types.",
  "option.BAD_TYPE.FORBIDDEN.CHAR.desc.type_target_unsigned": "If selected, the analyzer will check unsigned integer.",
  "option.BAD_TYPE.FORBIDDEN.CHAR.title.expand_typedef": "Check typedef types",
  "option.BAD_TYPE.FORBIDDEN.CHAR.title.forbidden_type": "Forbidden types",
  "option.BAD_TYPE.FORBIDDEN.CHAR.title.ignore_const": "Ignore constant",
  "option.BAD_TYPE.FORBIDDEN.CHAR.title.scope_target_global": "Check global scope",
  "option.BAD_TYPE.FORBIDDEN.CHAR.title.scope_target_local": "Check local variables",
  "option.BAD_TYPE.FORBIDDEN.CHAR.title.scope_target_member": "Check member",
  "option.BAD_TYPE.FORBIDDEN.CHAR.title.scope_target_parameter": "Check parameters",
  "option.BAD_TYPE.FORBIDDEN.CHAR.title.type_target_array": "Check array types",
  "option.BAD_TYPE.FORBIDDEN.CHAR.title.type_target_pointer": "Check pointer types",
  "option.BAD_TYPE.FORBIDDEN.CHAR.title.type_target_signed": "Check signed integer",
  "option.BAD_TYPE.FORBIDDEN.CHAR.title.type_target_typedef": "Check typedef types",
  "option.BAD_TYPE.FORBIDDEN.CHAR.title.type_target_unsigned": "Check unsigned integer",
  "option.BAD_TYPE.FORBIDDEN.FLOAT.desc.expand_typedef": "If selected, the analyzer will check typedef types.",
  "option.BAD_TYPE.FORBIDDEN.FLOAT.desc.forbidden_type": "Set forbidden types.",
  "option.BAD_TYPE.FORBIDDEN.FLOAT.desc.ignore_const": "If selected, the analyzer will ignore constants.",
  "option.BAD_TYPE.FORBIDDEN.FLOAT.desc.scope_target_global": "If selected, the analyzer will check in global scope.",
  "option.BAD_TYPE.FORBIDDEN.FLOAT.desc.scope_target_local": "If selected, the analyzer will check local variables.",
  "option.BAD_TYPE.FORBIDDEN.FLOAT.desc.scope_target_member": "If selected, the analyzer will check members.",
  "option.BAD_TYPE.FORBIDDEN.FLOAT.desc.scope_target_parameter": "Check parameters",
  "option.BAD_TYPE.FORBIDDEN.FLOAT.desc.type_target_array": "If selected, the analyzer will check array types.",
  "option.BAD_TYPE.FORBIDDEN.FLOAT.desc.type_target_pointer": "If selected, the analyzer will check pointer types.",
  "option.BAD_TYPE.FORBIDDEN.FLOAT.desc.type_target_signed": "If selected, the analyzer will check signed integer.",
  "option.BAD_TYPE.FORBIDDEN.FLOAT.desc.type_target_typedef": "If selected, the analyzer will check typedef types.",
  "option.BAD_TYPE.FORBIDDEN.FLOAT.desc.type_target_unsigned": "If selected, the analyzer will check unsigned integer.",
  "option.BAD_TYPE.FORBIDDEN.FLOAT.title.expand_typedef": "Check typedef types",
  "option.BAD_TYPE.FORBIDDEN.FLOAT.title.forbidden_type": "Forbidden types",
  "option.BAD_TYPE.FORBIDDEN.FLOAT.title.ignore_const": "Ignore constant",
  "option.BAD_TYPE.FORBIDDEN.FLOAT.title.scope_target_global": "Check global scope",
  "option.BAD_TYPE.FORBIDDEN.FLOAT.title.scope_target_local": "Check local variables",
  "option.BAD_TYPE.FORBIDDEN.FLOAT.title.scope_target_member": "Check member",
  "option.BAD_TYPE.FORBIDDEN.FLOAT.title.scope_target_parameter": "Check parameters",
  "option.BAD_TYPE.FORBIDDEN.FLOAT.title.type_target_array": "Check array types",
  "option.BAD_TYPE.FORBIDDEN.FLOAT.title.type_target_pointer": "Check pointer types",
  "option.BAD_TYPE.FORBIDDEN.FLOAT.title.type_target_signed": "Check signed integer",
  "option.BAD_TYPE.FORBIDDEN.FLOAT.title.type_target_typedef": "Check typedef types",
  "option.BAD_TYPE.FORBIDDEN.FLOAT.title.type_target_unsigned": "Check unsigned integer",
  "option.BAD_TYPE.FORBIDDEN.desc.expand_typedef": "If selected, the analyzer will check typedef types.",
  "option.BAD_TYPE.FORBIDDEN.desc.forbidden_type": "Set forbidden types.",
  "option.BAD_TYPE.FORBIDDEN.desc.ignore_const": "If selected, the analyzer will ignore constants.",
  "option.BAD_TYPE.FORBIDDEN.desc.scope_target_global": "If selected, the analyzer will check in global scope.",
  "option.BAD_TYPE.FORBIDDEN.desc.scope_target_local": "If selected, the analyzer will check local variables.",
  "option.BAD_TYPE.FORBIDDEN.desc.scope_target_member": "If selected, the analyzer will check members.",
  "option.BAD_TYPE.FORBIDDEN.desc.scope_target_parameter": "Check parameters",
  "option.BAD_TYPE.FORBIDDEN.desc.type_target_array": "If selected, the analyzer will check array types.",
  "option.BAD_TYPE.FORBIDDEN.desc.type_target_pointer": "If selected, the analyzer will check pointer types.",
  "option.BAD_TYPE.FORBIDDEN.desc.type_target_signed": "If selected, the analyzer will check signed integer.",
  "option.BAD_TYPE.FORBIDDEN.desc.type_target_typedef": "If selected, the analyzer will check typedef types.",
  "option.BAD_TYPE.FORBIDDEN.desc.type_target_unsigned": "If selected, the analyzer will check unsigned integer.",
  "option.BAD_TYPE.FORBIDDEN.title.expand_typedef": "Check typedef types",
  "option.BAD_TYPE.FORBIDDEN.title.forbidden_type": "Forbidden types",
  "option.BAD_TYPE.FORBIDDEN.title.ignore_const": "Ignore constant",
  "option.BAD_TYPE.FORBIDDEN.title.scope_target_global": "Check global scope",
  "option.BAD_TYPE.FORBIDDEN.title.scope_target_local": "Check local variables",
  "option.BAD_TYPE.FORBIDDEN.title.scope_target_member": "Check member",
  "option.BAD_TYPE.FORBIDDEN.title.scope_target_parameter": "Check parameters",
  "option.BAD_TYPE.FORBIDDEN.title.type_target_array": "Check array types",
  "option.BAD_TYPE.FORBIDDEN.title.type_target_pointer": "Check pointer types",
  "option.BAD_TYPE.FORBIDDEN.title.type_target_signed": "Check signed integer",
  "option.BAD_TYPE.FORBIDDEN.title.type_target_typedef": "Check typedef types",
  "option.BAD_TYPE.FORBIDDEN.title.type_target_unsigned": "Check unsigned integer",
  "option.BAD_TYPE.INTEGER.desc.allowed_type": "Write integer types to allowed. Other integer types will be detected.",
  "option.BAD_TYPE.INTEGER.title.allowed_type": "List of integer types to allow",
  "option.BAD_TYPE.NOT_ALLOWED.ARRAY.desc.allowed_variable_type": "Allowed variables types",
  "option.BAD_TYPE.NOT_ALLOWED.ARRAY.desc.scope_target_local": "If selected, the analyzer will check local variables.",
  "option.BAD_TYPE.NOT_ALLOWED.ARRAY.desc.scope_target_parameter": "Check parameters",
  "option.BAD_TYPE.NOT_ALLOWED.ARRAY.title.allowed_variable_type": "Allowed variables types",
  "option.BAD_TYPE.NOT_ALLOWED.ARRAY.title.scope_target_local": "Check local variables",
  "option.BAD_TYPE.NOT_ALLOWED.ARRAY.title.scope_target_parameter": "Check parameters",
  "option.BAD_TYPE.NOT_ALLOWED.COMPOUND.desc.allowed_variable_type": "Allowed variables types",
  "option.BAD_TYPE.NOT_ALLOWED.COMPOUND.desc.expand_typedef": "If selected, the analyzer will check typedef types.",
  "option.BAD_TYPE.NOT_ALLOWED.COMPOUND.desc.ignore_anonymous": "If the option is enabled, it will ignore unnamed structures/unions.",
  "option.BAD_TYPE.NOT_ALLOWED.COMPOUND.desc.scope_target_local": "If selected, the analyzer will check local variables.",
  "option.BAD_TYPE.NOT_ALLOWED.COMPOUND.desc.scope_target_parameter": "Check parameters",
  "option.BAD_TYPE.NOT_ALLOWED.COMPOUND.desc.type_target_array": "If selected, the analyzer will check array types.",
  "option.BAD_TYPE.NOT_ALLOWED.COMPOUND.desc.type_target_pointer": "If selected, the analyzer will check pointer types.",
  "option.BAD_TYPE.NOT_ALLOWED.COMPOUND.desc.type_target_typedef": "If selected, the analyzer will check typedef types.",
  "option.BAD_TYPE.NOT_ALLOWED.COMPOUND.title.allowed_variable_type": "Allowed variables types",
  "option.BAD_TYPE.NOT_ALLOWED.COMPOUND.title.expand_typedef": "Check typedef types",
  "option.BAD_TYPE.NOT_ALLOWED.COMPOUND.title.ignore_anonymous": "Ignore unnamed structure/union",
  "option.BAD_TYPE.NOT_ALLOWED.COMPOUND.title.scope_target_local": "Check local variables",
  "option.BAD_TYPE.NOT_ALLOWED.COMPOUND.title.scope_target_parameter": "Check parameters",
  "option.BAD_TYPE.NOT_ALLOWED.COMPOUND.title.type_target_array": "Check array types",
  "option.BAD_TYPE.NOT_ALLOWED.COMPOUND.title.type_target_pointer": "Check pointer types",
  "option.BAD_TYPE.NOT_ALLOWED.COMPOUND.title.type_target_typedef": "Check typedef types",
  "option.BAD_TYPE.NOT_ALLOWED.PTR.desc.allowed_variable_type": "Allowed variables types",
  "option.BAD_TYPE.NOT_ALLOWED.PTR.desc.expand_typedef": "If selected, the analyzer will check typedef types.",
  "option.BAD_TYPE.NOT_ALLOWED.PTR.desc.scope_target_local": "If selected, the analyzer will check local variables.",
  "option.BAD_TYPE.NOT_ALLOWED.PTR.desc.scope_target_parameter": "Check parameters",
  "option.BAD_TYPE.NOT_ALLOWED.PTR.title.allowed_variable_type": "Allowed variables types",
  "option.BAD_TYPE.NOT_ALLOWED.PTR.title.expand_typedef": "Check typedef types",
  "option.BAD_TYPE.NOT_ALLOWED.PTR.title.scope_target_local": "Check local variables",
  "option.BAD_TYPE.NOT_ALLOWED.PTR.title.scope_target_parameter": "Check parameters",
  "option.BAD_TYPE.NOT_ALLOWED.TYPEDEF.desc.allowed_variable_type": "Allowed variable types",
  "option.BAD_TYPE.NOT_ALLOWED.TYPEDEF.desc.scope_target_local": "If selected, the analyzer will check local variables.",
  "option.BAD_TYPE.NOT_ALLOWED.TYPEDEF.desc.scope_target_parameter": "Check parameters",
  "option.BAD_TYPE.NOT_ALLOWED.TYPEDEF.title.allowed_variable_type": "Allowed variable types",
  "option.BAD_TYPE.NOT_ALLOWED.TYPEDEF.title.scope_target_local": "Check local variables",
  "option.BAD_TYPE.NOT_ALLOWED.TYPEDEF.title.scope_target_parameter": "Check parameters",
  "option.BAD_TYPE.NOT_ALLOWED.desc.allowed_variable_type": "Allowed variables types",
  "option.BAD_TYPE.NOT_ALLOWED.desc.scope_target_local": "If selected, the analyzer will check local variables.",
  "option.BAD_TYPE.NOT_ALLOWED.desc.scope_target_parameter": "Check parameters",
  "option.BAD_TYPE.NOT_ALLOWED.title.allowed_variable_type": "Allowed variables types",
  "option.BAD_TYPE.NOT_ALLOWED.title.scope_target_local": "Check local variables",
  "option.BAD_TYPE.NOT_ALLOWED.title.scope_target_parameter": "Check parameters",
  "option.BAD_TYPE.NOT_TYPEDEF.ARRAY.desc.allowed_array_type": "Allowed array type",
  "option.BAD_TYPE.NOT_TYPEDEF.ARRAY.desc.scope_target_member": "If selected, the analyzer will check members.",
  "option.BAD_TYPE.NOT_TYPEDEF.ARRAY.desc.scope_target_parameter": "Check parameters",
  "option.BAD_TYPE.NOT_TYPEDEF.ARRAY.title.allowed_array_type": "Allowed array type",
  "option.BAD_TYPE.NOT_TYPEDEF.ARRAY.title.scope_target_member": "Check member",
  "option.BAD_TYPE.NOT_TYPEDEF.ARRAY.title.scope_target_parameter": "Check parameters",
  "option.BAD_TYPE.NOT_TYPEDEF.MEMBER.desc.allowed_member_type": "Allowed member type or not",
  "option.BAD_TYPE.NOT_TYPEDEF.MEMBER.desc.check_function_ptr": "If selected, the analyzer will check function pointer",
  "option.BAD_TYPE.NOT_TYPEDEF.MEMBER.desc.type_target_array": "If selected, the analyzer will check array",
  "option.BAD_TYPE.NOT_TYPEDEF.MEMBER.desc.type_target_pointer": "If selected, the analyzer will check pointer(except function pointer)",
  "option.BAD_TYPE.NOT_TYPEDEF.MEMBER.title.allowed_member_type": "Allowed member type",
  "option.BAD_TYPE.NOT_TYPEDEF.MEMBER.title.check_function_ptr": "Check function pointer",
  "option.BAD_TYPE.NOT_TYPEDEF.MEMBER.title.type_target_array": "Check array",
  "option.BAD_TYPE.NOT_TYPEDEF.MEMBER.title.type_target_pointer": "Check pointer",
  "option.BAD_TYPE.NOT_TYPEDEF.PARAM.desc.allowed_param_type": "Add allowed parameter type name",
  "option.BAD_TYPE.NOT_TYPEDEF.PARAM.desc.call_param_target": "Target parameter index",
  "option.BAD_TYPE.NOT_TYPEDEF.PARAM.title.allowed_param_type": "Allowed Parameter type name",
  "option.BAD_TYPE.NOT_TYPEDEF.PARAM.title.call_param_target": "Target parameter index",
  "option.BAD_TYPE.NOT_TYPEDEF.PTR.desc.allowed_pointer_type": "Allowed pointer type name",
  "option.BAD_TYPE.NOT_TYPEDEF.PTR.desc.scope_target_member": "If selected, the analyzer will check members.",
  "option.BAD_TYPE.NOT_TYPEDEF.PTR.desc.scope_target_parameter": "Check parameters",
  "option.BAD_TYPE.NOT_TYPEDEF.PTR.title.allowed_pointer_type": "Allowed pointer type name",
  "option.BAD_TYPE.NOT_TYPEDEF.PTR.title.scope_target_member": "Check member",
  "option.BAD_TYPE.NOT_TYPEDEF.PTR.title.scope_target_parameter": "Check parameters",
  "option.BAD_TYPE.NOT_TYPEDEF.RETURN.desc.allowed_return_type": "Allow typedef name or not.",
  "option.BAD_TYPE.NOT_TYPEDEF.RETURN.desc.scope_target_global": "If selected, the analyzer will check in global scope.",
  "option.BAD_TYPE.NOT_TYPEDEF.RETURN.desc.scope_target_local": "If selected, the analyzer will check in local scope.",
  "option.BAD_TYPE.NOT_TYPEDEF.RETURN.desc.scope_target_parameter": "Check parameters",
  "option.BAD_TYPE.NOT_TYPEDEF.RETURN.title.allowed_return_type": "Allowed typedef name",
  "option.BAD_TYPE.NOT_TYPEDEF.RETURN.title.scope_target_global": "Target global scope",
  "option.BAD_TYPE.NOT_TYPEDEF.RETURN.title.scope_target_local": "Target local scope",
  "option.BAD_TYPE.NOT_TYPEDEF.RETURN.title.scope_target_parameter": "Check parameters",
  "option.BAD_TYPE.NOT_TYPEDEF.desc.allowed_type": "If selected, the analyzer will check typedef name.",
  "option.BAD_TYPE.NOT_TYPEDEF.desc.scope_target_member": "If selected, the analyzer will check members.",
  "option.BAD_TYPE.NOT_TYPEDEF.desc.scope_target_parameter": "Check parameters",
  "option.BAD_TYPE.NOT_TYPEDEF.title.allowed_type": "Allowed typedef name",
  "option.BAD_TYPE.NOT_TYPEDEF.title.scope_target_member": "Check member",
  "option.BAD_TYPE.NOT_TYPEDEF.title.scope_target_parameter": "Check parameters",
  "option.BAD_VARIABLE_DECLARATION.FIELD.desc.field_priority": "Write priorities for field variable types: 'constant', 'static', 'primitive' and 'reference'. Type of field variables should be written with the highest priority, separated by semicolons. Unwritten field types will be regarded as the lowest priority automatically.\nExample) constant;static;primitive;reference",
  "option.BAD_VARIABLE_DECLARATION.FIELD.title.field_priority": "Priorities for field variable types",
  "option.BAD_VARIABLE_DECLARATION.LOOP.desc.prohibit_name_list": "Write a loop variable name to forbid within for statement.",
  "option.BAD_VARIABLE_DECLARATION.LOOP.desc.skip_loop_check": "Skip for loop initialization checking",
  "option.BAD_VARIABLE_DECLARATION.LOOP.title.prohibit_name_list": "Forbidden loop variable name within for statement",
  "option.BAD_VARIABLE_DECLARATION.LOOP.title.skip_loop_check": "Skip for loop initialization checking",
  "option.BAD_WHITESPACE.ACCESSING.desc.check_array_subscriptor": "If the option is enabled, whitespaces around array subscriptors will be detected.",
  "option.BAD_WHITESPACE.ACCESSING.desc.check_dot_operator": "If the option is enabled, whitespaces around dot operators will be detected.",
  "option.BAD_WHITESPACE.ACCESSING.title.check_array_subscriptor": "Check array subscriptor",
  "option.BAD_WHITESPACE.ACCESSING.title.check_dot_operator": "Check dot operator",
  "option.BAD_WHITESPACE.CALL.desc.check_empty_argument_whitespace": "If the option is enabled, whitespaces will be detected when there is no argument.",
  "option.BAD_WHITESPACE.CALL.desc.check_existence_only_for_inner_argument": "If the option is enabled, it checks only for the presence of whitespace, not the number of spaces.",
  "option.BAD_WHITESPACE.CALL.desc.check_existence_only_for_outer_argument": "If the option is enabled, it checks only for the presence of whitespace, not the number of spaces.",
  "option.BAD_WHITESPACE.CALL.desc.check_inner_argument_whitespace": "If selected, whether there is any whitespace between arguments will be checked.",
  "option.BAD_WHITESPACE.CALL.desc.check_outer_argument_whitespace": "If selected, whether there is whitespace within the outermost will be checked upon function calling.",
  "option.BAD_WHITESPACE.CALL.desc.check_preceding_whitespace_before_comma": "If the option is enabled, it checks whether there is whitespace before commas used to separate arguments.",
  "option.BAD_WHITESPACE.CALL.desc.check_whitespace_after_method": "If the option is enabled, it checks whitespaces followed method names in function calls.",
  "option.BAD_WHITESPACE.CALL.desc.required_inner_argument_whitespaces": "Write the required number of whitespaces between the arguments.\nExample) 1",
  "option.BAD_WHITESPACE.CALL.desc.required_outer_argument_whitespaces": "Write the required number of whitespaces within the outermost parentheses.\nExample) 1",
  "option.BAD_WHITESPACE.CALL.title.check_empty_argument_whitespace": "Do not allow whitespace when there is no argument",
  "option.BAD_WHITESPACE.CALL.title.check_existence_only_for_inner_argument": "Check only whether there is whitespace between arguments",
  "option.BAD_WHITESPACE.CALL.title.check_existence_only_for_outer_argument": "Check if there is any whitespace within the outermost parentheses.",
  "option.BAD_WHITESPACE.CALL.title.check_inner_argument_whitespace": "Check whitespaces between arguments",
  "option.BAD_WHITESPACE.CALL.title.check_outer_argument_whitespace": "Check blank in the outermost parentheses.",
  "option.BAD_WHITESPACE.CALL.title.check_preceding_whitespace_before_comma": "Check whitespaces before commas",
  "option.BAD_WHITESPACE.CALL.title.check_whitespace_after_method": "Check whitespaces after a method",
  "option.BAD_WHITESPACE.CALL.title.required_inner_argument_whitespaces": "Required number of whitespaces between arguments",
  "option.BAD_WHITESPACE.CALL.title.required_outer_argument_whitespaces": "Required number of whitespaces within the outermost parentheses",
  "option.BAD_WHITESPACE.CASTING.desc.check_inner_space": "If the option is enabled, whitespaces within parentheses will be detected.",
  "option.BAD_WHITESPACE.CASTING.title.check_inner_space": "Check whitespaces within the parentheses",
  "option.BAD_WHITESPACE.CATCH_STATEMENT.desc.check_space_number": "Check whether there is whitespace or the number of whitespaces.",
  "option.BAD_WHITESPACE.CATCH_STATEMENT.desc.white_space_number": "Set the number of whitespaces between expression and parentheses within catch statement.",
  "option.BAD_WHITESPACE.CATCH_STATEMENT.title.check_space_number": "Check the number of whitespaces",
  "option.BAD_WHITESPACE.CATCH_STATEMENT.title.white_space_number": "Number of whitespaces between expression and parentheses within catch statement",
  "option.BAD_WHITESPACE.COMMA.desc.blank_after_comma": "If the option is enabled, it allows any whitespaces after commas.",
  "option.BAD_WHITESPACE.COMMA.desc.blank_before_comma": "If the option is enabled, it allows any whitespaces before commas.",
  "option.BAD_WHITESPACE.COMMA.title.blank_after_comma": "Allow whitespces after commas",
  "option.BAD_WHITESPACE.COMMA.title.blank_before_comma": "Allow whitespaces before commas",
  "option.BAD_WHITESPACE.IF_STATEMENT.desc.check_space_number": "Check whether there is whitespace or the number of whitespaces.",
  "option.BAD_WHITESPACE.IF_STATEMENT.desc.white_space_number": "Set the number of whitespaces between expression and parentheses within if statement.",
  "option.BAD_WHITESPACE.IF_STATEMENT.title.check_space_number": "Check the number of whitespaces",
  "option.BAD_WHITESPACE.IF_STATEMENT.title.white_space_number": "Set the number of whitespaces between expression and parentheses within if statement.",
  "option.BAD_WHITESPACE.SWITCH_STATEMENT.desc.check_space_number": "Check whether there is whitespace or the number of whitespaces.",
  "option.BAD_WHITESPACE.SWITCH_STATEMENT.desc.white_space_number": "Set the number of whitespaces between expression and parentheses within switch statement.",
  "option.BAD_WHITESPACE.SWITCH_STATEMENT.title.check_space_number": "Check the number of whitespaces",
  "option.BAD_WHITESPACE.SWITCH_STATEMENT.title.white_space_number": "Number of whitespaces between expression and parentheses within switch statement",
  "option.CALL_EVERY_FUNCTION_GLOBAL.desc.check_member_func": "Check the member function",
  "option.CALL_EVERY_FUNCTION_GLOBAL.desc.ignore_file": "Files to be excluded",
  "option.CALL_EVERY_FUNCTION_GLOBAL.desc.ignore_func": "Set up functions to be excluded for analyze",
  "option.CALL_EVERY_FUNCTION_GLOBAL.title.check_member_func": "Member function checking",
  "option.CALL_EVERY_FUNCTION_GLOBAL.title.ignore_file": "Files to be excluded",
  "option.CALL_EVERY_FUNCTION_GLOBAL.title.ignore_func": "Functions to be excluded for analyze",
  "option.CANONICALIZE_URL_RECEIVED_BY_PROVIDER.desc.exclude_method": "Write method names to be excluded from the analysis.\nExample).*Print",
  "option.CANONICALIZE_URL_RECEIVED_BY_PROVIDER.desc.exclude_path": "Enter paths to be excluded from the analysis.\nExample).*\\\\test\\\\.*",
  "option.CANONICALIZE_URL_RECEIVED_BY_PROVIDER.title.exclude_method": "Excluding method",
  "option.CANONICALIZE_URL_RECEIVED_BY_PROVIDER.title.exclude_path": "Excluded path",
  "option.CAST_ALTERS_VALUE.EXT.desc.max_decision_point_number": "set the maximum value of the range of numbers which should not be reported",
  "option.CAST_ALTERS_VALUE.EXT.desc.min_decision_point_number": "set the minimum value of the range of numbers which should not be reported",
  "option.CAST_ALTERS_VALUE.EXT.title.max_decision_point_number": "Maximum value of the range",
  "option.CAST_ALTERS_VALUE.EXT.title.min_decision_point_number": "Minimum value of the range",
  "option.CATCH_THROW_EXCEPTION_CHECKER.desc.target_path": "Option to include files in the analysis when file paths matching the input text are found.",
  "option.CATCH_THROW_EXCEPTION_CHECKER.desc.target_path_pattern": "Option to include files in the analysis when file paths within the range of the input regular expression are found. Type: Regular expression, multiple inputs possible",
  "option.CATCH_THROW_EXCEPTION_CHECKER.desc.whitelist_path": "Option to input file paths as text, check files matching the input path, and exclude those files from detection.",
  "option.CATCH_THROW_EXCEPTION_CHECKER.desc.whitelist_path_pattern": "Option to input file paths as regular expressions, check files matching the input path, and exclude those files from detection.",
  "option.CATCH_THROW_EXCEPTION_CHECKER.title.target_path": "Target file path for analysis",
  "option.CATCH_THROW_EXCEPTION_CHECKER.title.target_path_pattern": "Regular expression pattern for target file paths",
  "option.CATCH_THROW_EXCEPTION_CHECKER.title.whitelist_path": "Allowed file paths",
  "option.CATCH_THROW_EXCEPTION_CHECKER.title.whitelist_path_pattern": "Regular expression patterns for allowed file paths",
  "option.CHECK.DUPLICATED_PARAM.desc.target_func": "Set target functions",
  "option.CHECK.DUPLICATED_PARAM.title.target_func": "Target functions",
  "option.CHECK.FIELD_ARRAY_LENGTH.desc.targets": "Set target struct, field, element number. Please describe like that : (name of structure),(name of field),(number of elements)",
  "option.CHECK.FIELD_ARRAY_LENGTH.title.targets": "Target struct, field, element number",
  "option.CHECK_FLOATING_POINT_INPUTS_FOR_EXCEPTIONAL_VALUES_INFINITY.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.CHECK_FLOATING_POINT_INPUTS_FOR_EXCEPTIONAL_VALUES_INFINITY.desc.exclude": "A filter is considered safe if it is defined like this \"if\" {filter_target}\nfilter_target: filter expression for the pollution value (includes method definition).",
  "option.CHECK_FLOATING_POINT_INPUTS_FOR_EXCEPTIONAL_VALUES_INFINITY.desc.propagator": "If a propagator is defined as follows, it propagates a tainted value. {propagator_target}\npropagator_target: propagation expression for the tainted value. (including method definition)",
  "option.CHECK_FLOATING_POINT_INPUTS_FOR_EXCEPTIONAL_VALUES_INFINITY.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.CHECK_FLOATING_POINT_INPUTS_FOR_EXCEPTIONAL_VALUES_INFINITY.title.alarm": "Detection rule",
  "option.CHECK_FLOATING_POINT_INPUTS_FOR_EXCEPTIONAL_VALUES_INFINITY.title.exclude": "Exception rule",
  "option.CHECK_FLOATING_POINT_INPUTS_FOR_EXCEPTIONAL_VALUES_INFINITY.title.propagator": "Propagator name",
  "option.CHECK_FLOATING_POINT_INPUTS_FOR_EXCEPTIONAL_VALUES_INFINITY.title.suggestion_filter_function": "Suggested filter function",
  "option.CHECK_FLOATING_POINT_INPUTS_FOR_EXCEPTIONAL_VALUES_NAN.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.CHECK_FLOATING_POINT_INPUTS_FOR_EXCEPTIONAL_VALUES_NAN.desc.exclude": "A filter is considered safe if it is defined like this. \"if\" filter\nfilter: filter expression for the tainted value (including definition for method).",
  "option.CHECK_FLOATING_POINT_INPUTS_FOR_EXCEPTIONAL_VALUES_NAN.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.CHECK_FLOATING_POINT_INPUTS_FOR_EXCEPTIONAL_VALUES_NAN.title.alarm": "Detection rule",
  "option.CHECK_FLOATING_POINT_INPUTS_FOR_EXCEPTIONAL_VALUES_NAN.title.exclude": "Exception rule",
  "option.CHECK_FLOATING_POINT_INPUTS_FOR_EXCEPTIONAL_VALUES_NAN.title.suggestion_filter_function": "Suggested filter function",
  "option.CHECK_METHOD_NAME_IN_FILE_PATH.desc.checkAllExceptWhitelist": "This option detects all targets that are not in the whitelist when set to true. The default behavior is to only detect items in the blacklist (items 1 and 2), but if this option is set to T, it will detect all items except those in the whitelist (items 3 and 4). However, if both options 3 and 4 have no settings or are null, this option will not function even if set to T.",
  "option.CHECK_METHOD_NAME_IN_FILE_PATH.desc.checkFilePath": "This option checks for a file that matches the specified path after receiving the file path as text input.",
  "option.CHECK_METHOD_NAME_IN_FILE_PATH.desc.checkFilePathPattern": "This option checks for files that match the specified path using a regular expression and detects the corresponding files.",
  "option.CHECK_METHOD_NAME_IN_FILE_PATH.desc.excludedMethodTypes": "Option to input specific method types as text to exclude those variable types from detection. For example, if \"protected\" is input, it will not check if protected methods adhere to naming rules.",
  "option.CHECK_METHOD_NAME_IN_FILE_PATH.desc.methodNamePatterns": "This option allows you to input a regular expression that defines the naming conventions that method names must adhere to, and it detects cases where method names in the file do not match the specified regular expression.",
  "option.CHECK_METHOD_NAME_IN_FILE_PATH.desc.whitelistFilePath": "Option to input file paths as text, check files matching the input path, and exclude those files from detection.",
  "option.CHECK_METHOD_NAME_IN_FILE_PATH.desc.whitelistFilePathPattern": "Option to input file paths as regular expressions, check files matching the input path, and exclude those files from detection.",
  "option.CHECK_METHOD_NAME_IN_FILE_PATH.title.checkAllExceptWhitelist": "Option to detect all files that are not in the whitelist (3, 4): O/X",
  "option.CHECK_METHOD_NAME_IN_FILE_PATH.title.checkFilePath": "Option to input the file path to be detected (write in full path, single blacklist)",
  "option.CHECK_METHOD_NAME_IN_FILE_PATH.title.checkFilePathPattern": "Option to input the file path to be detected using a regular expression (blacklist range)",
  "option.CHECK_METHOD_NAME_IN_FILE_PATH.title.excludedMethodTypes": "Option to input the types of methods to not detect as text (whitelist single)",
  "option.CHECK_METHOD_NAME_IN_FILE_PATH.title.methodNamePatterns": "Option to input method naming conventions as a regular expression (whitelist range)",
  "option.CHECK_METHOD_NAME_IN_FILE_PATH.title.whitelistFilePath": "Allowed file paths",
  "option.CHECK_METHOD_NAME_IN_FILE_PATH.title.whitelistFilePathPattern": "Regular expression patterns for allowed file paths",
  "option.CHECK_PTHREAD_MUTEX_LOCK_RETURN.OBJC.desc.target_grp1": "Write functions in condition test list.",
  "option.CHECK_PTHREAD_MUTEX_LOCK_RETURN.OBJC.title.target_grp1": "Functions in condition test",
  "option.CHROOT_JAIL_WITHOUT_CHANGE_WORK_DIR.desc.function_target_begin_call_function": "Target functions begin call",
  "option.CHROOT_JAIL_WITHOUT_CHANGE_WORK_DIR.desc.should_be_call_param": "Set up required call parameters",
  "option.CHROOT_JAIL_WITHOUT_CHANGE_WORK_DIR.title.function_target_begin_call_function": "Target functions begin call",
  "option.CHROOT_JAIL_WITHOUT_CHANGE_WORK_DIR.title.should_be_call_param": "Required call parameters",
  "option.CLASS_COMMENT.desc.ClassComment": "Define the class comment template.",
  "option.CLASS_COMMENT.desc.modifierType": "Change detecting rules to detect the entered items only.",
  "option.CLASS_COMMENT.title.ClassComment": "Class comment template",
  "option.CLASS_COMMENT.title.modifierType": "Class to excluded from analysis",
  "option.CLASS_MEMBER_SHOULD_NOT_BE_PUBLIC.desc.check_protected": "If it checked, analyzer will detected protected member variables as defects.",
  "option.CLASS_MEMBER_SHOULD_NOT_BE_PUBLIC.title.check_protected": "Check protected member variables",
  "option.CLEARTEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.desc.clear_call": "Encryption or integrity verification function",
  "option.CLEARTEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.title.clear_call": "Enter the name of a function that securely encrypts plaintext information or verifies its integrity.",
  "option.CLEAR_TEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.KOTLIN.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) return of fqn(\"java.security.MessageDigest.digest\")",
  "option.CLEAR_TEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.KOTLIN.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) sparrow.my.filter.utils.is_safe()",
  "option.CLEAR_TEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.KOTLIN.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.CLEAR_TEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.KOTLIN.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(*) of fqn(\"java.io.OutputStream.write\")",
  "option.CLEAR_TEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.KOTLIN.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of fqn(reg(\"^(?!.*encrypted).*[pP]assw(or)?d\"))",
  "option.CLEAR_TEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.KOTLIN.title.taint_filter": "External information filter",
  "option.CLEAR_TEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.KOTLIN.title.taint_filter_function_fqn": "Custom external information filter",
  "option.CLEAR_TEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.KOTLIN.title.taint_propagator": "External information propagator",
  "option.CLEAR_TEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.KOTLIN.title.taint_sink": "External information sink",
  "option.CLEAR_TEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.KOTLIN.title.taint_source": "External information source",
  "option.CLEAR_TEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.OBJC.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) return of name(\"filter\")",
  "option.CLEAR_TEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.OBJC.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.CLEAR_TEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.OBJC.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(*) of name(\"add_header\")",
  "option.CLEAR_TEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.OBJC.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(\"django.http.HttpRequest.field\")",
  "option.CLEAR_TEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.OBJC.title.taint_filter": "External information filter",
  "option.CLEAR_TEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.OBJC.title.taint_propagator": "External information propagator",
  "option.CLEAR_TEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.OBJC.title.taint_sink": "External information sink",
  "option.CLEAR_TEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.OBJC.title.taint_source": "External information source",
  "option.CLEAR_TEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.SWIFT.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) return of name(\"filter\")",
  "option.CLEAR_TEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.SWIFT.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.CLEAR_TEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.SWIFT.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(*) of name(\"add_header\")",
  "option.CLEAR_TEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.SWIFT.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(\"django.http.HttpRequest.field\")",
  "option.CLEAR_TEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.SWIFT.title.taint_filter": "External information filter",
  "option.CLEAR_TEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.SWIFT.title.taint_propagator": "External information propagator",
  "option.CLEAR_TEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.SWIFT.title.taint_sink": "External information sink",
  "option.CLEAR_TEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.SWIFT.title.taint_source": "External information source",
  "option.CLEAR_TEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.CLEAR_TEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.desc.exclude": "A filter is considered safe if it is defined like this \"if\" {filter_target}\nfilter_target: filter expression for the pollution value (includes method definition).",
  "option.CLEAR_TEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.desc.propagator": "propagator propagates tainted values if it is defined as follows {propagator_target}\npropagator_target: propagation expression for the tainted value (contains the method definition).",
  "option.CLEAR_TEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.CLEAR_TEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.title.alarm": "Detection rule",
  "option.CLEAR_TEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.title.exclude": "Exception rule",
  "option.CLEAR_TEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.title.propagator": "Propagator name",
  "option.CLEAR_TEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.title.suggestion_filter_function": "Suggested filter function",
  "option.CODE_INJECTION.JS.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) return of name(\"replace\")",
  "option.CODE_INJECTION.JS.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.CODE_INJECTION.JS.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\"+\") to return",
  "option.CODE_INJECTION.JS.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(1) of name(\"eval\")",
  "option.CODE_INJECTION.JS.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of name(\"body\")",
  "option.CODE_INJECTION.JS.title.taint_filter": "External information filter",
  "option.CODE_INJECTION.JS.title.taint_filter_function_fqn": "Custom external information filter",
  "option.CODE_INJECTION.JS.title.taint_propagator": "External information propagator",
  "option.CODE_INJECTION.JS.title.taint_sink": "External information sink",
  "option.CODE_INJECTION.JS.title.taint_source": "External information source",
  "option.CODE_INJECTION.desc.filter_method": "Type the name of the method that validates the external input values.\nexample) checkParam",
  "option.CODE_INJECTION.desc.filter_set": "Type the name of the method that validates the external input values.\nExample) whiteList",
  "option.CODE_INJECTION.title.filter_method": "External Input Value Validation Method",
  "option.CODE_INJECTION.title.filter_set": "External Input Value Validation Set Container",
  "option.COMMAND_INJECTION.JS.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(*) of name(\"filter\")",
  "option.COMMAND_INJECTION.JS.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.COMMAND_INJECTION.JS.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\"+\") to return",
  "option.COMMAND_INJECTION.JS.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(1) of fqn(\"__sparrow_required__child_process.exec\")",
  "option.COMMAND_INJECTION.JS.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of fqn(\"__sparrow_node_js_request__.url\")",
  "option.COMMAND_INJECTION.JS.title.taint_filter": "External information filter",
  "option.COMMAND_INJECTION.JS.title.taint_filter_function_fqn": "Custom external information filter",
  "option.COMMAND_INJECTION.JS.title.taint_propagator": "External information propagator",
  "option.COMMAND_INJECTION.JS.title.taint_sink": "External information sink",
  "option.COMMAND_INJECTION.JS.title.taint_source": "External information source",
  "option.COMMAND_INJECTION.KOTLIN.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) operand(*) of \"in\"",
  "option.COMMAND_INJECTION.KOTLIN.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) sparrow.my.filter.utils.is_safe()",
  "option.COMMAND_INJECTION.KOTLIN.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.COMMAND_INJECTION.KOTLIN.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(*) of fqn(\"java.lang.Runtime.exec\")",
  "option.COMMAND_INJECTION.KOTLIN.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(\"java.io.BufferedInputStream.read(byte[])\")",
  "option.COMMAND_INJECTION.KOTLIN.title.taint_filter": "External information filter",
  "option.COMMAND_INJECTION.KOTLIN.title.taint_filter_function_fqn": "Custom external information filter",
  "option.COMMAND_INJECTION.KOTLIN.title.taint_propagator": "External information propagator",
  "option.COMMAND_INJECTION.KOTLIN.title.taint_sink": "External information sink",
  "option.COMMAND_INJECTION.KOTLIN.title.taint_source": "External information source",
  "option.COMMAND_INJECTION.PHP.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(*) of name(\"filter\")",
  "option.COMMAND_INJECTION.PHP.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.COMMAND_INJECTION.PHP.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\".\") to return",
  "option.COMMAND_INJECTION.PHP.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(1) of name(\"exec\")",
  "option.COMMAND_INJECTION.PHP.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) param(*) of name(\"main\")",
  "option.COMMAND_INJECTION.PHP.title.taint_filter": "External information filter",
  "option.COMMAND_INJECTION.PHP.title.taint_filter_function_fqn": "Custom external information filter",
  "option.COMMAND_INJECTION.PHP.title.taint_propagator": "External information propagator",
  "option.COMMAND_INJECTION.PHP.title.taint_sink": "External information sink",
  "option.COMMAND_INJECTION.PHP.title.taint_source": "External information source",
  "option.COMMAND_INJECTION.PYTHON.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.COMMAND_INJECTION.PYTHON.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.COMMAND_INJECTION.PYTHON.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) \\.$operand(*)->return",
  "option.COMMAND_INJECTION.PYTHON.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) system$param(1)",
  "option.COMMAND_INJECTION.PYTHON.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) \\$_GET$variable",
  "option.COMMAND_INJECTION.PYTHON.title.taint_filter": "External information filter",
  "option.COMMAND_INJECTION.PYTHON.title.taint_filter_function_fqn": "Custom external information filter",
  "option.COMMAND_INJECTION.PYTHON.title.taint_propagator": "External information propagator",
  "option.COMMAND_INJECTION.PYTHON.title.taint_sink": "External information sink",
  "option.COMMAND_INJECTION.PYTHON.title.taint_source": "External information source",
  "option.COMMAND_INJECTION.TOBE.JS.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(*) of name(\"filter\")",
  "option.COMMAND_INJECTION.TOBE.JS.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.COMMAND_INJECTION.TOBE.JS.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\"+\") to return",
  "option.COMMAND_INJECTION.TOBE.JS.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(*) of fqn(\"execProcess\")",
  "option.COMMAND_INJECTION.TOBE.JS.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of fqn(reg(\"@miplatform_edit.*\"))",
  "option.COMMAND_INJECTION.TOBE.JS.title.taint_filter": "External information filter",
  "option.COMMAND_INJECTION.TOBE.JS.title.taint_filter_function_fqn": "Custom external information filter",
  "option.COMMAND_INJECTION.TOBE.JS.title.taint_propagator": "External information propagator",
  "option.COMMAND_INJECTION.TOBE.JS.title.taint_sink": "External information sink",
  "option.COMMAND_INJECTION.TOBE.JS.title.taint_source": "External information source",
  "option.COMMAND_INJECTION.VBNET.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.COMMAND_INJECTION.VBNET.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.COMMAND_INJECTION.VBNET.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) &$operand(*)->return",
  "option.COMMAND_INJECTION.VBNET.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) shell$param(*)",
  "option.COMMAND_INJECTION.VBNET.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) request\\.form$return",
  "option.COMMAND_INJECTION.VBNET.title.taint_filter": "External information filter",
  "option.COMMAND_INJECTION.VBNET.title.taint_filter_function_fqn": "Custom external information filter",
  "option.COMMAND_INJECTION.VBNET.title.taint_propagator": "External information propagator",
  "option.COMMAND_INJECTION.VBNET.title.taint_sink": "External information sink",
  "option.COMMAND_INJECTION.VBNET.title.taint_source": "External information source",
  "option.COMMAND_INJECTION.VBS.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.COMMAND_INJECTION.VBS.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.COMMAND_INJECTION.VBS.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) &$operand(*)->return",
  "option.COMMAND_INJECTION.VBS.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) shell$param(*)",
  "option.COMMAND_INJECTION.VBS.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) request\\.form$return",
  "option.COMMAND_INJECTION.VBS.title.taint_filter": "External information filter",
  "option.COMMAND_INJECTION.VBS.title.taint_filter_function_fqn": "Custom external information filter",
  "option.COMMAND_INJECTION.VBS.title.taint_propagator": "External information propagator",
  "option.COMMAND_INJECTION.VBS.title.taint_sink": "External information sink",
  "option.COMMAND_INJECTION.VBS.title.taint_source": "External information source",
  "option.COMMAND_INJECTION.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.COMMAND_INJECTION.desc.exclude": "A filter is considered safe if it is defined like this. \"if\" filter\nfilter: filter expression for the tainted value (including definition for method).",
  "option.COMMAND_INJECTION.desc.propagator": "If a propagator is defined as follows, it propagates a tainted value. {propagator_target}\npropagator_target: propagation expression for the tainted value. (including method definition)",
  "option.COMMAND_INJECTION.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.COMMAND_INJECTION.title.alarm": "Detection rule",
  "option.COMMAND_INJECTION.title.exclude": "Exception rule",
  "option.COMMAND_INJECTION.title.propagator": "Propagator name",
  "option.COMMAND_INJECTION.title.suggestion_filter_function": "Suggested filter function",
  "option.COMPLY_WITH_MODIFIER_ORDER.desc.modifier_order": "Write order of modifiers that should be compllied when multiple modiifers are used.",
  "option.COMPLY_WITH_MODIFIER_ORDER.title.modifier_order": "Modifier order",
  "option.CONFIGURATION_SETTING.desc.sink_call": "Specify risky functions that may contain sensitive information.\nExample) sethostid",
  "option.CONFIGURATION_SETTING.desc.source_call": "Specify functions that receives sensitive information.\nExample) getenv",
  "option.CONFIGURATION_SETTING.title.sink_call": "Function leaking sensitive information",
  "option.CONFIGURATION_SETTING.title.source_call": "Function receiving sensitive information",
  "option.CONFUSING_OPERATOR_PRECEDENCE.KOTLIN.desc.min_num_of_operator": "Specifies the minimum number of operators that must be prioritized by parentheses within a single expression.",
  "option.CONFUSING_OPERATOR_PRECEDENCE.KOTLIN.title.min_num_of_operator": "Number of minimum operators",
  "option.CONSTANT_CLASS_METHOD.desc.constant_class_patterns": "Option that checks when class names matching the input constant class names are found. If input in the form of [package, class], analysis is performed only in that package.",
  "option.CONSTANT_CLASS_METHOD.desc.excluded_methods": "Excludes from detection when method names matching the input method names are found.",
  "option.CONSTANT_CLASS_METHOD.title.constant_class_patterns": "Constant classes to check",
  "option.CONSTANT_CLASS_METHOD.title.excluded_methods": "Methods to exclude from detection",
  "option.CONST_IN_LOOP_TEST.desc.ignored_value": "Write the values to ignore from analysis.",
  "option.CONST_IN_LOOP_TEST.title.ignored_value": "Values to exclude from analysis",
  "option.COOKIE.OVERLY_BROAD_DOMAIN.CSHARP.desc.broad_custom_domain": "Enter custom domain you want to check.",
  "option.COOKIE.OVERLY_BROAD_DOMAIN.CSHARP.desc.exception_domain": "Enter exceptional domain.",
  "option.COOKIE.OVERLY_BROAD_DOMAIN.CSHARP.title.broad_custom_domain": "Custom domain you want to check.",
  "option.COOKIE.OVERLY_BROAD_DOMAIN.CSHARP.title.exception_domain": "Exceptional domain.",
  "option.COOKIE.OVERLY_BROAD_PATH.CSHARP.desc.path_pattern": "Enter Path pattern(Depth).",
  "option.COOKIE.OVERLY_BROAD_PATH.CSHARP.title.path_pattern": "Path pattern(Depth).",
  "option.CRITICAL_PUBLIC_VARIABLE_WITHOUT_CONST_MODIFIER.desc.variable_name": "can use REGEXP for variable name",
  "option.CRITICAL_PUBLIC_VARIABLE_WITHOUT_CONST_MODIFIER.title.variable_name": "Target Variable Name",
  "option.CRITICAL_VARIABLE_IN_PUBLIC.desc.variable_name": "can use REGEXP for variable name",
  "option.CRITICAL_VARIABLE_IN_PUBLIC.title.variable_name": "Target Variable Name",
  "option.CROSS_SITE_REQUEST_FORGERY.PYTHON.desc.csrf_exempt_decorator": "Write the name of the decorator that turns off CSRF protection.",
  "option.CROSS_SITE_REQUEST_FORGERY.PYTHON.desc.csrf_exempt_method": "Write the name of the function that turns off CSRF protection.",
  "option.CROSS_SITE_REQUEST_FORGERY.PYTHON.title.csrf_exempt_decorator": "Decorator that turns off CSRF protection",
  "option.CROSS_SITE_REQUEST_FORGERY.PYTHON.title.csrf_exempt_method": "Function that turns off CSRF protection",
  "option.CROSS_SITE_REQUEST_FORGERY.desc.argument_type_for_critical_function": "Argument type of the critical function. All such argument types will be checked. Regular expression supported.",
  "option.CROSS_SITE_REQUEST_FORGERY.desc.authenticated_block": "If selected, calling of any critical function will be considered safe in the authenticated block - if, switch, while, and for as well as the conditions of the ternary operators.",
  "option.CROSS_SITE_REQUEST_FORGERY.desc.authentication_function": "Write the name of the method to be called for authentication. In case there are multiple methods, all methods must be called for the authentication.\nExample) java.lang.String.equals",
  "option.CROSS_SITE_REQUEST_FORGERY.desc.critical_class": "Write the class type of an object calling a critical function (in full name including the package name, for example, java.lang.String). Regular expression supported.",
  "option.CROSS_SITE_REQUEST_FORGERY.desc.critical_function": "Critical function. Regular expression supported.",
  "option.CROSS_SITE_REQUEST_FORGERY.desc.need_token_cmp_class_base": "Write the base class of a class that need comparing csrf token.\nExample) org.apache.jasper.runtime.HttpJspBase",
  "option.CROSS_SITE_REQUEST_FORGERY.desc.request_class": "Write the class representing HTTP request.\nExample) javax.servlet.http.HttpServletRequest",
  "option.CROSS_SITE_REQUEST_FORGERY.desc.session_class": "Write the class representing HTTP session.\nExample) javax.servlet.http.HttpSession",
  "option.CROSS_SITE_REQUEST_FORGERY.desc.token_target_file": "Write the name of the file to authenticate through token comparison.\nExample) CSRF.jsp",
  "option.CROSS_SITE_REQUEST_FORGERY.title.argument_type_for_critical_function": "Argument type of the critical function",
  "option.CROSS_SITE_REQUEST_FORGERY.title.authenticated_block": "Authenticated code block",
  "option.CROSS_SITE_REQUEST_FORGERY.title.authentication_function": "Authentication method",
  "option.CROSS_SITE_REQUEST_FORGERY.title.critical_class": "Object type of the critical function",
  "option.CROSS_SITE_REQUEST_FORGERY.title.critical_function": "Critical function",
  "option.CROSS_SITE_REQUEST_FORGERY.title.need_token_cmp_class_base": "Base class need comparing csrf token",
  "option.CROSS_SITE_REQUEST_FORGERY.title.request_class": "HTTP request class",
  "option.CROSS_SITE_REQUEST_FORGERY.title.session_class": "HTTP session class",
  "option.CROSS_SITE_REQUEST_FORGERY.title.token_target_file": "Files to be authenticated through token comparison",
  "option.CROSS_STORAGE_CONTAMINATION.LOCAL_TO_SESSION.JS.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(*) of name(\"filter\")",
  "option.CROSS_STORAGE_CONTAMINATION.LOCAL_TO_SESSION.JS.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.CROSS_STORAGE_CONTAMINATION.LOCAL_TO_SESSION.JS.desc.taint_propagator": "Write a name and a type of the function which propagates external information.",
  "option.CROSS_STORAGE_CONTAMINATION.LOCAL_TO_SESSION.JS.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(2) of fqn(\"sessionStorage.setItem\")",
  "option.CROSS_STORAGE_CONTAMINATION.LOCAL_TO_SESSION.JS.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(\"localStorage.getItem\")",
  "option.CROSS_STORAGE_CONTAMINATION.LOCAL_TO_SESSION.JS.title.taint_filter": "External information filter",
  "option.CROSS_STORAGE_CONTAMINATION.LOCAL_TO_SESSION.JS.title.taint_filter_function_fqn": "Custom external information filter",
  "option.CROSS_STORAGE_CONTAMINATION.LOCAL_TO_SESSION.JS.title.taint_propagator": "External information propagator",
  "option.CROSS_STORAGE_CONTAMINATION.LOCAL_TO_SESSION.JS.title.taint_sink": "External information sink",
  "option.CROSS_STORAGE_CONTAMINATION.LOCAL_TO_SESSION.JS.title.taint_source": "External information source",
  "option.CROSS_STORAGE_CONTAMINATION.SESSION_TO_LOCAL.JS.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(*) of name(\"filter\")",
  "option.CROSS_STORAGE_CONTAMINATION.SESSION_TO_LOCAL.JS.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.CROSS_STORAGE_CONTAMINATION.SESSION_TO_LOCAL.JS.desc.taint_propagator": "Write a name and a type of the function which propagates external information.",
  "option.CROSS_STORAGE_CONTAMINATION.SESSION_TO_LOCAL.JS.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(2) of fqn(\"localStorage.setItem\")",
  "option.CROSS_STORAGE_CONTAMINATION.SESSION_TO_LOCAL.JS.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(\"sessionStorage.getItem\")",
  "option.CROSS_STORAGE_CONTAMINATION.SESSION_TO_LOCAL.JS.title.taint_filter": "External information filter",
  "option.CROSS_STORAGE_CONTAMINATION.SESSION_TO_LOCAL.JS.title.taint_filter_function_fqn": "Custom external information filter",
  "option.CROSS_STORAGE_CONTAMINATION.SESSION_TO_LOCAL.JS.title.taint_propagator": "External information propagator",
  "option.CROSS_STORAGE_CONTAMINATION.SESSION_TO_LOCAL.JS.title.taint_sink": "External information sink",
  "option.CROSS_STORAGE_CONTAMINATION.SESSION_TO_LOCAL.JS.title.taint_source": "External information source",
  "option.DANGEROUS_EXTRACTION.PHP.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(*) of name(\"filter\")",
  "option.DANGEROUS_EXTRACTION.PHP.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.DANGEROUS_EXTRACTION.PHP.desc.taint_propagator": "Write a name and a type of the function which propagates external information.",
  "option.DANGEROUS_EXTRACTION.PHP.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(1) of fqn(\"extract(1)\")",
  "option.DANGEROUS_EXTRACTION.PHP.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of name(\"$_GET\")",
  "option.DANGEROUS_EXTRACTION.PHP.title.taint_filter": "External information filter",
  "option.DANGEROUS_EXTRACTION.PHP.title.taint_filter_function_fqn": "Custom external information filter",
  "option.DANGEROUS_EXTRACTION.PHP.title.taint_propagator": "External information propagator",
  "option.DANGEROUS_EXTRACTION.PHP.title.taint_sink": "External information sink",
  "option.DANGEROUS_EXTRACTION.PHP.title.taint_source": "External information source",
  "option.DANGEROUS_USE_OF_TAINTED_VALUES.desc.clear_call": "Write a name and a type of the function which filters external information.",
  "option.DANGEROUS_USE_OF_TAINTED_VALUES.desc.clear_compare": "Determines whether to filter external information by comparing ranges of integer values in conditional statements.",
  "option.DANGEROUS_USE_OF_TAINTED_VALUES.desc.sink_call": "Write a name and a type of the function causing risks when containing external information.",
  "option.DANGEROUS_USE_OF_TAINTED_VALUES.title.clear_call": "External information filter",
  "option.DANGEROUS_USE_OF_TAINTED_VALUES.title.clear_compare": "Check whether external information is filtered by comparison.",
  "option.DANGEROUS_USE_OF_TAINTED_VALUES.title.sink_call": "External information sink",
  "option.DATA_LEAK_BETWEEN_SESSIONS.desc.excluded_class_name": "Write the name of the class to exclude from the checking.\nExample) com.test.Excluded",
  "option.DATA_LEAK_BETWEEN_SESSIONS.desc.excluded_field_annotation": "Write the annotation of the field to exclude from the checking.\nExample) Autowired",
  "option.DATA_LEAK_BETWEEN_SESSIONS.desc.excluded_field_name": "Write the name of the field to exclude from the checking.\nExample) field",
  "option.DATA_LEAK_BETWEEN_SESSIONS.desc.excluded_field_type": "Write the type of the field to exclude from the checking.\nExample) Logger",
  "option.DATA_LEAK_BETWEEN_SESSIONS.desc.target_annotation": "Write the annotation to distinguish controllers.\nExample) Controller",
  "option.DATA_LEAK_BETWEEN_SESSIONS.desc.target_parent_class": "Write the name of the class that may result in data leakage between sessions.\nExample) javax.servlet.http.HttpServlet",
  "option.DATA_LEAK_BETWEEN_SESSIONS.title.excluded_class_name": "Names of classes to be excluded",
  "option.DATA_LEAK_BETWEEN_SESSIONS.title.excluded_field_annotation": "Annotations of fields to be excluded",
  "option.DATA_LEAK_BETWEEN_SESSIONS.title.excluded_field_name": "Names of fields to be excluded",
  "option.DATA_LEAK_BETWEEN_SESSIONS.title.excluded_field_type": "Types of fields to be excluded",
  "option.DATA_LEAK_BETWEEN_SESSIONS.title.target_annotation": "Target annotation of controllers",
  "option.DATA_LEAK_BETWEEN_SESSIONS.title.target_parent_class": "Target class",
  "option.DATA_STORING.SENSITIVE_INFORMATION.TOBE.JS.desc.sensitive_pattern": "Dangerous column name",
  "option.DATA_STORING.SENSITIVE_INFORMATION.TOBE.JS.title.sensitive_pattern": "Dangerous column name",
  "option.DECLARE_AT_THE_BEGINNING_OF_BLOCK.desc.exclude_loop_counter": "If the option is enabled, variables declared as loop index will not be detected.",
  "option.DECLARE_AT_THE_BEGINNING_OF_BLOCK.desc.ignored_function_name": "Write the name of the function to exclude from analysis.",
  "option.DECLARE_AT_THE_BEGINNING_OF_BLOCK.desc.ignored_variable_name": "Write variables to exclude from analysis.",
  "option.DECLARE_AT_THE_BEGINNING_OF_BLOCK.desc.skip_array_check": "Skip array initialization checking",
  "option.DECLARE_AT_THE_BEGINNING_OF_BLOCK.title.exclude_loop_counter": "Exclude loop index variable",
  "option.DECLARE_AT_THE_BEGINNING_OF_BLOCK.title.ignored_function_name": "Write the name of the function to exclude from analysis.",
  "option.DECLARE_AT_THE_BEGINNING_OF_BLOCK.title.ignored_variable_name": "Variables to exclude from analysis",
  "option.DECLARE_AT_THE_BEGINNING_OF_BLOCK.title.skip_array_check": "Skip array initialization checking",
  "option.DECLARE_EXTERN_IN_HEADER_FILES.desc.as_Misra2008": "check all variable that non-defined in hedaer.",
  "option.DECLARE_EXTERN_IN_HEADER_FILES.title.as_Misra2008": "run as misra2008 spec",
  "option.DECLARE_VARIABLE_IN_MIDDLE_OF_BLOCK.desc.ignore_var_name": "The analyzer will ignore declaration statement which match the names.",
  "option.DECLARE_VARIABLE_IN_MIDDLE_OF_BLOCK.desc.support_proframe": "If the option is enabled, more accurate analyses for proframe can be expected.",
  "option.DECLARE_VARIABLE_IN_MIDDLE_OF_BLOCK.title.ignore_var_name": "Variable name to ignore",
  "option.DECLARE_VARIABLE_IN_MIDDLE_OF_BLOCK.title.support_proframe": "Proframe assistance",
  "option.DEEPLY_NESTED.ABAP.desc.threshold": "Set nested depth limit number.",
  "option.DEEPLY_NESTED.ABAP.title.threshold": "Nested depth limit",
  "option.DEEPLY_NESTED_IF_STATEMENT.CSHARP.desc.max_depth": "Write the maximum allowable depth of nested if-statements.",
  "option.DEEPLY_NESTED_IF_STATEMENT.CSHARP.title.max_depth": "Problem Depth",
  "option.DEEP_NESTING_BLOCKS.desc.max_level": "Set max nesting depth",
  "option.DEEP_NESTING_BLOCKS.title.max_level": "Nesting Depth",
  "option.DEFENSIVELY_COPY_MUTABLE_INPUTS_AND_MUTABLE_INTERNAL_COMPONENTS.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.DEFENSIVELY_COPY_MUTABLE_INPUTS_AND_MUTABLE_INTERNAL_COMPONENTS.desc.exclude": "A filter is considered safe if it is defined like this \"if\" {filter_target}\nfilter_target: filter expression for the pollution value (includes method definition).",
  "option.DEFENSIVELY_COPY_MUTABLE_INPUTS_AND_MUTABLE_INTERNAL_COMPONENTS.desc.propagator": "If a propagator is defined as follows, it propagates a tainted value. {propagator_target}\npropagator_target: propagation expression for the tainted value. (including method definition)",
  "option.DEFENSIVELY_COPY_MUTABLE_INPUTS_AND_MUTABLE_INTERNAL_COMPONENTS.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.DEFENSIVELY_COPY_MUTABLE_INPUTS_AND_MUTABLE_INTERNAL_COMPONENTS.title.alarm": "Detection rule",
  "option.DEFENSIVELY_COPY_MUTABLE_INPUTS_AND_MUTABLE_INTERNAL_COMPONENTS.title.exclude": "Exception rule",
  "option.DEFENSIVELY_COPY_MUTABLE_INPUTS_AND_MUTABLE_INTERNAL_COMPONENTS.title.propagator": "Propagator name",
  "option.DEFENSIVELY_COPY_MUTABLE_INPUTS_AND_MUTABLE_INTERNAL_COMPONENTS.title.suggestion_filter_function": "Suggested filter function",
  "option.DEFINE_WRAPPERS_AROUND_NATIVE_METHODS.desc.exclude_method": "Write method names to be excluded from the analysis.\nExample).*Print",
  "option.DEFINE_WRAPPERS_AROUND_NATIVE_METHODS.desc.exclude_path": "Enter paths to be excluded from the analysis.\nExample).*\\\\test\\\\.*",
  "option.DEFINE_WRAPPERS_AROUND_NATIVE_METHODS.title.exclude_method": "Excluding method",
  "option.DEFINE_WRAPPERS_AROUND_NATIVE_METHODS.title.exclude_path": "Excluded path",
  "option.DENIAL_OF_SERVICE.REQUEST_FILE.JS.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(*) of name(\"filter\")",
  "option.DENIAL_OF_SERVICE.REQUEST_FILE.JS.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.DENIAL_OF_SERVICE.REQUEST_FILE.JS.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\"+\") to return",
  "option.DENIAL_OF_SERVICE.REQUEST_FILE.JS.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(2) of name(\"requestFileSystemSync\")",
  "option.DENIAL_OF_SERVICE.REQUEST_FILE.JS.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of fqn(\"document.URL\")",
  "option.DENIAL_OF_SERVICE.REQUEST_FILE.JS.title.taint_filter": "External information filter",
  "option.DENIAL_OF_SERVICE.REQUEST_FILE.JS.title.taint_filter_function_fqn": "Custom external information filter",
  "option.DENIAL_OF_SERVICE.REQUEST_FILE.JS.title.taint_propagator": "External information propagator",
  "option.DENIAL_OF_SERVICE.REQUEST_FILE.JS.title.taint_sink": "External information sink",
  "option.DENIAL_OF_SERVICE.REQUEST_FILE.JS.title.taint_source": "External information source",
  "option.DESERIALIZATION_OF_UNTRUSTED_DATA.JS.desc.forbidden_method": "Write the name of forbidden method",
  "option.DESERIALIZATION_OF_UNTRUSTED_DATA.JS.title.forbidden_method": "Forbidden Method",
  "option.DESERIALIZATION_OF_UNTRUSTED_DATA.KOTLIN.desc.forbidden_fqn": "Write a name of the function to be forbidden.",
  "option.DESERIALIZATION_OF_UNTRUSTED_DATA.KOTLIN.title.forbidden_fqn": "Function to be forbidden",
  "option.DESERIALIZATION_OF_UNTRUSTED_DATA.PHP.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(1) of name(\"in_array\")",
  "option.DESERIALIZATION_OF_UNTRUSTED_DATA.PHP.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.DESERIALIZATION_OF_UNTRUSTED_DATA.PHP.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\".\") to return",
  "option.DESERIALIZATION_OF_UNTRUSTED_DATA.PHP.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(1) of name(\"unserialize\")",
  "option.DESERIALIZATION_OF_UNTRUSTED_DATA.PHP.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of name(\"$_GET\")",
  "option.DESERIALIZATION_OF_UNTRUSTED_DATA.PHP.title.taint_filter": "External information filter",
  "option.DESERIALIZATION_OF_UNTRUSTED_DATA.PHP.title.taint_filter_function_fqn": "Custom external information filter",
  "option.DESERIALIZATION_OF_UNTRUSTED_DATA.PHP.title.taint_propagator": "External information propagator",
  "option.DESERIALIZATION_OF_UNTRUSTED_DATA.PHP.title.taint_sink": "External information sink",
  "option.DESERIALIZATION_OF_UNTRUSTED_DATA.PHP.title.taint_source": "External information source",
  "option.DESTRUCTORS_MUST_NOT_THROW_EXCEPTIONS.desc.misra2008": "Misra2008 spec is more generous. when catch block exists same block as try, this checker does not make a alarm.",
  "option.DESTRUCTORS_MUST_NOT_THROW_EXCEPTIONS.title.misra2008": "run as Misra2008 15-5-1 spec.",
  "option.DIFFERENT_GROUP_CLASS_CALL.desc.call_rules": "Option to analyze whether classes within a business group adhere to specified call conventions. Up to 10 options can be set.",
  "option.DIFFERENT_GROUP_CLASS_CALL.desc.exclude_fqn_pattern": "Classes of the package will be excluded from the analysis.",
  "option.DIFFERENT_GROUP_CLASS_CALL.title.call_rules": "Class call convention checking options",
  "option.DIFFERENT_GROUP_CLASS_CALL.title.exclude_fqn_pattern": "Full package name of class to be excluded",
  "option.DIFFERENT_MESSAGE_CODE.desc.call_rules": "Option to analyze whether cross-business message code conventions are followed. Up to 10 options can be set.",
  "option.DIFFERENT_MESSAGE_CODE.title.call_rules": "Cross-business message code convention checking options",
  "option.DIRECT_USE_OF_INTEGER_LITERAL.desc.allowed_method": "Write FQN of allowed method as regex to get literal argument. \nExample) .*String.substring",
  "option.DIRECT_USE_OF_INTEGER_LITERAL.desc.except_for_loop_head": "Activate it to allow integer literal in head of for statement.",
  "option.DIRECT_USE_OF_INTEGER_LITERAL.title.allowed_method": "Allowed method",
  "option.DIRECT_USE_OF_INTEGER_LITERAL.title.except_for_loop_head": "Allow literal in head of for statement",
  "option.DJANGO_BAD_SLEEP.desc.django_response_fqn": "Write FQN of functions for django generate reponse to request.",
  "option.DJANGO_BAD_SLEEP.desc.sleep_api_fqn": "Write FQN of functions that pause current thread.",
  "option.DJANGO_BAD_SLEEP.title.django_response_fqn": "Reponse functions of django",
  "option.DJANGO_BAD_SLEEP.title.sleep_api_fqn": "Pause functions",
  "option.DJANGO_FILE_RESPONSE_MANIPULATION.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.DJANGO_FILE_RESPONSE_MANIPULATION.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.DJANGO_FILE_RESPONSE_MANIPULATION.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) \\.$operand(*)->return",
  "option.DJANGO_FILE_RESPONSE_MANIPULATION.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) fread$param(1)",
  "option.DJANGO_FILE_RESPONSE_MANIPULATION.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) \\$_GET$variable",
  "option.DJANGO_FILE_RESPONSE_MANIPULATION.title.taint_filter": "External information filter",
  "option.DJANGO_FILE_RESPONSE_MANIPULATION.title.taint_filter_function_fqn": "Custom external information filter",
  "option.DJANGO_FILE_RESPONSE_MANIPULATION.title.taint_propagator": "External information propagator",
  "option.DJANGO_FILE_RESPONSE_MANIPULATION.title.taint_sink": "External information sink",
  "option.DJANGO_FILE_RESPONSE_MANIPULATION.title.taint_source": "External information source",
  "option.DJANGO_XSS.PYTHON.desc.exclude_dir": "Enter the path to the folder to exclude from detection using the glob pattern.\nExample) `src/java/**/core/**`",
  "option.DJANGO_XSS.PYTHON.desc.exclude_extension": "Write a exclusion of file extension.\nExample) java",
  "option.DJANGO_XSS.PYTHON.desc.rule": "Write a rule of analysis using regular expressions.",
  "option.DJANGO_XSS.PYTHON.desc.target_dir": "Write a target of folder path using glob pattern.\nExample) `src/java/**/core/**`",
  "option.DJANGO_XSS.PYTHON.desc.target_extension": "Write a target of file extension.\nExample) html",
  "option.DJANGO_XSS.PYTHON.title.exclude_dir": "Exclusion of folder path",
  "option.DJANGO_XSS.PYTHON.title.exclude_extension": "Exclusion of file extension",
  "option.DJANGO_XSS.PYTHON.title.rule": "Detection rule",
  "option.DJANGO_XSS.PYTHON.title.target_dir": "Target of folder path",
  "option.DJANGO_XSS.PYTHON.title.target_extension": "Target of file extension",
  "option.DOUBLE.FORMAT_STRING.OBJC.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) return of name(\"filter\")",
  "option.DOUBLE.FORMAT_STRING.OBJC.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.DOUBLE.FORMAT_STRING.OBJC.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(*) of name(\"add_header\")",
  "option.DOUBLE.FORMAT_STRING.OBJC.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(\"django.http.HttpRequest.field\")",
  "option.DOUBLE.FORMAT_STRING.OBJC.title.taint_filter": "External information filter",
  "option.DOUBLE.FORMAT_STRING.OBJC.title.taint_propagator": "External information propagator",
  "option.DOUBLE.FORMAT_STRING.OBJC.title.taint_sink": "External information sink",
  "option.DOUBLE.FORMAT_STRING.OBJC.title.taint_source": "External information source",
  "option.DOWNLOAD_OF_CODE_WITHOUT_INTEGRITY_CHECK.OBJC.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) return of name(\"filter\")",
  "option.DOWNLOAD_OF_CODE_WITHOUT_INTEGRITY_CHECK.OBJC.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.DOWNLOAD_OF_CODE_WITHOUT_INTEGRITY_CHECK.OBJC.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(*) of name(\"add_header\")",
  "option.DOWNLOAD_OF_CODE_WITHOUT_INTEGRITY_CHECK.OBJC.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(\"django.http.HttpRequest.field\")",
  "option.DOWNLOAD_OF_CODE_WITHOUT_INTEGRITY_CHECK.OBJC.title.taint_filter": "External information filter",
  "option.DOWNLOAD_OF_CODE_WITHOUT_INTEGRITY_CHECK.OBJC.title.taint_propagator": "External information propagator",
  "option.DOWNLOAD_OF_CODE_WITHOUT_INTEGRITY_CHECK.OBJC.title.taint_sink": "External information sink",
  "option.DOWNLOAD_OF_CODE_WITHOUT_INTEGRITY_CHECK.OBJC.title.taint_source": "External information source",
  "option.DOWNLOAD_OF_CODE_WITHOUT_INTEGRITY_CHECK.PYTHON.desc.function_requiring_integrity_check": "Write the name of the function that needs integrity check.\nExample) urllib.request.urlretrieve",
  "option.DOWNLOAD_OF_CODE_WITHOUT_INTEGRITY_CHECK.PYTHON.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) operand(*) of \"in\"",
  "option.DOWNLOAD_OF_CODE_WITHOUT_INTEGRITY_CHECK.PYTHON.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) sparrow.my.filter.utils.is_safe()",
  "option.DOWNLOAD_OF_CODE_WITHOUT_INTEGRITY_CHECK.PYTHON.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.DOWNLOAD_OF_CODE_WITHOUT_INTEGRITY_CHECK.PYTHON.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(*) of name(\"write\")",
  "option.DOWNLOAD_OF_CODE_WITHOUT_INTEGRITY_CHECK.PYTHON.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(\"urllib.request.urlopen\")",
  "option.DOWNLOAD_OF_CODE_WITHOUT_INTEGRITY_CHECK.PYTHON.title.function_requiring_integrity_check": "Integrity check required function",
  "option.DOWNLOAD_OF_CODE_WITHOUT_INTEGRITY_CHECK.PYTHON.title.taint_filter": "External information filter",
  "option.DOWNLOAD_OF_CODE_WITHOUT_INTEGRITY_CHECK.PYTHON.title.taint_filter_function_fqn": "Custom external information filter",
  "option.DOWNLOAD_OF_CODE_WITHOUT_INTEGRITY_CHECK.PYTHON.title.taint_propagator": "External information propagator",
  "option.DOWNLOAD_OF_CODE_WITHOUT_INTEGRITY_CHECK.PYTHON.title.taint_sink": "External information sink",
  "option.DOWNLOAD_OF_CODE_WITHOUT_INTEGRITY_CHECK.PYTHON.title.taint_source": "External information source",
  "option.DOWNLOAD_OF_CODE_WITHOUT_INTEGRITY_CHECK.SWIFT.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) return of name(\"filter\")",
  "option.DOWNLOAD_OF_CODE_WITHOUT_INTEGRITY_CHECK.SWIFT.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.DOWNLOAD_OF_CODE_WITHOUT_INTEGRITY_CHECK.SWIFT.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(*) of name(\"add_header\")",
  "option.DOWNLOAD_OF_CODE_WITHOUT_INTEGRITY_CHECK.SWIFT.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(\"django.http.HttpRequest.field\")",
  "option.DOWNLOAD_OF_CODE_WITHOUT_INTEGRITY_CHECK.SWIFT.title.taint_filter": "External information filter",
  "option.DOWNLOAD_OF_CODE_WITHOUT_INTEGRITY_CHECK.SWIFT.title.taint_propagator": "External information propagator",
  "option.DOWNLOAD_OF_CODE_WITHOUT_INTEGRITY_CHECK.SWIFT.title.taint_sink": "External information sink",
  "option.DOWNLOAD_OF_CODE_WITHOUT_INTEGRITY_CHECK.SWIFT.title.taint_source": "External information source",
  "option.DOWNLOAD_OF_CODE_WITHOUT_INTEGRITY_CHECK.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.DOWNLOAD_OF_CODE_WITHOUT_INTEGRITY_CHECK.desc.exclude": "A filter is considered safe if it is defined like this \"if\" {filter_target}\nfilter_target: filter expression for the pollution value (includes method definition).",
  "option.DOWNLOAD_OF_CODE_WITHOUT_INTEGRITY_CHECK.desc.propagator": "If a propagator is defined as follows, it propagates a tainted value. {propagator_target}\npropagator_target: propagation expression for the tainted value. (including method definition)",
  "option.DOWNLOAD_OF_CODE_WITHOUT_INTEGRITY_CHECK.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.DOWNLOAD_OF_CODE_WITHOUT_INTEGRITY_CHECK.title.alarm": "Detection rule",
  "option.DOWNLOAD_OF_CODE_WITHOUT_INTEGRITY_CHECK.title.exclude": "Exception rule",
  "option.DOWNLOAD_OF_CODE_WITHOUT_INTEGRITY_CHECK.title.propagator": "Propagator name",
  "option.DOWNLOAD_OF_CODE_WITHOUT_INTEGRITY_CHECK.title.suggestion_filter_function": "Suggested filter function",
  "option.DO_DECL_VARS_AT_TOP_OF_FUNC.desc.ignored_function_name": "Write the list of the functions that can be called before the first local variable declaration. \n It supports regular expression. \n Example) ulog.*",
  "option.DO_DECL_VARS_AT_TOP_OF_FUNC.desc.ignored_variable_name": "Write variables to exclude from analysis.",
  "option.DO_DECL_VARS_AT_TOP_OF_FUNC.desc.skip_array_check": "Skip array initialization checking",
  "option.DO_DECL_VARS_AT_TOP_OF_FUNC.title.ignored_function_name": "List of Functions to Exclude",
  "option.DO_DECL_VARS_AT_TOP_OF_FUNC.title.ignored_variable_name": "Variables to exclude from analysis",
  "option.DO_DECL_VARS_AT_TOP_OF_FUNC.title.skip_array_check": "Skip array initialization checking",
  "option.DO_NOT_APPEND_STRINGS.desc.whitelist_methods": "Enter interface or method names, such as logger.debug, to be excluded from the analysis.",
  "option.DO_NOT_APPEND_STRINGS.title.whitelist_methods": "Interfaces and methods to exclude from analysis",
  "option.DO_NOT_ASSIGN_EXTERNAL_DATA_TO_MEMBER_VARIABLES.desc.excluded_class": "Write the name of a class to exclude.\nExample) .*Dto",
  "option.DO_NOT_ASSIGN_EXTERNAL_DATA_TO_MEMBER_VARIABLES.desc.excluded_method": "Write the name of a method to exclude.\nExample) .*Dto",
  "option.DO_NOT_ASSIGN_EXTERNAL_DATA_TO_MEMBER_VARIABLES.desc.excluded_package": "Write the name of a package to exclude.\nExample) .*dto",
  "option.DO_NOT_ASSIGN_EXTERNAL_DATA_TO_MEMBER_VARIABLES.title.excluded_class": "Name of the class to exclude from the checking",
  "option.DO_NOT_ASSIGN_EXTERNAL_DATA_TO_MEMBER_VARIABLES.title.excluded_method": "Excluded Method",
  "option.DO_NOT_ASSIGN_EXTERNAL_DATA_TO_MEMBER_VARIABLES.title.excluded_package": "Excluded package",
  "option.DO_NOT_BASE_SECURITY_CHECKS_ON_UNTRUSTED_SOURCES.desc.exclude_method": "Write method names to be excluded from the analysis.\nExample).*Print",
  "option.DO_NOT_BASE_SECURITY_CHECKS_ON_UNTRUSTED_SOURCES.desc.exclude_path": "Enter paths to be excluded from the analysis.\nExample).*\\\\test\\\\.*",
  "option.DO_NOT_BASE_SECURITY_CHECKS_ON_UNTRUSTED_SOURCES.title.exclude_method": "Excluding method",
  "option.DO_NOT_BASE_SECURITY_CHECKS_ON_UNTRUSTED_SOURCES.title.exclude_path": "Excluded path",
  "option.DO_NOT_CALL_STREAM_IN_METHOD.desc.stream_list": "Enter the analysis target to detect.",
  "option.DO_NOT_CALL_STREAM_IN_METHOD.title.stream_list": "Analysis target",
  "option.DO_NOT_COMPARE_OR_INSPECT_THE_STRING_REPRESENTATION_OF_FLOATING_POINT_VALUES.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.DO_NOT_COMPARE_OR_INSPECT_THE_STRING_REPRESENTATION_OF_FLOATING_POINT_VALUES.desc.exclude": "A filter is considered safe if it is defined like this \"if\" {filter_target}\nfilter_target: filter expression for the pollution value (includes method definition).",
  "option.DO_NOT_COMPARE_OR_INSPECT_THE_STRING_REPRESENTATION_OF_FLOATING_POINT_VALUES.desc.propagator": "If a propagator is defined as follows, it propagates a tainted value. {propagator_target}\npropagator_target: propagation expression for the tainted value. (including method definition)",
  "option.DO_NOT_COMPARE_OR_INSPECT_THE_STRING_REPRESENTATION_OF_FLOATING_POINT_VALUES.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.DO_NOT_COMPARE_OR_INSPECT_THE_STRING_REPRESENTATION_OF_FLOATING_POINT_VALUES.title.alarm": "Detection rule",
  "option.DO_NOT_COMPARE_OR_INSPECT_THE_STRING_REPRESENTATION_OF_FLOATING_POINT_VALUES.title.exclude": "Exception rule",
  "option.DO_NOT_COMPARE_OR_INSPECT_THE_STRING_REPRESENTATION_OF_FLOATING_POINT_VALUES.title.propagator": "Propagator name",
  "option.DO_NOT_COMPARE_OR_INSPECT_THE_STRING_REPRESENTATION_OF_FLOATING_POINT_VALUES.title.suggestion_filter_function": "Suggested filter function",
  "option.DO_NOT_COMPARE_STRING_WITH_HARDCODED_EQUALS.desc.excluded_conditions": "This option allows you to enter conditional statements to exclude from detection. \nExample) if, else if, switch",
  "option.DO_NOT_COMPARE_STRING_WITH_HARDCODED_EQUALS.desc.excluded_loops": "This option allows you to input loops to exclude from detection.\nExample) do, while, for",
  "option.DO_NOT_COMPARE_STRING_WITH_HARDCODED_EQUALS.desc.forbidden_patterns": "Option to detect when text within the range of the input regular expression is found.",
  "option.DO_NOT_COMPARE_STRING_WITH_HARDCODED_EQUALS.desc.whitelist_patterns": "Excludes from detection when text within the range of the input regular expression is found.",
  "option.DO_NOT_COMPARE_STRING_WITH_HARDCODED_EQUALS.title.excluded_conditions": "Excluded conditions",
  "option.DO_NOT_COMPARE_STRING_WITH_HARDCODED_EQUALS.title.excluded_loops": "Loop types to exclude from detection",
  "option.DO_NOT_COMPARE_STRING_WITH_HARDCODED_EQUALS.title.forbidden_patterns": "Forbidden patterns",
  "option.DO_NOT_COMPARE_STRING_WITH_HARDCODED_EQUALS.title.whitelist_patterns": "Detecting exception pattern (whitelist range)",
  "option.DO_NOT_CREATE_FORBIDDEN_EXCEPTION_INSTANCES.desc.exception_class": "Option to input a list of Exception classes as text and exclude them when those Exception instances are created.",
  "option.DO_NOT_CREATE_FORBIDDEN_EXCEPTION_INSTANCES.desc.target_path": "Option to include files in the analysis when file paths matching the input text are found.",
  "option.DO_NOT_CREATE_FORBIDDEN_EXCEPTION_INSTANCES.desc.target_path_pattern": "Option to include files in the analysis when file paths within the range of the input regular expression are found.",
  "option.DO_NOT_CREATE_FORBIDDEN_EXCEPTION_INSTANCES.desc.whitelist_path": "Option to input file paths as text, check files matching the input path, and exclude those files from detection.",
  "option.DO_NOT_CREATE_FORBIDDEN_EXCEPTION_INSTANCES.desc.whitelist_path_pattern": "Option to input file paths as regular expressions, check files matching the input path, and exclude those files from detection.",
  "option.DO_NOT_CREATE_FORBIDDEN_EXCEPTION_INSTANCES.title.exception_class": "List of prohibited Exception classes",
  "option.DO_NOT_CREATE_FORBIDDEN_EXCEPTION_INSTANCES.title.target_path": "Target file path for analysis",
  "option.DO_NOT_CREATE_FORBIDDEN_EXCEPTION_INSTANCES.title.target_path_pattern": "Regular expression pattern for target file paths",
  "option.DO_NOT_CREATE_FORBIDDEN_EXCEPTION_INSTANCES.title.whitelist_path": "Allowed file paths",
  "option.DO_NOT_CREATE_FORBIDDEN_EXCEPTION_INSTANCES.title.whitelist_path_pattern": "Regular expression patterns for allowed file paths",
  "option.DO_NOT_CREATE_INSTANCE_IN_LOOP.desc.check_only_declaration_in_loop": "Checking only declaration in loop.",
  "option.DO_NOT_CREATE_INSTANCE_IN_LOOP.desc.excluded_class_type": "Write an exclude class type",
  "option.DO_NOT_CREATE_INSTANCE_IN_LOOP.title.check_only_declaration_in_loop": "Check declaration in loop",
  "option.DO_NOT_CREATE_INSTANCE_IN_LOOP.title.excluded_class_type": "Exclude class type",
  "option.DO_NOT_CREATE_UNNECESSARY_STRING_INSTANCE.desc.target_method": "Option to detect when text matching the input text is found.",
  "option.DO_NOT_CREATE_UNNECESSARY_STRING_INSTANCE.title.target_method": "Blacklist single",
  "option.DO_NOT_DECLARE_IN_LOOPS.desc.ignore_type_list": "Set ignore types",
  "option.DO_NOT_DECLARE_IN_LOOPS.desc.ignore_var_list": "Set ignore variables name",
  "option.DO_NOT_DECLARE_IN_LOOPS.title.ignore_type_list": "Ignore types",
  "option.DO_NOT_DECLARE_IN_LOOPS.title.ignore_var_list": "Ignore variables name",
  "option.DO_NOT_LET_EXTERNAL_PROCESSES_BLOCK_ON_IO_BUFFERS.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.DO_NOT_LET_EXTERNAL_PROCESSES_BLOCK_ON_IO_BUFFERS.desc.exclude": "A filter is considered safe if it is defined like this \"if\" {filter_target}\nfilter_target: filter expression for the pollution value (includes method definition).",
  "option.DO_NOT_LET_EXTERNAL_PROCESSES_BLOCK_ON_IO_BUFFERS.desc.propagator": "If a propagator is defined as follows, it propagates a tainted value. {propagator_target}\npropagator_target: propagation expression for the tainted value. (including method definition)",
  "option.DO_NOT_LET_EXTERNAL_PROCESSES_BLOCK_ON_IO_BUFFERS.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.DO_NOT_LET_EXTERNAL_PROCESSES_BLOCK_ON_IO_BUFFERS.title.alarm": "Detection rule",
  "option.DO_NOT_LET_EXTERNAL_PROCESSES_BLOCK_ON_IO_BUFFERS.title.exclude": "Exception rule",
  "option.DO_NOT_LET_EXTERNAL_PROCESSES_BLOCK_ON_IO_BUFFERS.title.propagator": "Propagator name",
  "option.DO_NOT_LET_EXTERNAL_PROCESSES_BLOCK_ON_IO_BUFFERS.title.suggestion_filter_function": "Suggested filter function",
  "option.DO_NOT_LOCK_OR_UNLOCK_IN_LOOP.desc.lock_or_unlock_functions": "Write the name of a method which plays a role of Lock or Unlock. \n Example) Lock",
  "option.DO_NOT_LOCK_OR_UNLOCK_IN_LOOP.title.lock_or_unlock_functions": "Name of Lock or Unlock method",
  "option.DO_NOT_LOG_UNSANITIZED_USER_INPUT.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.DO_NOT_LOG_UNSANITIZED_USER_INPUT.desc.exclude": "A filter is considered safe if it is defined like this \"if\" {filter_target}\nfilter_target: filter expression for the pollution value (includes method definition).",
  "option.DO_NOT_LOG_UNSANITIZED_USER_INPUT.desc.propagator": "If a propagator is defined as follows, it propagates a tainted value. {propagator_target}\npropagator_target: propagation expression for the tainted value. (including method definition)",
  "option.DO_NOT_LOG_UNSANITIZED_USER_INPUT.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.DO_NOT_LOG_UNSANITIZED_USER_INPUT.title.alarm": "Detection rule",
  "option.DO_NOT_LOG_UNSANITIZED_USER_INPUT.title.exclude": "Exception rule",
  "option.DO_NOT_LOG_UNSANITIZED_USER_INPUT.title.propagator": "Propagator name",
  "option.DO_NOT_LOG_UNSANITIZED_USER_INPUT.title.suggestion_filter_function": "Suggested filter function",
  "option.DO_NOT_MIX_SIGNED_AND_UNSIGNED.desc.allow_constant": "A constant operation about all types is allowed if chosen to do so.",
  "option.DO_NOT_MIX_SIGNED_AND_UNSIGNED.desc.ignore_assign": "A left operand of assign opertor will be skipped",
  "option.DO_NOT_MIX_SIGNED_AND_UNSIGNED.title.allow_constant": "Allow a constant operation about all types",
  "option.DO_NOT_MIX_SIGNED_AND_UNSIGNED.title.ignore_assign": "ignore assign operator",
  "option.DO_NOT_NOTIFY_IN_SYNCHRONIZED.desc.notify_method": "Write the name of the notify method in Fully Qualified Name (FQN).\nExample) java.lang.Object.notify",
  "option.DO_NOT_NOTIFY_IN_SYNCHRONIZED.title.notify_method": "Name of Notify method",
  "option.DO_NOT_OPERATE_ON_UNTRUSTED_FILE_LINKS.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.DO_NOT_OPERATE_ON_UNTRUSTED_FILE_LINKS.desc.exclude": "A filter is considered safe if it is defined like this. \"if\" filter\nfilter: filter expression for the tainted value (including definition for method).",
  "option.DO_NOT_OPERATE_ON_UNTRUSTED_FILE_LINKS.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.DO_NOT_OPERATE_ON_UNTRUSTED_FILE_LINKS.title.alarm": "Detection rule",
  "option.DO_NOT_OPERATE_ON_UNTRUSTED_FILE_LINKS.title.exclude": "Exception rule",
  "option.DO_NOT_OPERATE_ON_UNTRUSTED_FILE_LINKS.title.suggestion_filter_function": "Suggested filter function",
  "option.DO_NOT_OVERLOAD_LAND_LOR_COMMA.desc.is_checked_ampersand": "Check '&&' operator is overloaded when set checkbox.",
  "option.DO_NOT_OVERLOAD_LAND_LOR_COMMA.title.is_checked_ampersand": "Check '&&' operator",
  "option.DO_NOT_READ_STREAM_IN_LOOP.desc.stream_list": "Write the name of the stream.\n Example) FileInputStream",
  "option.DO_NOT_READ_STREAM_IN_LOOP.title.stream_list": "Name of the stream",
  "option.DO_NOT_RELY_ON_THE_WRITE_METHOD_TO_OUTPUT_INTEGERS_OUTSIDE_THE_RANGE_0_TO_255.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.DO_NOT_RELY_ON_THE_WRITE_METHOD_TO_OUTPUT_INTEGERS_OUTSIDE_THE_RANGE_0_TO_255.desc.exclude": "A filter is considered safe if it is defined like this \"if\" {filter_target}\nfilter_target: filter expression for the pollution value (includes method definition).",
  "option.DO_NOT_RELY_ON_THE_WRITE_METHOD_TO_OUTPUT_INTEGERS_OUTSIDE_THE_RANGE_0_TO_255.desc.propagator": "If a propagator is defined as follows, it propagates a tainted value. {propagator_target}\npropagator_target: propagation expression for the tainted value. (including method definition)",
  "option.DO_NOT_RELY_ON_THE_WRITE_METHOD_TO_OUTPUT_INTEGERS_OUTSIDE_THE_RANGE_0_TO_255.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.DO_NOT_RELY_ON_THE_WRITE_METHOD_TO_OUTPUT_INTEGERS_OUTSIDE_THE_RANGE_0_TO_255.title.alarm": "Detection rule",
  "option.DO_NOT_RELY_ON_THE_WRITE_METHOD_TO_OUTPUT_INTEGERS_OUTSIDE_THE_RANGE_0_TO_255.title.exclude": "Exception rule",
  "option.DO_NOT_RELY_ON_THE_WRITE_METHOD_TO_OUTPUT_INTEGERS_OUTSIDE_THE_RANGE_0_TO_255.title.propagator": "Propagator name",
  "option.DO_NOT_RELY_ON_THE_WRITE_METHOD_TO_OUTPUT_INTEGERS_OUTSIDE_THE_RANGE_0_TO_255.title.suggestion_filter_function": "Suggested filter function",
  "option.DO_NOT_REUSE_IDENTIFIER_NAME.desc.ignore_enum_constant": "If the option is enabled, enumerator constant identifiers will not be checked.",
  "option.DO_NOT_REUSE_IDENTIFIER_NAME.desc.ignore_field": "If the option is enabled, field identifiers will not be checked.",
  "option.DO_NOT_REUSE_IDENTIFIER_NAME.desc.ignore_label": "If the option is enabled, label identifiers will not be checked.",
  "option.DO_NOT_REUSE_IDENTIFIER_NAME.desc.ignore_normal_variable": "If the option is enabled, normal variable identifiers will not be checked.",
  "option.DO_NOT_REUSE_IDENTIFIER_NAME.desc.ignore_parameter": "The parameter identifier doesn't check if selected.",
  "option.DO_NOT_REUSE_IDENTIFIER_NAME.desc.ignore_routine": "The function identifier doesn't check if selected.",
  "option.DO_NOT_REUSE_IDENTIFIER_NAME.desc.ignore_tag": "The tag identifier doesn't check if selected.",
  "option.DO_NOT_REUSE_IDENTIFIER_NAME.title.ignore_enum_constant": "Ignore the enumerator constant identifier",
  "option.DO_NOT_REUSE_IDENTIFIER_NAME.title.ignore_field": "Ignore the field identifier",
  "option.DO_NOT_REUSE_IDENTIFIER_NAME.title.ignore_label": "Ignore the label identifier",
  "option.DO_NOT_REUSE_IDENTIFIER_NAME.title.ignore_normal_variable": "Ignore the normal variable identifier",
  "option.DO_NOT_REUSE_IDENTIFIER_NAME.title.ignore_parameter": "Ignore the parameter identifier",
  "option.DO_NOT_REUSE_IDENTIFIER_NAME.title.ignore_routine": "Ignore the function identifier",
  "option.DO_NOT_REUSE_IDENTIFIER_NAME.title.ignore_tag": "Ignore the tag identifier",
  "option.DO_NOT_SLEEP_OR_YIELD_WITHOUT_CONTROL.desc.sleep_method": "Write the name of the sleep method in Fully Qualified Name (FQN).\nExample) java.lang.Thread.sleep",
  "option.DO_NOT_SLEEP_OR_YIELD_WITHOUT_CONTROL.desc.yield_method": "Write the name of the yield method in Fully Qualified Name (FQN).\nExample) java.lang.Thread.yield",
  "option.DO_NOT_SLEEP_OR_YIELD_WITHOUT_CONTROL.title.sleep_method": "Name of sleep method",
  "option.DO_NOT_SLEEP_OR_YIELD_WITHOUT_CONTROL.title.yield_method": "Name of yield method",
  "option.DO_NOT_USE_ADJACENT_BINARY_OPERATOR.desc.check_existence_only": "If selected, only whether there is whitespace will be checked.",
  "option.DO_NOT_USE_ADJACENT_BINARY_OPERATOR.desc.required_whitespaces": "Write the number of whitespaces required between the operator and operands.\nExample) 1",
  "option.DO_NOT_USE_ADJACENT_BINARY_OPERATOR.title.check_existence_only": "Check if there is whitespace only",
  "option.DO_NOT_USE_ADJACENT_BINARY_OPERATOR.title.required_whitespaces": "Number of whitespaces required",
  "option.DO_NOT_USE_ARRAY.desc.expand_typedef": "If the option is enabled, it will check even typedef variables.",
  "option.DO_NOT_USE_ARRAY.desc.scope_target_global": "If the option is enabled, it will check the global scope.",
  "option.DO_NOT_USE_ARRAY.desc.scope_target_local": "If the option is enabled, it will check the local scope.",
  "option.DO_NOT_USE_ARRAY.desc.scope_target_parameter": "If the option is enabled, it will check parameters.",
  "option.DO_NOT_USE_ARRAY.desc.variable_target_const": "If the option is enabled, it will check const variables.",
  "option.DO_NOT_USE_ARRAY.desc.variable_target_non_const": "If the option is enabled, it will check non-const variables.",
  "option.DO_NOT_USE_ARRAY.desc.variable_target_signed": "If the option is enabled, it will check signed variables.",
  "option.DO_NOT_USE_ARRAY.desc.variable_target_unsigned": "If the option is enabled, it will check unsigned variables.",
  "option.DO_NOT_USE_ARRAY.title.expand_typedef": "Target typedef variables",
  "option.DO_NOT_USE_ARRAY.title.scope_target_global": "Target global scope",
  "option.DO_NOT_USE_ARRAY.title.scope_target_local": "Target local scope",
  "option.DO_NOT_USE_ARRAY.title.scope_target_parameter": "Target Parameter",
  "option.DO_NOT_USE_ARRAY.title.variable_target_const": "Target const variables",
  "option.DO_NOT_USE_ARRAY.title.variable_target_non_const": "Target non-const variables",
  "option.DO_NOT_USE_ARRAY.title.variable_target_signed": "Check signed integer",
  "option.DO_NOT_USE_ARRAY.title.variable_target_unsigned": "Check unsigned integer",
  "option.DO_NOT_USE_CLASS_MEMBER_VARIABLE.desc.constant_only": "Changes the analysis target to constants only.",
  "option.DO_NOT_USE_CLASS_MEMBER_VARIABLE.desc.excluded_keywords": "Enter keywords to exclude from detection such as abstract, interface, public, protected, private, default, static, final (required), etc.",
  "option.DO_NOT_USE_CLASS_MEMBER_VARIABLE.desc.whitelist_names": "Excludes from detection when text matching the input text is found.",
  "option.DO_NOT_USE_CLASS_MEMBER_VARIABLE.desc.whitelist_patterns": "Excludes from detection when text within the range of the input regular expression is found.",
  "option.DO_NOT_USE_CLASS_MEMBER_VARIABLE.title.constant_only": "Change analysis target to constants",
  "option.DO_NOT_USE_CLASS_MEMBER_VARIABLE.title.excluded_keywords": "Excluded keywords",
  "option.DO_NOT_USE_CLASS_MEMBER_VARIABLE.title.whitelist_names": "Whitelist single",
  "option.DO_NOT_USE_CLASS_MEMBER_VARIABLE.title.whitelist_patterns": "Whitelist range",
  "option.DO_NOT_USE_CLASS_MEMBER_VARIABLE_FINAL.desc.excluded_keywords": "Enter keywords to exclude from detection such as abstract, interface, public, protected, private, default, static, final (required), etc.",
  "option.DO_NOT_USE_CLASS_MEMBER_VARIABLE_FINAL.desc.whitelist_names": "Excludes from detection when text matching the input text is found.",
  "option.DO_NOT_USE_CLASS_MEMBER_VARIABLE_FINAL.desc.whitelist_patterns": "Excludes from detection when text within the range of the input regular expression is found.",
  "option.DO_NOT_USE_CLASS_MEMBER_VARIABLE_FINAL.title.excluded_keywords": "Excluded keywords",
  "option.DO_NOT_USE_CLASS_MEMBER_VARIABLE_FINAL.title.whitelist_names": "Whitelist single",
  "option.DO_NOT_USE_CLASS_MEMBER_VARIABLE_FINAL.title.whitelist_patterns": "Whitelist range",
  "option.DO_NOT_USE_DANGEROUS_FUNCTIONS.OBJC.desc.dangerous_functions": "Set up forbidden functions.",
  "option.DO_NOT_USE_DANGEROUS_FUNCTIONS.OBJC.title.dangerous_functions": "Forbidden functions",
  "option.DO_NOT_USE_DANGEROUS_FUNCTIONS.desc.function_should_not_be_used": "Set up forbidden functions.",
  "option.DO_NOT_USE_DANGEROUS_FUNCTIONS.title.function_should_not_be_used": "Forbidden functions",
  "option.DO_NOT_USE_DEPRECATED_API.desc.deprecated_api": "Write the name of the deprecated API in Fully Qualified Name (FQN).\nExample) java.util.Date",
  "option.DO_NOT_USE_DEPRECATED_API.title.deprecated_api": "Name of API class not to use",
  "option.DO_NOT_USE_EXTERN_OR_STATIC.desc.check_extern": "If the option is enabled, it will check extern variables or functions.",
  "option.DO_NOT_USE_EXTERN_OR_STATIC.desc.check_static": "If the option is enabled, it will check static variables or functions.",
  "option.DO_NOT_USE_EXTERN_OR_STATIC.desc.scope_target_global": "If selected, the analyzer will check in global scope.",
  "option.DO_NOT_USE_EXTERN_OR_STATIC.desc.scope_target_local": "If the option is enabled, the analyzer will check in local scope.",
  "option.DO_NOT_USE_EXTERN_OR_STATIC.title.check_extern": "Analyze global variables or functions",
  "option.DO_NOT_USE_EXTERN_OR_STATIC.title.check_static": "Analyze static variables or functions",
  "option.DO_NOT_USE_EXTERN_OR_STATIC.title.scope_target_global": "Analyze in global scope",
  "option.DO_NOT_USE_EXTERN_OR_STATIC.title.scope_target_local": "Analyze in local scope",
  "option.DO_NOT_USE_GETLOGIN_IN_MULTI_THREAD.desc.function_should_not_be_used": "Set up forbidden functions",
  "option.DO_NOT_USE_GETLOGIN_IN_MULTI_THREAD.title.function_should_not_be_used": "Forbidden functions",
  "option.DO_NOT_USE_GOTO_STATEMENT.desc.ignore_macro": "Ignore goto statement in macro",
  "option.DO_NOT_USE_GOTO_STATEMENT.desc.max_goto_statement_number": "Write the maximum number of goto statements to be allowed in a function.",
  "option.DO_NOT_USE_GOTO_STATEMENT.title.ignore_macro": "If it checked, the analyzer will ignore goto statement in macro.",
  "option.DO_NOT_USE_GOTO_STATEMENT.title.max_goto_statement_number": "Maximum number of goto statements within a function",
  "option.DO_NOT_USE_HARD_CODING.CALL.desc.excluded_expr": "Excluded expression",
  "option.DO_NOT_USE_HARD_CODING.CALL.desc.param_target_character": "If the option is enabled, it will check char parameters.",
  "option.DO_NOT_USE_HARD_CODING.CALL.desc.param_target_float": "If the option is enabled, it will check floating-point parameters.",
  "option.DO_NOT_USE_HARD_CODING.CALL.desc.param_target_integer": "If the option is enabled, it will check integer parameters.",
  "option.DO_NOT_USE_HARD_CODING.CALL.desc.param_target_string": "If the option is enabled, it will check string parameters.",
  "option.DO_NOT_USE_HARD_CODING.CALL.desc.target_expr": "Target expression",
  "option.DO_NOT_USE_HARD_CODING.CALL.desc.target_func": "Target function call",
  "option.DO_NOT_USE_HARD_CODING.CALL.title.excluded_expr": "Excluded expression",
  "option.DO_NOT_USE_HARD_CODING.CALL.title.param_target_character": "Target char parameter",
  "option.DO_NOT_USE_HARD_CODING.CALL.title.param_target_float": "Target floating-point parameter",
  "option.DO_NOT_USE_HARD_CODING.CALL.title.param_target_integer": "Target integer parameter",
  "option.DO_NOT_USE_HARD_CODING.CALL.title.param_target_string": "Target string parameter",
  "option.DO_NOT_USE_HARD_CODING.CALL.title.target_expr": "Target expression",
  "option.DO_NOT_USE_HARD_CODING.CALL.title.target_func": "Target function call",
  "option.DO_NOT_USE_HARD_CODING.INITIALIZATION.desc.excluded_expr": "A regular expression for excluding target expressions.",
  "option.DO_NOT_USE_HARD_CODING.INITIALIZATION.desc.init_target_character": "Detect character initialization hard coding.",
  "option.DO_NOT_USE_HARD_CODING.INITIALIZATION.desc.init_target_float": "Detect float initialization hard coding.",
  "option.DO_NOT_USE_HARD_CODING.INITIALIZATION.desc.init_target_integer": "Detect integer initialization hard coding.",
  "option.DO_NOT_USE_HARD_CODING.INITIALIZATION.desc.init_target_string": "Detect string initialization hard coding.",
  "option.DO_NOT_USE_HARD_CODING.INITIALIZATION.desc.target_expr": "A regular expression for detecting target expressions.",
  "option.DO_NOT_USE_HARD_CODING.INITIALIZATION.title.excluded_expr": "Expressions to exclude",
  "option.DO_NOT_USE_HARD_CODING.INITIALIZATION.title.init_target_character": "Hard coding character initialization",
  "option.DO_NOT_USE_HARD_CODING.INITIALIZATION.title.init_target_float": "Hard coding float initialization",
  "option.DO_NOT_USE_HARD_CODING.INITIALIZATION.title.init_target_integer": "Hard coding integer initialization",
  "option.DO_NOT_USE_HARD_CODING.INITIALIZATION.title.init_target_string": "Hard coding string initialization",
  "option.DO_NOT_USE_HARD_CODING.INITIALIZATION.title.target_expr": "Target expressions",
  "option.DO_NOT_USE_HARD_CODING.NUMBER.desc.exclude_final": "If selected, the number literal declared by final will not be detected.",
  "option.DO_NOT_USE_HARD_CODING.NUMBER.desc.exclude_for_init": "If selected, numbers used in initialization part for for statements will not be detected.",
  "option.DO_NOT_USE_HARD_CODING.NUMBER.desc.excluded_number_literal": "Write the number literal not to detect as an issue.\nExample) 0",
  "option.DO_NOT_USE_HARD_CODING.NUMBER.title.exclude_final": "Exclude final declaration",
  "option.DO_NOT_USE_HARD_CODING.NUMBER.title.exclude_for_init": "Exclude for initialization statement",
  "option.DO_NOT_USE_HARD_CODING.NUMBER.title.excluded_number_literal": "Number literals to exclude",
  "option.DO_NOT_USE_HARD_CODING.PASSWORD.desc.call_param_target_in_function": "Write the target function name and the parameter location where passwords are used. Use a format such as \"(parameter location):(function name)\".\nExample) 6:SQLConnect",
  "option.DO_NOT_USE_HARD_CODING.PASSWORD.desc.password_variable_name": "Write the name of the variable used as a password.\nExample) password",
  "option.DO_NOT_USE_HARD_CODING.PASSWORD.title.call_param_target_in_function": "Target function and parameters",
  "option.DO_NOT_USE_HARD_CODING.PASSWORD.title.password_variable_name": "Name of the password variable",
  "option.DO_NOT_USE_HARD_CODING.USERNAME.desc.call_param_target_in_function": "Write target function and parameter index. Example) 4th parameter in SQLConnect = 4:SQLConnect",
  "option.DO_NOT_USE_HARD_CODING.USERNAME.title.call_param_target_in_function": "Target function and parameter index",
  "option.DO_NOT_USE_HARD_CODING.desc.excluded_expr": "A regular expression for excluding target expressions.",
  "option.DO_NOT_USE_HARD_CODING.desc.hard_coding_target_assignment": "Detect assignment hard coding.",
  "option.DO_NOT_USE_HARD_CODING.desc.hard_coding_target_call": "Detect call hard coding.",
  "option.DO_NOT_USE_HARD_CODING.desc.hard_coding_target_character": "Detect character hard coding.",
  "option.DO_NOT_USE_HARD_CODING.desc.hard_coding_target_conditional": "Detect conditional statement hard coding.",
  "option.DO_NOT_USE_HARD_CODING.desc.hard_coding_target_const": "Detect const hard coding.",
  "option.DO_NOT_USE_HARD_CODING.desc.hard_coding_target_float": "Detect float hard coding.",
  "option.DO_NOT_USE_HARD_CODING.desc.hard_coding_target_integer": "Detect integer hard coding.",
  "option.DO_NOT_USE_HARD_CODING.desc.hard_coding_target_non_const": "Detect non-const hard coding.",
  "option.DO_NOT_USE_HARD_CODING.desc.hard_coding_target_return": "Detect return expression hard coding.",
  "option.DO_NOT_USE_HARD_CODING.desc.hard_coding_target_string": "Detect string hard coding.",
  "option.DO_NOT_USE_HARD_CODING.desc.target_expr": "A regular expression for detecting target expressions.",
  "option.DO_NOT_USE_HARD_CODING.title.excluded_expr": "Expressions to exclude",
  "option.DO_NOT_USE_HARD_CODING.title.hard_coding_target_assignment": "Hard coding assignment statement",
  "option.DO_NOT_USE_HARD_CODING.title.hard_coding_target_call": "Hard coding call",
  "option.DO_NOT_USE_HARD_CODING.title.hard_coding_target_character": "Hard coding character",
  "option.DO_NOT_USE_HARD_CODING.title.hard_coding_target_conditional": "Hard coding conditional statement",
  "option.DO_NOT_USE_HARD_CODING.title.hard_coding_target_const": "Hard coding const",
  "option.DO_NOT_USE_HARD_CODING.title.hard_coding_target_float": "Hard coding float",
  "option.DO_NOT_USE_HARD_CODING.title.hard_coding_target_integer": "Hard coding integer",
  "option.DO_NOT_USE_HARD_CODING.title.hard_coding_target_non_const": "Hard coding non-const",
  "option.DO_NOT_USE_HARD_CODING.title.hard_coding_target_return": "Hard coding return expression",
  "option.DO_NOT_USE_HARD_CODING.title.hard_coding_target_string": "Hard coding string",
  "option.DO_NOT_USE_HARD_CODING.title.target_expr": "Target expressions",
  "option.DO_NOT_USE_INNER_CLASS.desc.allowed_list": "Excludes from detection when text matching the input text is found.",
  "option.DO_NOT_USE_INNER_CLASS.desc.allowed_patterns": "Excludes from detection when text within the range of the input regular expression is found.",
  "option.DO_NOT_USE_INNER_CLASS.title.allowed_list": "Whitelist single",
  "option.DO_NOT_USE_INNER_CLASS.title.allowed_patterns": "Whitelist range",
  "option.DO_NOT_USE_MODULAR.desc.exclude_follow_by_same_division": "Exclude the expression that there exists a division expression with same operands of the modular expression before the expression.\nExample : v1 = a / b; v2 = a % b;",
  "option.DO_NOT_USE_MODULAR.title.exclude_follow_by_same_division": "Exceptional case of modular operation",
  "option.DO_NOT_USE_PUBLIC_FIELD.desc.excluded_variable": "Write the fields to exclude from detection.\nExample) excluded",
  "option.DO_NOT_USE_PUBLIC_FIELD.desc.target_variable": "Write the name of the field to detect that is initialized upon declaration.\nExample) field",
  "option.DO_NOT_USE_PUBLIC_FIELD.title.excluded_variable": "Name of the field to exclude",
  "option.DO_NOT_USE_PUBLIC_FIELD.title.target_variable": "Name of the target field",
  "option.DO_NOT_USE_SAME_NAME_IN_NESTED.desc.ignore_enum_constant": "If the option is enabled, enumerator constant identifiers will not be checked.",
  "option.DO_NOT_USE_SAME_NAME_IN_NESTED.desc.ignore_label": "If the option is enabled, label identifiers will not be checked.",
  "option.DO_NOT_USE_SAME_NAME_IN_NESTED.desc.ignore_normal_variable": "If the option is enabled, normal variable identifiers will not be checked.",
  "option.DO_NOT_USE_SAME_NAME_IN_NESTED.desc.ignore_parameter": "The parameter identifier doesn't check if selected.",
  "option.DO_NOT_USE_SAME_NAME_IN_NESTED.desc.ignore_routine": "The function identifier doesn't check if selected.",
  "option.DO_NOT_USE_SAME_NAME_IN_NESTED.desc.ignore_typedef": "If the option is enabled, typedef identifiers will not be checked.",
  "option.DO_NOT_USE_SAME_NAME_IN_NESTED.title.ignore_enum_constant": "Ignore the enumerator constant identifier",
  "option.DO_NOT_USE_SAME_NAME_IN_NESTED.title.ignore_label": "Ignore the label identifier",
  "option.DO_NOT_USE_SAME_NAME_IN_NESTED.title.ignore_normal_variable": "Ignore the normal variable identifier",
  "option.DO_NOT_USE_SAME_NAME_IN_NESTED.title.ignore_parameter": "Ignore the parameter identifier",
  "option.DO_NOT_USE_SAME_NAME_IN_NESTED.title.ignore_routine": "Ignore the function identifier",
  "option.DO_NOT_USE_SAME_NAME_IN_NESTED.title.ignore_typedef": "Ignore the typedef identifier",
  "option.DO_NOT_USE_SERVERSOCKET.desc.target_api": "Enter the class type to be analyzed.",
  "option.DO_NOT_USE_SERVERSOCKET.title.target_api": "Analysis Target Class Type",
  "option.DO_NOT_USE_SIZEOF_ON_PTR.desc.ignore_var": "Variables to be ignore.",
  "option.DO_NOT_USE_SIZEOF_ON_PTR.desc.memset_function": "Write the name of the function which sets the memory variable.\nExample) memset",
  "option.DO_NOT_USE_SIZEOF_ON_PTR.desc.print_function": "Write the name of the output function. No issues will be reported if the pointer-type variable set by the memory setting function is used as an argument of the output function.\nExample) printf",
  "option.DO_NOT_USE_SIZEOF_ON_PTR.title.ignore_var": "Ignore variables name",
  "option.DO_NOT_USE_SIZEOF_ON_PTR.title.memset_function": "Memory setting function",
  "option.DO_NOT_USE_SIZEOF_ON_PTR.title.print_function": "Printing function",
  "option.DO_NOT_USE_STATIC_IN_HEADER.desc.ignore_function": "Allows the use of static functions in the header file",
  "option.DO_NOT_USE_STATIC_IN_HEADER.desc.ignore_variable": "Allows the use of static variables in the header file",
  "option.DO_NOT_USE_STATIC_IN_HEADER.title.ignore_function": "Static function enabled",
  "option.DO_NOT_USE_STATIC_IN_HEADER.title.ignore_variable": "Static variables enabled",
  "option.DO_NOT_USE_SYSTEM.OBJC.desc.system_function": "input the value that invokes system call",
  "option.DO_NOT_USE_SYSTEM.OBJC.title.system_function": "System call function",
  "option.DO_NOT_USE_SYSTEM.desc.function_should_not_be_used": "Set up forbidden functions.",
  "option.DO_NOT_USE_SYSTEM.title.function_should_not_be_used": "Forbidden functions",
  "option.DO_NOT_WAIT_IN_SYNCHRONIZED_WITHOUT_CONTROL.desc.check_if_stmt": "When unchecked, the wait method in the if statement is detected.",
  "option.DO_NOT_WAIT_IN_SYNCHRONIZED_WITHOUT_CONTROL.desc.wait_method": "Write the name of wait method in Fully Qualified Name (FQN).\nExample) java.util.concurrent.locks.Lock.wait",
  "option.DO_NOT_WAIT_IN_SYNCHRONIZED_WITHOUT_CONTROL.title.check_if_stmt": "Check if statement",
  "option.DO_NOT_WAIT_IN_SYNCHRONIZED_WITHOUT_CONTROL.title.wait_method": "Name of wait method",
  "option.DYNAMIC_CODE_EVALUATION.VBS.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.DYNAMIC_CODE_EVALUATION.VBS.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.DYNAMIC_CODE_EVALUATION.VBS.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) &$operand(*)->return",
  "option.DYNAMIC_CODE_EVALUATION.VBS.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) eval$param(*)",
  "option.DYNAMIC_CODE_EVALUATION.VBS.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) request\\.form$return",
  "option.DYNAMIC_CODE_EVALUATION.VBS.title.taint_filter": "External information filter",
  "option.DYNAMIC_CODE_EVALUATION.VBS.title.taint_filter_function_fqn": "Custom external information filter",
  "option.DYNAMIC_CODE_EVALUATION.VBS.title.taint_propagator": "External information propagator",
  "option.DYNAMIC_CODE_EVALUATION.VBS.title.taint_sink": "External information sink",
  "option.DYNAMIC_CODE_EVALUATION.VBS.title.taint_source": "External information source",
  "option.DYNAMIC_CODE_MANIPULATION.JS.desc.forbidden_operator": "Write the forbidden operator",
  "option.DYNAMIC_CODE_MANIPULATION.JS.title.forbidden_operator": "Forbidden Operator",
  "option.DYNAMIC_CODE_MANIPULATION.KOTLIN.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) operand(*) of \"in\"",
  "option.DYNAMIC_CODE_MANIPULATION.KOTLIN.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) sparrow.my.filter.utils.is_safe()",
  "option.DYNAMIC_CODE_MANIPULATION.KOTLIN.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.DYNAMIC_CODE_MANIPULATION.KOTLIN.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(*) of fqn(\"javax.script.ScriptEngine.eval\")",
  "option.DYNAMIC_CODE_MANIPULATION.KOTLIN.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(\"java.io.BufferedInputStream.read(byte[])\")",
  "option.DYNAMIC_CODE_MANIPULATION.KOTLIN.title.taint_filter": "External information filter",
  "option.DYNAMIC_CODE_MANIPULATION.KOTLIN.title.taint_filter_function_fqn": "Custom external information filter",
  "option.DYNAMIC_CODE_MANIPULATION.KOTLIN.title.taint_propagator": "External information propagator",
  "option.DYNAMIC_CODE_MANIPULATION.KOTLIN.title.taint_sink": "External information sink",
  "option.DYNAMIC_CODE_MANIPULATION.KOTLIN.title.taint_source": "External information source",
  "option.DYNAMIC_CODE_MANIPULATION.PYTHON.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) operand(*) of \"in\"",
  "option.DYNAMIC_CODE_MANIPULATION.PYTHON.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) sparrow.my.filter.utils.is_safe()",
  "option.DYNAMIC_CODE_MANIPULATION.PYTHON.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.DYNAMIC_CODE_MANIPULATION.PYTHON.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(*) of name(\"exec\")",
  "option.DYNAMIC_CODE_MANIPULATION.PYTHON.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of fqn(\"django.http.HttpRequest.GET\")",
  "option.DYNAMIC_CODE_MANIPULATION.PYTHON.title.taint_filter": "External information filter",
  "option.DYNAMIC_CODE_MANIPULATION.PYTHON.title.taint_filter_function_fqn": "Custom external information filter",
  "option.DYNAMIC_CODE_MANIPULATION.PYTHON.title.taint_propagator": "External information propagator",
  "option.DYNAMIC_CODE_MANIPULATION.PYTHON.title.taint_sink": "External information sink",
  "option.DYNAMIC_CODE_MANIPULATION.PYTHON.title.taint_source": "External information source",
  "option.DYNAMIC_CODE_MANIPULATION.desc.class_type": "Sets the class name that uses the external input value.",
  "option.DYNAMIC_CODE_MANIPULATION.desc.filter_method": "Type the name of the method that validates the external input values.\nExample) whitelist",
  "option.DYNAMIC_CODE_MANIPULATION.desc.request_method": "Type the name of the method that acquires the external input value.\nExample) javax.servlet.http.HttpServletRequest.getParameter",
  "option.DYNAMIC_CODE_MANIPULATION.desc.target_method_name": "Sets the method of the class that uses the external input value.",
  "option.DYNAMIC_CODE_MANIPULATION.title.class_type": "Class name that uses external input values",
  "option.DYNAMIC_CODE_MANIPULATION.title.filter_method": "External Input Value Validation Method",
  "option.DYNAMIC_CODE_MANIPULATION.title.request_method": "External Input Value Acquisition Method",
  "option.DYNAMIC_CODE_MANIPULATION.title.target_method_name": "Methods for classes that use external input values",
  "option.EACH_COMMENT_LINE_LENGTH.desc.start_end_comment": "Write start and end comments. Those are recognized comments which are collected by starting comments as one block comment.",
  "option.EACH_COMMENT_LINE_LENGTH.title.start_end_comment": "Starting & end comment",
  "option.ELIMINATE_NONCHARACTER_CODE_POINTS_BEFORE_VALIDATION.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.ELIMINATE_NONCHARACTER_CODE_POINTS_BEFORE_VALIDATION.desc.exclude": "A filter is considered safe if it is defined like this \"if\" {filter_target}\nfilter_target: filter expression for the pollution value (includes method definition).",
  "option.ELIMINATE_NONCHARACTER_CODE_POINTS_BEFORE_VALIDATION.desc.propagator": "propagator propagates tainted values if it is defined as follows {propagator_target}\npropagator_target: propagation expression for the tainted value (contains the method definition).",
  "option.ELIMINATE_NONCHARACTER_CODE_POINTS_BEFORE_VALIDATION.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.ELIMINATE_NONCHARACTER_CODE_POINTS_BEFORE_VALIDATION.title.alarm": "Detection rule",
  "option.ELIMINATE_NONCHARACTER_CODE_POINTS_BEFORE_VALIDATION.title.exclude": "Exception rule",
  "option.ELIMINATE_NONCHARACTER_CODE_POINTS_BEFORE_VALIDATION.title.propagator": "Propagator name",
  "option.ELIMINATE_NONCHARACTER_CODE_POINTS_BEFORE_VALIDATION.title.suggestion_filter_function": "Suggested filter function",
  "option.EMPTY_ARRAY_SIZE.MISRA2012.desc.check_initializer": "If the option is enabled, empty arrays with an initializer will be ignored.",
  "option.EMPTY_ARRAY_SIZE.MISRA2012.desc.include_char_type": "If selected, char type arrays will be checked.",
  "option.EMPTY_ARRAY_SIZE.MISRA2012.title.check_initializer": "Ignore when the variable has initializer.",
  "option.EMPTY_ARRAY_SIZE.MISRA2012.title.include_char_type": "Check char type",
  "option.EMPTY_ARRAY_SIZE.desc.check_extern_only": "If selected, only extern arrays will be checked.",
  "option.EMPTY_ARRAY_SIZE.desc.check_initializer": "If the option is enabled, empty arrays with an initializer will be ignored.",
  "option.EMPTY_ARRAY_SIZE.desc.include_char_type": "If selected, char type arrays will be checked.",
  "option.EMPTY_ARRAY_SIZE.title.check_extern_only": "Check extern array only",
  "option.EMPTY_ARRAY_SIZE.title.check_initializer": "Ignore when the variable has initializer.",
  "option.EMPTY_ARRAY_SIZE.title.include_char_type": "Check char type",
  "option.EMPTY_BRANCH.desc.allow_oneline_if": "Allow If statement without else clause.",
  "option.EMPTY_BRANCH.desc.check_empty_case": "If the option is enabled, empty case branches will be detected.",
  "option.EMPTY_BRANCH.desc.check_empty_default_case": "If the option is enabled, empty default case branches will be detected.",
  "option.EMPTY_BRANCH.desc.check_empty_else_branch": "If the option is enabled, empty else branches will be detected.",
  "option.EMPTY_BRANCH.desc.treat_comment_as_nonempty": "If the option is enabled, any written comment is considered as non-empty.",
  "option.EMPTY_BRANCH.title.allow_oneline_if": "Allow single-line If statements",
  "option.EMPTY_BRANCH.title.check_empty_case": "Detect empty case branch",
  "option.EMPTY_BRANCH.title.check_empty_default_case": "Detect empty default case branch",
  "option.EMPTY_BRANCH.title.check_empty_else_branch": "Detect empty else branch",
  "option.EMPTY_BRANCH.title.treat_comment_as_nonempty": "If selected, comment line is treated non-empty line.",
  "option.EMPTY_CATCH_BLOCK.desc.ignore_close_only": "If selected, no issue will be generated although the catch block is empty as long as there is 'close' method within try block.",
  "option.EMPTY_CATCH_BLOCK.title.ignore_close_only": "Ignore close method within try",
  "option.EMPTY_CLASS_BLOCK.desc.check_inner": "Activate inner class checking",
  "option.EMPTY_CLASS_BLOCK.desc.comment_pattern": "Option to set specific comment pattern as a regular expression to replace empty blocks.",
  "option.EMPTY_CLASS_BLOCK.desc.comments": "Empty blocks can be filled with comments matching the input pattern. If no comment pattern is set, there will be no restrictions on replacement comments.",
  "option.EMPTY_CLASS_BLOCK.desc.excluded_modifiers": "Enter keywords to exclude from detection such as abstract, interface, public, protected, private, default, (general class), etc.",
  "option.EMPTY_CLASS_BLOCK.title.check_inner": "Inner class checking",
  "option.EMPTY_CLASS_BLOCK.title.comment_pattern": "Empty block comment pattern restriction",
  "option.EMPTY_CLASS_BLOCK.title.comments": "Replace empty block with comment",
  "option.EMPTY_CLASS_BLOCK.title.excluded_modifiers": "Excluded keywords",
  "option.EMPTY_DO_WHILE_BLOCK.desc.comment_pattern": "Option to set specific comment pattern as a regular expression to replace empty blocks.",
  "option.EMPTY_DO_WHILE_BLOCK.desc.comments": "Empty blocks can be filled with comments matching the input pattern. If no comment pattern is set, there will be no restrictions on replacement comments.",
  "option.EMPTY_DO_WHILE_BLOCK.desc.excluded_type": "Enter loop types to exclude from detection (do, while, etc.)",
  "option.EMPTY_DO_WHILE_BLOCK.title.comment_pattern": "Empty block comment pattern restriction",
  "option.EMPTY_DO_WHILE_BLOCK.title.comments": "Replace empty block with comment",
  "option.EMPTY_DO_WHILE_BLOCK.title.excluded_type": "Loop types to exclude from detection",
  "option.EMPTY_FOR_BLOCK.desc.comment_pattern": "Option to set specific comment pattern as a regular expression to replace empty blocks.",
  "option.EMPTY_FOR_BLOCK.desc.comments": "Empty blocks can be filled with comments matching the input pattern. If no comment pattern is set, there will be no restrictions on replacement comments.",
  "option.EMPTY_FOR_BLOCK.desc.excluded_variable": "Exclude from detection by entering variable names (e.g., i, j, etc.).",
  "option.EMPTY_FOR_BLOCK.title.comment_pattern": "Empty block comment pattern restriction",
  "option.EMPTY_FOR_BLOCK.title.comments": "Replace empty block with comment",
  "option.EMPTY_FOR_BLOCK.title.excluded_variable": "Excluded variables",
  "option.EMPTY_IF_BLOCK.desc.comment_pattern": "Regular expression for comments that can replace empty blocks",
  "option.EMPTY_IF_BLOCK.desc.comments": "Empty blocks can be filled with comments matching the input pattern. If no comment pattern is set, there will be no restrictions on replacement comments.",
  "option.EMPTY_IF_BLOCK.desc.excluded_conditions": "Enter conditions to exclude from detection (if, else, else if, etc.)",
  "option.EMPTY_IF_BLOCK.title.comment_pattern": "Empty block comment pattern restriction",
  "option.EMPTY_IF_BLOCK.title.comments": "Replace empty block with comment",
  "option.EMPTY_IF_BLOCK.title.excluded_conditions": "Excluded conditions",
  "option.EMPTY_METHOD_BLOCK.desc.check_constructor": "Restricts detection target to either regular methods or constructors.",
  "option.EMPTY_METHOD_BLOCK.desc.check_method": "Restricts detection target to either regular methods or constructors.",
  "option.EMPTY_METHOD_BLOCK.desc.comment_pattern": "Option to set specific comment pattern as a regular expression to replace empty blocks.",
  "option.EMPTY_METHOD_BLOCK.desc.comments": "Empty blocks can be filled with comments matching the input pattern. If no comment pattern is set, there will be no restrictions on replacement comments.",
  "option.EMPTY_METHOD_BLOCK.desc.excluded_modifiers": "Enter keywords to exclude from detection such as abstract, interface, public, protected, private, default, (general class), etc.",
  "option.EMPTY_METHOD_BLOCK.title.check_constructor": "Constructor method detection target restriction",
  "option.EMPTY_METHOD_BLOCK.title.check_method": "Regular method detection target restriction",
  "option.EMPTY_METHOD_BLOCK.title.comment_pattern": "Empty block comment pattern restriction",
  "option.EMPTY_METHOD_BLOCK.title.comments": "Allow comment replacement for empty blocks",
  "option.EMPTY_METHOD_BLOCK.title.excluded_modifiers": "Excluded keywords",
  "option.EMPTY_PASSWORD.CONFIG.desc.password_expr": "Write the expression of a string that may be considered as a password.\nExample) password",
  "option.EMPTY_PASSWORD.CONFIG.title.password_expr": "Password expression",
  "option.EMPTY_SALT.PYTHON.desc.hash_salt_param": "Write hash library function and salt parameter.\nExample) hashlib\\.pbkdf2_hmac:salt:3",
  "option.EMPTY_SALT.PYTHON.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) operand(*) of \"in\"",
  "option.EMPTY_SALT.PYTHON.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) sparrow.my.filter.utils.is_safe()",
  "option.EMPTY_SALT.PYTHON.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) base of name(\"read\") to return",
  "option.EMPTY_SALT.PYTHON.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(*) of fqn(\"hashlib.sha256\")",
  "option.EMPTY_SALT.PYTHON.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(reg(\".*\"))",
  "option.EMPTY_SALT.PYTHON.title.hash_salt_param": "Hash function and salt",
  "option.EMPTY_SALT.PYTHON.title.taint_filter": "External information filter",
  "option.EMPTY_SALT.PYTHON.title.taint_filter_function_fqn": "Custom external information filter",
  "option.EMPTY_SALT.PYTHON.title.taint_propagator": "External information propagator",
  "option.EMPTY_SALT.PYTHON.title.taint_sink": "External information sink",
  "option.EMPTY_SALT.PYTHON.title.taint_source": "External information source",
  "option.EMPTY_STRING_CHECK.desc.target_method": "Option to detect when text matching the input text is found",
  "option.EMPTY_STRING_CHECK.title.target_method": "Blacklist single",
  "option.EMPTY_SWITCH_BLOCK.desc.allow_fallthrough": "Exempt from detection if comments are used to intentionally allow fall-through.",
  "option.EMPTY_SWITCH_BLOCK.desc.allow_return_break": "Excludes single `return` and `break` statements used within code blocks for purposes such as guard clauses or early exits from violation detection.",
  "option.EMPTY_SWITCH_BLOCK.desc.comment_pattern": "Option to set specific comment pattern as a regular expression to replace empty blocks.",
  "option.EMPTY_SWITCH_BLOCK.desc.comments": "Empty blocks can be filled with comments matching the input pattern. If no comment pattern is set, there will be no restrictions on replacement comments.",
  "option.EMPTY_SWITCH_BLOCK.desc.excluded_type": "Enter the switch components to exclude from detection (case, default, etc.)",
  "option.EMPTY_SWITCH_BLOCK.title.allow_fallthrough": "Allow intentional fall-through",
  "option.EMPTY_SWITCH_BLOCK.title.allow_return_break": "Allow standalone return/break statements",
  "option.EMPTY_SWITCH_BLOCK.title.comment_pattern": "Empty block comment pattern restriction",
  "option.EMPTY_SWITCH_BLOCK.title.comments": "Replace empty block with comment",
  "option.EMPTY_SWITCH_BLOCK.title.excluded_type": "Switch components to exclude from detection",
  "option.EMPTY_TRY_CATCH_BLOCK.desc.allow_nested": "This option excludes nested catch blocks from detection.",
  "option.EMPTY_TRY_CATCH_BLOCK.desc.comment_pattern": "Option to set specific comment pattern as a regular expression to replace empty blocks.",
  "option.EMPTY_TRY_CATCH_BLOCK.desc.comments": "Empty blocks can be filled with comments matching the input pattern. If no comment pattern is set, there will be no restrictions on replacement comments.",
  "option.EMPTY_TRY_CATCH_BLOCK.desc.excluded_type": "Enter the exception blocks to exclude from detection (e.g., try, catch, finally, etc.)",
  "option.EMPTY_TRY_CATCH_BLOCK.title.allow_nested": "Exclude nested catch statements from detection",
  "option.EMPTY_TRY_CATCH_BLOCK.title.comment_pattern": "Empty block comment pattern restriction",
  "option.EMPTY_TRY_CATCH_BLOCK.title.comments": "Replace empty block with comment",
  "option.EMPTY_TRY_CATCH_BLOCK.title.excluded_type": "exclusion block for detection",
  "option.ENCAPSULATE_ASSEMBLER.desc.allow_asm_macro": "Allow asm macro when set checkbox.",
  "option.ENCAPSULATE_ASSEMBLER.title.allow_asm_macro": "Allow asm macro",
  "option.ERROR_WITHOUT_ACTION.OBJC.desc.target_grp1": "Write functions in condition test list.",
  "option.ERROR_WITHOUT_ACTION.OBJC.title.target_grp1": "Functions in condition test",
  "option.ERROR_WITHOUT_ACTION.desc.target_grp1": "Write functions in condition test list.",
  "option.ERROR_WITHOUT_ACTION.desc.target_grp2": "Write windows functions.",
  "option.ERROR_WITHOUT_ACTION.title.target_grp1": "Functions in condition test",
  "option.ERROR_WITHOUT_ACTION.title.target_grp2": "errno functions",
  "option.EVAL_INJECTION.JS.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(*) of name(\"filter\")",
  "option.EVAL_INJECTION.JS.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.EVAL_INJECTION.JS.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\"+\") to return",
  "option.EVAL_INJECTION.JS.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(1) of fqn(\"eval\")",
  "option.EVAL_INJECTION.JS.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of fqn(\"document.URL\")",
  "option.EVAL_INJECTION.JS.title.taint_filter": "External information filter",
  "option.EVAL_INJECTION.JS.title.taint_filter_function_fqn": "Custom external information filter",
  "option.EVAL_INJECTION.JS.title.taint_propagator": "External information propagator",
  "option.EVAL_INJECTION.JS.title.taint_sink": "External information sink",
  "option.EVAL_INJECTION.JS.title.taint_source": "External information source",
  "option.EVAL_INJECTION.PYTHON.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.EVAL_INJECTION.PYTHON.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.EVAL_INJECTION.PYTHON.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) \\\\.$operand(*)->return",
  "option.EVAL_INJECTION.PYTHON.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) document.write$param(*)",
  "option.EVAL_INJECTION.PYTHON.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) document.URL$variable",
  "option.EVAL_INJECTION.PYTHON.title.taint_filter": "External information filter",
  "option.EVAL_INJECTION.PYTHON.title.taint_filter_function_fqn": "Custom external information filter",
  "option.EVAL_INJECTION.PYTHON.title.taint_propagator": "External information propagator",
  "option.EVAL_INJECTION.PYTHON.title.taint_sink": "External information sink",
  "option.EVAL_INJECTION.PYTHON.title.taint_source": "External information source",
  "option.EXCESSIVE_FUNCTION_CALLS.desc.max_call_number": "Specify the maximum number of function calls to allow within a function",
  "option.EXCESSIVE_FUNCTION_CALLS.title.max_call_number": "Maximum number of function calls within a function",
  "option.EXCESSIVE_IFS.desc.max_number_of_ifs": "Specify the maximum number of if statements to allow within a function.",
  "option.EXCESSIVE_IFS.title.max_number_of_ifs": "Maximum number of if statements within a function",
  "option.EXCESSIVE_SESSION_TIMEOUT.CAKEPHP.PHP.desc.min_timeout": "Write the minimum timeout of the session.\nExample) medium",
  "option.EXCESSIVE_SESSION_TIMEOUT.CAKEPHP.PHP.title.min_timeout": "Minimum session timeout",
  "option.EXCESSIVE_STACK_DEPTH.desc.max_stack_variable_size": "Specify the maximum size of the stack variable.",
  "option.EXCESSIVE_STACK_DEPTH.title.max_stack_variable_size": "Maximum size of the stack variable",
  "option.EXISTING_PASSWORD_RECOVERY.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.EXISTING_PASSWORD_RECOVERY.desc.exclude": "A filter is considered safe if it is defined like this \"if\" {filter_target}\nfilter_target: filter expression for the pollution value (includes method definition).",
  "option.EXISTING_PASSWORD_RECOVERY.desc.propagator": "If a propagator is defined as follows, it propagates a tainted value. {propagator_target}\npropagator_target: propagation expression for the tainted value. (including method definition)",
  "option.EXISTING_PASSWORD_RECOVERY.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.EXISTING_PASSWORD_RECOVERY.title.alarm": "Detection rule",
  "option.EXISTING_PASSWORD_RECOVERY.title.exclude": "Exception rule",
  "option.EXISTING_PASSWORD_RECOVERY.title.propagator": "Propagator name",
  "option.EXISTING_PASSWORD_RECOVERY.title.suggestion_filter_function": "Suggested filter function",
  "option.EXPOSURE_OF_ADMINISTRATION_PAGE.desc.forbidden_page_name": "Write an expression for the administrator page name to forbid.\nExample) admin.*",
  "option.EXPOSURE_OF_ADMINISTRATION_PAGE.title.forbidden_page_name": "Forbidden administration page name",
  "option.EXPOSURE_OF_DANGEROUS_METHOD.desc.dangerous_method": "Write the expression of the dangerous method name.\nExample) .+\\.dangerousMethod",
  "option.EXPOSURE_OF_DANGEROUS_METHOD.title.dangerous_method": "Name of dangerous method",
  "option.EXPOSURE_OF_SYSTEM_DATA.KOTLIN.desc.exclude_print_stack_trace": "If selected, printStackTrace method calls will not be detected.",
  "option.EXPOSURE_OF_SYSTEM_DATA.KOTLIN.desc.exclude_println": "If selected, println method calls will not be detected.",
  "option.EXPOSURE_OF_SYSTEM_DATA.KOTLIN.title.exclude_print_stack_trace": "Exclude printStackTrace call",
  "option.EXPOSURE_OF_SYSTEM_DATA.KOTLIN.title.exclude_println": "Exclude println call",
  "option.EXPOSURE_OF_SYSTEM_DATA.PYTHON.desc.forbidden_function": "Write a name of forbidden function.\n Example) traceback.print_.*",
  "option.EXPOSURE_OF_SYSTEM_DATA.PYTHON.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.EXPOSURE_OF_SYSTEM_DATA.PYTHON.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.EXPOSURE_OF_SYSTEM_DATA.PYTHON.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) \\\\.$operand(*)->return",
  "option.EXPOSURE_OF_SYSTEM_DATA.PYTHON.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) .+\\\\.getFile$param(1)",
  "option.EXPOSURE_OF_SYSTEM_DATA.PYTHON.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) document.URL$variable",
  "option.EXPOSURE_OF_SYSTEM_DATA.PYTHON.title.forbidden_function": "Forbidden Method",
  "option.EXPOSURE_OF_SYSTEM_DATA.PYTHON.title.taint_filter": "External information filter",
  "option.EXPOSURE_OF_SYSTEM_DATA.PYTHON.title.taint_filter_function_fqn": "Custom external information filter",
  "option.EXPOSURE_OF_SYSTEM_DATA.PYTHON.title.taint_propagator": "External information propagator",
  "option.EXPOSURE_OF_SYSTEM_DATA.PYTHON.title.taint_sink": "External information sink",
  "option.EXPOSURE_OF_SYSTEM_DATA.PYTHON.title.taint_source": "External information source",
  "option.EXPOSURE_OF_SYSTEM_DATA.desc.additional_exception_class": "Write the name of the exception class to detect in addition.\nExample) java.io.IOException",
  "option.EXPOSURE_OF_SYSTEM_DATA.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.EXPOSURE_OF_SYSTEM_DATA.desc.default_exception_class": "Write the names of default exception classes for checker.",
  "option.EXPOSURE_OF_SYSTEM_DATA.desc.exclude": "A filter is considered safe if it is defined like this \"if\" {filter_target}\nfilter_target: filter expression for the pollution value (includes method definition).",
  "option.EXPOSURE_OF_SYSTEM_DATA.desc.exclude_print_stack_trace": "If selected, printStackTrace method calls will not be detected.",
  "option.EXPOSURE_OF_SYSTEM_DATA.desc.exclude_println": "If selected, println method calls will not be detected.",
  "option.EXPOSURE_OF_SYSTEM_DATA.desc.propagator": "If a propagator is defined as follows, it propagates a tainted value. {propagator_target}\npropagator_target: propagation expression for the tainted value. (including method definition)",
  "option.EXPOSURE_OF_SYSTEM_DATA.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.EXPOSURE_OF_SYSTEM_DATA.title.additional_exception_class": "Additional Exception Class",
  "option.EXPOSURE_OF_SYSTEM_DATA.title.alarm": "Detection rule",
  "option.EXPOSURE_OF_SYSTEM_DATA.title.default_exception_class": "Default exception class inspected by checkers",
  "option.EXPOSURE_OF_SYSTEM_DATA.title.exclude": "Exception rule",
  "option.EXPOSURE_OF_SYSTEM_DATA.title.exclude_print_stack_trace": "Exclude printStackTrace call",
  "option.EXPOSURE_OF_SYSTEM_DATA.title.exclude_println": "Exclude println call",
  "option.EXPOSURE_OF_SYSTEM_DATA.title.propagator": "Propagator name",
  "option.EXPOSURE_OF_SYSTEM_DATA.title.suggestion_filter_function": "Suggested filter function",
  "option.EXTERNAL_CONTROL_OF_SYSTEM_OR_CONFIGURATION_SETTING.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.EXTERNAL_CONTROL_OF_SYSTEM_OR_CONFIGURATION_SETTING.desc.exclude": "A filter is considered safe if it is defined like this \"if\" {filter_target}\nfilter_target: filter expression for the pollution value (includes method definition).",
  "option.EXTERNAL_CONTROL_OF_SYSTEM_OR_CONFIGURATION_SETTING.desc.propagator": "propagator propagates tainted values if it is defined as follows {propagator_target}\npropagator_target: propagation expression for the tainted value (contains the method definition).",
  "option.EXTERNAL_CONTROL_OF_SYSTEM_OR_CONFIGURATION_SETTING.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.EXTERNAL_CONTROL_OF_SYSTEM_OR_CONFIGURATION_SETTING.title.alarm": "Detection rule",
  "option.EXTERNAL_CONTROL_OF_SYSTEM_OR_CONFIGURATION_SETTING.title.exclude": "Exception rule",
  "option.EXTERNAL_CONTROL_OF_SYSTEM_OR_CONFIGURATION_SETTING.title.propagator": "Propagator name",
  "option.EXTERNAL_CONTROL_OF_SYSTEM_OR_CONFIGURATION_SETTING.title.suggestion_filter_function": "Suggested filter function",
  "option.FIELD_COMMENT.desc.FieldComment": "Define field comment template.",
  "option.FIELD_COMMENT.desc.field_position": "Write a field variable comment position to be checked.",
  "option.FIELD_COMMENT.desc.global_position": "Write a global variable comment position to be checked.",
  "option.FIELD_COMMENT.desc.is_check_not_exist_comment": "If the option is enabled, non-existing comments will be checked.",
  "option.FIELD_COMMENT.desc.local_position": "Write a local variable comment position to be checked.",
  "option.FIELD_COMMENT.desc.variable_kind_field": "Verifies that the variable is declared as a field.",
  "option.FIELD_COMMENT.desc.variable_kind_global": "Verifies that the variable is declared as a global.",
  "option.FIELD_COMMENT.desc.variable_kind_local": "Verifies that the variable is declared as a local.",
  "option.FIELD_COMMENT.title.FieldComment": "Field comment template",
  "option.FIELD_COMMENT.title.field_position": "Position of field variable comment",
  "option.FIELD_COMMENT.title.global_position": "Position of global variable comment",
  "option.FIELD_COMMENT.title.is_check_not_exist_comment": "Check non-existing variable",
  "option.FIELD_COMMENT.title.local_position": "Position of local variable comment",
  "option.FIELD_COMMENT.title.variable_kind_field": "Check field variable",
  "option.FIELD_COMMENT.title.variable_kind_global": "Check global variable",
  "option.FIELD_COMMENT.title.variable_kind_local": "Check local variable",
  "option.FILE_COMMENT.desc.FileComment": "Define the file comment template.",
  "option.FILE_COMMENT.desc.comment_number": "Write the number of file comment. \nExample) 2",
  "option.FILE_COMMENT.title.FileComment": "File comment template",
  "option.FILE_COMMENT.title.comment_number": "The number of file comment",
  "option.FILE_PERMISSION_MANIPULATION.PHP.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(*) of name(\"filter\")",
  "option.FILE_PERMISSION_MANIPULATION.PHP.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.FILE_PERMISSION_MANIPULATION.PHP.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\".\") to return",
  "option.FILE_PERMISSION_MANIPULATION.PHP.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(*) of name(\"chmod\")",
  "option.FILE_PERMISSION_MANIPULATION.PHP.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of name(\"$_GET\")",
  "option.FILE_PERMISSION_MANIPULATION.PHP.title.taint_filter": "External information filter",
  "option.FILE_PERMISSION_MANIPULATION.PHP.title.taint_filter_function_fqn": "Custom external information filter",
  "option.FILE_PERMISSION_MANIPULATION.PHP.title.taint_propagator": "External information propagator",
  "option.FILE_PERMISSION_MANIPULATION.PHP.title.taint_sink": "External information sink",
  "option.FILE_PERMISSION_MANIPULATION.PHP.title.taint_source": "External information source",
  "option.FIND_STRING_IN_CONTENT.desc.exclude_dir": "Enter the path to the folder to exclude from detection using the glob pattern.\nExample) `src/java/**/core/**`",
  "option.FIND_STRING_IN_CONTENT.desc.exclude_extension": "Write a exclusion of file extension.\nExample) java",
  "option.FIND_STRING_IN_CONTENT.desc.rule": "Write a rule of analysis using regular expressions.",
  "option.FIND_STRING_IN_CONTENT.desc.target_dir": "Write a target of folder path using glob pattern.\nExample) `src/java/**/core/**`",
  "option.FIND_STRING_IN_CONTENT.desc.target_extension": "Write a target of file extension.\nExample) java",
  "option.FIND_STRING_IN_CONTENT.title.exclude_dir": "Exclusion of folder path",
  "option.FIND_STRING_IN_CONTENT.title.exclude_extension": "Exclusion of file extension",
  "option.FIND_STRING_IN_CONTENT.title.rule": "Detection rule",
  "option.FIND_STRING_IN_CONTENT.title.target_dir": "Target of folder path",
  "option.FIND_STRING_IN_CONTENT.title.target_extension": "Target of file extension",
  "option.FORBIDDEN.ASSIGNMENT_IN_OPERAND.JS.desc.allowConditionalExpression": "Write whether allow assignment expression in conditional expression of conditional expression (true/false)",
  "option.FORBIDDEN.ASSIGNMENT_IN_OPERAND.JS.desc.allowConditionalExpressionResult": "Write whether allow assignment expression in result expression of conditional expression (true/false)",
  "option.FORBIDDEN.ASSIGNMENT_IN_OPERAND.JS.desc.allowFor": "Write whether allow assignment expression in conditional expression of for statement (true/false)",
  "option.FORBIDDEN.ASSIGNMENT_IN_OPERAND.JS.desc.allowIf": "Write whether allow assignment expression in conditional expression of if statement (true/false)",
  "option.FORBIDDEN.ASSIGNMENT_IN_OPERAND.JS.desc.allowWhile": "Write whether allow assignment expression in conditional expression of while statement (true/false)",
  "option.FORBIDDEN.ASSIGNMENT_IN_OPERAND.JS.title.allowConditionalExpression": "Allow assignment within the conditional expression of a conditional expression",
  "option.FORBIDDEN.ASSIGNMENT_IN_OPERAND.JS.title.allowConditionalExpressionResult": "Allow assignment within the result expression of a conditional statement",
  "option.FORBIDDEN.ASSIGNMENT_IN_OPERAND.JS.title.allowFor": "Allow assignment within the conditional expression of a for statement",
  "option.FORBIDDEN.ASSIGNMENT_IN_OPERAND.JS.title.allowIf": "Allow assignment within the conditional expression of an if statement",
  "option.FORBIDDEN.ASSIGNMENT_IN_OPERAND.JS.title.allowWhile": "Allow assignment within the conditional expression of an while statement",
  "option.FORBIDDEN.COOKIE.PHP.desc.forbidden_cookie_function": "Write a name of the cookie function to be forbidden.\nExample) setcookie",
  "option.FORBIDDEN.COOKIE.PHP.title.forbidden_cookie_function": "Cookie function to be forbidden",
  "option.FORBIDDEN.EASY_DATABASE_NAME.JS.desc.forbidden_name": "Write a name of the database to be forbidden.\nExample) mydb, database",
  "option.FORBIDDEN.EASY_DATABASE_NAME.JS.title.forbidden_name": "Name of database to be forbidden",
  "option.FORBIDDEN.EDIT.NATIVE_OBJECT_PROTOTYPE.JS.desc.native_object": "Write a prototype of the native object not to be overwirrten or defined.\nExample) Number.prototype",
  "option.FORBIDDEN.EDIT.NATIVE_OBJECT_PROTOTYPE.JS.title.native_object": "Native object not to be overwritten or defined.",
  "option.FORBIDDEN.EQUALITY_FOR_BOXED_PRIMITIVES.desc.boxed_type": "Set the boxed primitive type to be detected.",
  "option.FORBIDDEN.EQUALITY_FOR_BOXED_PRIMITIVES.title.boxed_type": "boxed primitive type",
  "option.FORBIDDEN.EVAL_FUNCTION.JS.desc.closure_enabled": "When unchecked, it also checks when inside a closure function.",
  "option.FORBIDDEN.EVAL_FUNCTION.JS.title.closure_enabled": "Whether the closure is checked",
  "option.FORBIDDEN.INSECURE_RANDOM.JS.desc.insecure_random": "Write insecure random function",
  "option.FORBIDDEN.INSECURE_RANDOM.JS.title.insecure_random": "Insecure random function",
  "option.FORBIDDEN.INSTANCE_ACCESSING.desc.check_static_only": "If selected, only static fields and methods will be detected.",
  "option.FORBIDDEN.INSTANCE_ACCESSING.title.check_static_only": "Detect static only",
  "option.FORBIDDEN.MULTI_DIMENSION_ARRAY.desc.threshold": "Set array level to be forbidden. If you set \"2\", the analyzer will detect defects when it meet arrays over two level.",
  "option.FORBIDDEN.MULTI_DIMENSION_ARRAY.title.threshold": "Array level to be forbidden.",
  "option.FORBIDDEN.REPLACING_EMAIL_ADDRESS.desc.target_variable": "Write the expression of the e-mail address variable.\nExample) .+\\.email",
  "option.FORBIDDEN.REPLACING_EMAIL_ADDRESS.title.target_variable": "Name of the e-mail address variable",
  "option.FORBIDDEN.TABLE.SQL.desc.forbidden_table": "Write down a list of forbidden tables to use.",
  "option.FORBIDDEN.TABLE.SQL.title.forbidden_table": "Forbidden tables",
  "option.FORBIDDEN.TABLE_COLUMN.SQL.desc.forbidden_column": "Write down a list of forbidden columns to use.",
  "option.FORBIDDEN.TABLE_COLUMN.SQL.desc.forbidden_table": "Write down a list of forbidden tables to use.",
  "option.FORBIDDEN.TABLE_COLUMN.SQL.title.forbidden_column": "Forbidden columns",
  "option.FORBIDDEN.TABLE_COLUMN.SQL.title.forbidden_table": "Forbidden tables",
  "option.FORBIDDEN.WEAK_MIUPDATER.TOBE.JS.desc.forbidden_miupdater": "Write a version of the Miupdater to be forbidden.\nExample) Miupdater320",
  "option.FORBIDDEN.WEAK_MIUPDATER.TOBE.JS.title.forbidden_miupdater": "Version of Miupdater to be forbidden",
  "option.FORBIDDEN_ASSIGN_LITERAL.desc.check_field": "Select this item to check instance(non-static) member field variable.",
  "option.FORBIDDEN_ASSIGN_LITERAL.desc.check_local": "Select this item to check local variable declared in a method.",
  "option.FORBIDDEN_ASSIGN_LITERAL.desc.check_param": "Select this item to check formal parameter variable of a method.",
  "option.FORBIDDEN_ASSIGN_LITERAL.desc.check_static": "Select this item to check static member field variable.",
  "option.FORBIDDEN_ASSIGN_LITERAL.desc.excluded_class": "Write the class name to be excluded.\n<i>Example)</i> .*Constant",
  "option.FORBIDDEN_ASSIGN_LITERAL.desc.excluded_method": "Write the method name to be excluded.\n<i>Example)</i> get.*",
  "option.FORBIDDEN_ASSIGN_LITERAL.desc.excluded_package": "Write the package name to be excluded.\n<i>Example)</i> .*const.*",
  "option.FORBIDDEN_ASSIGN_LITERAL.desc.target_class": "Write the the class name to be checked.\n<i>Example)</i> .*Controller",
  "option.FORBIDDEN_ASSIGN_LITERAL.desc.target_method": "Write the method name to be checked.\n<i>Example)</i> ((select)|(delete)|(update)).*",
  "option.FORBIDDEN_ASSIGN_LITERAL.desc.target_package": "Write the package name to be checked.\n<i>example)</i> com\\.fasoo\\..*control",
  "option.FORBIDDEN_ASSIGN_LITERAL.desc.target_variable": "Write the the variable name to be checked.\n<i>Example)</i> .*Id",
  "option.FORBIDDEN_ASSIGN_LITERAL.title.check_field": "Check Instance Field",
  "option.FORBIDDEN_ASSIGN_LITERAL.title.check_local": "Check Local Variable",
  "option.FORBIDDEN_ASSIGN_LITERAL.title.check_param": "Check Formal Parameter",
  "option.FORBIDDEN_ASSIGN_LITERAL.title.check_static": "Check Static Field",
  "option.FORBIDDEN_ASSIGN_LITERAL.title.excluded_class": "Excluded Package Name",
  "option.FORBIDDEN_ASSIGN_LITERAL.title.excluded_method": "Excluded Class Name",
  "option.FORBIDDEN_ASSIGN_LITERAL.title.excluded_package": "Excluded Method Name",
  "option.FORBIDDEN_ASSIGN_LITERAL.title.target_class": "Target Class Name",
  "option.FORBIDDEN_ASSIGN_LITERAL.title.target_method": "Target Method Name",
  "option.FORBIDDEN_ASSIGN_LITERAL.title.target_package": "Target Package Name",
  "option.FORBIDDEN_ASSIGN_LITERAL.title.target_variable": "Target Variable Name",
  "option.FORBIDDEN_CALL.BEFORE_CALL.desc.file_target_excluded": "Files to be excluded",
  "option.FORBIDDEN_CALL.BEFORE_CALL.desc.function_should_not_be_used": "Set up forbidden functions.",
  "option.FORBIDDEN_CALL.BEFORE_CALL.desc.function_target": "Set target functions with regular expressions",
  "option.FORBIDDEN_CALL.BEFORE_CALL.desc.function_target_begin_call_function": "Target functions begin call",
  "option.FORBIDDEN_CALL.BEFORE_CALL.desc.function_target_excluded": "Set up functions to be excluded from analyzing.",
  "option.FORBIDDEN_CALL.BEFORE_CALL.title.file_target_excluded": "Files to be excluded",
  "option.FORBIDDEN_CALL.BEFORE_CALL.title.function_should_not_be_used": "Forbidden functions",
  "option.FORBIDDEN_CALL.BEFORE_CALL.title.function_target": "Target functions",
  "option.FORBIDDEN_CALL.BEFORE_CALL.title.function_target_begin_call_function": "Target functions begin call",
  "option.FORBIDDEN_CALL.BEFORE_CALL.title.function_target_excluded": "Functions to be excluded for analyze",
  "option.FORBIDDEN_CALL.LOOP.desc.target_functions": "Set up forbidden functions",
  "option.FORBIDDEN_CALL.LOOP.title.target_functions": "Forbidden function",
  "option.FORBIDDEN_CLASS.desc.blacklist_names": "Option to detect when text matching the input text is found.",
  "option.FORBIDDEN_CLASS.desc.blacklist_patterns": "Option to detect when text within the range of the input regular expression is found.",
  "option.FORBIDDEN_CLASS.desc.check_inner_class": "This option enables inner class inspection.",
  "option.FORBIDDEN_CLASS.desc.enforce_whitelist": "This option detects all entities that are not on the whitelist.",
  "option.FORBIDDEN_CLASS.desc.excluded_keywords": "Enter keywords to exclude from detection such as abstract, interface, public, protected, private, default, (general class), etc.",
  "option.FORBIDDEN_CLASS.desc.package_based_analysis": "This feature analyzes whether the package and class names match.",
  "option.FORBIDDEN_CLASS.desc.superclass_restriction": "Change the detection target to only include classes that inherit from the specified class name. If you input in the format [package, class], it will analyze only within that package.",
  "option.FORBIDDEN_CLASS.desc.whitelist_names": "Excludes from detection when text matching the input text is found.",
  "option.FORBIDDEN_CLASS.desc.whitelist_patterns": "Excludes from detection when text within the range of the input regular expression is found.",
  "option.FORBIDDEN_CLASS.title.blacklist_names": "Blacklist single",
  "option.FORBIDDEN_CLASS.title.blacklist_patterns": "Blacklist range",
  "option.FORBIDDEN_CLASS.title.check_inner_class": "Inner class checking",
  "option.FORBIDDEN_CLASS.title.enforce_whitelist": "Changed to whitelist detection",
  "option.FORBIDDEN_CLASS.title.excluded_keywords": "Excluded keywords",
  "option.FORBIDDEN_CLASS.title.package_based_analysis": "Package-based class analysis",
  "option.FORBIDDEN_CLASS.title.superclass_restriction": "Detect only classes that inherit",
  "option.FORBIDDEN_CLASS.title.whitelist_names": "Forbidden class (Single, high priority)",
  "option.FORBIDDEN_CLASS.title.whitelist_patterns": "Whitelist range, high priority",
  "option.FORBIDDEN_PACKAGE.desc.allowed_packages": "Excludes from detection when text matching the input text is found.",
  "option.FORBIDDEN_PACKAGE.desc.allowed_patterns": "Excludes from detection when text within the range of the input regular expression is found.",
  "option.FORBIDDEN_PACKAGE.desc.forbidden_packages": "Option to detect when text matching the input text is found.",
  "option.FORBIDDEN_PACKAGE.desc.forbidden_patterns": "Option to detect when text within the range of the input regular expression is found.",
  "option.FORBIDDEN_PACKAGE.desc.only_allowed": "This option detects all entities that are not on the whitelist.",
  "option.FORBIDDEN_PACKAGE.title.allowed_packages": "Whitelist single",
  "option.FORBIDDEN_PACKAGE.title.allowed_patterns": "Whitelist range",
  "option.FORBIDDEN_PACKAGE.title.forbidden_packages": "Blacklist single",
  "option.FORBIDDEN_PACKAGE.title.forbidden_patterns": "Blacklist range",
  "option.FORBIDDEN_PACKAGE.title.only_allowed": "Changed to whitelist detection",
  "option.FORMAT_STRING.KOTLIN.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(*) of name(\"filter\")",
  "option.FORMAT_STRING.KOTLIN.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) sparrow.my.filter.utils.is_safe()",
  "option.FORMAT_STRING.KOTLIN.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.FORMAT_STRING.KOTLIN.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(1) of fqn(\"kotlin.String.format\")",
  "option.FORMAT_STRING.KOTLIN.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(\"java.io.BufferedInputStream.read(byte[])\")",
  "option.FORMAT_STRING.KOTLIN.title.taint_filter": "External information filter",
  "option.FORMAT_STRING.KOTLIN.title.taint_filter_function_fqn": "Custom external information filter",
  "option.FORMAT_STRING.KOTLIN.title.taint_propagator": "External information propagator",
  "option.FORMAT_STRING.KOTLIN.title.taint_sink": "External information sink",
  "option.FORMAT_STRING.KOTLIN.title.taint_source": "External information source",
  "option.FORMAT_STRING.OBJC.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.FORMAT_STRING.OBJC.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.FORMAT_STRING.OBJC.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) strcpy$param(2)->param(1)",
  "option.FORMAT_STRING.OBJC.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) printf$param(1)",
  "option.FORMAT_STRING.OBJC.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) getenv$return",
  "option.FORMAT_STRING.OBJC.title.taint_filter": "External information filter",
  "option.FORMAT_STRING.OBJC.title.taint_filter_function_fqn": "Custom external information filter",
  "option.FORMAT_STRING.OBJC.title.taint_propagator": "External information propagator",
  "option.FORMAT_STRING.OBJC.title.taint_sink": "External information sink",
  "option.FORMAT_STRING.OBJC.title.taint_source": "External information source",
  "option.FORMAT_STRING.PHP.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(*) of name(\"filter\")",
  "option.FORMAT_STRING.PHP.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.FORMAT_STRING.PHP.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\".\") to return",
  "option.FORMAT_STRING.PHP.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(1) of name(\"printf\")",
  "option.FORMAT_STRING.PHP.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of name(\"$_GET\")",
  "option.FORMAT_STRING.PHP.title.taint_filter": "External information filter",
  "option.FORMAT_STRING.PHP.title.taint_filter_function_fqn": "Custom external information filter",
  "option.FORMAT_STRING.PHP.title.taint_propagator": "External information propagator",
  "option.FORMAT_STRING.PHP.title.taint_sink": "External information sink",
  "option.FORMAT_STRING.PHP.title.taint_source": "External information source",
  "option.FORMAT_STRING.PYTHON.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) return of name(\"filter\")",
  "option.FORMAT_STRING.PYTHON.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) sparrow.my.filter.utils.is_safe()",
  "option.FORMAT_STRING.PYTHON.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.FORMAT_STRING.PYTHON.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) base of name(\"format\")",
  "option.FORMAT_STRING.PYTHON.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(\"django.http.HttpRequest.field\")",
  "option.FORMAT_STRING.PYTHON.title.taint_filter": "External information filter",
  "option.FORMAT_STRING.PYTHON.title.taint_filter_function_fqn": "Custom external information filter",
  "option.FORMAT_STRING.PYTHON.title.taint_propagator": "External information propagator",
  "option.FORMAT_STRING.PYTHON.title.taint_sink": "External information sink",
  "option.FORMAT_STRING.PYTHON.title.taint_source": "External information source",
  "option.FORMAT_STRING.SWIFT.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) return of name(\"filter\")",
  "option.FORMAT_STRING.SWIFT.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.FORMAT_STRING.SWIFT.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) base of name(\"format\")",
  "option.FORMAT_STRING.SWIFT.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(\"django.http.HttpRequest.field\")",
  "option.FORMAT_STRING.SWIFT.title.taint_filter": "External information filter",
  "option.FORMAT_STRING.SWIFT.title.taint_propagator": "External information propagator",
  "option.FORMAT_STRING.SWIFT.title.taint_sink": "External information sink",
  "option.FORMAT_STRING.SWIFT.title.taint_source": "External information source",
  "option.FORMAT_STRING.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.FORMAT_STRING.desc.exclude": "A filter is considered safe if it is defined like this \"if\" {filter_target}\nfilter_target: filter expression for the pollution value (includes method definition).",
  "option.FORMAT_STRING.desc.proframe_targets": "Write a function to check for format strings of type number_s.",
  "option.FORMAT_STRING.desc.propagator": "If a propagator is defined as follows, it propagates a tainted value. {propagator_target}\npropagator_target: propagation expression for the tainted value. (including method definition)",
  "option.FORMAT_STRING.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.FORMAT_STRING.desc.targets": "only checks within below list.",
  "option.FORMAT_STRING.title.alarm": "Detection rule",
  "option.FORMAT_STRING.title.exclude": "Exception rule",
  "option.FORMAT_STRING.title.proframe_targets": "Functions to analyze when analyzing a frame.",
  "option.FORMAT_STRING.title.propagator": "Propagator name",
  "option.FORMAT_STRING.title.suggestion_filter_function": "Suggested filter function",
  "option.FORMAT_STRING.title.targets": "string format function to analyze.",
  "option.FORMAT_STRING_ARGUMENT_NUMBER_MISMATCH.desc.targets": "only checks within below list.",
  "option.FORMAT_STRING_ARGUMENT_NUMBER_MISMATCH.title.targets": "string format function to analyze.",
  "option.FOR_LOOP_CONTROL_VARIABLE.desc.check_non_integer_variable": "When this option is activated, it detects FOR loop control variables that are not integer types.",
  "option.FOR_LOOP_CONTROL_VARIABLE.desc.check_variable_modification": "When this option is activated, it checks if FOR loop control variables are modified within the FOR loop.",
  "option.FOR_LOOP_CONTROL_VARIABLE.title.check_non_integer_variable": "Option to check if FOR loop control variables are set to non-integer variable types",
  "option.FOR_LOOP_CONTROL_VARIABLE.title.check_variable_modification": "Option to check if FOR loop control variables are modified within the FOR loop",
  "option.FUNCTION_COMMENT.desc.FunctionComment": "Define the function comment template.",
  "option.FUNCTION_COMMENT.title.FunctionComment": "Function comment template",
  "option.FUNCTION_WITHOUT_DEFINITION.desc.include_extern": "Analyze extern functions if a checkbox below is checked.",
  "option.FUNCTION_WITHOUT_DEFINITION.title.include_extern": "Check extern functions",
  "option.GENERAL_COMMENT.desc.GeneralComment": "Define the general comment template.",
  "option.GENERAL_COMMENT.title.GeneralComment": "General comment template",
  "option.HARDCODED_COMPARISON.KOTLIN.desc.except_value": "Enter comparison targets to be excluded from detection in regex. \nExample) variable names, literal values.",
  "option.HARDCODED_COMPARISON.KOTLIN.desc.target_variable": "Enter external input values classified as sensitive information in regex.\nExample) variable names or parameters",
  "option.HARDCODED_COMPARISON.KOTLIN.title.except_value": "Detecting exception",
  "option.HARDCODED_COMPARISON.KOTLIN.title.target_variable": "Detecting target",
  "option.HARDCODED_PASSWORD.CSHARP.desc.candidate_class": "Write a class name using a password.",
  "option.HARDCODED_PASSWORD.CSHARP.desc.method": "Write the method name to set the password.",
  "option.HARDCODED_PASSWORD.CSHARP.title.candidate_class": "Class which uses password.",
  "option.HARDCODED_PASSWORD.CSHARP.title.method": "Setter method for password",
  "option.HARDCODED_PASSWORD.KOTLIN.desc.password_as_argument": "Write the name of the function whose password is used as an argument.",
  "option.HARDCODED_PASSWORD.KOTLIN.title.password_as_argument": "Password argument function name",
  "option.HARDCODED_PASSWORD.PYTHON.desc.forbidden_variable": "Write the variable name to receive important information. \n Example) password",
  "option.HARDCODED_PASSWORD.PYTHON.desc.password_param": "Write the function using password.\n example) MySQLdb\\.connect:passwd:3",
  "option.HARDCODED_PASSWORD.PYTHON.title.forbidden_variable": "Important information variable name",
  "option.HARDCODED_PASSWORD.PYTHON.title.password_param": "Function using password",
  "option.HARDCODED_SECURITY_INFO.KOTLIN.desc.except_value": "Enter the values of the targets, such as variable values, to be excluded from detection in regex.",
  "option.HARDCODED_SECURITY_INFO.KOTLIN.desc.target_variable": "Enter targets, such as variable names, to be detected in regex.",
  "option.HARDCODED_SECURITY_INFO.KOTLIN.title.except_value": "Detecting exception",
  "option.HARDCODED_SECURITY_INFO.KOTLIN.title.target_variable": "Detecting target",
  "option.HARD_CODED.CRYPTOGRAPHIC_KEY.KOTLIN.desc.secret_key_as_argument": "Write the name of the function whose key is used as an argument.",
  "option.HARD_CODED.CRYPTOGRAPHIC_KEY.KOTLIN.title.secret_key_as_argument": "Key argument function name",
  "option.HARD_CODED.CRYPTOGRAPHIC_KEY.PHP.desc.check_function_params": "Write the name of the function to be checked and the position of the parameter.",
  "option.HARD_CODED.CRYPTOGRAPHIC_KEY.PHP.title.check_function_params": "Function name and parameter position",
  "option.HARD_CODED.CRYPTOGRAPHIC_KEY.PYTHON.desc.encrypt_creator_key": "Write the name of the encryption function and key parameter.\nExample: Crypto.Cipher.*new.*:key:1",
  "option.HARD_CODED.CRYPTOGRAPHIC_KEY.PYTHON.desc.hash_creator_key": "Write the name of the hash function and key parameter.\nExample: haslib.*:key",
  "option.HARD_CODED.CRYPTOGRAPHIC_KEY.PYTHON.title.encrypt_creator_key": "Encryption function and key",
  "option.HARD_CODED.CRYPTOGRAPHIC_KEY.PYTHON.title.hash_creator_key": "Hash function and key",
  "option.HARD_CODED.PASSWORD.PHP.desc.check_function_params": "Write the name of the function to be checked and the position of the parameter.",
  "option.HARD_CODED.PASSWORD.PHP.title.check_function_params": "Function name and parameter position",
  "option.HARD_CODED_PASSWORD.CONFIG.desc.password_expr": "Write the expression of a string that may be considered as a password.\nExample) password",
  "option.HARD_CODED_PASSWORD.CONFIG.title.password_expr": "Password expression",
  "option.HARD_CODED_USER_NAME_AND_PASSWORD.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.HARD_CODED_USER_NAME_AND_PASSWORD.desc.exclude": "A filter is considered safe if it is defined like this \"if\" {filter_target}\nfilter_target: filter expression for the pollution value (includes method definition).",
  "option.HARD_CODED_USER_NAME_AND_PASSWORD.desc.propagator": "If a propagator is defined as follows, it propagates a tainted value. {propagator_target}\npropagator_target: propagation expression for the tainted value. (including method definition)",
  "option.HARD_CODED_USER_NAME_AND_PASSWORD.desc.properties_password_expr": "Write the expression of the password key in Properties.\nExample) password",
  "option.HARD_CODED_USER_NAME_AND_PASSWORD.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.HARD_CODED_USER_NAME_AND_PASSWORD.title.alarm": "Detection rule",
  "option.HARD_CODED_USER_NAME_AND_PASSWORD.title.exclude": "Exception rule",
  "option.HARD_CODED_USER_NAME_AND_PASSWORD.title.propagator": "Propagator name",
  "option.HARD_CODED_USER_NAME_AND_PASSWORD.title.properties_password_expr": "Password key expression of Properties",
  "option.HARD_CODED_USER_NAME_AND_PASSWORD.title.suggestion_filter_function": "Suggested filter function",
  "option.HASH.INSECURE_HASH_ITERATION_COUNT.CSHARP.desc.iter_num": "Enter minimum iteration count",
  "option.HASH.INSECURE_HASH_ITERATION_COUNT.CSHARP.title.iter_num": "Minimum iteration count",
  "option.HEADER_MANIPULATION.PHP.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(*) of name(\"filter\")",
  "option.HEADER_MANIPULATION.PHP.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.HEADER_MANIPULATION.PHP.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\".\") to return",
  "option.HEADER_MANIPULATION.PHP.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(1) of name(\"header\")",
  "option.HEADER_MANIPULATION.PHP.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of name(\"$_GET\")",
  "option.HEADER_MANIPULATION.PHP.title.taint_filter": "External information filter",
  "option.HEADER_MANIPULATION.PHP.title.taint_filter_function_fqn": "Custom external information filter",
  "option.HEADER_MANIPULATION.PHP.title.taint_propagator": "External information propagator",
  "option.HEADER_MANIPULATION.PHP.title.taint_sink": "External information sink",
  "option.HEADER_MANIPULATION.PHP.title.taint_source": "External information source",
  "option.HEADER_MANIPULATION.VBS.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.HEADER_MANIPULATION.VBS.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.HEADER_MANIPULATION.VBS.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) &$operand(*)->return",
  "option.HEADER_MANIPULATION.VBS.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nexample) operand(2) of \"=\" if operand(1) == reg(\"response\\.cookies.*\")",
  "option.HEADER_MANIPULATION.VBS.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) request\\.form$return",
  "option.HEADER_MANIPULATION.VBS.title.taint_filter": "External information filter",
  "option.HEADER_MANIPULATION.VBS.title.taint_filter_function_fqn": "Custom external information filter",
  "option.HEADER_MANIPULATION.VBS.title.taint_propagator": "External information propagator",
  "option.HEADER_MANIPULATION.VBS.title.taint_sink": "External information sink",
  "option.HEADER_MANIPULATION.VBS.title.taint_source": "External information source",
  "option.HEAP_INSPECTION.desc.prevent_functions": "prevent functions",
  "option.HEAP_INSPECTION.desc.sink_functions": "sink functions",
  "option.HEAP_INSPECTION.desc.source_functions": "source functions",
  "option.HEAP_INSPECTION.title.prevent_functions": "prevent functions",
  "option.HEAP_INSPECTION.title.sink_functions": "sink functions",
  "option.HEAP_INSPECTION.title.source_functions": "source functions",
  "option.HTML5.CROSS_DOCUMENT_MESSAGING.JS.desc.forbidden_pattern": "Write a domain to be forbidden.\nExample) .*forbidden.*",
  "option.HTML5.CROSS_DOCUMENT_MESSAGING.JS.title.forbidden_pattern": "Domain to be forbidden",
  "option.HTML_COMMENT_IN_JSP.JSP.desc.exclude_dir": "Enter the path to the folder to exclude from detection using the glob pattern.\nExample) `src/java/**/core/**`",
  "option.HTML_COMMENT_IN_JSP.JSP.desc.exclude_extension": "Write a exclusion of file extension.\nExample) java",
  "option.HTML_COMMENT_IN_JSP.JSP.desc.rule": "Write a rule of analysis using regular expressions.",
  "option.HTML_COMMENT_IN_JSP.JSP.desc.target_dir": "Write a target of folder path using glob pattern.\nExample) `src/java/**/core/**`",
  "option.HTML_COMMENT_IN_JSP.JSP.desc.target_extension": "Write a target of file extension.\nExample) html",
  "option.HTML_COMMENT_IN_JSP.JSP.title.exclude_dir": "Exclusion of folder path",
  "option.HTML_COMMENT_IN_JSP.JSP.title.exclude_extension": "Exclusion of file extension",
  "option.HTML_COMMENT_IN_JSP.JSP.title.rule": "Detection rule",
  "option.HTML_COMMENT_IN_JSP.JSP.title.target_dir": "Target of folder path",
  "option.HTML_COMMENT_IN_JSP.JSP.title.target_extension": "Target of file extension",
  "option.HTTP.SECURITY_HEADER_SETTINGS.JS.desc.security_set": "Write names of the safe security header.",
  "option.HTTP.SECURITY_HEADER_SETTINGS.JS.title.security_set": "Safe security header",
  "option.HTTP_RESPONSE_SPLITTING.JS.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) return of fqn(\"encodeURIComponent\")",
  "option.HTTP_RESPONSE_SPLITTING.JS.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.HTTP_RESPONSE_SPLITTING.JS.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\"+\") to return",
  "option.HTTP_RESPONSE_SPLITTING.JS.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nexample) operand(2) of name(\"=\") if operand(1) == fqn(reg(\".*document\\\\.cookie\"))",
  "option.HTTP_RESPONSE_SPLITTING.JS.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of fqn(\"document.URL\")",
  "option.HTTP_RESPONSE_SPLITTING.JS.title.taint_filter": "External information filter",
  "option.HTTP_RESPONSE_SPLITTING.JS.title.taint_filter_function_fqn": "Custom external information filter",
  "option.HTTP_RESPONSE_SPLITTING.JS.title.taint_propagator": "External information propagator",
  "option.HTTP_RESPONSE_SPLITTING.JS.title.taint_sink": "External information sink",
  "option.HTTP_RESPONSE_SPLITTING.JS.title.taint_source": "External information source",
  "option.HTTP_RESPONSE_SPLITTING.OBJC.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.HTTP_RESPONSE_SPLITTING.OBJC.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) \\\\.$operand(*)->return",
  "option.HTTP_RESPONSE_SPLITTING.OBJC.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) setcookie$param(2)",
  "option.HTTP_RESPONSE_SPLITTING.OBJC.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) \\\\$_GET$variable",
  "option.HTTP_RESPONSE_SPLITTING.OBJC.title.taint_filter": "External information filter",
  "option.HTTP_RESPONSE_SPLITTING.OBJC.title.taint_propagator": "External information propagator",
  "option.HTTP_RESPONSE_SPLITTING.OBJC.title.taint_sink": "External information sink",
  "option.HTTP_RESPONSE_SPLITTING.OBJC.title.taint_source": "External information source",
  "option.HTTP_RESPONSE_SPLITTING.PHP.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(*) of name(\"filter\")",
  "option.HTTP_RESPONSE_SPLITTING.PHP.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.HTTP_RESPONSE_SPLITTING.PHP.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\".\") to return",
  "option.HTTP_RESPONSE_SPLITTING.PHP.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(2) of name(\"setcookie\")",
  "option.HTTP_RESPONSE_SPLITTING.PHP.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of name(\"$_GET\")",
  "option.HTTP_RESPONSE_SPLITTING.PHP.title.taint_filter": "External information filter",
  "option.HTTP_RESPONSE_SPLITTING.PHP.title.taint_filter_function_fqn": "Custom external information filter",
  "option.HTTP_RESPONSE_SPLITTING.PHP.title.taint_propagator": "External information propagator",
  "option.HTTP_RESPONSE_SPLITTING.PHP.title.taint_sink": "External information sink",
  "option.HTTP_RESPONSE_SPLITTING.PHP.title.taint_source": "External information source",
  "option.HTTP_RESPONSE_SPLITTING.PYTHON.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) operand(*) of \"in\"",
  "option.HTTP_RESPONSE_SPLITTING.PYTHON.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) sparrow.my.filter.utils.is_safe()",
  "option.HTTP_RESPONSE_SPLITTING.PYTHON.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.HTTP_RESPONSE_SPLITTING.PYTHON.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.",
  "option.HTTP_RESPONSE_SPLITTING.PYTHON.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of fqn(\"django.http.HttpRequest.GET\")",
  "option.HTTP_RESPONSE_SPLITTING.PYTHON.title.taint_filter": "External information filter",
  "option.HTTP_RESPONSE_SPLITTING.PYTHON.title.taint_filter_function_fqn": "Custom external information filter",
  "option.HTTP_RESPONSE_SPLITTING.PYTHON.title.taint_propagator": "External information propagator",
  "option.HTTP_RESPONSE_SPLITTING.PYTHON.title.taint_sink": "External information sink",
  "option.HTTP_RESPONSE_SPLITTING.PYTHON.title.taint_source": "External information source",
  "option.HTTP_RESPONSE_SPLITTING.VBNET.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.HTTP_RESPONSE_SPLITTING.VBNET.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.HTTP_RESPONSE_SPLITTING.VBNET.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) &$operand(*)->return",
  "option.HTTP_RESPONSE_SPLITTING.VBNET.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) shell$param(*)",
  "option.HTTP_RESPONSE_SPLITTING.VBNET.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) request\\.form$return",
  "option.HTTP_RESPONSE_SPLITTING.VBNET.title.taint_filter": "External information filter",
  "option.HTTP_RESPONSE_SPLITTING.VBNET.title.taint_filter_function_fqn": "Custom external information filter",
  "option.HTTP_RESPONSE_SPLITTING.VBNET.title.taint_propagator": "External information propagator",
  "option.HTTP_RESPONSE_SPLITTING.VBNET.title.taint_sink": "External information sink",
  "option.HTTP_RESPONSE_SPLITTING.VBNET.title.taint_source": "External information source",
  "option.HTTP_RESPONSE_SPLITTING.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.HTTP_RESPONSE_SPLITTING.desc.exclude": "A filter is considered safe if it is defined like this \"if\" {filter_target}\nfilter_target: filter expression for the pollution value (includes method definition).",
  "option.HTTP_RESPONSE_SPLITTING.desc.propagator": "If a propagator is defined as follows, it propagates a tainted value. {propagator_target}\npropagator_target: propagation expression for the tainted value. (including method definition)",
  "option.HTTP_RESPONSE_SPLITTING.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.HTTP_RESPONSE_SPLITTING.title.alarm": "Detection rule",
  "option.HTTP_RESPONSE_SPLITTING.title.exclude": "Exception rule",
  "option.HTTP_RESPONSE_SPLITTING.title.propagator": "Propagator name",
  "option.HTTP_RESPONSE_SPLITTING.title.suggestion_filter_function": "Suggested filter function",
  "option.HUNGARIAN_NOTATION.desc.prefix": "Write the prefixes to use in Hungarian notation.",
  "option.HUNGARIAN_NOTATION.title.prefix": "Prefixes in Hungarian notation",
  "option.IGNORED_RETURN_VALUE.desc.function": "Write names of functions.",
  "option.IGNORED_RETURN_VALUE.desc.ignore_macro": "If you do not want results to be detected in code using macros, add the macro identifiers to the list.",
  "option.IGNORED_RETURN_VALUE.title.function": "List of functions of which return values should not be ignored.",
  "option.IGNORED_RETURN_VALUE.title.ignore_macro": "Identifier ignored from code using macros",
  "option.IMPROPER_AUTHORIZATION.CSHARP.desc.authz_needed_class": "Write class names which need authorization.",
  "option.IMPROPER_AUTHORIZATION.CSHARP.desc.authz_needed_method": "Write method names which need authorization.",
  "option.IMPROPER_AUTHORIZATION.CSHARP.desc.custom_authz_attribute": "Write customized authorize attribute if any.",
  "option.IMPROPER_AUTHORIZATION.CSHARP.title.authz_needed_class": "Authorization-critical classes",
  "option.IMPROPER_AUTHORIZATION.CSHARP.title.authz_needed_method": "Authorization-critical methods",
  "option.IMPROPER_AUTHORIZATION.CSHARP.title.custom_authz_attribute": "Custom authorization attribute.",
  "option.IMPROPER_AUTHORIZATION.desc.class_name_to_be_authorized": "Write a class name to be authorized.\nExample) (.+.)?KrdMessage",
  "option.IMPROPER_AUTHORIZATION.desc.clear_call": "Write the name of the function that checks sensitive information for security.\nExample) strcmp",
  "option.IMPROPER_AUTHORIZATION.desc.sink_call": "Write the name of the function causing risks when containing sensitive information.\nExample) system",
  "option.IMPROPER_AUTHORIZATION.desc.source_variable": "Write the name of the variable containing sensitive information.\nExample) username",
  "option.IMPROPER_AUTHORIZATION.title.class_name_to_be_authorized": "A class name to be authorized",
  "option.IMPROPER_AUTHORIZATION.title.clear_call": "Function to check for sensitive information",
  "option.IMPROPER_AUTHORIZATION.title.sink_call": "Function leaking sensitive information",
  "option.IMPROPER_AUTHORIZATION.title.source_variable": "Sensitive information variable",
  "option.IMPROPER_CHECK_FOR_UNUSUAL_OR_EXCEPTIONAL_CONDITION.desc.check_all_catch_exceptions": "If not selected, only one catch statement would be checked using 'Exception'.",
  "option.IMPROPER_CHECK_FOR_UNUSUAL_OR_EXCEPTIONAL_CONDITION.desc.check_all_method_calls": "If selected, all excluded methods must be called within catch statement. Otherwise, an issue will be generated.",
  "option.IMPROPER_CHECK_FOR_UNUSUAL_OR_EXCEPTIONAL_CONDITION.desc.excluded_call_name": "Write the name of the method to exclude from the checking.\n<i>Example)</i> getAnonymousLogger",
  "option.IMPROPER_CHECK_FOR_UNUSUAL_OR_EXCEPTIONAL_CONDITION.desc.excluded_class_type": "Write the name of the method type to exclude from the checking.\n<i>Example)</i> java.util.logging.Logger",
  "option.IMPROPER_CHECK_FOR_UNUSUAL_OR_EXCEPTIONAL_CONDITION.title.check_all_catch_exceptions": "Check one catch statement.",
  "option.IMPROPER_CHECK_FOR_UNUSUAL_OR_EXCEPTIONAL_CONDITION.title.check_all_method_calls": "Check calling of all excluded methods",
  "option.IMPROPER_CHECK_FOR_UNUSUAL_OR_EXCEPTIONAL_CONDITION.title.excluded_call_name": "Excluded Method",
  "option.IMPROPER_CHECK_FOR_UNUSUAL_OR_EXCEPTIONAL_CONDITION.title.excluded_class_type": "Excluded class types",
  "option.IMPROPER_MACRO_NAME.desc.ignore_list": "Ignore list",
  "option.IMPROPER_MACRO_NAME.title.ignore_list": "Macro excluded",
  "option.IMPROPER_RANDOM_USAGE.desc.targets": "Describe random and random seed function name like this (random function name),(random seed function). White spaces are not allowed",
  "option.IMPROPER_RANDOM_USAGE.title.targets": "Random and random seed functions",
  "option.IMPROPER_SIGNATURE.KOTLIN.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) base of name(\"signWith\")",
  "option.IMPROPER_SIGNATURE.KOTLIN.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) sparrow.my.filter.utils.is_safe()",
  "option.IMPROPER_SIGNATURE.KOTLIN.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.IMPROPER_SIGNATURE.KOTLIN.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) base of name(\"compact\")",
  "option.IMPROPER_SIGNATURE.KOTLIN.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(\"io.jsonwebtoken.Jwts.builder\")",
  "option.IMPROPER_SIGNATURE.KOTLIN.title.taint_filter": "External information filter",
  "option.IMPROPER_SIGNATURE.KOTLIN.title.taint_filter_function_fqn": "Custom external information filter",
  "option.IMPROPER_SIGNATURE.KOTLIN.title.taint_propagator": "External information propagator",
  "option.IMPROPER_SIGNATURE.KOTLIN.title.taint_sink": "External information sink",
  "option.IMPROPER_SIGNATURE.KOTLIN.title.taint_source": "External information source",
  "option.IMPROPER_SIGNATURE.desc.exception_string": "Enter detecting exception variable or path / fileName.\nexample) Exception",
  "option.IMPROPER_SIGNATURE.title.exception_string": "Detecting exception variable or path / fileName",
  "option.INAPPROPRIATE_HTTP.HEADERS.JS.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(*) of name(\"filter\")",
  "option.INAPPROPRIATE_HTTP.HEADERS.JS.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.INAPPROPRIATE_HTTP.HEADERS.JS.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\"+\") to return",
  "option.INAPPROPRIATE_HTTP.HEADERS.JS.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) base of name(\"use\")",
  "option.INAPPROPRIATE_HTTP.HEADERS.JS.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(\"__sparrow_required__express\")",
  "option.INAPPROPRIATE_HTTP.HEADERS.JS.title.taint_filter": "External information filter",
  "option.INAPPROPRIATE_HTTP.HEADERS.JS.title.taint_filter_function_fqn": "Custom external information filter",
  "option.INAPPROPRIATE_HTTP.HEADERS.JS.title.taint_propagator": "External information propagator",
  "option.INAPPROPRIATE_HTTP.HEADERS.JS.title.taint_sink": "External information sink",
  "option.INAPPROPRIATE_HTTP.HEADERS.JS.title.taint_source": "External information source",
  "option.INCLUDE_STDLIB_WITH_BRACKETS.desc.c_library": "Set C standard libraries.",
  "option.INCLUDE_STDLIB_WITH_BRACKETS.desc.cpp_library": "Set C++ standard libraries",
  "option.INCLUDE_STDLIB_WITH_BRACKETS.title.c_library": "Standard libraries for C",
  "option.INCLUDE_STDLIB_WITH_BRACKETS.title.cpp_library": "Standard libraries for C++",
  "option.INCORRECT_PERMISSION.desc.access_function": "Write the name of the functions accessing sensitive information.\nExample) open",
  "option.INCORRECT_PERMISSION.title.access_function": "Functions accessing sensitive information",
  "option.INCORRECT_PERMISSION_ASSIGNMENT_FOR_CRITICAL_RESOURCE.KOTLIN.desc.chmod_option": "Creates an option value for chmod that is judged to be excessive privileges.",
  "option.INCORRECT_PERMISSION_ASSIGNMENT_FOR_CRITICAL_RESOURCE.KOTLIN.title.chmod_option": "chmod option",
  "option.INCORRECT_PERMISSION_ASSIGNMENT_FOR_CRITICAL_RESOURCE.PYTHON.desc.chmod_option": "Creates an option value for chmod that is judged to be excessive privileges.",
  "option.INCORRECT_PERMISSION_ASSIGNMENT_FOR_CRITICAL_RESOURCE.PYTHON.desc.umask_option": "The umask option value that is judged to be excessive privilege is written.",
  "option.INCORRECT_PERMISSION_ASSIGNMENT_FOR_CRITICAL_RESOURCE.PYTHON.title.chmod_option": "chmod option",
  "option.INCORRECT_PERMISSION_ASSIGNMENT_FOR_CRITICAL_RESOURCE.PYTHON.title.umask_option": "umask option",
  "option.INCORRECT_PERMISSION_ASSIGNMENT_FOR_CRITICAL_RESOURCE.desc.critical_resource": "Write the path of a critical resource.\nexample) C:\\Critical\\resource.dat",
  "option.INCORRECT_PERMISSION_ASSIGNMENT_FOR_CRITICAL_RESOURCE.title.critical_resource": "Critical resources",
  "option.INFORMATION_LEAK.RUNTIME_ERROR.desc.exclude_method": "Write method names to be excluded from the analysis.\nExample).*Print",
  "option.INFORMATION_LEAK.RUNTIME_ERROR.desc.exclude_path": "Enter paths to be excluded from the analysis.\nExample).*\\\\test\\\\.*",
  "option.INFORMATION_LEAK.RUNTIME_ERROR.desc.target_pattern": "Enter the path to include from the analysis.",
  "option.INFORMATION_LEAK.RUNTIME_ERROR.title.exclude_method": "Excluding method",
  "option.INFORMATION_LEAK.RUNTIME_ERROR.title.exclude_path": "Excluded path",
  "option.INFORMATION_LEAK.RUNTIME_ERROR.title.target_pattern": "Including path",
  "option.INFORMATION_LEAK.TOBE.JS.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(*) of name(\"filter\")",
  "option.INFORMATION_LEAK.TOBE.JS.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.INFORMATION_LEAK.TOBE.JS.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\"+\") to return",
  "option.INFORMATION_LEAK.TOBE.JS.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(*) of fqn(\"trace\")",
  "option.INFORMATION_LEAK.TOBE.JS.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(\"new@ExtCommon.getAppPath\")",
  "option.INFORMATION_LEAK.TOBE.JS.title.taint_filter": "External information filter",
  "option.INFORMATION_LEAK.TOBE.JS.title.taint_filter_function_fqn": "Custom external information filter",
  "option.INFORMATION_LEAK.TOBE.JS.title.taint_propagator": "External information propagator",
  "option.INFORMATION_LEAK.TOBE.JS.title.taint_sink": "External information sink",
  "option.INFORMATION_LEAK.TOBE.JS.title.taint_source": "External information source",
  "option.INFORMATION_LEAK.desc.sink_call": "Write the name of the function causing risks when containing sensitive information.\nExample) printf",
  "option.INFORMATION_LEAK.desc.source_call": "Specify functions that receives sensitive information.\nExample) getenv",
  "option.INFORMATION_LEAK.title.sink_call": "Function leaking sensitive information",
  "option.INFORMATION_LEAK.title.source_call": "Function receiving sensitive information",
  "option.INFORMATION_LEAK_ANDROID.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" {sink_target} \"is_from\" {source_target}\nsink_target: expression for the tainted value (including definition for method).\nsource_target: expression that causes the tainted value (including definition for method).",
  "option.INFORMATION_LEAK_ANDROID.desc.exclude": "A filter is considered safe if it is defined like this. \"if\" {filter_target}\nfilter_target: filter expression for the tainted value (including definition for method).",
  "option.INFORMATION_LEAK_ANDROID.desc.propagator": "If a propagator is defined as follows, it propagates a tainted value. {propagator_target}\npropagator_target: propagation expression for the tainted value. (including method definition)",
  "option.INFORMATION_LEAK_ANDROID.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.INFORMATION_LEAK_ANDROID.title.alarm": "Detection rule",
  "option.INFORMATION_LEAK_ANDROID.title.exclude": "Exception rule",
  "option.INFORMATION_LEAK_ANDROID.title.propagator": "Propagator name",
  "option.INFORMATION_LEAK_ANDROID.title.suggestion_filter_function": "Suggested filter function",
  "option.INSECURE_PERSISTENT_COOKIE.PYTHON.desc.max_timeout": "Write the maximum lifetime of the cookies in seconds.\nExample) 3600",
  "option.INSECURE_PERSISTENT_COOKIE.PYTHON.title.max_timeout": "Maximum lifetime of the cookie",
  "option.INSECURE_TEMPORARY_FILE.PYTHON.desc.temp_file_name": "Write forbidden temporary file name\nExample) *temp*",
  "option.INSECURE_TEMPORARY_FILE.PYTHON.title.temp_file_name": "Forbidden temporary file name",
  "option.INSECURE_UNPICKLE.PYTHON.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.INSECURE_UNPICKLE.PYTHON.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.INSECURE_UNPICKLE.PYTHON.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) \\.$operand(*)->return",
  "option.INSECURE_UNPICKLE.PYTHON.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) __sparrow_php_echo__$param(*)",
  "option.INSECURE_UNPICKLE.PYTHON.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) \\$_GET$variable",
  "option.INSECURE_UNPICKLE.PYTHON.title.custom_taint_sink": "Functions that use external information that require hash value comparison",
  "option.INSECURE_UNPICKLE.PYTHON.title.taint_filter": "External information filter",
  "option.INSECURE_UNPICKLE.PYTHON.title.taint_filter_function_fqn": "Custom external information filter",
  "option.INSECURE_UNPICKLE.PYTHON.title.taint_propagator": "External information propagator",
  "option.INSECURE_UNPICKLE.PYTHON.title.taint_sink": "External information sink",
  "option.INSECURE_UNPICKLE.PYTHON.title.taint_source": "External information source",
  "option.INSUFFICIENT_SESSION_EXPIRATION.desc.min_session_timeout": "Write the minimum of session timeout in seconds.",
  "option.INSUFFICIENT_SESSION_EXPIRATION.desc.session_class": "Write a class which represents the 'Session' object.",
  "option.INSUFFICIENT_SESSION_EXPIRATION.desc.session_method": "A method called by session objects to set the session timeout. (i.e. setMaxInactiveInterval)",
  "option.INSUFFICIENT_SESSION_EXPIRATION.title.min_session_timeout": "Minimum session timeout (in seconds)",
  "option.INSUFFICIENT_SESSION_EXPIRATION.title.session_class": "Write a class which represents the 'Session' object.",
  "option.INSUFFICIENT_SESSION_EXPIRATION.title.session_method": "Method called by session objects to set the session timeout",
  "option.INTEGER_OVERFLOW.KOTLIN.desc.taint_filter": "Write the function name and filtering type for external information.\nExample) operand(*) of \"<=\"",
  "option.INTEGER_OVERFLOW.KOTLIN.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) sparrow.my.filter.utils.is_safe()",
  "option.INTEGER_OVERFLOW.KOTLIN.desc.taint_propagator": "Write the function name and propagation type for external information.\nExample) base of fqn(\"kotlin.String.toInt\") to return",
  "option.INTEGER_OVERFLOW.KOTLIN.desc.taint_sink": "List the function names and usage types for external information.\nExample) operand(*) of name(\"+\")",
  "option.INTEGER_OVERFLOW.KOTLIN.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(\"java.io.BufferedInputStream.read(byte[])\")",
  "option.INTEGER_OVERFLOW.KOTLIN.title.taint_filter": "External information filter",
  "option.INTEGER_OVERFLOW.KOTLIN.title.taint_filter_function_fqn": "Custom external information filter",
  "option.INTEGER_OVERFLOW.KOTLIN.title.taint_propagator": "External information propagator",
  "option.INTEGER_OVERFLOW.KOTLIN.title.taint_sink": "External information sink",
  "option.INTEGER_OVERFLOW.KOTLIN.title.taint_source": "External information source",
  "option.INTEGER_OVERFLOW.OBJC.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.INTEGER_OVERFLOW.OBJC.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) \\\\.$operand(*)->return",
  "option.INTEGER_OVERFLOW.OBJC.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) setcookie$param(2)",
  "option.INTEGER_OVERFLOW.OBJC.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) \\\\$_GET$variable",
  "option.INTEGER_OVERFLOW.OBJC.title.taint_filter": "External information filter",
  "option.INTEGER_OVERFLOW.OBJC.title.taint_propagator": "External information propagator",
  "option.INTEGER_OVERFLOW.OBJC.title.taint_sink": "External information sink",
  "option.INTEGER_OVERFLOW.OBJC.title.taint_source": "External information source",
  "option.INTEGER_OVERFLOW.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.INTEGER_OVERFLOW.desc.exclude": "A filter is considered safe if it is defined like this \"if\" {filter_target}\nfilter_target: filter expression for the pollution value (includes method definition).",
  "option.INTEGER_OVERFLOW.desc.propagator": "If a propagator is defined as follows, it propagates a tainted value. {propagator_target}\npropagator_target: propagation expression for the tainted value. (including method definition)",
  "option.INTEGER_OVERFLOW.desc.source_call": "Specify functions that receives sensitive information.\n",
  "option.INTEGER_OVERFLOW.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.INTEGER_OVERFLOW.title.alarm": "Detection rule",
  "option.INTEGER_OVERFLOW.title.exclude": "Exception rule",
  "option.INTEGER_OVERFLOW.title.propagator": "Propagator name",
  "option.INTEGER_OVERFLOW.title.source_call": "Function receiving sensitive information",
  "option.INTEGER_OVERFLOW.title.suggestion_filter_function": "Suggested filter function",
  "option.INTEGER_UNDERFLOW.desc.source_call": "Specify functions that receives sensitive information.\n",
  "option.INTEGER_UNDERFLOW.title.source_call": "Function receiving sensitive information",
  "option.INT_TO_CHAR.desc.unsigned_signed_char_as_int": "Unsigned char, signed char as integer",
  "option.INT_TO_CHAR.title.unsigned_signed_char_as_int": "Unsigned char, signed char as integer",
  "option.JSON_INJECTION.JS.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(*) of name(\"filter\")",
  "option.JSON_INJECTION.JS.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.JSON_INJECTION.JS.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\"+\") to return",
  "option.JSON_INJECTION.JS.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(*) of fqn(\"jQuery.parseJSON\")",
  "option.JSON_INJECTION.JS.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of fqn(\"document.URL\")",
  "option.JSON_INJECTION.JS.title.taint_filter": "External information filter",
  "option.JSON_INJECTION.JS.title.taint_filter_function_fqn": "Custom external information filter",
  "option.JSON_INJECTION.JS.title.taint_propagator": "External information propagator",
  "option.JSON_INJECTION.JS.title.taint_sink": "External information sink",
  "option.JSON_INJECTION.JS.title.taint_source": "External information source",
  "option.KEY_MANAGEMENT.EMPTY_HMAC_KEY.CSHARP.desc.hmac_algorithm": "Enter HMAC algorithm you want to detect.",
  "option.KEY_MANAGEMENT.EMPTY_HMAC_KEY.CSHARP.title.hmac_algorithm": "HMAC algorithm.",
  "option.KEY_MANAGEMENT.HARDCODED_ENCRYPTION_KEY.CSHARP.desc.sym_crypto_class": "Enter symmetric cryptography class.",
  "option.KEY_MANAGEMENT.HARDCODED_ENCRYPTION_KEY.CSHARP.title.sym_crypto_class": "Symmetric cryptography class.",
  "option.KEY_MANAGEMENT.HARDCODED_HMAC_KEY.CSHARP.desc.hmac_algorithm": "Enter HMAC algorithm you want to detect.",
  "option.KEY_MANAGEMENT.HARDCODED_HMAC_KEY.CSHARP.title.hmac_algorithm": "HMAC algorithm.",
  "option.LDAP_INJECTION.KOTLIN.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) operand(*) of \"in\"",
  "option.LDAP_INJECTION.KOTLIN.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) sparrow.my.filter.utils.is_safe()",
  "option.LDAP_INJECTION.KOTLIN.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.LDAP_INJECTION.KOTLIN.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(*) of fqn(\"javax.naming.directory.DirContext.search\")",
  "option.LDAP_INJECTION.KOTLIN.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(\"java.io.BufferedInputStream.read(byte[])\")",
  "option.LDAP_INJECTION.KOTLIN.title.taint_filter": "External information filter",
  "option.LDAP_INJECTION.KOTLIN.title.taint_filter_function_fqn": "Custom external information filter",
  "option.LDAP_INJECTION.KOTLIN.title.taint_propagator": "External information propagator",
  "option.LDAP_INJECTION.KOTLIN.title.taint_sink": "External information sink",
  "option.LDAP_INJECTION.KOTLIN.title.taint_source": "External information source",
  "option.LDAP_INJECTION.OBJC.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.LDAP_INJECTION.OBJC.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) \\\\.$operand(*)->return",
  "option.LDAP_INJECTION.OBJC.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nexample) XQueryProcessor\\\\.execute(0)$base",
  "option.LDAP_INJECTION.OBJC.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) \\\\$_GET$variable",
  "option.LDAP_INJECTION.OBJC.title.taint_filter": "External information filter",
  "option.LDAP_INJECTION.OBJC.title.taint_propagator": "External information propagator",
  "option.LDAP_INJECTION.OBJC.title.taint_sink": "External information sink",
  "option.LDAP_INJECTION.OBJC.title.taint_source": "External information source",
  "option.LDAP_INJECTION.PHP.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(*) of name(\"filter\")",
  "option.LDAP_INJECTION.PHP.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.LDAP_INJECTION.PHP.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\".\") to return",
  "option.LDAP_INJECTION.PHP.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(3) of name(\"ldap_search\")",
  "option.LDAP_INJECTION.PHP.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of name(\"$_GET\")",
  "option.LDAP_INJECTION.PHP.title.taint_filter": "External information filter",
  "option.LDAP_INJECTION.PHP.title.taint_filter_function_fqn": "Custom external information filter",
  "option.LDAP_INJECTION.PHP.title.taint_propagator": "External information propagator",
  "option.LDAP_INJECTION.PHP.title.taint_sink": "External information sink",
  "option.LDAP_INJECTION.PHP.title.taint_source": "External information source",
  "option.LDAP_INJECTION.PYTHON.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) return of name(\"filter\")",
  "option.LDAP_INJECTION.PYTHON.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) sparrow.my.filter.utils.is_safe()",
  "option.LDAP_INJECTION.PYTHON.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.LDAP_INJECTION.PYTHON.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(*) of name(search_s\")",
  "option.LDAP_INJECTION.PYTHON.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(\"django.http.HttpRequest.field\")",
  "option.LDAP_INJECTION.PYTHON.title.taint_filter": "External information filter",
  "option.LDAP_INJECTION.PYTHON.title.taint_filter_function_fqn": "Custom external information filter",
  "option.LDAP_INJECTION.PYTHON.title.taint_propagator": "External information propagator",
  "option.LDAP_INJECTION.PYTHON.title.taint_sink": "External information sink",
  "option.LDAP_INJECTION.PYTHON.title.taint_source": "External information source",
  "option.LDAP_INJECTION.SWIFT.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.LDAP_INJECTION.SWIFT.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) \\\\.$operand(*)->return",
  "option.LDAP_INJECTION.SWIFT.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nexample) XQueryProcessor\\\\.execute(0)$base",
  "option.LDAP_INJECTION.SWIFT.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) \\\\$_GET$variable",
  "option.LDAP_INJECTION.SWIFT.title.taint_filter": "External information filter",
  "option.LDAP_INJECTION.SWIFT.title.taint_propagator": "External information propagator",
  "option.LDAP_INJECTION.SWIFT.title.taint_sink": "External information sink",
  "option.LDAP_INJECTION.SWIFT.title.taint_source": "External information source",
  "option.LDAP_INJECTION.VBNET.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.LDAP_INJECTION.VBNET.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.LDAP_INJECTION.VBNET.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) &$operand(*)->return",
  "option.LDAP_INJECTION.VBNET.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) shell$param(*)",
  "option.LDAP_INJECTION.VBNET.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) request\\.form$return",
  "option.LDAP_INJECTION.VBNET.title.taint_filter": "External information filter",
  "option.LDAP_INJECTION.VBNET.title.taint_filter_function_fqn": "Custom external information filter",
  "option.LDAP_INJECTION.VBNET.title.taint_propagator": "External information propagator",
  "option.LDAP_INJECTION.VBNET.title.taint_sink": "External information sink",
  "option.LDAP_INJECTION.VBNET.title.taint_source": "External information source",
  "option.LDAP_INJECTION.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.LDAP_INJECTION.desc.exclude": "A filter is considered safe if it is defined like this. \"if\" filter\nfilter: filter expression for the tainted value (including definition for method).",
  "option.LDAP_INJECTION.desc.sink_call": "Write the name of the function causing risks when containing sensitive information.\nExample) ldap_search_ext_s",
  "option.LDAP_INJECTION.desc.source_call": "Specify functions that receives sensitive information.\nExample) getenv",
  "option.LDAP_INJECTION.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.LDAP_INJECTION.title.alarm": "Detection rule",
  "option.LDAP_INJECTION.title.exclude": "Exception rule",
  "option.LDAP_INJECTION.title.sink_call": "Function leaking sensitive information",
  "option.LDAP_INJECTION.title.source_call": "Function receiving sensitive information",
  "option.LDAP_INJECTION.title.suggestion_filter_function": "Suggested filter function",
  "option.LEAK.DEBUG_INFORMATION.CAKEPHP.PHP.desc.max_debug_level": "Write the maximum debugging level to allow.\nExample) 1",
  "option.LEAK.DEBUG_INFORMATION.CAKEPHP.PHP.title.max_debug_level": "Maximum debugging level",
  "option.LEAK.ERROR_INFORMATION.PHP.desc.error_leaking_function": "Write a name of the error leaking function to be forbidden.\nExample) phpinfo",
  "option.LEAK.ERROR_INFORMATION.PHP.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(*) of name(\"filter\")",
  "option.LEAK.ERROR_INFORMATION.PHP.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.LEAK.ERROR_INFORMATION.PHP.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\".\") to return",
  "option.LEAK.ERROR_INFORMATION.PHP.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(*) of name(\"printf\")",
  "option.LEAK.ERROR_INFORMATION.PHP.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of name(\"$_GET\")",
  "option.LEAK.ERROR_INFORMATION.PHP.title.error_leaking_function": "Error leaking function to be forbidden",
  "option.LEAK.ERROR_INFORMATION.PHP.title.taint_filter": "External information filter",
  "option.LEAK.ERROR_INFORMATION.PHP.title.taint_filter_function_fqn": "Custom external information filter",
  "option.LEAK.ERROR_INFORMATION.PHP.title.taint_propagator": "External information propagator",
  "option.LEAK.ERROR_INFORMATION.PHP.title.taint_sink": "External information sink",
  "option.LEAK.ERROR_INFORMATION.PHP.title.taint_source": "External information source",
  "option.LEAK.RESOURCE.PYTHON.desc.resource_allocation": "Write a function name that is at risk of resource leaks.",
  "option.LEAK.RESOURCE.PYTHON.title.resource_allocation": "Resource Leak Risk Function",
  "option.LEAK.SYSTEM_INFORMATION.CSHARP.desc.sink_class": "Write poor logging class.\nExample) Console",
  "option.LEAK.SYSTEM_INFORMATION.CSHARP.desc.sink_method": "Write poor logging method.\nExample) WriteLine",
  "option.LEAK.SYSTEM_INFORMATION.CSHARP.title.sink_class": "Poor logging class",
  "option.LEAK.SYSTEM_INFORMATION.CSHARP.title.sink_method": "Poor logging method",
  "option.LEAK.SYSTEM_INFORMATION.VBS.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.LEAK.SYSTEM_INFORMATION.VBS.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.LEAK.SYSTEM_INFORMATION.VBS.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) &$operand(*)->return",
  "option.LEAK.SYSTEM_INFORMATION.VBS.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nexample) response\\.write$param(*)",
  "option.LEAK.SYSTEM_INFORMATION.VBS.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) err\\..*$variable",
  "option.LEAK.SYSTEM_INFORMATION.VBS.title.taint_filter": "External information filter",
  "option.LEAK.SYSTEM_INFORMATION.VBS.title.taint_filter_function_fqn": "Custom external information filter",
  "option.LEAK.SYSTEM_INFORMATION.VBS.title.taint_propagator": "External information propagator",
  "option.LEAK.SYSTEM_INFORMATION.VBS.title.taint_sink": "External information sink",
  "option.LEAK.SYSTEM_INFORMATION.VBS.title.taint_source": "External information source",
  "option.LEAST_PRIVILEGE_VIOLATION.desc.function_target": "Set target functions with regular expressions",
  "option.LEAST_PRIVILEGE_VIOLATION.desc.function_used_order": "Set up function call order",
  "option.LEAST_PRIVILEGE_VIOLATION.title.function_target": "Target function to analyze",
  "option.LEAST_PRIVILEGE_VIOLATION.title.function_used_order": "Function call order",
  "option.LEFTOVER_DEBUG_CODE.KOTLIN.desc.check_main_method": "Check the Main method",
  "option.LEFTOVER_DEBUG_CODE.KOTLIN.desc.debug_code": "Write a name of the debug code.",
  "option.LEFTOVER_DEBUG_CODE.KOTLIN.desc.debug_method": "Write a name of the debug method.",
  "option.LEFTOVER_DEBUG_CODE.KOTLIN.desc.main_method_path": "Write the path of the main method.",
  "option.LEFTOVER_DEBUG_CODE.KOTLIN.title.check_main_method": "check main method",
  "option.LEFTOVER_DEBUG_CODE.KOTLIN.title.debug_code": "Debug code",
  "option.LEFTOVER_DEBUG_CODE.KOTLIN.title.debug_method": "Debug method",
  "option.LEFTOVER_DEBUG_CODE.KOTLIN.title.main_method_path": "Main method path",
  "option.LEFTOVER_DEBUG_CODE.OBJC.desc.check_function": "Write a name of the debug method.",
  "option.LEFTOVER_DEBUG_CODE.OBJC.title.check_function": "Debug method",
  "option.LEFTOVER_DEBUG_CODE.PHP.desc.debug_function": "Write a name of the debug function.\nExample) debug_backtrace",
  "option.LEFTOVER_DEBUG_CODE.PHP.title.debug_function": "Debug method",
  "option.LEFTOVER_DEBUG_CODE.PYTHON.desc.debug_method": "Write a name of the debug method.",
  "option.LEFTOVER_DEBUG_CODE.PYTHON.title.debug_method": "Debug method",
  "option.LEFTOVER_DEBUG_CODE.SWIFT.desc.check_function": "Write a name of the debug method.",
  "option.LEFTOVER_DEBUG_CODE.SWIFT.title.check_function": "Debug method",
  "option.LEFTOVER_DEBUG_CODE.TOBE.JS.desc.target_function": "Write a name of the debug function.\nExample) trace",
  "option.LEFTOVER_DEBUG_CODE.TOBE.JS.title.target_function": "Debug method",
  "option.LEFTOVER_DEBUG_CODE.desc.check_class_type": "Type of the class calling debug code method.\nExample)In request.getParameter(\"debug\"), \"HttpServletRequest\" type is the request.",
  "option.LEFTOVER_DEBUG_CODE.desc.check_method": "Name of the debug code method.\nExample)In request.getParameter(\"debug\"), getParameter is the method name.",
  "option.LEFTOVER_DEBUG_CODE.desc.debug_message_pattern": "Patterns in messages that indicate debug code",
  "option.LEFTOVER_DEBUG_CODE.desc.debug_string": "Write a string which indicates debugging.\nExample) debug",
  "option.LEFTOVER_DEBUG_CODE.desc.exclude_class": "Write the name of a class to exclude.\nExample) com.fasoo.sparrow.Test",
  "option.LEFTOVER_DEBUG_CODE.desc.exclude_extend_class": "Enter superclass names of main method to be excluded from the check of the main method implementation. Example) *.ExcludeClass",
  "option.LEFTOVER_DEBUG_CODE.desc.main_class": "Enter class names of main method to be excluded from the check of the main method implementation. Example) *.MainClass",
  "option.LEFTOVER_DEBUG_CODE.desc.method_param_value": "Write the (single) parameter value of a debug code method. Regular expression is supported.\nExample)In request.getParameter(\"debug\"), \"debug\" is the parameter value.",
  "option.LEFTOVER_DEBUG_CODE.desc.print_function": "Write the name of the print function.\nExample) printf",
  "option.LEFTOVER_DEBUG_CODE.desc.target_func": "Set target functions with regular expressions",
  "option.LEFTOVER_DEBUG_CODE.title.check_class_type": "Type of the class calling debug code methods",
  "option.LEFTOVER_DEBUG_CODE.title.check_method": "Name of the debug code method",
  "option.LEFTOVER_DEBUG_CODE.title.debug_message_pattern": "Debug message patterns",
  "option.LEFTOVER_DEBUG_CODE.title.debug_string": "Debugging string",
  "option.LEFTOVER_DEBUG_CODE.title.exclude_class": "Name of the class to exclude from the checking",
  "option.LEFTOVER_DEBUG_CODE.title.exclude_extend_class": "Regex of superclass name excluded from main method check",
  "option.LEFTOVER_DEBUG_CODE.title.main_class": "Regex of class name excluded from main method check",
  "option.LEFTOVER_DEBUG_CODE.title.method_param_value": "Parameter value of the debug code method",
  "option.LEFTOVER_DEBUG_CODE.title.print_function": "Printing function",
  "option.LEFTOVER_DEBUG_CODE.title.target_func": "Target function to analyze",
  "option.LOGGER_METHOD_ARGUMENT.desc.forbidden_patterns": "Option to input patterns to prohibit as argument values for specific methods as regular expressions, detecting when such argument values are found. The checker does not operate if no input value exists for this option.",
  "option.LOGGER_METHOD_ARGUMENT.desc.log_methods": "Option to input specified methods as strings and include the argument values of those methods in the analysis when method names within that range are found. The checker does not operate if no input value exists for this option.",
  "option.LOGGER_METHOD_ARGUMENT.desc.target_path": "Option to include files in the analysis when file paths matching the input text are found.",
  "option.LOGGER_METHOD_ARGUMENT.desc.target_path_pattern": "Option to include files in the analysis when file paths within the range of the input regular expression are found.",
  "option.LOGGER_METHOD_ARGUMENT.desc.whitelist_path": "Option to input file paths as text, check files matching the input path, and exclude those files from detection.",
  "option.LOGGER_METHOD_ARGUMENT.desc.whitelist_path_pattern": "Option to input file paths as regular expressions, check files matching the input path, and exclude those files from detection.",
  "option.LOGGER_METHOD_ARGUMENT.title.forbidden_patterns": "Prohibited patterns in argument values",
  "option.LOGGER_METHOD_ARGUMENT.title.log_methods": "List of specified methods",
  "option.LOGGER_METHOD_ARGUMENT.title.target_path": "Target file path for analysis",
  "option.LOGGER_METHOD_ARGUMENT.title.target_path_pattern": "Regular expression pattern for target file paths",
  "option.LOGGER_METHOD_ARGUMENT.title.whitelist_path": "Allowed file paths",
  "option.LOGGER_METHOD_ARGUMENT.title.whitelist_path_pattern": "Regular expression patterns for allowed file paths",
  "option.LOG_FORGING.JS.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(*) of name(\"filter\")",
  "option.LOG_FORGING.JS.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.LOG_FORGING.JS.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\"+\") to return",
  "option.LOG_FORGING.JS.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(1) of fqn(\"console.dir\")",
  "option.LOG_FORGING.JS.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of fqn(\"__sparrow_node_js_request__.url\")",
  "option.LOG_FORGING.JS.title.taint_filter": "External information filter",
  "option.LOG_FORGING.JS.title.taint_filter_function_fqn": "Custom external information filter",
  "option.LOG_FORGING.JS.title.taint_propagator": "External information propagator",
  "option.LOG_FORGING.JS.title.taint_sink": "External information sink",
  "option.LOG_FORGING.JS.title.taint_source": "External information source",
  "option.LOG_FORGING.OBJC.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.LOG_FORGING.OBJC.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.LOG_FORGING.OBJC.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) strcpy$param(2)->param(1)",
  "option.LOG_FORGING.OBJC.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) printf$param(1)",
  "option.LOG_FORGING.OBJC.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) getenv$return",
  "option.LOG_FORGING.OBJC.title.taint_filter": "External information filter",
  "option.LOG_FORGING.OBJC.title.taint_filter_function_fqn": "Custom external information filter",
  "option.LOG_FORGING.OBJC.title.taint_propagator": "External information propagator",
  "option.LOG_FORGING.OBJC.title.taint_sink": "External information sink",
  "option.LOG_FORGING.OBJC.title.taint_source": "External information source",
  "option.LOG_FORGING.PHP.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(*) of name(\"filter\")",
  "option.LOG_FORGING.PHP.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.LOG_FORGING.PHP.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\".\") to return",
  "option.LOG_FORGING.PHP.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(1) of name(\"error_log\")",
  "option.LOG_FORGING.PHP.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of name(\"$_GET\")",
  "option.LOG_FORGING.PHP.title.taint_filter": "External information filter",
  "option.LOG_FORGING.PHP.title.taint_filter_function_fqn": "Custom external information filter",
  "option.LOG_FORGING.PHP.title.taint_propagator": "External information propagator",
  "option.LOG_FORGING.PHP.title.taint_sink": "External information sink",
  "option.LOG_FORGING.PHP.title.taint_source": "External information source",
  "option.LOG_FORGING.PYTHON.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.LOG_FORGING.PYTHON.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.LOG_FORGING.PYTHON.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) \\.$operand(*)->return",
  "option.LOG_FORGING.PYTHON.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) error_log$param(1)",
  "option.LOG_FORGING.PYTHON.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) \\$_GET$variable",
  "option.LOG_FORGING.PYTHON.title.taint_filter": "External information filter",
  "option.LOG_FORGING.PYTHON.title.taint_filter_function_fqn": "Custom external information filter",
  "option.LOG_FORGING.PYTHON.title.taint_propagator": "External information propagator",
  "option.LOG_FORGING.PYTHON.title.taint_sink": "External information sink",
  "option.LOG_FORGING.PYTHON.title.taint_source": "External information source",
  "option.LOG_FORGING.TOBE.JS.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(*) of name(\"filter\")",
  "option.LOG_FORGING.TOBE.JS.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.LOG_FORGING.TOBE.JS.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\"+\") to return",
  "option.LOG_FORGING.TOBE.JS.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(*) of fqn(\"trace\")",
  "option.LOG_FORGING.TOBE.JS.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of fqn(reg(\"@miplatform_edit.*\"))",
  "option.LOG_FORGING.TOBE.JS.title.taint_filter": "External information filter",
  "option.LOG_FORGING.TOBE.JS.title.taint_filter_function_fqn": "Custom external information filter",
  "option.LOG_FORGING.TOBE.JS.title.taint_propagator": "External information propagator",
  "option.LOG_FORGING.TOBE.JS.title.taint_sink": "External information sink",
  "option.LOG_FORGING.TOBE.JS.title.taint_source": "External information source",
  "option.LOG_FORGING.VBS.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.LOG_FORGING.VBS.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.LOG_FORGING.VBS.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) &$operand(*)->return",
  "option.LOG_FORGING.VBS.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\n example) .*\\.eventlog$param(*)",
  "option.LOG_FORGING.VBS.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) request\\.form$return",
  "option.LOG_FORGING.VBS.title.taint_filter": "External information filter",
  "option.LOG_FORGING.VBS.title.taint_filter_function_fqn": "Custom external information filter",
  "option.LOG_FORGING.VBS.title.taint_propagator": "External information propagator",
  "option.LOG_FORGING.VBS.title.taint_sink": "External information sink",
  "option.LOG_FORGING.VBS.title.taint_source": "External information source",
  "option.LOG_SENSITIVE_INFORMATION.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.LOG_SENSITIVE_INFORMATION.desc.exclude": "A filter is considered safe if it is defined like this \"if\" {filter_target}\nfilter_target: filter expression for the pollution value (includes method definition).",
  "option.LOG_SENSITIVE_INFORMATION.desc.propagator": "propagator propagates tainted values if it is defined as follows {propagator_target}\npropagator_target: propagation expression for the tainted value (contains the method definition).",
  "option.LOG_SENSITIVE_INFORMATION.desc.sensitive_variable": "Write the sensitive variable name.",
  "option.LOG_SENSITIVE_INFORMATION.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.LOG_SENSITIVE_INFORMATION.title.alarm": "Detection rule",
  "option.LOG_SENSITIVE_INFORMATION.title.exclude": "Exception rule",
  "option.LOG_SENSITIVE_INFORMATION.title.propagator": "Propagator name",
  "option.LOG_SENSITIVE_INFORMATION.title.sensitive_variable": "sensitive variable name",
  "option.LOG_SENSITIVE_INFORMATION.title.suggestion_filter_function": "Suggested filter function",
  "option.LOG_SENSITIVE_INFORMATION_ANDROID.desc.exclude_method": "Write method names to be excluded from the analysis.\nExample).*Print",
  "option.LOG_SENSITIVE_INFORMATION_ANDROID.desc.exclude_path": "Enter paths to be excluded from the analysis.\nExample).*\\\\test\\\\.*",
  "option.LOG_SENSITIVE_INFORMATION_ANDROID.desc.include_method": "Enter the function FQN to allow the output of the return value in the log.",
  "option.LOG_SENSITIVE_INFORMATION_ANDROID.desc.include_variable": "Enter the name of the variable in the log to allow the output of the value.",
  "option.LOG_SENSITIVE_INFORMATION_ANDROID.title.exclude_method": "Excluding method",
  "option.LOG_SENSITIVE_INFORMATION_ANDROID.title.exclude_path": "Excluded path",
  "option.LOG_SENSITIVE_INFORMATION_ANDROID.title.include_method": "Function FQN to allow output of return value to log",
  "option.LOG_SENSITIVE_INFORMATION_ANDROID.title.include_variable": "Name of variable to allow value output to the log",
  "option.MAX_LINE_LENGTH.desc.allow_excess_by_comment": "If selected, excess by comment at the end of the line is allowed.",
  "option.MAX_LINE_LENGTH.desc.allowed_max_length": "Write maximum allowed line length in integer.",
  "option.MAX_LINE_LENGTH.desc.include_indent": "If selected, indentation white space character will be counted as the other characters.",
  "option.MAX_LINE_LENGTH.title.allow_excess_by_comment": "Allow comment at the end of the line",
  "option.MAX_LINE_LENGTH.title.allowed_max_length": "Maximum line length",
  "option.MAX_LINE_LENGTH.title.include_indent": "Include indent",
  "option.MEMCACHE_INJECTION.PYTHON.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.MEMCACHE_INJECTION.PYTHON.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.MEMCACHE_INJECTION.PYTHON.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) \\.$operand(*)->return",
  "option.MEMCACHE_INJECTION.PYTHON.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) system$param(1)",
  "option.MEMCACHE_INJECTION.PYTHON.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) \\$_GET$variable",
  "option.MEMCACHE_INJECTION.PYTHON.title.taint_filter": "External information filter",
  "option.MEMCACHE_INJECTION.PYTHON.title.taint_filter_function_fqn": "Custom external information filter",
  "option.MEMCACHE_INJECTION.PYTHON.title.taint_propagator": "External information propagator",
  "option.MEMCACHE_INJECTION.PYTHON.title.taint_sink": "External information sink",
  "option.MEMCACHE_INJECTION.PYTHON.title.taint_source": "External information source",
  "option.METHOD_COMMENT.desc.MethodComment": "Define the method comment template.",
  "option.METHOD_COMMENT.desc.exclude_method_prefix": "Excluding the method which is starting with option values.",
  "option.METHOD_COMMENT.desc.exclude_package": "Write package name which is excluded.",
  "option.METHOD_COMMENT.desc.exclude_private": "Exclude private method from analyzing.\nExample) If checked, \"private method\" would not a target to analyze.",
  "option.METHOD_COMMENT.title.MethodComment": "Method comment template",
  "option.METHOD_COMMENT.title.exclude_method_prefix": "Exclude method prefix",
  "option.METHOD_COMMENT.title.exclude_package": "Exclude package for analyzing constructor",
  "option.METHOD_COMMENT.title.exclude_private": "Exclude private method",
  "option.METHOD_NAMING.desc.exclude_getter_setter": "If set to T, methods that are getters/setters will be excluded from detection.",
  "option.METHOD_NAMING.desc.excluded_method_types": "Option to input specific method types as text to exclude those variable types from detection. For example, if \"protected\" is input, it will not check if protected methods adhere to naming rules.",
  "option.METHOD_NAMING.desc.forbidden_package_patterns": "This option checks for packages that match the input path provided as a regular expression, and then detects files within the specified package.",
  "option.METHOD_NAMING.desc.forbidden_packages": "Option to input package paths as texts, check packages matching the input, and detect those files with in the package.",
  "option.METHOD_NAMING.desc.naming_patterns": "This option detects cases where method names in the file do not match the naming convention specified by a regular expression.",
  "option.METHOD_NAMING.title.exclude_getter_setter": "Option to exclude getter/setter methods from detection",
  "option.METHOD_NAMING.title.excluded_method_types": "Option to input the types of methods to not detect (whitelist range)",
  "option.METHOD_NAMING.title.forbidden_package_patterns": "Regex list of package paths",
  "option.METHOD_NAMING.title.forbidden_packages": "Option to input the package path to be detected (write in full path, single black list)",
  "option.METHOD_NAMING.title.naming_patterns": "Option to input method naming conventions as a regular expression (whitelist range)",
  "option.METHOD_NAMING_IN_SPECIFIC_PACKAGE.desc.exclude_getter_setter": "If set to T, methods that are getters/setters will be excluded from detection.",
  "option.METHOD_NAMING_IN_SPECIFIC_PACKAGE.desc.excluded_method_types": "Option to input specific method types as text to exclude those variable types from detection. For example, if \"protected\" is input, it will not check if protected methods adhere to naming rules.",
  "option.METHOD_NAMING_IN_SPECIFIC_PACKAGE.desc.forbidden_package_patterns": "This option checks for packages that match the input path provided as a regular expression, and then detects files within the specified package.",
  "option.METHOD_NAMING_IN_SPECIFIC_PACKAGE.desc.forbidden_packages": "Option to input package paths as texts, check packages matching the input, and detect those files with in the package.",
  "option.METHOD_NAMING_IN_SPECIFIC_PACKAGE.desc.naming_patterns": "This option detects cases where method names in the file do not match the naming convention specified by a regular expression.",
  "option.METHOD_NAMING_IN_SPECIFIC_PACKAGE.title.exclude_getter_setter": "Option to exclude getter/setter methods from detection",
  "option.METHOD_NAMING_IN_SPECIFIC_PACKAGE.title.excluded_method_types": "Option to input the types of methods to not detect (whitelist range)",
  "option.METHOD_NAMING_IN_SPECIFIC_PACKAGE.title.forbidden_package_patterns": "Regex list of package paths",
  "option.METHOD_NAMING_IN_SPECIFIC_PACKAGE.title.forbidden_packages": "Option to input the package path to be detected (write in full path, single black list)",
  "option.METHOD_NAMING_IN_SPECIFIC_PACKAGE.title.naming_patterns": "Option to input method naming conventions as a regular expression (whitelist range)",
  "option.MINIMIZE_VARIABLE_LIVE_RANGE.desc.allow_decl_seq": "If selected, sequence of variable declarations is treated as single statement",
  "option.MINIMIZE_VARIABLE_LIVE_RANGE.title.allow_decl_seq": "Sequence of variable declarations as single statement",
  "option.MISMATCH_RETURN_TYPE.desc.strict_suffix": "A function which returns 32bit floating point type should be add a suffix 'F' on platform that has 32bit 'float' type and 64bit 'double' type.",
  "option.MISMATCH_RETURN_TYPE.title.strict_suffix": "Essential suffix 'F'",
  "option.MISSING.COMMENT.COLUMN_IN_SELECT.SQL.desc.check_outer_sql_only": "set check range is restricted to only the outmost sql.",
  "option.MISSING.COMMENT.COLUMN_IN_SELECT.SQL.desc.exceptional_column": "write down column names, then those columns will not be alarmed even if a comment doesn't exist.",
  "option.MISSING.COMMENT.COLUMN_IN_SELECT.SQL.desc.excluded_target_file_name": "write down file names, then the those files will not be checked",
  "option.MISSING.COMMENT.COLUMN_IN_SELECT.SQL.title.check_outer_sql_only": "restrict check range",
  "option.MISSING.COMMENT.COLUMN_IN_SELECT.SQL.title.exceptional_column": "exceptional column",
  "option.MISSING.COMMENT.COLUMN_IN_SELECT.SQL.title.excluded_target_file_name": "non-target file names",
  "option.MISSING.WHERE.DELETE.ABAP.desc.ignore_table": "Enter the table name to be ignored in the detection target.",
  "option.MISSING.WHERE.DELETE.ABAP.title.ignore_table": "Table name to ignore",
  "option.MISSING_AUTHENTICATION.CRITICAL_FUNCTION.CSHARP.desc.authentication_functions": "Write authentication methods.",
  "option.MISSING_AUTHENTICATION.CRITICAL_FUNCTION.CSHARP.desc.critical_functions": "Write authentication-critical methods.",
  "option.MISSING_AUTHENTICATION.CRITICAL_FUNCTION.CSHARP.title.authentication_functions": "Authentication method",
  "option.MISSING_AUTHENTICATION.CRITICAL_FUNCTION.CSHARP.title.critical_functions": "Authentication-critical methods",
  "option.MISSING_AUTHENTICATION.CRITICAL_FUNCTION.KOTLIN.desc.auth_by_compare": "Check if comparison operator is authentication",
  "option.MISSING_AUTHENTICATION.CRITICAL_FUNCTION.KOTLIN.desc.authentication_function": "Write the name of the authentication function\nExample) checkAccount",
  "option.MISSING_AUTHENTICATION.CRITICAL_FUNCTION.KOTLIN.desc.critical_function": "Write the name of the critical function.\nExample) sendAccount",
  "option.MISSING_AUTHENTICATION.CRITICAL_FUNCTION.KOTLIN.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.MISSING_AUTHENTICATION.CRITICAL_FUNCTION.KOTLIN.title.auth_by_compare": "Authentication by comparison operator",
  "option.MISSING_AUTHENTICATION.CRITICAL_FUNCTION.KOTLIN.title.authentication_function": "Authentication function",
  "option.MISSING_AUTHENTICATION.CRITICAL_FUNCTION.KOTLIN.title.critical_function": "Critical function",
  "option.MISSING_AUTHENTICATION.CRITICAL_FUNCTION.KOTLIN.title.taint_propagator": "External information propagator",
  "option.MISSING_AUTHENTICATION.CRITICAL_FUNCTION.PHP.desc.authentication_function": "Write the name of the authentication function\nExample) strcmp",
  "option.MISSING_AUTHENTICATION.CRITICAL_FUNCTION.PHP.desc.critical_function": "Write the name of the critical function.\nExample) login",
  "option.MISSING_AUTHENTICATION.CRITICAL_FUNCTION.PHP.title.authentication_function": "Authentication function",
  "option.MISSING_AUTHENTICATION.CRITICAL_FUNCTION.PHP.title.critical_function": "Critical function",
  "option.MISSING_AUTHENTICATION.CRITICAL_FUNCTION.PYTHON.desc.auth_by_compare": "Check if comparison operator is authentication",
  "option.MISSING_AUTHENTICATION.CRITICAL_FUNCTION.PYTHON.desc.authentication_function": "Write the name of the authentication function\nExample) strcmp",
  "option.MISSING_AUTHENTICATION.CRITICAL_FUNCTION.PYTHON.desc.critical_function": "Write the name of the critical function.\nExample) login",
  "option.MISSING_AUTHENTICATION.CRITICAL_FUNCTION.PYTHON.title.auth_by_compare": "Authentication by comparison operator",
  "option.MISSING_AUTHENTICATION.CRITICAL_FUNCTION.PYTHON.title.authentication_function": "Authentication function",
  "option.MISSING_AUTHENTICATION.CRITICAL_FUNCTION.PYTHON.title.critical_function": "Critical function",
  "option.MISSING_AUTHENTICATION_CONTROL.OBJC.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) strlen$param(1)",
  "option.MISSING_AUTHENTICATION_CONTROL.OBJC.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) \\\\.$operand(*)->return",
  "option.MISSING_AUTHENTICATION_CONTROL.OBJC.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) mysql_query$param(*)",
  "option.MISSING_AUTHENTICATION_CONTROL.OBJC.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of fqn(\"$_GET[\\\\\"password\\\\\"]\")",
  "option.MISSING_AUTHENTICATION_CONTROL.OBJC.title.taint_filter": "External information filter",
  "option.MISSING_AUTHENTICATION_CONTROL.OBJC.title.taint_propagator": "External information propagator",
  "option.MISSING_AUTHENTICATION_CONTROL.OBJC.title.taint_sink": "External information sink",
  "option.MISSING_AUTHENTICATION_CONTROL.OBJC.title.taint_source": "External information source",
  "option.MISSING_AUTHENTICATION_CONTROL.SWIFT.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) strlen$param(1)",
  "option.MISSING_AUTHENTICATION_CONTROL.SWIFT.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) \\\\.$operand(*)->return",
  "option.MISSING_AUTHENTICATION_CONTROL.SWIFT.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) mysql_query$param(*)",
  "option.MISSING_AUTHENTICATION_CONTROL.SWIFT.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of fqn(\"$_GET[\\\\\"password\\\\\"]\")",
  "option.MISSING_AUTHENTICATION_CONTROL.SWIFT.title.taint_filter": "External information filter",
  "option.MISSING_AUTHENTICATION_CONTROL.SWIFT.title.taint_propagator": "External information propagator",
  "option.MISSING_AUTHENTICATION_CONTROL.SWIFT.title.taint_sink": "External information sink",
  "option.MISSING_AUTHENTICATION_CONTROL.SWIFT.title.taint_source": "External information source",
  "option.MISSING_AUTHENTICATION_CONTROL.desc.authentication_control_method": "Write the name of the authentication control routine.\nExample) .+authenticate.*",
  "option.MISSING_AUTHENTICATION_CONTROL.desc.target_callee": "Write the functions used for checking.",
  "option.MISSING_AUTHENTICATION_CONTROL.desc.target_caller": "Write the functions that need to be checked for authentication status.",
  "option.MISSING_AUTHENTICATION_CONTROL.desc.target_file": "Write the expression of the file name to check.\nExample) .+admin.*",
  "option.MISSING_AUTHENTICATION_CONTROL.title.authentication_control_method": "Name of the authentication control routine",
  "option.MISSING_AUTHENTICATION_CONTROL.title.target_callee": "List of the functions used for checking.",
  "option.MISSING_AUTHENTICATION_CONTROL.title.target_caller": "List of the functions to check authentication status",
  "option.MISSING_AUTHENTICATION_CONTROL.title.target_file": "Name of the target file",
  "option.MISSING_AUTHENTICATION_FOR_CRITICAL_FUNCTION.desc.argument_type_for_critical_function": "Argument types of critical functions. Checkers will inspect such argument types. (Regular expression supported.)",
  "option.MISSING_AUTHENTICATION_FOR_CRITICAL_FUNCTION.desc.authenticated_block": "If selected, calling of any critical function will be considered safe in the authenticated block - if, switch, while, and for as well as the conditions of the ternary operators.",
  "option.MISSING_AUTHENTICATION_FOR_CRITICAL_FUNCTION.desc.authentication_function": "Write the name of the method to be called for authentication. In case there are multiple methods, all methods must be called for the authentication.\nExample) java.lang.String.equals",
  "option.MISSING_AUTHENTICATION_FOR_CRITICAL_FUNCTION.desc.check_argument_type": "Check the types of arguments passed to functions that perform important functions.",
  "option.MISSING_AUTHENTICATION_FOR_CRITICAL_FUNCTION.desc.critical_class": "Write a type of an object that calls critical function (fully qualified class name required, i.e. java.lang.String), regular expression supported",
  "option.MISSING_AUTHENTICATION_FOR_CRITICAL_FUNCTION.desc.critical_function": "Critical function. Regular expression supported.",
  "option.MISSING_AUTHENTICATION_FOR_CRITICAL_FUNCTION.title.argument_type_for_critical_function": "Argument type of the critical function",
  "option.MISSING_AUTHENTICATION_FOR_CRITICAL_FUNCTION.title.authenticated_block": "Authenticated code block",
  "option.MISSING_AUTHENTICATION_FOR_CRITICAL_FUNCTION.title.authentication_function": "Authentication method",
  "option.MISSING_AUTHENTICATION_FOR_CRITICAL_FUNCTION.title.check_argument_type": "Checking parameter types",
  "option.MISSING_AUTHENTICATION_FOR_CRITICAL_FUNCTION.title.critical_class": "Object type of the critical function",
  "option.MISSING_AUTHENTICATION_FOR_CRITICAL_FUNCTION.title.critical_function": "Critical function",
  "option.MISSING_BLANK_LINE.IMPORT.desc.depth": "Set a depth for comparison in import statement. Example: Depth of 'java.io' is 2)",
  "option.MISSING_BLANK_LINE.IMPORT.desc.order_list": "Write a allowed import statement list.",
  "option.MISSING_BLANK_LINE.IMPORT.title.depth": "Set a depth for import statement.",
  "option.MISSING_BLANK_LINE.IMPORT.title.order_list": "List of import statement order.",
  "option.MISSING_BLANK_LINE.SECTION.desc.blank_line_number": "Set the number of blank lines between section.",
  "option.MISSING_BLANK_LINE.SECTION.title.blank_line_number": "Number of blank lines between sections",
  "option.MISSING_BLANK_LINE_BEFORE_COMMENT.desc.check_header": "Set a true, If checking header files.",
  "option.MISSING_BLANK_LINE_BEFORE_COMMENT.title.check_header": "Inspect header files",
  "option.MISSING_BLOCK_IN_CONTROL_STATEMENT.desc.check_case": "If selected, check whether each case code block of switch statement is wrapped with curly-brace.",
  "option.MISSING_BLOCK_IN_CONTROL_STATEMENT.desc.check_do": "If selected, check whether loop body of do-while statement is wrapped with curly-brace.",
  "option.MISSING_BLOCK_IN_CONTROL_STATEMENT.desc.check_else": "If the option is enabled, it checks whether the statement in a false if clause is enclosed in braces.",
  "option.MISSING_BLOCK_IN_CONTROL_STATEMENT.desc.check_for": "If selected, check whether loop body of for statement is wrapped with curly-brace.",
  "option.MISSING_BLOCK_IN_CONTROL_STATEMENT.desc.check_if": "If the option is enabled, it checks whether the statement in a true if clause is enclosed in braces.",
  "option.MISSING_BLOCK_IN_CONTROL_STATEMENT.desc.check_while": "If the option is enabled, it check that the loop body of while statement is wrapped with curly-brace.",
  "option.MISSING_BLOCK_IN_CONTROL_STATEMENT.title.check_case": "Check brace of each case code blocks in switch statement",
  "option.MISSING_BLOCK_IN_CONTROL_STATEMENT.title.check_do": "Check brace of do-while statement loop body",
  "option.MISSING_BLOCK_IN_CONTROL_STATEMENT.title.check_else": "Check brace of false branch of if statement",
  "option.MISSING_BLOCK_IN_CONTROL_STATEMENT.title.check_for": "Check brace of for statement loop body",
  "option.MISSING_BLOCK_IN_CONTROL_STATEMENT.title.check_if": "Check brace of true branch of if statement",
  "option.MISSING_BLOCK_IN_CONTROL_STATEMENT.title.check_while": "Check brace of while statement loop body",
  "option.MISSING_BREAK_IN_CASE.desc.check_last_case_only": "If selected, only whether there is break statement in the last case exists will be checked.",
  "option.MISSING_BREAK_IN_CASE.desc.ignore_if_comment_exists": "If selected, issues will be ignored if there is any comment in the detection.",
  "option.MISSING_BREAK_IN_CASE.title.check_last_case_only": "Check the last case statement only",
  "option.MISSING_BREAK_IN_CASE.title.ignore_if_comment_exists": "Ignore issues if any comments exist",
  "option.MISSING_CHECK_OF_INPUT.desc.target_variable": "Write variable names to check before use.\nExample) .+\\.input",
  "option.MISSING_CHECK_OF_INPUT.title.target_variable": "Target variable",
  "option.MISSING_DEBUG_CHECK.desc.check_function": "Belows are functions to check functions for debugging.",
  "option.MISSING_DEBUG_CHECK.desc.debug_function": "Belows are functions for debugging.",
  "option.MISSING_DEBUG_CHECK.title.check_function": "Functions to check functions for debugging",
  "option.MISSING_DEBUG_CHECK.title.debug_function": "Functions for debugging",
  "option.MISSING_LOGIN_CONTROL.CSHARP.desc.login_classes": "Write down class which contains the functionality for the login.",
  "option.MISSING_LOGIN_CONTROL.CSHARP.desc.login_error_event_handlers": "Write down login error event handler.",
  "option.MISSING_LOGIN_CONTROL.CSHARP.title.login_classes": "Login Classes",
  "option.MISSING_LOGIN_CONTROL.CSHARP.title.login_error_event_handlers": "Login Error Event Handler",
  "option.MISSING_LOGIN_CONTROL.KOTLIN.desc.login_method": "Write the name of the function to login.",
  "option.MISSING_LOGIN_CONTROL.KOTLIN.title.login_method": "Login function",
  "option.MISSING_LOGIN_CONTROL.PHP.desc.check_inner_control": "If the checkbox is checked, check whether the login routine has been controlled in the routine.",
  "option.MISSING_LOGIN_CONTROL.PHP.desc.check_outer_control": "If the checkbox is checked, check whether the login routine has been controlled from the outside.",
  "option.MISSING_LOGIN_CONTROL.PHP.desc.login_function": "Write the name of the login function.\nExample) login",
  "option.MISSING_LOGIN_CONTROL.PHP.title.check_inner_control": "Check inner control",
  "option.MISSING_LOGIN_CONTROL.PHP.title.check_outer_control": "Check outer control",
  "option.MISSING_LOGIN_CONTROL.PHP.title.login_function": "Login function",
  "option.MISSING_LOGIN_CONTROL.PYTHON.desc.check_inner_control": "If the checkbox is checked, check whether the login routine has been controlled in the routine.",
  "option.MISSING_LOGIN_CONTROL.PYTHON.desc.check_outer_control": "If the checkbox is checked, check whether the login routine has been controlled from the outside.",
  "option.MISSING_LOGIN_CONTROL.PYTHON.desc.login_function": "Write the name of the login function.\nExample) login",
  "option.MISSING_LOGIN_CONTROL.PYTHON.title.check_inner_control": "Check inner control",
  "option.MISSING_LOGIN_CONTROL.PYTHON.title.check_outer_control": "Check outer control",
  "option.MISSING_LOGIN_CONTROL.PYTHON.title.login_function": "Login function",
  "option.MISSING_LOGIN_CONTROL.desc.authentification_functions": "Write the functions used for log-in.",
  "option.MISSING_LOGIN_CONTROL.desc.check_inner_control": "If selected, whether all loops in the log-in routine are controlled will be checked.",
  "option.MISSING_LOGIN_CONTROL.desc.check_outer_control": "If selected, whether the log-in routine is controlled from outer side will be checked.",
  "option.MISSING_LOGIN_CONTROL.desc.login_method": "Write the name of the log-in routine.\nExample) .+\\..*login",
  "option.MISSING_LOGIN_CONTROL.desc.loop_inside_target_function": "If the option is enabled, function calling within an uncontrolled loop will be detected.",
  "option.MISSING_LOGIN_CONTROL.desc.target_function_inside_loop": "If the option is enabled, a uncontrolled loop within a function is detected.",
  "option.MISSING_LOGIN_CONTROL.title.authentification_functions": "Functions used for log-in",
  "option.MISSING_LOGIN_CONTROL.title.check_inner_control": "Check inner control",
  "option.MISSING_LOGIN_CONTROL.title.check_outer_control": "Check outer control",
  "option.MISSING_LOGIN_CONTROL.title.login_method": "Name of log-in routine",
  "option.MISSING_LOGIN_CONTROL.title.loop_inside_target_function": "Detect function calling within an uncontrolled loop.",
  "option.MISSING_LOGIN_CONTROL.title.target_function_inside_loop": "Detect uncontrolled loop within a function.",
  "option.MISSING_NORMALIZATION_BEFORE_VALIDATION.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.MISSING_NORMALIZATION_BEFORE_VALIDATION.desc.exclude": "A filter is considered safe if it is defined like this \"if\" {filter_target}\nfilter_target: filter expression for the pollution value (includes method definition).",
  "option.MISSING_NORMALIZATION_BEFORE_VALIDATION.desc.propagator": "If a propagator is defined as follows, it propagates a tainted value. {propagator_target}\npropagator_target: propagation expression for the tainted value. (including method definition)",
  "option.MISSING_NORMALIZATION_BEFORE_VALIDATION.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.MISSING_NORMALIZATION_BEFORE_VALIDATION.title.alarm": "Detection rule",
  "option.MISSING_NORMALIZATION_BEFORE_VALIDATION.title.exclude": "Exception rule",
  "option.MISSING_NORMALIZATION_BEFORE_VALIDATION.title.propagator": "Propagator name",
  "option.MISSING_NORMALIZATION_BEFORE_VALIDATION.title.suggestion_filter_function": "Suggested filter function",
  "option.MISSING_PARENTHESIS_IN_EXPRESSION.desc.min_num_of_expression": "Write the minimum number of expressions to be prioritized by parentheses.\nExample) 3",
  "option.MISSING_PARENTHESIS_IN_EXPRESSION.title.min_num_of_expression": "Minimum number of expressions to be prioritized by parentheses",
  "option.MISSING_PASSWORD_RECOVERY_CONTROL.desc.authentification_functions": "Write the password restoring functions.",
  "option.MISSING_PASSWORD_RECOVERY_CONTROL.desc.check_inner_control": "If the option is enabled, whether all loops in the password recovery routine are controlled will be checked.",
  "option.MISSING_PASSWORD_RECOVERY_CONTROL.desc.check_outer_control": "If selected, whether the password recovery routine is controlled from outer side will be checked.",
  "option.MISSING_PASSWORD_RECOVERY_CONTROL.desc.loop_inside_target_function": "If the option is enabled, function calling within an uncontrolled loop will be detected.",
  "option.MISSING_PASSWORD_RECOVERY_CONTROL.desc.password_recovery_method": "Write the name of the password recovery routine.\nExample) .+\\..*recoverPassword",
  "option.MISSING_PASSWORD_RECOVERY_CONTROL.desc.target_function_inside_loop": "If the option is enabled, a uncontrolled loop within a function is detected.",
  "option.MISSING_PASSWORD_RECOVERY_CONTROL.title.authentification_functions": "Password restoring functions",
  "option.MISSING_PASSWORD_RECOVERY_CONTROL.title.check_inner_control": "Check inner control",
  "option.MISSING_PASSWORD_RECOVERY_CONTROL.title.check_outer_control": "Check outer control",
  "option.MISSING_PASSWORD_RECOVERY_CONTROL.title.loop_inside_target_function": "Detect function calling within an uncontrolled loop.",
  "option.MISSING_PASSWORD_RECOVERY_CONTROL.title.password_recovery_method": "Password recovery routine name",
  "option.MISSING_PASSWORD_RECOVERY_CONTROL.title.target_function_inside_loop": "Detect uncontrolled loop within a function.",
  "option.MISSING_WRAPPER_ON_VARIABLE.desc.call_param_should_be_call": "Set up required call parameters",
  "option.MISSING_WRAPPER_ON_VARIABLE.desc.call_target": "Target function call",
  "option.MISSING_WRAPPER_ON_VARIABLE.desc.file_target_excluded": "Files to be excluded",
  "option.MISSING_WRAPPER_ON_VARIABLE.desc.function_target": "Set target functions with regular expressions",
  "option.MISSING_WRAPPER_ON_VARIABLE.desc.function_target_excluded": "Set up functions to be excluded for analyze",
  "option.MISSING_WRAPPER_ON_VARIABLE.title.call_param_should_be_call": "Required call parameters",
  "option.MISSING_WRAPPER_ON_VARIABLE.title.call_target": "Target function call",
  "option.MISSING_WRAPPER_ON_VARIABLE.title.file_target_excluded": "Files to be excluded",
  "option.MISSING_WRAPPER_ON_VARIABLE.title.function_target": "Target functions",
  "option.MISSING_WRAPPER_ON_VARIABLE.title.function_target_excluded": "Functions to be excluded for analyze",
  "option.MODIFY_INPUT_PARAMETER.desc.blacklist_methods": "Option to detect when text matching the input text is found.",
  "option.MODIFY_INPUT_PARAMETER.desc.blacklist_patterns": "Option to detect when text within the range of the input regular expression is found.",
  "option.MODIFY_INPUT_PARAMETER.desc.whitelist_classes": "Excludes from detection when text matching the input text is found.",
  "option.MODIFY_INPUT_PARAMETER.title.blacklist_methods": "Blacklist single",
  "option.MODIFY_INPUT_PARAMETER.title.blacklist_patterns": "Blacklist range",
  "option.MODIFY_INPUT_PARAMETER.title.whitelist_classes": "Whitelist single",
  "option.MUTABLE_EQUALS.desc.exclude_method": "Write method names to be excluded from the analysis.\nExample).*Print",
  "option.MUTABLE_EQUALS.desc.exclude_path": "Enter paths to be excluded from the analysis.\nExample).*\\\\test\\\\.*",
  "option.MUTABLE_EQUALS.title.exclude_method": "Excluding method",
  "option.MUTABLE_EQUALS.title.exclude_path": "Excluded path",
  "option.NAMING_CONVENTION.TYPE.desc.ignore_types": "Write a list of ignore type name.",
  "option.NAMING_CONVENTION.TYPE.title.ignore_types": "Ignore variable type",
  "option.NEGATIVE_NUMBER_PROPERTY.JS.desc.target_pattern": "Write a pattern of property .\nExample) Content-Length",
  "option.NEGATIVE_NUMBER_PROPERTY.JS.title.target_pattern": "Pattern of property do not have a negative number as value",
  "option.NONEFFECTIVE_FUNCTION_CALL.desc.excluded_structure": "Write a list of excluded structure names.",
  "option.NONEFFECTIVE_FUNCTION_CALL.title.excluded_structure": "List of excluded structure names",
  "option.NONSERIALIZABLE_OBJECT_STORED_IN_SESSION.desc.exclude_method": "Write method names to be excluded from the analysis.\nExample).*Print",
  "option.NONSERIALIZABLE_OBJECT_STORED_IN_SESSION.desc.exclude_path": "Enter paths to be excluded from the analysis.\nExample).*\\\\test\\\\.*",
  "option.NONSERIALIZABLE_OBJECT_STORED_IN_SESSION.title.exclude_method": "Excluding method",
  "option.NONSERIALIZABLE_OBJECT_STORED_IN_SESSION.title.exclude_path": "Excluded path",
  "option.NOT_LAST_DEFAULT_CASE.desc.allow_leading_default": "Allows the default clause to be placed at the beginning.",
  "option.NOT_LAST_DEFAULT_CASE.title.allow_leading_default": "Allow default at the beginning",
  "option.NO_GLOBAL_VARIABLES_BETWEEN_FUNCTIONS.desc.ignored_variable_name": "Write variables to exclude from analysis.",
  "option.NO_GLOBAL_VARIABLES_BETWEEN_FUNCTIONS.title.ignored_variable_name": "Variables to exclude from analysis",
  "option.NULL_DEREFERENCE.PYTHON.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(*) of name(\"filter\")",
  "option.NULL_DEREFERENCE.PYTHON.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) sparrow.my.filter.utils.is_safe()",
  "option.NULL_DEREFERENCE.PYTHON.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.NULL_DEREFERENCE.PYTHON.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.",
  "option.NULL_DEREFERENCE.PYTHON.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(\"read\")",
  "option.NULL_DEREFERENCE.PYTHON.title.taint_filter": "External information filter",
  "option.NULL_DEREFERENCE.PYTHON.title.taint_filter_function_fqn": "Custom external information filter",
  "option.NULL_DEREFERENCE.PYTHON.title.taint_propagator": "External information propagator",
  "option.NULL_DEREFERENCE.PYTHON.title.taint_sink": "External information sink",
  "option.NULL_DEREFERENCE.PYTHON.title.taint_source": "External information source",
  "option.NUMBER_OF_METHOD_LINES_IN_PATH.desc.bool_option": "If this option is set to T, it detects methods with line counts greater than or equal to the number set in option 5. If set to F, it detects methods with line counts less than or equal to the number.",
  "option.NUMBER_OF_METHOD_LINES_IN_PATH.desc.num_lines": "Enter a positive integer greater than 0 to limit the number of code lines within methods. If option 6 is set to T, methods with code line counts greater than or equal to the input value will be detected. If set to F, methods with code line counts less than or equal to the input value will be detected. Values of 0, negative integers, or non-integers are not allowed. The checker does not operate if no input value exists for this option.",
  "option.NUMBER_OF_METHOD_LINES_IN_PATH.desc.target_path": "Option to include files in the analysis when file paths matching the input text are found.",
  "option.NUMBER_OF_METHOD_LINES_IN_PATH.desc.target_path_pattern": "Option to include files in the analysis when file paths within the range of the input regular expression are found.",
  "option.NUMBER_OF_METHOD_LINES_IN_PATH.desc.whitelist_path": "Option to input file paths as text, check files matching the input path, and exclude those files from detection.",
  "option.NUMBER_OF_METHOD_LINES_IN_PATH.desc.whitelist_path_pattern": "Option to input file paths as regular expressions, check files matching the input path, and exclude those files from detection.",
  "option.NUMBER_OF_METHOD_LINES_IN_PATH.title.bool_option": "Method code line limit criteria",
  "option.NUMBER_OF_METHOD_LINES_IN_PATH.title.num_lines": "Number of code lines within methods",
  "option.NUMBER_OF_METHOD_LINES_IN_PATH.title.target_path": "Target file path for analysis",
  "option.NUMBER_OF_METHOD_LINES_IN_PATH.title.target_path_pattern": "Target file path for analysis",
  "option.NUMBER_OF_METHOD_LINES_IN_PATH.title.whitelist_path": "Allowed file paths",
  "option.NUMBER_OF_METHOD_LINES_IN_PATH.title.whitelist_path_pattern": "Regular expression patterns for allowed file paths",
  "option.ONLY_INLINE_SIMPLE_FUNCTION.desc.line_of_code": "Write max line of code count.",
  "option.ONLY_INLINE_SIMPLE_FUNCTION.desc.statements_count": "Write max statements count.",
  "option.ONLY_INLINE_SIMPLE_FUNCTION.title.line_of_code": "Max line of code count.",
  "option.ONLY_INLINE_SIMPLE_FUNCTION.title.statements_count": "Max statements count.",
  "option.OPEN_REDIRECT.CPP.desc.clear_call": "Write the name of the function that checks sensitive information for security.\nExample) urlchecker",
  "option.OPEN_REDIRECT.CPP.desc.sink_call": "Write a name and a type of the function causing risks when containing external information.",
  "option.OPEN_REDIRECT.CPP.desc.source_call": "Specify functions that receives sensitive information.\nExample) getenv",
  "option.OPEN_REDIRECT.CPP.title.clear_call": "Function to check for sensitive information",
  "option.OPEN_REDIRECT.CPP.title.sink_call": "External information sink",
  "option.OPEN_REDIRECT.CPP.title.source_call": "Function receiving sensitive information",
  "option.OPEN_REDIRECT.JS.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(*) of name(\"filter\")",
  "option.OPEN_REDIRECT.JS.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.OPEN_REDIRECT.JS.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\"+\") to return",
  "option.OPEN_REDIRECT.JS.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(1) of fqn(\"window.open\")",
  "option.OPEN_REDIRECT.JS.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of fqn(\"document.URL\")",
  "option.OPEN_REDIRECT.JS.title.taint_filter": "External information filter",
  "option.OPEN_REDIRECT.JS.title.taint_filter_function_fqn": "Custom external information filter",
  "option.OPEN_REDIRECT.JS.title.taint_propagator": "External information propagator",
  "option.OPEN_REDIRECT.JS.title.taint_sink": "External information sink",
  "option.OPEN_REDIRECT.JS.title.taint_source": "External information source",
  "option.OPEN_REDIRECT.KOTLIN.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) operand(*) of \"in\"",
  "option.OPEN_REDIRECT.KOTLIN.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) sparrow.my.filter.utils.is_safe()",
  "option.OPEN_REDIRECT.KOTLIN.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.OPEN_REDIRECT.KOTLIN.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(1) of fqn(\"javax.servlet.http.HttpServletResponse.sendRedirect\")",
  "option.OPEN_REDIRECT.KOTLIN.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(\"java.io.BufferedInputStream.read(byte[])\")",
  "option.OPEN_REDIRECT.KOTLIN.title.taint_filter": "External information filter",
  "option.OPEN_REDIRECT.KOTLIN.title.taint_filter_function_fqn": "Custom external information filter",
  "option.OPEN_REDIRECT.KOTLIN.title.taint_propagator": "External information propagator",
  "option.OPEN_REDIRECT.KOTLIN.title.taint_sink": "External information sink",
  "option.OPEN_REDIRECT.KOTLIN.title.taint_source": "External information source",
  "option.OPEN_REDIRECT.OBJC.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.OPEN_REDIRECT.OBJC.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.OPEN_REDIRECT.OBJC.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) strcpy$param(2)->param(1)",
  "option.OPEN_REDIRECT.OBJC.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) printf$param(1)",
  "option.OPEN_REDIRECT.OBJC.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) getenv$return",
  "option.OPEN_REDIRECT.OBJC.title.taint_filter": "External information filter",
  "option.OPEN_REDIRECT.OBJC.title.taint_filter_function_fqn": "Custom external information filter",
  "option.OPEN_REDIRECT.OBJC.title.taint_propagator": "External information propagator",
  "option.OPEN_REDIRECT.OBJC.title.taint_sink": "External information sink",
  "option.OPEN_REDIRECT.OBJC.title.taint_source": "External information source",
  "option.OPEN_REDIRECT.PHP.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(*) of name(\"filter\")",
  "option.OPEN_REDIRECT.PHP.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.OPEN_REDIRECT.PHP.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\".\") to return",
  "option.OPEN_REDIRECT.PHP.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(1) of name(\"header\")",
  "option.OPEN_REDIRECT.PHP.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of name(\"$_GET\")",
  "option.OPEN_REDIRECT.PHP.title.taint_filter": "External information filter",
  "option.OPEN_REDIRECT.PHP.title.taint_filter_function_fqn": "Custom external information filter",
  "option.OPEN_REDIRECT.PHP.title.taint_propagator": "External information propagator",
  "option.OPEN_REDIRECT.PHP.title.taint_sink": "External information sink",
  "option.OPEN_REDIRECT.PHP.title.taint_source": "External information source",
  "option.OPEN_REDIRECT.PYTHON.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.OPEN_REDIRECT.PYTHON.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.OPEN_REDIRECT.PYTHON.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) \\\\.$operand(*)->return",
  "option.OPEN_REDIRECT.PYTHON.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) header$param(1)",
  "option.OPEN_REDIRECT.PYTHON.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) \\\\$_GET$variable",
  "option.OPEN_REDIRECT.PYTHON.title.taint_filter": "External information filter",
  "option.OPEN_REDIRECT.PYTHON.title.taint_filter_function_fqn": "Custom external information filter",
  "option.OPEN_REDIRECT.PYTHON.title.taint_propagator": "External information propagator",
  "option.OPEN_REDIRECT.PYTHON.title.taint_sink": "External information sink",
  "option.OPEN_REDIRECT.PYTHON.title.taint_source": "External information source",
  "option.OPEN_REDIRECT.SWIFT.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.OPEN_REDIRECT.SWIFT.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) strcpy$param(2)->param(1)",
  "option.OPEN_REDIRECT.SWIFT.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) printf$param(1)",
  "option.OPEN_REDIRECT.SWIFT.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) getenv$return",
  "option.OPEN_REDIRECT.SWIFT.title.taint_filter": "External information filter",
  "option.OPEN_REDIRECT.SWIFT.title.taint_propagator": "External information propagator",
  "option.OPEN_REDIRECT.SWIFT.title.taint_sink": "External information sink",
  "option.OPEN_REDIRECT.SWIFT.title.taint_source": "External information source",
  "option.OPEN_REDIRECT.TOBE.JS.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(*) of name(\"filter\")",
  "option.OPEN_REDIRECT.TOBE.JS.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.OPEN_REDIRECT.TOBE.JS.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\"+\") to return",
  "option.OPEN_REDIRECT.TOBE.JS.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(*) of fqn(\"ExecBrowser\")",
  "option.OPEN_REDIRECT.TOBE.JS.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of fqn(reg(\"@miplatform_edit.*\"))",
  "option.OPEN_REDIRECT.TOBE.JS.title.taint_filter": "External information filter",
  "option.OPEN_REDIRECT.TOBE.JS.title.taint_filter_function_fqn": "Custom external information filter",
  "option.OPEN_REDIRECT.TOBE.JS.title.taint_propagator": "External information propagator",
  "option.OPEN_REDIRECT.TOBE.JS.title.taint_sink": "External information sink",
  "option.OPEN_REDIRECT.TOBE.JS.title.taint_source": "External information source",
  "option.OPEN_REDIRECT.VBNET.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.OPEN_REDIRECT.VBNET.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.OPEN_REDIRECT.VBNET.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) &$operand(*)->return",
  "option.OPEN_REDIRECT.VBNET.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) shell$param(*)",
  "option.OPEN_REDIRECT.VBNET.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) request\\.form$return",
  "option.OPEN_REDIRECT.VBNET.title.taint_filter": "External information filter",
  "option.OPEN_REDIRECT.VBNET.title.taint_filter_function_fqn": "Custom external information filter",
  "option.OPEN_REDIRECT.VBNET.title.taint_propagator": "External information propagator",
  "option.OPEN_REDIRECT.VBNET.title.taint_sink": "External information sink",
  "option.OPEN_REDIRECT.VBNET.title.taint_source": "External information source",
  "option.OPEN_REDIRECT.VBS.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.OPEN_REDIRECT.VBS.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.OPEN_REDIRECT.VBS.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) &$operand(*)->return",
  "option.OPEN_REDIRECT.VBS.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nexample) response\\.redirect$param(*)",
  "option.OPEN_REDIRECT.VBS.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) request\\.form$return",
  "option.OPEN_REDIRECT.VBS.title.taint_filter": "External information filter",
  "option.OPEN_REDIRECT.VBS.title.taint_filter_function_fqn": "Custom external information filter",
  "option.OPEN_REDIRECT.VBS.title.taint_propagator": "External information propagator",
  "option.OPEN_REDIRECT.VBS.title.taint_sink": "External information sink",
  "option.OPEN_REDIRECT.VBS.title.taint_source": "External information source",
  "option.OPEN_REDIRECT.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.OPEN_REDIRECT.desc.exclude": "A filter is considered safe if it is defined like this \"if\" {filter_target}\nfilter_target: filter expression for the pollution value (includes method definition).",
  "option.OPEN_REDIRECT.desc.propagator": "If a propagator is defined as follows, it propagates a tainted value. {propagator_target}\npropagator_target: propagation expression for the tainted value. (including method definition)",
  "option.OPEN_REDIRECT.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.OPEN_REDIRECT.title.alarm": "Detection rule",
  "option.OPEN_REDIRECT.title.exclude": "Exception rule",
  "option.OPEN_REDIRECT.title.propagator": "Propagator name",
  "option.OPEN_REDIRECT.title.suggestion_filter_function": "Suggested filter function",
  "option.OS_COMMAND_INJECTION.JS.desc.custom_taint_sink": "Functions that require shell option resolution",
  "option.OS_COMMAND_INJECTION.JS.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(*) of name(\"filter\")",
  "option.OS_COMMAND_INJECTION.JS.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.OS_COMMAND_INJECTION.JS.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\"+\") to return",
  "option.OS_COMMAND_INJECTION.JS.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(1) of name(\"exec\")",
  "option.OS_COMMAND_INJECTION.JS.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of name(reg(\"\\\\S+\\\\.body.*\"))",
  "option.OS_COMMAND_INJECTION.JS.title.custom_taint_sink": "Shell option check function",
  "option.OS_COMMAND_INJECTION.JS.title.taint_filter": "External information filter",
  "option.OS_COMMAND_INJECTION.JS.title.taint_filter_function_fqn": "Custom external information filter",
  "option.OS_COMMAND_INJECTION.JS.title.taint_propagator": "External information propagator",
  "option.OS_COMMAND_INJECTION.JS.title.taint_sink": "External information sink",
  "option.OS_COMMAND_INJECTION.JS.title.taint_source": "External information source",
  "option.OS_COMMAND_INJECTION.OBJC.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.OS_COMMAND_INJECTION.OBJC.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.OS_COMMAND_INJECTION.OBJC.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) strcpy$param(2)->param(1)",
  "option.OS_COMMAND_INJECTION.OBJC.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) printf$param(1)",
  "option.OS_COMMAND_INJECTION.OBJC.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) getenv$return",
  "option.OS_COMMAND_INJECTION.OBJC.title.taint_filter": "External information filter",
  "option.OS_COMMAND_INJECTION.OBJC.title.taint_filter_function_fqn": "Custom external information filter",
  "option.OS_COMMAND_INJECTION.OBJC.title.taint_propagator": "External information propagator",
  "option.OS_COMMAND_INJECTION.OBJC.title.taint_sink": "External information sink",
  "option.OS_COMMAND_INJECTION.OBJC.title.taint_source": "External information source",
  "option.OS_COMMAND_INJECTION.SWIFT.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.OS_COMMAND_INJECTION.SWIFT.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.OS_COMMAND_INJECTION.SWIFT.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) strcpy$param(2)->param(1)",
  "option.OS_COMMAND_INJECTION.SWIFT.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) printf$param(1)",
  "option.OS_COMMAND_INJECTION.SWIFT.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) getenv$return",
  "option.OS_COMMAND_INJECTION.SWIFT.title.taint_filter": "External information filter",
  "option.OS_COMMAND_INJECTION.SWIFT.title.taint_filter_function_fqn": "Custom external information filter",
  "option.OS_COMMAND_INJECTION.SWIFT.title.taint_propagator": "External information propagator",
  "option.OS_COMMAND_INJECTION.SWIFT.title.taint_sink": "External information sink",
  "option.OS_COMMAND_INJECTION.SWIFT.title.taint_source": "External information source",
  "option.OS_COMMAND_INJECTION.desc.clear_call": "Write the name of the function that checks sensitive information for security.\nExample) strpbrk",
  "option.OS_COMMAND_INJECTION.desc.sink_call": "Write the name of the function causing risks when containing sensitive information.\nExample) system",
  "option.OS_COMMAND_INJECTION.desc.sink_call_any": "Write the name of the function causing risks upon receiving sensitive information from the socket.\nExample) execl",
  "option.OS_COMMAND_INJECTION.desc.source_call": "Specify functions that receives sensitive information.\nExample) getenv",
  "option.OS_COMMAND_INJECTION.title.clear_call": "Function to check for sensitive information",
  "option.OS_COMMAND_INJECTION.title.sink_call": "Function leaking sensitive information",
  "option.OS_COMMAND_INJECTION.title.sink_call_any": "Function leaking sensitive information",
  "option.OS_COMMAND_INJECTION.title.source_call": "Function receiving sensitive information",
  "option.OVERLY_BROAD_CATCH.KOTLIN.desc.option": "Would you ignore overly broad exceptions if there were other exception handling segments above?\nExample) true",
  "option.OVERLY_BROAD_CATCH.KOTLIN.desc.overly_broad_exception": "Write the names of overly broad exceptions.\n Example) Exception",
  "option.OVERLY_BROAD_CATCH.KOTLIN.title.option": "Option On / Off",
  "option.OVERLY_BROAD_CATCH.KOTLIN.title.overly_broad_exception": "Overly Broad Exception",
  "option.OVERLY_BROAD_CATCH.PHP.desc.overly_broad_exception": "Write the names of overly broad exceptions.",
  "option.OVERLY_BROAD_CATCH.PHP.title.overly_broad_exception": "Overly Broad Exception",
  "option.OVERLY_BROAD_CATCH.PYTHON.desc.option": "Would you ignore overly broad exceptions if there were other exception handling segments above?\nExample) true",
  "option.OVERLY_BROAD_CATCH.PYTHON.desc.overly_broad_exception": "Write the names of overly broad exceptions.\n Example) Exception",
  "option.OVERLY_BROAD_CATCH.PYTHON.title.option": "Option On / Off",
  "option.OVERLY_BROAD_CATCH.PYTHON.title.overly_broad_exception": "Overly Broad Exception",
  "option.OVERLY_BROAD_THROW.KOTLIN.desc.allowed_exception": "Enter the regular expression pattern for the exception type name or FQN to exclude from detection.",
  "option.OVERLY_BROAD_THROW.KOTLIN.desc.overly_broad_exception": "Enter type name or FQN for too broad exception.",
  "option.OVERLY_BROAD_THROW.KOTLIN.title.allowed_exception": "Allowed exception type pattern",
  "option.OVERLY_BROAD_THROW.KOTLIN.title.overly_broad_exception": "Broad exception type",
  "option.OVERRUN.STATIC.STRCPY.OBJC.desc.string_function": "When handle string with function, it could be occusr Buffer Overrun.",
  "option.OVERRUN.STATIC.STRCPY.OBJC.title.string_function": "String handling functions.",
  "option.PACKAGE_COMMENT.desc.PackageComment": "Define the package comment template.",
  "option.PACKAGE_COMMENT.title.PackageComment": "Package comment template",
  "option.PASSWORD_IN_COMMENT.CSHARP.desc.sensitive_data": "Write sensitive data pattern.",
  "option.PASSWORD_IN_COMMENT.CSHARP.title.sensitive_data": "Sensitive Information Pattern",
  "option.PASSWORD_IN_COMMENT.KOTLIN.desc.allowed_max_word_length": "Write the maximum length of a single word to be allowed in comments.\nExample) 40",
  "option.PASSWORD_IN_COMMENT.KOTLIN.desc.check_password_only": "If selected, password expressions will be detected even if it exists solely.",
  "option.PASSWORD_IN_COMMENT.KOTLIN.desc.consecutive_word_expr": "Write an expression of the consecutive word which exceeds the maximum length to be detected.\nExample) [a-zA-Z0-9]+",
  "option.PASSWORD_IN_COMMENT.KOTLIN.desc.fixed_key_length": "Write a fixed length of key.",
  "option.PASSWORD_IN_COMMENT.KOTLIN.desc.password_expr": "Write the expression of a string that may be considered as a password.\nExample) password",
  "option.PASSWORD_IN_COMMENT.KOTLIN.desc.using_fixed_key_length": "If the option is enabled, the fixed length of key string will be detected.",
  "option.PASSWORD_IN_COMMENT.KOTLIN.title.allowed_max_word_length": "Maximum consecutive word length",
  "option.PASSWORD_IN_COMMENT.KOTLIN.title.check_password_only": "Check password expressions solely existing",
  "option.PASSWORD_IN_COMMENT.KOTLIN.title.consecutive_word_expr": "Consecutive word expressions to detect",
  "option.PASSWORD_IN_COMMENT.KOTLIN.title.fixed_key_length": "A fixed length of key",
  "option.PASSWORD_IN_COMMENT.KOTLIN.title.password_expr": "Password expression",
  "option.PASSWORD_IN_COMMENT.KOTLIN.title.using_fixed_key_length": "Check a fixed length of key",
  "option.PASSWORD_IN_COMMENT.OBJC.desc.allowed_max_word_length": "Write the maximum length of a single word to be allowed in comments.\nExample) 40",
  "option.PASSWORD_IN_COMMENT.OBJC.desc.check_header": "If the option is enabled, all comments in the header files will be checked.",
  "option.PASSWORD_IN_COMMENT.OBJC.desc.check_password_only": "If selected, password expressions will be detected even if it exists solely.",
  "option.PASSWORD_IN_COMMENT.OBJC.desc.consecutive_word_expr": "Write an expression of the consecutive word which exceeds the maximum length to be detected.\nExample) [a-zA-Z0-9]+",
  "option.PASSWORD_IN_COMMENT.OBJC.desc.fixed_key_length": "Write a fixed length of key.",
  "option.PASSWORD_IN_COMMENT.OBJC.desc.password_expr": "Write the expression of a string that may be considered as a password.\nExample) password",
  "option.PASSWORD_IN_COMMENT.OBJC.desc.using_fixed_key_length": "If the option is enabled, the fixed length of key string will be detected.",
  "option.PASSWORD_IN_COMMENT.OBJC.title.allowed_max_word_length": "Maximum consecutive word length",
  "option.PASSWORD_IN_COMMENT.OBJC.title.check_header": "Inspect header files",
  "option.PASSWORD_IN_COMMENT.OBJC.title.check_password_only": "Check password expressions solely existing",
  "option.PASSWORD_IN_COMMENT.OBJC.title.consecutive_word_expr": "Consecutive word expressions to detect",
  "option.PASSWORD_IN_COMMENT.OBJC.title.fixed_key_length": "A fixed length of key",
  "option.PASSWORD_IN_COMMENT.OBJC.title.password_expr": "Password expression",
  "option.PASSWORD_IN_COMMENT.OBJC.title.using_fixed_key_length": "Check a fixed length of key",
  "option.PASSWORD_IN_COMMENT.PHP.desc.allowed_max_word_length": "Write the maximum length of a single word to be allowed in comments.\nExample) 40",
  "option.PASSWORD_IN_COMMENT.PHP.desc.check_password_only": "If selected, password expressions will be detected even if it exists solely.",
  "option.PASSWORD_IN_COMMENT.PHP.desc.consecutive_word_expr": "Write an expression of the consecutive word which exceeds the maximum length to be detected.\nExample) [a-zA-Z0-9]+",
  "option.PASSWORD_IN_COMMENT.PHP.desc.fixed_key_length": "Write a fixed length of key.",
  "option.PASSWORD_IN_COMMENT.PHP.desc.password_expr": "Write the expression of a string that may be considered as a password.\nExample) password",
  "option.PASSWORD_IN_COMMENT.PHP.desc.using_fixed_key_length": "If the option is enabled, the fixed length of key string will be detected.",
  "option.PASSWORD_IN_COMMENT.PHP.title.allowed_max_word_length": "Maximum consecutive word length",
  "option.PASSWORD_IN_COMMENT.PHP.title.check_password_only": "Check password expressions solely existing",
  "option.PASSWORD_IN_COMMENT.PHP.title.consecutive_word_expr": "Consecutive word expressions to detect",
  "option.PASSWORD_IN_COMMENT.PHP.title.fixed_key_length": "A fixed length of key",
  "option.PASSWORD_IN_COMMENT.PHP.title.password_expr": "Password expression",
  "option.PASSWORD_IN_COMMENT.PHP.title.using_fixed_key_length": "Check a fixed length of key",
  "option.PASSWORD_IN_COMMENT.desc.allowed_max_word_length": "Write the maximum length of a single word to be allowed in comments.\nExample) 40",
  "option.PASSWORD_IN_COMMENT.desc.check_header": "If the option is enabled, all comments in the header files will be checked.",
  "option.PASSWORD_IN_COMMENT.desc.check_password_only": "If selected, password expressions will be detected even if it exists solely.",
  "option.PASSWORD_IN_COMMENT.desc.consecutive_word_expr": "Write an expression of the consecutive word which exceeds the maximum length to be detected.\nExample) [a-zA-Z0-9]+",
  "option.PASSWORD_IN_COMMENT.desc.fixed_key_length": "Write a fixed length of key.",
  "option.PASSWORD_IN_COMMENT.desc.password_expr": "Write the expression of a string that may be considered as a password.\nExample) password",
  "option.PASSWORD_IN_COMMENT.desc.using_fixed_key_length": "If the option is enabled, the fixed length of key string will be detected.",
  "option.PASSWORD_IN_COMMENT.title.allowed_max_word_length": "Maximum consecutive word length",
  "option.PASSWORD_IN_COMMENT.title.check_header": "Inspect header files",
  "option.PASSWORD_IN_COMMENT.title.check_password_only": "Check password expressions solely existing",
  "option.PASSWORD_IN_COMMENT.title.consecutive_word_expr": "Consecutive word expressions to detect",
  "option.PASSWORD_IN_COMMENT.title.fixed_key_length": "A fixed length of key",
  "option.PASSWORD_IN_COMMENT.title.password_expr": "Password expression",
  "option.PASSWORD_IN_COMMENT.title.using_fixed_key_length": "Check a fixed length of key",
  "option.PASSWORD_IN_SERVLET_COMMENT.desc.password_variable": "Write the name of a variable that represents a password.",
  "option.PASSWORD_IN_SERVLET_COMMENT.title.password_variable": "Name of the variable representing a password",
  "option.PASSWORD_MANAGEMENT_HARDCODED_PASSWORD.desc.exclude_extension": "Write an exclude file extension.",
  "option.PASSWORD_MANAGEMENT_HARDCODED_PASSWORD.desc.rule": "Write malicious URL rules.",
  "option.PASSWORD_MANAGEMENT_HARDCODED_PASSWORD.desc.target_extension": "Write a target of file extension.",
  "option.PASSWORD_MANAGEMENT_HARDCODED_PASSWORD.title.exclude_extension": "Exclusion of file extension",
  "option.PASSWORD_MANAGEMENT_HARDCODED_PASSWORD.title.rule": "Detection rule",
  "option.PASSWORD_MANAGEMENT_HARDCODED_PASSWORD.title.target_extension": "Target of file extension",
  "option.PASSWORD_MANAGEMENT_PASSWORD_IN_COMMENT.desc.exclude_extension": "Write an exclude file extension.",
  "option.PASSWORD_MANAGEMENT_PASSWORD_IN_COMMENT.desc.rule": "Write malicious URL rules.",
  "option.PASSWORD_MANAGEMENT_PASSWORD_IN_COMMENT.desc.target_extension": "Write a target of file extension.",
  "option.PASSWORD_MANAGEMENT_PASSWORD_IN_COMMENT.title.exclude_extension": "Exclusion of file extension",
  "option.PASSWORD_MANAGEMENT_PASSWORD_IN_COMMENT.title.rule": "Detection rule",
  "option.PASSWORD_MANAGEMENT_PASSWORD_IN_COMMENT.title.target_extension": "Target of file extension",
  "option.PASSWORD_SAVED_FILE_WITHOUT_ENCRYPTION.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.PASSWORD_SAVED_FILE_WITHOUT_ENCRYPTION.desc.exclude": "A filter is considered safe if it is defined like this \"if\" {filter_target}\nfilter_target: filter expression for the pollution value (includes method definition).",
  "option.PASSWORD_SAVED_FILE_WITHOUT_ENCRYPTION.desc.propagator": "If a propagator is defined as follows, it propagates a tainted value. {propagator_target}\npropagator_target: propagation expression for the tainted value. (including method definition)",
  "option.PASSWORD_SAVED_FILE_WITHOUT_ENCRYPTION.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.PASSWORD_SAVED_FILE_WITHOUT_ENCRYPTION.title.alarm": "Detection rule",
  "option.PASSWORD_SAVED_FILE_WITHOUT_ENCRYPTION.title.exclude": "Exception rule",
  "option.PASSWORD_SAVED_FILE_WITHOUT_ENCRYPTION.title.propagator": "Propagator name",
  "option.PASSWORD_SAVED_FILE_WITHOUT_ENCRYPTION.title.suggestion_filter_function": "Suggested filter function",
  "option.PATH_CONTAMINATION.GO.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) operand(*) of \"in\"",
  "option.PATH_CONTAMINATION.GO.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) sparrow.my.filter.utils.is_safe()",
  "option.PATH_CONTAMINATION.GO.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.PATH_CONTAMINATION.GO.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) base of name(\"openConnection\")",
  "option.PATH_CONTAMINATION.GO.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(\"java.io.BufferedInputStream.read(byte[])\")",
  "option.PATH_CONTAMINATION.GO.title.taint_filter": "External information filter",
  "option.PATH_CONTAMINATION.GO.title.taint_filter_function_fqn": "Custom external information filter",
  "option.PATH_CONTAMINATION.GO.title.taint_propagator": "External information propagator",
  "option.PATH_CONTAMINATION.GO.title.taint_sink": "External information sink",
  "option.PATH_CONTAMINATION.GO.title.taint_source": "External information source",
  "option.PATH_CONTAMINATION.JS.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(*) of name(\"filter\")",
  "option.PATH_CONTAMINATION.JS.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.PATH_CONTAMINATION.JS.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\"+\") to return",
  "option.PATH_CONTAMINATION.JS.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(1) of name(\"getFile\")",
  "option.PATH_CONTAMINATION.JS.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of fqn(\"document.URL\")",
  "option.PATH_CONTAMINATION.JS.title.taint_filter": "External information filter",
  "option.PATH_CONTAMINATION.JS.title.taint_filter_function_fqn": "Custom external information filter",
  "option.PATH_CONTAMINATION.JS.title.taint_propagator": "External information propagator",
  "option.PATH_CONTAMINATION.JS.title.taint_sink": "External information sink",
  "option.PATH_CONTAMINATION.JS.title.taint_source": "External information source",
  "option.PATH_MANIPULATION.KOTLIN.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) operand(*) of \"in\"",
  "option.PATH_MANIPULATION.KOTLIN.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) sparrow.my.filter.utils.is_safe()",
  "option.PATH_MANIPULATION.KOTLIN.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.PATH_MANIPULATION.KOTLIN.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(*) of fqn(\"java.io.File\")",
  "option.PATH_MANIPULATION.KOTLIN.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(\"java.io.BufferedInputStream.read(byte[])\")",
  "option.PATH_MANIPULATION.KOTLIN.title.taint_filter": "External information filter",
  "option.PATH_MANIPULATION.KOTLIN.title.taint_filter_function_fqn": "Custom external information filter",
  "option.PATH_MANIPULATION.KOTLIN.title.taint_propagator": "External information propagator",
  "option.PATH_MANIPULATION.KOTLIN.title.taint_sink": "External information sink",
  "option.PATH_MANIPULATION.KOTLIN.title.taint_source": "External information source",
  "option.PATH_MANIPULATION.OBJC.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.PATH_MANIPULATION.OBJC.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.PATH_MANIPULATION.OBJC.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) strcpy$param(2)->param(1)",
  "option.PATH_MANIPULATION.OBJC.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) NSFileManager.contentsAtPath:$param(1)",
  "option.PATH_MANIPULATION.OBJC.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) getenv$return",
  "option.PATH_MANIPULATION.OBJC.title.taint_filter": "External information filter",
  "option.PATH_MANIPULATION.OBJC.title.taint_filter_function_fqn": "Custom external information filter",
  "option.PATH_MANIPULATION.OBJC.title.taint_propagator": "External information propagator",
  "option.PATH_MANIPULATION.OBJC.title.taint_sink": "External information sink",
  "option.PATH_MANIPULATION.OBJC.title.taint_source": "External information source",
  "option.PATH_MANIPULATION.PHP.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(*) of name(\"filter\")",
  "option.PATH_MANIPULATION.PHP.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.PATH_MANIPULATION.PHP.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\".\") to return",
  "option.PATH_MANIPULATION.PHP.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(1) of name(\"fread\")",
  "option.PATH_MANIPULATION.PHP.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of name(\"$_GET\")",
  "option.PATH_MANIPULATION.PHP.title.taint_filter": "External information filter",
  "option.PATH_MANIPULATION.PHP.title.taint_filter_function_fqn": "Custom external information filter",
  "option.PATH_MANIPULATION.PHP.title.taint_propagator": "External information propagator",
  "option.PATH_MANIPULATION.PHP.title.taint_sink": "External information sink",
  "option.PATH_MANIPULATION.PHP.title.taint_source": "External information source",
  "option.PATH_MANIPULATION.PYTHON.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.PATH_MANIPULATION.PYTHON.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.PATH_MANIPULATION.PYTHON.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) \\.$operand(*)->return",
  "option.PATH_MANIPULATION.PYTHON.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) fread$param(1)",
  "option.PATH_MANIPULATION.PYTHON.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) \\$_GET$variable",
  "option.PATH_MANIPULATION.PYTHON.title.taint_filter": "External information filter",
  "option.PATH_MANIPULATION.PYTHON.title.taint_filter_function_fqn": "Custom external information filter",
  "option.PATH_MANIPULATION.PYTHON.title.taint_propagator": "External information propagator",
  "option.PATH_MANIPULATION.PYTHON.title.taint_sink": "External information sink",
  "option.PATH_MANIPULATION.PYTHON.title.taint_source": "External information source",
  "option.PATH_MANIPULATION.VBNET.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.PATH_MANIPULATION.VBNET.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.PATH_MANIPULATION.VBNET.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) &$operand(*)->return",
  "option.PATH_MANIPULATION.VBNET.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) shell$param(*)",
  "option.PATH_MANIPULATION.VBNET.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) request\\.form$return",
  "option.PATH_MANIPULATION.VBNET.title.taint_filter": "External information filter",
  "option.PATH_MANIPULATION.VBNET.title.taint_filter_function_fqn": "Custom external information filter",
  "option.PATH_MANIPULATION.VBNET.title.taint_propagator": "External information propagator",
  "option.PATH_MANIPULATION.VBNET.title.taint_sink": "External information sink",
  "option.PATH_MANIPULATION.VBNET.title.taint_source": "External information source",
  "option.PATH_MANIPULATION.VBS.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.PATH_MANIPULATION.VBS.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.PATH_MANIPULATION.VBS.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) &$operand(*)->return",
  "option.PATH_MANIPULATION.VBS.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\n example) .*\\.getfile$param(*)",
  "option.PATH_MANIPULATION.VBS.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) request\\.form$return",
  "option.PATH_MANIPULATION.VBS.title.taint_filter": "External information filter",
  "option.PATH_MANIPULATION.VBS.title.taint_filter_function_fqn": "Custom external information filter",
  "option.PATH_MANIPULATION.VBS.title.taint_propagator": "External information propagator",
  "option.PATH_MANIPULATION.VBS.title.taint_sink": "External information sink",
  "option.PATH_MANIPULATION.VBS.title.taint_source": "External information source",
  "option.PATH_TRAVERSAL.TOBE.JS.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(*) of name(\"filter\")",
  "option.PATH_TRAVERSAL.TOBE.JS.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.PATH_TRAVERSAL.TOBE.JS.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\"+\") to return",
  "option.PATH_TRAVERSAL.TOBE.JS.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(*) of fqn(\"trace\")",
  "option.PATH_TRAVERSAL.TOBE.JS.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of fqn(reg(\"@miplatform_edit.*\"))",
  "option.PATH_TRAVERSAL.TOBE.JS.title.taint_filter": "External information filter",
  "option.PATH_TRAVERSAL.TOBE.JS.title.taint_filter_function_fqn": "Custom external information filter",
  "option.PATH_TRAVERSAL.TOBE.JS.title.taint_propagator": "External information propagator",
  "option.PATH_TRAVERSAL.TOBE.JS.title.taint_sink": "External information sink",
  "option.PATH_TRAVERSAL.TOBE.JS.title.taint_source": "External information source",
  "option.PATH_TRAVERSAL.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.PATH_TRAVERSAL.desc.exclude": "A filter is considered safe if it is defined like this \"if\" {filter_target}\nfilter_target: filter expression for the pollution value (includes method definition).",
  "option.PATH_TRAVERSAL.desc.propagator": "If a propagator is defined as follows, it propagates a tainted value. {propagator_target}\npropagator_target: propagation expression for the tainted value. (including method definition)",
  "option.PATH_TRAVERSAL.desc.sink_call": "Write the name of the function causing risks when containing sensitive information.\nExample) unlink",
  "option.PATH_TRAVERSAL.desc.source_call": "Specify functions that receives sensitive information.\nExample) getenv",
  "option.PATH_TRAVERSAL.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.PATH_TRAVERSAL.title.alarm": "Detection rule",
  "option.PATH_TRAVERSAL.title.exclude": "Exception rule",
  "option.PATH_TRAVERSAL.title.propagator": "Propagator name",
  "option.PATH_TRAVERSAL.title.sink_call": "Function leaking sensitive information",
  "option.PATH_TRAVERSAL.title.source_call": "Function receiving sensitive information",
  "option.PATH_TRAVERSAL.title.suggestion_filter_function": "Suggested filter function",
  "option.PERSISTENT_COOKIE.CPP.desc.max_time": "Set the number of seconds allowed.",
  "option.PERSISTENT_COOKIE.CPP.title.max_time": "Allow Time (seconds)",
  "option.PERSISTENT_COOKIE.KOTLIN.desc.max_timeout": "Write the maximum lifetime of the cookies.\nExample) 3600",
  "option.PERSISTENT_COOKIE.KOTLIN.title.max_timeout": "Maximum lifetime of the cookie",
  "option.PERSISTENT_COOKIE.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.PERSISTENT_COOKIE.desc.exclude": "A filter is considered safe if it is defined like this \"if\" {filter_target}\nfilter_target: filter expression for the pollution value (includes method definition).",
  "option.PERSISTENT_COOKIE.desc.propagator": "If a propagator is defined as follows, it propagates a tainted value. {propagator_target}\npropagator_target: propagation expression for the tainted value. (including method definition)",
  "option.PERSISTENT_COOKIE.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.PERSISTENT_COOKIE.title.alarm": "Detection rule",
  "option.PERSISTENT_COOKIE.title.exclude": "Exception rule",
  "option.PERSISTENT_COOKIE.title.propagator": "Propagator name",
  "option.PERSISTENT_COOKIE.title.suggestion_filter_function": "Suggested filter function",
  "option.PLAINTEXT_PASSWORD.desc.clear_call": "Write the name of the function that checks sensitive information for security.\nExample) verify",
  "option.PLAINTEXT_PASSWORD.desc.sink_call": "Write the name of the function causing risks when containing sensitive information.\nExample) SQLConnect",
  "option.PLAINTEXT_PASSWORD.desc.source_variable": "Write the name of the variable containing sensitive information.\nExample) passwd",
  "option.PLAINTEXT_PASSWORD.title.clear_call": "Function to check for sensitive information",
  "option.PLAINTEXT_PASSWORD.title.sink_call": "Function leaking sensitive information",
  "option.PLAINTEXT_PASSWORD.title.source_variable": "Sensitive information variable",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.KOTLIN.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) return of fqn(\"java.security.MessageDigest.digest\")",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.KOTLIN.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) sparrow.my.filter.utils.is_safe()",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.KOTLIN.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.KOTLIN.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(*) of name(\"write\")",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.KOTLIN.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of fqn(reg(\"^(?!.*encrypted).*[pP]assw(or)?d\"))",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.KOTLIN.title.taint_filter": "External information filter",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.KOTLIN.title.taint_filter_function_fqn": "Custom external information filter",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.KOTLIN.title.taint_propagator": "External information propagator",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.KOTLIN.title.taint_sink": "External information sink",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.KOTLIN.title.taint_source": "External information source",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.PHP.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) return of name(\"mcrypt_encrypt\")",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.PHP.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.PHP.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\".\") to return",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.PHP.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(2) of name(\"fwrite\")",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.PHP.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of name(\"$_GET\")",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.PHP.desc.target_info": "Write a pattern for the name of the target information.\nExample) password",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.PHP.title.taint_filter": "External information filter",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.PHP.title.taint_filter_function_fqn": "Custom external information filter",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.PHP.title.taint_propagator": "External information propagator",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.PHP.title.taint_sink": "External information sink",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.PHP.title.taint_source": "External information source",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.PHP.title.target_info": "Target information",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.PYTHON.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.PYTHON.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.PYTHON.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) \\\\.$operand(*)->return",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.PYTHON.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) fwrite$param(2)",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.PYTHON.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) \\\\$_GET$variable",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.PYTHON.title.taint_filter": "External information filter",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.PYTHON.title.taint_filter_function_fqn": "Custom external information filter",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.PYTHON.title.taint_propagator": "External information propagator",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.PYTHON.title.taint_sink": "External information sink",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.PYTHON.title.taint_source": "External information source",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.SWIFT.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.SWIFT.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.SWIFT.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) \\.$operand(*)->return",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.SWIFT.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) __sparrow_OBJC_echo__$param(*)",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.SWIFT.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) \\$_GET$variable",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.SWIFT.title.taint_filter": "External information filter",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.SWIFT.title.taint_filter_function_fqn": "Custom external information filter",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.SWIFT.title.taint_propagator": "External information propagator",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.SWIFT.title.taint_sink": "External information sink",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.SWIFT.title.taint_source": "External information source",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.TOBE.JS.desc.sensitive_pattern": "write sensitive information pattern",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.TOBE.JS.desc.target_variable": "Enter variables to restrict sensitive information.",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.TOBE.JS.title.sensitive_pattern": "information pattern",
  "option.PLAIN_TEXT_STORING.SENSITIVE_INFORMATION.TOBE.JS.title.target_variable": "Variable Name",
  "option.PLAIN_TEXT_TRANSMISSION.SENSITIVE_INFORMATION.PHP.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) return of name(\"mcrypt_encrypt\")",
  "option.PLAIN_TEXT_TRANSMISSION.SENSITIVE_INFORMATION.PHP.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.PLAIN_TEXT_TRANSMISSION.SENSITIVE_INFORMATION.PHP.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\".\") to return",
  "option.PLAIN_TEXT_TRANSMISSION.SENSITIVE_INFORMATION.PHP.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(2) of name(\"socket_send\")",
  "option.PLAIN_TEXT_TRANSMISSION.SENSITIVE_INFORMATION.PHP.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of name(\"$_GET\")",
  "option.PLAIN_TEXT_TRANSMISSION.SENSITIVE_INFORMATION.PHP.desc.target_info": "Write a pattern for the name of the target information.\nExample) password",
  "option.PLAIN_TEXT_TRANSMISSION.SENSITIVE_INFORMATION.PHP.title.taint_filter": "External information filter",
  "option.PLAIN_TEXT_TRANSMISSION.SENSITIVE_INFORMATION.PHP.title.taint_filter_function_fqn": "Custom external information filter",
  "option.PLAIN_TEXT_TRANSMISSION.SENSITIVE_INFORMATION.PHP.title.taint_propagator": "External information propagator",
  "option.PLAIN_TEXT_TRANSMISSION.SENSITIVE_INFORMATION.PHP.title.taint_sink": "External information sink",
  "option.PLAIN_TEXT_TRANSMISSION.SENSITIVE_INFORMATION.PHP.title.taint_source": "External information source",
  "option.PLAIN_TEXT_TRANSMISSION.SENSITIVE_INFORMATION.PHP.title.target_info": "Target information",
  "option.PLAIN_TEXT_TRANSMISSION.SENSITIVE_INFORMATION.PYTHON.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.PLAIN_TEXT_TRANSMISSION.SENSITIVE_INFORMATION.PYTHON.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.PLAIN_TEXT_TRANSMISSION.SENSITIVE_INFORMATION.PYTHON.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) \\\\.$operand(*)->return",
  "option.PLAIN_TEXT_TRANSMISSION.SENSITIVE_INFORMATION.PYTHON.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(2) of socket_send",
  "option.PLAIN_TEXT_TRANSMISSION.SENSITIVE_INFORMATION.PYTHON.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) \\\\$_GET$variable",
  "option.PLAIN_TEXT_TRANSMISSION.SENSITIVE_INFORMATION.PYTHON.title.taint_filter": "External information filter",
  "option.PLAIN_TEXT_TRANSMISSION.SENSITIVE_INFORMATION.PYTHON.title.taint_filter_function_fqn": "Custom external information filter",
  "option.PLAIN_TEXT_TRANSMISSION.SENSITIVE_INFORMATION.PYTHON.title.taint_propagator": "External information propagator",
  "option.PLAIN_TEXT_TRANSMISSION.SENSITIVE_INFORMATION.PYTHON.title.taint_sink": "External information sink",
  "option.PLAIN_TEXT_TRANSMISSION.SENSITIVE_INFORMATION.PYTHON.title.taint_source": "External information source",
  "option.POOR_LOGGING_PRACTICE.CSHARP.desc.logging_method": "Write poor logging method.\nExample) WriteLine",
  "option.POOR_LOGGING_PRACTICE.CSHARP.title.logging_method": "Poor logging method",
  "option.PORTABILITY_FLAW.FILE_SEPARATOR.CSHARP.desc.file_separators": "Write hard-coded file separators.\nExample) //",
  "option.PORTABILITY_FLAW.FILE_SEPARATOR.CSHARP.title.file_separators": "File separators",
  "option.PORTABILITY_FLAW.FILE_SEPARATOR.PYTHON.desc.file_separators": "Write hard-coded file separators.\nExample) //",
  "option.PORTABILITY_FLAW.FILE_SEPARATOR.PYTHON.desc.path_consumer": "Write the function using file path.\nExample) open:name:1",
  "option.PORTABILITY_FLAW.FILE_SEPARATOR.PYTHON.title.file_separators": "File separators",
  "option.PORTABILITY_FLAW.FILE_SEPARATOR.PYTHON.title.path_consumer": "Path function",
  "option.POTENTIAL_INFINITE_LOOP.desc.ignore_assigned_in_for_body": "The issue of loop counter changing inside the for loop block is ignored if chosen to do so.",
  "option.POTENTIAL_INFINITE_LOOP.desc.ignore_empty_condition_in_for": "The issue of empty conditions of for loop is ignored if chosen to do so.",
  "option.POTENTIAL_INFINITE_LOOP.desc.ignore_while_true_idiom": "If the option is enabled, intentional infinite loop like for(;;) or while(1) will be ignored.",
  "option.POTENTIAL_INFINITE_LOOP.title.ignore_assigned_in_for_body": "Ignore issues of loop counter changing inside the for loop block.",
  "option.POTENTIAL_INFINITE_LOOP.title.ignore_empty_condition_in_for": "Ignore issues of empty conditions of for loop.",
  "option.POTENTIAL_INFINITE_LOOP.title.ignore_while_true_idiom": "Ignore issues about intentional infinite loop",
  "option.PREDICTABLE_RANDOM_SEED.KOTLIN.desc.time_method_fqn": "Enter the Fully Qualified Name (FQN) of the method related to detection time. It will be detected if the method is set as the seed value.",
  "option.PREDICTABLE_RANDOM_SEED.KOTLIN.title.time_method_fqn": "Time-related methods",
  "option.PREVENT_DESERIALIZATION_OF_UNTRUSTED_DATA.desc.exclude_method": "Write method names to be excluded from the analysis.\nExample).*Print",
  "option.PREVENT_DESERIALIZATION_OF_UNTRUSTED_DATA.desc.exclude_path": "Enter paths to be excluded from the analysis.\nExample).*\\\\test\\\\.*",
  "option.PREVENT_DESERIALIZATION_OF_UNTRUSTED_DATA.title.exclude_method": "Excluding method",
  "option.PREVENT_DESERIALIZATION_OF_UNTRUSTED_DATA.title.exclude_path": "Excluded path",
  "option.PREVENT_SENSITIVE_DATA_WRITE_TO_DISK.desc.target_var_name": "Set variables name which will be include in analysis.\nExample) secret",
  "option.PREVENT_SENSITIVE_DATA_WRITE_TO_DISK.title.target_var_name": "Target Variable Name",
  "option.PREVENT_XML_INSERTION.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.PREVENT_XML_INSERTION.desc.exclude": "A filter is considered safe if it is defined like this \"if\" {filter_target}\nfilter_target: filter expression for the pollution value (includes method definition).",
  "option.PREVENT_XML_INSERTION.desc.propagator": "If a propagator is defined as follows, it propagates a tainted value. {propagator_target}\npropagator_target: propagation expression for the tainted value. (including method definition)",
  "option.PREVENT_XML_INSERTION.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.PREVENT_XML_INSERTION.title.alarm": "Detection rule",
  "option.PREVENT_XML_INSERTION.title.exclude": "Exception rule",
  "option.PREVENT_XML_INSERTION.title.propagator": "Propagator name",
  "option.PREVENT_XML_INSERTION.title.suggestion_filter_function": "Suggested filter function",
  "option.PRIVACY.ACCOUNT.desc.exclude_extension": "Set file extensions which will be excluded in analysis.\nExample) java",
  "option.PRIVACY.ACCOUNT.desc.rule": "Write regular expression of accounts.",
  "option.PRIVACY.ACCOUNT.title.exclude_extension": "Exclude file extension",
  "option.PRIVACY.ACCOUNT.title.rule": "Regular expression of accounts",
  "option.PRIVACY.CREDIT_CARD.desc.exclude_extension": "Set file extensions which will be excluded in analysis.\nExample) java",
  "option.PRIVACY.CREDIT_CARD.desc.rule": "Write regular expression of credit cards.",
  "option.PRIVACY.CREDIT_CARD.title.exclude_extension": "Exclude file extension",
  "option.PRIVACY.CREDIT_CARD.title.rule": "Regular expression of credit cards",
  "option.PRIVACY.DRIVER_LIC.desc.exclude_extension": "Set file extensions which will be excluded in analysis.\nExample) java",
  "option.PRIVACY.DRIVER_LIC.desc.rule": "Write regular expression of driver licenses.",
  "option.PRIVACY.DRIVER_LIC.title.exclude_extension": "Exclude file extension",
  "option.PRIVACY.DRIVER_LIC.title.rule": "Regular expression of driver licenses",
  "option.PRIVACY.EMAIL.desc.exclude_extension": "Set file extensions which will be excluded in analysis.\nExample) java",
  "option.PRIVACY.EMAIL.desc.rule": "Write regular expression of e-mail.",
  "option.PRIVACY.EMAIL.title.exclude_extension": "Exclude file extension",
  "option.PRIVACY.EMAIL.title.rule": "Regular expression of e-mail",
  "option.PRIVACY.FOREIGNER_ID.desc.exclude_extension": "Set file extensions which will be excluded in analysis.\nExample) java",
  "option.PRIVACY.FOREIGNER_ID.desc.rule": "Wriet regular expression of foreigner id.",
  "option.PRIVACY.FOREIGNER_ID.title.exclude_extension": "Exclude file extension",
  "option.PRIVACY.FOREIGNER_ID.title.rule": "Regular expression of foreigner id",
  "option.PRIVACY.IP.desc.exclude_extension": "Set file extensions which will be excluded in analysis.\nExample) java",
  "option.PRIVACY.IP.desc.rule": "Write regular expression of ip address.",
  "option.PRIVACY.IP.title.exclude_extension": "Exclude file extension",
  "option.PRIVACY.IP.title.rule": "Regular expression of ip address",
  "option.PRIVACY.NATIONAL_ID.desc.exclude_extension": "Set file extensions which will be excluded in analysis.\nExample) java",
  "option.PRIVACY.NATIONAL_ID.desc.rule": "Write regular expression of national id.",
  "option.PRIVACY.NATIONAL_ID.title.exclude_extension": "Exclude file extension",
  "option.PRIVACY.NATIONAL_ID.title.rule": "Regular expression of national id",
  "option.PRIVACY.PASSPORT.desc.exclude_extension": "Set file extensions which will be excluded in analysis.\nExample) java",
  "option.PRIVACY.PASSPORT.desc.rule": "Write regular expression of passport numbers.",
  "option.PRIVACY.PASSPORT.title.exclude_extension": "Exclude file extension",
  "option.PRIVACY.PASSPORT.title.rule": "Regular expression of passport numbers",
  "option.PRIVACY.PHONE.desc.exclude_extension": "Set file extensions which will be excluded in analysis.\nExample) java",
  "option.PRIVACY.PHONE.desc.rule": "Write regular expression of phone numbers.",
  "option.PRIVACY.PHONE.title.exclude_extension": "Exclude file extension",
  "option.PRIVACY.PHONE.title.rule": "Regular expression of phone numbers",
  "option.PRIVACY_CONCERNS_USING_GEOLOCATION_API.desc.exclude_method": "Write method names to be excluded from the analysis.\nExample).*Print",
  "option.PRIVACY_CONCERNS_USING_GEOLOCATION_API.desc.exclude_path": "Enter paths to be excluded from the analysis.\nExample).*\\\\test\\\\.*",
  "option.PRIVACY_CONCERNS_USING_GEOLOCATION_API.title.exclude_method": "Excluding method",
  "option.PRIVACY_CONCERNS_USING_GEOLOCATION_API.title.exclude_path": "Excluded path",
  "option.PRIVACY_VIOLATION.JS.desc.forbidden_item": "Write name not to be saved",
  "option.PRIVACY_VIOLATION.JS.title.forbidden_item": "Name not to be saved",
  "option.PRIVACY_VIOLATION_SHOULDER_SURFING.CSHARP.desc.sensitive_property_pattern": "Enter sensitive property pattern.",
  "option.PRIVACY_VIOLATION_SHOULDER_SURFING.CSHARP.title.sensitive_property_pattern": "Sensitive property pattern.",
  "option.PRIVATE_COLLECTION.KOTLIN.desc.analysis_val": "If checked, the val variable is also checked.",
  "option.PRIVATE_COLLECTION.KOTLIN.desc.array_assignment": "Write the name of the method that assigns the array.",
  "option.PRIVATE_COLLECTION.KOTLIN.desc.array_only": "If the option is enabled, only private arrays will be checked.",
  "option.PRIVATE_COLLECTION.KOTLIN.desc.array_type": "Write the name of the array type.",
  "option.PRIVATE_COLLECTION.KOTLIN.desc.clone_method": "Write the name of the deep copy method.",
  "option.PRIVATE_COLLECTION.KOTLIN.desc.mutable_collection_assignment": "Write the name of the method that assigns the Mutable collection.",
  "option.PRIVATE_COLLECTION.KOTLIN.desc.mutable_collection_type": "Write the name of the Mutable collection type.",
  "option.PRIVATE_COLLECTION.KOTLIN.title.analysis_val": "Check the val variable",
  "option.PRIVATE_COLLECTION.KOTLIN.title.array_assignment": "Array assignment",
  "option.PRIVATE_COLLECTION.KOTLIN.title.array_only": "Check array only",
  "option.PRIVATE_COLLECTION.KOTLIN.title.array_type": "Array type",
  "option.PRIVATE_COLLECTION.KOTLIN.title.clone_method": "Deep copy method",
  "option.PRIVATE_COLLECTION.KOTLIN.title.mutable_collection_assignment": "Mutable selection assignment",
  "option.PRIVATE_COLLECTION.KOTLIN.title.mutable_collection_type": "Mutable collection type",
  "option.PRIVATE_COLLECTION.desc.check_array_only": "If the option is enabled, only private arrays will be checked.",
  "option.PRIVATE_COLLECTION.desc.excluded_class": "Write the name of a class to exclude.\nExample) .*Dto",
  "option.PRIVATE_COLLECTION.desc.excluded_method": "Write the name of a method to exclude.\nExample) .*Dto",
  "option.PRIVATE_COLLECTION.desc.excluded_package": "Write the name of a package to exclude.\nExample) .*dto",
  "option.PRIVATE_COLLECTION.title.check_array_only": "Check Array Only",
  "option.PRIVATE_COLLECTION.title.excluded_class": "Name of the class to exclude from the checking",
  "option.PRIVATE_COLLECTION.title.excluded_method": "Excluded Method",
  "option.PRIVATE_COLLECTION.title.excluded_package": "Excluded package",
  "option.PROCESS_CONTROL.desc.sink_call": "Write the name of the function causing risks when containing sensitive information.\nExample) dlopen",
  "option.PROCESS_CONTROL.desc.source_call": "Specify functions that receives sensitive information.\nExample) getenv",
  "option.PROCESS_CONTROL.title.sink_call": "Function leaking sensitive information",
  "option.PROCESS_CONTROL.title.source_call": "Function receiving sensitive information",
  "option.PROHIBIT_FUNC_IN_STDLIB.desc.check_misra_2004": "\"abort\", \"exit\", \"getenv\", \"system\" functions will be include in analysis.",
  "option.PROHIBIT_FUNC_IN_STDLIB.desc.check_misra_2012": "\"qsort\", \"bsearch\" functions will be include in analysis.",
  "option.PROHIBIT_FUNC_IN_STDLIB.desc.check_misra_2023": "The analysis includes functions`atof`, `atoi`, `atol`, and `atoll`.",
  "option.PROHIBIT_FUNC_IN_STDLIB.title.check_misra_2004": "Target function name",
  "option.PROHIBIT_FUNC_IN_STDLIB.title.check_misra_2012": "Target function name",
  "option.PROHIBIT_FUNC_IN_STDLIB.title.check_misra_2023": "Target function name",
  "option.PUBLIC_DATA_ASSIGNED_TO_PRIVATE_ARRAY.KOTLIN.desc.array_assignment": "Write the name of the method that assigns the array.",
  "option.PUBLIC_DATA_ASSIGNED_TO_PRIVATE_ARRAY.KOTLIN.desc.array_only": "If the option is enabled, only private arrays will be checked.",
  "option.PUBLIC_DATA_ASSIGNED_TO_PRIVATE_ARRAY.KOTLIN.desc.array_type": "Write the name of the array type.",
  "option.PUBLIC_DATA_ASSIGNED_TO_PRIVATE_ARRAY.KOTLIN.desc.mutable_collection_assignment": "Write the name of the method that assigns the Mutable collection.",
  "option.PUBLIC_DATA_ASSIGNED_TO_PRIVATE_ARRAY.KOTLIN.desc.mutable_collection_type": "Write the name of the Mutable collection type.",
  "option.PUBLIC_DATA_ASSIGNED_TO_PRIVATE_ARRAY.KOTLIN.title.array_assignment": "Array assignment",
  "option.PUBLIC_DATA_ASSIGNED_TO_PRIVATE_ARRAY.KOTLIN.title.array_only": "Check array only",
  "option.PUBLIC_DATA_ASSIGNED_TO_PRIVATE_ARRAY.KOTLIN.title.array_type": "Array type",
  "option.PUBLIC_DATA_ASSIGNED_TO_PRIVATE_ARRAY.KOTLIN.title.mutable_collection_assignment": "Mutable selection assignment",
  "option.PUBLIC_DATA_ASSIGNED_TO_PRIVATE_ARRAY.KOTLIN.title.mutable_collection_type": "Mutable collection type",
  "option.PUBLIC_DATA_ASSIGNED_TO_PRIVATE_ARRAY.desc.excluded_class": "Write the name of a class to exclude.\nExample) .*Dto",
  "option.PUBLIC_DATA_ASSIGNED_TO_PRIVATE_ARRAY.desc.excluded_method": "Write the name of a method to exclude.\nExample) .*Dto",
  "option.PUBLIC_DATA_ASSIGNED_TO_PRIVATE_ARRAY.desc.excluded_package": "Write the name of a package to exclude.\nExample) .*dto",
  "option.PUBLIC_DATA_ASSIGNED_TO_PRIVATE_ARRAY.title.excluded_class": "Name of the class to exclude from the checking",
  "option.PUBLIC_DATA_ASSIGNED_TO_PRIVATE_ARRAY.title.excluded_method": "Excluded Method",
  "option.PUBLIC_DATA_ASSIGNED_TO_PRIVATE_ARRAY.title.excluded_package": "Excluded package",
  "option.RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION.KOTLIN.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(*) of name(\"filter\")",
  "option.RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION.KOTLIN.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) sparrow.my.filter.utils.is_safe()",
  "option.RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION.KOTLIN.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION.KOTLIN.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) operand(*) of \"in\"",
  "option.RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION.KOTLIN.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(\"java.net.InetAddress.getByName\")",
  "option.RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION.KOTLIN.title.taint_filter": "External information filter",
  "option.RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION.KOTLIN.title.taint_filter_function_fqn": "Custom external information filter",
  "option.RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION.KOTLIN.title.taint_propagator": "External information propagator",
  "option.RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION.KOTLIN.title.taint_sink": "External information sink",
  "option.RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION.KOTLIN.title.taint_source": "External information source",
  "option.RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION.PYTHON.desc.taint_filter": "Write a name and a type of the function which filters external information.",
  "option.RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION.PYTHON.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.",
  "option.RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION.PYTHON.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION.PYTHON.desc.taint_sink": "Enter the name and type of the function that uses external inputs.\nExample) operand(*) of \"",
  "option.RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION.PYTHON.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(\"socket.gethostbyaddr\")",
  "option.RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION.PYTHON.title.taint_filter": "External information filter",
  "option.RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION.PYTHON.title.taint_filter_function_fqn": "Custom external information filter",
  "option.RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION.PYTHON.title.taint_propagator": "External information propagator",
  "option.RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION.PYTHON.title.taint_sink": "External information sink",
  "option.RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION.PYTHON.title.taint_source": "External information source",
  "option.RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION.VBNET.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION.VBNET.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION.VBNET.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) &$operand(*)->return",
  "option.RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION.VBNET.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) shell$param(*)",
  "option.RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION.VBNET.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) request\\.form$return",
  "option.RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION.VBNET.title.taint_filter": "External information filter",
  "option.RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION.VBNET.title.taint_filter_function_fqn": "Custom external information filter",
  "option.RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION.VBNET.title.taint_propagator": "External information propagator",
  "option.RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION.VBNET.title.taint_sink": "External information sink",
  "option.RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION.VBNET.title.taint_source": "External information source",
  "option.RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION.desc.exclude": "A filter is considered safe if it is defined like this \"if\" {filter_target}\nfilter_target: filter expression for the pollution value (includes method definition).",
  "option.RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION.desc.propagator": "If a propagator is defined as follows, it propagates a tainted value. {propagator_target}\npropagator_target: propagation expression for the tainted value. (including method definition)",
  "option.RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION.title.alarm": "Detection rule",
  "option.RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION.title.exclude": "Exception rule",
  "option.RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION.title.propagator": "Propagator name",
  "option.RELIANCE_ON_DNS_LOOKUPS_IN_A_SECURITY_DECISION.title.suggestion_filter_function": "Suggested filter function",
  "option.RELIANCE_ON_UNTRUSTED_ENV_INPUTS.OBJC.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) return of name(\"filter\")",
  "option.RELIANCE_ON_UNTRUSTED_ENV_INPUTS.OBJC.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.RELIANCE_ON_UNTRUSTED_ENV_INPUTS.OBJC.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(*) of name(\"add_header\")",
  "option.RELIANCE_ON_UNTRUSTED_ENV_INPUTS.OBJC.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(\"django.http.HttpRequest.field\")",
  "option.RELIANCE_ON_UNTRUSTED_ENV_INPUTS.OBJC.title.taint_filter": "External information filter",
  "option.RELIANCE_ON_UNTRUSTED_ENV_INPUTS.OBJC.title.taint_propagator": "External information propagator",
  "option.RELIANCE_ON_UNTRUSTED_ENV_INPUTS.OBJC.title.taint_sink": "External information sink",
  "option.RELIANCE_ON_UNTRUSTED_ENV_INPUTS.OBJC.title.taint_source": "External information source",
  "option.RELIANCE_ON_UNTRUSTED_ENV_INPUTS.SWIFT.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) return of name(\"filter\")",
  "option.RELIANCE_ON_UNTRUSTED_ENV_INPUTS.SWIFT.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.RELIANCE_ON_UNTRUSTED_ENV_INPUTS.SWIFT.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(*) of name(\"add_header\")",
  "option.RELIANCE_ON_UNTRUSTED_ENV_INPUTS.SWIFT.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(\"django.http.HttpRequest.field\")",
  "option.RELIANCE_ON_UNTRUSTED_ENV_INPUTS.SWIFT.title.taint_filter": "External information filter",
  "option.RELIANCE_ON_UNTRUSTED_ENV_INPUTS.SWIFT.title.taint_propagator": "External information propagator",
  "option.RELIANCE_ON_UNTRUSTED_ENV_INPUTS.SWIFT.title.taint_sink": "External information sink",
  "option.RELIANCE_ON_UNTRUSTED_ENV_INPUTS.SWIFT.title.taint_source": "External information source",
  "option.RELIANCE_ON_UNTRUSTED_INPUTS.desc.gather_function": "Write functions that use external input, return value or parameter location(FunctionName|ParameterPosition). It uses return value if ParameterPosition is 0.",
  "option.RELIANCE_ON_UNTRUSTED_INPUTS.desc.security_variable_regex": "Write the regular expression of the security decision variable.",
  "option.RELIANCE_ON_UNTRUSTED_INPUTS.desc.verification_function": "Write verification function.",
  "option.RELIANCE_ON_UNTRUSTED_INPUTS.title.gather_function": "Functions that use external input",
  "option.RELIANCE_ON_UNTRUSTED_INPUTS.title.security_variable_regex": "Security decision variable.",
  "option.RELIANCE_ON_UNTRUSTED_INPUTS.title.verification_function": "Verification function",
  "option.RELIANCE_ON_UNTRUSTED_INPUTS_IN_A_SECURITY_DECISION.PYTHON.desc.cookie_options": "The option detects a sensitive value that is retrieved from cookies.",
  "option.RELIANCE_ON_UNTRUSTED_INPUTS_IN_A_SECURITY_DECISION.PYTHON.title.cookie_options": "Sensitive value from COOKIE",
  "option.RELIANCE_ON_UNTRUSTED_INPUTS_IN_A_SECURITY_DECISION.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.RELIANCE_ON_UNTRUSTED_INPUTS_IN_A_SECURITY_DECISION.desc.exclude": "A filter is considered safe if it is defined like this \"if\" {filter_target}\nfilter_target: filter expression for the pollution value (includes method definition).",
  "option.RELIANCE_ON_UNTRUSTED_INPUTS_IN_A_SECURITY_DECISION.desc.propagator": "If a propagator is defined as follows, it propagates a tainted value. {propagator_target}\npropagator_target: propagation expression for the tainted value. (including method definition)",
  "option.RELIANCE_ON_UNTRUSTED_INPUTS_IN_A_SECURITY_DECISION.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.RELIANCE_ON_UNTRUSTED_INPUTS_IN_A_SECURITY_DECISION.title.alarm": "Detection rule",
  "option.RELIANCE_ON_UNTRUSTED_INPUTS_IN_A_SECURITY_DECISION.title.exclude": "Exception rule",
  "option.RELIANCE_ON_UNTRUSTED_INPUTS_IN_A_SECURITY_DECISION.title.propagator": "Propagator name",
  "option.RELIANCE_ON_UNTRUSTED_INPUTS_IN_A_SECURITY_DECISION.title.suggestion_filter_function": "Suggested filter function",
  "option.REMOTE_CODE_EXECUTION.PHP.desc.check_dynamic_include": "If selected, dynamic includes will be detected.",
  "option.REMOTE_CODE_EXECUTION.PHP.desc.forbidden_function": "Write a name of the function to be forbidden which executes codes remotely .\nExample) popen",
  "option.REMOTE_CODE_EXECUTION.PHP.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(1) of name(\"in_array\")",
  "option.REMOTE_CODE_EXECUTION.PHP.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.REMOTE_CODE_EXECUTION.PHP.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\".\") to return",
  "option.REMOTE_CODE_EXECUTION.PHP.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(*) of name(\"eval\")",
  "option.REMOTE_CODE_EXECUTION.PHP.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of name(\"$_GET\")",
  "option.REMOTE_CODE_EXECUTION.PHP.title.check_dynamic_include": "Check dynamic include",
  "option.REMOTE_CODE_EXECUTION.PHP.title.forbidden_function": "Remote code execution function to be forbidden",
  "option.REMOTE_CODE_EXECUTION.PHP.title.taint_filter": "External information filter",
  "option.REMOTE_CODE_EXECUTION.PHP.title.taint_filter_function_fqn": "Custom external information filter",
  "option.REMOTE_CODE_EXECUTION.PHP.title.taint_propagator": "External information propagator",
  "option.REMOTE_CODE_EXECUTION.PHP.title.taint_sink": "External information sink",
  "option.REMOTE_CODE_EXECUTION.PHP.title.taint_source": "External information source",
  "option.RESOURCE_INJECTION.JS.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(*) of name(\"filter\")",
  "option.RESOURCE_INJECTION.JS.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.RESOURCE_INJECTION.JS.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\"+\") to return",
  "option.RESOURCE_INJECTION.JS.desc.taint_sink": "Write a name of new expression causing risks when containing external information.\nExample) new webSocket$param(1)",
  "option.RESOURCE_INJECTION.JS.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of fqn(\"document.URL\")",
  "option.RESOURCE_INJECTION.JS.title.taint_filter": "External information filter",
  "option.RESOURCE_INJECTION.JS.title.taint_filter_function_fqn": "Custom external information filter",
  "option.RESOURCE_INJECTION.JS.title.taint_propagator": "External information propagator",
  "option.RESOURCE_INJECTION.JS.title.taint_sink": "External information sink",
  "option.RESOURCE_INJECTION.JS.title.taint_source": "External information source",
  "option.RESOURCE_INJECTION.OBJC.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.RESOURCE_INJECTION.OBJC.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.RESOURCE_INJECTION.OBJC.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) strcpy$param(2)->param(1)",
  "option.RESOURCE_INJECTION.OBJC.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) CFStreamCreatePairWithSocketToHost$param(2)",
  "option.RESOURCE_INJECTION.OBJC.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) getenv$return",
  "option.RESOURCE_INJECTION.OBJC.title.taint_filter": "External information filter",
  "option.RESOURCE_INJECTION.OBJC.title.taint_filter_function_fqn": "Custom external information filter",
  "option.RESOURCE_INJECTION.OBJC.title.taint_propagator": "External information propagator",
  "option.RESOURCE_INJECTION.OBJC.title.taint_sink": "External information sink",
  "option.RESOURCE_INJECTION.OBJC.title.taint_source": "External information source",
  "option.RESOURCE_INJECTION.PORT.VBS.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.RESOURCE_INJECTION.PORT.VBS.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.RESOURCE_INJECTION.PORT.VBS.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) &$operand(*)->return",
  "option.RESOURCE_INJECTION.PORT.VBS.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nexample) operand(2) of \"=\" if operand(1) == reg(\"response\\.cookies.*\")",
  "option.RESOURCE_INJECTION.PORT.VBS.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) request\\.form$return",
  "option.RESOURCE_INJECTION.PORT.VBS.title.taint_filter": "External information filter",
  "option.RESOURCE_INJECTION.PORT.VBS.title.taint_filter_function_fqn": "Custom external information filter",
  "option.RESOURCE_INJECTION.PORT.VBS.title.taint_propagator": "External information propagator",
  "option.RESOURCE_INJECTION.PORT.VBS.title.taint_sink": "External information sink",
  "option.RESOURCE_INJECTION.PORT.VBS.title.taint_source": "External information source",
  "option.RESOURCE_INJECTION.PYTHON.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) operand(*) of \"in\"",
  "option.RESOURCE_INJECTION.PYTHON.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) sparrow.my.filter.utils.is_safe()",
  "option.RESOURCE_INJECTION.PYTHON.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.RESOURCE_INJECTION.PYTHON.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(*) of fqn(\"open\")",
  "option.RESOURCE_INJECTION.PYTHON.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of fqn(\"django.http.HttpRequest.GET\")",
  "option.RESOURCE_INJECTION.PYTHON.title.taint_filter": "External information filter",
  "option.RESOURCE_INJECTION.PYTHON.title.taint_filter_function_fqn": "Custom external information filter",
  "option.RESOURCE_INJECTION.PYTHON.title.taint_propagator": "External information propagator",
  "option.RESOURCE_INJECTION.PYTHON.title.taint_sink": "External information sink",
  "option.RESOURCE_INJECTION.PYTHON.title.taint_source": "External information source",
  "option.RESOURCE_INJECTION.SWIFT.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.RESOURCE_INJECTION.SWIFT.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.RESOURCE_INJECTION.SWIFT.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) strcpy$param(2)->param(1)",
  "option.RESOURCE_INJECTION.SWIFT.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) CFStreamCreatePairWithSocketToHost$param(2)",
  "option.RESOURCE_INJECTION.SWIFT.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) getenv$return",
  "option.RESOURCE_INJECTION.SWIFT.title.taint_filter": "External information filter",
  "option.RESOURCE_INJECTION.SWIFT.title.taint_filter_function_fqn": "Custom external information filter",
  "option.RESOURCE_INJECTION.SWIFT.title.taint_propagator": "External information propagator",
  "option.RESOURCE_INJECTION.SWIFT.title.taint_sink": "External information sink",
  "option.RESOURCE_INJECTION.SWIFT.title.taint_source": "External information source",
  "option.RESOURCE_INJECTION.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.RESOURCE_INJECTION.desc.exclude": "A filter is considered safe if it is defined like this \"if\" {filter_target}\nfilter_target: filter expression for the pollution value (includes method definition).",
  "option.RESOURCE_INJECTION.desc.propagator": "If a propagator is defined as follows, it propagates a tainted value. {propagator_target}\npropagator_target: propagation expression for the tainted value. (including method definition)",
  "option.RESOURCE_INJECTION.desc.sink_call": "Write the name of the function causing risks when containing sensitive information.\nExample) connect",
  "option.RESOURCE_INJECTION.desc.source_call": "Specify functions that receives sensitive information.\nExample) getenv",
  "option.RESOURCE_INJECTION.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.RESOURCE_INJECTION.title.alarm": "Detection rule",
  "option.RESOURCE_INJECTION.title.exclude": "Exception rule",
  "option.RESOURCE_INJECTION.title.propagator": "Propagator name",
  "option.RESOURCE_INJECTION.title.sink_call": "Function leaking sensitive information",
  "option.RESOURCE_INJECTION.title.source_call": "Function receiving sensitive information",
  "option.RESOURCE_INJECTION.title.suggestion_filter_function": "Suggested filter function",
  "option.RESOURCE_LEAK.KOTLIN.desc.resource_fqn": "Enter the Fully Qualified Name (FQN) of the class that requires resource release with close().",
  "option.RESOURCE_LEAK.KOTLIN.title.resource_fqn": "Resource class FQN",
  "option.RESTRICT_PARAM_VALUE_RANGE.desc.targets": "Describe target functions. \"function name, index, start-end\". Index starts with 0.",
  "option.RESTRICT_PARAM_VALUE_RANGE.title.targets": "Target function to analyze",
  "option.RETURN_IN_FINALLY.KOTLIN.desc.ignore_labeled": "Return statements with the label (@) are excluded from detection.",
  "option.RETURN_IN_FINALLY.KOTLIN.title.ignore_labeled": "Ignore label return",
  "option.RETURN_VALUE_SHOULD_BE_CONST.desc.allowed_return_constant": "Allow to return constant if the constant satisfy below condition(Regular Expression)",
  "option.RETURN_VALUE_SHOULD_BE_CONST.desc.check_constant_only": "Check only constant in return expression when the checkbox is checked.",
  "option.RETURN_VALUE_SHOULD_BE_CONST.title.allowed_return_constant": "Allowed return constant",
  "option.RETURN_VALUE_SHOULD_BE_CONST.title.check_constant_only": "Check constant only",
  "option.SAFELY_EXTRACT_FILES_FROM_ZIPINPUTSTREAM.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.SAFELY_EXTRACT_FILES_FROM_ZIPINPUTSTREAM.desc.exclude": "A filter is considered safe if it is defined like this. \"if\" filter\nfilter: filter expression for the tainted value (including definition for method).",
  "option.SAFELY_EXTRACT_FILES_FROM_ZIPINPUTSTREAM.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.SAFELY_EXTRACT_FILES_FROM_ZIPINPUTSTREAM.title.alarm": "Detection rule",
  "option.SAFELY_EXTRACT_FILES_FROM_ZIPINPUTSTREAM.title.exclude": "Exception rule",
  "option.SAFELY_EXTRACT_FILES_FROM_ZIPINPUTSTREAM.title.suggestion_filter_function": "Suggested filter function",
  "option.SAME_GROUP_CLASS_CALL.desc.call_rules": "Option to analyze whether classes within a business group adhere to specified call conventions. Up to 10 options can be set.",
  "option.SAME_GROUP_CLASS_CALL.desc.exclude_fqn_pattern": "Enter a regex of full package name of class, such as java.util.List, to be excluded in analysis.",
  "option.SAME_GROUP_CLASS_CALL.title.call_rules": "Class call convention checking",
  "option.SAME_GROUP_CLASS_CALL.title.exclude_fqn_pattern": "Full package name of class to be excluded",
  "option.SANITIZE_UNTRUSTED_DATA_PASSED_TO_A_REGEX.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.SANITIZE_UNTRUSTED_DATA_PASSED_TO_A_REGEX.desc.exclude": "A filter is considered safe if it is defined like this. \"if\" filter\nfilter: filter expression for the tainted value (including definition for method).",
  "option.SANITIZE_UNTRUSTED_DATA_PASSED_TO_A_REGEX.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.SANITIZE_UNTRUSTED_DATA_PASSED_TO_A_REGEX.title.alarm": "Detection rule",
  "option.SANITIZE_UNTRUSTED_DATA_PASSED_TO_A_REGEX.title.exclude": "Exception rule",
  "option.SANITIZE_UNTRUSTED_DATA_PASSED_TO_A_REGEX.title.suggestion_filter_function": "Suggested filter function",
  "option.SAQT.M.CCPP.7180.desc.mcc": "If the option is enabled, it calculates to increase the number of switch statements by only one, regardless of the number of case statements in the switch statement.",
  "option.SAQT.M.CCPP.7180.desc.threshold": "Enter the maximum number for the cyclomatic complexity. If exceeded, it will be identified as an issue.",
  "option.SAQT.M.CCPP.7180.title.mcc": "Count switch-case to 1",
  "option.SAQT.M.CCPP.7180.title.threshold": "Threshold",
  "option.SAQT.M.CCPP.7184.desc.threshold": "Enter the maximum number for the block depths. If exceeded, it will be identified as an issue.",
  "option.SAQT.M.CCPP.7184.title.threshold": "Threshold",
  "option.SAQT.M.CCPP.7187.desc.threshold": "Enter the maximum number for the parameters. If exceeded, it will be identified as an issue.",
  "option.SAQT.M.CCPP.7187.title.threshold": "Threshold",
  "option.SAQT.M.CCPP.7188.desc.ignore_implicit": "If the option is enabled, this will exclude counts of implicit calls from callers.",
  "option.SAQT.M.CCPP.7188.desc.threshold": "Enter the maximum number for the callers. If exceeded, it will be identified as an issue.",
  "option.SAQT.M.CCPP.7188.title.ignore_implicit": "Exclude implicit calls from calculation",
  "option.SAQT.M.CCPP.7188.title.threshold": "Threshold",
  "option.SAQT.M.CCPP.7189.desc.ignore_implicit": "If the option is enabled, this will exclude counts of callees invisible on the code or implicit calls of callees.",
  "option.SAQT.M.CCPP.7189.desc.threshold": "Enter the maximum number for the callees. If exceeded, it will be identified as an issue.",
  "option.SAQT.M.CCPP.7189.title.ignore_implicit": "Exclude implicit calls from calculation",
  "option.SAQT.M.CCPP.7189.title.threshold": "Threshold",
  "option.SAQT.M.CCPP.7190.desc.threshold": "Enter the maximum number for the executable code lines. If exceeded, it will be identified as an issue.",
  "option.SAQT.M.CCPP.7190.title.threshold": "Threshold",
  "option.SAQT.M.CCPP.7199.desc.threshold": "Enter the maximum number for the statements. If exceeded, it will be identified as an issue.",
  "option.SAQT.M.CCPP.7199.title.threshold": "Threshold",
  "option.SAQT.M.CCPP.7200.desc.threshold": "Enter the maximum number for the unique operands. If exceeded, it will be identified as an issue.",
  "option.SAQT.M.CCPP.7200.title.threshold": "Threshold",
  "option.SAQT.M.CCPP.7201.desc.threshold": "Enter the maximum number for the unique operators. If exceeded, it will be identified as an issue.",
  "option.SAQT.M.CCPP.7201.title.threshold": "Threshold",
  "option.SAQT.M.CCPP.7202.desc.threshold": "Enter the maximum number for the operands in total. If exceeded, it will be identified as an issue.",
  "option.SAQT.M.CCPP.7202.title.threshold": "Threshold",
  "option.SAQT.M.CCPP.7203.desc.threshold": "Enter the maximum number for the operators in total. If exceeded, it will be identified as an issue.",
  "option.SAQT.M.CCPP.7203.title.threshold": "Threshold",
  "option.SAQT.M.CCPP.7204.desc.threshold": "Enter the maximum number for the vocabulary size. If exceeded, it will be identified as an issue.",
  "option.SAQT.M.CCPP.7204.title.threshold": "Threshold",
  "option.SAQT.M.CCPP.7205.desc.threshold": "Enter the maximum number for the component size. If exceeded, it will be identified as an issue.",
  "option.SAQT.M.CCPP.7205.title.threshold": "Threshold",
  "option.SAQT.M.CCPP.7206.desc.threshold": "Enter the maximum number for the average statement size. If exceeded, it will be identified as an issue.",
  "option.SAQT.M.CCPP.7206.title.threshold": "Threshold",
  "option.SAQT.M.CCPP.7207.desc.threshold": "Enter the maximum number for the decision statements. If exceeded, it will be identified as an issue.",
  "option.SAQT.M.CCPP.7207.title.threshold": "Threshold",
  "option.SAQT.M.CCPP.7208.desc.threshold": "Enter the maximum number for the exit point. If exceeded, it will be identified as an issue.",
  "option.SAQT.M.CCPP.7208.title.threshold": "Threshold",
  "option.SAQT.M.CCPP.7209.desc.threshold": "Enter the maximum number for the unstructured jumps. If exceeded, it will be identified as an issue.",
  "option.SAQT.M.CCPP.7209.title.threshold": "Threshold",
  "option.SAQT.M.CS.7183.desc.mcc": "If the option is enabled, it calculates the number of switch statements to increase by one, regardless of the number of case statements in the switch statement.",
  "option.SAQT.M.CS.7183.desc.threshold": "Enter the maximum number for the cyclomatic complexity. If exceeded, it will be identified as an issue.",
  "option.SAQT.M.CS.7183.title.mcc": "Count switch-case to 1",
  "option.SAQT.M.CS.7183.title.threshold": "Threshold",
  "option.SAQT.M.CS.7186.desc.threshold": "Enter the maximum number for the block depths. If exceeded, it will be identified as an issue.",
  "option.SAQT.M.CS.7186.title.threshold": "Threshold",
  "option.SAQT.M.CS.7192.desc.threshold": "Enter the maximum number for the parameters. If exceeded, it will be identified as an issue.",
  "option.SAQT.M.CS.7192.title.threshold": "Threshold",
  "option.SAQT.M.CS.7194.desc.threshold": "Enter the maximum number for the callers. If exceeded, it will be identified as an issue.",
  "option.SAQT.M.CS.7194.title.threshold": "Threshold",
  "option.SAQT.M.CS.7196.desc.threshold": "Enter the maximum number for the callees. If exceeded, it will be identified as an issue.",
  "option.SAQT.M.CS.7196.title.threshold": "Threshold",
  "option.SAQT.M.CS.7198.desc.threshold": "Enter the maximum number for the executable code lines. If exceeded, it will be identified as an issue.",
  "option.SAQT.M.CS.7198.title.threshold": "Threshold",
  "option.SAQT.M.JAVA.7181.desc.mcc": "If the option is enabled, it calculates to increase the number of switch statements by only one, regardless of the number of case statements in the switch statement.",
  "option.SAQT.M.JAVA.7181.desc.threshold": "Enter the maximum number for the cyclomatic complexity. If exceeded, it will be identified as an issue.",
  "option.SAQT.M.JAVA.7181.title.mcc": "Count switch-case to 1",
  "option.SAQT.M.JAVA.7181.title.threshold": "Threshold",
  "option.SAQT.M.JAVA.7185.desc.threshold": "Enter the maximum number for the block depths. If exceeded, it will be identified as an issue.",
  "option.SAQT.M.JAVA.7185.title.threshold": "Threshold",
  "option.SAQT.M.JAVA.7191.desc.threshold": "Enter the maximum number for the parameters. If exceeded, it will be identified as an issue.",
  "option.SAQT.M.JAVA.7191.title.threshold": "Threshold",
  "option.SAQT.M.JAVA.7193.desc.threshold": "Enter the maximum number for the callers. If exceeded, it will be identified as an issue.",
  "option.SAQT.M.JAVA.7193.title.threshold": "Threshold",
  "option.SAQT.M.JAVA.7195.desc.threshold": "Enter the maximum number for the callees. If exceeded, it will be identified as an issue.",
  "option.SAQT.M.JAVA.7195.title.threshold": "Threshold",
  "option.SAQT.M.JAVA.7197.desc.threshold": "Enter the maximum number for the executable code lines. If exceeded, it will be identified as an issue.",
  "option.SAQT.M.JAVA.7197.title.threshold": "Threshold",
  "option.SAQT.Q.SQL.7169.desc.exclude_path_reg": "Option to exclude files from the analysis when file paths within the range of the input regular expression are found.",
  "option.SAQT.Q.SQL.7169.desc.exclude_path_str": "Option to exclude files from the analysis when file paths matching the input text are found.",
  "option.SAQT.Q.SQL.7169.desc.include_path_reg": "Option to include files in the analysis when file paths within the range of the input regular expression are found.",
  "option.SAQT.Q.SQL.7169.desc.include_path_str": "Option to include files in the analysis when file paths matching the input text are found.",
  "option.SAQT.Q.SQL.7169.title.exclude_path_reg": "Regular expression patterns for file paths to exclude from analysis",
  "option.SAQT.Q.SQL.7169.title.exclude_path_str": "Full paths of files to exclude from analysis",
  "option.SAQT.Q.SQL.7169.title.include_path_reg": "Regular expression patterns for file paths to include in analysis",
  "option.SAQT.Q.SQL.7169.title.include_path_str": "Full paths of files to include in analysis",
  "option.SAQT.Q.SQL.7170.desc.exclude_path_reg": "Option to exclude files from the analysis when file paths within the range of the input regular expression are found.",
  "option.SAQT.Q.SQL.7170.desc.exclude_path_str": "Option to exclude files from the analysis when file paths matching the input text are found.",
  "option.SAQT.Q.SQL.7170.desc.include_path_reg": "Option to include files in the analysis when file paths within the range of the input regular expression are found.",
  "option.SAQT.Q.SQL.7170.desc.include_path_str": "Option to include files in the analysis when file paths matching the input text are found.",
  "option.SAQT.Q.SQL.7170.desc.skip_parallel_with_degree": "When set to True, PARALLEL statements containing degree(integer), degree(MANUAL), or degree(DEFAULT) are excluded from analysis.",
  "option.SAQT.Q.SQL.7170.desc.target_crud": "Option to set which types of SQL statements to analyze among SELECT/INSERT/UPDATE/DELETE. For example, if (True, False, True, False) is entered for this option, only SELECT and UPDATE statements will be set as analysis targets. If all values in this option are set to False, all SQL statement types will be set as analysis targets.",
  "option.SAQT.Q.SQL.7170.title.exclude_path_reg": "Regular expression patterns for file paths to exclude from analysis",
  "option.SAQT.Q.SQL.7170.title.exclude_path_str": "Full paths of files to exclude from analysis",
  "option.SAQT.Q.SQL.7170.title.include_path_reg": "Regular expression patterns for file paths to include in analysis",
  "option.SAQT.Q.SQL.7170.title.include_path_str": "Full paths of files to include in analysis",
  "option.SAQT.Q.SQL.7170.title.skip_parallel_with_degree": "Exclude PARALLEL statements with degree values from analysis",
  "option.SAQT.Q.SQL.7170.title.target_crud": "Set target SQL statement types",
  "option.SAQT.Q.SQL.7214.desc.exclude_path_reg": "Option to exclude files from the analysis when file paths within the range of the input regular expression are found.",
  "option.SAQT.Q.SQL.7214.desc.exclude_path_str": "Option to exclude files from the analysis when file paths matching the input text are found.",
  "option.SAQT.Q.SQL.7214.desc.exclude_rownum_orderby_subquery": "Option to exclude cases where ROWNUM and ORDER BY are separated into subqueries within a single query from analysis.",
  "option.SAQT.Q.SQL.7214.desc.include_path_reg": "Option to include files in the analysis when file paths within the range of the input regular expression are found.",
  "option.SAQT.Q.SQL.7214.desc.include_path_str": "Option to include files in the analysis when file paths matching the input text are found.",
  "option.SAQT.Q.SQL.7214.title.exclude_path_reg": "Regular expression patterns for file paths to exclude from analysis",
  "option.SAQT.Q.SQL.7214.title.exclude_path_str": "Full paths of files to exclude from analysis",
  "option.SAQT.Q.SQL.7214.title.exclude_rownum_orderby_subquery": "Exclude cases where ROWNUM and ORDER BY are separated into subqueries",
  "option.SAQT.Q.SQL.7214.title.include_path_reg": "Regular expression patterns for file paths to include in analysis",
  "option.SAQT.Q.SQL.7214.title.include_path_str": "Full paths of files to include in analysis",
  "option.SAQT.Q.SQL.7215.desc.check_line_below": "Option to check if comments are located at the top (TOP) or bottom (BOT) of a statement.",
  "option.SAQT.Q.SQL.7215.desc.exclude_path_reg": "Option to exclude files from the analysis when file paths within the range of the input regular expression are found.",
  "option.SAQT.Q.SQL.7215.desc.exclude_path_str": "Option to exclude files from the analysis when file paths matching the input text are found.",
  "option.SAQT.Q.SQL.7215.desc.include_path_reg": "Option to include files in the analysis when file paths within the range of the input regular expression are found.",
  "option.SAQT.Q.SQL.7215.desc.include_path_str": "Option to include files in the analysis when file paths matching the input text are found.",
  "option.SAQT.Q.SQL.7215.desc.target_comments": "Option to input a regular expression and detect comments that don't match the range of the string. For example, if \"^/*SQL_ID:.**/$\" is entered, it will detect if comments are not in this format. If no input value is provided, this checker will not operate.",
  "option.SAQT.Q.SQL.7215.desc.target_crud": "Option to set which types of SQL statements to analyze among SELECT/INSERT/UPDATE/DELETE. For example, if (True, False, True, False) is entered for this option, only SELECT and UPDATE statements will be set as analysis targets. If all values in this option are set to False, all SQL statement types will be set as analysis targets.",
  "option.SAQT.Q.SQL.7215.title.check_line_below": "Specified position for comments to be detected",
  "option.SAQT.Q.SQL.7215.title.exclude_path_reg": "Regular expression patterns for file paths to exclude from analysis",
  "option.SAQT.Q.SQL.7215.title.exclude_path_str": "Full paths of files to exclude from analysis",
  "option.SAQT.Q.SQL.7215.title.include_path_reg": "Regular expression patterns for file paths to include in analysis",
  "option.SAQT.Q.SQL.7215.title.include_path_str": "Full paths of files to include in analysis",
  "option.SAQT.Q.SQL.7215.title.target_comments": "Allowed comment format patterns",
  "option.SAQT.Q.SQL.7215.title.target_crud": "Set target SQL statement types",
  "option.SAQT.Q.SQL.7217.desc.delete": "Enter strings containing 1. target file paths for analysis, 2. keywords to exclude from detection, and 3. required phrases for DELETE statements.",
  "option.SAQT.Q.SQL.7217.desc.insert": "Enter strings containing 1. target file paths for analysis, 2. keywords to exclude from detection, and 3. required phrases for INSERT statements.",
  "option.SAQT.Q.SQL.7217.desc.select": "Enter strings containing 1. target file paths for analysis, 2. keywords to exclude from detection, and 3. required phrases for SELECT statements.",
  "option.SAQT.Q.SQL.7217.desc.update": "Enter strings containing 1. target file paths for analysis, 2. keywords to exclude from detection, and 3. required phrases for UPDATE statements.",
  "option.SAQT.Q.SQL.7217.title.delete": "DELETE statement options",
  "option.SAQT.Q.SQL.7217.title.insert": "INSERT statement options",
  "option.SAQT.Q.SQL.7217.title.select": "SELECT statement options",
  "option.SAQT.Q.SQL.7217.title.update": "UPDATE statement options",
  "option.SAQT.Q.SQL.7218.desc.detect_subselect_alias": "When set to True, aliases in sub-selects directly under EXISTS are included in the analysis.",
  "option.SAQT.Q.SQL.7218.desc.detect_unused_tables": "When set to True, it detects tables in the FROM clause that are not actually used in the query and could be excluded. Note that it only checks aliases within the FROM clause. It does not check whether alias tables are used outside the FROM clause. In the following example, \"TABLE_NAME2 TAB2\" would be detected as unused.",
  "option.SAQT.Q.SQL.7218.desc.exclude_path_reg": "Option to exclude files from the analysis when file paths within the range of the input regular expression are found.",
  "option.SAQT.Q.SQL.7218.desc.exclude_path_str": "Option to exclude files from the analysis when file paths matching the input text are found.",
  "option.SAQT.Q.SQL.7218.desc.include_path_reg": "Option to include files in the analysis when file paths within the range of the input regular expression are found.",
  "option.SAQT.Q.SQL.7218.desc.include_path_str": "Option to include files in the analysis when file paths matching the input text are found.",
  "option.SAQT.Q.SQL.7218.desc.single_table_detection": "When set to True, single tables are included in the analysis. A single table means querying from only one table. If this option is set to True, DELETE statements will also be detected.",
  "option.SAQT.Q.SQL.7218.desc.target_crud": "Option to set which types of SQL statements to analyze among SELECT/INSERT/UPDATE/DELETE. For example, if (True, False, True, False) is entered for this option, only SELECT and UPDATE statements will be set as analysis targets. If all values in this option are set to False, all SQL statement types will be set as analysis targets.",
  "option.SAQT.Q.SQL.7218.title.detect_subselect_alias": "Check for EXISTS expression's SUB-SELECT (sub-SELECT directly under EXISTS) ALIAS",
  "option.SAQT.Q.SQL.7218.title.detect_unused_tables": "Check if tables specified in the FROM clause are actually used in the query",
  "option.SAQT.Q.SQL.7218.title.exclude_path_reg": "Regular expression patterns for file paths to exclude from analysis",
  "option.SAQT.Q.SQL.7218.title.exclude_path_str": "Full paths of files to exclude from analysis",
  "option.SAQT.Q.SQL.7218.title.include_path_reg": "Regular expression patterns for file paths to include in analysis",
  "option.SAQT.Q.SQL.7218.title.include_path_str": "Full paths of files to include in analysis",
  "option.SAQT.Q.SQL.7218.title.single_table_detection": "Single table checking",
  "option.SAQT.Q.SQL.7218.title.target_crud": "Set target SQL statement types",
  "option.SAQT.Q.SQL.7262.desc.delete": "Enter a string containing 1. target file paths for analysis, 2. keywords to exclude from detection, and 3. required phrases for DELETE statements.",
  "option.SAQT.Q.SQL.7262.desc.insert": "Enter a string containing 1. target file paths for analysis, 2. keywords to exclude from detection, and 3. required phrases for INSERT statements.",
  "option.SAQT.Q.SQL.7262.desc.select": "Enter a string containing 1. target file paths for analysis, 2. keywords to exclude from detection, and 3. required phrases for SELECT statements.",
  "option.SAQT.Q.SQL.7262.desc.update": "Enter a string containing 1. target file paths for analysis, 2. keywords to exclude from detection, and 3. required phrases for UPDATE statements.",
  "option.SAQT.Q.SQL.7262.title.delete": "DELETE statement options",
  "option.SAQT.Q.SQL.7262.title.insert": "INSERT statement options",
  "option.SAQT.Q.SQL.7262.title.select": "SELECT statement options",
  "option.SAQT.Q.SQL.7262.title.update": "UPDATE statement options",
  "option.SAQT.Q.SQL.7534.desc.skip_patterns": "This option allows you to specify, using regular expressions, patterns such as `Alias.*` to exclude from detection. Enter a regular expression that matches the entire token, including `.*`.",
  "option.SAQT.Q.SQL.7534.title.skip_patterns": "Excluded full column selection patterns",
  "option.SAST.SW.JSON.7296.desc.allowed_value": "Enter targets such as key to be excluded from the rule in regex.",
  "option.SAST.SW.JSON.7296.desc.dest_name": "Enter targets such as key name to be checked with the rule in regex.",
  "option.SAST.SW.JSON.7296.title.allowed_value": "Excluded target",
  "option.SAST.SW.JSON.7296.title.dest_name": "Target",
  "option.SAST.SW.PROP.7295.desc.allowed_value": "Enter targets such as key to be excluded from the rule in regex.",
  "option.SAST.SW.PROP.7295.desc.dest_name": "Enter targets such as key name to be checked with the rule in regex.",
  "option.SAST.SW.PROP.7295.title.allowed_value": "Excluded target",
  "option.SAST.SW.PROP.7295.title.dest_name": "Target",
  "option.SAST.SW.PY.7251.desc.target_path_regex": "Enter paths of the target files.",
  "option.SAST.SW.PY.7251.title.target_path_regex": "Target file path",
  "option.SAST.SW.PY.7252.desc.target_path_regex": "Enter paths of the target files.",
  "option.SAST.SW.PY.7252.title.target_path_regex": "Target file path",
  "option.SAST.SW.PY.7253.desc.target_path_regex": "Enter paths of the target files.",
  "option.SAST.SW.PY.7253.title.target_path_regex": "Target file path",
  "option.SAST.SW.PY.7254.desc.target_path_regex": "Enter paths of the target files.",
  "option.SAST.SW.PY.7254.title.target_path_regex": "Target file path",
  "option.SAST.SW.PY.7255.desc.target_path_regex": "Enter paths of the target files.",
  "option.SAST.SW.PY.7255.title.target_path_regex": "Target file path",
  "option.SAST.SW.PY.7256.desc.target_path_regex": "Enter paths of the target files.",
  "option.SAST.SW.PY.7256.title.target_path_regex": "Target file path",
  "option.SAST.SW.PY.7257.desc.target_path_regex": "Enter paths of the target files.",
  "option.SAST.SW.PY.7257.title.target_path_regex": "Target file path",
  "option.SAST.SW.PY.7258.desc.target_path_regex": "Enter paths of the target files.",
  "option.SAST.SW.PY.7258.title.target_path_regex": "Target file path",
  "option.SAST.SW.PY.7259.desc.target_path_regex": "Enter paths of the target files.",
  "option.SAST.SW.PY.7259.title.target_path_rege": "Target file path",
  "option.SAST.SW.PY.7259.title.target_path_regex": "Target file path",
  "option.SAST.SW.PY.7260.desc.target_path_regex": "Enter paths of the target files.",
  "option.SAST.SW.PY.7260.title.target_path_regex": "Target file path",
  "option.SAST.SW.PY.7261.desc.target_path_regex": "Enter paths of the target files.",
  "option.SAST.SW.PY.7261.title.target_path_regex": "Target file path",
  "option.SAST.SW.PY.7294.desc.allowed_string_literal_regex": "Enter targets such as variable to be excluded from the rule in regex.",
  "option.SAST.SW.PY.7294.desc.target_identifier_regex": "Enter targets such as variable name to be checked with the rule in regex.",
  "option.SAST.SW.PY.7294.title.allowed_string_literal_regex": "Excluded target",
  "option.SAST.SW.PY.7294.title.target_identifier_regex": "Target",
  "option.SAST.SW.XML.7298.desc.allowed_value": "Enter targets such as tag or attribute to be excluded from the rule in regex.",
  "option.SAST.SW.XML.7298.desc.dest_name": "Enter targets such as tag or attribute name to be checked with the rule in regex.",
  "option.SAST.SW.XML.7298.title.allowed_value": "Excluded target",
  "option.SAST.SW.XML.7298.title.dest_name": "Target",
  "option.SAST.SW.XML.7422.desc.exclude_component_name": "Enter the class name specified in the `android:name` property of the Android components (`activity`, `activity-alias`, `service`, `receiver`, `provider`). If the entered string matches the `android:name` value of the component, that component will be excluded from detection.",
  "option.SAST.SW.XML.7422.title.exclude_component_name": "Exclusion option",
  "option.SAST.SW.YAML.7297.desc.allowed_value": "Enter targets such as key to be excluded from the rule in regex.",
  "option.SAST.SW.YAML.7297.desc.dest_name": "Enter targets such as key name to be checked with the rule in regex.",
  "option.SAST.SW.YAML.7297.title.allowed_value": "Excluded target",
  "option.SAST.SW.YAML.7297.title.dest_name": "Target",
  "option.SECURITY.ARGUMENT.ASSERT.desc.exclude_class": "Write class names to be excluded from the analysis.",
  "option.SECURITY.ARGUMENT.ASSERT.desc.exclude_method": "Write method names to be excluded from the analysis.",
  "option.SECURITY.ARGUMENT.ASSERT.desc.exclude_package": "Write package names to be excluded from the analysis.",
  "option.SECURITY.ARGUMENT.ASSERT.desc.include_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.ARGUMENT.ASSERT.desc.include_method": "Write a name of method names to include an analysis.",
  "option.SECURITY.ARGUMENT.ASSERT.desc.include_package": "Write a name of package names to include an analysis.",
  "option.SECURITY.ARGUMENT.ASSERT.title.exclude_class": "Excluding class",
  "option.SECURITY.ARGUMENT.ASSERT.title.exclude_method": "Excluding method",
  "option.SECURITY.ARGUMENT.ASSERT.title.exclude_package": "Excluding package",
  "option.SECURITY.ARGUMENT.ASSERT.title.include_class": "Including class",
  "option.SECURITY.ARGUMENT.ASSERT.title.include_method": "Including method",
  "option.SECURITY.ARGUMENT.ASSERT.title.include_package": "Including package",
  "option.SECURITY.ARGUMENT.DOPRIVILEGE.desc.method_name": "Write a name of doPrivileged method.",
  "option.SECURITY.ARGUMENT.DOPRIVILEGE.desc.type_name": "Write a name of AccessController class.",
  "option.SECURITY.ARGUMENT.DOPRIVILEGE.title.method_name": "A name of doPrivileged  method",
  "option.SECURITY.ARGUMENT.DOPRIVILEGE.title.type_name": "A name of AccessController  class",
  "option.SECURITY.ARGUMENT.READ.BYTE.desc.data_type": "read() Enter the method return value type.",
  "option.SECURITY.ARGUMENT.READ.BYTE.desc.exclude_class": "Write class names to be excluded from the analysis.",
  "option.SECURITY.ARGUMENT.READ.BYTE.desc.exclude_method": "Write method names to be excluded from the analysis.",
  "option.SECURITY.ARGUMENT.READ.BYTE.desc.exclude_package": "Write package names to be excluded from the analysis.",
  "option.SECURITY.ARGUMENT.READ.BYTE.desc.include_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.ARGUMENT.READ.BYTE.desc.include_method": "Write a name of method names to include an analysis.",
  "option.SECURITY.ARGUMENT.READ.BYTE.desc.include_package": "Write a name of package names to include an analysis.",
  "option.SECURITY.ARGUMENT.READ.BYTE.desc.method_name": "Write a name of target methods.",
  "option.SECURITY.ARGUMENT.READ.BYTE.desc.type_name": "Write a name of target classes.",
  "option.SECURITY.ARGUMENT.READ.BYTE.title.data_type": "read() method return value type",
  "option.SECURITY.ARGUMENT.READ.BYTE.title.exclude_class": "Excluding class",
  "option.SECURITY.ARGUMENT.READ.BYTE.title.exclude_method": "Excluding method",
  "option.SECURITY.ARGUMENT.READ.BYTE.title.exclude_package": "Excluding package",
  "option.SECURITY.ARGUMENT.READ.BYTE.title.include_class": "Including class",
  "option.SECURITY.ARGUMENT.READ.BYTE.title.include_method": "Including method",
  "option.SECURITY.ARGUMENT.READ.BYTE.title.include_package": "Including package",
  "option.SECURITY.ARGUMENT.READ.BYTE.title.method_name": "Target method",
  "option.SECURITY.ARGUMENT.READ.BYTE.title.type_name": "Target class",
  "option.SECURITY.ARGUMENT.THREAD_POOL.desc.method_name": "Write a name of excuting thread method.",
  "option.SECURITY.ARGUMENT.THREAD_POOL.desc.type_name": "Write a name of excuting thread class.",
  "option.SECURITY.ARGUMENT.THREAD_POOL.title.method_name": "A name of excuting thread method",
  "option.SECURITY.ARGUMENT.THREAD_POOL.title.type_name": "A name of excuting thread class",
  "option.SECURITY.ASSERT.BOOLEAN.desc.exclude_class": "Write class names to be excluded from the analysis.",
  "option.SECURITY.ASSERT.BOOLEAN.desc.exclude_package": "Write package names to be excluded from the analysis.",
  "option.SECURITY.ASSERT.BOOLEAN.desc.include_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.ASSERT.BOOLEAN.desc.include_package": "Write the name of package names to exclude an analysis.",
  "option.SECURITY.ASSERT.BOOLEAN.title.exclude_class": "Excluding class",
  "option.SECURITY.ASSERT.BOOLEAN.title.exclude_package": "Excluding package",
  "option.SECURITY.ASSERT.BOOLEAN.title.include_class": "Including class",
  "option.SECURITY.ASSERT.BOOLEAN.title.include_package": "Including package",
  "option.SECURITY.CALL.APPEND.LOOP.desc.exclude_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.CALL.APPEND.LOOP.desc.exclude_method": "Write the name of method names to exclude an analysis.",
  "option.SECURITY.CALL.APPEND.LOOP.desc.exclude_package": "Write the name of package names to exclude an analysis.",
  "option.SECURITY.CALL.APPEND.LOOP.desc.include_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.CALL.APPEND.LOOP.desc.include_method": "Write the name of method names to exclude an analysis.",
  "option.SECURITY.CALL.APPEND.LOOP.desc.include_package": "Write the name of package names to exclude an analysis.",
  "option.SECURITY.CALL.APPEND.LOOP.desc.method_name": "Write an appending item method in collection",
  "option.SECURITY.CALL.APPEND.LOOP.desc.type_name": "Write a type name of Collection",
  "option.SECURITY.CALL.APPEND.LOOP.title.exclude_class": "Excluding class",
  "option.SECURITY.CALL.APPEND.LOOP.title.exclude_method": "Excluding method",
  "option.SECURITY.CALL.APPEND.LOOP.title.exclude_package": "Excluding package",
  "option.SECURITY.CALL.APPEND.LOOP.title.include_class": "Including class",
  "option.SECURITY.CALL.APPEND.LOOP.title.include_method": "Including method",
  "option.SECURITY.CALL.APPEND.LOOP.title.include_package": "Including package",
  "option.SECURITY.CALL.APPEND.LOOP.title.method_name": "Name of appending item method",
  "option.SECURITY.CALL.APPEND.LOOP.title.type_name": "Collection type name",
  "option.SECURITY.CALL.BIG_ENDIAN.desc.exclude_class": "Write class names to be excluded from the analysis.",
  "option.SECURITY.CALL.BIG_ENDIAN.desc.exclude_method": "Write method names to be excluded from the analysis.",
  "option.SECURITY.CALL.BIG_ENDIAN.desc.exclude_package": "Write package names to be excluded from the analysis.",
  "option.SECURITY.CALL.BIG_ENDIAN.desc.include_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.CALL.BIG_ENDIAN.desc.include_method": "Write a name of method names to include an analysis.",
  "option.SECURITY.CALL.BIG_ENDIAN.desc.include_package": "Write a name of package names to include an analysis.",
  "option.SECURITY.CALL.BIG_ENDIAN.desc.method_name": "Write a name of target methods.",
  "option.SECURITY.CALL.BIG_ENDIAN.desc.type_name": "Write a name of stream classes.",
  "option.SECURITY.CALL.BIG_ENDIAN.title.exclude_class": "Excluding class",
  "option.SECURITY.CALL.BIG_ENDIAN.title.exclude_method": "Excluding method",
  "option.SECURITY.CALL.BIG_ENDIAN.title.exclude_package": "Excluding package",
  "option.SECURITY.CALL.BIG_ENDIAN.title.include_class": "Including class",
  "option.SECURITY.CALL.BIG_ENDIAN.title.include_method": "Including method",
  "option.SECURITY.CALL.BIG_ENDIAN.title.include_package": "Including package",
  "option.SECURITY.CALL.BIG_ENDIAN.title.method_name": "Target method",
  "option.SECURITY.CALL.BIG_ENDIAN.title.type_name": "Stream class",
  "option.SECURITY.CALL.DELETE_ON_EXIT.desc.exclude_class": "Write class names to be excluded from the analysis.",
  "option.SECURITY.CALL.DELETE_ON_EXIT.desc.exclude_method": "Write method names to be excluded from the analysis.",
  "option.SECURITY.CALL.DELETE_ON_EXIT.desc.exclude_package": "Write package names to be excluded from the analysis.",
  "option.SECURITY.CALL.DELETE_ON_EXIT.desc.include_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.CALL.DELETE_ON_EXIT.desc.include_method": "Write a name of method names to include an analysis.",
  "option.SECURITY.CALL.DELETE_ON_EXIT.desc.include_package": "Write a name of package names to include an analysis.",
  "option.SECURITY.CALL.DELETE_ON_EXIT.desc.source_method_name": "Write a name of creating temporary file method.",
  "option.SECURITY.CALL.DELETE_ON_EXIT.desc.target_method_name": "Write a name of deleting temporary file method.",
  "option.SECURITY.CALL.DELETE_ON_EXIT.desc.type_name": "Write a name of file class.",
  "option.SECURITY.CALL.DELETE_ON_EXIT.title.exclude_class": "Excluding class",
  "option.SECURITY.CALL.DELETE_ON_EXIT.title.exclude_method": "Excluding method",
  "option.SECURITY.CALL.DELETE_ON_EXIT.title.exclude_package": "Excluding package",
  "option.SECURITY.CALL.DELETE_ON_EXIT.title.include_class": "Including class",
  "option.SECURITY.CALL.DELETE_ON_EXIT.title.include_method": "Including method",
  "option.SECURITY.CALL.DELETE_ON_EXIT.title.include_package": "Including package",
  "option.SECURITY.CALL.DELETE_ON_EXIT.title.source_method_name": "Creating temp file method",
  "option.SECURITY.CALL.DELETE_ON_EXIT.title.target_method_name": "Deleting temp file method",
  "option.SECURITY.CALL.DELETE_ON_EXIT.title.type_name": "File class",
  "option.SECURITY.CALL.FILE_DELETE.desc.exclude_class": "Write class names to be excluded from the analysis.",
  "option.SECURITY.CALL.FILE_DELETE.desc.exclude_method": "Write method names to be excluded from the analysis.",
  "option.SECURITY.CALL.FILE_DELETE.desc.exclude_package": "Write package names to be excluded from the analysis.",
  "option.SECURITY.CALL.FILE_DELETE.desc.include_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.CALL.FILE_DELETE.desc.include_method": "Write a name of method names to include an analysis.",
  "option.SECURITY.CALL.FILE_DELETE.desc.include_package": "Write a name of package names to include an analysis.",
  "option.SECURITY.CALL.FILE_DELETE.desc.method_name": "Write a name of deleting method.",
  "option.SECURITY.CALL.FILE_DELETE.desc.type_name": "Write a name of file class.",
  "option.SECURITY.CALL.FILE_DELETE.title.exclude_class": "Excluding class",
  "option.SECURITY.CALL.FILE_DELETE.title.exclude_method": "Excluding method",
  "option.SECURITY.CALL.FILE_DELETE.title.exclude_package": "Excluding package",
  "option.SECURITY.CALL.FILE_DELETE.title.include_class": "Including class",
  "option.SECURITY.CALL.FILE_DELETE.title.include_method": "Including method",
  "option.SECURITY.CALL.FILE_DELETE.title.include_package": "Including package",
  "option.SECURITY.CALL.FILE_DELETE.title.method_name": "Delete method",
  "option.SECURITY.CALL.FILE_DELETE.title.type_name": "File class",
  "option.SECURITY.CALL.KEY_EQUALS.desc.method_name": "Write a name of equals() method.",
  "option.SECURITY.CALL.KEY_EQUALS.desc.safe_method": "Write a name of comparing attributes method.",
  "option.SECURITY.CALL.KEY_EQUALS.desc.type_name": "Write a name of Key class",
  "option.SECURITY.CALL.KEY_EQUALS.title.method_name": "eqauls() method",
  "option.SECURITY.CALL.KEY_EQUALS.title.safe_method": "Comparing attributes method",
  "option.SECURITY.CALL.KEY_EQUALS.title.type_name": "A name of Key class",
  "option.SECURITY.CALL.LOCK_HOLDING.desc.exclude_class": "Write class names to be excluded from the analysis.",
  "option.SECURITY.CALL.LOCK_HOLDING.desc.exclude_method": "Write method names to be excluded from the analysis.",
  "option.SECURITY.CALL.LOCK_HOLDING.desc.exclude_package": "Write package names to be excluded from the analysis.",
  "option.SECURITY.CALL.LOCK_HOLDING.desc.include_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.CALL.LOCK_HOLDING.desc.include_method": "Write a name of method names to include an analysis.",
  "option.SECURITY.CALL.LOCK_HOLDING.desc.include_package": "Write a name of package names to include an analysis.",
  "option.SECURITY.CALL.LOCK_HOLDING.desc.method_name": "Write a name of holding thread method.",
  "option.SECURITY.CALL.LOCK_HOLDING.desc.type_name": "Write a name of holding thread class.",
  "option.SECURITY.CALL.LOCK_HOLDING.title.exclude_class": "Excluding class",
  "option.SECURITY.CALL.LOCK_HOLDING.title.exclude_method": "Excluding method",
  "option.SECURITY.CALL.LOCK_HOLDING.title.exclude_package": "Excluding package",
  "option.SECURITY.CALL.LOCK_HOLDING.title.include_class": "Including class",
  "option.SECURITY.CALL.LOCK_HOLDING.title.include_method": "Including method",
  "option.SECURITY.CALL.LOCK_HOLDING.title.include_package": "Including package",
  "option.SECURITY.CALL.LOCK_HOLDING.title.method_name": "Thread holding method",
  "option.SECURITY.CALL.LOCK_HOLDING.title.type_name": "Thread holding class",
  "option.SECURITY.CALL.PUBLIC_METHOD.desc.exclude_class": "Write class names to be excluded from the analysis.",
  "option.SECURITY.CALL.PUBLIC_METHOD.desc.exclude_method": "Write method names to be excluded from the analysis.",
  "option.SECURITY.CALL.PUBLIC_METHOD.desc.exclude_package": "Write package names to be excluded from the analysis.",
  "option.SECURITY.CALL.PUBLIC_METHOD.desc.include_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.CALL.PUBLIC_METHOD.desc.include_method": "Write a name of method names to include an analysis.",
  "option.SECURITY.CALL.PUBLIC_METHOD.desc.include_package": "Write a name of package names to include an analysis.",
  "option.SECURITY.CALL.PUBLIC_METHOD.title.exclude_class": "Excluding class",
  "option.SECURITY.CALL.PUBLIC_METHOD.title.exclude_method": "Excluding method",
  "option.SECURITY.CALL.PUBLIC_METHOD.title.exclude_package": "Excluding package",
  "option.SECURITY.CALL.PUBLIC_METHOD.title.include_class": "Including class",
  "option.SECURITY.CALL.PUBLIC_METHOD.title.include_method": "Including method",
  "option.SECURITY.CALL.PUBLIC_METHOD.title.include_package": "Including package",
  "option.SECURITY.CALL.RAW_COLLECTION.desc.type_name": "Write a name of raw collection type.",
  "option.SECURITY.CALL.RAW_COLLECTION.title.type_name": "Raw collection type name",
  "option.SECURITY.CALL.REFLECTION.desc.exclude_class": "Write class names to be excluded from the analysis.",
  "option.SECURITY.CALL.REFLECTION.desc.exclude_method": "Write method names to be excluded from the analysis.",
  "option.SECURITY.CALL.REFLECTION.desc.exclude_package": "Write package names to be excluded from the analysis.",
  "option.SECURITY.CALL.REFLECTION.desc.include_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.CALL.REFLECTION.desc.include_method": "Write a name of method names to include an analysis.",
  "option.SECURITY.CALL.REFLECTION.desc.include_package": "Write a name of package names to include an analysis.",
  "option.SECURITY.CALL.REFLECTION.desc.method_name": "Write a name of target classes.",
  "option.SECURITY.CALL.REFLECTION.desc.type_name": "Write a name of target classes.",
  "option.SECURITY.CALL.REFLECTION.title.exclude_class": "Excluding class",
  "option.SECURITY.CALL.REFLECTION.title.exclude_method": "Excluding method",
  "option.SECURITY.CALL.REFLECTION.title.exclude_package": "Excluding package",
  "option.SECURITY.CALL.REFLECTION.title.include_class": "Including class",
  "option.SECURITY.CALL.REFLECTION.title.include_method": "Including method",
  "option.SECURITY.CALL.REFLECTION.title.include_package": "Including package",
  "option.SECURITY.CALL.REFLECTION.title.method_name": "Target method",
  "option.SECURITY.CALL.REFLECTION.title.type_name": "Target class",
  "option.SECURITY.CALL.REFLECT_PERMISSION.desc.class_type_name": "Write a type's name of thread classes.",
  "option.SECURITY.CALL.REFLECT_PERMISSION.desc.exclude_class": "Write class names to be excluded from the analysis.",
  "option.SECURITY.CALL.REFLECT_PERMISSION.desc.exclude_method": "Write method names to be excluded from the analysis.",
  "option.SECURITY.CALL.REFLECT_PERMISSION.desc.exclude_package": "Write package names to be excluded from the analysis.",
  "option.SECURITY.CALL.REFLECT_PERMISSION.desc.include_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.CALL.REFLECT_PERMISSION.desc.include_method": "Write a name of method names to include an analysis.",
  "option.SECURITY.CALL.REFLECT_PERMISSION.desc.include_package": "Write a name of package names to include an analysis.",
  "option.SECURITY.CALL.REFLECT_PERMISSION.desc.method_name": "Write a name of add method.",
  "option.SECURITY.CALL.REFLECT_PERMISSION.desc.type_name": "Write a name of PermissionCollection class",
  "option.SECURITY.CALL.REFLECT_PERMISSION.title.class_type_name": "A type of thread class",
  "option.SECURITY.CALL.REFLECT_PERMISSION.title.exclude_class": "Excluding class",
  "option.SECURITY.CALL.REFLECT_PERMISSION.title.exclude_method": "Excluding method",
  "option.SECURITY.CALL.REFLECT_PERMISSION.title.exclude_package": "Excluding package",
  "option.SECURITY.CALL.REFLECT_PERMISSION.title.include_class": "Including class",
  "option.SECURITY.CALL.REFLECT_PERMISSION.title.include_method": "Including method",
  "option.SECURITY.CALL.REFLECT_PERMISSION.title.include_package": "Including package",
  "option.SECURITY.CALL.REFLECT_PERMISSION.title.method_name": "A name of add method",
  "option.SECURITY.CALL.REFLECT_PERMISSION.title.type_name": "A name of PermissionCollection class",
  "option.SECURITY.CALL.REMOVE.LOOP.desc.exclude_class": "Write class names to be excluded from the analysis.",
  "option.SECURITY.CALL.REMOVE.LOOP.desc.exclude_method": "Write method names to be excluded from the analysis.",
  "option.SECURITY.CALL.REMOVE.LOOP.desc.exclude_package": "Write package names to be excluded from the analysis.",
  "option.SECURITY.CALL.REMOVE.LOOP.desc.include_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.CALL.REMOVE.LOOP.desc.include_method": "Write a name of method names to include an analysis.",
  "option.SECURITY.CALL.REMOVE.LOOP.desc.include_package": "Write a name of package names to include an analysis.",
  "option.SECURITY.CALL.REMOVE.LOOP.desc.iterator_type_name": "Write a type of Iterator.",
  "option.SECURITY.CALL.REMOVE.LOOP.desc.method_name": "Write a method name which removes a item in collection.",
  "option.SECURITY.CALL.REMOVE.LOOP.desc.type_name": "Write a kind of collection type name to detect.",
  "option.SECURITY.CALL.REMOVE.LOOP.title.exclude_class": "Excluding class",
  "option.SECURITY.CALL.REMOVE.LOOP.title.exclude_method": "Excluding method",
  "option.SECURITY.CALL.REMOVE.LOOP.title.exclude_package": "Excluding package",
  "option.SECURITY.CALL.REMOVE.LOOP.title.include_class": "Including class",
  "option.SECURITY.CALL.REMOVE.LOOP.title.include_method": "Including method",
  "option.SECURITY.CALL.REMOVE.LOOP.title.include_package": "Including package",
  "option.SECURITY.CALL.REMOVE.LOOP.title.iterator_type_name": "Iterator type name",
  "option.SECURITY.CALL.REMOVE.LOOP.title.method_name": "Remove item method name.",
  "option.SECURITY.CALL.REMOVE.LOOP.title.type_name": "Collection type name",
  "option.SECURITY.CALL.SECURITY_CHECK.desc.allow_security_call": "Write a name of security methods.",
  "option.SECURITY.CALL.SECURITY_CHECK.desc.class_type": "Enter the class name of the data structure that contains sensitive information.",
  "option.SECURITY.CALL.SECURITY_CHECK.desc.exclude_class": "Write class names to be excluded from the analysis.",
  "option.SECURITY.CALL.SECURITY_CHECK.desc.exclude_method": "Write method names to be excluded from the analysis.",
  "option.SECURITY.CALL.SECURITY_CHECK.desc.exclude_package": "Write package names to be excluded from the analysis.",
  "option.SECURITY.CALL.SECURITY_CHECK.desc.include_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.CALL.SECURITY_CHECK.desc.include_method": "Write a name of method names to include an analysis.",
  "option.SECURITY.CALL.SECURITY_CHECK.desc.include_package": "Write a name of package names to include an analysis.",
  "option.SECURITY.CALL.SECURITY_CHECK.desc.security_type": "Write a name of securityManager class.",
  "option.SECURITY.CALL.SECURITY_CHECK.desc.target_method_name": "Enter the method name to include in the detection target.",
  "option.SECURITY.CALL.SECURITY_CHECK.title.allow_security_call": "Security method",
  "option.SECURITY.CALL.SECURITY_CHECK.title.class_type": "Classes of data structures that contain sensitive information",
  "option.SECURITY.CALL.SECURITY_CHECK.title.exclude_class": "Excluding class",
  "option.SECURITY.CALL.SECURITY_CHECK.title.exclude_method": "Excluding method",
  "option.SECURITY.CALL.SECURITY_CHECK.title.exclude_package": "Excluding package",
  "option.SECURITY.CALL.SECURITY_CHECK.title.include_class": "Including class",
  "option.SECURITY.CALL.SECURITY_CHECK.title.include_method": "Including method",
  "option.SECURITY.CALL.SECURITY_CHECK.title.include_package": "Including package",
  "option.SECURITY.CALL.SECURITY_CHECK.title.security_type": "SecurityManager class",
  "option.SECURITY.CALL.SECURITY_CHECK.title.target_method_name": "Methods to include in detection target",
  "option.SECURITY.CALL.SYSTEM_GETENV.desc.exclude_class": "Write class names to be excluded from the analysis.",
  "option.SECURITY.CALL.SYSTEM_GETENV.desc.exclude_method": "Write method names to be excluded from the analysis.",
  "option.SECURITY.CALL.SYSTEM_GETENV.desc.exclude_package": "Write package names to be excluded from the analysis.",
  "option.SECURITY.CALL.SYSTEM_GETENV.desc.include_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.CALL.SYSTEM_GETENV.desc.include_method": "Write a name of method names to include an analysis.",
  "option.SECURITY.CALL.SYSTEM_GETENV.desc.include_package": "Write a name of package names to include an analysis.",
  "option.SECURITY.CALL.SYSTEM_GETENV.desc.method_name": "Write a name of getenv() method.",
  "option.SECURITY.CALL.SYSTEM_GETENV.desc.type_name": "Write a name of System class.",
  "option.SECURITY.CALL.SYSTEM_GETENV.title.exclude_class": "Excluding class",
  "option.SECURITY.CALL.SYSTEM_GETENV.title.exclude_method": "Excluding method",
  "option.SECURITY.CALL.SYSTEM_GETENV.title.exclude_package": "Excluding package",
  "option.SECURITY.CALL.SYSTEM_GETENV.title.include_class": "Including class",
  "option.SECURITY.CALL.SYSTEM_GETENV.title.include_method": "Including method",
  "option.SECURITY.CALL.SYSTEM_GETENV.title.include_package": "Including package",
  "option.SECURITY.CALL.SYSTEM_GETENV.title.method_name": "A name of getenv method",
  "option.SECURITY.CALL.SYSTEM_GETENV.title.type_name": "A name of System class",
  "option.SECURITY.CALL.THREAD_INTERRUPTED.desc.class_type_name": "Write a name of thread class or interface.",
  "option.SECURITY.CALL.THREAD_INTERRUPTED.desc.exclude_class": "Write class names to be excluded from the analysis.",
  "option.SECURITY.CALL.THREAD_INTERRUPTED.desc.exclude_method": "Write method names to be excluded from the analysis.",
  "option.SECURITY.CALL.THREAD_INTERRUPTED.desc.exclude_package": "Write package names to be excluded from the analysis.",
  "option.SECURITY.CALL.THREAD_INTERRUPTED.desc.include_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.CALL.THREAD_INTERRUPTED.desc.include_method": "Write a name of method names to include an analysis.",
  "option.SECURITY.CALL.THREAD_INTERRUPTED.desc.include_package": "Write a name of package names to include an analysis.",
  "option.SECURITY.CALL.THREAD_INTERRUPTED.desc.method_name": "Write a name of interrupt method.",
  "option.SECURITY.CALL.THREAD_INTERRUPTED.desc.type_name": "Write a name of thread class.",
  "option.SECURITY.CALL.THREAD_INTERRUPTED.title.class_type_name": "Thread class or interface",
  "option.SECURITY.CALL.THREAD_INTERRUPTED.title.exclude_class": "Excluding class",
  "option.SECURITY.CALL.THREAD_INTERRUPTED.title.exclude_method": "Excluding method",
  "option.SECURITY.CALL.THREAD_INTERRUPTED.title.exclude_package": "Excluding package",
  "option.SECURITY.CALL.THREAD_INTERRUPTED.title.include_class": "Including class",
  "option.SECURITY.CALL.THREAD_INTERRUPTED.title.include_method": "Including method",
  "option.SECURITY.CALL.THREAD_INTERRUPTED.title.include_package": "Including package",
  "option.SECURITY.CALL.THREAD_INTERRUPTED.title.method_name": "Interrupt method",
  "option.SECURITY.CALL.THREAD_INTERRUPTED.title.type_name": "Thread class",
  "option.SECURITY.CALL.THREAD_START.desc.exclude_class": "Write class names to be excluded from the analysis.",
  "option.SECURITY.CALL.THREAD_START.desc.exclude_method": "Write method names to be excluded from the analysis.",
  "option.SECURITY.CALL.THREAD_START.desc.exclude_package": "Write package names to be excluded from the analysis.",
  "option.SECURITY.CALL.THREAD_START.desc.include_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.CALL.THREAD_START.desc.include_method": "Write a name of method names to include an analysis.",
  "option.SECURITY.CALL.THREAD_START.desc.include_package": "Write a name of package names to include an analysis.",
  "option.SECURITY.CALL.THREAD_START.desc.method_name": "Write a name of run method. \nExample) run",
  "option.SECURITY.CALL.THREAD_START.desc.type_name": "Write a name of thread class.",
  "option.SECURITY.CALL.THREAD_START.title.exclude_class": "Excluding class",
  "option.SECURITY.CALL.THREAD_START.title.exclude_method": "Excluding method",
  "option.SECURITY.CALL.THREAD_START.title.exclude_package": "Excluding package",
  "option.SECURITY.CALL.THREAD_START.title.include_class": "Including class",
  "option.SECURITY.CALL.THREAD_START.title.include_method": "Including method",
  "option.SECURITY.CALL.THREAD_START.title.include_package": "Including package",
  "option.SECURITY.CALL.THREAD_START.title.method_name": "Thread run method",
  "option.SECURITY.CALL.THREAD_START.title.type_name": "Thread class",
  "option.SECURITY.CALL.THREAD_STOP.desc.exclude_class": "Write class names to be excluded from the analysis.",
  "option.SECURITY.CALL.THREAD_STOP.desc.exclude_method": "Write method names to be excluded from the analysis.",
  "option.SECURITY.CALL.THREAD_STOP.desc.exclude_package": "Write package names to be excluded from the analysis.",
  "option.SECURITY.CALL.THREAD_STOP.desc.include_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.CALL.THREAD_STOP.desc.include_method": "Write a name of method names to include an analysis.",
  "option.SECURITY.CALL.THREAD_STOP.desc.include_package": "Write a name of package names to include an analysis.",
  "option.SECURITY.CALL.THREAD_STOP.desc.method_name": "Write a name of method including class name. \nExample) java.lang.Thread.stop",
  "option.SECURITY.CALL.THREAD_STOP.title.exclude_class": "Excluding class",
  "option.SECURITY.CALL.THREAD_STOP.title.exclude_method": "Excluding method",
  "option.SECURITY.CALL.THREAD_STOP.title.exclude_package": "Excluding package",
  "option.SECURITY.CALL.THREAD_STOP.title.include_class": "Including class",
  "option.SECURITY.CALL.THREAD_STOP.title.include_method": "Including method",
  "option.SECURITY.CALL.THREAD_STOP.title.include_package": "Including package",
  "option.SECURITY.CALL.THREAD_STOP.title.method_name": "Thread stop method",
  "option.SECURITY.CALL.THROWS.FINALLY.desc.exclude_class": "Write class names to be excluded from the analysis.",
  "option.SECURITY.CALL.THROWS.FINALLY.desc.exclude_method": "Write method names to be excluded from the analysis.",
  "option.SECURITY.CALL.THROWS.FINALLY.desc.exclude_package": "Write package names to be excluded from the analysis.",
  "option.SECURITY.CALL.THROWS.FINALLY.desc.include_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.CALL.THROWS.FINALLY.desc.include_method": "Write a name of method names to include an analysis.",
  "option.SECURITY.CALL.THROWS.FINALLY.desc.include_package": "Write a name of package names to include an analysis.",
  "option.SECURITY.CALL.THROWS.FINALLY.title.exclude_class": "Excluding class",
  "option.SECURITY.CALL.THROWS.FINALLY.title.exclude_method": "Excluding method",
  "option.SECURITY.CALL.THROWS.FINALLY.title.exclude_package": "Excluding package",
  "option.SECURITY.CALL.THROWS.FINALLY.title.include_class": "Including class",
  "option.SECURITY.CALL.THROWS.FINALLY.title.include_method": "Including method",
  "option.SECURITY.CALL.THROWS.FINALLY.title.include_package": "Including package",
  "option.SECURITY.CALL.URL_EQUALS.desc.method_names": "Write a name of equals() method.",
  "option.SECURITY.CALL.URL_EQUALS.desc.throw_names": "Write a URL exception class name.",
  "option.SECURITY.CALL.URL_EQUALS.desc.type_names": "Write a name of URL class.",
  "option.SECURITY.CALL.URL_EQUALS.title.method_names": "eqauls() method",
  "option.SECURITY.CALL.URL_EQUALS.title.throw_names": "URL Exception Class",
  "option.SECURITY.CALL.URL_EQUALS.title.type_names": "A name of URL class",
  "option.SECURITY.CAST.FLOAT_DOUBLE.desc.exclude_class": "Write class names to be excluded from the analysis.",
  "option.SECURITY.CAST.FLOAT_DOUBLE.desc.exclude_package": "Write package names to be excluded from the analysis.",
  "option.SECURITY.CAST.FLOAT_DOUBLE.desc.include_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.CAST.FLOAT_DOUBLE.desc.include_package": "Write the name of package names to exclude an analysis.",
  "option.SECURITY.CAST.FLOAT_DOUBLE.title.exclude_class": "Excluding class",
  "option.SECURITY.CAST.FLOAT_DOUBLE.title.exclude_package": "Excluding package",
  "option.SECURITY.CAST.FLOAT_DOUBLE.title.include_class": "Including class",
  "option.SECURITY.CAST.FLOAT_DOUBLE.title.include_package": "Including package",
  "option.SECURITY.CLASS.CLONE.desc.exclude_class": "Write class names to be excluded from the analysis.",
  "option.SECURITY.CLASS.CLONE.desc.exclude_method": "Write method names to be excluded from the analysis.",
  "option.SECURITY.CLASS.CLONE.desc.exclude_package": "Write package names to be excluded from the analysis.",
  "option.SECURITY.CLASS.CLONE.desc.implement_list": "Create an inheritance class name for analysis.",
  "option.SECURITY.CLASS.CLONE.desc.include_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.CLASS.CLONE.desc.include_method": "Write the name of method names to exclude an analysis.",
  "option.SECURITY.CLASS.CLONE.desc.include_package": "Write the name of package names to exclude an analysis.",
  "option.SECURITY.CLASS.CLONE.desc.method_names": "Enter the name of the method to be analyzed.",
  "option.SECURITY.CLASS.CLONE.desc.throw_names": "Enter the name of the exception processing class to be analyzed.",
  "option.SECURITY.CLASS.CLONE.title.exclude_class": "Excluding class",
  "option.SECURITY.CLASS.CLONE.title.exclude_method": "Excluding method",
  "option.SECURITY.CLASS.CLONE.title.exclude_package": "Excluding package",
  "option.SECURITY.CLASS.CLONE.title.implement_list": "Analysis Target Inheritance Class",
  "option.SECURITY.CLASS.CLONE.title.include_class": "Including class",
  "option.SECURITY.CLASS.CLONE.title.include_method": "Including method",
  "option.SECURITY.CLASS.CLONE.title.include_package": "Including package",
  "option.SECURITY.CLASS.CLONE.title.method_names": "Analysis Target Method",
  "option.SECURITY.CLASS.CLONE.title.throw_names": "Analysis Target Exception Class",
  "option.SECURITY.CLASS.MUTABLE_COPY.desc.exclude_class": "Write class names to be excluded from the analysis.",
  "option.SECURITY.CLASS.MUTABLE_COPY.desc.exclude_package": "Write package names to be excluded from the analysis.",
  "option.SECURITY.CLASS.MUTABLE_COPY.desc.include_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.CLASS.MUTABLE_COPY.desc.include_package": "Write the name of package names to exclude an analysis.",
  "option.SECURITY.CLASS.MUTABLE_COPY.title.exclude_class": "Excluding class",
  "option.SECURITY.CLASS.MUTABLE_COPY.title.exclude_package": "Excluding package",
  "option.SECURITY.CLASS.MUTABLE_COPY.title.include_class": "Including class",
  "option.SECURITY.CLASS.MUTABLE_COPY.title.include_package": "Including package",
  "option.SECURITY.CLASS_IN_TRUST_PACKAGE.desc.exclude_path": "Enter paths to be excluded from the analysis.\nExample).*\\\\test\\\\.*",
  "option.SECURITY.CLASS_IN_TRUST_PACKAGE.desc.trust_list": "Write a name of trusted packages.",
  "option.SECURITY.CLASS_IN_TRUST_PACKAGE.title.exclude_path": "Excluded path",
  "option.SECURITY.CLASS_IN_TRUST_PACKAGE.title.trust_list": "Trusted package",
  "option.SECURITY.COMPARE.CLASS_NAME.desc.exclude_class": "Write class names to be excluded from the analysis.",
  "option.SECURITY.COMPARE.CLASS_NAME.desc.exclude_method": "Write method names to be excluded from the analysis.",
  "option.SECURITY.COMPARE.CLASS_NAME.desc.exclude_package": "Write package names to be excluded from the analysis.",
  "option.SECURITY.COMPARE.CLASS_NAME.desc.include_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.COMPARE.CLASS_NAME.desc.include_method": "Write a name of method names to include an analysis.",
  "option.SECURITY.COMPARE.CLASS_NAME.desc.include_package": "Write a name of package names to include an analysis.",
  "option.SECURITY.COMPARE.CLASS_NAME.title.exclude_class": "Excluding class",
  "option.SECURITY.COMPARE.CLASS_NAME.title.exclude_method": "Excluding method",
  "option.SECURITY.COMPARE.CLASS_NAME.title.exclude_package": "Excluding package",
  "option.SECURITY.COMPARE.CLASS_NAME.title.include_class": "Including class",
  "option.SECURITY.COMPARE.CLASS_NAME.title.include_method": "Including method",
  "option.SECURITY.COMPARE.CLASS_NAME.title.include_package": "Including package",
  "option.SECURITY.DEPLOY.REMOTELY_MONITORING.desc.exclude_extension": "Set file extensions which will be excluded in analysis.\nExample) java",
  "option.SECURITY.DEPLOY.REMOTELY_MONITORING.desc.rule": "This is the java option that allows you to monitor externally.",
  "option.SECURITY.DEPLOY.REMOTELY_MONITORING.title.exclude_extension": "Exclude file extension",
  "option.SECURITY.DEPLOY.REMOTELY_MONITORING.title.rule": "Java monitoring option",
  "option.SECURITY.DISABLE.BYTECODE_VERIFICATION.desc.exclude_extension": "Set file extensions which will be excluded in analysis.\nExample) java",
  "option.SECURITY.DISABLE.BYTECODE_VERIFICATION.desc.rule": "Specifies the java bytecode unverified option.",
  "option.SECURITY.DISABLE.BYTECODE_VERIFICATION.title.exclude_extension": "Exclude file extension",
  "option.SECURITY.DISABLE.BYTECODE_VERIFICATION.title.rule": "Java bytecode non-verification option",
  "option.SECURITY.EXCEPTION_THROWING_CONSTRUCTOR.desc.initialized_flag": "Write a name of a flag of sucess initializing.",
  "option.SECURITY.EXCEPTION_THROWING_CONSTRUCTOR.title.initialized_flag": "A flag of sucess initializing",
  "option.SECURITY.FILE.GLOBAL_ACCESS.desc.forbidden_argument": "Write the name of forbidden argument.\nExample) MODE_WORLD_WRITEABLE",
  "option.SECURITY.FILE.GLOBAL_ACCESS.desc.method_name": "Write the name of target method.\nExample) openFileOutput",
  "option.SECURITY.FILE.GLOBAL_ACCESS.title.forbidden_argument": "Forbidden flags",
  "option.SECURITY.FILE.GLOBAL_ACCESS.title.method_name": "A name of target method.",
  "option.SECURITY.FILE_AND_FLAG.LOOP.desc.exclude_class": "Write class names to be excluded from the analysis.",
  "option.SECURITY.FILE_AND_FLAG.LOOP.desc.exclude_method": "Write method names to be excluded from the analysis.",
  "option.SECURITY.FILE_AND_FLAG.LOOP.desc.exclude_package": "Write package names to be excluded from the analysis.",
  "option.SECURITY.FILE_AND_FLAG.LOOP.desc.file_io_list": "Write a list of file I/O method.",
  "option.SECURITY.FILE_AND_FLAG.LOOP.desc.include_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.FILE_AND_FLAG.LOOP.desc.include_method": "Write a name of method names to include an analysis.",
  "option.SECURITY.FILE_AND_FLAG.LOOP.desc.include_package": "Write a name of package names to include an analysis.",
  "option.SECURITY.FILE_AND_FLAG.LOOP.desc.method_name": "Write a name of interrupted method.",
  "option.SECURITY.FILE_AND_FLAG.LOOP.desc.type_name": "Write a name of thread class.",
  "option.SECURITY.FILE_AND_FLAG.LOOP.title.exclude_class": "Excluding class",
  "option.SECURITY.FILE_AND_FLAG.LOOP.title.exclude_method": "Excluding method",
  "option.SECURITY.FILE_AND_FLAG.LOOP.title.exclude_package": "Excluding package",
  "option.SECURITY.FILE_AND_FLAG.LOOP.title.file_io_list": "File I/O method",
  "option.SECURITY.FILE_AND_FLAG.LOOP.title.include_class": "Including class",
  "option.SECURITY.FILE_AND_FLAG.LOOP.title.include_method": "Including method",
  "option.SECURITY.FILE_AND_FLAG.LOOP.title.include_package": "Including package",
  "option.SECURITY.FILE_AND_FLAG.LOOP.title.method_name": "Interrupted method",
  "option.SECURITY.FILE_AND_FLAG.LOOP.title.type_name": "Thread class",
  "option.SECURITY.IMPLEMENT.EXTERNALIZABLE.desc.call_name": "Write a method name of Serialize and Deserialize method calls.",
  "option.SECURITY.IMPLEMENT.EXTERNALIZABLE.desc.call_type": "Write a type name of Serialize and Deserialize classes.",
  "option.SECURITY.IMPLEMENT.EXTERNALIZABLE.desc.method_name": "Write a method name of implementing Externalizable interface.",
  "option.SECURITY.IMPLEMENT.EXTERNALIZABLE.title.call_name": "Serialize and Deserialize method",
  "option.SECURITY.IMPLEMENT.EXTERNALIZABLE.title.call_type": "Serialize and Deserialize class type",
  "option.SECURITY.IMPLEMENT.EXTERNALIZABLE.title.method_name": "Externalizable method",
  "option.SECURITY.INFINITE_LOOP.KOTLIN.desc.repeat_stop_method": "Write the name of the method that break an infinite loop.\nExample) java.lang.Thread.yield",
  "option.SECURITY.INFINITE_LOOP.KOTLIN.title.repeat_stop_method": "Break method in loop",
  "option.SECURITY.INFINITE_LOOP.desc.check_break_statement": "Select whether the break statement check or not.",
  "option.SECURITY.INFINITE_LOOP.desc.check_general_loop": "Select whether general loops is checked.",
  "option.SECURITY.INFINITE_LOOP.desc.check_return_statement": "Select whether the return statement check or not.",
  "option.SECURITY.INFINITE_LOOP.desc.exclude_class": "Write the name of class names to exclude an analysis.",
  "option.SECURITY.INFINITE_LOOP.desc.exclude_method": "Write the name of method names to exclude an analysis.",
  "option.SECURITY.INFINITE_LOOP.desc.exclude_package": "Write the name of package names to exclude an analysis.",
  "option.SECURITY.INFINITE_LOOP.desc.include_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.INFINITE_LOOP.desc.include_method": "Write the name of method names to exclude an analysis.",
  "option.SECURITY.INFINITE_LOOP.desc.include_package": "Write the name of package names to exclude an analysis.",
  "option.SECURITY.INFINITE_LOOP.desc.method_name": "Write the name of the method that break an infinite loop.\nExample) java.lang.Thread.yield",
  "option.SECURITY.INFINITE_LOOP.desc.trusted_readonly_methods": "Write the name of the methods that do not write to memory of object but just read the object fields.\nExample) compareTo",
  "option.SECURITY.INFINITE_LOOP.title.check_break_statement": "Check break statement in loop",
  "option.SECURITY.INFINITE_LOOP.title.check_general_loop": "Check general loops",
  "option.SECURITY.INFINITE_LOOP.title.check_return_statement": "Check return statement in loop",
  "option.SECURITY.INFINITE_LOOP.title.exclude_class": "Excluding class",
  "option.SECURITY.INFINITE_LOOP.title.exclude_method": "Excluding method",
  "option.SECURITY.INFINITE_LOOP.title.exclude_package": "Excluding package",
  "option.SECURITY.INFINITE_LOOP.title.include_class": "Including class",
  "option.SECURITY.INFINITE_LOOP.title.include_method": "Including method",
  "option.SECURITY.INFINITE_LOOP.title.include_package": "Including package",
  "option.SECURITY.INFINITE_LOOP.title.method_name": "Break method in loop",
  "option.SECURITY.INFINITE_LOOP.title.trusted_readonly_methods": "Read-only methods which do not write to memory of object",
  "option.SECURITY.INITIALIZER.THREAD.desc.exclude_class": "Write class names to be excluded from the analysis.",
  "option.SECURITY.INITIALIZER.THREAD.desc.exclude_method": "Write method names to be excluded from the analysis.",
  "option.SECURITY.INITIALIZER.THREAD.desc.exclude_package": "Write package names to be excluded from the analysis.",
  "option.SECURITY.INITIALIZER.THREAD.desc.include_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.INITIALIZER.THREAD.desc.include_method": "Write a name of method names to include an analysis.",
  "option.SECURITY.INITIALIZER.THREAD.desc.include_package": "Write a name of package names to include an analysis.",
  "option.SECURITY.INITIALIZER.THREAD.desc.type_name": "Write a name of thread class.",
  "option.SECURITY.INITIALIZER.THREAD.title.exclude_class": "Excluding class",
  "option.SECURITY.INITIALIZER.THREAD.title.exclude_method": "Excluding method",
  "option.SECURITY.INITIALIZER.THREAD.title.exclude_package": "Excluding package",
  "option.SECURITY.INITIALIZER.THREAD.title.include_class": "Including class",
  "option.SECURITY.INITIALIZER.THREAD.title.include_method": "Including method",
  "option.SECURITY.INITIALIZER.THREAD.title.include_package": "Including package",
  "option.SECURITY.INITIALIZER.THREAD.title.type_name": "Thread class",
  "option.SECURITY.INNER_CLASS.SERIALIZABLE.desc.class_type_name": "Write a type name of Serializable",
  "option.SECURITY.INNER_CLASS.SERIALIZABLE.desc.exclude_class": "Write class names to be excluded from the analysis.",
  "option.SECURITY.INNER_CLASS.SERIALIZABLE.desc.exclude_method": "Write method names to be excluded from the analysis.",
  "option.SECURITY.INNER_CLASS.SERIALIZABLE.desc.exclude_package": "Write package names to be excluded from the analysis.",
  "option.SECURITY.INNER_CLASS.SERIALIZABLE.desc.include_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.INNER_CLASS.SERIALIZABLE.desc.include_method": "Write the name of method names to exclude an analysis.",
  "option.SECURITY.INNER_CLASS.SERIALIZABLE.desc.include_package": "Write the name of package names to exclude an analysis.",
  "option.SECURITY.INNER_CLASS.SERIALIZABLE.title.class_type_name": "Serializable type name",
  "option.SECURITY.INNER_CLASS.SERIALIZABLE.title.exclude_class": "Excluding class",
  "option.SECURITY.INNER_CLASS.SERIALIZABLE.title.exclude_method": "Excluding method",
  "option.SECURITY.INNER_CLASS.SERIALIZABLE.title.exclude_package": "Excluding package",
  "option.SECURITY.INNER_CLASS.SERIALIZABLE.title.include_class": "Including class",
  "option.SECURITY.INNER_CLASS.SERIALIZABLE.title.include_method": "Including method",
  "option.SECURITY.INNER_CLASS.SERIALIZABLE.title.include_package": "Including package",
  "option.SECURITY.INTER_CLASS_CYCLE.desc.exclude_class": "Write class names to be excluded from the analysis.",
  "option.SECURITY.INTER_CLASS_CYCLE.desc.exclude_method": "Write method names to be excluded from the analysis.",
  "option.SECURITY.INTER_CLASS_CYCLE.desc.exclude_package": "Write package names to be excluded from the analysis.",
  "option.SECURITY.INTER_CLASS_CYCLE.desc.include_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.INTER_CLASS_CYCLE.desc.include_method": "Write the name of method names to exclude an analysis.",
  "option.SECURITY.INTER_CLASS_CYCLE.desc.include_package": "Write a name of package names to include an analysis.",
  "option.SECURITY.INTER_CLASS_CYCLE.title.exclude_class": "Excluding class",
  "option.SECURITY.INTER_CLASS_CYCLE.title.exclude_method": "Excluding method",
  "option.SECURITY.INTER_CLASS_CYCLE.title.exclude_package": "Excluding package",
  "option.SECURITY.INTER_CLASS_CYCLE.title.include_class": "Including class",
  "option.SECURITY.INTER_CLASS_CYCLE.title.include_method": "Including method",
  "option.SECURITY.INTER_CLASS_CYCLE.title.include_package": "Including package",
  "option.SECURITY.LOOP_VARIABLE_FINAL.desc.exclude_class": "Write class names to be excluded from the analysis.",
  "option.SECURITY.LOOP_VARIABLE_FINAL.desc.exclude_package": "Write package names to be excluded from the analysis.",
  "option.SECURITY.LOOP_VARIABLE_FINAL.desc.include_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.LOOP_VARIABLE_FINAL.desc.include_package": "Write the name of package names to exclude an analysis.",
  "option.SECURITY.LOOP_VARIABLE_FINAL.title.exclude_class": "Excluding class",
  "option.SECURITY.LOOP_VARIABLE_FINAL.title.exclude_package": "Excluding package",
  "option.SECURITY.LOOP_VARIABLE_FINAL.title.include_class": "Including class",
  "option.SECURITY.LOOP_VARIABLE_FINAL.title.include_package": "Including package",
  "option.SECURITY.METHOD.OVERRIDE.CLONEABLE.desc.exclude_class": "Write class names to be excluded from the analysis.",
  "option.SECURITY.METHOD.OVERRIDE.CLONEABLE.desc.exclude_package": "Write package names to be excluded from the analysis.",
  "option.SECURITY.METHOD.OVERRIDE.CLONEABLE.desc.include_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.METHOD.OVERRIDE.CLONEABLE.desc.include_package": "Write a name of package names to include an analysis.",
  "option.SECURITY.METHOD.OVERRIDE.CLONEABLE.title.exclude_class": "Excluding class",
  "option.SECURITY.METHOD.OVERRIDE.CLONEABLE.title.exclude_package": "Excluding package",
  "option.SECURITY.METHOD.OVERRIDE.CLONEABLE.title.include_class": "Including class",
  "option.SECURITY.METHOD.OVERRIDE.CLONEABLE.title.include_package": "Including package",
  "option.SECURITY.METHOD.OVERRIDE.GETPERMISSIONS.desc.exclude_class": "Write class names to be excluded from the analysis.",
  "option.SECURITY.METHOD.OVERRIDE.GETPERMISSIONS.desc.exclude_method": "Write method names to be excluded from the analysis.",
  "option.SECURITY.METHOD.OVERRIDE.GETPERMISSIONS.desc.exclude_package": "Write package names to be excluded from the analysis.",
  "option.SECURITY.METHOD.OVERRIDE.GETPERMISSIONS.desc.extends_name": "Write a name of extending ClassLoader class.",
  "option.SECURITY.METHOD.OVERRIDE.GETPERMISSIONS.desc.include_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.METHOD.OVERRIDE.GETPERMISSIONS.desc.include_method": "Write a name of method names to include an analysis.",
  "option.SECURITY.METHOD.OVERRIDE.GETPERMISSIONS.desc.include_package": "Write a name of package names to include an analysis.",
  "option.SECURITY.METHOD.OVERRIDE.GETPERMISSIONS.desc.method_name": "Write a name of target methods.",
  "option.SECURITY.METHOD.OVERRIDE.GETPERMISSIONS.desc.type_name": "Write a name of target classes.",
  "option.SECURITY.METHOD.OVERRIDE.GETPERMISSIONS.title.exclude_class": "Excluding class",
  "option.SECURITY.METHOD.OVERRIDE.GETPERMISSIONS.title.exclude_method": "Excluding method",
  "option.SECURITY.METHOD.OVERRIDE.GETPERMISSIONS.title.exclude_package": "Excluding package",
  "option.SECURITY.METHOD.OVERRIDE.GETPERMISSIONS.title.extends_name": "Extending ClassLoader class",
  "option.SECURITY.METHOD.OVERRIDE.GETPERMISSIONS.title.include_class": "Including class",
  "option.SECURITY.METHOD.OVERRIDE.GETPERMISSIONS.title.include_method": "Including method",
  "option.SECURITY.METHOD.OVERRIDE.GETPERMISSIONS.title.include_package": "Including package",
  "option.SECURITY.METHOD.OVERRIDE.GETPERMISSIONS.title.method_name": "Target method",
  "option.SECURITY.METHOD.OVERRIDE.GETPERMISSIONS.title.type_name": "Target class",
  "option.SECURITY.METHOD.OVERRIDE.STATIC.desc.exclude_class": "Write class names to be excluded from the analysis.",
  "option.SECURITY.METHOD.OVERRIDE.STATIC.desc.exclude_method": "Write method names to be excluded from the analysis.",
  "option.SECURITY.METHOD.OVERRIDE.STATIC.desc.exclude_package": "Write package names to be excluded from the analysis.",
  "option.SECURITY.METHOD.OVERRIDE.STATIC.desc.include_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.METHOD.OVERRIDE.STATIC.desc.include_method": "Write a name of method names to include an analysis.",
  "option.SECURITY.METHOD.OVERRIDE.STATIC.desc.include_package": "Write a name of package names to include an analysis.",
  "option.SECURITY.METHOD.OVERRIDE.STATIC.title.exclude_class": "Excluding class",
  "option.SECURITY.METHOD.OVERRIDE.STATIC.title.exclude_method": "Excluding method",
  "option.SECURITY.METHOD.OVERRIDE.STATIC.title.exclude_package": "Excluding package",
  "option.SECURITY.METHOD.OVERRIDE.STATIC.title.include_class": "Including class",
  "option.SECURITY.METHOD.OVERRIDE.STATIC.title.include_method": "Including method",
  "option.SECURITY.METHOD.OVERRIDE.STATIC.title.include_package": "Including package",
  "option.SECURITY.METHOD.OVERRIDE.desc.exclude_class": "Write class names to be excluded from the analysis.",
  "option.SECURITY.METHOD.OVERRIDE.desc.exclude_method": "Write method names to be excluded from the analysis.",
  "option.SECURITY.METHOD.OVERRIDE.desc.exclude_package": "Write package names to be excluded from the analysis.",
  "option.SECURITY.METHOD.OVERRIDE.desc.include_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.METHOD.OVERRIDE.desc.include_method": "Write a name of method names to include an analysis.",
  "option.SECURITY.METHOD.OVERRIDE.desc.include_package": "Write a name of package names to include an analysis.",
  "option.SECURITY.METHOD.OVERRIDE.desc.type_names": "Creates a type name for the variable that contains the analysis.",
  "option.SECURITY.METHOD.OVERRIDE.title.exclude_class": "Excluding class",
  "option.SECURITY.METHOD.OVERRIDE.title.exclude_method": "Excluding method",
  "option.SECURITY.METHOD.OVERRIDE.title.exclude_package": "Excluding package",
  "option.SECURITY.METHOD.OVERRIDE.title.include_class": "Including class",
  "option.SECURITY.METHOD.OVERRIDE.title.include_method": "Including method",
  "option.SECURITY.METHOD.OVERRIDE.title.include_package": "Including package",
  "option.SECURITY.METHOD.OVERRIDE.title.type_names": "Type name of variable with analysis",
  "option.SECURITY.METHOD.PROTECTED.desc.exclude_class": "Write class names to be excluded from the analysis.",
  "option.SECURITY.METHOD.PROTECTED.desc.exclude_method": "Write method names to be excluded from the analysis.",
  "option.SECURITY.METHOD.PROTECTED.desc.exclude_package": "Write package names to be excluded from the analysis.",
  "option.SECURITY.METHOD.PROTECTED.desc.include_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.METHOD.PROTECTED.desc.include_method": "Write a name of method names to include an analysis.",
  "option.SECURITY.METHOD.PROTECTED.desc.include_package": "Write a name of package names to include an analysis.",
  "option.SECURITY.METHOD.PROTECTED.title.exclude_class": "Excluding class",
  "option.SECURITY.METHOD.PROTECTED.title.exclude_method": "Excluding method",
  "option.SECURITY.METHOD.PROTECTED.title.exclude_package": "Excluding package",
  "option.SECURITY.METHOD.PROTECTED.title.include_class": "Including class",
  "option.SECURITY.METHOD.PROTECTED.title.include_method": "Including method",
  "option.SECURITY.METHOD.PROTECTED.title.include_package": "Including package",
  "option.SECURITY.PARTIALLY_INITIALIZED_OBJECT.desc.initializer_method": "Write a name of initialize method.",
  "option.SECURITY.PARTIALLY_INITIALIZED_OBJECT.title.initializer_method": "Initialize method",
  "option.SECURITY.PATTERN.METHOD_CHAINING.desc.exclude_class": "Write class names to be excluded from the analysis.",
  "option.SECURITY.PATTERN.METHOD_CHAINING.desc.exclude_method": "Write method names to be excluded from the analysis.",
  "option.SECURITY.PATTERN.METHOD_CHAINING.desc.exclude_package": "Write package names to be excluded from the analysis.",
  "option.SECURITY.PATTERN.METHOD_CHAINING.desc.include_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.PATTERN.METHOD_CHAINING.desc.include_method": "Write the name of the method to be called for analysis.",
  "option.SECURITY.PATTERN.METHOD_CHAINING.desc.include_package": "Write a name of package names to include an analysis.",
  "option.SECURITY.PATTERN.METHOD_CHAINING.desc.method_name": "Write the name of the method to be detected.",
  "option.SECURITY.PATTERN.METHOD_CHAINING.title.exclude_class": "Excluding class",
  "option.SECURITY.PATTERN.METHOD_CHAINING.title.exclude_method": "Excluding method",
  "option.SECURITY.PATTERN.METHOD_CHAINING.title.exclude_package": "Excluding package",
  "option.SECURITY.PATTERN.METHOD_CHAINING.title.include_class": "Including class",
  "option.SECURITY.PATTERN.METHOD_CHAINING.title.include_method": "Name of the method called to be analyzed",
  "option.SECURITY.PATTERN.METHOD_CHAINING.title.include_package": "Including package",
  "option.SECURITY.PATTERN.METHOD_CHAINING.title.method_name": "Target method",
  "option.SECURITY.PATTERN.THREAD_PER_MESSAGE.desc.executor_method_name": "Write a name of thread executor method.",
  "option.SECURITY.PATTERN.THREAD_PER_MESSAGE.desc.executor_type_name": "Write a name of thread executor class.",
  "option.SECURITY.PATTERN.THREAD_PER_MESSAGE.desc.socket_type_name": "Write a name of socket class.",
  "option.SECURITY.PATTERN.THREAD_PER_MESSAGE.desc.thread_pool_method_name": "Write a name of thread pool method.",
  "option.SECURITY.PATTERN.THREAD_PER_MESSAGE.title.executor_method_name": "Thread run method",
  "option.SECURITY.PATTERN.THREAD_PER_MESSAGE.title.executor_type_name": "Thread executor class",
  "option.SECURITY.PATTERN.THREAD_PER_MESSAGE.title.socket_type_name": "Socket class",
  "option.SECURITY.PATTERN.THREAD_PER_MESSAGE.title.thread_pool_method_name": "Thread pool method",
  "option.SECURITY.PUBLISH_BEFORE_INITIALIZATION.desc.exclude_class": "Write class names to be excluded from the analysis.",
  "option.SECURITY.PUBLISH_BEFORE_INITIALIZATION.desc.exclude_method": "Write method names to be excluded from the analysis.",
  "option.SECURITY.PUBLISH_BEFORE_INITIALIZATION.desc.exclude_package": "Write package names to be excluded from the analysis.",
  "option.SECURITY.PUBLISH_BEFORE_INITIALIZATION.desc.include_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.PUBLISH_BEFORE_INITIALIZATION.desc.include_method": "Write a name of method names to include an analysis.",
  "option.SECURITY.PUBLISH_BEFORE_INITIALIZATION.desc.include_package": "Write a name of package names to include an analysis.",
  "option.SECURITY.PUBLISH_BEFORE_INITIALIZATION.title.exclude_class": "Excluding class",
  "option.SECURITY.PUBLISH_BEFORE_INITIALIZATION.title.exclude_method": "Excluding method",
  "option.SECURITY.PUBLISH_BEFORE_INITIALIZATION.title.exclude_package": "Excluding package",
  "option.SECURITY.PUBLISH_BEFORE_INITIALIZATION.title.include_class": "Including class",
  "option.SECURITY.PUBLISH_BEFORE_INITIALIZATION.title.include_method": "Including method",
  "option.SECURITY.PUBLISH_BEFORE_INITIALIZATION.title.include_package": "Including package",
  "option.SECURITY.RETURN.INPUTSTREAM_READ.desc.exclude_class": "Write class names to be excluded from the analysis.",
  "option.SECURITY.RETURN.INPUTSTREAM_READ.desc.exclude_method": "Write method names to be excluded from the analysis.",
  "option.SECURITY.RETURN.INPUTSTREAM_READ.desc.exclude_package": "Write package names to be excluded from the analysis.",
  "option.SECURITY.RETURN.INPUTSTREAM_READ.desc.include_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.RETURN.INPUTSTREAM_READ.desc.include_method": "Write a name of method names to include an analysis.",
  "option.SECURITY.RETURN.INPUTSTREAM_READ.desc.include_package": "Write a name of package names to include an analysis.",
  "option.SECURITY.RETURN.INPUTSTREAM_READ.desc.method_name": "Wirte a name of a read method.",
  "option.SECURITY.RETURN.INPUTSTREAM_READ.desc.type_name": "Write a name of input classes.",
  "option.SECURITY.RETURN.INPUTSTREAM_READ.title.exclude_class": "Excluding class",
  "option.SECURITY.RETURN.INPUTSTREAM_READ.title.exclude_method": "Excluding method",
  "option.SECURITY.RETURN.INPUTSTREAM_READ.title.exclude_package": "Excluding package",
  "option.SECURITY.RETURN.INPUTSTREAM_READ.title.include_class": "Including class",
  "option.SECURITY.RETURN.INPUTSTREAM_READ.title.include_method": "Including method",
  "option.SECURITY.RETURN.INPUTSTREAM_READ.title.include_package": "Including package",
  "option.SECURITY.RETURN.INPUTSTREAM_READ.title.method_name": "A name of read method",
  "option.SECURITY.RETURN.INPUTSTREAM_READ.title.type_name": "A name of input class",
  "option.SECURITY.RETURN.INTEGER_DATA.desc.method_name": "Write a name of readInt() method.",
  "option.SECURITY.RETURN.INTEGER_DATA.desc.type_name": "Write class names including readInt() method.",
  "option.SECURITY.RETURN.INTEGER_DATA.title.method_name": "A name of readInt()",
  "option.SECURITY.RETURN.INTEGER_DATA.title.type_name": "Class names including readInt()",
  "option.SECURITY.RETURN.WRAP_OR_DUPLICATE.desc.method_name": "Write a name of target methods.",
  "option.SECURITY.RETURN.WRAP_OR_DUPLICATE.desc.type_name": "Write a name of target classes.",
  "option.SECURITY.RETURN.WRAP_OR_DUPLICATE.title.method_name": "Target method",
  "option.SECURITY.RETURN.WRAP_OR_DUPLICATE.title.type_name": "Target class",
  "option.SECURITY.SERIALIZABLE.FIELD.TRANSIENT.desc.exclude_class": "Write class names to be excluded from the analysis.",
  "option.SECURITY.SERIALIZABLE.FIELD.TRANSIENT.desc.exclude_field": "Write a name of field names to exclude an analysis.",
  "option.SECURITY.SERIALIZABLE.FIELD.TRANSIENT.desc.exclude_method": "Write method names to be excluded from the analysis.",
  "option.SECURITY.SERIALIZABLE.FIELD.TRANSIENT.desc.exclude_package": "Write package names to be excluded from the analysis.",
  "option.SECURITY.SERIALIZABLE.FIELD.TRANSIENT.desc.include_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.SERIALIZABLE.FIELD.TRANSIENT.desc.include_field": "Write a name of field names to include an analysis.",
  "option.SECURITY.SERIALIZABLE.FIELD.TRANSIENT.desc.include_method": "Write a name of method names to include an analysis.",
  "option.SECURITY.SERIALIZABLE.FIELD.TRANSIENT.desc.include_package": "Write a name of package names to include an analysis.",
  "option.SECURITY.SERIALIZABLE.FIELD.TRANSIENT.title.exclude_class": "Excluding class",
  "option.SECURITY.SERIALIZABLE.FIELD.TRANSIENT.title.exclude_field": "Excluding field",
  "option.SECURITY.SERIALIZABLE.FIELD.TRANSIENT.title.exclude_method": "Excluding method",
  "option.SECURITY.SERIALIZABLE.FIELD.TRANSIENT.title.exclude_package": "Excluding package",
  "option.SECURITY.SERIALIZABLE.FIELD.TRANSIENT.title.include_class": "Including class",
  "option.SECURITY.SERIALIZABLE.FIELD.TRANSIENT.title.include_field": "Including field",
  "option.SECURITY.SERIALIZABLE.FIELD.TRANSIENT.title.include_method": "Including method",
  "option.SECURITY.SERIALIZABLE.FIELD.TRANSIENT.title.include_package": "Including package",
  "option.SECURITY.SERIALIZABLE.METHOD_OVERRIDE.desc.exclude_class": "Write class names to be excluded from the analysis.",
  "option.SECURITY.SERIALIZABLE.METHOD_OVERRIDE.desc.exclude_method": "Write method names to be excluded from the analysis.",
  "option.SECURITY.SERIALIZABLE.METHOD_OVERRIDE.desc.exclude_package": "Write package names to be excluded from the analysis.",
  "option.SECURITY.SERIALIZABLE.METHOD_OVERRIDE.desc.include_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.SERIALIZABLE.METHOD_OVERRIDE.desc.include_method": "Write a name of method names to include an analysis.",
  "option.SECURITY.SERIALIZABLE.METHOD_OVERRIDE.desc.include_package": "Write a name of package names to include an analysis.",
  "option.SECURITY.SERIALIZABLE.METHOD_OVERRIDE.desc.method_name": "Write a name of implementing serializable method.",
  "option.SECURITY.SERIALIZABLE.METHOD_OVERRIDE.desc.throws_list": "Write a name of exception which would be thrown.",
  "option.SECURITY.SERIALIZABLE.METHOD_OVERRIDE.title.exclude_class": "Excluding class",
  "option.SECURITY.SERIALIZABLE.METHOD_OVERRIDE.title.exclude_method": "Excluding method",
  "option.SECURITY.SERIALIZABLE.METHOD_OVERRIDE.title.exclude_package": "Excluding package",
  "option.SECURITY.SERIALIZABLE.METHOD_OVERRIDE.title.include_class": "Including class",
  "option.SECURITY.SERIALIZABLE.METHOD_OVERRIDE.title.include_method": "Including method",
  "option.SECURITY.SERIALIZABLE.METHOD_OVERRIDE.title.include_package": "Including package",
  "option.SECURITY.SERIALIZABLE.METHOD_OVERRIDE.title.method_name": "Serializable implementing method",
  "option.SECURITY.SERIALIZABLE.METHOD_OVERRIDE.title.throws_list": "Throws exception",
  "option.SECURITY.SYNCHRONIZE.ATOMIC_VALUE.desc.excluded_class": "Write the name of a class to exclude.\nExample) .*Dto",
  "option.SECURITY.SYNCHRONIZE.ATOMIC_VALUE.desc.excluded_method": "Write the name of a method to exclude.\nExample) .*Dto",
  "option.SECURITY.SYNCHRONIZE.ATOMIC_VALUE.desc.excluded_package": "Write the name of a package to exclude.\nExample) .*dto",
  "option.SECURITY.SYNCHRONIZE.ATOMIC_VALUE.title.excluded_class": "Name of the class to exclude from the checking",
  "option.SECURITY.SYNCHRONIZE.ATOMIC_VALUE.title.excluded_method": "Excluded Method",
  "option.SECURITY.SYNCHRONIZE.ATOMIC_VALUE.title.excluded_package": "Excluded package",
  "option.SECURITY.SYNCHRONIZE.BACK_COLLECTION.desc.method_name": "Write a name of keySet() method.",
  "option.SECURITY.SYNCHRONIZE.BACK_COLLECTION.desc.type_name": "Name of collection to detect",
  "option.SECURITY.SYNCHRONIZE.BACK_COLLECTION.title.method_name": "keySet() method",
  "option.SECURITY.SYNCHRONIZE.BACK_COLLECTION.title.type_name": "collection name",
  "option.SECURITY.SYNCHRONIZE.GET_CLASS.desc.exclude_class": "Write class names to be excluded from the analysis.",
  "option.SECURITY.SYNCHRONIZE.GET_CLASS.desc.exclude_method": "Write method names to be excluded from the analysis.",
  "option.SECURITY.SYNCHRONIZE.GET_CLASS.desc.exclude_package": "Write package names to be excluded from the analysis.",
  "option.SECURITY.SYNCHRONIZE.GET_CLASS.desc.include_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.SYNCHRONIZE.GET_CLASS.desc.include_method": "Write a name of method names to include an analysis.",
  "option.SECURITY.SYNCHRONIZE.GET_CLASS.desc.include_package": "Write a name of package names to include an analysis.",
  "option.SECURITY.SYNCHRONIZE.GET_CLASS.desc.method_name": "Write a name of getClass() method.",
  "option.SECURITY.SYNCHRONIZE.GET_CLASS.title.exclude_class": "Excluding class",
  "option.SECURITY.SYNCHRONIZE.GET_CLASS.title.exclude_method": "Excluding method",
  "option.SECURITY.SYNCHRONIZE.GET_CLASS.title.exclude_package": "Excluding package",
  "option.SECURITY.SYNCHRONIZE.GET_CLASS.title.include_class": "Including class",
  "option.SECURITY.SYNCHRONIZE.GET_CLASS.title.include_method": "Including method",
  "option.SECURITY.SYNCHRONIZE.GET_CLASS.title.include_package": "Including package",
  "option.SECURITY.SYNCHRONIZE.GET_CLASS.title.method_name": "getClass() method",
  "option.SECURITY.SYNCHRONIZE.LOCK_OR_CONDITION.desc.exclude_class": "Write class names to be excluded from the analysis.",
  "option.SECURITY.SYNCHRONIZE.LOCK_OR_CONDITION.desc.exclude_method": "Write method names to be excluded from the analysis.",
  "option.SECURITY.SYNCHRONIZE.LOCK_OR_CONDITION.desc.exclude_package": "Write package names to be excluded from the analysis.",
  "option.SECURITY.SYNCHRONIZE.LOCK_OR_CONDITION.desc.include_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.SYNCHRONIZE.LOCK_OR_CONDITION.desc.include_method": "Write a name of method names to include an analysis.",
  "option.SECURITY.SYNCHRONIZE.LOCK_OR_CONDITION.desc.include_package": "Write a name of package names to include an analysis.",
  "option.SECURITY.SYNCHRONIZE.LOCK_OR_CONDITION.desc.type_name": "Write a name of Implemented classes by Lock or Condition interface.",
  "option.SECURITY.SYNCHRONIZE.LOCK_OR_CONDITION.title.exclude_class": "Excluding class",
  "option.SECURITY.SYNCHRONIZE.LOCK_OR_CONDITION.title.exclude_method": "Excluding method",
  "option.SECURITY.SYNCHRONIZE.LOCK_OR_CONDITION.title.exclude_package": "Excluding package",
  "option.SECURITY.SYNCHRONIZE.LOCK_OR_CONDITION.title.include_class": "Including class",
  "option.SECURITY.SYNCHRONIZE.LOCK_OR_CONDITION.title.include_method": "Including method",
  "option.SECURITY.SYNCHRONIZE.LOCK_OR_CONDITION.title.include_package": "Including package",
  "option.SECURITY.SYNCHRONIZE.LOCK_OR_CONDITION.title.type_name": "Implemented class by Lock or Condition interface",
  "option.SECURITY.SYNCHRONIZE.REUSABLE_OBJECT.desc.exclude_class": "Write class names to be excluded from the analysis.",
  "option.SECURITY.SYNCHRONIZE.REUSABLE_OBJECT.desc.exclude_method": "Write method names to be excluded from the analysis.",
  "option.SECURITY.SYNCHRONIZE.REUSABLE_OBJECT.desc.exclude_package": "Write package names to be excluded from the analysis.",
  "option.SECURITY.SYNCHRONIZE.REUSABLE_OBJECT.desc.include_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.SYNCHRONIZE.REUSABLE_OBJECT.desc.include_method": "Write a name of method names to include an analysis.",
  "option.SECURITY.SYNCHRONIZE.REUSABLE_OBJECT.desc.include_package": "Write a name of package names to include an analysis.",
  "option.SECURITY.SYNCHRONIZE.REUSABLE_OBJECT.desc.type_name": "Write a name of reusable type classes.",
  "option.SECURITY.SYNCHRONIZE.REUSABLE_OBJECT.title.exclude_class": "Excluding class",
  "option.SECURITY.SYNCHRONIZE.REUSABLE_OBJECT.title.exclude_method": "Excluding method",
  "option.SECURITY.SYNCHRONIZE.REUSABLE_OBJECT.title.exclude_package": "Excluding package",
  "option.SECURITY.SYNCHRONIZE.REUSABLE_OBJECT.title.include_class": "Including class",
  "option.SECURITY.SYNCHRONIZE.REUSABLE_OBJECT.title.include_method": "Including method",
  "option.SECURITY.SYNCHRONIZE.REUSABLE_OBJECT.title.include_package": "Including package",
  "option.SECURITY.SYNCHRONIZE.REUSABLE_OBJECT.title.type_name": "Reusable type",
  "option.SECURITY.SYNCHRONIZE.STATIC.FIELD.desc.exclude_class": "Write class names to be excluded from the analysis.",
  "option.SECURITY.SYNCHRONIZE.STATIC.FIELD.desc.exclude_method": "Write method names to be excluded from the analysis.",
  "option.SECURITY.SYNCHRONIZE.STATIC.FIELD.desc.exclude_package": "Write package names to be excluded from the analysis.",
  "option.SECURITY.SYNCHRONIZE.STATIC.FIELD.desc.include_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.SYNCHRONIZE.STATIC.FIELD.desc.include_method": "Write a name of method names to include an analysis.",
  "option.SECURITY.SYNCHRONIZE.STATIC.FIELD.desc.include_package": "Write a name of package names to include an analysis.",
  "option.SECURITY.SYNCHRONIZE.STATIC.FIELD.title.exclude_class": "Excluding class",
  "option.SECURITY.SYNCHRONIZE.STATIC.FIELD.title.exclude_method": "Excluding method",
  "option.SECURITY.SYNCHRONIZE.STATIC.FIELD.title.exclude_package": "Excluding package",
  "option.SECURITY.SYNCHRONIZE.STATIC.FIELD.title.include_class": "Including class",
  "option.SECURITY.SYNCHRONIZE.STATIC.FIELD.title.include_method": "Including method",
  "option.SECURITY.SYNCHRONIZE.STATIC.FIELD.title.include_package": "Including package",
  "option.SECURITY.THREAD.LOCAL.NOT_REINITIALIZED.desc.executor_method": "Write a name of Executor class.",
  "option.SECURITY.THREAD.LOCAL.NOT_REINITIALIZED.desc.method_names": "Enter override method name for analysis.",
  "option.SECURITY.THREAD.LOCAL.NOT_REINITIALIZED.desc.reinitializer_method": "Write a name of re-initializer method.",
  "option.SECURITY.THREAD.LOCAL.NOT_REINITIALIZED.desc.type_names": "Enter class type name for analysis.",
  "option.SECURITY.THREAD.LOCAL.NOT_REINITIALIZED.title.executor_method": "Executor class",
  "option.SECURITY.THREAD.LOCAL.NOT_REINITIALIZED.title.method_names": "Analysis Target Override Method",
  "option.SECURITY.THREAD.LOCAL.NOT_REINITIALIZED.title.reinitializer_method": "Re-initializer method",
  "option.SECURITY.THREAD.LOCAL.NOT_REINITIALIZED.title.type_names": "Analysis Target Class Type",
  "option.SECURITY.THREAD.SHARED_VARIABLE.desc.exclude_class": "Write class names to be excluded from the analysis.",
  "option.SECURITY.THREAD.SHARED_VARIABLE.desc.exclude_method": "Write method names to be excluded from the analysis.",
  "option.SECURITY.THREAD.SHARED_VARIABLE.desc.exclude_package": "Write package names to be excluded from the analysis.",
  "option.SECURITY.THREAD.SHARED_VARIABLE.desc.implement_list": "Write a name of runnable interface.",
  "option.SECURITY.THREAD.SHARED_VARIABLE.desc.include_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.THREAD.SHARED_VARIABLE.desc.include_method": "Write a name of method names to include an analysis.",
  "option.SECURITY.THREAD.SHARED_VARIABLE.desc.include_package": "Write a name of package names to include an analysis.",
  "option.SECURITY.THREAD.SHARED_VARIABLE.desc.thread_list": "Write a name of thread class.",
  "option.SECURITY.THREAD.SHARED_VARIABLE.desc.type_name": "Write a name of shared variable types.",
  "option.SECURITY.THREAD.SHARED_VARIABLE.title.exclude_class": "Excluding class",
  "option.SECURITY.THREAD.SHARED_VARIABLE.title.exclude_method": "Excluding method",
  "option.SECURITY.THREAD.SHARED_VARIABLE.title.exclude_package": "Excluding package",
  "option.SECURITY.THREAD.SHARED_VARIABLE.title.implement_list": "Runnable interface",
  "option.SECURITY.THREAD.SHARED_VARIABLE.title.include_class": "Including class",
  "option.SECURITY.THREAD.SHARED_VARIABLE.title.include_method": "Including method",
  "option.SECURITY.THREAD.SHARED_VARIABLE.title.include_package": "Including package",
  "option.SECURITY.THREAD.SHARED_VARIABLE.title.thread_list": "Thread class",
  "option.SECURITY.THREAD.SHARED_VARIABLE.title.type_name": "Shared variable type",
  "option.SECURITY.THROW.THREAD_POOL.desc.call_base_type": "Write a name of executors class.",
  "option.SECURITY.THROW.THREAD_POOL.desc.call_method_name": "Write a name of thread pool method.",
  "option.SECURITY.THROW.THREAD_POOL.desc.exclude_class": "Write class names to be excluded from the analysis.",
  "option.SECURITY.THROW.THREAD_POOL.desc.exclude_method": "Write method names to be excluded from the analysis.",
  "option.SECURITY.THROW.THREAD_POOL.desc.exclude_package": "Write package names to be excluded from the analysis.",
  "option.SECURITY.THROW.THREAD_POOL.desc.include_class": "Write a name of class names to include an analysis.",
  "option.SECURITY.THROW.THREAD_POOL.desc.include_method": "Write a name of method names to include an analysis.",
  "option.SECURITY.THROW.THREAD_POOL.desc.include_package": "Write a name of package names to include an analysis.",
  "option.SECURITY.THROW.THREAD_POOL.desc.target_method": "Write a name of executing method.",
  "option.SECURITY.THROW.THREAD_POOL.title.call_base_type": "Executors class",
  "option.SECURITY.THROW.THREAD_POOL.title.call_method_name": "Thread pool method",
  "option.SECURITY.THROW.THREAD_POOL.title.exclude_class": "Excluding class",
  "option.SECURITY.THROW.THREAD_POOL.title.exclude_method": "Excluding method",
  "option.SECURITY.THROW.THREAD_POOL.title.exclude_package": "Excluding package",
  "option.SECURITY.THROW.THREAD_POOL.title.include_class": "Including class",
  "option.SECURITY.THROW.THREAD_POOL.title.include_method": "Including method",
  "option.SECURITY.THROW.THREAD_POOL.title.include_package": "Including package",
  "option.SECURITY.THROW.THREAD_POOL.title.target_method": "Executing method",
  "option.SECURITY_DECISION_ON_DNS_LOOKUP.desc.dns_decision_function": "Write the name of the function which makes security decisions by using the DNS as a parameter.\nExample) strcmp",
  "option.SECURITY_DECISION_ON_DNS_LOOKUP.desc.dns_lookup_function": "Write the name of the function which looks up the DNS.\nExample) gethostbyaddr",
  "option.SECURITY_DECISION_ON_DNS_LOOKUP.title.dns_decision_function": "Security decision function",
  "option.SECURITY_DECISION_ON_DNS_LOOKUP.title.dns_lookup_function": "DNS Lookup function",
  "option.SENSITIVE_COOKIE.FLAG.JS.desc.cookie_middleware": "Enter cookie setting middleware.\nExample) cookie-session",
  "option.SENSITIVE_COOKIE.FLAG.JS.desc.security_flag": "Enter security flags of cookies.\nExample) httpOnly, secure",
  "option.SENSITIVE_COOKIE.FLAG.JS.title.cookie_middleware": "Cookie setting middleware",
  "option.SENSITIVE_COOKIE.FLAG.JS.title.security_flag": "Security flag of cookies",
  "option.SENSITIVE_COOKIE_IN_HTTPS_SESSION_WITHOUT_SECURE_ATTRIBUTE.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.SENSITIVE_COOKIE_IN_HTTPS_SESSION_WITHOUT_SECURE_ATTRIBUTE.desc.cookie_class": "Cookie classes for security property settings",
  "option.SENSITIVE_COOKIE_IN_HTTPS_SESSION_WITHOUT_SECURE_ATTRIBUTE.desc.exclude": "A filter is considered safe if it is defined like this \"if\" {filter_target}\nfilter_target: filter expression for the pollution value (includes method definition).",
  "option.SENSITIVE_COOKIE_IN_HTTPS_SESSION_WITHOUT_SECURE_ATTRIBUTE.desc.propagator": "If a propagator is defined as follows, it propagates a tainted value. {propagator_target}\npropagator_target: propagation expression for the tainted value. (including method definition)",
  "option.SENSITIVE_COOKIE_IN_HTTPS_SESSION_WITHOUT_SECURE_ATTRIBUTE.desc.response_class": "Response classes for Servlet. \nExample)HttpServletResponse",
  "option.SENSITIVE_COOKIE_IN_HTTPS_SESSION_WITHOUT_SECURE_ATTRIBUTE.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.SENSITIVE_COOKIE_IN_HTTPS_SESSION_WITHOUT_SECURE_ATTRIBUTE.title.alarm": "Detection rule",
  "option.SENSITIVE_COOKIE_IN_HTTPS_SESSION_WITHOUT_SECURE_ATTRIBUTE.title.cookie_class": "Cookie Classes",
  "option.SENSITIVE_COOKIE_IN_HTTPS_SESSION_WITHOUT_SECURE_ATTRIBUTE.title.exclude": "Exception rule",
  "option.SENSITIVE_COOKIE_IN_HTTPS_SESSION_WITHOUT_SECURE_ATTRIBUTE.title.propagator": "Propagator name",
  "option.SENSITIVE_COOKIE_IN_HTTPS_SESSION_WITHOUT_SECURE_ATTRIBUTE.title.response_class": "Response classes for Servlet",
  "option.SENSITIVE_COOKIE_IN_HTTPS_SESSION_WITHOUT_SECURE_ATTRIBUTE.title.suggestion_filter_function": "Suggested filter function",
  "option.SERVER_SIDE_REQUEST_FORGERY.GO.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) operand(*) of \"in\"",
  "option.SERVER_SIDE_REQUEST_FORGERY.GO.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) sparrow.my.filter.utils.is_safe()",
  "option.SERVER_SIDE_REQUEST_FORGERY.GO.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.SERVER_SIDE_REQUEST_FORGERY.GO.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) base of name(\"openConnection\")",
  "option.SERVER_SIDE_REQUEST_FORGERY.GO.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(\"java.io.BufferedInputStream.read(byte[])\")",
  "option.SERVER_SIDE_REQUEST_FORGERY.GO.title.taint_filter": "External information filter",
  "option.SERVER_SIDE_REQUEST_FORGERY.GO.title.taint_filter_function_fqn": "Custom external information filter",
  "option.SERVER_SIDE_REQUEST_FORGERY.GO.title.taint_propagator": "External information propagator",
  "option.SERVER_SIDE_REQUEST_FORGERY.GO.title.taint_sink": "External information sink",
  "option.SERVER_SIDE_REQUEST_FORGERY.GO.title.taint_source": "External information source",
  "option.SERVER_SIDE_REQUEST_FORGERY.JS.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) operand(*) of \"==\"",
  "option.SERVER_SIDE_REQUEST_FORGERY.JS.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.SERVER_SIDE_REQUEST_FORGERY.JS.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\"+\") to return",
  "option.SERVER_SIDE_REQUEST_FORGERY.JS.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(1) of fqn(\"__sparrow_required__url.parse\")",
  "option.SERVER_SIDE_REQUEST_FORGERY.JS.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of fqn(\"__sparrow_node_js_request__.url\")",
  "option.SERVER_SIDE_REQUEST_FORGERY.JS.title.taint_filter": "External information filter",
  "option.SERVER_SIDE_REQUEST_FORGERY.JS.title.taint_filter_function_fqn": "Custom external information filter",
  "option.SERVER_SIDE_REQUEST_FORGERY.JS.title.taint_propagator": "External information propagator",
  "option.SERVER_SIDE_REQUEST_FORGERY.JS.title.taint_sink": "External information sink",
  "option.SERVER_SIDE_REQUEST_FORGERY.JS.title.taint_source": "External information source",
  "option.SERVER_SIDE_REQUEST_FORGERY.KOTLIN.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) operand(*) of \"in\"",
  "option.SERVER_SIDE_REQUEST_FORGERY.KOTLIN.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) sparrow.my.filter.utils.is_safe()",
  "option.SERVER_SIDE_REQUEST_FORGERY.KOTLIN.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.SERVER_SIDE_REQUEST_FORGERY.KOTLIN.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) base of name(\"openConnection\")",
  "option.SERVER_SIDE_REQUEST_FORGERY.KOTLIN.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(\"java.io.BufferedInputStream.read(byte[])\")",
  "option.SERVER_SIDE_REQUEST_FORGERY.KOTLIN.title.taint_filter": "External information filter",
  "option.SERVER_SIDE_REQUEST_FORGERY.KOTLIN.title.taint_filter_function_fqn": "Custom external information filter",
  "option.SERVER_SIDE_REQUEST_FORGERY.KOTLIN.title.taint_propagator": "External information propagator",
  "option.SERVER_SIDE_REQUEST_FORGERY.KOTLIN.title.taint_sink": "External information sink",
  "option.SERVER_SIDE_REQUEST_FORGERY.KOTLIN.title.taint_source": "External information source",
  "option.SERVER_SIDE_REQUEST_FORGERY.PHP.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(1) of name(\"in_array\")",
  "option.SERVER_SIDE_REQUEST_FORGERY.PHP.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.SERVER_SIDE_REQUEST_FORGERY.PHP.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\".\") to return",
  "option.SERVER_SIDE_REQUEST_FORGERY.PHP.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(*) of name(\"file_get_contents\")",
  "option.SERVER_SIDE_REQUEST_FORGERY.PHP.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of name(\"$_GET\")",
  "option.SERVER_SIDE_REQUEST_FORGERY.PHP.title.taint_filter": "External information filter",
  "option.SERVER_SIDE_REQUEST_FORGERY.PHP.title.taint_filter_function_fqn": "Custom external information filter",
  "option.SERVER_SIDE_REQUEST_FORGERY.PHP.title.taint_propagator": "External information propagator",
  "option.SERVER_SIDE_REQUEST_FORGERY.PHP.title.taint_sink": "External information sink",
  "option.SERVER_SIDE_REQUEST_FORGERY.PHP.title.taint_source": "External information source",
  "option.SERVER_SIDE_REQUEST_FORGERY.PYTHON.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.SERVER_SIDE_REQUEST_FORGERY.PYTHON.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.SERVER_SIDE_REQUEST_FORGERY.PYTHON.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) strcpy$param(2)->param(1)",
  "option.SERVER_SIDE_REQUEST_FORGERY.PYTHON.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) CFStreamCreatePairWithSocketToHost$param(2)",
  "option.SERVER_SIDE_REQUEST_FORGERY.PYTHON.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) getenv$return",
  "option.SERVER_SIDE_REQUEST_FORGERY.PYTHON.title.taint_filter": "External information filter",
  "option.SERVER_SIDE_REQUEST_FORGERY.PYTHON.title.taint_filter_function_fqn": "Custom external information filter",
  "option.SERVER_SIDE_REQUEST_FORGERY.PYTHON.title.taint_propagator": "External information propagator",
  "option.SERVER_SIDE_REQUEST_FORGERY.PYTHON.title.taint_sink": "External information sink",
  "option.SERVER_SIDE_REQUEST_FORGERY.PYTHON.title.taint_source": "External information source",
  "option.SERVER_SIDE_REQUEST_FORGERY.desc.class_type": "Sets the class name that uses the external input value.",
  "option.SERVER_SIDE_REQUEST_FORGERY.desc.filter_method": "Type the name of the method that validates the external input values.\nExample) whitelist",
  "option.SERVER_SIDE_REQUEST_FORGERY.desc.request_method": "Type the name of the method that acquires the external input value.\nExample) javax.servlet.http.HttpServletRequest.getParameter",
  "option.SERVER_SIDE_REQUEST_FORGERY.title.class_type": "Class name that uses external input values",
  "option.SERVER_SIDE_REQUEST_FORGERY.title.filter_method": "External Input Value Validation Method",
  "option.SERVER_SIDE_REQUEST_FORGERY.title.request_method": "External Input Value Acquisition Method",
  "option.SERVLET_WORK_WITH_COMMITTED_RESPONSE.desc.exclude_method": "Write method names to be excluded from the analysis.\nExample).*Print",
  "option.SERVLET_WORK_WITH_COMMITTED_RESPONSE.desc.exclude_path": "Enter paths to be excluded from the analysis.\nExample).*\\\\test\\\\.*",
  "option.SERVLET_WORK_WITH_COMMITTED_RESPONSE.title.exclude_method": "Excluding method",
  "option.SERVLET_WORK_WITH_COMMITTED_RESPONSE.title.exclude_path": "Excluded path",
  "option.SETTING_MANIPULATION.PYTHON.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.SETTING_MANIPULATION.PYTHON.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.SETTING_MANIPULATION.PYTHON.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) &$operand(*)->return",
  "option.SETTING_MANIPULATION.PYTHON.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) .*\\.create$param(*)",
  "option.SETTING_MANIPULATION.PYTHON.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) request\\.form$return",
  "option.SETTING_MANIPULATION.PYTHON.title.taint_filter": "External information filter",
  "option.SETTING_MANIPULATION.PYTHON.title.taint_filter_function_fqn": "Custom external information filter",
  "option.SETTING_MANIPULATION.PYTHON.title.taint_propagator": "External information propagator",
  "option.SETTING_MANIPULATION.PYTHON.title.taint_sink": "External information sink",
  "option.SETTING_MANIPULATION.PYTHON.title.taint_source": "External information source",
  "option.SETTING_MANIPULATION.VBS.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.SETTING_MANIPULATION.VBS.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.SETTING_MANIPULATION.VBS.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) &$operand(*)->return",
  "option.SETTING_MANIPULATION.VBS.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) .*\\.create$param(*)",
  "option.SETTING_MANIPULATION.VBS.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) request\\.form$return",
  "option.SETTING_MANIPULATION.VBS.title.taint_filter": "External information filter",
  "option.SETTING_MANIPULATION.VBS.title.taint_filter_function_fqn": "Custom external information filter",
  "option.SETTING_MANIPULATION.VBS.title.taint_propagator": "External information propagator",
  "option.SETTING_MANIPULATION.VBS.title.taint_sink": "External information sink",
  "option.SETTING_MANIPULATION.VBS.title.taint_source": "External information source",
  "option.SIGNAL_HANDLER_CALLS_UNSAFE_FUNCTION.desc.ignore_func": "Set up functions to be excluded for analyze",
  "option.SIGNAL_HANDLER_CALLS_UNSAFE_FUNCTION.title.ignore_func": "Functions to be excluded for analyze",
  "option.SINGLE_OR_MULTI_COMMENT.desc.use_single_comment": "If selected, '/*...*/' comments are detected.",
  "option.SINGLE_OR_MULTI_COMMENT.title.use_single_comment": "Using only '//' comments.",
  "option.SMTP_COMMAND_INJECTION.PYTHON.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.SMTP_COMMAND_INJECTION.PYTHON.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.SMTP_COMMAND_INJECTION.PYTHON.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) \\.$operand(*)->return",
  "option.SMTP_COMMAND_INJECTION.PYTHON.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) system$param(1)",
  "option.SMTP_COMMAND_INJECTION.PYTHON.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) \\$_GET$variable",
  "option.SMTP_COMMAND_INJECTION.PYTHON.title.taint_filter": "External information filter",
  "option.SMTP_COMMAND_INJECTION.PYTHON.title.taint_filter_function_fqn": "Custom external information filter",
  "option.SMTP_COMMAND_INJECTION.PYTHON.title.taint_propagator": "External information propagator",
  "option.SMTP_COMMAND_INJECTION.PYTHON.title.taint_sink": "External information sink",
  "option.SMTP_COMMAND_INJECTION.PYTHON.title.taint_source": "External information source",
  "option.SPECIFIC_PATH_BOOLEAN_NAME.desc.allowed_name_pattern": "Option to input a regular expression for naming rules that boolean variables must follow, detecting when boolean variable names in a file don't match this pattern.",
  "option.SPECIFIC_PATH_BOOLEAN_NAME.desc.allowed_type": "Option to input specific boolean variable types as text to exclude those variable types from detection. For example, if \"protected\" is input, it will not check if protected boolean variables adhere to naming rules.",
  "option.SPECIFIC_PATH_BOOLEAN_NAME.desc.target_path": "Option to include files in the analysis when file paths matching the input text are found.",
  "option.SPECIFIC_PATH_BOOLEAN_NAME.desc.target_path_pattern": "Option to include files in the analysis when file paths within the range of the input regular expression are found.",
  "option.SPECIFIC_PATH_BOOLEAN_NAME.desc.whitelist_path": "Option to exclude files from the analysis when file paths matching the input text are found.",
  "option.SPECIFIC_PATH_BOOLEAN_NAME.desc.whitelist_path_pattern": "Option to exclude files from the analysis when file paths within the range of the input regular expression are found.",
  "option.SPECIFIC_PATH_BOOLEAN_NAME.title.allowed_name_pattern": "Basic naming rules for boolean variables (whitelist range)",
  "option.SPECIFIC_PATH_BOOLEAN_NAME.title.allowed_type": "Boolean variable types to exclude from detection",
  "option.SPECIFIC_PATH_BOOLEAN_NAME.title.target_path": "Target file path for analysis",
  "option.SPECIFIC_PATH_BOOLEAN_NAME.title.target_path_pattern": "Target file path pattern for analysis",
  "option.SPECIFIC_PATH_BOOLEAN_NAME.title.whitelist_path": "File paths to exclude from analysis",
  "option.SPECIFIC_PATH_BOOLEAN_NAME.title.whitelist_path_pattern": "File path patterns to exclude from analysis",
  "option.SQL_INJECTION.GO.desc.custom_taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) base of name(\"openConnection\")",
  "option.SQL_INJECTION.GO.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) operand(*) of \"in\"",
  "option.SQL_INJECTION.GO.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) sparrow.my.filter.utils.is_safe()",
  "option.SQL_INJECTION.GO.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.SQL_INJECTION.GO.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(\"java.io.BufferedInputStream.read(byte[])\")",
  "option.SQL_INJECTION.GO.title.custom_taint_sink": "External information sink",
  "option.SQL_INJECTION.GO.title.taint_filter": "External information filter",
  "option.SQL_INJECTION.GO.title.taint_filter_function_fqn": "Custom external information filter",
  "option.SQL_INJECTION.GO.title.taint_propagator": "External information propagator",
  "option.SQL_INJECTION.GO.title.taint_source": "External information source",
  "option.SQL_INJECTION.JS.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" {sink_target} \"is_from\" {source_target}\nsink_target: expression for the tainted value (including definition for method).\nsource_target: expression that causes the tainted value (including definition for method).",
  "option.SQL_INJECTION.JS.desc.exclude": "A filter is considered safe if it is defined like this. \"if\" {filter_target}\nfilter_target: filter expression for the tainted value (including definition for method).",
  "option.SQL_INJECTION.JS.desc.propagator": "propagator propagates tainted values if it is defined as follows {propagator_target}\npropagator_target: propagation expression for the tainted value (contains the method definition).",
  "option.SQL_INJECTION.JS.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.SQL_INJECTION.JS.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(*) of name(\"filter\")",
  "option.SQL_INJECTION.JS.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.SQL_INJECTION.JS.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\"+\") to return",
  "option.SQL_INJECTION.JS.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(1) of name(\"query\")",
  "option.SQL_INJECTION.JS.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of fqn(\"document.URL\")",
  "option.SQL_INJECTION.JS.title.alarm": "Detection rule",
  "option.SQL_INJECTION.JS.title.exclude": "Exception rule",
  "option.SQL_INJECTION.JS.title.propagator": "Propagator name",
  "option.SQL_INJECTION.JS.title.suggestion_filter_function": "Suggested filter function",
  "option.SQL_INJECTION.JS.title.taint_filter": "External information filter",
  "option.SQL_INJECTION.JS.title.taint_filter_function_fqn": "Custom external information filter",
  "option.SQL_INJECTION.JS.title.taint_propagator": "External information propagator",
  "option.SQL_INJECTION.JS.title.taint_sink": "External information sink",
  "option.SQL_INJECTION.JS.title.taint_source": "External information source",
  "option.SQL_INJECTION.KOTLIN.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) operand(*) of \"in\"",
  "option.SQL_INJECTION.KOTLIN.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) sparrow.my.filter.utils.is_safe()",
  "option.SQL_INJECTION.KOTLIN.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.SQL_INJECTION.KOTLIN.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(1) of fqn(reg(\"java\\.sql\\.Statement\\.executeQuery\\(.*\\)\"))",
  "option.SQL_INJECTION.KOTLIN.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(\"java.io.BufferedInputStream.read(byte[])\")",
  "option.SQL_INJECTION.KOTLIN.title.taint_filter": "External information filter",
  "option.SQL_INJECTION.KOTLIN.title.taint_filter_function_fqn": "Custom external information filter",
  "option.SQL_INJECTION.KOTLIN.title.taint_propagator": "External information propagator",
  "option.SQL_INJECTION.KOTLIN.title.taint_sink": "External information sink",
  "option.SQL_INJECTION.KOTLIN.title.taint_source": "External information source",
  "option.SQL_INJECTION.OBJC.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.SQL_INJECTION.OBJC.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.SQL_INJECTION.OBJC.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) strcpy$param(2)->param(1)",
  "option.SQL_INJECTION.OBJC.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) sqlite3_exec$param(2)",
  "option.SQL_INJECTION.OBJC.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) getenv$return",
  "option.SQL_INJECTION.OBJC.title.taint_filter": "External information filter",
  "option.SQL_INJECTION.OBJC.title.taint_filter_function_fqn": "Custom external information filter",
  "option.SQL_INJECTION.OBJC.title.taint_propagator": "External information propagator",
  "option.SQL_INJECTION.OBJC.title.taint_sink": "External information sink",
  "option.SQL_INJECTION.OBJC.title.taint_source": "External information source",
  "option.SQL_INJECTION.PHP.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) return of name(\"mysql_real_escape_string\")",
  "option.SQL_INJECTION.PHP.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.SQL_INJECTION.PHP.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\".\") to return",
  "option.SQL_INJECTION.PHP.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(*) of name(\"mysql_query\")",
  "option.SQL_INJECTION.PHP.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of name(\"$_GET\")",
  "option.SQL_INJECTION.PHP.title.taint_filter": "External information filter",
  "option.SQL_INJECTION.PHP.title.taint_filter_function_fqn": "Custom external information filter",
  "option.SQL_INJECTION.PHP.title.taint_propagator": "External information propagator",
  "option.SQL_INJECTION.PHP.title.taint_sink": "External information sink",
  "option.SQL_INJECTION.PHP.title.taint_source": "External information source",
  "option.SQL_INJECTION.PYTHON.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.SQL_INJECTION.PYTHON.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.SQL_INJECTION.PYTHON.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) \\.$operand(*)->return",
  "option.SQL_INJECTION.PYTHON.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) mysql_query$param(*)",
  "option.SQL_INJECTION.PYTHON.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) \\$_GET$variable",
  "option.SQL_INJECTION.PYTHON.title.taint_filter": "External information filter",
  "option.SQL_INJECTION.PYTHON.title.taint_filter_function_fqn": "Custom external information filter",
  "option.SQL_INJECTION.PYTHON.title.taint_propagator": "External information propagator",
  "option.SQL_INJECTION.PYTHON.title.taint_sink": "External information sink",
  "option.SQL_INJECTION.PYTHON.title.taint_source": "External information source",
  "option.SQL_INJECTION.SWIFT.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.SQL_INJECTION.SWIFT.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.SQL_INJECTION.SWIFT.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) strcpy$param(2)->param(1)",
  "option.SQL_INJECTION.SWIFT.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) sqlite3_exec$param(2)",
  "option.SQL_INJECTION.SWIFT.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) getenv$return",
  "option.SQL_INJECTION.SWIFT.title.taint_filter": "External information filter",
  "option.SQL_INJECTION.SWIFT.title.taint_filter_function_fqn": "Custom external information filter",
  "option.SQL_INJECTION.SWIFT.title.taint_propagator": "External information propagator",
  "option.SQL_INJECTION.SWIFT.title.taint_sink": "External information sink",
  "option.SQL_INJECTION.SWIFT.title.taint_source": "External information source",
  "option.SQL_INJECTION.VBNET.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.SQL_INJECTION.VBNET.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.SQL_INJECTION.VBNET.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) &$operand(*)->return",
  "option.SQL_INJECTION.VBNET.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) .*\\.open$param(*)",
  "option.SQL_INJECTION.VBNET.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) request\\.form$return",
  "option.SQL_INJECTION.VBNET.title.taint_filter": "External information filter",
  "option.SQL_INJECTION.VBNET.title.taint_filter_function_fqn": "Custom external information filter",
  "option.SQL_INJECTION.VBNET.title.taint_propagator": "External information propagator",
  "option.SQL_INJECTION.VBNET.title.taint_sink": "External information sink",
  "option.SQL_INJECTION.VBNET.title.taint_source": "External information source",
  "option.SQL_INJECTION.VBS.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.SQL_INJECTION.VBS.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.SQL_INJECTION.VBS.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) &$operand(*)->return",
  "option.SQL_INJECTION.VBS.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) .*\\.open$param(*)",
  "option.SQL_INJECTION.VBS.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) request\\.form$return",
  "option.SQL_INJECTION.VBS.title.taint_filter": "External information filter",
  "option.SQL_INJECTION.VBS.title.taint_filter_function_fqn": "Custom external information filter",
  "option.SQL_INJECTION.VBS.title.taint_propagator": "External information propagator",
  "option.SQL_INJECTION.VBS.title.taint_sink": "External information sink",
  "option.SQL_INJECTION.VBS.title.taint_source": "External information source",
  "option.SQL_INJECTION.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.SQL_INJECTION.desc.clear_call": "Write the name of the function that checks sensitive information for security.\nExample) makeSecureString",
  "option.SQL_INJECTION.desc.exclude": "A filter is considered safe if it is defined like this \"if\" {filter_target}\nfilter_target: filter expression for the pollution value (includes method definition).",
  "option.SQL_INJECTION.desc.param_on_sql_injection": "All parameters are regarded as tainted data hence many issues are expected",
  "option.SQL_INJECTION.desc.propagator": "If a propagator is defined as follows, it propagates a tainted value. {propagator_target}\npropagator_target: propagation expression for the tainted value. (including method definition)",
  "option.SQL_INJECTION.desc.sink_call": "Write the name of the function causing risks when containing sensitive information.\nExample) SQLExecDirect",
  "option.SQL_INJECTION.desc.source_call": "Specify functions that receives sensitive information.\nExample) getenv",
  "option.SQL_INJECTION.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.SQL_INJECTION.title.alarm": "Detection rule",
  "option.SQL_INJECTION.title.clear_call": "Function to check for sensitive information",
  "option.SQL_INJECTION.title.exclude": "Exception rule",
  "option.SQL_INJECTION.title.param_on_sql_injection": "Making parameters be tainted",
  "option.SQL_INJECTION.title.propagator": "Propagator name",
  "option.SQL_INJECTION.title.sink_call": "Function leaking sensitive information",
  "option.SQL_INJECTION.title.source_call": "Function receiving sensitive information",
  "option.SQL_INJECTION.title.suggestion_filter_function": "Suggested filter function",
  "option.SQL_INJECTION_HIBERNATE.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.SQL_INJECTION_HIBERNATE.desc.exclude": "A filter is considered safe if it is defined like this \"if\" {filter_target}\nfilter_target: filter expression for the pollution value (includes method definition).",
  "option.SQL_INJECTION_HIBERNATE.desc.propagator": "If a propagator is defined as follows, it propagates a tainted value. {propagator_target}\npropagator_target: propagation expression for the tainted value. (including method definition)",
  "option.SQL_INJECTION_HIBERNATE.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.SQL_INJECTION_HIBERNATE.title.alarm": "Detection rule",
  "option.SQL_INJECTION_HIBERNATE.title.exclude": "Exception rule",
  "option.SQL_INJECTION_HIBERNATE.title.propagator": "Propagator name",
  "option.SQL_INJECTION_HIBERNATE.title.suggestion_filter_function": "Suggested filter function",
  "option.SQL_INJECTION_JDO.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.SQL_INJECTION_JDO.desc.exclude": "A filter is considered safe if it is defined like this \"if\" {filter_target}\nfilter_target: filter expression for the pollution value (includes method definition).",
  "option.SQL_INJECTION_JDO.desc.propagator": "If a propagator is defined as follows, it propagates a tainted value. {propagator_target}\npropagator_target: propagation expression for the tainted value. (including method definition)",
  "option.SQL_INJECTION_JDO.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.SQL_INJECTION_JDO.title.alarm": "Detection rule",
  "option.SQL_INJECTION_JDO.title.exclude": "Exception rule",
  "option.SQL_INJECTION_JDO.title.propagator": "Propagator name",
  "option.SQL_INJECTION_JDO.title.suggestion_filter_function": "Suggested filter function",
  "option.SQL_INJECTION_MYSQL.JS.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) return of fqn(reg(\"__sparrow_required__mysql\\..*\\.escape\"))",
  "option.SQL_INJECTION_MYSQL.JS.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.SQL_INJECTION_MYSQL.JS.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\"+\") to return",
  "option.SQL_INJECTION_MYSQL.JS.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(*) of fqn(reg(\"__sparrow_required__mysql\\..*\\.query\"))",
  "option.SQL_INJECTION_MYSQL.JS.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of name(reg(\"\\\\S+\\\\.body.*\"))",
  "option.SQL_INJECTION_MYSQL.JS.title.taint_filter": "External information filter",
  "option.SQL_INJECTION_MYSQL.JS.title.taint_filter_function_fqn": "Custom external information filter",
  "option.SQL_INJECTION_MYSQL.JS.title.taint_propagator": "External information propagator",
  "option.SQL_INJECTION_MYSQL.JS.title.taint_sink": "External information sink",
  "option.SQL_INJECTION_MYSQL.JS.title.taint_source": "External information source",
  "option.SQL_INJECTION_NOSQL.JS.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) return of name(\"String\")",
  "option.SQL_INJECTION_NOSQL.JS.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.SQL_INJECTION_NOSQL.JS.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\"+\") to return",
  "option.SQL_INJECTION_NOSQL.JS.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(*) of name(\"find\")",
  "option.SQL_INJECTION_NOSQL.JS.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of name(reg(\"\\\\S+\\\\.body.*\"))",
  "option.SQL_INJECTION_NOSQL.JS.title.taint_filter": "External information filter",
  "option.SQL_INJECTION_NOSQL.JS.title.taint_filter_function_fqn": "Custom external information filter",
  "option.SQL_INJECTION_NOSQL.JS.title.taint_propagator": "External information propagator",
  "option.SQL_INJECTION_NOSQL.JS.title.taint_sink": "External information sink",
  "option.SQL_INJECTION_NOSQL.JS.title.taint_source": "External information source",
  "option.SQL_INJECTION_ORM.JS.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(*) of name(\"filter\")",
  "option.SQL_INJECTION_ORM.JS.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.SQL_INJECTION_ORM.JS.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\"+\") to return",
  "option.SQL_INJECTION_ORM.JS.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(*) of fqn(reg(\"__sparrow_required__sequelize\\.query\"))",
  "option.SQL_INJECTION_ORM.JS.desc.taint_source": "Write a name and a type of the function which is a source of external information.",
  "option.SQL_INJECTION_ORM.JS.title.taint_filter": "External information filter",
  "option.SQL_INJECTION_ORM.JS.title.taint_filter_function_fqn": "Custom external information filter",
  "option.SQL_INJECTION_ORM.JS.title.taint_propagator": "External information propagator",
  "option.SQL_INJECTION_ORM.JS.title.taint_sink": "External information sink",
  "option.SQL_INJECTION_ORM.JS.title.taint_source": "External information source",
  "option.SQL_INJECTION_PERSISTENCE.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.SQL_INJECTION_PERSISTENCE.desc.exclude": "A filter is considered safe if it is defined like this \"if\" {filter_target}\nfilter_target: filter expression for the pollution value (includes method definition).",
  "option.SQL_INJECTION_PERSISTENCE.desc.propagator": "If a propagator is defined as follows, it propagates a tainted value. {propagator_target}\npropagator_target: propagation expression for the tainted value. (including method definition)",
  "option.SQL_INJECTION_PERSISTENCE.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.SQL_INJECTION_PERSISTENCE.title.alarm": "Detection rule",
  "option.SQL_INJECTION_PERSISTENCE.title.exclude": "Exception rule",
  "option.SQL_INJECTION_PERSISTENCE.title.propagator": "Propagator name",
  "option.SQL_INJECTION_PERSISTENCE.title.suggestion_filter_function": "Suggested filter function",
  "option.SQL_INJECTION_POSTGRESQL.JS.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) retrun of name(\"req\")",
  "option.SQL_INJECTION_POSTGRESQL.JS.title.taint_source": "External information source",
  "option.STORE_IN_CLEAR_TEXT_TO_COOKIE.KOTLIN.desc.hardcoded_sensitive": "This feature checks whether the argument value is a hardcoded string literal when creating or setting a cookie, and whether that string contains sensitive information keywords. Sensitive information keywords are defined using regular expressions.",
  "option.STORE_IN_CLEAR_TEXT_TO_COOKIE.KOTLIN.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) return of fqn(\"java.security.MessageDigest.digest\")",
  "option.STORE_IN_CLEAR_TEXT_TO_COOKIE.KOTLIN.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) sparrow.my.filter.utils.is_safe()",
  "option.STORE_IN_CLEAR_TEXT_TO_COOKIE.KOTLIN.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.STORE_IN_CLEAR_TEXT_TO_COOKIE.KOTLIN.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(2) of name(\"setcookie\")",
  "option.STORE_IN_CLEAR_TEXT_TO_COOKIE.KOTLIN.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of fqn(reg(\"^(?!.*encrypted).*[pP]assw(or)?d\"))",
  "option.STORE_IN_CLEAR_TEXT_TO_COOKIE.KOTLIN.title.hardcoded_sensitive": "Sensitive information keywords",
  "option.STORE_IN_CLEAR_TEXT_TO_COOKIE.KOTLIN.title.taint_filter": "External information filter",
  "option.STORE_IN_CLEAR_TEXT_TO_COOKIE.KOTLIN.title.taint_filter_function_fqn": "Custom external information filter",
  "option.STORE_IN_CLEAR_TEXT_TO_COOKIE.KOTLIN.title.taint_propagator": "External information propagator",
  "option.STORE_IN_CLEAR_TEXT_TO_COOKIE.KOTLIN.title.taint_sink": "External information sink",
  "option.STORE_IN_CLEAR_TEXT_TO_COOKIE.KOTLIN.title.taint_source": "External information source",
  "option.STORE_IN_CLEAR_TEXT_TO_FILE.KOTLIN.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) return of fqn(\"java.security.MessageDigest.digest\")",
  "option.STORE_IN_CLEAR_TEXT_TO_FILE.KOTLIN.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) sparrow.my.filter.utils.is_safe()",
  "option.STORE_IN_CLEAR_TEXT_TO_FILE.KOTLIN.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.STORE_IN_CLEAR_TEXT_TO_FILE.KOTLIN.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(*) of name(\"write\")",
  "option.STORE_IN_CLEAR_TEXT_TO_FILE.KOTLIN.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of fqn(reg(\"^(?!.*encrypted).*[pP]assw(or)?d\"))",
  "option.STORE_IN_CLEAR_TEXT_TO_FILE.KOTLIN.title.taint_filter": "External information filter",
  "option.STORE_IN_CLEAR_TEXT_TO_FILE.KOTLIN.title.taint_filter_function_fqn": "Custom external information filter",
  "option.STORE_IN_CLEAR_TEXT_TO_FILE.KOTLIN.title.taint_propagator": "External information propagator",
  "option.STORE_IN_CLEAR_TEXT_TO_FILE.KOTLIN.title.taint_sink": "External information sink",
  "option.STORE_IN_CLEAR_TEXT_TO_FILE.KOTLIN.title.taint_source": "External information source",
  "option.STORE_IN_CLEAR_TEXT_TO_REGISTRY.KOTLIN.desc.hardcoded_sensitive": "This feature checks whether the argument value is a hardcoded string literal when creating or setting a cookie, and whether that string contains sensitive information keywords. Sensitive information keywords are defined using regular expressions.",
  "option.STORE_IN_CLEAR_TEXT_TO_REGISTRY.KOTLIN.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) return of fqn(\"java.security.MessageDigest.digest\")",
  "option.STORE_IN_CLEAR_TEXT_TO_REGISTRY.KOTLIN.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) sparrow.my.filter.utils.is_safe()",
  "option.STORE_IN_CLEAR_TEXT_TO_REGISTRY.KOTLIN.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.STORE_IN_CLEAR_TEXT_TO_REGISTRY.KOTLIN.desc.taint_sink": "List the function names and usage types for external information.\nExample) param(3) of name(\"registrySetStringValue\")",
  "option.STORE_IN_CLEAR_TEXT_TO_REGISTRY.KOTLIN.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of fqn(reg(\"^(?!.*encrypted).*[pP]assw(or)?d\"))",
  "option.STORE_IN_CLEAR_TEXT_TO_REGISTRY.KOTLIN.title.hardcoded_sensitive": "Sensitive information keywords",
  "option.STORE_IN_CLEAR_TEXT_TO_REGISTRY.KOTLIN.title.taint_filter": "External information filter",
  "option.STORE_IN_CLEAR_TEXT_TO_REGISTRY.KOTLIN.title.taint_filter_function_fqn": "Custom external information filter",
  "option.STORE_IN_CLEAR_TEXT_TO_REGISTRY.KOTLIN.title.taint_propagator": "External information propagator",
  "option.STORE_IN_CLEAR_TEXT_TO_REGISTRY.KOTLIN.title.taint_sink": "External information sink",
  "option.STORE_IN_CLEAR_TEXT_TO_REGISTRY.KOTLIN.title.taint_source": "External information source",
  "option.STORE_SENSITIVE_TO_EXTERNAL_STORAGE.KOTLIN.desc.external_path": "Write the directory path that is accessible from the outside as text. If the specified text is included in the file path, that path is considered an externally accessible path.",
  "option.STORE_SENSITIVE_TO_EXTERNAL_STORAGE.KOTLIN.desc.external_path_variable": "Specify the variable name that stores the externally accessible paths. If the specified variable is used as a file path argument, that path is considered externally accessible.",
  "option.STORE_SENSITIVE_TO_EXTERNAL_STORAGE.KOTLIN.desc.file_init_fqn": "Write the FQN of the class and function that can create a file object using the path value.",
  "option.STORE_SENSITIVE_TO_EXTERNAL_STORAGE.KOTLIN.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) return of fqn(\"java.security.MessageDigest.digest\")",
  "option.STORE_SENSITIVE_TO_EXTERNAL_STORAGE.KOTLIN.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) sparrow.my.filter.utils.is_safe()",
  "option.STORE_SENSITIVE_TO_EXTERNAL_STORAGE.KOTLIN.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.STORE_SENSITIVE_TO_EXTERNAL_STORAGE.KOTLIN.desc.taint_source": "Write the function name and input type for external information.\nExample) variable of fqn(reg(\"^(?!.encrypted).[pP]assw(or)?d\"))",
  "option.STORE_SENSITIVE_TO_EXTERNAL_STORAGE.KOTLIN.title.external_path": "External access path pattern",
  "option.STORE_SENSITIVE_TO_EXTERNAL_STORAGE.KOTLIN.title.external_path_variable": "External access path variable",
  "option.STORE_SENSITIVE_TO_EXTERNAL_STORAGE.KOTLIN.title.file_init_fqn": "File object creation classes and functions",
  "option.STORE_SENSITIVE_TO_EXTERNAL_STORAGE.KOTLIN.title.taint_filter": "External information filter",
  "option.STORE_SENSITIVE_TO_EXTERNAL_STORAGE.KOTLIN.title.taint_filter_function_fqn": "Custom external information filter",
  "option.STORE_SENSITIVE_TO_EXTERNAL_STORAGE.KOTLIN.title.taint_propagator": "External information propagator",
  "option.STORE_SENSITIVE_TO_EXTERNAL_STORAGE.KOTLIN.title.taint_source": "External information source",
  "option.STORE_SENSITIVE_TO_OUT_OF_CONTROL_PATH.KOTLIN.desc.external_path": "Write the directory paths that are accessible from the outside as text. If the specified text is included in the file path, that path is considered an externally accessible path.",
  "option.STORE_SENSITIVE_TO_OUT_OF_CONTROL_PATH.KOTLIN.desc.external_path_variable": "Write the variable name that stores the externally accessible paths. If the specified variable is used as a file path argument, that path is considered externally accessible.",
  "option.STORE_SENSITIVE_TO_OUT_OF_CONTROL_PATH.KOTLIN.desc.file_init_fqn": "Write the FQN of the class and function that can create a file object using the path value.",
  "option.STORE_SENSITIVE_TO_OUT_OF_CONTROL_PATH.KOTLIN.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) return of fqn(\"java.security.MessageDigest.digest\")",
  "option.STORE_SENSITIVE_TO_OUT_OF_CONTROL_PATH.KOTLIN.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) sparrow.my.filter.utils.is_safe()",
  "option.STORE_SENSITIVE_TO_OUT_OF_CONTROL_PATH.KOTLIN.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.STORE_SENSITIVE_TO_OUT_OF_CONTROL_PATH.KOTLIN.desc.taint_source": "Specify the function name and input type for external information.\nExample) variable of fqn(reg(\"^(?!.encrypted).[pP]assw(or)?d\"))",
  "option.STORE_SENSITIVE_TO_OUT_OF_CONTROL_PATH.KOTLIN.title.external_path": "External access path pattern",
  "option.STORE_SENSITIVE_TO_OUT_OF_CONTROL_PATH.KOTLIN.title.external_path_variable": "External access path variable",
  "option.STORE_SENSITIVE_TO_OUT_OF_CONTROL_PATH.KOTLIN.title.file_init_fqn": "File object creation classes and functions",
  "option.STORE_SENSITIVE_TO_OUT_OF_CONTROL_PATH.KOTLIN.title.taint_filter": "External information filter",
  "option.STORE_SENSITIVE_TO_OUT_OF_CONTROL_PATH.KOTLIN.title.taint_filter_function_fqn": "Custom external information filter",
  "option.STORE_SENSITIVE_TO_OUT_OF_CONTROL_PATH.KOTLIN.title.taint_propagator": "External information propagator",
  "option.STORE_SENSITIVE_TO_OUT_OF_CONTROL_PATH.KOTLIN.title.taint_source": "External information source",
  "option.STRING.DUPLICATED.ABAP.desc.threshold": "Set duplicated count.",
  "option.STRING.DUPLICATED.ABAP.title.threshold": "String duplication limit",
  "option.STRING_NORMALIZATION_REQUIRED_BEFORE_VALIDATION.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.STRING_NORMALIZATION_REQUIRED_BEFORE_VALIDATION.desc.exclude": "A filter is considered safe if it is defined like this. \"if\" filter\nfilter: filter expression for the tainted value (including definition for method).",
  "option.STRING_NORMALIZATION_REQUIRED_BEFORE_VALIDATION.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.STRING_NORMALIZATION_REQUIRED_BEFORE_VALIDATION.title.alarm": "Detection rule",
  "option.STRING_NORMALIZATION_REQUIRED_BEFORE_VALIDATION.title.exclude": "Exception rule",
  "option.STRING_NORMALIZATION_REQUIRED_BEFORE_VALIDATION.title.suggestion_filter_function": "Suggested filter function",
  "option.SYMBOLIC_LINK_RACE_CONDITION.OBJC.desc.symlink_chklist": "Enter the kind of symbolic link to check.",
  "option.SYMBOLIC_LINK_RACE_CONDITION.OBJC.title.symlink_chklist": "Symbolic link to check",
  "option.SYSTEM_INFORMATION_LEAK.OBJC.desc.exception_list": "Enter the list of exceptions to be checked.",
  "option.SYSTEM_INFORMATION_LEAK.OBJC.title.exception_list": "Exception list",
  "option.TABLE_NAME_CONVENTION.SQL.desc.naming_convention": "Write table name convention using regular expressions.",
  "option.TABLE_NAME_CONVENTION.SQL.title.naming_convention": "Table name convention",
  "option.TAKE_CARE_WHEN_USING_RENAME.desc.is_preserved_existing_file": "Preserve existing destination file when set checkbox. remove existing destination file when unset checkbox.",
  "option.TAKE_CARE_WHEN_USING_RENAME.title.is_preserved_existing_file": "Preserve existing destination file",
  "option.TEMPORARY_FILE_WRITING.OBJC.desc.temporary_directory": "Write the name of the temporary or public directory.\nExample) /var/tmp/.*",
  "option.TEMPORARY_FILE_WRITING.OBJC.title.temporary_directory": "Temporary or public directory",
  "option.TESTED_AGAINST_CONSTANT_VALUE.desc.allow_divide": "If the option is enabled, you can use `/` operator in a termination expression of a for loop.",
  "option.TESTED_AGAINST_CONSTANT_VALUE.desc.allow_minus": "If the option is enabled, you can use `-` operator in a termination expression of a for loop.",
  "option.TESTED_AGAINST_CONSTANT_VALUE.desc.allow_multiply": "If the option is enabled, you can use `*` operator in a termination expression of a for loop.",
  "option.TESTED_AGAINST_CONSTANT_VALUE.desc.allow_plus": "If the option is enabled, you can use `+` operator in a termination expression of a for loop.",
  "option.TESTED_AGAINST_CONSTANT_VALUE.desc.allow_remainder": "If the option is enabled, you can use `%` operator in a termination expression of a for loop.",
  "option.TESTED_AGAINST_CONSTANT_VALUE.title.allow_divide": "Allowing / operator",
  "option.TESTED_AGAINST_CONSTANT_VALUE.title.allow_minus": "Allowing - operator",
  "option.TESTED_AGAINST_CONSTANT_VALUE.title.allow_multiply": "Allowing * operator",
  "option.TESTED_AGAINST_CONSTANT_VALUE.title.allow_plus": "Allowing + operator",
  "option.TESTED_AGAINST_CONSTANT_VALUE.title.allow_remainder": "Allowing % operator",
  "option.TOCTOU_RACE_CONDITION.KOTLIN.desc.file_check_method": "Specify the function used to check file existence.",
  "option.TOCTOU_RACE_CONDITION.KOTLIN.desc.file_exception": "Write the name of the exception that will handle TOCTOU.",
  "option.TOCTOU_RACE_CONDITION.KOTLIN.title.file_check_method": "Function to check file existence",
  "option.TOCTOU_RACE_CONDITION.KOTLIN.title.file_exception": "Exception",
  "option.TOC_TOU_ACCESS.OBJC.desc.forbiddenTOUCOU": "Since the time of checking the condition and the time of using the results of the checks could be  different.",
  "option.TOC_TOU_ACCESS.OBJC.title.forbiddenTOUCOU": "Functions can occur that Race condition",
  "option.TOO_BIG_FILE.ABAP.desc.max_lines": "Put a maximum line number",
  "option.TOO_BIG_FILE.ABAP.title.max_lines": "Maximum lines",
  "option.TOO_BIG_FUNCTION.desc.include_comment_null_stmt": "Set including empty lines or comments",
  "option.TOO_BIG_FUNCTION.desc.max_loc": "Set max lines of the function",
  "option.TOO_BIG_FUNCTION.title.include_comment_null_stmt": "Include empty lines or comments",
  "option.TOO_BIG_FUNCTION.title.max_loc": "Max lines of the function",
  "option.TOO_COMPLEX_FOR_STATEMENT.desc.allowed_max_expression": "Write the maximum number of expressions to be allowed for initialization and update of a for statement.\nExample) 2",
  "option.TOO_COMPLEX_FOR_STATEMENT.title.allowed_max_expression": "Maximum number of expressions within a for statement",
  "option.TOO_FEW_WHEN.ABAP.desc.threshold": "The analyzer will generate an alarm If number of \"WHEN\" clauses is less than threshold. (default : 3)",
  "option.TOO_FEW_WHEN.ABAP.title.threshold": "\"WHEN\" clauses threshold",
  "option.TOO_LONG_COLUMN.ABAP.desc.max_column": "Define max column in a line.\nExample) 100",
  "option.TOO_LONG_COLUMN.ABAP.title.max_column": "Maximum column",
  "option.TOO_LONG_COLUMN.desc.ignore_comment": "If selected, the comment length will not be counted.",
  "option.TOO_LONG_COLUMN.desc.max_column": "Define max column in a line.\nExample) 100",
  "option.TOO_LONG_COLUMN.desc.max_column_width": "Specify the maximum width of the line",
  "option.TOO_LONG_COLUMN.title.ignore_comment": "Ignore comments",
  "option.TOO_LONG_COLUMN.title.max_column": "Maximum column",
  "option.TOO_LONG_COLUMN.title.max_column_width": "Maximum width of the line",
  "option.TOO_LONG_SOURCE_CODE_BEFORE_COMMENT.desc.allowed_max_line_length": "Write the maximum length of the source code.\nExample) 40",
  "option.TOO_LONG_SOURCE_CODE_BEFORE_COMMENT.desc.check_header": "If the option is enabled, all comments in the header files will be checked.",
  "option.TOO_LONG_SOURCE_CODE_BEFORE_COMMENT.title.allowed_max_line_length": "Maximum length of the source code",
  "option.TOO_LONG_SOURCE_CODE_BEFORE_COMMENT.title.check_header": "Inspect header files",
  "option.TOO_MANY_EXECUTABLE_PATH.desc.threshold": "Detect issues when executable paths exceed or equal the specified number.",
  "option.TOO_MANY_EXECUTABLE_PATH.title.threshold": "Max executable path",
  "option.TOO_MANY_METHODS.desc.maximum_func": "Write maximum functions count in a file.",
  "option.TOO_MANY_METHODS.title.maximum_func": "Maximum functions in a file.",
  "option.TRANSACTION.SYNC.TOBE.JS.desc.functionParamCheck": "Write function name, parameter position, boolean value for check.\nExample) Transaction/7/false",
  "option.TRANSACTION.SYNC.TOBE.JS.title.functionParamCheck": "FunctionName/ParameterNumber/CheckBoolean",
  "option.TRANSACTION_INJECTION.TOBE.JS.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(*) of name(\"filter\")",
  "option.TRANSACTION_INJECTION.TOBE.JS.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.TRANSACTION_INJECTION.TOBE.JS.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\"+\") to return",
  "option.TRANSACTION_INJECTION.TOBE.JS.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(2,3,4,5,6) of fqn(\"Transaction\")",
  "option.TRANSACTION_INJECTION.TOBE.JS.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of fqn(reg(\"@miplatform_edit.*\"))",
  "option.TRANSACTION_INJECTION.TOBE.JS.title.taint_filter": "External information filter",
  "option.TRANSACTION_INJECTION.TOBE.JS.title.taint_filter_function_fqn": "Custom external information filter",
  "option.TRANSACTION_INJECTION.TOBE.JS.title.taint_propagator": "External information propagator",
  "option.TRANSACTION_INJECTION.TOBE.JS.title.taint_sink": "External information sink",
  "option.TRANSACTION_INJECTION.TOBE.JS.title.taint_source": "External information source",
  "option.TRUST_BOUNDARY_VIOLATION.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.TRUST_BOUNDARY_VIOLATION.desc.exclude": "A filter is considered safe if it is defined like this \"if\" {filter_target}\nfilter_target: filter expression for the pollution value (includes method definition).",
  "option.TRUST_BOUNDARY_VIOLATION.desc.propagator": "propagator propagates tainted values if it is defined as follows {propagator_target}\npropagator_target: propagation expression for the tainted value (contains the method definition).",
  "option.TRUST_BOUNDARY_VIOLATION.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.TRUST_BOUNDARY_VIOLATION.title.alarm": "Detection rule",
  "option.TRUST_BOUNDARY_VIOLATION.title.exclude": "Exception rule",
  "option.TRUST_BOUNDARY_VIOLATION.title.propagator": "Propagator name",
  "option.TRUST_BOUNDARY_VIOLATION.title.suggestion_filter_function": "Suggested filter function",
  "option.UNCHECKED_OGNL_EXPRESSION.desc.class_type": "Sets the class name that uses the external input value.",
  "option.UNCHECKED_OGNL_EXPRESSION.desc.filter_method": "Type the name of the method that validates the external input values.\nExample) whitelist",
  "option.UNCHECKED_OGNL_EXPRESSION.desc.request_method": "Type the name of the method that acquires the external input value.\nExample) javax.servlet.http.HttpServletRequest.getParameter",
  "option.UNCHECKED_OGNL_EXPRESSION.desc.target_method_name": "Sets the method of the class that uses the external input value.",
  "option.UNCHECKED_OGNL_EXPRESSION.title.class_type": "Class name that uses external input values",
  "option.UNCHECKED_OGNL_EXPRESSION.title.filter_method": "External Input Value Validation Method",
  "option.UNCHECKED_OGNL_EXPRESSION.title.request_method": "External Input Value Acquisition Method",
  "option.UNCHECKED_OGNL_EXPRESSION.title.target_method_name": "Methods for classes that use external input values",
  "option.UNCHECKED_READ_RESULT.KOTLIN.desc.target_fqn": "Enter the FQN(Fully Qualified Name) of READ method to detect.",
  "option.UNCHECKED_READ_RESULT.KOTLIN.title.target_fqn": "Target READ method",
  "option.UNCHECKED_SPEL_EXPRESSION.SPRING.desc.class_type": "Sets the class name that uses the external input value.",
  "option.UNCHECKED_SPEL_EXPRESSION.SPRING.desc.filter_method": "Type the name of the method that validates the external input values.\nExample) whitelist",
  "option.UNCHECKED_SPEL_EXPRESSION.SPRING.desc.request_method": "Type the name of the method that acquires the external input value.\nExample) javax.servlet.http.HttpServletRequest.getParameter",
  "option.UNCHECKED_SPEL_EXPRESSION.SPRING.desc.target_method_name": "Sets the method of the class that uses the external input value.",
  "option.UNCHECKED_SPEL_EXPRESSION.SPRING.title.class_type": "Class name that uses external input values",
  "option.UNCHECKED_SPEL_EXPRESSION.SPRING.title.filter_method": "External Input Value Validation Method",
  "option.UNCHECKED_SPEL_EXPRESSION.SPRING.title.request_method": "External Input Value Acquisition Method",
  "option.UNCHECKED_SPEL_EXPRESSION.SPRING.title.target_method_name": "Methods for classes that use external input values",
  "option.UNIQUE_HEADER_FILE_NAME.desc.allow_long_file_name": "Header file names longer than eight characters can have when set checkbox.",
  "option.UNIQUE_HEADER_FILE_NAME.title.allow_long_file_name": "Allow long header file name",
  "option.UNIQUE_VALUE_IN_ENUMERATOR.desc.allow_enum_assign": "Enumeration allows to assign a different enumeration.",
  "option.UNIQUE_VALUE_IN_ENUMERATOR.title.allow_enum_assign": "Enumeration assign allowed",
  "option.UNNECESSARY_IMPORT_IN_SPECIFIC_PATH.desc.disable_package": "Enables detection for the import statement when importing a class from the same package.",
  "option.UNNECESSARY_IMPORT_IN_SPECIFIC_PATH.desc.target_path": "Option to include files in the analysis when file paths matching the input text are found.",
  "option.UNNECESSARY_IMPORT_IN_SPECIFIC_PATH.desc.target_path_pattern": "Option to include files in the analysis when file paths within the range of the input regular expression are found.",
  "option.UNNECESSARY_IMPORT_IN_SPECIFIC_PATH.title.disable_package": "Detection of Import Usage from the Same Package",
  "option.UNNECESSARY_IMPORT_IN_SPECIFIC_PATH.title.target_path": "Target file path for analysis",
  "option.UNNECESSARY_IMPORT_IN_SPECIFIC_PATH.title.target_path_pattern": "Regular expression pattern for target file paths",
  "option.UNNECESSARY_STATEMENT.desc.unnecessary_patterns": "Option to detect when text within the range of the input regular expression is found.",
  "option.UNNECESSARY_STATEMENT.title.unnecessary_patterns": "Option to input the sentence to be detected as a regular expression (blacklist range)",
  "option.UNNECESSARY_TO_STRING.desc.target_method": "Option to detect when text matching the input text is found.",
  "option.UNNECESSARY_TO_STRING.title.target_method": "Blacklist single",
  "option.UNPROCESSED_EXCEPTION_THROW.desc.exclude_path_pattern": "This option excludes files from analysis when their file paths match a specified regular expression.",
  "option.UNPROCESSED_EXCEPTION_THROW.desc.target_method": "Option to detect when text matching the input text is found.",
  "option.UNPROCESSED_EXCEPTION_THROW.title.exclude_path_pattern": "Option to input file paths to be excluded from analysis using regular expressions (whitelist range)",
  "option.UNPROCESSED_EXCEPTION_THROW.title.target_method": "Blacklist single",
  "option.UNREASONABLE_PARAMETER.OBJC.desc.check_function": "Enter the function name to be checked by the checker.",
  "option.UNREASONABLE_PARAMETER.OBJC.title.check_function": "Function to check",
  "option.UNREASONABLE_PARAMETER.desc.max_decision_point_number": "Set a threshold of the maximum size for memory allocation",
  "option.UNREASONABLE_PARAMETER.title.max_decision_point_number": "Maximum size of memory allocation",
  "option.UNRESTRICTED_UPLOAD.FILE.PHP.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(1) of name(\"endsWith\")",
  "option.UNRESTRICTED_UPLOAD.FILE.PHP.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.UNRESTRICTED_UPLOAD.FILE.PHP.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\".\") to return",
  "option.UNRESTRICTED_UPLOAD.FILE.PHP.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(2) of name(\"move_uploaded_file\")",
  "option.UNRESTRICTED_UPLOAD.FILE.PHP.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of name(\"$_FILES\")",
  "option.UNRESTRICTED_UPLOAD.FILE.PHP.title.taint_filter": "External information filter",
  "option.UNRESTRICTED_UPLOAD.FILE.PHP.title.taint_filter_function_fqn": "Custom external information filter",
  "option.UNRESTRICTED_UPLOAD.FILE.PHP.title.taint_propagator": "External information propagator",
  "option.UNRESTRICTED_UPLOAD.FILE.PHP.title.taint_sink": "External information sink",
  "option.UNRESTRICTED_UPLOAD.FILE.PHP.title.taint_source": "External information source",
  "option.UNRESTRICTED_UPLOAD.FILE.VBNET.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.UNRESTRICTED_UPLOAD.FILE.VBNET.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.UNRESTRICTED_UPLOAD.FILE.VBNET.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) &$operand(*)->return",
  "option.UNRESTRICTED_UPLOAD.FILE.VBNET.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) .*\\.open$param(*)",
  "option.UNRESTRICTED_UPLOAD.FILE.VBNET.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) request\\.form$return",
  "option.UNRESTRICTED_UPLOAD.FILE.VBNET.title.taint_filter": "External information filter",
  "option.UNRESTRICTED_UPLOAD.FILE.VBNET.title.taint_filter_function_fqn": "Custom external information filter",
  "option.UNRESTRICTED_UPLOAD.FILE.VBNET.title.taint_propagator": "External information propagator",
  "option.UNRESTRICTED_UPLOAD.FILE.VBNET.title.taint_sink": "External information sink",
  "option.UNRESTRICTED_UPLOAD.FILE.VBNET.title.taint_source": "External information source",
  "option.UNRESTRICTED_UPLOAD_OF_FILE.CPP.desc.sink_call": "Write a name and a type of the function causing risks when containing external information.",
  "option.UNRESTRICTED_UPLOAD_OF_FILE.CPP.desc.source_call": "Specify functions that receives sensitive information.\nExample) getenv",
  "option.UNRESTRICTED_UPLOAD_OF_FILE.CPP.title.sink_call": "External information sink",
  "option.UNRESTRICTED_UPLOAD_OF_FILE.CPP.title.source_call": "Function receiving sensitive information",
  "option.UNRESTRICTED_UPLOAD_OF_FILE.KOTLIN.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) base of name(\"endsWith\")",
  "option.UNRESTRICTED_UPLOAD_OF_FILE.KOTLIN.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) sparrow.my.filter.utils.is_safe()",
  "option.UNRESTRICTED_UPLOAD_OF_FILE.KOTLIN.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.UNRESTRICTED_UPLOAD_OF_FILE.KOTLIN.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(*) of fqn(\"java.nio.file.Files.copy\")",
  "option.UNRESTRICTED_UPLOAD_OF_FILE.KOTLIN.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(\"org.springframework.web.multipart.MultipartFile.originalFilename\")",
  "option.UNRESTRICTED_UPLOAD_OF_FILE.KOTLIN.title.taint_filter": "External information filter",
  "option.UNRESTRICTED_UPLOAD_OF_FILE.KOTLIN.title.taint_filter_function_fqn": "Custom external information filter",
  "option.UNRESTRICTED_UPLOAD_OF_FILE.KOTLIN.title.taint_propagator": "External information propagator",
  "option.UNRESTRICTED_UPLOAD_OF_FILE.KOTLIN.title.taint_sink": "External information sink",
  "option.UNRESTRICTED_UPLOAD_OF_FILE.KOTLIN.title.taint_source": "External information source",
  "option.UNRESTRICTED_UPLOAD_OF_FILE.PYTHON.desc.custom_taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(1) of \"endsWith\"",
  "option.UNRESTRICTED_UPLOAD_OF_FILE.PYTHON.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(1) of \"endsWith\"",
  "option.UNRESTRICTED_UPLOAD_OF_FILE.PYTHON.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.UNRESTRICTED_UPLOAD_OF_FILE.PYTHON.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) \\\\.$operand(*)->return",
  "option.UNRESTRICTED_UPLOAD_OF_FILE.PYTHON.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(2) of \"move_uploaded_file\"",
  "option.UNRESTRICTED_UPLOAD_OF_FILE.PYTHON.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) \\\\$_FILES$variable",
  "option.UNRESTRICTED_UPLOAD_OF_FILE.PYTHON.title.custom_taint_filter": "External information filter",
  "option.UNRESTRICTED_UPLOAD_OF_FILE.PYTHON.title.taint_filter": "External information filter",
  "option.UNRESTRICTED_UPLOAD_OF_FILE.PYTHON.title.taint_filter_function_fqn": "Custom external information filter",
  "option.UNRESTRICTED_UPLOAD_OF_FILE.PYTHON.title.taint_propagator": "External information propagator",
  "option.UNRESTRICTED_UPLOAD_OF_FILE.PYTHON.title.taint_sink": "External information sink",
  "option.UNRESTRICTED_UPLOAD_OF_FILE.PYTHON.title.taint_source": "External information source",
  "option.UNRESTRICTED_UPLOAD_OF_FILE.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.UNRESTRICTED_UPLOAD_OF_FILE.desc.exclude": "A filter is considered safe if it is defined like this \"if\" {filter_target}\nfilter_target: filter expression for the pollution value (includes method definition).",
  "option.UNRESTRICTED_UPLOAD_OF_FILE.desc.propagator": "If a propagator is defined as follows, it propagates a tainted value. {propagator_target}\npropagator_target: propagation expression for the tainted value. (including method definition)",
  "option.UNRESTRICTED_UPLOAD_OF_FILE.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.UNRESTRICTED_UPLOAD_OF_FILE.title.alarm": "Detection rule",
  "option.UNRESTRICTED_UPLOAD_OF_FILE.title.exclude": "Exception rule",
  "option.UNRESTRICTED_UPLOAD_OF_FILE.title.propagator": "Propagator name",
  "option.UNRESTRICTED_UPLOAD_OF_FILE.title.suggestion_filter_function": "Suggested filter function",
  "option.UNSAFE_JACKSON_DESERIALIZATION.desc.target_method_switch": "Sets whether the method is detected or not.",
  "option.UNSAFE_JACKSON_DESERIALIZATION.title.target_method_switch": "Set whether or not to detect the method.",
  "option.UNSAFE_REFLECTION.OBJC.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.UNSAFE_REFLECTION.OBJC.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) strcpy$param(2)->param(1)",
  "option.UNSAFE_REFLECTION.OBJC.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) .*.performSelector:$param(*)",
  "option.UNSAFE_REFLECTION.OBJC.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) getenv$return",
  "option.UNSAFE_REFLECTION.OBJC.title.taint_filter": "External information filter",
  "option.UNSAFE_REFLECTION.OBJC.title.taint_propagator": "External information propagator",
  "option.UNSAFE_REFLECTION.OBJC.title.taint_sink": "External information sink",
  "option.UNSAFE_REFLECTION.OBJC.title.taint_source": "External information source",
  "option.UNSAFE_REFLECTION.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.UNSAFE_REFLECTION.desc.exclude": "A filter is considered safe if it is defined like this \"if\" {filter_target}\nfilter_target: filter expression for the pollution value (includes method definition).",
  "option.UNSAFE_REFLECTION.desc.propagator": "If a propagator is defined as follows, it propagates a tainted value. {propagator_target}\npropagator_target: propagation expression for the tainted value. (including method definition)",
  "option.UNSAFE_REFLECTION.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.UNSAFE_REFLECTION.title.alarm": "Detection rule",
  "option.UNSAFE_REFLECTION.title.exclude": "Exception rule",
  "option.UNSAFE_REFLECTION.title.propagator": "Propagator name",
  "option.UNSAFE_REFLECTION.title.suggestion_filter_function": "Suggested filter function",
  "option.UNSAFE_XSTREAM_DESERIALIZATION.desc.target_method_switch": "Sets whether the method is detected or not.",
  "option.UNSAFE_XSTREAM_DESERIALIZATION.title.target_method_switch": "Set whether or not to detect the method.",
  "option.UNSALTED_ONE_WAY_HASH.desc.hash_function": "Write hash function names and salt parameter position for checking whether have a salt.(HashFunctionName|SaltParameterPosition",
  "option.UNSALTED_ONE_WAY_HASH.title.hash_function": "Hash function name",
  "option.UNSYNCHRONIZED_STATIC_DATE_FORMATTER.desc.exclude_class": "Write the name of class names to exclude an analysis.",
  "option.UNSYNCHRONIZED_STATIC_DATE_FORMATTER.desc.exclude_method": "Write the name of method names to exclude an analysis.",
  "option.UNSYNCHRONIZED_STATIC_DATE_FORMATTER.desc.exclude_package": "Write the name of package names to exclude an analysis.",
  "option.UNSYNCHRONIZED_STATIC_DATE_FORMATTER.desc.include_class": "Write a name of class names to include an analysis.",
  "option.UNSYNCHRONIZED_STATIC_DATE_FORMATTER.desc.include_method": "Write the name of method names to exclude an analysis.",
  "option.UNSYNCHRONIZED_STATIC_DATE_FORMATTER.desc.include_package": "Write the name of package names to exclude an analysis.",
  "option.UNSYNCHRONIZED_STATIC_DATE_FORMATTER.title.exclude_class": "Excluding class",
  "option.UNSYNCHRONIZED_STATIC_DATE_FORMATTER.title.exclude_method": "Excluding method",
  "option.UNSYNCHRONIZED_STATIC_DATE_FORMATTER.title.exclude_package": "Excluding package",
  "option.UNSYNCHRONIZED_STATIC_DATE_FORMATTER.title.include_class": "Including class",
  "option.UNSYNCHRONIZED_STATIC_DATE_FORMATTER.title.include_method": "Including method",
  "option.UNSYNCHRONIZED_STATIC_DATE_FORMATTER.title.include_package": "Including package",
  "option.UNUSED.FORMAL_PARAMETER.CSHARP.desc.exceptional_parameter_name": "Write down exceptional parameter names",
  "option.UNUSED.FORMAL_PARAMETER.CSHARP.desc.exceptional_parameter_type": "Write down exceptional parameter types",
  "option.UNUSED.FORMAL_PARAMETER.CSHARP.title.exceptional_parameter_name": "Exceptional Parameter Name",
  "option.UNUSED.FORMAL_PARAMETER.CSHARP.title.exceptional_parameter_type": "Exceptional Parameter Type",
  "option.UNUSED_PRIVATE_METHOD.desc.check_unused_constructors": "When this option is set to T, it also detects unused private constructor methods. When set to F, it does not detect unused private constructor methods.",
  "option.UNUSED_PRIVATE_METHOD.desc.target_path": "Option to include files in the analysis when file paths matching the input text are found.",
  "option.UNUSED_PRIVATE_METHOD.desc.target_path_pattern": "Option to include files in the analysis when file paths within the range of the input regular expression are found.",
  "option.UNUSED_PRIVATE_METHOD.desc.whitelist_path": "Option to input file paths as text, check files matching the input path, and exclude those files from detection.",
  "option.UNUSED_PRIVATE_METHOD.desc.whitelist_path_pattern": "Option to input file paths as regular expressions, check files matching the input path, and exclude those files from detection.",
  "option.UNUSED_PRIVATE_METHOD.title.check_unused_constructors": "Detect unused private constructor methods",
  "option.UNUSED_PRIVATE_METHOD.title.target_path": "Target file path for analysis",
  "option.UNUSED_PRIVATE_METHOD.title.target_path_pattern": "Regular expression pattern for target file paths",
  "option.UNUSED_PRIVATE_METHOD.title.whitelist_path": "Allowed file paths",
  "option.UNUSED_PRIVATE_METHOD.title.whitelist_path_pattern": "Regular expression patterns for allowed file paths",
  "option.UNUSED_PRIVATE_VARIABLE.desc.allowed_variable_pattern": "Option to input specific variable name patterns as regular expressions to exclude unused private variables with matching variable names from detection.",
  "option.UNUSED_PRIVATE_VARIABLE.desc.target_path": "Option to include files in the analysis when file paths matching the input text are found.",
  "option.UNUSED_PRIVATE_VARIABLE.desc.target_path_pattern": "Option to include files in the analysis when file paths within the range of the input regular expression are found.",
  "option.UNUSED_PRIVATE_VARIABLE.desc.whitelist_path": "Option to input file paths as text, check files matching the input path, and exclude those files from detection.",
  "option.UNUSED_PRIVATE_VARIABLE.desc.whitelist_path_pattern": "Option to input file paths as regular expressions, check files matching the input path, and exclude those files from detection.",
  "option.UNUSED_PRIVATE_VARIABLE.title.allowed_variable_pattern": "Regular expression patterns for specific variable names",
  "option.UNUSED_PRIVATE_VARIABLE.title.target_path": "Target file path for analysis",
  "option.UNUSED_PRIVATE_VARIABLE.title.target_path_pattern": "Regular expression pattern for target file paths",
  "option.UNUSED_PRIVATE_VARIABLE.title.whitelist_path": "Allowed file paths",
  "option.UNUSED_PRIVATE_VARIABLE.title.whitelist_path_pattern": "Regular expression patterns for allowed file paths",
  "option.UNUSED_RETURN_VALUE.desc.ignored_function_list": "Enter a function name whose return value may be unused. Regular expressions are supported.",
  "option.UNUSED_RETURN_VALUE.desc.ignored_path_list": "Enter the file or path where functions with unused return values are declared. Regular expressions are supported.",
  "option.UNUSED_RETURN_VALUE.title.ignored_function_list": "List of functions allowed to have unused return values",
  "option.UNUSED_RETURN_VALUE.title.ignored_path_list": "List of declaration paths for functions allowed to have unused return values",
  "option.UNVERIFIABLE_NATIVE_INVOCATION.CSHARP.desc.exception_dll": "Enter exceptional DLL.",
  "option.UNVERIFIABLE_NATIVE_INVOCATION.CSHARP.title.exception_dll": "Exceptional DLL",
  "option.USE.PROPER_VARIABLE_NAME.JS.desc.pattern": "Write regular expression for variable name.\nExample) [a-z][a-zA-Z]*",
  "option.USE.PROPER_VARIABLE_NAME.JS.title.pattern": "Regular expression for variable name",
  "option.USE_A_SUBSET_OF_ASCII_FOR_FILE_AND_PATH_NAMES.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.USE_A_SUBSET_OF_ASCII_FOR_FILE_AND_PATH_NAMES.desc.exclude": "A filter is considered safe if it is defined like this \"if\" {filter_target}\nfilter_target: filter expression for the pollution value (includes method definition).",
  "option.USE_A_SUBSET_OF_ASCII_FOR_FILE_AND_PATH_NAMES.desc.propagator": "If a propagator is defined as follows, it propagates a tainted value. {propagator_target}\npropagator_target: propagation expression for the tainted value. (including method definition)",
  "option.USE_A_SUBSET_OF_ASCII_FOR_FILE_AND_PATH_NAMES.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.USE_A_SUBSET_OF_ASCII_FOR_FILE_AND_PATH_NAMES.title.alarm": "Detection rule",
  "option.USE_A_SUBSET_OF_ASCII_FOR_FILE_AND_PATH_NAMES.title.exclude": "Exception rule",
  "option.USE_A_SUBSET_OF_ASCII_FOR_FILE_AND_PATH_NAMES.title.propagator": "Propagator name",
  "option.USE_A_SUBSET_OF_ASCII_FOR_FILE_AND_PATH_NAMES.title.suggestion_filter_function": "Suggested filter function",
  "option.USE_BRACES.JS.desc.else": "Check braces in else statement",
  "option.USE_BRACES.JS.desc.for": "Check braces in for statement",
  "option.USE_BRACES.JS.desc.if": "Check braces in if statement",
  "option.USE_BRACES.JS.desc.while": "Check braces in while statement",
  "option.USE_BRACES.JS.title.else": "else statement",
  "option.USE_BRACES.JS.title.for": "for statement",
  "option.USE_BRACES.JS.title.if": "Check if statement",
  "option.USE_BRACES.JS.title.while": "while statement",
  "option.USE_CONST_WITH_MACRO.desc.allowed_function": "Write standard API and framework functions. \nThese functions may be compared with a constant not defined in the macro. \n If there is no value for this option, the constant compared with return values by all functions will be ignored. \nExample) strcmp",
  "option.USE_CONST_WITH_MACRO.desc.common_header_path": "Write a common header path.\nIf no value is defined, the checker will not consider the location where the macro is defined.\n Example) c:projectinclude",
  "option.USE_CONST_WITH_MACRO.title.allowed_function": "System API or Framework API",
  "option.USE_CONST_WITH_MACRO.title.common_header_path": "Common Header File Path",
  "option.USE_DANGEROUS_INNERHTML.REACT.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) return of name(\"replace\")",
  "option.USE_DANGEROUS_INNERHTML.REACT.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\"+\") to return",
  "option.USE_DANGEROUS_INNERHTML.REACT.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(1) of name(\"eval\")",
  "option.USE_DANGEROUS_INNERHTML.REACT.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of name(\"body\")",
  "option.USE_DANGEROUS_INNERHTML.REACT.desc.weak_element": "Creates an html property that uses external information.",
  "option.USE_DANGEROUS_INNERHTML.REACT.title.taint_filter": "External information filter",
  "option.USE_DANGEROUS_INNERHTML.REACT.title.taint_propagator": "External information propagator",
  "option.USE_DANGEROUS_INNERHTML.REACT.title.taint_sink": "External information sink",
  "option.USE_DANGEROUS_INNERHTML.REACT.title.taint_source": "External information source",
  "option.USE_DANGEROUS_INNERHTML.REACT.title.weak_element": "Use external information html properties",
  "option.USE_FUNCTION_IN_IF_CONDITION.desc.ignore_function_list": "Input the allowed functions in the if statement using regex expression.",
  "option.USE_FUNCTION_IN_IF_CONDITION.title.ignore_function_list": "Allowed function list.",
  "option.USE_MAXIMUM_SIZED_BUFFER.desc.min_array_variable_size": "Enter the minimum size of the array that comes with the factor.",
  "option.USE_MAXIMUM_SIZED_BUFFER.title.min_array_variable_size": "Minimum array size",
  "option.USE_OF_HARDCODED_CRYPTOGRAPHIC_KEY.desc.excluded_algorithm": "Write the name of a cryptographic algorithm to exclude.\nExample) DESede",
  "option.USE_OF_HARDCODED_CRYPTOGRAPHIC_KEY.desc.sink_call_with_constant": "Issue detected when any of the parameters in these functions receive sensitive information.\nExample) strcmp",
  "option.USE_OF_HARDCODED_CRYPTOGRAPHIC_KEY.desc.source_call": "Write the name of the function receiving sensitive information.\nExample) crypt",
  "option.USE_OF_HARDCODED_CRYPTOGRAPHIC_KEY.desc.source_variable": "Write the name of the variable containing sensitive information.\nExample) cryptokey*",
  "option.USE_OF_HARDCODED_CRYPTOGRAPHIC_KEY.title.excluded_algorithm": "Excluded cryptographic algorithm",
  "option.USE_OF_HARDCODED_CRYPTOGRAPHIC_KEY.title.sink_call_with_constant": "Function with constant parameters leaking sensitive information",
  "option.USE_OF_HARDCODED_CRYPTOGRAPHIC_KEY.title.source_call": "Function receiving sensitive information",
  "option.USE_OF_HARDCODED_CRYPTOGRAPHIC_KEY.title.source_variable": "Sensitive information variable",
  "option.USE_OF_INSUFFICIENT_RANDOM_VALUES.KOTLIN.desc.forbidden_random_class": "Write the name of the forbidden random class.",
  "option.USE_OF_INSUFFICIENT_RANDOM_VALUES.KOTLIN.desc.forbidden_random_method": "Write the name of the forbidden random function.",
  "option.USE_OF_INSUFFICIENT_RANDOM_VALUES.KOTLIN.title.forbidden_random_class": "Forbidden Random Class",
  "option.USE_OF_INSUFFICIENT_RANDOM_VALUES.KOTLIN.title.forbidden_random_method": "Forbidden Random Function",
  "option.USE_OF_INSUFFICIENT_RANDOM_VALUES.desc.allowed_random": "Write the name of the method to be checked for usage.\nExample) java.util.Random.nextBoolean",
  "option.USE_OF_INSUFFICIENT_RANDOM_VALUES.desc.forbidden_random": "Write the name of the random method to forbid.\nExample) Math.random",
  "option.USE_OF_INSUFFICIENT_RANDOM_VALUES.desc.forbidden_seed_argument_call": "Write the name of forbidden an argument of seed method.\nExample) Integer.valueOf",
  "option.USE_OF_INSUFFICIENT_RANDOM_VALUES.desc.is_check_util_random": "Check java.util.Random \nExample) true",
  "option.USE_OF_INSUFFICIENT_RANDOM_VALUES.desc.random_key_class": "Write the name of the class to be used for self-generation of random keys.\nExample) java.util.Date",
  "option.USE_OF_INSUFFICIENT_RANDOM_VALUES.desc.random_seed": "Write the name of Random seed method.\nExample) java.util.Random.setSeed",
  "option.USE_OF_INSUFFICIENT_RANDOM_VALUES.title.allowed_random": "Target random method",
  "option.USE_OF_INSUFFICIENT_RANDOM_VALUES.title.forbidden_random": "Forbidden random method",
  "option.USE_OF_INSUFFICIENT_RANDOM_VALUES.title.forbidden_seed_argument_call": "Forbidden an argument of seed method",
  "option.USE_OF_INSUFFICIENT_RANDOM_VALUES.title.is_check_util_random": "Check java.util.Random",
  "option.USE_OF_INSUFFICIENT_RANDOM_VALUES.title.random_key_class": "Class for self-generation of random keys",
  "option.USE_OF_INSUFFICIENT_RANDOM_VALUES.title.random_seed": "Random seed method",
  "option.USE_OF_INSUFFICIENT_RANDOM_VALUES_OWASP.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.USE_OF_INSUFFICIENT_RANDOM_VALUES_OWASP.desc.exclude": "A filter is considered safe if it is defined like this \"if\" {filter_target}\nfilter_target: filter expression for the pollution value (includes method definition).",
  "option.USE_OF_INSUFFICIENT_RANDOM_VALUES_OWASP.desc.propagator": "If a propagator is defined as follows, it propagates a tainted value. {propagator_target}\npropagator_target: propagation expression for the tainted value. (including method definition)",
  "option.USE_OF_INSUFFICIENT_RANDOM_VALUES_OWASP.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.USE_OF_INSUFFICIENT_RANDOM_VALUES_OWASP.title.alarm": "Detection rule",
  "option.USE_OF_INSUFFICIENT_RANDOM_VALUES_OWASP.title.exclude": "Exception rule",
  "option.USE_OF_INSUFFICIENT_RANDOM_VALUES_OWASP.title.propagator": "Propagator name",
  "option.USE_OF_INSUFFICIENT_RANDOM_VALUES_OWASP.title.suggestion_filter_function": "Suggested filter function",
  "option.USE_SHORT_FUNCTION.desc.max_loc_count": "Write a max line of code count.",
  "option.USE_SHORT_FUNCTION.desc.max_param_count": "Write a max parameter count.",
  "option.USE_SHORT_FUNCTION.title.max_loc_count": "Maximum lines",
  "option.USE_SHORT_FUNCTION.title.max_param_count": "Max parameter count",
  "option.USE_SINGLE_RETURN.desc.max_return_statement_number": "Write the maximum number of return statements to allow within a function.",
  "option.USE_SINGLE_RETURN.title.max_return_statement_number": "Maximum number of return statements within a function",
  "option.USE_SIZEOF_ON_PARAM.desc.check_sizeof": "If target parameter is an expression and uses sizeof operator in it, the analyzer will not generate issue on it. \nExample) sizeof(int) *24",
  "option.USE_SIZEOF_ON_PARAM.desc.target_func": "Set target functions and parameter index. Please put like (parameter index):(target function name). Parameter index starts with 1, not 0.\nExample) 1:memcpy",
  "option.USE_SIZEOF_ON_PARAM.title.check_sizeof": "Check sizeof in expression",
  "option.USE_SIZEOF_ON_PARAM.title.target_func": "Target functions and parameter index",
  "option.USE_SUFFIXES_FOR_INTEGER_CONSTANT.desc.ignore_one": "One constant is ignored if selected.",
  "option.USE_SUFFIXES_FOR_INTEGER_CONSTANT.desc.ignore_zero": "Zero constant is ignored if selected.",
  "option.USE_SUFFIXES_FOR_INTEGER_CONSTANT.title.ignore_one": "Ignore one constant",
  "option.USE_SUFFIXES_FOR_INTEGER_CONSTANT.title.ignore_zero": "Ignore zero constant.",
  "option.USE_TAB_BETWEEN_TYPE_AND_IDENTIFIER.desc.tab_size": "Set the number of spaces for each tab.\nExample) 4",
  "option.USE_TAB_BETWEEN_TYPE_AND_IDENTIFIER.title.tab_size": "Tab size",
  "option.USING_DEPRECATED_API.KOTLIN.desc.deprecated_api_call": "Write the name of the deprecated method in FQN.",
  "option.USING_DEPRECATED_API.KOTLIN.desc.deprecated_api_class": "Write the name of the deprecated class in FQN.",
  "option.USING_DEPRECATED_API.KOTLIN.desc.deprecated_api_field": "Write the name of the deprecated static field in FQN.",
  "option.USING_DEPRECATED_API.KOTLIN.title.deprecated_api_call": "List of prohibited method calls",
  "option.USING_DEPRECATED_API.KOTLIN.title.deprecated_api_class": "List of prohibited classes",
  "option.USING_DEPRECATED_API.KOTLIN.title.deprecated_api_field": "List of forbidden static fields",
  "option.USING_HASH_WITHOUT_SALT.KOTLIN.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) base of fqn(\"java.security.MessageDigest.update\")",
  "option.USING_HASH_WITHOUT_SALT.KOTLIN.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) sparrow.my.filter.utils.is_safe()",
  "option.USING_HASH_WITHOUT_SALT.KOTLIN.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.USING_HASH_WITHOUT_SALT.KOTLIN.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) return of fqn(\"java.security.MessageDigest.digest\")",
  "option.USING_HASH_WITHOUT_SALT.KOTLIN.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(\"java.security.MessageDigest.getInstance\")",
  "option.USING_HASH_WITHOUT_SALT.KOTLIN.title.taint_filter": "External information filter",
  "option.USING_HASH_WITHOUT_SALT.KOTLIN.title.taint_filter_function_fqn": "Custom external information filter",
  "option.USING_HASH_WITHOUT_SALT.KOTLIN.title.taint_propagator": "External information propagator",
  "option.USING_HASH_WITHOUT_SALT.KOTLIN.title.taint_sink": "External information sink",
  "option.USING_HASH_WITHOUT_SALT.KOTLIN.title.taint_source": "External information source",
  "option.USING_HASH_WITHOUT_SALT.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" {sink_target} \"is_from\" {source_target}\nsink_target: expression for the tainted value (including definition for method).\nsource_target: expression that causes the tainted value (including definition for method).",
  "option.USING_HASH_WITHOUT_SALT.desc.exclude": "A filter is considered safe if it is defined like this. \"if\" {filter_target}\nfilter_target: filter expression for the tainted value (including definition for method).",
  "option.USING_HASH_WITHOUT_SALT.desc.propagator": "If a propagator is defined as follows, it propagates a tainted value. {propagator_target}\npropagator_target: propagation expression for the tainted value. (including method definition)",
  "option.USING_HASH_WITHOUT_SALT.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.USING_HASH_WITHOUT_SALT.title.alarm": "Detection rule",
  "option.USING_HASH_WITHOUT_SALT.title.exclude": "Exception rule",
  "option.USING_HASH_WITHOUT_SALT.title.propagator": "Propagator name",
  "option.USING_HASH_WITHOUT_SALT.title.suggestion_filter_function": "Suggested filter function",
  "option.USING_PREDICTABLE_SALT.KOTLIN.desc.time_method_fqn": "Enter the Fully Qualified Name (FQN) of the method related to detection time. If the salt value includes that method, it will be detected.",
  "option.USING_PREDICTABLE_SALT.KOTLIN.title.time_method_fqn": "Time-related methods",
  "option.USING_WEAK_CRYPTOGRAPHIC_ALGORITHM.desc.variable_name_for_password": "Write the name of the variable containing a password.\nExample) password",
  "option.USING_WEAK_CRYPTOGRAPHIC_ALGORITHM.desc.weak_algorithm": "Write the name of the weak cryptographic algorithm.\nExample) DES",
  "option.USING_WEAK_CRYPTOGRAPHIC_ALGORITHM.desc.weak_class": "Cryptoclasses considered weak",
  "option.USING_WEAK_CRYPTOGRAPHIC_ALGORITHM.desc.weak_method": "crypto methods considered weak",
  "option.USING_WEAK_CRYPTOGRAPHIC_ALGORITHM.title.variable_name_for_password": "Name of the variable representing a password",
  "option.USING_WEAK_CRYPTOGRAPHIC_ALGORITHM.title.weak_algorithm": "Weak cryptographic algorithm",
  "option.USING_WEAK_CRYPTOGRAPHIC_ALGORITHM.title.weak_class": "Weak classes",
  "option.USING_WEAK_CRYPTOGRAPHIC_ALGORITHM.title.weak_method": "Weak methods",
  "option.WEAK_CRYPTOGRAPHIC_HASH.CSHARP.desc.weak_cryptographic_hash": "Write weak cryptographic hash class.\nExample) MD5CryptoServiceProvider",
  "option.WEAK_CRYPTOGRAPHIC_HASH.CSHARP.title.weak_cryptographic_hash": "Weak cryptographic hash class",
  "option.WEAK_ENCRYPTION.DES.CSHARP.desc.weak_encryption": "Write vulnerable encryption clsss.\nExample) DESCryptoServiceProvider",
  "option.WEAK_ENCRYPTION.DES.CSHARP.title.weak_encryption": "Vulnerable Encryption Class",
  "option.WEAK_ENCRYPTION.HARDCODED_SALT.desc.call_param_target_in_function": "Write the target function name and the parameter location where salt value is used. Use a format such as \"(parameter location):(function name)\".\nExample) 2:crypt",
  "option.WEAK_ENCRYPTION.HARDCODED_SALT.desc.excluded_expr": "Write an expression of salt value to exclude.\nExample) safe",
  "option.WEAK_ENCRYPTION.HARDCODED_SALT.desc.target_expr": "Write an expression of salt value to detect. If there is no value entered, all constant salt values will be detected.\nExample) salt",
  "option.WEAK_ENCRYPTION.HARDCODED_SALT.title.call_param_target_in_function": "Target function and parameters",
  "option.WEAK_ENCRYPTION.HARDCODED_SALT.title.excluded_expr": "Salt expression to exclude (exception)",
  "option.WEAK_ENCRYPTION.HARDCODED_SALT.title.target_expr": "Salt expression to allow (target)",
  "option.WEAK_ENCRYPTION.HASH.OBJC.desc.weak_hash_function": "Write the name of the weak hash function.\nExample) CC_MD5",
  "option.WEAK_ENCRYPTION.HASH.OBJC.title.weak_hash_function": "Weak hash function",
  "option.WEAK_ENCRYPTION.HASH.PHP.desc.ignore_hash_function_paramcall": "Write a name of the ignoring function. \nExample)  mt_rand",
  "option.WEAK_ENCRYPTION.HASH.PHP.desc.weak_hash_function": "Write a name of the weak hash function.\nExample) md5",
  "option.WEAK_ENCRYPTION.HASH.PHP.title.ignore_hash_function_paramcall": "Ignore function that called in hash function argument.",
  "option.WEAK_ENCRYPTION.HASH.PHP.title.weak_hash_function": "Weak hash function",
  "option.WEAK_ENCRYPTION.INSECURE_MODE_OF_OPERATION.CSHARP.desc.sym_crypto_class": "Enter symmetric cryptography class.",
  "option.WEAK_ENCRYPTION.INSECURE_MODE_OF_OPERATION.CSHARP.desc.vuln_mode": "Enter vulnerable mode.",
  "option.WEAK_ENCRYPTION.INSECURE_MODE_OF_OPERATION.CSHARP.title.sym_crypto_class": "Symmetric cryptography class.",
  "option.WEAK_ENCRYPTION.INSECURE_MODE_OF_OPERATION.CSHARP.title.vuln_mode": "Vulnerable mode.",
  "option.WEAK_ENCRYPTION.INSUFFICIENT_KEY.desc.call_param_target_in_function": "Write the target function name and the parameter location where the key is used. Use a format such as \"(parameter location):(function name)\".\nExample) 1:RSA_generate_key",
  "option.WEAK_ENCRYPTION.INSUFFICIENT_KEY.desc.min_value": "Write the minimum key length to allow during use of the encryption algorithm.\nExample) 1024",
  "option.WEAK_ENCRYPTION.INSUFFICIENT_KEY.title.call_param_target_in_function": "Target function and parameters",
  "option.WEAK_ENCRYPTION.INSUFFICIENT_KEY.title.min_value": "Minimum key length",
  "option.WEAK_ENCRYPTION.INSUFFICIENT_KEY_SIZE.CSHARP.desc.minimum_key_size": "Write the minimum secure key size.\nExample) 1024",
  "option.WEAK_ENCRYPTION.INSUFFICIENT_KEY_SIZE.CSHARP.desc.weak_encryption": "Write vulnerable encryption clsss.\nExample) RSAcryptoserviceprovider",
  "option.WEAK_ENCRYPTION.INSUFFICIENT_KEY_SIZE.CSHARP.title.minimum_key_size": "Minimum key size",
  "option.WEAK_ENCRYPTION.INSUFFICIENT_KEY_SIZE.CSHARP.title.weak_encryption": "Vulnerable Encryption Class",
  "option.WEAK_ENCRYPTION.INSUFFICIENT_KEY_SIZE.JS.desc.namedCurve": "Value to detect when namedCurve is used in the option parameter",
  "option.WEAK_ENCRYPTION.INSUFFICIENT_KEY_SIZE.JS.title.namedCurve": "namedCurve Option",
  "option.WEAK_ENCRYPTION.INSUFFICIENT_KEY_SIZE.KOTLIN.desc.sufficient_key_size": "Creates the minimum length of a key allowed by the RSA algorithm.",
  "option.WEAK_ENCRYPTION.INSUFFICIENT_KEY_SIZE.KOTLIN.title.sufficient_key_size": "Key size allowed in RSA algorithm (Signature/Cipher)",
  "option.WEAK_ENCRYPTION.INSUFFICIENT_KEY_SIZE.OBJC.desc.min_key_size": "Write the minimum key size required for encryption.\nExample) 128",
  "option.WEAK_ENCRYPTION.INSUFFICIENT_KEY_SIZE.OBJC.title.min_key_size": "Minimum key size required",
  "option.WEAK_ENCRYPTION.INSUFFICIENT_KEY_SIZE.PHP.desc.EC": "Write the minimum key size allowed for EC algorithm.\nExample) 256",
  "option.WEAK_ENCRYPTION.INSUFFICIENT_KEY_SIZE.PHP.desc.RSA": "Write the minimum key size allowed for RSA algorithm.\nExample) 2048",
  "option.WEAK_ENCRYPTION.INSUFFICIENT_KEY_SIZE.PHP.title.EC": "Key size allowed in EC algorithm",
  "option.WEAK_ENCRYPTION.INSUFFICIENT_KEY_SIZE.PHP.title.RSA": "Key size allowed in RSA algorithm",
  "option.WEAK_ENCRYPTION.INSUFFICIENT_KEY_SIZE.SWIFT.desc.min_key_size": "Write the minimum key size required for encryption.\nExample) 128",
  "option.WEAK_ENCRYPTION.INSUFFICIENT_KEY_SIZE.SWIFT.title.min_key_size": "Minimum key size required",
  "option.WEAK_ENCRYPTION.INSUFFICIENT_KEY_SIZE.VBS.desc.minimum_key_size": "Write the minimum secure key size.\nExample) 1024",
  "option.WEAK_ENCRYPTION.INSUFFICIENT_KEY_SIZE.VBS.title.minimum_key_size": "Minimum key size",
  "option.WEAK_ENCRYPTION.PASSWORD.desc.call_param_target_in_function": "Write the target function name and the parameter location where the key is used. Use a format such as \"(parameter location):(function name)\".\nExample) 1:RSA_generate_key",
  "option.WEAK_ENCRYPTION.PASSWORD.desc.need_function": "Set up recommended encryption modules. \nHow to ) [param index]:[function name]\nparam index : -1  - assign      \nExample) passwd",
  "option.WEAK_ENCRYPTION.PASSWORD.title.call_param_target_in_function": "Target function and parameters",
  "option.WEAK_ENCRYPTION.PASSWORD.title.need_function": "Recommended encryption modules",
  "option.WEAK_ENCRYPTION.RISKY_ALGORITHM.OBJC.desc.risky_algorithm": "Write the name of the weak algorithm.\nExample) kCCAlgorithmDES",
  "option.WEAK_ENCRYPTION.RISKY_ALGORITHM.OBJC.title.risky_algorithm": "Weak cryptographic algorithm",
  "option.WEAK_ENCRYPTION.RISKY_ALGORITHM.PHP.desc.weak_algorithm": "Write a name of the weak cryptographic algorithm.\nExample) DES",
  "option.WEAK_ENCRYPTION.RISKY_ALGORITHM.PHP.title.weak_algorithm": "Weak cryptographic algorithm",
  "option.WEAK_ENCRYPTION.RISKY_ALGORITHM.desc.crypt_string": "Write a string which indicates the encryption status.\nExample) crypt.*",
  "option.WEAK_ENCRYPTION.RISKY_ALGORITHM.desc.decrypt_string": "Write a string which indicates decryption status.\nExample) decrypt.*",
  "option.WEAK_ENCRYPTION.RISKY_ALGORITHM.desc.risky_algorithm": "Write the name of the weak encryption algorithm function.\nExample) EVP_des_ecb",
  "option.WEAK_ENCRYPTION.RISKY_ALGORITHM.desc.risky_algorithm_id": "Write an ID of the weak encryption algorithm.\nExample) DES",
  "option.WEAK_ENCRYPTION.RISKY_ALGORITHM.desc.safe_algorithm": "Write a name of the strong encryption algorithm function.\nExample) EVP_aes_128_cbc",
  "option.WEAK_ENCRYPTION.RISKY_ALGORITHM.title.crypt_string": "Encryption string",
  "option.WEAK_ENCRYPTION.RISKY_ALGORITHM.title.decrypt_string": "Decryption string",
  "option.WEAK_ENCRYPTION.RISKY_ALGORITHM.title.risky_algorithm": "Weak encryption algorithm",
  "option.WEAK_ENCRYPTION.RISKY_ALGORITHM.title.risky_algorithm_id": "Weak encryption algorithm ID",
  "option.WEAK_ENCRYPTION.RISKY_ALGORITHM.title.safe_algorithm": "Strong encryption algorithm",
  "option.WEAK_ENCRYPTION.RSA_PADDING.desc.call_param_should_not_be_name": "Set up forbidden macro on call.",
  "option.WEAK_ENCRYPTION.RSA_PADDING.desc.call_param_target_in_function": "Target functions",
  "option.WEAK_ENCRYPTION.RSA_PADDING.title.call_param_should_not_be_name": "Forbidden macro on call parameters",
  "option.WEAK_ENCRYPTION.RSA_PADDING.title.call_param_target_in_function": "Target function to analyze",
  "option.WEAK_ENCRYPTION_ALGORITHM.KOTLIN.desc.string_name_encrypt_creator": "Write the name of the cryptographic generation function.",
  "option.WEAK_ENCRYPTION_ALGORITHM.KOTLIN.desc.string_name_hash_creator": "Write the name of the hash generation function.",
  "option.WEAK_ENCRYPTION_ALGORITHM.KOTLIN.desc.string_name_mac_creator": "Write the name of the MAC generation function.",
  "option.WEAK_ENCRYPTION_ALGORITHM.KOTLIN.desc.string_name_sign_creator": "Write the name of the signature generation function.",
  "option.WEAK_ENCRYPTION_ALGORITHM.KOTLIN.desc.weak_encrypt_algorithm": "Write a name of the weak cryptographic algorithm.",
  "option.WEAK_ENCRYPTION_ALGORITHM.KOTLIN.desc.weak_hash_algorithm": "Write a name of the weak hash algorithm.",
  "option.WEAK_ENCRYPTION_ALGORITHM.KOTLIN.desc.weak_mac_algorithm": "Write the name of the vulnerable MAC algorithm.",
  "option.WEAK_ENCRYPTION_ALGORITHM.KOTLIN.desc.weak_sign_algorithm": "Enter the name of the vulnerable signature algorithm.",
  "option.WEAK_ENCRYPTION_ALGORITHM.KOTLIN.title.string_name_encrypt_creator": "Cryptographic generation function",
  "option.WEAK_ENCRYPTION_ALGORITHM.KOTLIN.title.string_name_hash_creator": "Hash generation function",
  "option.WEAK_ENCRYPTION_ALGORITHM.KOTLIN.title.string_name_mac_creator": "MAC generation function",
  "option.WEAK_ENCRYPTION_ALGORITHM.KOTLIN.title.string_name_sign_creator": "signature generation function",
  "option.WEAK_ENCRYPTION_ALGORITHM.KOTLIN.title.weak_encrypt_algorithm": "Weak cryptographic algorithm",
  "option.WEAK_ENCRYPTION_ALGORITHM.KOTLIN.title.weak_hash_algorithm": "Weak hash algorithm",
  "option.WEAK_ENCRYPTION_ALGORITHM.KOTLIN.title.weak_mac_algorithm": "vulnerable MAC algorithm",
  "option.WEAK_ENCRYPTION_ALGORITHM.KOTLIN.title.weak_sign_algorithm": "vulnerable signature algorithm",
  "option.WEAK_ENCRYPTION_ALGORITHM.PYTHON.desc.encrypt_creator_prefix": "Write a name of weak cryptographic algorithm library.",
  "option.WEAK_ENCRYPTION_ALGORITHM.PYTHON.desc.hash_creator_prefix": "Write a name of weak hash algorithm library.",
  "option.WEAK_ENCRYPTION_ALGORITHM.PYTHON.desc.string_name_hash_creator": "Write a name of hash function which gets hash algorithm name.",
  "option.WEAK_ENCRYPTION_ALGORITHM.PYTHON.desc.weak_encrypt_algorithm": "Write a name of the weak cryptographic algorithm.\nExample) DES",
  "option.WEAK_ENCRYPTION_ALGORITHM.PYTHON.desc.weak_hash_algorithm": "Write a name of the weak hash algorithm.\nExample) MD5",
  "option.WEAK_ENCRYPTION_ALGORITHM.PYTHON.title.encrypt_creator_prefix": "Weak cryptographic algorithm library",
  "option.WEAK_ENCRYPTION_ALGORITHM.PYTHON.title.hash_creator_prefix": "Weak hash algorithm library",
  "option.WEAK_ENCRYPTION_ALGORITHM.PYTHON.title.string_name_hash_creator": "Hash function with hash algorithm name",
  "option.WEAK_ENCRYPTION_ALGORITHM.PYTHON.title.weak_encrypt_algorithm": "Weak cryptographic algorithm",
  "option.WEAK_ENCRYPTION_ALGORITHM.PYTHON.title.weak_hash_algorithm": "Weak hash algorithm",
  "option.WEAK_ENCRYPTION_INSUFFICIENT_KEY_SIZE.PYTHON.desc.sufficient_key_size": "Creates the minimum length of a key allowed by the RSA algorithm.",
  "option.WEAK_ENCRYPTION_INSUFFICIENT_KEY_SIZE.PYTHON.title.sufficient_key_size": "Key size allowed in RSA algorithm (Signature/Cipher)",
  "option.WEAK_ENCRYPTION_INSUFFICIENT_KEY_SIZE.desc.AES": "Enter key size for AES algorithm",
  "option.WEAK_ENCRYPTION_INSUFFICIENT_KEY_SIZE.desc.EC": "Enter key size for Elliptic Curve algorithm",
  "option.WEAK_ENCRYPTION_INSUFFICIENT_KEY_SIZE.desc.RSA": "Enter key size for RSA algorithm (Signature/Cipher)",
  "option.WEAK_ENCRYPTION_INSUFFICIENT_KEY_SIZE.desc.SEED": "Write the name of a block cipher algorithm SEED",
  "option.WEAK_ENCRYPTION_INSUFFICIENT_KEY_SIZE.desc.SHA-1": "Write the name of message migest algorithm SHA-1",
  "option.WEAK_ENCRYPTION_INSUFFICIENT_KEY_SIZE.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.WEAK_ENCRYPTION_INSUFFICIENT_KEY_SIZE.desc.exclude": "A filter is considered safe if it is defined like this \"if\" {filter_target}\nfilter_target: filter expression for the pollution value (includes method definition).",
  "option.WEAK_ENCRYPTION_INSUFFICIENT_KEY_SIZE.desc.propagator": "If a propagator is defined as follows, it propagates a tainted value. {propagator_target}\npropagator_target: propagation expression for the tainted value. (including method definition)",
  "option.WEAK_ENCRYPTION_INSUFFICIENT_KEY_SIZE.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.WEAK_ENCRYPTION_INSUFFICIENT_KEY_SIZE.title.AES": "Key size allowed in AES algorithm",
  "option.WEAK_ENCRYPTION_INSUFFICIENT_KEY_SIZE.title.EC": "Key size allowed in Elliptic Curve algorithm",
  "option.WEAK_ENCRYPTION_INSUFFICIENT_KEY_SIZE.title.RSA": "Key size allowed in RSA algorithm (Signature/Cipher)",
  "option.WEAK_ENCRYPTION_INSUFFICIENT_KEY_SIZE.title.SEED": "Write the name of a block cipher algorithm SEED",
  "option.WEAK_ENCRYPTION_INSUFFICIENT_KEY_SIZE.title.SHA-1": "Write the name of message migest algorithm SHA-1",
  "option.WEAK_ENCRYPTION_INSUFFICIENT_KEY_SIZE.title.alarm": "Detection rule",
  "option.WEAK_ENCRYPTION_INSUFFICIENT_KEY_SIZE.title.exclude": "Exception rule",
  "option.WEAK_ENCRYPTION_INSUFFICIENT_KEY_SIZE.title.propagator": "Propagator name",
  "option.WEAK_ENCRYPTION_INSUFFICIENT_KEY_SIZE.title.suggestion_filter_function": "Suggested filter function",
  "option.WEAK_HASH_ALGORITHM.KOTLIN.desc.string_name_hash_creator": "Write the parameters that accept the name of the hash generation function and the name of the hash algorithm.",
  "option.WEAK_HASH_ALGORITHM.KOTLIN.desc.weak_hash_algorithm": "Specify the name of the vulnerable hash algorithm. Detect it if this hash algorithm is included in the specified parameters of the hash generation function input options.",
  "option.WEAK_HASH_ALGORITHM.KOTLIN.desc.weak_hash_function": "Write the FQN of the vulnerable hash function. It will be detected when the written hash function is called.",
  "option.WEAK_HASH_ALGORITHM.KOTLIN.title.string_name_hash_creator": "Hash generating function",
  "option.WEAK_HASH_ALGORITHM.KOTLIN.title.weak_hash_algorithm": "Weak hash algorithm",
  "option.WEAK_HASH_ALGORITHM.KOTLIN.title.weak_hash_function": "Vulnerable hash function FQN",
  "option.WEAK_PASSWORD_REQUIREMENTS.KOTLIN.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) base of name(\"matches\")",
  "option.WEAK_PASSWORD_REQUIREMENTS.KOTLIN.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) sparrow.my.filter.utils.is_safe()",
  "option.WEAK_PASSWORD_REQUIREMENTS.KOTLIN.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.WEAK_PASSWORD_REQUIREMENTS.KOTLIN.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(*) of fqn(\"registDAO.regist\")",
  "option.WEAK_PASSWORD_REQUIREMENTS.KOTLIN.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(\"java.io.BufferedInputStream.read(byte[])\")",
  "option.WEAK_PASSWORD_REQUIREMENTS.KOTLIN.title.taint_filter": "External information filter",
  "option.WEAK_PASSWORD_REQUIREMENTS.KOTLIN.title.taint_filter_function_fqn": "Custom external information filter",
  "option.WEAK_PASSWORD_REQUIREMENTS.KOTLIN.title.taint_propagator": "External information propagator",
  "option.WEAK_PASSWORD_REQUIREMENTS.KOTLIN.title.taint_sink": "External information sink",
  "option.WEAK_PASSWORD_REQUIREMENTS.KOTLIN.title.taint_source": "External information source",
  "option.WEAK_PASSWORD_REQUIREMENTS.OBJC.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) strlen$param(1)",
  "option.WEAK_PASSWORD_REQUIREMENTS.OBJC.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) \\\\.$operand(*)->return",
  "option.WEAK_PASSWORD_REQUIREMENTS.OBJC.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) mysql_query$param(*)",
  "option.WEAK_PASSWORD_REQUIREMENTS.OBJC.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of fqn(\"$_GET[\\\\\"password\\\\\"]\")",
  "option.WEAK_PASSWORD_REQUIREMENTS.OBJC.title.taint_filter": "External information filter",
  "option.WEAK_PASSWORD_REQUIREMENTS.OBJC.title.taint_propagator": "External information propagator",
  "option.WEAK_PASSWORD_REQUIREMENTS.OBJC.title.taint_sink": "External information sink",
  "option.WEAK_PASSWORD_REQUIREMENTS.OBJC.title.taint_source": "External information source",
  "option.WEAK_PASSWORD_REQUIREMENTS.PHP.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(1) of name(\"strlen\")",
  "option.WEAK_PASSWORD_REQUIREMENTS.PHP.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.WEAK_PASSWORD_REQUIREMENTS.PHP.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\".\") to return",
  "option.WEAK_PASSWORD_REQUIREMENTS.PHP.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(*) of name(\"mysql_query\")",
  "option.WEAK_PASSWORD_REQUIREMENTS.PHP.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of fqn(\"$_GET[\\\"password\\\"]\")",
  "option.WEAK_PASSWORD_REQUIREMENTS.PHP.title.taint_filter": "External information filter",
  "option.WEAK_PASSWORD_REQUIREMENTS.PHP.title.taint_filter_function_fqn": "Custom external information filter",
  "option.WEAK_PASSWORD_REQUIREMENTS.PHP.title.taint_propagator": "External information propagator",
  "option.WEAK_PASSWORD_REQUIREMENTS.PHP.title.taint_sink": "External information sink",
  "option.WEAK_PASSWORD_REQUIREMENTS.PHP.title.taint_source": "External information source",
  "option.WEAK_PASSWORD_REQUIREMENTS.PYTHON.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) strlen$param(1)",
  "option.WEAK_PASSWORD_REQUIREMENTS.PYTHON.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.WEAK_PASSWORD_REQUIREMENTS.PYTHON.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) \\\\.$operand(*)->return",
  "option.WEAK_PASSWORD_REQUIREMENTS.PYTHON.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) mysql_query$param(*)",
  "option.WEAK_PASSWORD_REQUIREMENTS.PYTHON.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of fqn(\"$_GET[\\\\\"password\\\\\"]\")",
  "option.WEAK_PASSWORD_REQUIREMENTS.PYTHON.title.taint_filter": "External information filter",
  "option.WEAK_PASSWORD_REQUIREMENTS.PYTHON.title.taint_filter_function_fqn": "Custom external information filter",
  "option.WEAK_PASSWORD_REQUIREMENTS.PYTHON.title.taint_propagator": "External information propagator",
  "option.WEAK_PASSWORD_REQUIREMENTS.PYTHON.title.taint_sink": "External information sink",
  "option.WEAK_PASSWORD_REQUIREMENTS.PYTHON.title.taint_source": "External information source",
  "option.WEAK_PASSWORD_REQUIREMENTS.SWIFT.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) strlen$param(1)",
  "option.WEAK_PASSWORD_REQUIREMENTS.SWIFT.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) \\\\.$operand(*)->return",
  "option.WEAK_PASSWORD_REQUIREMENTS.SWIFT.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) mysql_query$param(*)",
  "option.WEAK_PASSWORD_REQUIREMENTS.SWIFT.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of fqn(\"$_GET[\\\\\"password\\\\\"]\")",
  "option.WEAK_PASSWORD_REQUIREMENTS.SWIFT.title.taint_filter": "External information filter",
  "option.WEAK_PASSWORD_REQUIREMENTS.SWIFT.title.taint_propagator": "External information propagator",
  "option.WEAK_PASSWORD_REQUIREMENTS.SWIFT.title.taint_sink": "External information sink",
  "option.WEAK_PASSWORD_REQUIREMENTS.SWIFT.title.taint_source": "External information source",
  "option.WEAK_PASSWORD_REQUIREMENTS.VBNET.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.WEAK_PASSWORD_REQUIREMENTS.VBNET.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.WEAK_PASSWORD_REQUIREMENTS.VBNET.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) &$operand(*)->return",
  "option.WEAK_PASSWORD_REQUIREMENTS.VBNET.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) .*\\.open$param(*)",
  "option.WEAK_PASSWORD_REQUIREMENTS.VBNET.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) request\\.form$return",
  "option.WEAK_PASSWORD_REQUIREMENTS.VBNET.title.taint_filter": "External information filter",
  "option.WEAK_PASSWORD_REQUIREMENTS.VBNET.title.taint_filter_function_fqn": "Custom external information filter",
  "option.WEAK_PASSWORD_REQUIREMENTS.VBNET.title.taint_propagator": "External information propagator",
  "option.WEAK_PASSWORD_REQUIREMENTS.VBNET.title.taint_sink": "External information sink",
  "option.WEAK_PASSWORD_REQUIREMENTS.VBNET.title.taint_source": "External information source",
  "option.WEAK_PASSWORD_REQUIREMENTS.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.WEAK_PASSWORD_REQUIREMENTS.desc.connect_function": "Write connection function names and password parameter position for checking weak password (FunctionName|PasswordParameterPosition).",
  "option.WEAK_PASSWORD_REQUIREMENTS.desc.exclude": "A filter is considered safe if it is defined like this \"if\" {filter_target}\nfilter_target: filter expression for the pollution value (includes method definition).",
  "option.WEAK_PASSWORD_REQUIREMENTS.desc.filter_method": "Write the name of the method that verifies password complexity.\nExample) matches",
  "option.WEAK_PASSWORD_REQUIREMENTS.desc.password_expr": "Write the expression of the string to use upon password acquisition.\nExample) password",
  "option.WEAK_PASSWORD_REQUIREMENTS.desc.propagator": "If a propagator is defined as follows, it propagates a tainted value. {propagator_target}\npropagator_target: propagation expression for the tainted value. (including method definition)",
  "option.WEAK_PASSWORD_REQUIREMENTS.desc.request_method": "Write the name of the method that acquires the password.\nExample) javax.servlet.http.HttpServletRequest.getParameter",
  "option.WEAK_PASSWORD_REQUIREMENTS.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.WEAK_PASSWORD_REQUIREMENTS.title.alarm": "Detection rule",
  "option.WEAK_PASSWORD_REQUIREMENTS.title.connect_function": "SQL Connection function names",
  "option.WEAK_PASSWORD_REQUIREMENTS.title.exclude": "Exception rule",
  "option.WEAK_PASSWORD_REQUIREMENTS.title.filter_method": "Password verification method",
  "option.WEAK_PASSWORD_REQUIREMENTS.title.password_expr": "Password expression",
  "option.WEAK_PASSWORD_REQUIREMENTS.title.propagator": "Propagator name",
  "option.WEAK_PASSWORD_REQUIREMENTS.title.request_method": "Password acquisition method",
  "option.WEAK_PASSWORD_REQUIREMENTS.title.suggestion_filter_function": "Suggested filter function",
  "option.WEAK_SERVER_CERTIFICATES.JS.desc.check_function_params": "Write the name of the function to be checked and the location of the parameter.",
  "option.WEAK_SERVER_CERTIFICATES.JS.title.check_function_params": "Function and parameters",
  "option.WEAK_SIGNATURE.INSUFFICIENT_KEY_SIZE.CSHARP.desc.minimum_key_size": "Enter minimum key size.",
  "option.WEAK_SIGNATURE.INSUFFICIENT_KEY_SIZE.CSHARP.desc.weak_encryption": "Enter encryption algorithm.",
  "option.WEAK_SIGNATURE.INSUFFICIENT_KEY_SIZE.CSHARP.title.minimum_key_size": "Minimum key length",
  "option.WEAK_SIGNATURE.INSUFFICIENT_KEY_SIZE.CSHARP.title.weak_encryption": "Encryption algorithm.",
  "option.WEAK_XML_TRANSFORMERS_SECURITY.CSHARP.desc._net_version": "Write the .Net Framework version.",
  "option.WEAK_XML_TRANSFORMERS_SECURITY.CSHARP.title._net_version": ".Net version",
  "option.WEAK_XML_TRANSFORMERS_SECURITY.KOTLIN.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(*) of name(\"filter\")",
  "option.WEAK_XML_TRANSFORMERS_SECURITY.KOTLIN.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) sparrow.my.filter.utils.is_safe()",
  "option.WEAK_XML_TRANSFORMERS_SECURITY.KOTLIN.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.WEAK_XML_TRANSFORMERS_SECURITY.KOTLIN.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) base of name(\"transform\")",
  "option.WEAK_XML_TRANSFORMERS_SECURITY.KOTLIN.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(\"javax.xml.transform.TransformerFactory.newInstance\")",
  "option.WEAK_XML_TRANSFORMERS_SECURITY.KOTLIN.title.taint_filter": "External information filter",
  "option.WEAK_XML_TRANSFORMERS_SECURITY.KOTLIN.title.taint_filter_function_fqn": "Custom external information filter",
  "option.WEAK_XML_TRANSFORMERS_SECURITY.KOTLIN.title.taint_propagator": "External information propagator",
  "option.WEAK_XML_TRANSFORMERS_SECURITY.KOTLIN.title.taint_sink": "External information sink",
  "option.WEAK_XML_TRANSFORMERS_SECURITY.KOTLIN.title.taint_source": "External information source",
  "option.XHR_INJECTION.JS.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(*) of name(\"filter\")",
  "option.XHR_INJECTION.JS.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.XHR_INJECTION.JS.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\"+\") to return",
  "option.XHR_INJECTION.JS.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(2) of fqn(\"XMLHttpRequest.open\")",
  "option.XHR_INJECTION.JS.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of fqn(\"document.URL\")",
  "option.XHR_INJECTION.JS.title.taint_filter": "External information filter",
  "option.XHR_INJECTION.JS.title.taint_filter_function_fqn": "Custom external information filter",
  "option.XHR_INJECTION.JS.title.taint_propagator": "External information propagator",
  "option.XHR_INJECTION.JS.title.taint_sink": "External information sink",
  "option.XHR_INJECTION.JS.title.taint_source": "External information source",
  "option.XML_EXTERNAL_ENTITY_ATTACKS.desc.exclude_method": "Write method names to be excluded from the analysis.\nExample).*Print",
  "option.XML_EXTERNAL_ENTITY_ATTACKS.desc.exclude_path": "Enter paths to be excluded from the analysis.\nExample).*\\\\test\\\\.*",
  "option.XML_EXTERNAL_ENTITY_ATTACKS.title.exclude_method": "Excluding method",
  "option.XML_EXTERNAL_ENTITY_ATTACKS.title.exclude_path": "Excluded path",
  "option.XPATH_INJECTION.CPP.desc.clear_call": "Write the name of the function that checks sensitive information for security.\nExample) urlchecker",
  "option.XPATH_INJECTION.CPP.desc.sink_call": "Write a name and a type of the function causing risks when containing external information.",
  "option.XPATH_INJECTION.CPP.desc.source_call": "Specify functions that receives sensitive information.\nExample) getenv",
  "option.XPATH_INJECTION.CPP.title.clear_call": "Function to check for sensitive information",
  "option.XPATH_INJECTION.CPP.title.sink_call": "External information sink",
  "option.XPATH_INJECTION.CPP.title.source_call": "Function receiving sensitive information",
  "option.XPATH_INJECTION.KOTLIN.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) operand(*) of \"in\"",
  "option.XPATH_INJECTION.KOTLIN.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) sparrow.my.filter.utils.is_safe()",
  "option.XPATH_INJECTION.KOTLIN.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.XPATH_INJECTION.KOTLIN.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(1) of fqn(\"javax.xml.xpath.XPath.compile\")",
  "option.XPATH_INJECTION.KOTLIN.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(\"java.io.BufferedInputStream.read(byte[])\")",
  "option.XPATH_INJECTION.KOTLIN.title.taint_filter": "External information filter",
  "option.XPATH_INJECTION.KOTLIN.title.taint_filter_function_fqn": "Custom external information filter",
  "option.XPATH_INJECTION.KOTLIN.title.taint_propagator": "External information propagator",
  "option.XPATH_INJECTION.KOTLIN.title.taint_sink": "External information sink",
  "option.XPATH_INJECTION.KOTLIN.title.taint_source": "External information source",
  "option.XPATH_INJECTION.OBJC.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.XPATH_INJECTION.OBJC.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) \\\\.$operand(*)->return",
  "option.XPATH_INJECTION.OBJC.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nexample) XQueryProcessor\\\\.execute(0)$base",
  "option.XPATH_INJECTION.OBJC.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) \\\\$_GET$variable",
  "option.XPATH_INJECTION.OBJC.title.taint_filter": "External information filter",
  "option.XPATH_INJECTION.OBJC.title.taint_propagator": "External information propagator",
  "option.XPATH_INJECTION.OBJC.title.taint_sink": "External information sink",
  "option.XPATH_INJECTION.OBJC.title.taint_source": "External information source",
  "option.XPATH_INJECTION.PHP.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(*) of name(\"filter\")",
  "option.XPATH_INJECTION.PHP.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.XPATH_INJECTION.PHP.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\".\") to return",
  "option.XPATH_INJECTION.PHP.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(1) of name(\"xpath\")",
  "option.XPATH_INJECTION.PHP.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of name(\"$_GET\")",
  "option.XPATH_INJECTION.PHP.title.taint_filter": "External information filter",
  "option.XPATH_INJECTION.PHP.title.taint_filter_function_fqn": "Custom external information filter",
  "option.XPATH_INJECTION.PHP.title.taint_propagator": "External information propagator",
  "option.XPATH_INJECTION.PHP.title.taint_sink": "External information sink",
  "option.XPATH_INJECTION.PHP.title.taint_source": "External information source",
  "option.XPATH_INJECTION.PYTHON.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.XPATH_INJECTION.PYTHON.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.XPATH_INJECTION.PYTHON.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) \\\\.$operand(*)->return",
  "option.XPATH_INJECTION.PYTHON.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) xpath$param(1)",
  "option.XPATH_INJECTION.PYTHON.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) \\\\$_GET$variable",
  "option.XPATH_INJECTION.PYTHON.title.taint_filter": "External information filter",
  "option.XPATH_INJECTION.PYTHON.title.taint_filter_function_fqn": "Custom external information filter",
  "option.XPATH_INJECTION.PYTHON.title.taint_propagator": "External information propagator",
  "option.XPATH_INJECTION.PYTHON.title.taint_sink": "External information sink",
  "option.XPATH_INJECTION.PYTHON.title.taint_source": "External information source",
  "option.XPATH_INJECTION.SWIFT.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.XPATH_INJECTION.SWIFT.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) \\\\.$operand(*)->return",
  "option.XPATH_INJECTION.SWIFT.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nexample) XQueryProcessor\\\\.execute(0)$base",
  "option.XPATH_INJECTION.SWIFT.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) \\\\$_GET$variable",
  "option.XPATH_INJECTION.SWIFT.title.taint_filter": "External information filter",
  "option.XPATH_INJECTION.SWIFT.title.taint_propagator": "External information propagator",
  "option.XPATH_INJECTION.SWIFT.title.taint_sink": "External information sink",
  "option.XPATH_INJECTION.SWIFT.title.taint_source": "External information source",
  "option.XPATH_INJECTION.VBNET.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.XPATH_INJECTION.VBNET.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.XPATH_INJECTION.VBNET.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) &$operand(*)->return",
  "option.XPATH_INJECTION.VBNET.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) .*\\.open$param(*)",
  "option.XPATH_INJECTION.VBNET.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) request\\.form$return",
  "option.XPATH_INJECTION.VBNET.title.taint_filter": "External information filter",
  "option.XPATH_INJECTION.VBNET.title.taint_filter_function_fqn": "Custom external information filter",
  "option.XPATH_INJECTION.VBNET.title.taint_propagator": "External information propagator",
  "option.XPATH_INJECTION.VBNET.title.taint_sink": "External information sink",
  "option.XPATH_INJECTION.VBNET.title.taint_source": "External information source",
  "option.XPATH_INJECTION.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.XPATH_INJECTION.desc.exclude": "A filter is considered safe if it is defined like this. \"if\" filter\nfilter: filter expression for the tainted value (including definition for method).",
  "option.XPATH_INJECTION.desc.propagator": "If a propagator is defined as follows, it propagates a tainted value. {propagator_target}\npropagator_target: propagation expression for the tainted value. (including method definition)",
  "option.XPATH_INJECTION.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.XPATH_INJECTION.title.alarm": "Detection rule",
  "option.XPATH_INJECTION.title.exclude": "Exception rule",
  "option.XPATH_INJECTION.title.propagator": "Propagator name",
  "option.XPATH_INJECTION.title.suggestion_filter_function": "Suggested filter function",
  "option.XQUERY_INJECTION.CPP.desc.clear_call": "Write the name of the function that checks sensitive information for security.\nExample) urlchecker",
  "option.XQUERY_INJECTION.CPP.desc.sink_call": "Write a name and a type of the function causing risks when containing external information.",
  "option.XQUERY_INJECTION.CPP.desc.source_call": "Specify functions that receives sensitive information.\nExample) getenv",
  "option.XQUERY_INJECTION.CPP.title.clear_call": "Function to check for sensitive information",
  "option.XQUERY_INJECTION.CPP.title.sink_call": "External information sink",
  "option.XQUERY_INJECTION.CPP.title.source_call": "Function receiving sensitive information",
  "option.XQUERY_INJECTION.OBJC.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.XQUERY_INJECTION.OBJC.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) \\\\.$operand(*)->return",
  "option.XQUERY_INJECTION.OBJC.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nexample) XQueryProcessor\\\\.execute(0)$base",
  "option.XQUERY_INJECTION.OBJC.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) \\\\$_GET$variable",
  "option.XQUERY_INJECTION.OBJC.title.taint_filter": "External information filter",
  "option.XQUERY_INJECTION.OBJC.title.taint_propagator": "External information propagator",
  "option.XQUERY_INJECTION.OBJC.title.taint_sink": "External information sink",
  "option.XQUERY_INJECTION.OBJC.title.taint_source": "External information source",
  "option.XQUERY_INJECTION.PHP.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(*) of name(\"filter\")",
  "option.XQUERY_INJECTION.PHP.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.XQUERY_INJECTION.PHP.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\".\") to return",
  "option.XQUERY_INJECTION.PHP.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) base of fqn(\"XQueryProcessor.execute(0)\")",
  "option.XQUERY_INJECTION.PHP.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of name(\"$_GET\")",
  "option.XQUERY_INJECTION.PHP.title.taint_filter": "External information filter",
  "option.XQUERY_INJECTION.PHP.title.taint_filter_function_fqn": "Custom external information filter",
  "option.XQUERY_INJECTION.PHP.title.taint_propagator": "External information propagator",
  "option.XQUERY_INJECTION.PHP.title.taint_sink": "External information sink",
  "option.XQUERY_INJECTION.PHP.title.taint_source": "External information source",
  "option.XQUERY_INJECTION.PYTHON.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) return of name(\"filter\")",
  "option.XQUERY_INJECTION.PYTHON.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) sparrow.my.filter.utils.is_safe()",
  "option.XQUERY_INJECTION.PYTHON.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.XQUERY_INJECTION.PYTHON.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(*) of name(\"compileQuery\")",
  "option.XQUERY_INJECTION.PYTHON.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(\"django.http.HttpRequest.field\")",
  "option.XQUERY_INJECTION.PYTHON.title.taint_filter": "External information filter",
  "option.XQUERY_INJECTION.PYTHON.title.taint_filter_function_fqn": "Custom external information filter",
  "option.XQUERY_INJECTION.PYTHON.title.taint_propagator": "External information propagator",
  "option.XQUERY_INJECTION.PYTHON.title.taint_sink": "External information sink",
  "option.XQUERY_INJECTION.PYTHON.title.taint_source": "External information source",
  "option.XQUERY_INJECTION.VBNET.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.XQUERY_INJECTION.VBNET.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.XQUERY_INJECTION.VBNET.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) &$operand(*)->return",
  "option.XQUERY_INJECTION.VBNET.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) .*\\.open$param(*)",
  "option.XQUERY_INJECTION.VBNET.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) request\\.form$return",
  "option.XQUERY_INJECTION.VBNET.title.taint_filter": "External information filter",
  "option.XQUERY_INJECTION.VBNET.title.taint_filter_function_fqn": "Custom external information filter",
  "option.XQUERY_INJECTION.VBNET.title.taint_propagator": "External information propagator",
  "option.XQUERY_INJECTION.VBNET.title.taint_sink": "External information sink",
  "option.XQUERY_INJECTION.VBNET.title.taint_source": "External information source",
  "option.XQUERY_INJECTION.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.XQUERY_INJECTION.desc.exclude": "A filter is considered safe if it is defined like this. \"if\" filter\nfilter: filter expression for the tainted value (including definition for method).",
  "option.XQUERY_INJECTION.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.XQUERY_INJECTION.title.alarm": "Detection rule",
  "option.XQUERY_INJECTION.title.exclude": "Exception rule",
  "option.XQUERY_INJECTION.title.suggestion_filter_function": "Suggested filter function",
  "option.XSS.DOM.JS.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.XSS.DOM.JS.desc.exclude": "A filter is considered safe if it is defined like this \"if\" {filter_target}\nfilter_target: filter expression for the pollution value (includes method definition).",
  "option.XSS.DOM.JS.desc.propagator": "If a propagator is defined as follows, it propagates a tainted value. {propagator_target}\npropagator_target: propagation expression for the tainted value. (including method definition)",
  "option.XSS.DOM.JS.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.XSS.DOM.JS.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) return of name(\"encodeURIComponent\")",
  "option.XSS.DOM.JS.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.XSS.DOM.JS.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\"+\") to return",
  "option.XSS.DOM.JS.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(*) of fqn(\"eval\")",
  "option.XSS.DOM.JS.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of fqn(\"document.URL\")",
  "option.XSS.DOM.JS.title.alarm": "Detection rule",
  "option.XSS.DOM.JS.title.exclude": "Exception rule",
  "option.XSS.DOM.JS.title.propagator": "Propagator name",
  "option.XSS.DOM.JS.title.suggestion_filter_function": "Suggested filter function",
  "option.XSS.DOM.JS.title.taint_filter": "External information filter",
  "option.XSS.DOM.JS.title.taint_filter_function_fqn": "Custom external information filter",
  "option.XSS.DOM.JS.title.taint_propagator": "External information propagator",
  "option.XSS.DOM.JS.title.taint_sink": "External information sink",
  "option.XSS.DOM.JS.title.taint_source": "External information source",
  "option.XSS.LOCAL_STORAGE.JS.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) return of name(\"encodeURIComponent\")",
  "option.XSS.LOCAL_STORAGE.JS.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.XSS.LOCAL_STORAGE.JS.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\"+\") to return",
  "option.XSS.LOCAL_STORAGE.JS.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(*) of fqn(\"eval\")",
  "option.XSS.LOCAL_STORAGE.JS.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(\"localStorage.getItem\")",
  "option.XSS.LOCAL_STORAGE.JS.title.taint_filter": "External information filter",
  "option.XSS.LOCAL_STORAGE.JS.title.taint_filter_function_fqn": "Custom external information filter",
  "option.XSS.LOCAL_STORAGE.JS.title.taint_propagator": "External information propagator",
  "option.XSS.LOCAL_STORAGE.JS.title.taint_sink": "External information sink",
  "option.XSS.LOCAL_STORAGE.JS.title.taint_source": "External information source",
  "option.XSS.OBJC.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.XSS.OBJC.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.XSS.OBJC.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) \\.$operand(*)->return",
  "option.XSS.OBJC.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) __sparrow_OBJC_echo__$param(*)",
  "option.XSS.OBJC.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) \\$_GET$variable",
  "option.XSS.OBJC.title.taint_filter": "External information filter",
  "option.XSS.OBJC.title.taint_filter_function_fqn": "Custom external information filter",
  "option.XSS.OBJC.title.taint_propagator": "External information propagator",
  "option.XSS.OBJC.title.taint_sink": "External information sink",
  "option.XSS.OBJC.title.taint_source": "External information source",
  "option.XSS.PHP.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(*) of name(\"filter\")",
  "option.XSS.PHP.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.XSS.PHP.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\".\") to return",
  "option.XSS.PHP.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(*) of name(\"__sparrow_php_echo__\")",
  "option.XSS.PHP.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of name(\"$_GET\")",
  "option.XSS.PHP.title.taint_filter": "External information filter",
  "option.XSS.PHP.title.taint_filter_function_fqn": "Custom external information filter",
  "option.XSS.PHP.title.taint_propagator": "External information propagator",
  "option.XSS.PHP.title.taint_sink": "External information sink",
  "option.XSS.PHP.title.taint_source": "External information source",
  "option.XSS.PYTHON.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.XSS.PYTHON.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.XSS.PYTHON.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) \\.$operand(*)->return",
  "option.XSS.PYTHON.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) __sparrow_php_echo__$param(*)",
  "option.XSS.PYTHON.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) \\$_GET$variable",
  "option.XSS.PYTHON.title.taint_filter": "External information filter",
  "option.XSS.PYTHON.title.taint_filter_function_fqn": "Custom external information filter",
  "option.XSS.PYTHON.title.taint_propagator": "External information propagator",
  "option.XSS.PYTHON.title.taint_sink": "External information sink",
  "option.XSS.PYTHON.title.taint_source": "External information source",
  "option.XSS.SWIFT.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.XSS.SWIFT.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.XSS.SWIFT.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) \\.$operand(*)->return",
  "option.XSS.SWIFT.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) __sparrow_OBJC_echo__$param(*)",
  "option.XSS.SWIFT.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) \\$_GET$variable",
  "option.XSS.SWIFT.title.taint_filter": "External information filter",
  "option.XSS.SWIFT.title.taint_filter_function_fqn": "Custom external information filter",
  "option.XSS.SWIFT.title.taint_propagator": "External information propagator",
  "option.XSS.SWIFT.title.taint_sink": "External information sink",
  "option.XSS.SWIFT.title.taint_source": "External information source",
  "option.XSS.VBNET.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.XSS.VBNET.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.XSS.VBNET.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) &$operand(*)->return",
  "option.XSS.VBNET.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) .*\\.open$param(*)",
  "option.XSS.VBNET.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) request\\.form$return",
  "option.XSS.VBNET.title.taint_filter": "External information filter",
  "option.XSS.VBNET.title.taint_filter_function_fqn": "Custom external information filter",
  "option.XSS.VBNET.title.taint_propagator": "External information propagator",
  "option.XSS.VBNET.title.taint_sink": "External information sink",
  "option.XSS.VBNET.title.taint_source": "External information source",
  "option.XSS.VBS.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) filter$param(1)",
  "option.XSS.VBS.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "option.XSS.VBS.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) &$operand(*)->return",
  "option.XSS.VBS.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nexample) response\\.write$param(*)",
  "option.XSS.VBS.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) request\\.form$return",
  "option.XSS.VBS.title.taint_filter": "External information filter",
  "option.XSS.VBS.title.taint_filter_function_fqn": "Custom external information filter",
  "option.XSS.VBS.title.taint_propagator": "External information propagator",
  "option.XSS.VBS.title.taint_sink": "External information sink",
  "option.XSS.VBS.title.taint_source": "External information source",
  "option.XSS.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.XSS.desc.exclude": "A filter is considered safe if it is defined like this. \"if\" filter\nfilter: filter expression for the tainted value (including definition for method).",
  "option.XSS.desc.propagator": "If a propagator is defined as follows, it propagates a tainted value. {propagator_target}\npropagator_target: propagation expression for the tainted value. (including method definition)",
  "option.XSS.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.XSS.title.alarm": "Detection rule",
  "option.XSS.title.exclude": "Exception rule",
  "option.XSS.title.propagator": "Propagator name",
  "option.XSS.title.suggestion_filter_function": "Suggested filter function",
  "option.XSS_ATTRIBUTE.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.XSS_ATTRIBUTE.desc.exclude": "A filter is considered safe if it is defined like this \"if\" {filter_target}\nfilter_target: filter expression for the pollution value (includes method definition).",
  "option.XSS_ATTRIBUTE.desc.propagator": "If a propagator is defined as follows, it propagates a tainted value. {propagator_target}\npropagator_target: propagation expression for the tainted value. (including method definition)",
  "option.XSS_ATTRIBUTE.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.XSS_ATTRIBUTE.title.alarm": "Detection rule",
  "option.XSS_ATTRIBUTE.title.exclude": "Exception rule",
  "option.XSS_ATTRIBUTE.title.propagator": "Propagator name",
  "option.XSS_ATTRIBUTE.title.suggestion_filter_function": "Suggested filter function",
  "option.XSS_ERROR_MESSAGE.desc.alarm": "If your Sink and Source pair look like this, it is dangerous. \"if\" sink \"is_from\" source\nSink: expression for the tainted value (including definition for method).\nSource: expression that causes the tainted value (including definition for method).",
  "option.XSS_ERROR_MESSAGE.desc.exclude": "A filter is considered safe if it is defined like this \"if\" {filter_target}\nfilter_target: filter expression for the pollution value (includes method definition).",
  "option.XSS_ERROR_MESSAGE.desc.propagator": "If a propagator is defined as follows, it propagates a tainted value. {propagator_target}\npropagator_target: propagation expression for the tainted value. (including method definition)",
  "option.XSS_ERROR_MESSAGE.desc.suggestion_filter_function": "Enter the filter function that you want to show in the example edit.",
  "option.XSS_ERROR_MESSAGE.title.alarm": "Detection rule",
  "option.XSS_ERROR_MESSAGE.title.exclude": "Exception rule",
  "option.XSS_ERROR_MESSAGE.title.propagator": "Propagator name",
  "option.XSS_ERROR_MESSAGE.title.suggestion_filter_function": "Suggested filter function",
  "option.XSS_ETC.GO.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) operand(*) of \"in\"",
  "option.XSS_ETC.GO.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) sparrow.my.filter.utils.is_safe()",
  "option.XSS_ETC.GO.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.XSS_ETC.GO.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) base of name(\"openConnection\")",
  "option.XSS_ETC.GO.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(\"java.io.BufferedInputStream.read(byte[])\")",
  "option.XSS_ETC.GO.title.taint_filter": "External information filter",
  "option.XSS_ETC.GO.title.taint_filter_function_fqn": "Custom external information filter",
  "option.XSS_ETC.GO.title.taint_propagator": "External information propagator",
  "option.XSS_ETC.GO.title.taint_sink": "External information sink",
  "option.XSS_ETC.GO.title.taint_source": "External information source",
  "option.XSS_FROM_URL.REACT.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) return of name(\"replace\")",
  "option.XSS_FROM_URL.REACT.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\"+\") to return",
  "option.XSS_FROM_URL.REACT.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) param(1) of name(\"eval\")",
  "option.XSS_FROM_URL.REACT.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of name(\"body\")",
  "option.XSS_FROM_URL.REACT.desc.weak_element": "Creates an html property that uses external information.",
  "option.XSS_FROM_URL.REACT.title.taint_filter": "External information filter",
  "option.XSS_FROM_URL.REACT.title.taint_propagator": "External information propagator",
  "option.XSS_FROM_URL.REACT.title.taint_sink": "External information sink",
  "option.XSS_FROM_URL.REACT.title.taint_source": "External information source",
  "option.XSS_FROM_URL.REACT.title.weak_element": "Use external information html properties",
  "option.XSS_HTML.GO.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) operand(*) of \"in\"",
  "option.XSS_HTML.GO.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) sparrow.my.filter.utils.is_safe()",
  "option.XSS_HTML.GO.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.XSS_HTML.GO.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) base of name(\"openConnection\")",
  "option.XSS_HTML.GO.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(\"java.io.BufferedInputStream.read(byte[])\")",
  "option.XSS_HTML.GO.title.taint_filter": "External information filter",
  "option.XSS_HTML.GO.title.taint_filter_function_fqn": "Custom external information filter",
  "option.XSS_HTML.GO.title.taint_propagator": "External information propagator",
  "option.XSS_HTML.GO.title.taint_sink": "External information sink",
  "option.XSS_HTML.GO.title.taint_source": "External information source",
  "option.XSS_JS.GO.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) operand(*) of \"in\"",
  "option.XSS_JS.GO.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) sparrow.my.filter.utils.is_safe()",
  "option.XSS_JS.GO.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.XSS_JS.GO.desc.taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) base of name(\"openConnection\")",
  "option.XSS_JS.GO.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(\"java.io.BufferedInputStream.read(byte[])\")",
  "option.XSS_JS.GO.title.taint_filter": "External information filter",
  "option.XSS_JS.GO.title.taint_filter_function_fqn": "Custom external information filter",
  "option.XSS_JS.GO.title.taint_propagator": "External information propagator",
  "option.XSS_JS.GO.title.taint_sink": "External information sink",
  "option.XSS_JS.GO.title.taint_source": "External information source",
  "option.XSS_URL.GO.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) operand(*) of \"in\"",
  "option.XSS_URL.GO.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) sparrow.my.filter.utils.is_safe()",
  "option.XSS_URL.GO.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "option.XSS_URL.GO.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(\"java.io.BufferedInputStream.read(byte[])\")",
  "option.XSS_URL.GO.desc.url_taint_sink": "Write a name and a type of the function causing risks when containing external information.\nExample) base of name(\"openConnection\")",
  "option.XSS_URL.GO.title.taint_filter": "External information filter",
  "option.XSS_URL.GO.title.taint_filter_function_fqn": "Custom external information filter",
  "option.XSS_URL.GO.title.taint_propagator": "External information propagator",
  "option.XSS_URL.GO.title.taint_source": "External information source",
  "option.XSS_URL.GO.title.url_taint_sink": "External information sink",
  "option.XSS_VANILLA_JS.JS.desc.taint_filter": "Write a name and a type of the function which filters external information.\nExample) param(*) of name(\"filter\")",
  "option.XSS_VANILLA_JS.JS.desc.taint_filter_function_fqn": "Write a name of the function which filters external information at base and parameters.\nExample) com.sparrow.utils.filter(java.lang.String)",
  "option.XSS_VANILLA_JS.JS.desc.taint_propagator": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of name(\"+\") to return",
  "option.XSS_VANILLA_JS.JS.desc.taint_sink": "Write a name of new expression causing risks when containing external information.\nExample) new webSocket$param(1)",
  "option.XSS_VANILLA_JS.JS.desc.taint_source": "Write a name and a type of the function which is a source of external information.\nExample) variable of fqn(\"document.URL\")",
  "option.XSS_VANILLA_JS.JS.title.taint_filter": "External information filter",
  "option.XSS_VANILLA_JS.JS.title.taint_filter_function_fqn": "Custom external information filter",
  "option.XSS_VANILLA_JS.JS.title.taint_propagator": "External information propagator",
  "option.XSS_VANILLA_JS.JS.title.taint_sink": "External information sink",
  "option.XSS_VANILLA_JS.JS.title.taint_source": "External information source",
  "option.sast.analysisExtensions.description": "A list of extensions of the target files those are included in the analysis path. By specifying the extensions, you can clarify languages to analyze.",
  "option.sast.analysisExtensions.name": "Target of file extension",
  "option.sast.analysisIncremental.description": "If you set this option to `Changed files only`, only **newly added or modified files in the project** among the analysis targets will be analyzed. Setting it to `Changed and related files` will analyze only **newly added or modified files and their related files** in the project among the targets. Setting it to `All files` will perform analysis on all targets. This option applies only to **Added analysis**.",
  "option.sast.analysisIncremental.name": "Changed File Analysis",
  "option.sast.analysisPath.description": "A list of paths to the source code needs to be analyzed for detecting issues. Multiple paths can be entered before analyzing.",
  "option.sast.analysisPath.name": "Analysis path",
  "option.sast.analysisPath.placeholder": "Enter the path to analyze. You can enter multiple paths, separated by an Enter or semicolon (;).",
  "option.sast.assetsRenewal.description": "If this option is set to `ON`, **unidentified assets will be removed from the project after analysis**. This option will be enabled for the **Added Analysis** only.",
  "option.sast.assetsRenewal.name": "Hide unused assets",
  "option.sast.buildCommand.description": "A build command used for C/C++.",
  "option.sast.buildCommand.name": "Build command",
  "option.sast.buildCommand.placeholder": "Enter build commands.",
  "option.sast.buildConfiguration.description": "If you specified the Visual Studio tool at the C/C++ preset to analyze C/C++, specify the build configuration on this option for the Visual Studio project files.",
  "option.sast.buildConfiguration.name": "Build configuration",
  "option.sast.buildConfiguration.placeholder": "Enter a build configuration.",
  "option.sast.buildPath.description": "A path where the build run for the C/C++.",
  "option.sast.buildPath.name": "Build path",
  "option.sast.buildPath.placeholder": "Enter the build path.",
  "option.sast.compilerName.description": "A compiler name used for build. If the option is empty, the compiler name specified at the C/C++ preset will be used.",
  "option.sast.compilerName.name": "Compiler name",
  "option.sast.compilerName.placeholder": "Enter the compiler name.",
  "option.sast.compilerVersion.description": "A compiler version used for build. If the option is empty, the compiler version specified at the C/C++ preset will be used.",
  "option.sast.compilerVersion.name": "Compiler version",
  "option.sast.compilerVersion.placeholder": "Enter your compiler version.",
  "option.sast.excludedFunc.description": "The default is set to the excluded function specified at the settings of GUI client.",
  "option.sast.excludedFunc.name": "Excluded function",
  "option.sast.excludedFunc.placeholder": "Enter the excluded function.",
  "option.sast.excludedPath.description": "The default is set to the excluded path specified at the settings of GUI client.",
  "option.sast.excludedPath.name": "Excluded path",
  "option.sast.excludedPath.placeholder": "Enter the excluded path.",
  "option.sast.idePath.description": "If you specified the IDE tool at the C/C++ preset to analyze C/C++, select the installation path on this option. For the MSVCs, set a path to `devenv.com`.",
  "option.sast.idePath.name": "IDE path",
  "option.sast.idePath.placeholder": "Enter a path.",
  "option.sast.ignoreBuildError.description": "If this option is set to `On`, the tool ignores build failures and keeps running the analysis. The analysis will not fail even when its build fails. If this option is set to `Off`, when the build fails, an analysis will automatically fail as well. Therefore, the analysis might not complete, but you can check that its build fails.",
  "option.sast.ignoreBuildError.name": "Ignore build failure",
  "option.sast.preset.description": "A preset used for the C/C++ analysis. You can select one of the C/C++ compilers or IDE tools. By default `GNU C/C++ compiler` is selected.",
  "option.sast.preset.name": "C/C++ preset",
  "option.sast.preset.placeholder": "Select the preset.",
  "option.sast.simpleAnalysis.description": "A simple analysis without build for the C/C++. But, the accuracy of its results may lower than the analysis with build.",
  "option.sast.simpleAnalysis.name": "Quick analyzing",
  "opus1.ALTERNATING_INPUT_OUTPUT.sink1": "Do not alternately input and output from a stream without an intervening flush or positioning call",
  "opus1.ALTERNATING_INPUT_OUTPUT.src1": "File IO operation is done",
  "opus1.CAST_ALTERS_VALUE.sink1": "It is tried to cast value {0} to type {1} {2}.",
  "opus1.CHECK_ALIGNMENT_OF_MEMORY.sink1": "Function realloc() creates non-aligned memory blocks.",
  "opus1.CHECK_ALIGNMENT_OF_MEMORY.src1": "Aligned memory block is allocated.",
  "opus1.CLEAR_TEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.sink1": "The sensitive information {0} is transmitted without integrity check.",
  "opus1.CLEAR_TEXT_TRANSMISSION_OF_SENSITIVE_INFORMATION.src1": "Data {0} is sensitive information.",
  "opus1.COMMON.appear": "This causes an error-related statement to be appeared.",
  "opus1.COMMON.disappear": "This causes an error-related statement to be disappeared.",
  "opus1.CONFIGURATION_SETTING.sink1": "The System configuration {0} is set from outer environments.",
  "opus1.CONFIGURATION_SETTING.src1": "A host id {0} comes from outer environments.",
  "opus1.DIV_BY_ZERO.MISSING_CHECK.sink1": "The value is used as divisor without comparison with zero.",
  "opus1.DIV_BY_ZERO.MISSING_CHECK.src1": "The value is checked with zero.",
  "opus1.DIV_BY_ZERO.MISSING_CHECK.src2": "The tainted value comes from outer environments.",
  "opus1.DIV_BY_ZERO.sink1": "The zero is used as a divisor.",
  "opus1.DIV_BY_ZERO.src1": "The zero is assigned.",
  "opus1.DOUBLE_CLOSE.CURSOR.sink1": "The cursor is closed again.",
  "opus1.DOUBLE_CLOSE.CURSOR.src1": "A cursor is closed.",
  "opus1.DOUBLE_CLOSE.CURSOR_ARRAY.sink1": "The cursor array is closed again.",
  "opus1.DOUBLE_CLOSE.CURSOR_ARRAY.src1": "A cursor array is closed.",
  "opus1.DOUBLE_CLOSE.RECORD.sink1": "The dynamic record is destroyed again.",
  "opus1.DOUBLE_CLOSE.RECORD.src1": "A dynamic record is destroyed.",
  "opus1.DOUBLE_CLOSE.sink1": "It is tried to close the resource again.",
  "opus1.DOUBLE_CLOSE.src1": "A resource is closed.",
  "opus1.DOUBLE_FREE.sink1": "It is tried to free the pointer again.",
  "opus1.DOUBLE_FREE.src1": "A pointer is freed.",
  "opus1.DOUBLE_LOCK.sink1": "It is tried to lock the mutex again.",
  "opus1.DOUBLE_LOCK.src1": "A mutex is locked.",
  "opus1.DOUBLE_UNLOCK.sink1": "It is tried to unlock the mutex again.",
  "opus1.DOUBLE_UNLOCK.src1": "A mutex is unlocked.",
  "opus1.DO_NOT_ASSUME_ENV.sink1": "The insecure value is copied to a fixed-size array which may cause buffer overrun.",
  "opus1.DO_NOT_ASSUME_ENV.src1": "Insecure value comes from outer environments.",
  "opus1.EXECL_REVEALS_DATA.sink1": "Function execl() call is dangerous without '--' option.",
  "opus1.EXECL_REVEALS_DATA.src1": "Information is exposed.",
  "opus1.FREE_NON_HEAP.sink1": "The non-heap variable is freed.",
  "opus1.FREE_NULL_POINTER.sink1": "The null pointer is freed.",
  "opus1.FREE_NULL_POINTER.src1": "The null pointer is assigned.",
  "opus1.IMPROPER_AUTHORIZATION.sink1": "The authorization check on {0} is missing.",
  "opus1.IMPROPER_AUTHORIZATION.src1": "The data {0} is regarded as username.",
  "opus1.INFORMATION_LEAK.sink1": "The sensitive information {0} is leaked.",
  "opus1.INFORMATION_LEAK.src1": "Information {0} from outer environments is exposed.",
  "opus1.INTEGER_OVERFLOW.sink1": "The maximum value of type {0} is {1} but the result value {2} can overflow by operation {3}.",
  "opus1.INTEGER_OVERFLOW.sink2": "The minimum value of type {0} is {1} but the result value {2} can underflow by operation {3}.",
  "opus1.INTEGER_OVERFLOW.sink3": "The insecure value is used as a length parameter.",
  "opus1.INTEGER_OVERFLOW.sink4": "The multiplication of {0} by {1} is greater than 65535 (the maximum value).",
  "opus1.INTEGER_OVERFLOW.src1": "The value comes from here.",
  "opus1.INTEGER_OVERFLOW.src2": "The insecure value comes from outer environments.",
  "opus1.INTEGER_UNDERFLOW.sink1": "The minimum value of type {0} is {1} but the result value {2} can underflow by operation {3}.",
  "opus1.INTEGER_UNDERFLOW.src1": "The value comes from here.",
  "opus1.LDAP_INJECTION.sink1": "The LDAP query {0} made from outer environments is injected.",
  "opus1.LDAP_INJECTION.src1": "A LDAP query string {0} is made from outer environments.",
  "opus1.LEAK.CURSOR.sink1": "The cursor is not closed.",
  "opus1.LEAK.CURSOR.src1": "A cursor is opened.",
  "opus1.LEAK.CURSOR_ARRAY.sink1": "The cursor array is not closed.",
  "opus1.LEAK.CURSOR_ARRAY.src1": "A cursor array is opened.",
  "opus1.LEAK.MEMORY.sink1": "The allocated memory is leaked.",
  "opus1.LEAK.MEMORY.src1": "A memory is allocated.",
  "opus1.LEAK.RECORD.sink1": "The dynamic record is not destroyed.",
  "opus1.LEAK.RECORD.src1": "A dynamic record is created.",
  "opus1.LEAK.RESOURCE.sink1": "The allocated resource is leaked.",
  "opus1.LEAK.RESOURCE.src1": "A resource is allocated.",
  "opus1.MEMCPY_WITH_OVERLAPPING_REGIONS.sink1": "Function memcpy() is called on overlapping region. Copying takes place between objects that overlap with each other, in which the behaviour of program is undefined.",
  "opus1.MISMATCH.MALLOC_TO_DELETE.sink1": "Operator delete is used to free the memory block allocated by malloc().",
  "opus1.MISMATCH.MALLOC_TO_DELETE.src1": "A memory block is allocated.",
  "opus1.MISMATCH.MALLOC_TO_DELETE_ARRAY.sink1": "Operator delete[] is used to free the memory block allocated by malloc().",
  "opus1.MISMATCH.MALLOC_TO_DELETE_ARRAY.src1": "A memory block is allocated.",
  "opus1.MISMATCH.NEW_ARRAY_TO_DELETE.sink1": "Operator delete is used to deallocate the object created by operator new[].",
  "opus1.MISMATCH.NEW_ARRAY_TO_DELETE.src1": "An object is allocated by operator new[].",
  "opus1.MISMATCH.NEW_ARRAY_TO_FREE.sink1": "Function free() is used to delete the object created by operator new[].",
  "opus1.MISMATCH.NEW_ARRAY_TO_FREE.src1": "An object is allocated by operator new[].",
  "opus1.MISMATCH.NEW_TO_FREE.sink1": "Function free() is used to delete the object created by operator new.",
  "opus1.MISMATCH.NEW_TO_FREE.src1": "An object is allocated by operator new.",
  "opus1.MISMATCH.RESOURCE.sink1": "It is tried to close the file with an improper function.",
  "opus1.MISMATCH.RESOURCE.sink2": "It is tried to deallocate the resource with an improper function.",
  "opus1.MISMATCH.RESOURCE.sink3": "It is tried to deallocate the handle with an improper function.",
  "opus1.MISMATCH.RESOURCE.src1": "A file is opened.",
  "opus1.MISMATCH.RESOURCE.src2": "A resource is allocated.",
  "opus1.MISMATCH.RESOURCE.src3": "A handle is allocated.",
  "opus1.MISMATCH.WINAPI.sink1": "An improper function is called for deallocating the memory block.",
  "opus1.MISMATCH.WINAPI.src1": "A memory block is allocated.",
  "opus1.MISSING_RETURN.sink1": "A return statement is missing.",
  "opus1.NEGATIVE_FILE_DESCRIPTOR.sink1": "The negative file decriptor is used.",
  "opus1.NEGATIVE_FILE_DESCRIPTOR.src1": "A negative file decriptor can be generated.",
  "opus1.NEGATIVE_MOD_OPERATION.sink1": "The operand of mod operation may be negative.",
  "opus1.NEGATIVE_MOD_OPERATION.src1": "This value is not proved to be positve.",
  "opus1.NULL_DEREF.CHECK_AFTER_DEREF.sink1": "The pointer is null-checked.",
  "opus1.NULL_DEREF.CHECK_AFTER_DEREF.src1": "A pointer is dereferenced.",
  "opus1.NULL_DEREF.MALLOC_FAILED.sink1": "The pointer which may be null pointer is derefrenced.",
  "opus1.NULL_DEREF.MALLOC_FAILED.src1": "A null pointer is assigned if malloc() fails to allocate a new memory.",
  "opus1.NULL_DEREF.MISSING_CHECK.sink1": "The pointer is dereferenced without null-check.",
  "opus1.NULL_DEREF.MISSING_CHECK.src1": "A pointer is null-checked.",
  "opus1.NULL_DEREF.sink1": "The null pointer is dereferenced.",
  "opus1.NULL_DEREF.src1": "A null pointer is assigned.",
  "opus1.OS_COMMAND_INJECTION.sink1": "The OS command {0} made from outer environments is executed.",
  "opus1.OS_COMMAND_INJECTION.src1": "A OS command {0} is made from outer environments.",
  "opus1.OVERRUN.DYNAMIC.BAD_COND.sink1": "Buffer Overrun (dynamic): The buffer size is {0}, but the index is {1} {2}.",
  "opus1.OVERRUN.DYNAMIC.MEMSET.BAD_COND.sink1": "Buffer Overrun (dynamic): The buffer size is {0}, but the index is {1} {2}.",
  "opus1.OVERRUN.DYNAMIC.MEMSET.sink1": "Buffer Overrun (dynamic): The buffer size is {0}, but the index is {1} {2}.",
  "opus1.OVERRUN.DYNAMIC.STRCPY.sink1": "Buffer Overrun (string size): The destination buffer size is {0}, but the source buffer size is {1}.",
  "opus1.OVERRUN.DYNAMIC.sink1": "Buffer Overrun (dynamic): The buffer size is {0}, but the index is {1}.",
  "opus1.OVERRUN.STATIC.BAD_COND.sink1": "Buffer Overrun (static): The buffer size is {0}, but the index is {1} {2}.",
  "opus1.OVERRUN.STATIC.MEMSET.BAD_COND.sink1": "Buffer Overrun (static): The buffer size is {0}, but the index is {1} {2}.",
  "opus1.OVERRUN.STATIC.MEMSET.sink1": "Buffer Overrun (static): The buffer size is {0}, but the index is {1} {2}.",
  "opus1.OVERRUN.STATIC.STRCPY.sink1": "Buffer Overrun (string size): The destination buffer size is {0}, but the source buffer size is {1}.",
  "opus1.OVERRUN.STATIC.sink1": "Buffer Overrun (static): The buffer size is {0}, but the index is {1} {2}.",
  "opus1.PARAMETER_POINTER_TO_LOCAL.sink1": "The address in stack memory is pointed to by the pointer of a parameter.",
  "opus1.PASS_BY_VALUE.sink1": "The large value {0} is passed as a parameter.",
  "opus1.PATH_TRAVERSAL.sink1": "The file path {0} made form outer environments is accessed.",
  "opus1.PATH_TRAVERSAL.src1": "A file path {0} is made from outer environments.",
  "opus1.PLAINTEXT_PASSWORD.sink1": "Password {0} is not verified.",
  "opus1.PLAINTEXT_PASSWORD.src1": "The data {0} is regarded as a password.",
  "opus1.PROCESS_CONTROL.sink1": "The library {0} is loaded from a relative file path made from outer environments.",
  "opus1.PROCESS_CONTROL.src1": "A file path {0} is made from outer environments.",
  "opus1.RACE_CONDITION.sink1": "The opened file is accessed by file Name not by file descriptor.",
  "opus1.RACE_CONDITION.sink2": "After checking the status information, the file is opened.",
  "opus1.RACE_CONDITION.src1": "A file is opened.",
  "opus1.RACE_CONDITION.src2": "The status information of a file is checked.",
  "opus1.RESOURCE_INJECTION.sink1": "The network socket {0} using a number from outer environments is created.",
  "opus1.RESOURCE_INJECTION.src1": "The port number of socket {0} is made from outer environments.",
  "opus1.RETURN_FREE.sink1": "The freed pointer is returned.",
  "opus1.RETURN_FREE.src1": "A pointer is freed.",
  "opus1.SHIFT_EXCEEDS_BIT_WIDTH.sink1": "The {0} amount of shift operation to the value of type {2} is over the threshold of the maximum bit width {1}.",
  "opus1.SHIFT_NEGATIVE.sink1": "The operand of operator shift is negative number ({0}).",
  "opus1.SQL_INJECTION.sink1": "The SQL query {0} made from outer environments is injected.",
  "opus1.SQL_INJECTION.src1": "A query string {0} is made from outer environments.",
  "opus1.TAINTED_LOOP_BOUND.sink1": "The sensitive information {0} is used as a loop bound.",
  "opus1.TAINTED_LOOP_BOUND.src1": "Information {0} comes from outer environments.",
  "opus1.TRYLOCK_FAIL.sink1": "The mutex is already locked hence try-lock will never succeed.",
  "opus1.TRYLOCK_FAIL.src1": "A mutex is locked here.",
  "opus1.TYPE_OVERRUN.BAD_COND.sink1": "Buffer Overrun (static): The buffer size is {0}, but the index is {1} {2}.",
  "opus1.TYPE_OVERRUN.MEMSET.BAD_COND.sink1": "Buffer Overrun (static): The buffer size is {0}, but the index is {1} {2}.",
  "opus1.TYPE_OVERRUN.MEMSET.sink1": "Buffer Overrun (static): The buffer size is {0}, but the index is {1} {2}.",
  "opus1.TYPE_OVERRUN.STATIC.sink1": "Buffer Overrun (static): The buffer size is {0}, but the index is {1} {2}.",
  "opus1.TYPE_UNDERRUN.BAD_COND.sink1": "Buffer Underrun (static): The buffer size is {0}, but the index is {1} {2}.",
  "opus1.TYPE_UNDERRUN.MEMSET.BAD_COND.sink1": "Buffer Underrun (static): The buffer size is {0}, but the index is {1} {2}.",
  "opus1.TYPE_UNDERRUN.MEMSET.sink1": "Buffer Underrun (static): The buffer size is {0}, but the index is {1} {2}.",
  "opus1.TYPE_UNDERRUN.STATIC.sink1": "Buffer Underrun (static): The buffer size is {0}, but the index is {1} {2}.",
  "opus1.UNBOUNDED_SOURCE_TO_ARRAY.sink1": "The unbounded source is copied to a fixed-size array.",
  "opus1.UNBOUNDED_SOURCE_TO_ARRAY.src1": "Unbounded source is here.",
  "opus1.UNDERRUN.DYNAMIC.BAD_COND.sink1": "Buffer Underrun (dynamic): The buffer size is {0}, but the index is {1} {2}.",
  "opus1.UNDERRUN.DYNAMIC.sink1": "Buffer Underrun (dynamic): The buffer size is {0}, but the index is {1} {2}.",
  "opus1.UNDERRUN.STATIC.BAD_COND.sink1": "Buffer Underrun (static): The buffer size is {0}, but the index is {1} {2}.",
  "opus1.UNDERRUN.STATIC.sink1": "Buffer Underrun (static): The buffer size is {0}, but the index is {1} {2}.",
  "opus1.UNINIT.sink1": "The local variable is used without initialization.",
  "opus1.UNREASONABLE_PARAMETER.sink1": "Length parameters have negative value {0}.",
  "opus1.UNREASONABLE_PARAMETER.sink2": "Length parameters have the zero value which is meaningless.",
  "opus1.UNREASONABLE_PARAMETER.sink3": "Length parameters have too big value {0} which exceeds the predefined threshold {1}.",
  "opus1.UNREASONABLE_PARAMETER.sink4": "Insecure value is used as length parameters.",
  "opus1.UNREASONABLE_PARAMETER.sink5": "The return value of function fseek() or ftell() should not be used for computing the size of a regular file.",
  "opus1.UNREASONABLE_PARAMETER.src1": "Unreasonable value is create",
  "opus1.UNREASONABLE_PARAMETER.src2": "Insecure value comes from outer environments.",
  "opus1.UNREASONABLE_PARAMETER.src3": "Function fseek() or ftell() is called.",
  "opus1.USE_AFTER_CLOSE.sink1": "It is tried to use the closed cursor.",
  "opus1.USE_AFTER_CLOSE.sink2": "It is tried to use the closed file.",
  "opus1.USE_AFTER_CLOSE.src1": "A cursor is closed.",
  "opus1.USE_AFTER_CLOSE.src2": "A file is closed.",
  "opus1.USE_AFTER_FREE.sink1": "The freed pointer is used.",
  "opus1.USE_AFTER_FREE.src1": "A pointer is freed.",
  "opus1.USE_OF_HARDCODED_CRYPTOGRAPHIC_KEY.sink1": "Password {0} is compared with a constant string (hardcorded password).",
  "opus1.USE_OF_HARDCODED_CRYPTOGRAPHIC_KEY.src1": "The cryptographic password {0} is generated.",
  "overlappingStrcmp.description": "The conditions are overlapped.",
  "passedByValue.description": "A function parameter should be passed by reference. It could be passed as a (const) reference which is usually faster and recommended in C++.",
  "phpchk.BAD_CALL.FORBIDDEN.PHP.defect": "A forbidden function is called.",
  "phpchk.BAD_COOKIE.NOT_SENT_OVER_SSL.PHP.defect.disabled": "The secure flag has been disabled.",
  "phpchk.BAD_COOKIE.NOT_SENT_OVER_SSL.PHP.defect.not_set": "The secure flag has not been set.",
  "phpchk.BAD_COOKIE.PATH.PHP.defect": "The path of the cookie is set as a base path.",
  "phpchk.BAD_CROSS_ORIGIN_RESOURCE_SHARING.PHP.defect": "Cross-Origin Resource Sharing has been determined badly.",
  "phpchk.BAD_INI.ALLOWED_URL_FOPEN.PHP.defect": "allow_url_fopen is enabled.",
  "phpchk.BAD_INI.ALLOWED_URL_INCLUDE.PHP.defect": "allow_url_include is enabled.",
  "phpchk.BAD_INI.COOKIE_DOMAIN.PHP.defect": "session.cookie_domain is set with the base domain.",
  "phpchk.BAD_INI.COOKIE_NOT_SENT_OVER_SSL.PHP.defect": "A cookie will not be sent over SSL due to the option session.cookie_secure.",
  "phpchk.BAD_INI.COOKIE_PATH.PHP.defect": "session.cookie_path is set with the root path.",
  "phpchk.BAD_INI.DISABLED_CGI_FORCE_REDIRECT.PHP.defect": "cgi.firce_redirect is disabled.",
  "phpchk.BAD_INI.DISABLED_SAFE_MODE.PHP.defect": "safe_mode is disabled.",
  "phpchk.BAD_INI.ENABLED_FILE_UPLOADS.PHP.defect": "file_uploads is enabled.",
  "phpchk.BAD_INI.ENABLED_MAGIC_QUOTES_GPC.PHP.defect": "magic_quotes_gpc is enabled.",
  "phpchk.BAD_INI.ENABLED_MAGIC_QUOTES_RUNTIME.PHP.defect": "magic_quotes_runtime is enabled.",
  "phpchk.BAD_INI.ENABLED_MAGIC_QUOTES_SYBASE.PHP.defect": "magic_quotes_sybase is enabled.",
  "phpchk.BAD_INI.ENABLED_REGISTER_GLOBALS.PHP.defect": "register_globals is enabled.",
  "phpchk.BAD_INI.LEAK.ERROR.PHP.defect": "Errors might be leaked since the option display_errors has been enabled.",
  "phpchk.BAD_INI.LEAK.VERSION.PHP.defect": "The PHP version might be leaked since the option expose_php has been enabled.",
  "phpchk.BAD_INI.MISSING_OPEN_BASEDIR.PHP.defect": "open_basedir has not been set.",
  "phpchk.BAD_INI.MISSING_SAFE_MODE_EXEC_DIR.PHP.defect": "safe_mode_exec_dir has not been set.",
  "phpchk.BAD_INI.PERSISTENT_COOKIE.PHP.defect": "session.cookie_lifetime exceeds the allowed maximum value {0}.",
  "phpchk.BAD_INI.UNSET_HTTPONLY.PHP.defect": "session.cookie_httponly is unset.",
  "phpchk.BAD_INI.USING_TRANS_SID.PHP.defect": "session.use_trans_sid is enabled.",
  "phpchk.BAD_SECURITY_DECISION.UNTRUSTED_INPUT.PHP.defect": "The cookie variable is queried with the forbidden key.",
  "phpchk.CROSS_SITE_REQUEST_FORGERY.PHP.defect": "GET method is used for the form tag.",
  "phpchk.EMPTY_CATCH_BLOCK.PHP.defect": "The catch block is empty.",
  "phpchk.EXCESSIVE_SESSION_TIMEOUT.CAKEPHP.PHP.defect": "The session timeout is set with violating the given allowed security level {0}.",
  "phpchk.FORBIDDEN.COOKIE.PHP.defect": "A dangerous cookie function has been called.",
  "phpchk.HARD_CODED.CRYPTOGRAPHIC_KEY.PHP.defect": "The cryptographic key is hard coded.",
  "phpchk.HARD_CODED.PASSWORD.PHP.defect": "The password is hard coded.",
  "phpchk.HTTP_TRANSPORT.GET.PHP.defect": "A HTTP transport is used with the GET interface.",
  "phpchk.HTTP_TRANSPORT.PHP.defect": "A HTTP transport is used.",
  "phpchk.IMPROPER_AUTHORIZATION.PHP.defect.ldap_bind": "Both a username and a password are required to authorize properly in LDAP binding.",
  "phpchk.IMPROPER_RANDOM_USAGE.PHP.defect": "An insecure random value can be generated.",
  "phpchk.INFINITE_RECURSIVE_CALL.PHP.defect": "An infinite loop can be caused by the recursive call.",
  "phpchk.LEAK.DEBUG_INFORMATION.CAKEPHP.PHP.defect": "The debug level exceeds the given maximum level {0}.",
  "phpchk.LEAK.ERROR_INFORMATION.PHP.defect": "The error information can be exposed through error messages.",
  "phpchk.LEAK.RESOURCE.PHP.assigned": "A resource has been allocated.",
  "phpchk.LEAK.RESOURCE.PHP.defect": "A resource is not deallocated properly.",
  "phpchk.LEFTOVER_DEBUG_CODE.PHP.defect": "A debug function is called.",
  "phpchk.MISSING_AUTHENTICATION.CRITICAL_FUNCTION.PHP.defect": "The critical function is called without authentications.",
  "phpchk.MISSING_LOGIN_CONTROL.PHP.defect": "The login routine is not controlled.",
  "phpchk.NULL_DEREFERENCE.PHP.defect": "A null value has been referenced.",
  "phpchk.OVERLY_BROAD_CATCH.PHP.defect": "General exceptions will be caught.",
  "phpchk.PASSWORD_IN_COMMENT.PHP.defect.including_password": "A password is written in the comment.",
  "phpchk.PASSWORD_IN_COMMENT.PHP.defect.max_word_length_fixed": "The word in the comment with the fixed length {0} is assumed as a critical key.",
  "phpchk.PASSWORD_IN_COMMENT.PHP.defect.max_word_length_non_fixed": "The length of a single word {0} in the comment exceeds the allowed maximum word length {1}.",
  "phpchk.REMOTE_CODE_EXECUTION.PHP.defect.dynamic_include": "A dynamic include has been used.",
  "phpchk.REMOTE_CODE_EXECUTION.PHP.defect.forbidden": "A dangerous function which can execute commands or codes has been called.",
  "phpchk.USE_AFTER_RELEASE.RESOURCE.PHP.defect": "The released resource is used again.",
  "phpchk.WEAK_ENCRYPTION.HASH.PHP.defect.algorithm": "An weak hash algorithm is used.",
  "phpchk.WEAK_ENCRYPTION.HASH.PHP.defect.function": "An weak hash function is used.",
  "phpchk.WEAK_ENCRYPTION.HASH.WITHOUT_SALT.PHP.defect": "encryption type of password is set to  \"PASSWORD_DEFAULT\"",
  "phpchk.WEAK_ENCRYPTION.INSUFFICIENT_KEY_SIZE.PHP.defect": "The minimum key size for {0} should be greater than {1} bits.",
  "phpchk.WEAK_ENCRYPTION.RISKY_ALGORITHM.PHP.defect": "An weak cryptographic algorithm is used.",
  "phpchk.WEAK_PASSWORD_REQUIREMENTS.PHP.defect": "Perform strong verification of passwords.",
  "phpchk.WEAK_SERVER_CERTIFICATES.PHP.defect": "Trust all certificates without additional validation.",
  "phpchk.WEAK_XML_TRANSFORMERS_SECURITY.PHP.defect": "Enables external entities.",
  "pointerLessThanZero.description": "A pointer can not be negative.",
  "pointerPositive.description": "A pointer can not be negative.",
  "pointerSize.description": "Size of a pointer used instead of size of its data.",
  "postfixOperator.description": "Prefer prefix ++/-- operators for non-primitive types.",
  "publicAllocationError.description": "Possible leak in public function. The pointer is not deallocated before it is allocated.",
  "pythonchk.BAD_ARGUMENTS.UMASK.PYTHON.defect": "Invalid argument is used for umask",
  "pythonchk.BAD_CALL.FORBIDDEN.PYTHON.defect": "Do not call a forbidden method.",
  "pythonchk.COMMAND_INJECTION.PYTHON.defect": "Execute without shell function validation using shell function as True.",
  "pythonchk.CROSS_SITE_REQUEST_FORGERY.PYTHON.defect.decorator": "Use decorator to turn off CSRF protection.",
  "pythonchk.CROSS_SITE_REQUEST_FORGERY.PYTHON.defect.method": "Use method to turn off CSRF protection.",
  "pythonchk.CROSS_SITE_REQUEST_FORGERY.PYTHON.defect.settings": "Use 'django.middleware.csrf.CsrfViewMiddleware' option.",
  "pythonchk.DJANGO_BAD_SLEEP.defect": "Thread-pausing function is called during generating response.",
  "pythonchk.DJANGO_CONFIG_URL_HANDLER.PYTHON.defect": "It's dangerous because it doesn't declare an error page.",
  "pythonchk.DJANGO_DEBUG_ENABLED.defect": "Debug mode is activated for django framework.",
  "pythonchk.DOWNLOAD_OF_CODE_WITHOUT_INTEGRITY_CHECK.PYTHON.defect": "Integrity checks are required before downloading files.",
  "pythonchk.EMPTY_CATCH_BLOCK.PYTHON.defect": "The except block is empty.",
  "pythonchk.EMPTY_SALT.PYTHON.defect": "An empty value is used for the hash salt.",
  "pythonchk.EXPOSURE_OF_SYSTEM_DATA.PYTHON.defect": "Forbidden function which may leak system information is called.",
  "pythonchk.HARDCODED_PASSWORD.PYTHON.defect.hardcode": "Important information {0} has been hardcoded.",
  "pythonchk.HARDCODED_PASSWORD.PYTHON.defect.variable": "A hardcoded value, possibly sensitive information, is assigned to variable {0}.",
  "pythonchk.HARD_CODED.CRYPTOGRAPHIC_KEY.PYTHON.defect.crypt": "The cryptographic key is hardcoded. (key={0})",
  "pythonchk.HARD_CODED.CRYPTOGRAPHIC_KEY.PYTHON.defect.hash": "The hash key is hardcoded. (key={0})",
  "pythonchk.IMPROPER_AUTHORIZATION.PYTHON.defect.password": "Password is required for proper ldap binding.",
  "pythonchk.IMPROPER_AUTHORIZATION.PYTHON.defect.username": "User name is required for proper ldap binding.",
  "pythonchk.INCORRECT_PERMISSION_ASSIGNMENT_FOR_CRITICAL_RESOURCE.PYTHON.defect.chmod": "Minimize the arguments of the chmod command so that no more privileges are granted than necessary.",
  "pythonchk.INCORRECT_PERMISSION_ASSIGNMENT_FOR_CRITICAL_RESOURCE.PYTHON.defect.umask": "Restrict access by changing the umask command argument to 77.",
  "pythonchk.INFINITE_RECURSIVE_CALL.PYTHON.defect": "A recursive call has not been controlled.",
  "pythonchk.INSECURE_HASH_ITERATION_COUNT.PYTHON.defect": "The number of iterations is {0} which is less than the required number {1}.",
  "pythonchk.INSECURE_PERSISTENT_COOKIE.PYTHON.defect.age.empty": "Cookie is used without max_age.",
  "pythonchk.INSECURE_PERSISTENT_COOKIE.PYTHON.defect.age.long": "max_age of cookie {0} exceeds the allowed maximum value {1}.",
  "pythonchk.INSECURE_PERSISTENT_COOKIE.PYTHON.defect.not_httponly": "Cookie is used without httponly property.",
  "pythonchk.INSECURE_PERSISTENT_COOKIE.PYTHON.defect.not_secure": "Cookie is used without secure property.",
  "pythonchk.INSECURE_RANDOM.PYTHON.defect": "An insecure random value can be generated.",
  "pythonchk.INSECURE_TEMPORARY_FILE.PYTHON.defect.badlib": "Insecure temporary file library call is detected. {0}",
  "pythonchk.INSECURE_TEMPORARY_FILE.PYTHON.defect.badliteral": "Insecure temporary file creation is detected.",
  "pythonchk.INSECURE_UNPICKLE.PYTHON.defect": "Insecure pickle library is used.",
  "pythonchk.LEAK.ERROR_INFORMATION.PYTHON.defect.custom": "Error message output function exposed sensitive system data.",
  "pythonchk.LEAK.ERROR_INFORMATION.PYTHON.defect.print": "Error message exposed via print function.",
  "pythonchk.LEAK.RESOURCE.PYTHON.defect": "A resource is not deallocated properly.",
  "pythonchk.LEAK.RESOURCE.PYTHON.defect.ifstmt": "When releasing a resource, you must release the resource within every if-else statement.",
  "pythonchk.LEAK.RESOURCE.PYTHON.defect.trystmt": "When releasing a resource, you must release the resource within the finally statement.",
  "pythonchk.LEFTOVER_DEBUG_CODE.PYTHON.defect.import": "The debug module is being imported.",
  "pythonchk.LEFTOVER_DEBUG_CODE.PYTHON.defect.method": "A debug function is called.",
  "pythonchk.LEFTOVER_DEBUG_CODE.PYTHON.defect.settings": "You're in debug mode.",
  "pythonchk.MISSING_AUTHENTICATION.CRITICAL_FUNCTION.PYTHON.defect": "The critical function is called without authentications.",
  "pythonchk.MISSING_CATCH_BLOCKING_IO_ERROR.PYTHON.defect": "BlockingIOError should be catched.",
  "pythonchk.MISSING_CATCH_CONNECTION_ERROR.PYTHON.defect": "ConnectionError should be catched.",
  "pythonchk.MISSING_CATCH_FILE_EXISTS_ERROR.PYTHON.defect": "FileExistsError should be catched.",
  "pythonchk.MISSING_LOGIN_CONTROL.PYTHON.defect.call": "The login routine calling is not controlled.",
  "pythonchk.MISSING_LOGIN_CONTROL.PYTHON.defect.def": "The login routine does not have trial control logic.",
  "pythonchk.NULL_DEREFERENCE.PYTHON.defect": "A null value has been referenced.",
  "pythonchk.OVERLY_BROAD_CATCH.PYTHON.defect.empty": "You are handling an overly broad exception by leaving it blank without writing a specific exception.",
  "pythonchk.OVERLY_BROAD_CATCH.PYTHON.defect.except": "Extensive user-specified exceptions were used.",
  "pythonchk.PASSWORD_IN_COMMENT.PYTHON.defect": "A password is written in the comment.",
  "pythonchk.PORTABILITY_FLAW.FILE_SEPARATOR.PYTHON.defect": "Hardcoded file separator has been used.",
  "pythonchk.PRIVATE_COLLECTION.PYTHON.defect": "Create and return copy of private collection (or array) instead of the private field variable.",
  "pythonchk.PUBLIC_DATA_ASSIGNED_TO_PRIVATE_ARRAY.PYTHON.defect": "A data from the public method has been assigned to the private array.",
  "pythonchk.RELIANCE_ON_UNTRUSTED_INPUTS_IN_A_SECURITY_DECISION.PYTHON.defect": "Security decisions are reliant on untrusted inputs.",
  "pythonchk.TOCTOU_RACE_CONDITION.PYTHON.defect": "There is a possibility that the file does not exist when the file is accessed.",
  "pythonchk.WEAK_ENCRYPTION_ALGORITHM.PYTHON.defect.crypt": "Weak cryptographic algorithm({0}) is used.",
  "pythonchk.WEAK_ENCRYPTION_ALGORITHM.PYTHON.defect.hash": "Weak hash algorithm({0}) is used.",
  "pythonchk.WEAK_ENCRYPTION_INSUFFICIENT_KEY_SIZE.PYTHON.defect": "A key of size {0} is not sufficient to be used in the {1} algorithm. The key must be at least {2} in size.",
  "pythonchk.WEAK_ENCRYPTION_INSUFFICIENT_KEY_SIZE.PYTHON.defect.ecc": "ECC algorithm uses {0} identifiers that are less than 256 bits",
  "pythonchk.WEAK_PASSWORD_REQUIREMENTS.PYTHON.defect": "The value specified for \"AUTH_PASSWORD_VALIDATORS\" does not satisfy the password setting rules.",
  "pythonchk.WEAK_SERVER_CERTIFICATES.PYTHON.defect": "X.509 Certificate validation is not performed.",
  "pythonchk.WEAK_XML_TRANSFORMERS_SECURITY.PYTHON.defect.lxml": "Set {1} to True in {0} of the lxml module.",
  "pythonchk.WEAK_XML_TRANSFORMERS_SECURITY.PYTHON.defect.sax": "Set the second argument to True in setFeature of the xml.sax module.",
  "raceAfterInterlockedDecrement.description": "Race condition: non-interlocked access after InterlockedDecrement(). Use InterlockedDecrement() return value instead.",
  "readWriteOnlyFile.description": "Read operation on a file that was opened only for writing.",
  "reademptycontainer.description": "Reading from an empty STL container.",
  "redundantAssignInSwitch.description": "Variable &apos;var&apos; is reassigned a value before the old one has been used. \"break;\" missing?",
  "redundantCopy.description": "A buffer is being written before its old content has been used.",
  "redundantCopyInSwitch.description": "A buffer is being written before its old content has been used. \"break;\" missing?",
  "redundantCopyLocalConst.description": "Use const reference to avoid unnecessary data copying.",
  "redundantIfRemove.description": "Redundant checking of STL container element existence before removing it. It is safe to call the remove method on a non-existing element.",
  "redundantPointerOp.description": "Redundant pointer operation.",
  "resourceLeak.description": "Resource leak.",
  "returnTempReference.description": "Reference to temporary returned.",
  "rule.dast.api.common.7369.description": "The server-side template injection vulnerabilities occur when user input is not properly filtered and injected into the server-side template engine. An attacker can exploit this to inject malicious syntax into the server-side template engine to attempt attacks such as creating arbitrary objects, reading/writing files, or executing remote commands.\nThe best way to mitigate server-side template injection vulnerabilities is to apply multiple layers of sanitization and input value validation.\n \nSanitization is a way to prevent parameter values of user input from being interpreted as template syntax. To do this, template files should be kept in a predefined state, and all user input should be treated as safe variables provided by the template.\n\nThe user input should be filtered to prevent key special characters such as `{`, `[`, `<`, `>`, `%`, `#`, `@`, `$`, which are commonly used in server-side template injection attack syntax. For example, if `{{7*7}}` is entered, the special characters should be filtered out and become `77` instead of `49`.",
  "rule.dast.api.common.7369.name": "REST Server-side template injection",
  "rule.dast.api.common.7370.description": "LDAP (Lightweight Directory Access Protocol) injection vulnerabilities occur when user input is not properly validated and is directly included in LDAP queries. This allows attackers to induce abnormal LDAP behavior, such as bypassing authentication or retrieving sensitive information.  \nTo prevent LDAP injection vulnerabilities, special characters in user input, such as `, ', \", ), (, #, *, &, +, =, <, >, |, ;, should be validated and filtered. Additionally, use Prepared Statements to ensure that user input does not affect LDAP queries.  \n\nIf a server exposes error messages due to LDAP injection attacks, attackers can use these error messages to gain insights into server configuration information or the structure of LDAP queries. Therefore, error messages containing internal system information should be restricted from being exposed to clients, and only generic error messages should be returned to prevent information leakage.",
  "rule.dast.api.common.7370.name": "REST LDAP Injection",
  "rule.dast.api.common.7371.description": "Code injection vulnerabilities occur when user input is interpreted and executed as code without proper validation. For example, if user input is used directly in dynamic code execution functions like `eval()`, an attacker can exploit this to perform actions such as privilege escalation, authentication bypass, or executing system commands. \n\nCode injection exploits the features of programming languages and is distinct from operating system command injection in that it is subject to the limitations of the execution environment. \nTo prevent code injection vulnerabilities, it is essential to properly filter strings passed as user input to ensure they are not executed as code. In particular, dynamic code execution functions like `eval()` should not be used, and if necessary, whitelist-based validation should be applied to the input values.",
  "rule.dast.api.common.7371.name": "REST Code (eval) Injection",
  "rule.dast.api.common.7372.description": "Path manipulation vulnerabilities occur when user input is included in directory paths without proper validation. Attackers can use characters such as .., /, and \\ to access unintended locations outside the allowed path range of the web application. This can lead to the exposure of sensitive information, such as system files or source code.  \nTo prevent path manipulation vulnerabilities, user input must be properly validated. If the input contains characters that can be used in directory traversal attacks, such as .., /, or \\, these should be removed or filtered to allow only permitted paths.",
  "rule.dast.api.common.7372.name": "REST Path Traversal",
  "rule.dast.api.common.7376.description": "The XML External Entity (XXE) injection attack that references external files during XML processing is a vulnerability that allows an attacker to include the contents of server files within the XML. For example, by manipulating the XML object to reference sensitive files like /etc/passwd, an attacker can include the contents of that file in the XML output, gaining access to sensitive information on the server.  \nTo mitigate this, configure the XML parser to disable external entity references and securely validate and filter XML input to block malicious XML structures.",
  "rule.dast.api.common.7376.name": "REST XXE Injection",
  "rule.dast.api.common.7377.description": "The operating system command injection vulnerability occurs when user input is executed as an operating system command without proper validation. An attacker can exploit this to execute unintended commands, alter system permissions, or exfiltrate sensitive files, negatively impacting system operation and management.  \nImplement the application to avoid directly invoking operating system commands. If necessary, apply a whitelist to ensure that only permitted commands can be executed.  \n\nAdditionally, appropriate validation must be performed on user input before it is passed to the command interpreter. Special characters that could be used in an attack [{, }, (, ), <, >, @, &, *, ‘, |, =, ?, ;, [, ], $, –, #, ~, !, ., ”, %, /, \\\\, :, +, ,, `] should be properly filtered.",
  "rule.dast.api.common.7377.name": "REST OS Command injection",
  "rule.dast.api.common.7378.description": "The Cross-site Scripting vulnerability is caused by injecting malicious scripts to a web site. The attacker sends a malicious script to the server via a web element, such as text input inside a form. If the server includes that data in the response without validating it, the malicious script is executed in the browser. As a result, the attacker can steal the user's information, such as session or cookies, or force the server to take unintended actions. \nTo prevent the cross-site scripting vulnerabilities, validate user inputs by filtering out HTML tags or special characters `<`, `>`, `&`, ```, `\"`. When including the user inputs in an HTML page, print out them as plain text or escape those characters as HTML entities to avoid executing any embedded scripts.",
  "rule.dast.api.common.7378.name": "REST Cross-site scripting",
  "rule.dast.api.common.7379.description": "SQL injection vulnerabilities occur when user input is not properly validated and is directly included in SQL queries. Attackers can exploit this to bypass user authentication, extract internal database information, and perform other attacks.  \nTo prevent SQL injection vulnerabilities, special characters in user input such as ', \", ;, #, --, //, %, /*, */ should be validated and filtered. Additionally, using Prepared Statements or ORM (Object-Relational Mapping) ensures that user input does not affect SQL queries.  \n\nIf a server exposes error messages due to SQL injection attacks, attackers can use these messages to gain insights into server configuration or SQL query structure. Therefore, error messages containing internal system information should be restricted from being exposed to clients, and only generic error messages should be returned to prevent information leakage.",
  "rule.dast.api.common.7379.name": "REST SQL Injection (Database Information Exposure)",
  "rule.dast.api.common.7380.description": "Path manipulation vulnerabilities occur when user input is included in directory paths without proper validation. Attackers can use characters such as .., /, and \\ to access unintended locations outside the allowed path range of the web application. This can lead to the exposure of sensitive information, such as system files or source code.  \nTo prevent path manipulation vulnerabilities, user input must be properly validated. If the input contains characters that can be used in directory traversal attacks, such as .., /, or \\, these should be removed or filtered to allow only permitted paths.",
  "rule.dast.api.common.7380.name": "GraphQL Path Manipulation",
  "rule.dast.api.common.7394.description": "The Cross-site Scripting vulnerability is caused by injecting malicious scripts to a web site. The attacker sends a malicious script to the server via a web element, such as text input inside a form. If the server includes that data in the response without validating it, the malicious script is executed in the browser. As a result, the attacker can steal the user's information, such as session or cookies, or force the server to take unintended actions. \nTo prevent the cross-site scripting vulnerabilities, validate user inputs by filtering out HTML tags or special characters `<`, `>`, `&`, ```, `\"`. When including the user inputs in an HTML page, print out them as plain text or escape those characters as HTML entities to avoid executing any embedded scripts.",
  "rule.dast.api.common.7394.name": "GraphQL Cross-Site Scripting",
  "rule.dast.api.common.7395.description": "The operating system command injection vulnerability occurs when user input is executed as an operating system command without proper validation. An attacker can exploit this to execute unintended commands, alter system permissions, or exfiltrate sensitive files, negatively impacting system operation and management.  \nImplement the application to avoid directly invoking operating system commands. If necessary, apply a whitelist to ensure that only permitted commands can be executed.  \n\nAdditionally, appropriate validation must be performed on user input before it is passed to the command interpreter. Special characters that could be used in an attack [{, }, (, ), <, >, @, &, *, ‘, |, =, ?, ;, [, ], $, –, #, ~, !, ., ”, %, /, \\\\, :, +, ,, `] should be properly filtered.",
  "rule.dast.api.common.7395.name": "Insert GraphQL operating system command",
  "rule.dast.api.common.7396.description": "SQL injection vulnerabilities occur when user input is not properly validated and is directly included in SQL queries. Attackers can exploit this to bypass user authentication, extract internal database information, and perform other attacks.  \nTo prevent SQL injection vulnerabilities, special characters in user input such as `, `, ;, #, --, //, %, /*, */ should be validated and filtered. Additionally, use Prepared Statements or ORM (Object-Relational Mapping) to ensure that user input does not affect SQL queries.  \n\nIf a server exposes error messages due to SQL injection attacks, attackers can use these messages to gain insights into server configuration information or the structure of SQL queries. Therefore, error messages containing internal system information should be restricted from being exposed to clients, and only generic error messages should be returned to prevent information leakage.",
  "rule.dast.api.common.7396.name": "GraphQL SQL Injection (Database Information Exposure)",
  "rule.dast.api.common.7397.description": "GraphQL provides a debug mode and stack trace feature for developer convenience. This feature is useful for quickly identifying and fixing the cause of errors.\n\nHowever, if this feature is enabled in a production environment, sensitive information such as file paths, framework versions, and query structures may be exposed in error responses. Attackers can use this information to understand the internal structure of the server and attempt further attacks.\nIn production environments, the debug mode and stack trace feature of GraphQL should be disabled. Additionally, the server should return only generic messages containing minimal information, even in the event of an error.",
  "rule.dast.api.common.7397.name": "GraphQL inappropriate error limits",
  "rule.dast.api.common.7398.description": "GraphQL IDE is a web-based tool provided to write and test queries in a browser environment. Notable examples include GraphiQL, GraphQL Playground, and Altair, which are primarily used in development environments.\n\nThis tool automatically sends an Introspection query when a user first accesses it to load the entire schema information and provides schema documentation based on that content. As a result, if a GraphQL IDE is exposed in a production environment, an attacker can easily understand the entire schema structure, fields, types, and query list just by accessing the tool.\nIt is recommended to disable the GraphQL IDE in production environments and, if necessary, configure it to allow access only to authorized users.",
  "rule.dast.api.common.7398.name": "Expose GraphQL IDE",
  "rule.dast.api.common.7399.description": "GraphQL provides an Introspection feature that allows querying the entire schema information through meta fields like `__schema` and `__type`. This feature is primarily used in development environments to check the query structure and for testing purposes.\n\nHowever, if the Introspection feature is enabled in a production environment, the entire schema structure, fields, types, and query lists of GraphQL may be exposed. Attackers can analyze this information to understand internal operations and attempt attacks targeting hidden queries or sensitive fields. It is recommended to disable the Introspection feature in production environments, and if necessary, configure it to be accessible only to authorized users.",
  "rule.dast.api.common.7399.name": "Expose GraphQL Schema",
  "rule.dast.api.common.7436.description": "Some libraries that support GraphQL provide a field suggestion feature, which suggests similar field names when a client requests a non-existent field. This feature is primarily used for developer convenience and is supported by Apollo Server, Graphene, and others.\n\nHowever, if this feature is enabled in a production environment, attackers can infer the schema structure and available queries of GraphQL based on the suggested field names. This can allow them to analyze internal operations and attempt additional attacks targeting hidden queries or sensitive fields. \nIt is recommended to disable the GraphQL field suggestion feature in production environments and to provide minimal error information for non-existent fields. For example, it is safer to provide error messages like `Unable to find the field.` \nOr `Unable to convey your request.` instead of an error message like `Are you looking for the query?`.",
  "rule.dast.api.common.7436.name": "GraphQL field suggestion",
  "rule.dast.api.common.7437.description": "Server-Side Request Forgery (SSRF) is a vulnerability that allows an attacker to manipulate the URL input values sent to a server, causing the server to make requests to internal or external resources.\n\nThis vulnerability occurs when there is insufficient input validation in functions that handle URLs, such as image retrieval, file downloads, or external API calls. An attacker can exploit this to gain access to resources that are not accessible from the outside, such as internal systems, cloud metadata, or admin pages. \nTo prevent Server-Side Request Forgery vulnerabilities, it is essential to properly validate the URL input values that are the target of requests. \nThe server should implement a whitelist to allow access only to permitted domains or IPs, and blacklist internal addresses like `localhost` or `127.0.0.1`, and schemes commonly used in attacks, such as `file://` and `gopher://`, to block them.",
  "rule.dast.api.common.7437.name": "GraphQL server-side request forgery",
  "rule.dast.api.common.7438.description": "If there is no limit on field duplication in a GraphQL server, an attacker can perform a field duplication attack by excessively including the same field in a single query. This can cause the server to consume a lot of resources in processing the duplicate fields, potentially leading to a denial of service (DoS) state.\n\nTo prevent field duplication attacks in GraphQL, it is necessary to detect duplicate fields and limit the number of unique fields and root fields allowed in a single query. Additionally, it may be considered to limit the depth of queries and the size of requests and responses.\n\nFurthermore, applying cost analysis techniques can be an effective countermeasure. This technique defines resource costs for each field and calculates the execution cost of the entire query. If the calculated cost exceeds a predefined threshold, the request is blocked.",
  "rule.dast.api.common.7438.name": "Duplicate GraphQL fields",
  "rule.dast.api.common.7439.description": "In GraphQL, directives are written in the format @directiveName and are used to control the execution of specific fields or fragments based on conditions. For example, the @skip(if: Boolean) directive omits the field if the condition is true.\n\nHowever, if the server does not impose limits on the number of directives allowed in a single query or the number of directives that can be applied to a single field, this feature can be exploited for Denial of Service (DoS) attacks. If an attacker sends a query with an excessive number of directives on a single field, the server may consume significant resources to process it, leading to a denial of service.\n\nTo prevent directive overloading attacks in GraphQL, it is essential to appropriately limit the number of directives allowed in a single query. Additionally, if directives are repeatedly included on a single field, returning an error or rejecting the request can also be considered. Furthermore, limiting the depth of queries and the size of requests and responses can be effective countermeasures.",
  "rule.dast.api.common.7439.name": "GraphQL directive overloading",
  "rule.dast.api.common.7440.description": "GraphQL allows for mutual references between types. For example, if the Paste type includes the Owner type, and the Owner type includes the Paste type again, then the two types can reference each other.\n\nHowever, if there are no limits on query depth or nesting on the server, mutually referenced types can be exploited for denial-of-service (DoS) attacks. If an attacker sends a query with a circular structure, the server may consume excessive resources in the process of interpreting and generating a response, leading to a denial of service.\n\nTo prevent circular query attacks in GraphQL, it is necessary to limit the depth of queries and the size of requests and responses. Additionally, setting query timeouts to monitor query execution time and blocking requests that exceed the configured limit can also be considered.\n\nFurthermore, applying cost analysis techniques can be an effective countermeasure. This technique defines resource costs per field and calculates the total execution cost of the query. If the calculated cost exceeds a predefined threshold, the request is blocked.",
  "rule.dast.api.common.7440.name": "GraphQL circular query",
  "rule.dast.api.common.7441.description": "GraphQL provides a batching feature that allows multiple queries to be processed in a single request. Clients can bundle several queries into a JSON array and send them as a single request, while the server executes them sequentially and returns a response in the form of an array. This feature is useful for reducing the number of requests and improving performance.\n\nHowever, if there are no limits on the number of queries, depth, or request size allowed on the server, the batching feature can be exploited for Denial of Service (DoS) attacks. If an attacker sends a large number of queries bundled in an array, the server may consume excessive resources for batching, leading to a denial of service.\n\nAdditionally, if the batching feature is allowed for authentication requests such as login, it could enable multiple login attempts in a single request. This could bypass existing request rate limiting policies and allow brute force attacks to compromise user accounts.\n\nTo prevent batching attacks in GraphQL, it is essential to limit the number of queries allowed in a single request. Additionally, methods to restrict the depth of queries or the size of requests and responses should also be considered.\n\nFurthermore, applying cost analysis techniques can be an effective countermeasure. This technique defines resource costs for each field and calculates the total execution cost of the query. If the calculated cost exceeds a predefined threshold, the request is blocked.",
  "rule.dast.api.common.7441.name": "GraphQL query batching",
  "rule.dast.api.common.7442.description": "GraphQL provides an alias feature that allows the same field to be called multiple times under different names. This feature is used to repeatedly call the same field or to differentiate response items.\n\nHowever, if there is no limit on the number of aliases on the server, an attacker can perform an alias overloading attack by using multiple aliases in a single query to excessively include fields.\n\nAs a result, the server may consume significant resources in processing aliases, leading to a denial of service (DoS) state. Additionally, if the alias feature is allowed in authentication requests such as login, multiple login attempts can be made in a single request. This can bypass existing request rate limiting policies and potentially compromise user accounts through brute force attacks.\n\nTo prevent alias overloading attacks in GraphQL, it is essential to appropriately limit the number of unique fields, aliases, and root fields allowed in a single query. Additionally, considering limits on query depth and the size of requests and responses can also be beneficial.\n\nFurthermore, applying cost analysis techniques can be an effective countermeasure. This technique defines resource costs for each field and calculates the execution cost of the entire query. If the calculated cost exceeds a predefined threshold, the request is blocked.",
  "rule.dast.api.common.7442.name": "Overloading GraphQL Aliases",
  "rule.dast.api.common.7443.description": "Broken Object Property Level Authorization (BOPLA) is a vulnerability that occurs when the server fails to properly validate permissions for individual properties of an object while processing API requests. This can result in sensitive properties that should not be exposed being included in the response, or unauthorized users manipulating requests to change, add, or delete specific property values.\n\nThis vulnerability encompasses both excessive data exposure and mass assignment issues as outlined by OWASP in 2019, allowing attackers to obtain sensitive information or perform additional attacks such as privilege escalation.\nTo prevent Broken Object Property Level Authorization (BOPLA) vulnerabilities, the server must clearly define permissions for each property of the object and ensure that sensitive or unnecessary properties are not included in the response. Additionally, the data structure of requests and responses should be predefined to block requests that contain tampered structures or unauthorized properties.",
  "rule.dast.api.common.7443.name": "GraphQL Broken Object Property Level Authorization (BOPLA)",
  "rule.dast.api.common.7444.description": "Broken Object Level Authorization (BOLA) is a vulnerability that occurs when the server fails to perform proper authorization checks on object identifiers (ID, UUID, etc.) included in requests from the client. An attacker can manipulate the identifier to gain unauthorized access to, or modify and delete, data belonging to other users.\nTo prevent Broken Object Level Authorization (BOLA) vulnerabilities, the server must verify that the requesting user has the appropriate permissions to access the object identifier (ID, UUID, etc.). Additionally, object identifiers should be generated in a way that makes them difficult to predict, preventing attackers from easily guessing or manipulating them.",
  "rule.dast.api.common.7444.name": "GraphQL Broken Object Level Authorization (BOLA)",
  "rule.dast.api.common.7445.description": "Inadequate inventory management vulnerabilities occur when development and testing, legacy, or undocumented APIs remain active in the production environment. Even if these APIs are not exposed externally, they may be accessible by manipulating request paths or version numbers. Attackers can exploit such unmanaged APIs to attempt various attacks, including authentication bypass or sensitive function calls.  \nAll API endpoints used in the production environment must be identified and documented, and development, testing, or legacy APIs should be removed. Additionally, API documentation, such as Swagger, should implement access control policies to ensure that only authorized users can access it. Furthermore, to prevent unnecessary exposure, internal APIs or APIs handling sensitive information should be restricted to calls from trusted networks only.",
  "rule.dast.api.common.7445.name": "Improper inventory management in API",
  "rule.dast.api.common.7446.description": "Server-Side Request Forgery (SSRF) is a vulnerability that allows an attacker to manipulate URL input values sent to the server, causing the server to make requests to internal or external resources.\n\nThis vulnerability occurs when input validation is insufficient in functions that handle URLs, such as image retrieval, file downloads, and external API calls. An attacker can exploit this to access resources that are not accessible from the outside, such as internal systems, cloud metadata, and admin pages.\nTo prevent Server-Side Request Forgery vulnerabilities, it is essential to properly validate the URL input values that are the target of requests. \nThe server should implement a whitelist to allow access only to permitted domains or IPs, and block internal addresses or schemes commonly used in attacks, such as localhost, 127.0.0.1, and file://.",
  "rule.dast.api.common.7446.name": "REST server-side request forgery",
  "rule.dast.api.common.7447.description": "Broken Function Level Authorization (BFLA) is a vulnerability that occurs when the server fails to properly validate function-specific permissions for an API. As a result, an attacker can access unauthorized administrative functions or internal services to steal sensitive information or gain administrative privileges.  \nTo prevent Broken Function Level Authorization vulnerabilities, the server must clearly define the minimum permissions based on the API's functions and implement Role-Based Access Control (RBAC) or Attribute-Based Access Control (ABAC). In particular, strict server-side permission validation should be applied to sensitive functions such as creation, modification, deletion, and access to administrative pages.",
  "rule.dast.api.common.7447.name": "Compromised Function Level Authorization (BFLA)",
  "rule.dast.api.common.7449.description": "Broken Object Property Level Authorization (BOPLA) is a vulnerability that occurs when the server fails to properly validate permissions for individual properties of an object while processing API requests. This can result in sensitive properties that should not be exposed being included in the response, or unauthorized users manipulating requests to change, add, or delete specific property values.\n\nThis vulnerability encompasses both excessive data exposure and mass assignment issues as outlined by OWASP in 2019, allowing attackers to obtain sensitive information or perform additional attacks such as privilege escalation.\nTo prevent Broken Object Property Level Authorization (BOPLA) vulnerabilities, the server must clearly define permissions for each property of the object and ensure that sensitive or unnecessary properties are not included in the response. Additionally, the data structure of requests and responses should be predefined to block requests that contain tampered structures or unauthorized properties.",
  "rule.dast.api.common.7449.name": "Broken Object Property Level Authorization (BOPLA)",
  "rule.dast.api.common.7454.description": "If a JWT (Json Web Token) does not have an expiration time (exp) or has an excessively long expiration time set, it can effectively be used permanently if the token is leaked, making it impossible to revoke. If an attacker steals a token without an expiration time, they can access the system with the privileges of a legitimate user for an extended period.\n\nWhen issuing a JWT, it is essential to set an expiration time (exp) that aligns with the service's characteristics, and the server must validate it appropriately. If an expired token is used, the server should block the request.\n\nGenerally, it is recommended to use Access Tokens and Refresh Tokens together. The Access Token should have a short expiration time, and when the token expires, a new Access Token is issued through the Refresh Token.\n\nAdditionally, a revocation strategy can be applied to prevent token reuse. For example, including a TokenVersion or an encrypted IP address in the JWT's payload, and having the server validate these values. \nThe TokenVersion can be incremented during specific events such as password changes or logouts to invalidate previous tokens. IP address validation can block requests from unregistered IPs, preventing the reuse of stolen tokens.",
  "rule.dast.api.common.7454.name": "Invalid JWT expiration time",
  "rule.dast.api.common.7455.description": "If the JWT (Json Web Token) issuance logic operates solely based on user input values, the same token value may be repeatedly generated. In this case, if an attacker predicts the token or steals it through XSS or other means, they can continue to use that token until it expires. This can allow them to bypass authentication or gain the privileges of a specific user.  \nTokens must be implemented to be generated with new values each time. To achieve this, unique identifiers (jti), issuance time (iat), expiration time (ext), and other elements should be included in the payload to distinguish the tokens and make prediction difficult.",
  "rule.dast.api.common.7455.name": "Inappropriate JWT issuance",
  "rule.dast.api.common.7456.description": "Broken Object Level Authorization (BOLA) is a vulnerability that occurs when the server fails to perform proper authorization checks on object identifiers (ID, UUID, etc.) included in requests from the client. An attacker can manipulate the identifier to gain unauthorized access to, or modify and delete, data belonging to other users.\nTo prevent Broken Object Level Authorization (BOLA) vulnerabilities, the server must verify that the requesting user has the appropriate permissions to access the object identifier (ID, UUID, etc.). Additionally, object identifiers should be generated in a way that makes them difficult to predict, preventing attackers from easily guessing or manipulating them.",
  "rule.dast.api.common.7456.name": "Broken Object Level Authorization (BOLA) - GET Method",
  "rule.dast.api.common.7457.description": "Broken Object Level Authorization (BOLA) is a vulnerability that occurs when the server fails to perform proper authorization checks on object identifiers (ID, UUID, etc.) included in requests from the client. An attacker can manipulate the identifier to gain unauthorized access to, or modify and delete, data belonging to other users.\nTo prevent Broken Object Level Authorization (BOLA) vulnerabilities, the server must verify that the requesting user has the appropriate permissions to access the object identifier (ID, UUID, etc.). Additionally, object identifiers should be generated in a way that makes them difficult to predict, preventing attackers from easily guessing or manipulating them.",
  "rule.dast.api.common.7457.name": "Broken Object Level Authorization (BOLA) - POST Method",
  "rule.dast.api.common.7458.description": "JWT (JSON Web Token) includes a signature to prevent tampering of transmitted data. However, if the server does not trust or properly validate the algorithm value included in the JWT header, an attacker can change the algorithm to none and bypass signature verification.\n\nSome flawed implementations allow the none algorithm, resulting in the omission of signature verification and authentication passing with invalid tokens. Exploiting this, an attacker can perform attacks such as authentication bypass and privilege escalation. \n\nTo prevent JWT signature bypass vulnerabilities, the server must not allow the none algorithm. Additionally, during the signature verification step, if the signature is missing or not correctly set, the request should be blocked.\n\nMost modern JWT libraries do not support the none algorithm. However, some older versions do allow it, so it is essential to apply the latest version.",
  "rule.dast.api.common.7458.name": "JWT signature bypass (None Algorithm)",
  "rule.dast.api.common.7459.description": "The key security element of JWT (Json Web Token) is signature verification. The signature is generated by combining the JWT's header and payload, using a secret key held by the server and the algorithm defined in the header. This ensures the integrity of the token and verifies whether the data has been tampered with.\n\nHowever, if the server does not properly verify the JWT's signature or sets the secret key to an empty string (\"\"), an attacker can create a token with a valid signature without knowing the actual secret key. This can lead to attacks such as authentication bypass or privilege escalation.\nWhen validating a JWT, the server must check that the token contains a valid signature and verify its value. The secret key used for the signature must be sufficiently complex, and empty strings or easily guessable values should not be used. Additionally, the server should restrict the use of only allowed algorithms and block any requests if a token with a missing or tampered signature is detected.",
  "rule.dast.api.common.7459.name": "JWT signature bypass (Blank Secret)",
  "rule.dast.api.common.7460.description": "The core security element of JWT (JSON Web Token) is signature verification. The signature is generated by combining the JWT's header and payload, using a secret key held by the server and the algorithm defined in the header. This ensures the integrity of the token and allows for verification of data tampering.\n\nHowever, if the server does not properly perform signature verification for the JWT, an attacker can remove the token's signature or arbitrarily modify the payload to carry out attacks such as authentication bypass or privilege escalation. For example, if the value of `role`: `user` in the payload is changed to `role`: `admin`, the attacker could gain admin privileges if the server does not verify the signature. \nWhen validating a JWT, the server must check that the token contains a valid signature and verify its validity. Additionally, the server should restrict the use of only allowed algorithms and block any requests if a token is detected to be missing a signature or has been tampered with.",
  "rule.dast.api.common.7460.name": "Invalid JWT signature verification (None Signature)",
  "rule.dast.api.common.7461.description": "JWT (JSON Web Token) is a stateless token that does not store state on the server, and the issued token is valid until the configured expiration time (exp). Due to this characteristic, if the server does not manage the token in a blacklist after logout or session termination, the token remains valid until it expires. If the token is predicted or leaked through XSS or other means, an attacker can reuse it to bypass authentication or gain the privileges of other users.  \nThe server should register the Access Token in a blacklist when a logout, session termination, or abnormal behavior is detected, ensuring it is no longer used for authentication. It is recommended to store tokens managed in the blacklist in an in-memory store (e.g., Redis) that has faster lookup speeds than a regular database, and configure it to automatically delete tokens when their expiration time (exp) is reached. Subsequently, when an authentication request is received, the server should check whether the token included in the request is registered in the blacklist, and if so, deny the request.  \n\nAdditionally, the validity period of the Access Token should be set short, and by using a Refresh Token to periodically reissue new Access Tokens, the possibility of reusing stolen tokens should be minimized.",
  "rule.dast.api.common.7461.name": "JWT reuse",
  "rule.dast.sw.common.3273.description": "The CSRF is a vulnerability that allows an arbitrary user to send HTTP requests to arbitrary addresses with the privileges of an arbitrary user. CSRF is a client-facing attack, like XSS, that works by injecting script into a web page. The attacker can execute arbitrary functions of the web service with the privileges of the user who accessed the page containing the malicious script.\nTo prevent CSRF, you must add an Anti-CSRF token to the FORM element. You can use an Anti-CSRF token by adding an Anti-CSRF token such as `CSRFToken`, `anticsrf`, `OWASP_CSRFTOKEN`, etc. as a HIDDEN field within the FORM element. Alternatively, you can use an Anti-CSRF token in JavaScript. However, if your page is XSS-prone, it may still be CSRF-able with or without the token.",
  "rule.dast.sw.common.3273.name": "Form Tag without CSRF Token",
  "rule.dast.sw.common.4554.description": "The Absolute Path Exposure vulnerability is caused by exposing an absolute path to the body of an HTTP response or DOM. An attacker uses the vulnerability and attempts to access a real directory or file on the web application server. The attacker might steal the sensitive information from the web application server or execute the unintended file. To avoid the vulnerability, you must prevent an absolute path of the file from being exposed.\nRemove the absolute file path from the HTTP response texts unless it is designed to expose.",
  "rule.dast.sw.common.4554.name": "Absolute Path Exposure",
  "rule.dast.sw.common.4555.description": "The Administrator Page Exposure vulnerability is caused by allowing an unauthorized user to access administrator pages. An attacker can use this vulnerability to access the admin page. If authentication is required, you can try to get authentication. This allows attackers to manipulate server or web application settings or steal sensitive information. In order to solve this problem, it is necessary to control access rights so that external users cannot access to the admin page.\nDo not allow an unauthorized user access to administrator pages to prevent Administrator Page Exposure vulnerability.",
  "rule.dast.sw.common.4555.name": "Exposal of Admin Page",
  "rule.dast.sw.common.4556.description": "The AJP Service Exposure is a vulnerability that can be freely accessed to the Apache server by using Apache JServ Protocol (AJP), a binary protocol that sends a request from a web server to WAS, The vulnerability occurs when the AJP Service is used without proper access controls. An attacker might try to connect to 8009 port, the default AJP port, to conduct an attack. When the attack has succeeded, the attacker can change the server settings on the admin page.\nIf using the AJP service, access control should be controlled so that it cannot be accessed from outside without permission. Access rights can be controlled through tools such as firewalls.\n\nIf using the AJP service, the default settings, including the default port number, should not be used. Instead of the AJP service's default port number of `8009`, a different port number must be used.",
  "rule.dast.sw.common.4556.name": "AJP Service Exposure",
  "rule.dast.sw.common.4557.description": "The Application Error vulnerability is caused by an application error occurs during the processing of a particular page. This can be caused by insufficient exception handling or incorrect handling of a user's request. Users can be directed to a page that may cause an error when accessing an arbitrary page. In such cases, it is possible for users to experience inconvenience in using the service normally.\nNeed to fix the application error that occurs on the page.",
  "rule.dast.sw.common.4557.name": "Application Error",
  "rule.dast.sw.common.4558.description": "The Blind LDAP Injection vulnerability is caused by generating LDAP statements with user inputs and manipulating the statements on web-based applications. Attackers send malicious data to the server via web elements by entering texts that are expected to execute LDAP statements in an input form. Special characters, such as '('. '|'. '&'. '*', allows these kinds of attacks. As a result, the attackers can view all objects with specific attributes, bypass authentication paths, or access to unauthorized information. To resolve this, user inputs need to be validated or filtered on the web application. So, use the right LDAP encoding function. Or, you can use a framework that automatically validates or filters out the inputs.\nWhen an error occurs due to the processing of an LDAP statement, an appropriate level of error message must be printed.\n\nAn error message needs to allow end users to be aware of an error condition without inferring operation information within a server.",
  "rule.dast.sw.common.4558.name": "Blind LDAP Injection",
  "rule.dast.sw.common.4559.description": "The Blind SQL Injection vulnerability allows attackers to send queries to the database server, get their responses, and check they are truth or false. The vulnerability occurs when user inputs used for the queries are not fully validated or abnormal behaviors are not sufficiently considered for the database. In order to perform the attack, attackers check whether the query result is true or false by inspecting different responses from the server to various attack strings, and the presence of error messages. After the attack has succeeded, the attackers might use database-related information, infer query statements, and attempt another attacks through SQL injection.\nWhen an error occurs due to the processing of an LDAP statement, an appropriate level of error message must be printed.\n\nAn error message needs to allow end users to be aware of an error condition without inferring operation information within a server.",
  "rule.dast.sw.common.4559.name": "Blind SQL Injection",
  "rule.dast.sw.common.4560.description": "The Blind XPath Injection vulnerability allows attackers to send queries to the XPath server, get their responses, and check they are truth or false. The vulnerability occurs when user inputs used for the queries are not fully validated or abnormal behaviors are not sufficiently considered for the database. In order to perform the attack, attackers check whether the query result is true or false by inspecting different responses from the server to various attack strings, and the presence of error messages. After the attack has succeeded, the attackers might use XML data structure-related information, infer query statements, and attempt another attacks through XPath injection.",
  "rule.dast.sw.common.4560.name": "Blind XPath Injection",
  "rule.dast.sw.common.4561.description": "The Parameter Query Transformation vulnerability is caused by changing a parameter to a URL query in POST method of HTTP request, which receives the identical HTTP response in return of GET request. Even the filters for GET and POST are different in the web application server, you can bypass the filters by giving the identical response to both requests. With the vulnerability, the attacker might attempt another attack by converting a POST request into a GET request. This allows the attacker to use or take over features or sensitive information that would not be acquired by a normal request. To resolve the vulnerability, an HTTP POST request and an HTTP GET request need to be handled separately. Also, when you need to handle both GET and POST altogether, you need to apply the exact same filter.\nTo resolve the vulnerability, an HTTP POST request and an HTTP GET request need to be handled separately.\n\nSelect an identical filter to handle them together.",
  "rule.dast.sw.common.4561.name": "Parameter Query Transformation",
  "rule.dast.sw.common.4562.description": "The Broken Skip Link checker finds skip links with invalid connection settings. Due to the broken skip link, screen reader users can have troubles of hearing repeated sections from pages to access to contents. In addition, physically handicapped users can have troubles to scroll down to the contents.",
  "rule.dast.sw.common.4562.name": "Broken Skip Link",
  "rule.dast.sw.common.4563.description": "A buffer overflow is a vulnerability that causes abnormal termination or behavior due to a buffer overflow in the server or web server for web applications. Attackers can cause the overflow of the target web application by entering an excessively long string into the web elements. Attackers can use this buffer overflow vulnerability to cause abnormal termination or behavior of the web application and also can get information from the error messages caused by the vulnerability. In order to solve this problem, user's input value should not be used directly while the dynamic allocation of memory and also use the safe (or overflow-proof) library and function.",
  "rule.dast.sw.common.4563.name": "Buffer overflow",
  "rule.dast.sw.common.4564.description": "The Poor Cache Control vulnerability is caused by cache pollution that is propagated to multiple users sharing the cache due to poor cache control. An attacker can inject malicious data to a user on a page with poor cache control and propagate the injected malicious data to all users sharing the web cache. This could allow an attacker to cause all users sharing the web cache to execute malicious code. To fix this, you need to change your web application settings to control the cache with a value of Cache-Control or Pragma in the header of the HTTP response message.",
  "rule.dast.sw.common.4564.name": "Poor Cache Control",
  "rule.dast.sw.common.4565.description": "The Certificate Integrity Violation uses an invalid certificate to conduct an attack. The vulnerability arises from the validity period of the certificate, the mismatch between the certificate object and the actual URL, or the unreliable certificate authority. The attacker finds out that some errors has already occurred in the browser due to the certificate. For the attack, he can create a new certificate and replace the certificate, and force to make it undetected to the user. When the attack has succeeded, the attacker can steal and manipulate the data transmitting between the user and the server.\nIf the certificate has expired, the certificate must be renewed. Alternatively, replace the existing certificate with a new certificate.",
  "rule.dast.sw.common.4565.name": "Certificate Integrity Violation",
  "rule.dast.sw.common.4566.description": "The Renegotiation of Client-Initiated SSL vulnerability allows renegotiation to be initiated from the client during SSL communication. This vulnerability can be caused by allowing the server to initiate SSL renegotiation from the client. An attacker can force renegotiation of an ongoing SSL connection in order to carry out an attack. If the attack is successful, the attacker could conduct a man-in-the-middle attack or denial-of-service attack via SSL renegotiation.\nYou should restrict your web server or application server from allowing insecure SSL renegotiation. For servers based on JAVA 8 and later versions, you can add the following option to the JVM options:\n\n```\n-Djdk.tls.rejectClientInitiatedRenegotiation=true\n```",
  "rule.dast.sw.common.4566.name": "Renegotiation of Client-Initiated SSL",
  "rule.dast.sw.common.4567.description": "The Code Injection vulnerability is caused when an web application accepts code syntax in user input, allowing an attacker to control the flow of behaviour through code injection. The attacker can enter server script code, such as PHP or ASP, to execute malicious code. This allows the attacker to install malicious software on the web application, propagate worm viruses, cause data loss and contamination, DoS, etc., and can enable catastrophic attacks such as SQL statement injection, Path Traversal, etc. To address this, you should either disallow code syntax in user input or, if you do, encode special characters that have specific meanings in the code.",
  "rule.dast.sw.common.4567.name": "Code Injection",
  "rule.dast.sw.common.4568.description": "The Operating System Command Injection vulnerability can force the server's operating system to execute arbitrary commands. This vulnerability is caused by insufficient validation of user input used to configure operating system commands. To carry out an attack, an attacker could enter commands to gain elevated privileges on the server, or commands to manipulate specific files on the server. If the attack is successful, the attacker can gain privileges to access critical locations and steal or manipulate sensitive information on the server.\nWhen executing operating system commands that include external input, validation of the external input is required.\n\nFor \"WINDOWS\" family operating systems, the following characters need to be validated\n\n```\n(, ), <, >, &, *, ‘, |, =, ?, ;, [, ], ^, ~, !, ., `, %, @, /, \\, :, +, ,, `\n```\n\nFor \"UNIX\" family operating systems, validation is required for the following characters.\n\n```\n{, }, (, ), <, >, &, *, ‘, |, =, ?, ;, [, ], $, –, #, ~, !, ., `, %, /, \\, :, +, ,, `\n```",
  "rule.dast.sw.common.4568.name": "Command injection",
  "rule.dast.sw.common.4569.description": "The Missing Content-Security-Policy(CSP) header vulnerability is caused by lacking a Content-Security-Policy header in the HTTP response. The Content-Security-Policy(CSP) is built on the Same-Origin-Policy (SOP). But in the CSP, a whitelist of trusted content sources needs to be created, and allows the browser to launch or render resources from these sources only. The attacker might use the vulnerability to attempt to execute the malicious client script on the user browser. This allows the attacker to steal sensitive information or privileges from users, and convince a user to take an unintended action. To resolve the vulnerability, you need to create the Content-Security-Policy header and prevent receiving resources from other untrusted sources.\nTo fix the missing Content-Security-Policy header vulnerability, you need to add the Content-Security-Policy header on your web application server. To ensure that content within all websites comes only from the same domain, excluding subdomains, use the following:\n\n```\nContent-Security-Policy: default-src `self`\n```\n\nTo include subdomains, use the following:\n\n```\nContent-Security-Policy: default-src `self`*.[Hostname of the request being analyzed].\n```\n\nIn addition, you can also enable resources from trusted domains to be used only on certain web page elements.\n\nAlso, if you don't want to prevent resources from untrusted domains from being used, but only want to be informed that they are used, use the following\n\n```\nContent-Security-Policy-Report-Only: policy\n```",
  "rule.dast.sw.common.4569.name": "Missing Content-Security-Policy(CSP) header",
  "rule.dast.sw.common.4570.description": "The Missing Content Type vulnerability occurs where the content type is missing, which can lead to MIME type sniffing. MIME type sniffing is the ability of a browser to guess the MIME type when it believes the MIME type is missing or incorrectly set. An attacker could upload a non-executable MIME type file containing malicious code as if it were an executable MIME type file. As a result, the file containing malicious code could be executed by the web application. To work around this, HTTP response messages should be sent with a Content-Type header with a value that matches the content type, or the value of the X-Content-Type-Options header should be set to nosniff to prevent MIME type sniffing.",
  "rule.dast.sw.common.4570.name": "Missing Content Type",
  "rule.dast.sw.common.4571.description": "The Controllable Form Action vulnerability is caused when a user input is ​directly used ​to configure action property values ​​in form tags without filtering. The attacker sends a dangerous location address to the server through a web element, such as text input inside a form. If the server uses data in Action property of any Form object without verification, the request sent from the object is sent to the dangerous location. As a result, the attacker might steal the user information such as session, cookies, etc. To resolve this, user inputs need to be validated or filtered on the web application.\nThe solution is shown as follow.\n\nDo not use user input values to configure action tag values in form tags. \n\nIf you need to use the user input, ensure to verify or filter out before using it.",
  "rule.dast.sw.common.4571.name": "Controllable Form Action",
  "rule.dast.sw.common.4572.description": "The Controllable Reference vulnerability is caused by using a user input​ without filtering to configure reference location properties of specific tags. The attacker sends a dangerous location address to the server through a web element, such as text input inside a form. If the server uses the user input in a src or href attribute without verification, it might load the resource from the dangerous location. As a result, the attacker might steal the user information such as session, cookies, etc. To resolve this, user inputs need to be validated or filtered on the web application.\nThe solution is shown as follow.\n\nDo not use user input values to configure reference property values in tags. \n\nIf you need to use the user input, ensure to verify or filter out before using it.",
  "rule.dast.sw.common.4572.name": "Controllable Reference",
  "rule.dast.sw.common.4573.description": "The Missing Cookie HttpOnly Flag vulnerability occurs when the HttpOnly flag is not set in the Set-Cookie or Set-Cookie2 header of an HTTP response message. The HttpOnly flag prevents most cross-site scripting attacks by preventing client scripts from accessing cookies. An attacker can obtain information in a cookie by directly accessing the cookie through a client script. This allows the attacker to obtain cookie information and access the web application with unauthorised privileges, which can be used in cross-site scripting attacks. To address this, you must set the HttpOnly flag in the Set-Cookie or Set-Cookie2 header of the HTTP response message through the web application's settings.",
  "rule.dast.sw.common.4573.name": "Missing Cookie HttpOnly Flag",
  "rule.dast.sw.common.4574.description": "The Missing Cookie Secure Flag vulnerability occurs when the Secure flag is not set in the Set-Cookie or Set-Cookie2 header of an HTTP response message. The Secure flag causes the browser to send cookies only for connections made over the HTTPS protocol using SSL. An attacker can access cookies that are unencrypted and written in plain text. This could allow an attacker to obtain cookie information and access the web application with unauthorised privileges, or use the cookie in a cross-site scripting attack. To address this, you must set the Secure flag in the Set-Cookie or Set-Cookie2 header of the response message through the web application's settings.",
  "rule.dast.sw.common.4574.name": "Missing Cookie Secure Flag ",
  "rule.dast.sw.common.4575.description": "The Credit Card Number Exposure vulnerability allows an attacker to inquire the credit card number on a specific page. This vulnerability is caused when the credit card number exists in the page without further process. The attacker searches for a string in format of the credit card number on a random page in order to carry out the attack. When the attack has succeeded, the attacker can expose the valid credit card number, and abuse the personal information of the card owner.\nThe HTTP response text should not include a credit card number. Please check credit card number disclosure for all HTTP response text components, including plain text and comments.",
  "rule.dast.sw.common.4575.name": "Credit Card Number Exposure",
  "rule.dast.sw.common.4576.description": "The CRLF injection vulnerability exposes information by injecting the characters CR (Carriage Return, ASCII 13) and LF (Line Feed, ASCII 10), which are used by operating systems to represent line feeds, to unintentionally terminate HTTP response messages or source code within a web application. An attacker injects CR and LF into web elements where values are entered for the purpose of tampering with source code within a web application, HTTP response messages, etc. This allows the attacker to abnormally terminate the web application's source code or HTTP response message headers, and possibly inject malicious source code or HTTP response message header values after termination. To work around this, in your HTML, replace user-entered CRs with &#13; and LF with &#10, respectively, in your HTML.",
  "rule.dast.sw.common.4576.name": "CRLF Injection",
  "rule.dast.sw.common.4577.description": "The Cross-domain Script Included vulnerability is caused by untrusted external scripts in a web application. An attacker can include a library or API in your web application that contains malicious code. As a result, the malicious code can run persistently through your web application. To mitigate this, you should avoid including scripts that are not from the web application host. If you must include external scripts, you should create a whitelist to ensure that only allowed scripts are included, or a blacklist to prevent the inclusion of unauthorised scripts.",
  "rule.dast.sw.common.4577.name": "Cross-domain Script Included",
  "rule.dast.sw.common.5770.description": "The Deprecated Component of HTML5 checker finds tags or attributes that are deprecated in HTML5. Incorrect information can be passed to users with brand-new browsers or devices when the deprecated components of HTML5 are used. Do not use the deprecated components of HTML5.",
  "rule.dast.sw.common.5770.name": "Deprecated Component of HTML5",
  "rule.dast.sw.common.5771.description": "The Directory Listing is caused by exposes files or other directories within the server's directory due to a misconfiguration of the web application server. If an attacker sends an HTTP response message to a web application that includes a parameter with a value in the form of a directory, the web application's server directory can disclose its listing vulnerability. Then, the attacker can analyze the resources of a web application through directory listing and access files that contain sensitive information such as temporary files or dump files. To resolve this directory listing, do not put any sensitive information within the directory of the web application server. Alternatively, the directory listing should be prevented for all paths under the web application server through configuration changes in the web application server.",
  "rule.dast.sw.common.5771.name": "Directory Listing",
  "rule.dast.sw.common.5772.description": "The Driver License Number Exposure vulnerability allows an attacker to inquire the driver’s license number on a specific page. This vulnerability is caused when the driver’s license number exists in the page without further process. The attacker searches for a string in format of the driver’s license number on a random page in order to carry out the attack. When the attack has succeeded, the attacker can expose the valid drivers license number, and abuse the personal information of the license owner.\nHTTP response text should not include a driver's license number. Please check driver's license number disclosure for all HTTP response text components, including plain text and comments.",
  "rule.dast.sw.common.5772.name": "Driver License Number Exposure",
  "rule.dast.sw.common.5773.description": "The Email Address Exposure vulnerability is caused by exposing an email address to the body of an HTTP response or DOM. The attacker can exploit the vulnerability to log into the web application or access the web page with the email. The vulnerability allows the attacker to gain access to the web application or web page or send spam mails to the email address. To resolve the vulnerability, ensure to prevent the email address from being exposed on web pages.\nRemove the e-mail address from the HTTP response texts unless it is designed to expose.",
  "rule.dast.sw.common.5773.name": "E-mail Address Exposure",
  "rule.dast.sw.common.5774.description": "The Unvalidated Redirect vulnerability can force an arbitrary user to go to an untrusted external location. This vulnerability is caused by insufficient validation of user input used to configure links. To carry out an attack, an attacker could conduct a phishing attack, for example, to convince an arbitrary user to click a link to a malicious site. If the attack is successful, the attacker can steal and manipulate sensitive information from users who access the malicious site.\nTo prevent vulnerabilities from being introduced by function calls, it is necessary to inspect the argument values when calling functions. Before executing the \"Function Signature to be Analysed\" function, the value of the first argument of the \"Analysed Value Position\" of the function should be checked",
  "rule.dast.sw.common.5774.name": "Unverified Redirection",
  "rule.dast.sw.common.5775.description": "The HTTP Request Forgery vulnerability is caused by an identical HTTP response of a random HTTP request with an HTTP response of an generic HTTP request. Any HTTP request is handled as a GET method in the web application unless a specific method is requested. If a user specifies security settings to cover common HTTP methods only such as GET or POST in the web application, other HTTP request messages might bypass the settings. The attacker exploits the vulnerability to send HTTP requests, and receive responses that is unauthorized or inaccessible for the security settings. This allows the attacker to use or take over features or sensitive information that would not be acquired by a normal request. \nTo address the vulnerability, do not allow a random HTTP request. \n\nWhen you need to allow a random HTTP request, specify its security and permission setting as identical to a generic HTTP request setting, such as an existing method of target request.",
  "rule.dast.sw.common.5775.name": "HTTP Request Forgery",
  "rule.dast.sw.common.5776.description": "The Format String Injection vulnerability occurs where a user's input value is used in a library or function with format strings, allowing an attacker to use format strings. An attacker can use this vulnerability to maliciously enter a format string that represents the information they want to steal, or a format string that exposes stack information. As a result, the attacker could cause a buffer overflow on the web application server, which could cause the web application to abnormally terminate, and steal stack information or sensitive information on the system. To work around this, user input values should not be used in libraries or functions that use format strings, or if they must be used, special symbols such as % that represent format strings should be escaped.\nThe solution is shown as follow.\n\nTo eliminate the format string injection vulnerability, data validation is required when configuring the format string using external data input from the user.\n\nIt is necessary to perform appropriate processing when an error occurs due to the input value, such as checking whether the input data contains a token.\n\nOr, vulnerabilities in a web server, WAS, etc. can be addressed by applying the latest patches provided by each vendor.",
  "rule.dast.sw.common.5776.name": "Format String Injection",
  "rule.dast.sw.common.5777.description": "The Missing XSS Protection Header vulnerability is caused when the X-XSS-Protection header is missing or is not properly specified in an HTTP response. The X-XSS-Protection header stops loading pages when non-persistent cross-site scripting is detected. After the attacker identifies the vulnerability, he might attempt to carry out the non-persistent XSS attack. As a result, the attacker can steal user information or force the server to run unintended actions. To resolve the vulnerability, setting of the web application needs to be changed: add the X-XSS-Protection header and set its value to 0.",
  "rule.dast.sw.common.5777.name": "Missing XSS Protection Header",
  "rule.dast.sw.common.5778.description": "The Host Header vulnerability is caused by manipulating a host header, which directs links to the Host header values to a malicious site. The attacker manipulates the Host header value, and redirects links that uses the Host header value to the malicious site. As a result, the attacker might convince a user to move to the malicious site, steal information by linking a script to the malicious site, or cause unintended behaviors on the web application. To resolve the vulnerability, ensure not to use the the Host header value. When you need to use the value, users must create a whitelist of values to be approved, or create a blacklist to block unauthorized values.\nThe simplest way to resolve the Host header vulnerability is not using the value in the Host header.\n\nIf need to use the Host header value, the Host header value must be first verified and then used.\n\nThere are whitelist methods and black list methods for verifying Host header values. The whitelisting method is to accept only the specified host header value by storing the validated host header values as a list. The blacklist method is to block the specified host header when it comes in by storing the dangerous host header values as a list.\n\nIf uses the Host header value after verifying in various ways, the Host Header vulnerability can be solved.",
  "rule.dast.sw.common.5778.name": "Host Header",
  "rule.dast.sw.common.5779.description": "The Improper Title checker finds improper titles from web pages, frames, content blocks. Users can have troubles to understand contents when web page titles are missing. Visually impaired, cognitive impaired, or severe physically handicapped users can have troubles to understand frames with its focus changed when frame titles are missing. Users can have troubles to identify titles and contents, browse between titles, or understand the contents when content block titles are missing. In addition, visually impaired users can have troubles to use screen readers when two or more duplicated special characters are included in the titles. Need to provide appropriate titles for web pages, frames, and content blocks.",
  "rule.dast.sw.common.5779.name": "Improper Title",
  "rule.dast.sw.common.5780.description": "The Incompatible CSS checker finds that CSS attributes unsupported by some web browsers are used in pages. Diverse information can be passed to users due to CSS attribute handling differences of web browsers with unsupported CSS attributes. Use CSS attributes supported by all major web browsers.",
  "rule.dast.sw.common.5780.name": "Incompatible CSS",
  "rule.dast.sw.common.5781.description": "The Incompatible HTML checker finds that HTML components unsupported by some web browsers are used in pages. Diverse information can be passed to users due to Javascript handling differences of web browsers with unsupported HTML components. Use HTML components supported by all major web browsers.",
  "rule.dast.sw.common.5781.name": "Incompatible HTML",
  "rule.dast.sw.common.5782.description": "The Incompatible Javascript checker finds that Javascript features unsupported by some web browsers are used in pages. Diverse information can be passed to users due to Javascript handling differences of web browsers with unsupported Javascript features. Use Javascript features supported by all major web browsers.",
  "rule.dast.sw.common.5782.name": "Incompatible Javascript",
  "rule.dast.sw.common.5783.description": "The Insufficient Session Termination vulnerability is caused when the session ID expiration period is set too long. The vulnerability is caused by issuing the session ID and setting to be valid for excessively long periods of time. An attacker can check the validity period of the session ID from HTTP request headers in order to conduct the attack. When the attack has succeeded, the attacker can obtain the session ID of a random user from the connection, such as where the user has not logged out, and use the session ID to gain privileges of the user.\nEach session is required to be set to expire after at least 10 minutes.",
  "rule.dast.sw.common.5783.name": "Insufficient Session Termination",
  "rule.dast.sw.common.5784.description": "The Use of Insufficient Random Value vulnerability is caused by inferring a random value due to a lack of ranges in random values. OpenSSL, included to some versions of Debian operating systems, generates a public key with a limited range of random numbers. When HTTPS communication uses a certificate with such a public key, the attacker might predict the key and decrypt the encrypted information. To resolve the vulnerability, you need to use random number generator or APIs that guarantee sufficient ranges of random numbers that is hard to predict for the attacker.\nThe solution is shown as follow.\n\nUse the OpenSSL version without vulnerabilities.\n\nFor more information about the vulnerability and OpenSSL where the vulnerability exists, see below.\n\n```\nhttp://www.securityfocus.com/bid/29179/\n```",
  "rule.dast.sw.common.5784.name": "Use of Insufficient Random Value",
  "rule.dast.sw.common.5785.description": "The Use of Insufficient Key Length vulnerability is caused by allowing an attacker to decrypt keys with inefficient length, even in a validated cryptographic algorithm. In general, encryption algorithms and key generation algorithms are open to the public. Therefore, the attacker can also randomly generate his key. When the key length is short enough, the attacker can calculate the keys and attempt to decrypt them. As a result, the attacker might find the key, check the encrypted information, and manipulate. To resolve the vulnerability, the key length needs to be long enough to make it hard to calculate or obtain the key for the attacker. For symmetric keys, the length needs to be at least 128-bits. The data encryption guidelines recommend to use the RSA algorithm and keys with at least 2,048 bits length.\nThe solution is shown as follow.\n\nA key of certificate for HTTPS connection is required to be at least \"2048\" bit. Update the certificate, or expand the key length.\n\nIn addition, the encryption algorithm and the expiration date of key must be considered.",
  "rule.dast.sw.common.5785.name": "Using Encryption Keys of Insufficient Size",
  "rule.dast.sw.common.5786.description": "The Invalid CSS checker finds contents with CSS standard violations. Diverse information can be passed to users due to page handling differences of browsers with CSS standard violations in pages. Comply the CSS standard in pages.",
  "rule.dast.sw.common.5786.name": "Invalid CSS",
  "rule.dast.sw.common.5787.description": "The Invalid HTML checker finds contents with (X)HTML standard violations in pages. Diverse information can be passed to users due to page handling differences of browsers with (X)HTML standard violations in pages. Comply the (X)HTML standard in pages.",
  "rule.dast.sw.common.5787.name": "Invalid HTML",
  "rule.dast.sw.common.5788.description": "The Invalid Link Text checker finds links with invalid link texts. Users can have troubles to predict responses or browsing pages of links when the link texts are invalid. Need to provide link texts to understand the meaning or usage of the link.",
  "rule.dast.sw.common.5788.name": "Invalid Link Text",
  "rule.dast.sw.common.5789.description": "The JMX/RMI Service Exposure vulnerability is caused when external access to JMX or RMI is allowed without restriction. JMX is Java Management eXtensions, Java APIs that provide tools to monitor application, object, device, or network. RMI is Remote Method Invocation, Remote Procedure Call (RPC) interface in Java. The vulnerability occurs due to insufficient access permission control to the JMX or RMI service. An attacker might try to connect to 1099 port, the default JMX/RMI port, to conduct an attack. When the attack has succeeded, the attacker can gain the admin privilege, steal the internal information of the JVM, and dynamically manipulate the classes in the JVM.\nIf using the JMX / RMI service, access must be controlled so that it can not be accessed from outside without permission.\n\nDo not use default settings including a default port number in JMX/RMI service. Instead of the AJP service's default port number of `1099`, a different port number must be used.",
  "rule.dast.sw.common.5789.name": "JMX/RMI Service Exposure",
  "rule.dast.sw.common.5790.description": "The Local File Inclusion vulnerability is caused by lacking verification on a user input. As a result, the file contents of the system get included in a specific page. The attacker uploads malicious files and injects them to the page, or creates files that contains sensitive information such as passwords and includes the files to the page. When the attack has succeeded, the attacker can steal or manipulate sensitive information on the server, or execute the malicious code.\nTo ensure that a function call does not introduce a vulnerability, it is necessary to check the value of arguments when calling a function. Before executing the \"Analyzing Target Function Signature\" function, the value of the first argument in the \"Analyzing Target Value\" of the function should be checked.",
  "rule.dast.sw.common.5790.name": "Local File Inclusion",
  "rule.dast.sw.common.5791.description": "The Missing Substituting Texts checker finds non-text contents that does not provide substituting texts. Visually impaired users can get incorrect information when substituting texts are missing for non-text contents. Need to provide substituting texts to understand the meaning or usage of non-text contents.",
  "rule.dast.sw.common.5791.name": "Missing Substituting Texts",
  "rule.dast.sw.common.5792.description": "The Default Language Undisplayed checker finds pages without specifying their default languages. Screen readers cannot acknowledge languages to convert into voices or provide pronunciation to them when the default languages are not specified in pages. Specify the default languages of pages.",
  "rule.dast.sw.common.5792.name": "Default Language Undisplayed",
  "rule.dast.sw.common.5793.description": "The Missing Label checker finds labels that are not entered to entry forms. Handicapped users can have troubles to enter materials to entry forms when labels are missing. Need to provide labels for entry forms.",
  "rule.dast.sw.common.5793.name": "Missing Label",
  "rule.dast.sw.common.5794.description": "The Mixed Contents vulnerability is caused when HTTPS web pages contains HTTP contents despite of SSL connection. The HTTP contents might compromise the security of HTTPS web pages. The attacker might attack the insecure HTTP content or convince sniffing to compromise the HTTPS web pages. As a result, the attacker can steal user information or force the web application to run unintended actions. To resolve the vulnerability, avoid using the HTTP contents within HTTPS web pages. When you need to, ensure to use it separately from the HTTPS web pages.",
  "rule.dast.sw.common.5794.name": "Mixed Contents",
  "rule.dast.sw.common.5795.description": "The Non-standard Techniques checker finds that non-standard techniques are used. Users unable to use non-standard techniques can have troubles to apply the techniques when the non-standard techniques are using. Do not use the non-standard techniques in pages.",
  "rule.dast.sw.common.5795.name": "Non-standard Techniques",
  "rule.dast.sw.common.5796.description": "The Missing Entry Unresponded checker finds missing entries that does not have proper responses. Without the proper responses, users can have troubles to identify missing entries. Need to provide appropriate responses for missing entries.",
  "rule.dast.sw.common.5796.name": "Missing Entry Unresponded",
  "rule.dast.sw.common.5797.description": "The OPTIONS Method causes a current web server to return a result of the available HTTP method. When the OPTIONS method is allowed in a request, the attacker can make a more effective attack against the web server. The attacker generates a request with the OPTIONS method and sends the request to the server. As a result, the attacker might receive a normal response to the request from the server, and obtain a list of allowed methods as well. The list is highly likely to be used as material for further attacks. To resolve the vulnerability, you need to take actions to forbid unnecessary requests of the OPTIONS method.\nIt is recommended not to allow a user to request with an OPTIONS method. This requires proper server configuration.",
  "rule.dast.sw.common.5797.name": "Use of Unauthorized OPTIONS HTTP Method",
  "rule.dast.sw.common.5798.description": "The Parameter tampering vulnerability allows an attacker to take a parameter such as URL or FORM tag and change the value. The attacker steals the parameter from the web application and puts values that cause an error to the application database server. The attacker might attempt to converter the parameter of sensitive information in the web application. This allows the attacker to put a malicious value in a parameter, and cause the web application to process it, which can take over the session or inputs from other users. To resolve the vulnerability, strengthen the validation by placing limits on the parameter. Also make a whitelist allowing only known trusted values or blacklist denying known, malicious inputs for the parameter.",
  "rule.dast.sw.common.5798.name": "Parameter Tampering",
  "rule.dast.sw.common.5799.description": "The Passport Number Exposure vulnerability allows an attacker to inquire the passport number on a specific page. This vulnerability is caused when the passport number exists in the page without further process. The attacker searches for a string in format of the passport number on a random page in order to carry out the attack. When the attack has succeeded, the attacker can expose the valid passport number, and abuse the personal information of the passport owner.\nThe HTTP response text should not include a passport number. Please check passport number disclosure for all HTTP response text components, including plain text and comments.",
  "rule.dast.sw.common.5799.name": "Passport Number Exposure",
  "rule.dast.sw.common.5800.description": "The Password Autocomplete vulnerability is caused by a function that automatically completes the password for the convenience of the user. The attacker uses a tag such as a form with password autocomplete to make the password autocompleted. Also steals information from other users on publicly-used devices. This allows an attacker to access other accounts or exploit information. To resolve the vulnerability, you need to add the autocomplete attribute with off value for the form tag or any password input tag. When the autocomplete attribute is set to off, it will prevent password from being autocompleted or stored in cache.",
  "rule.dast.sw.common.5800.name": "Password Autocomplete",
  "rule.dast.sw.common.5801.description": "The Path Traversal vulnerability is caused by generating directory path strings with user inputs, which exposes file systems behind the top-level directory. In most filesystems, an attacker can put either \"..\", that represents a parent directory, or \"/\", that represent a directory, as an input of directory path strings. As a result, an attacker might access the file system over the root directory of the web application and steal information about source code or system files. To resolve the vulnerability, the user input ​​should not be used to access files and directories in the file system. If you need to use the user input, you must change the characters including \"..\" or \"/\" that have meaning in the file system.\nThe solution is shown as follow.\n\nIt is best to eliminate cases that access paths that contain external input values.\n\nIf it cannot be eliminated, verify and filter the input value.",
  "rule.dast.sw.common.5801.name": "Path Traversal",
  "rule.dast.sw.common.5802.description": "The PHF CGI Remote Command Execution Vulnerability may allow the execution of the PHF CGI program by sending a GET request that contains certain shell metacharacters. The attacker might use the vulnerability to execute malicious shellcode on a remote server with the privileges of the httpd process. As a result, the attacker accesses restricted files within the server, modifies or create specific files. To resolve the vulnerability, do not use the CGI programs that use the escape_shell_cmd() function, or modify the CGI programs not not to use the function.\nTo resolve the vulnerability, please follow these guidelines.\n\nDo not use a vulnerable CGI program such as PHF that uses the 'escape_shell_cmd ()' function.\n\nIf the program must be used, modify the CGI program so that it does not use the 'escape_shell_cmd ()' function.",
  "rule.dast.sw.common.5802.name": "PHF CGI Remote Command Execution",
  "rule.dast.sw.common.5803.description": "The Predictable Sessions vulnerability is caused when a session ID is issued on a rule, and the rule allows others to predict a specific session ID. The vulnerability is caused by using an overly simple rule for the session IDs. The attacker compares multiple session IDs that can be obtained from various environment changes in order to perform the attack. When the attack has succeeded, the attacker can obtain the session ID of a random user from repeated connections, and use the session ID to gain privileges of the user.\nA different session ID must be issued for client's each login attempt. Session ID must be specified with unpredictable arbitrary values.",
  "rule.dast.sw.common.5803.name": "Predictable Sessions",
  "rule.dast.sw.common.5804.description": "The Individual Address Exposure vulnerability exposes an IP address on a web page. An attacker can use an individual IP address exposed on a web page to attack a web application. As a result, an attacker uses an individual IP address of the web application in order to perform an attack, which cannot be conducted with the public IP of the web application. Also, the attacker steals information from the web application or accesses to the web application with unauthorized privileges. To prevent the vulnerability, users should not use the individual IP address in a web application. Ensure to check that the individual IP address is not exposed. When you need to use the individual IP address, replace it with another identifier.",
  "rule.dast.sw.common.5804.name": "Individual Address Exposure",
  "rule.dast.sw.common.5805.description": "The Remote File Inclusion vulnerability is caused by using a user input for file upload or execution. An attacker might upload or execute the file that contains malicious code. The remote file inclusion vulnerability allows the attacker to continuously execute malicious code in the web application by uploading the file with malicious code. As a result, the attacker might check or manipulate information on the server without privileges. This may lead to leakage of personal information, manipulation of important information, or financial damage. To resolve the vulnerability, you should not use the user input for the file upload and execution. If you need to use the user input, create whitelists to include and execute only authenticated files, or create blacklists to exclude unauthorized files.",
  "rule.dast.sw.common.5805.name": "Remote File Inclusion",
  "rule.dast.sw.common.5806.description": "The Social Security Number Exposure vulnerability allows an attacker to inquire the social security number on a specific page. This vulnerability is caused when the social security number exists in the page without further process. The attacker searches for a string in format of the social security number on a random page in order to carry out the attack. When the attack has succeeded, the attacker can expose the valid social security number, and abuse the personal information of the social security number owner.\nThe HTTP response text should not include a social security number. Please check social security number disclosure for all HTTP response text components, including plain text and comments.",
  "rule.dast.sw.common.5806.name": "Social Security Number Exposure",
  "rule.dast.sw.common.5807.description": "The Important System Information in Comments vulnerability is caused by including important information on comments that is visible through a browser. An attacker might use 'View Source' on the browser to check HTML comments. The attacker might also check that important system information is included in the comments. As a result, the attacker might use the system information contained in the comments for another attack. Although the vulnerability might be insignificant by itself, it allows the attacker to conduct more accurate attacks, which will elevate security risk. To resolve the vulnerability, review the comments and make sure to remove sensitive information. Also, ensure to use server-side comments instead of the HTML comments. As the server-side comments will not be exposed on the browser.\nThe solution is shown as follow.\n\nComments may contain sensitive information, such as passwords. The information can be easily checked by the user through the view source function of the browser.\n\nTo prevent this information disclosure, do not use the following comments:\n\n```\n<!-- HTML comments here -->\n/* JavaScript comments here */\n```\n\nInstead, use the following server-side comments which cannot be viewed from clients:\n\n```\n<%-- Server-side comments here --%>\n```",
  "rule.dast.sw.common.5807.name": "Sensitive System Information Included in the Comment",
  "rule.dast.sw.common.5808.description": "The Sensitive Information in Error Pages is a vulnerability that exposes sensitive information on the server in error pages. This vulnerability can be caused by insufficient review and handling of error pages containing sensitive information. The sensitive information exposed in the error page allows a user to characterise the server and perform further attacks. In such cases, the user may suffer secondary damage such as leakage or forgery of sensitive information on the server due to further attacks.",
  "rule.dast.sw.common.5808.name": "Sensitive Information in Error Pages",
  "rule.dast.sw.common.5809.description": "The Sensitive Information in Meta Tag vulnerability is caused when sensitive information is contained in a Meta tag of a specific page of the application. The sensitive information exists within the Meta tag during development or testing step. The unremoved information can be a cause to the vulnerability. In order to perform the attack, the attacker inquires sensitive information in the Meta tag from outside the site including search engines. When the attack has succeeded, the attacker can view the sensitive information and use the stolen information to carry out more attacks.\nDo not expose version information for server components. The {0} tag should not contain sensitive information, as it can be referenced by external sites.",
  "rule.dast.sw.common.5809.name": "Sensitive Information in Meta Tag",
  "rule.dast.sw.common.5810.description": "The Sensitive Information in Plain Text vulnerability is caused by passing sensitive information in plain text. An attacker can intercept data that is transmitted in plaintext during communication. For the attack, the attacker use tools i.e. packet sniffing. To resolve the vulnerability, sensitive information such as personal information or authentication information must be encrypted for the transmission. To transmitting the sensitive information, you can communicate with the HTTPS protocol by using SSL or TLS.\nThe solution is shown as follow.\n\nIn order to prevent unintentional exposure, sensitive information must be transmitted with encryption.\n\nCryptographic transmission of sensitive information is possible by using the HTTPS protocol using SSL.\n\nAlternatively, after encrypting the information, then it can be sent over the HTTP protocol.",
  "rule.dast.sw.common.5810.name": "Sensitive Information in Plain Text",
  "rule.dast.sw.common.5811.description": "The SSI injection is an attack where the attacker's input is sent to the web application's server by SSI to execute malicious code. The SSI, Server Side Includes, is a simple server scripting language that is interpreted by a web server and sent to a browser in addition to HTML tags. The attacker attempt to execute malicious code in the web application by entering the SSI with malicious code. This allows an attacker to perform OS commands with the user's privileges on the web server, or to include malicious files on the page. To resolve the vulnerability, you should not use the user input for the SSI. If you need to use user input, you should allow the specific SSI directives on the specific required page.",
  "rule.dast.sw.common.5811.name": "SSI Injection",
  "rule.dast.sw.common.5812.description": "The Session Fixation vulnerability is caused when a fixed session ID is issued to a client. The vulnerability is caused by the lack of logic to generate a variable session ID. The attacker can guess and steal the session ID of an arbitrary user. The attacker can use the stolen session ID to gain the privilege of a specific user.\nA different session ID must be issued for each login attempt from the client. Session ID must be specified with unpredictable arbitrary values.\n\nExpiration period must be set for each session ID.",
  "rule.dast.sw.common.5812.name": "Fixed Session",
  "rule.dast.sw.common.5813.description": "The Session ID in URL vulnerability is caused when a session ID is exposed within the URL. An attacker exploits the vulnerability to steal the exposed session ID from other users. As a result, the attacker might execute the web application with an unauthorized privilege that is gained from other users. While maintaining the privilege, the attacker can browse to the other urls of the web application. To resolve the vulnerability, ensure not to expose the session ID in the URL. Also, set an expiration on the session in order to prevent persistent damage from the exposed session ID.",
  "rule.dast.sw.common.5813.name": "Session ID in URL",
  "rule.dast.sw.common.5814.description": "The Session Reuse vulnerability allows an attacker to bypass authentication when a specific session ID is set. The vulnerability is caused by the authentication logic that uses the session ID only regardless of the client environment. The attacker can steal or guess the session ID of an arbitrary user in a specific environment in order to carry out the attack. When the attack has succeeded, the attacker can use the stolen session ID to gain the privilege of a specific user.\nA different session ID must be issued for client's each login attempt. Session ID must be specified with unpredictable arbitrary values.\n\nExpiration period must be set for each session ID.",
  "rule.dast.sw.common.5814.name": "Session Reuse ",
  "rule.dast.sw.common.5815.description": "The Slowloris HTTP DoS vulnerability allows an attacker to send multiple HTTP GET requests that contain incomplete headers, and seize HTTP connections available on the server. The vulnerability is caused by insufficient connection control i.e. the number of concurrent accesses or access timeout. The attacker might remove CRLF from the end of the header, and send the HTTP requests to the server with a interval in order to conduct the attack. When the attack has succeeded, the attacker runs out of the HTTP connections available on the server, causing the server to refuse responses for the requests from normal users.\nEnsure a single HTTP request does not occupy the session for too long by adjusting the timeout value for each HTTP request to a reasonable level. If there is a problem with timeout setting, traffic failure prevention is possible via web cache software.",
  "rule.dast.sw.common.5815.name": "Slowloris HTTP DOS",
  "rule.dast.sw.common.5816.description": "The Slow HTTP POST vulnerability allows an attacker to split an HTTP POST into several requests, and seize HTTP connections available on the server. The vulnerability is caused by insufficient connection control i.e. the length of request body, the number of concurrent accesses, or access timeout. The attacker sets Content-Length header of the HTTP POST request to extremely large, and divides the body of the HTTP request into small segments and transmit the segments slowly. When the attack has succeeded, the attacker runs out of the HTTP connections available on the server, causing the server to refuse responses for the requests from normal users.\nEnsure a single HTTP request does not occupy the session for too long by adjusting the timeout value for each HTTP request to a reasonable level. If there is a problem with timeout setting, traffic failure prevention is possible via web cache software.\n\nUpper limit of the \"Content-Length\" header value for each HTTP request must be specified. If the value of the \"Content-Length\" header in any HTTP request exceeds the upper limit, HTTP request processing must be rejected.",
  "rule.dast.sw.common.5816.name": "Slow HTTP POST",
  "rule.dast.sw.common.5817.description": "The Snoop Servlet Information Exposure vulnerability causes a leak of server information from the Snoop servlet. The Snoop Servlet has vulnerability to leak important information such as host of server, server version and path by request modification. The same vulnerability exists in Apache Tomcat 3.0, 3.1 and IBM WebSphere 8.0 and earlier versions that use these Snoop servlets. The attacker attempts to access the URL where the Snoop servlet is supposed to be located. The attacker might steal the sensitive information of the server. As a result, the attacker might use the compromised information to launch other serious attacks such as cross-site scripting and SQL injection. To resolve the vulnerability, you should avoid the vulnerable Snoop servlets or web servers that use the Snoop servlets.\nThe solution is shown as follow.\n\nTo prevent unintentional exposure, pages with Snoop-related information require to control accesses.",
  "rule.dast.sw.common.5817.name": "Snoop Servlet Information Exposure",
  "rule.dast.sw.common.5818.description": "The SQL Injection vulnerability is caused by inserting an arbitrary string into the SQL query statement. The vulnerability is caused by using user inputs to configure database queries without verification. An attacker sends malicious data that causes a server abnormal processing for DB data in order to perform the attack. When the attack has succeeded, the attacker can steal the database information, manipulate the information, and execute administrative commands on the database.",
  "rule.dast.sw.common.5818.name": "SQL Injection",
  "rule.dast.sw.common.5819.description": "The Temporary File Disclosure vulnerability is caused when a unintended user accesses to a temporary file that is generated by a developer or development tool. An attacker uses the vulnerability to access to the temporary file. With the vulnerability, the attacker might check to the temporary file with permission to access, and steal important information of the server within the file. To resolve the vulnerability, unnecessary temporary files should be removed and arbitrary users should not be able to access them.\nThe best way to resolve a temporary file disclosure vulnerability is to remove unnecessary temporary files. When a temporary file is needed, the access to the temporary file should not be allowed to unauthorized users. In addition, the Django, or Spring framework handles requests after mapping URL patterns and their controllers, which prevents temporary files from disclosure.",
  "rule.dast.sw.common.5819.name": "Temporary File Disclosure",
  "rule.dast.sw.common.5820.description": "The Apache Tomcat example vulnerability is caused by exposing an JSP sample pages of Apache Tomcat with the Cross-site Scripting vulnerabilities. An attacker attempts to access a directory such as /examples/ where the Apache Tomcat examples are located. This allows the attacker to access the Apache Tomcat sample pages. As a result, attackers abuses the other critical vulnerabilities such as cross-site scripting on the Apache sample pages. To resolve the vulnerability, you need to block access to the main page of Apache Tomcat. When an access is required, ensure to allow users with permission to access.\nTo prevent the Apache Tomcat example vulnerability, access to the Apache Tomcat default page must be blocked by default.",
  "rule.dast.sw.common.5820.name": "Apache Tomcat Example ",
  "rule.dast.sw.common.5821.description": "The Lack of Password Attempt Limit vulnerability is caused when the number of password retries is not restricted during authentication. The vulnerability is caused when the authentication errors occur too frequently or repeatedly due to password mismatch. The attacker guesses a random user account and repeatedly attempts to log into the account with random passwords. When the attack has succeeded, the attacker can gain the privilege of the user who attempts the authentication.\nA login-related action must be taken before at least `5` times of the repeated logins are attempted on the target page. For example, restricting the logins, printing out a warning messages, or directing to other pages.",
  "rule.dast.sw.common.5821.name": "Lack of Password Attempt Limit",
  "rule.dast.sw.common.5822.description": "The URL Access Control Failure checker finds a direct access to a URL by an unauthorized user due to the lack of access controls for the URL exposed with authentication. When a URL access required an authentication process is not controlled An attacker can access to the URL with an unauthorized ID. The attacker can use the vulnerability to perform privileged actions, steal information or execute abnormal actions. Users must be verified for URL paths to control direct access to the URL by an unauthorized user.\nThe solution is shown as follow.\n\nUsers must be verified for URL paths with access control required.\n\nWhich prevents pages from being exposed by direct access of unauthorized users, and shows a log-in page or error page.",
  "rule.dast.sw.common.5822.name": "URL Access Control Failure",
  "rule.dast.sw.common.5823.description": "The Weak Password vulnerability is caused by using an inefficient password, such as not long enough or too common, so an attacker can guess the password. The attacker uses the vulnerability to find out the password for authentication. This allows the attacker to pass the authentication and interact with the server with privileges for the authentication. To resolve the vulnerability, you need to use a long enough password, and avoid using a widely used password. To increase complexity of the password, it is recommended to include uppercase, lowercase letters, numbers, and special characters.\nTo resolve a weak password vulnerability, an admin must force users to have sufficiently long passwords. Also, make sure to use combination of upper and lower alphabet characters, numbers, and special characters, to create unusual passwords.",
  "rule.dast.sw.common.5823.name": "Weak Password",
  "rule.dast.sw.common.5824.description": "The Web.xml File Exposure vulnerability exposes the web.xml file, a deployment descriptor that contains information about web application. An attacker attempts to access a path named WEB-INF/web.xml where the web.xml file is supposed to be located. When the web.xml gets exposed, the attacker obtains information about the web application including session expiration, initial parameters of servlet context, and error page handling. As a result, the attacker might use the information of the web application to find out vulnerable parts from the web application, and steal the important information of the web application or cause an unintended action. To resolve this, you need to block the access to the web.xml file in WEB-INF.\nTo prevent configuration file exposure vulnerabilities, users must prevent access to the path where the file is located.\n\nIn addition, users must prevent user inputs accessing to the file path. When you need to use them, encode or verify them before using.",
  "rule.dast.sw.common.5824.name": "Web.xml File Exposure",
  "rule.dast.sw.common.5825.description": "The Cross-frame scripting vulnerability makes a user to believe to load a secure page by displaying secure frames only on a page with malicious scripts. An attacker shows a frame for a safe page within a page that contains a malicious script. An attacker shows a frame for a safe page within a page that contains a malicious script. When a user notices that the frame gets brought from the safe page and takes an action on the frame, the malicious script on the page will be executed as well. The attacker might manipulate other actions taken on the page including keystroke, mouse click. The attacker might also steal sensitive information from the user. To resolve this, user inputs need to be validated or filtered on the web application.\nThe solution is shown as follow.\n\nDo not use the user input value when configuring the \"src\" property value of the tag.\n\nIf you need to use the user input, ensure to verify or filter out before using it.",
  "rule.dast.sw.common.5825.name": "Cross-frame Scripting",
  "rule.dast.sw.common.5826.description": "The Xitami Web Server Information Leakage vulnerability enables users to execute tesgcgi.exe file packaged in Xitami 2.5b or earlier versions when the file path is used as a default. The attacker uses the vulnerability to find out system information on a remote server. The attacker might steal the sensitive information of the server. To resolve the vulnerability, either remove the testcgi.exe file or place the file in a location other than the default path of the file.\nTo resolve the vulnerability, please follow these guidelines:\n\nPlease remove testcgi.exe file.\n\nOr, place the file in a location other than the default location.",
  "rule.dast.sw.common.5826.name": "Xitami Web Server Information Leakage",
  "rule.dast.sw.common.5827.description": "The XPath Injection vulnerability is caused by inserting an arbitrary string into the XPath query statement. The vulnerability is caused by using user inputs to configure XPath queries without verification. An attacker sends malicious data that causes a server abnormal processing for XML data in order to perform the attack. When the attack has succeeded, the attacker will figure out the structure of XML data, steal and manipulate the data.",
  "rule.dast.sw.common.5827.name": "XPath Injection",
  "rule.dast.sw.common.5828.description": "The Cross-site Scripting vulnerability is caused by injecting malicious scripts to a web site. The attacker sends a malicious script to the server via a web element, such as text input inside a form. If the server includes that data in the response without validating it, the malicious script is executed in the browser. As a result, the attacker can steal the user's information (session, cookies, etc.) or force the server to take unintended actions. To address this, web applications should validate and filter the values they receive from the user. This means avoiding the use of user input data in tag names, attributes, inside <script> tags, inside <style> tags, inside HTML comments, and so on, as well as performing substitutions or encoding for symbols such as `<`, `>` and so on when they are used.\nThe workarounds are as follows:\n\nTo eliminate non-persistent cross-site scripting vulnerabilities, you need to validate and filter external data entered from users.\n\nBy default, you should not use user-input external data in unauthorised locations, such as the name of a tag or the name of a tag attribute, between <script> tags, between <style> tags, and between HTML comments.\n\nAlternatively, if you must use external data from the user, you must encode the data and use it as follows\n\nWeb page element Encoding when using external data from the user\n\n```\n& --> &amp;\n< --> &lt;\n> --> &gt;\n` --> &quot;\n` --> &#x27;\n/ --> &#x2F;\n```\n\nEncoding is also required when using external data from the user, such as HTML attribute values, URL parameters, JavaScript, CSS values, etc.\n\nJava :\n  \n```java\nString userInput = request.getParameter(`input`);\nif (isValidInput(userInput)) {\n} else {\n}\nboolean isValidInput(String input) {\n    return !input.matches(`.*[<>&\\`].*`);\n}\n```\n\nJSP :\n  \n```\n<%\nString userInput = request.getParameter(`input`);\nif (isValidInput(userInput)) {\n} else {\n}\n%>\n<%\nboolean isValidInput(String input) {\n    return !input.matches(`.*[<>&\\`].*`);\n}\n%>\n```\n\nPHP :\n\n```php\n<?php\n$userInput = $_POST[`input`];\nif (isValidInput($userInput)) {\n} else {\n}\nfunction isValidInput($input) {\n   return !preg_match(`/[<>&\\`]/`, $input);\n}\n?>\n```",
  "rule.dast.sw.common.5828.name": "Cross-site scripting",
  "rule.dast.sw.common.5829.description": "The X-XXS-Nightmare vulnerability allows an attacker to bypass rules of the XSS filter provided by Internet Explorer, inject and execute an malicious script. The XSS filter provided by the IE browser uses a regular expression to replace a string `style` with, for example, `st#le` in order to prevent effect of the string. The attacker uses the regular expression, creates a malicious script that contains </style>, which indicates the end of the tag, and sends the script as a parameter to a page with <style> tag. The attacker uses the regular expression, creates a malicious script that contains </style>, which indicates the end of the tag, and sends the script as a parameter to a page with <style> tag. Then, the XSS filter replaces the parameter sent by the attacker and the </style> tag so that the closing tag disappears. Then, all statements injected behind <style> tag operate just like CSS. Since it is possible to operate the <style> tag under syntactic errors, the malicious script might be executed as well. As a result, the attacker might steal the user information such as session, cookies, etc. To resolve this, user inputs need to be validated or filtered on the web application. (Please refer to the following CVE information: CVE-2015-6144, CVE-2015-6176)\nThe solution is shown as follow.\n\nThe X-XSS-Nightmare(XXN) vulnerability can occur when the `STYLE` element is used.\n\nThe XXN vulnerability occurs in Internet Explorer version 8, 9, or 10 with the XXS filter.\n\nTo prevent the vulnerability from occurring, follow these guidelines:\n\n1. Perform security patches through the following Windows updates:\n\n```\nIE 8~11: KB3116180 (https://technet.microsoft.com/library/security/ms15-124)\nEdge: KB3116184 (https://technet.microsoft.com/library/security/ms15-125)\n```\n\n2. When using Spring Security, vulnerability can be prevented by setting HTTP header. Please see: [https://github.com/spring-projects/spring-security/issues/2330](https://github.com/spring-projects/spring-security/issues/2330)\n\n3. When using Internet Explorer, please use its own feature `Smart Screen Filter`.",
  "rule.dast.sw.common.5829.name": "X-XXS-Nightmare",
  "rule.dast.sw.common.5830.description": "The Missing X-Content-Type-Option vulnerability is caused when the X-Content-Type-Options header with nosniff flag is not specified in an HTTP response. The nosniff flag prevents MIME type sniffing from happening. The MIME type sniffing is a technique used by web browsers to determine the type of MIME when it does not exist or is set to be invalid. An attacker uses the MIME type sniffing and disguises a non-executable MIME type that contains malicious code into an executable MIME type. Then, the malicious code will be executed in a web application. This allows the attacker to upload the malicious code to the web application, causing the web application to repeatedly execute the code. To resolve the vulnerability, you need to put the X-Content-Type-Options header with the value `nosniff` in the HTTP response.",
  "rule.dast.sw.common.5830.name": "Missing X-Content-Type-Option",
  "rule.dast.sw.common.5831.description": "The Missing X-Frame-Option Vulnerability is caused when the X-Frame-Options header does not exist or sets to an invalid value in an HTTP response. The X-Frame-Options header is included in an HTTP response to set the browser renders the page within frame, iframe, or object tag. An attacker attempts clickjacking by rendering a malicious site in the frame, iframe, or object tag. The clickjacking is a type of attack that tricks a user into clicking on disguised element that is different from what he or she thinks. This allows an attacker to reveal a user's information or control a user's computer. To resolve the vulnerability, you need to put the X-Frame-Options header with the correct value in the HTTP response.",
  "rule.dast.sw.common.5831.name": "Missing X-Frame-Option",
  "rule.dast.sw.common.5835.description": "Web cookies are often a major attack vector for malicious users, so applications should use the Secure attribute to protect them.\nOWASP recommends using the Secure attribute. The Secure attribute tells the browser to only send cookies if they are sent over a secure channel, such as HTTPS. This helps protect cookies from being delivered in unencrypted requests. \nAs the Secure attribute does work with HTTPS, not with HTTP: so, you need to change the protocol. You can use the Set-Cookie in the HTTP response to set cookie attributes or JavaScript helps you to set the attributes.",
  "rule.dast.sw.common.5835.name": "Cookie attribute check (Secure)",
  "rule.dast.sw.common.5836.description": "Web cookies are often a major attack vector for malicious users, so applications should use secure attributes to protect them.\nOWASP recommends using the HttpOnly attribute. HttpOnly is used to prevent attacks such as session leakage by making cookies inaccessible to client-side scripts, such as JavaScript. It does not prevent all XSS attacks, but it limits the reach of XSS attack vectors.\nYou can use the Set-Cookie in the HTTP response to set cookie attributes or JavaScript helps you to set the attributes.",
  "rule.dast.sw.common.5836.name": "Cookie attribute check (HttpOnly)",
  "rule.dast.sw.common.5837.description": "Web cookies are often a major attack vector for malicious users, so applications should use security attributes to protect them. \nThe SameSite attribute allows you to choose whether to context restrict the cookie to your own or the same site. This is also used as a way to prevent cross-site request forgery (CSRF). SameSite has a total of three modes \n\n1. Strict: The most restrictive SameSite usage setting, which allows browsers to send cookies only to first-party contexts without top-level navigation. \n2. Lax: The Lax value is less restrictive than Strict. If the URL is the same as the cookie's domain (first-party), the cookie is sent, even if the link comes from a third-party domain. \n3. None: The None value specifies that the browser sends a cookie only if the security attribute is enabled on cross-site requests.\nIt is recommended to set the SameSite to Lax or Strict in order to prevent the CSRF attacks. The Google Chrome has upgraded its default for the SameSite attribute from None to Lax in the update to 80 version. But, if you need to use None, make sure to use the Secure attribute.",
  "rule.dast.sw.common.5837.name": "Cookie attribute check (SameSite)",
  "rule.dast.sw.common.5849.description": "Server Information in HTTP Response Headers Vulnerability occurs when server information is included in HTTP response headers. Depending on its configuration, an application server can include the server's version information in the HTTP response header to deliver a response. A malicious user can then utilize the server's version information to plan an attack.",
  "rule.dast.sw.common.5849.name": "Server information contained in HTTP response headers",
  "rule.dast.sw.common.5850.description": "Directory indexing is a vulnerability that automatically outputs a directory listing when the file for the initial page (index.html, home.html default.asp, etc.) does not exist in a specific directory. If this vulnerability exists, it can expose the list of files in a particular directory via a browser, allowing external access to the structure of the application system, and can pose a serious security risk if configuration files containing sensitive information, etc. are exposed.\n\nApache Tomcat versions prior to 3.2.x or Resim 2.x had a vulnerability that exposed directory indexing pages when typing %3f.jsp in the URL, but these are outdated versions that are not officially supported today, so this will not happen if you use the latest version. Also, you should check all pages, even if they are not the main page, because some special characters can cause problems on subdirectory pages, such as ```Type %2E%2E to go to the parent directory```.\nThe index file will be displayed to the user rather than directory indexing page. In general, index.html, home.html, or default.asp will be treated as an index file. It is secure to disable the directory indexing option in server setting file without special circumstances.\n\nApache :\n\nFirst, create an .htaccess file in the root directory of your web server. Add the following code to the .htaccess file and disable the directory indexing.\n\n```\nOptions -Indexes\n```\n\nPHP :\n\nGenerate an index.php file in a desired directory. Add the following code to the index.php and deny access to the directory.\n\n```php\n<?php\n// deny access to the directory.\nheader(`HTTP/1.0 403 Forbidden`);\necho `Access to this directory is forbidden.`;\n?>\n```",
  "rule.dast.sw.common.5850.name": "Directory indexing",
  "rule.dast.sw.common.5851.description": "SQL injection is an attack that exploits weaknesses in website SQL queries that are completed with user input values, and tampering with the input values to assemble or execute abnormal SQL queries. By causing SQL statements to be executed that the developer did not think of, it is possible to manipulate the database abnormally.\n\nThe malicious SQL query allows an attacker to view or manipulate DBMS or data. Make sure to filter out user inputs. Special characters, such as ```, `;`, `--`, `#`, `/* */` might cause the SQL injection. Do not use them in user inputs.\n\nThe followings are examples to filter out user inputs for each language.\n\nJava:\n\n```\nString userInput = ...\nConnection connection = getConnection();\n\nString sql = ... \ntry (PreparedStatement statement = connection.prepareStatement(sql)) {\n\tstatement.setString(1, userInput); \n\tResultSet resultSet = statement.executeQuery();\n\t...\n\twhile (resultSet.next()) {\n\t\t...\n\t}\n}\n```\n\nJSP:\n\n```\n<%\nString userInput = request.getParameter(`input`);\nConnection connection = getConnection();\n\nString sql = ...\ntry (PreparedStatement statement = connection.prepareStatement(sql)) {\n\tstatement.setString(1, userInput);\n\tResultSet resultSet = statement.executeQuery();\n\t...\n\twhile (resultSet.next()) {\n\t\t...\n\t}\n}\n%>\n```\n\nPHP: \n\n```\n<?php\n$userInput = $_POST[`input`];\n$connection = getConnection();\n\n$sql = ...\n$stmt = $connection->prepare($sql);\n$stmt->execute([$userInput]);\n$result = $stmt->fetchAll();\n...\nforeach ($result as $row) {\n...\n}\n?>\n```",
  "rule.dast.sw.common.5851.name": "SQL Injection",
  "rule.dast.sw.common.5852.description": "XPath injection can distort the meaning of a query statement or change its structure by passing strings that were not intended by the programmer. Hackers can execute arbitrary queries to view unauthorized data, requiring proper filtering logic implementation.\nUse strict validation and allow required characters only in the user inputs to XPath query, and ban special characters that might ruin the XPath queries, such as `(`,`)`,`=`,```,`[`, `]`, `:`, `,`, `*`, `/`. It is safer to use whitelist the inputs instead filter out blacklisted characters.",
  "rule.dast.sw.common.5852.name": "XPath Injection",
  "rule.dast.sw.common.5903.description": "If the Access-Control-Allow-Origin header is set to `*` or `null` in a web application, resources can be accessed from any source, which can expose information to the outside world. Also, if the Access-Control-Allow-Credentials header is set to `true`, requests containing user credentials can be sent to insecure sources. These incorrect CORS settings can result in the exposure of sensitive data.\nThe Access-Control-Allow-Origin header should be limited to specific trusted domains, avoiding settings of `*` or `null`. In addition, the Access-Control-Allow-Credentials header should be set to `true` only when absolutely necessary and configured to allow CORS requests only from specific sources.",
  "rule.dast.sw.common.5903.name": "Incorrect CORS settings",
  "rule.dast.sw.common.5905.description": "If the default page left on the server is exposed to the outside world, an attacker can use it to obtain internal information, such as server settings. This information can help the attacker understand your system and potentially find and exploit additional vulnerabilities.\nModify server settings to prevent external exposure of default pages, sample pages, etc. Specifically, delete unnecessary files or make them externally inaccessible.",
  "rule.dast.sw.common.5905.name": "Exposing the default page",
  "rule.dast.sw.common.6495.description": "Access to the administrator interface created for website management allows you to post, modify, delete, view information, and control service functions without restrictions, so you must strictly control unauthorized access and take sufficient measures to protect the administrator interface.\n\nThe vulnerability detection process is as follows\n1. send a request to the expected path of the admin page.\n2. If the admin page content exists in the received response body, detect the vulnerability.\n\nYou can set the following issue detection rule options for vulnerability detection:\n1. custom admin page path\n2. custom admin page content check regular expression",
  "rule.dast.sw.common.6495.name": "[1-1] Controlling Access to the Admin Page - A. Changing the path and index file",
  "rule.dast.sw.common.6495.option.checker.dast.sw.common.6495.path.attack.description": "Use `Custom Path for Admin Page` to configure URLs, such as http://host.com/ADMIN_PAGE_PATH. The path found in the URL indicates containing the Admin page.",
  "rule.dast.sw.common.6495.option.checker.dast.sw.common.6495.path.attack.name": "Custom Path for Admin Page",
  "rule.dast.sw.common.6495.option.checker.dast.sw.common.6495.path.attack.placeholder": "Please enter a path. Press Enter key to split items.",
  "rule.dast.sw.common.6495.option.checker.dast.sw.common.6495.regex.test.description": "Use the `Custom Regex for Admin Page` to analyze the response body. The regex found in the body indicates containing contents of the admin page.",
  "rule.dast.sw.common.6495.option.checker.dast.sw.common.6495.regex.test.name": "Custom Regex for Admin Page",
  "rule.dast.sw.common.6495.option.checker.dast.sw.common.6495.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "rule.dast.sw.common.6496.description": "Access to the administrator interface created for website management allows you to post, modify, delete, view information, and control service functions without restrictions, so you must strictly control unauthorized access and take sufficient measures to protect the administrator interface.\n\nThe vulnerability detection process is as follows\n1. send a request to the expected path of the admin page.\n2. If the received response body contains the content of the admin page and the request can be sent without SSL, the vulnerability is detected.\n\nYou can set the following issue detection rule options to detect vulnerabilities\n1. custom admin page path\n2. custom admin page content check regular expression",
  "rule.dast.sw.common.6496.name": "[1-1] Controlling Access to the Admin Page - B. Blocking unauthorized access",
  "rule.dast.sw.common.6496.option.checker.dast.sw.common.6496.path.attack.description": "Use `Custom Path for Admin Page` to configure URLs, such as http://host.com/`ADMIN_PAGE_PATH`. The path found in the URL indicates containing the Admin page.",
  "rule.dast.sw.common.6496.option.checker.dast.sw.common.6496.path.attack.name": "Custom Path for Admin Page",
  "rule.dast.sw.common.6496.option.checker.dast.sw.common.6496.path.attack.placeholder": "Please enter a path. Press Enter key to split items.",
  "rule.dast.sw.common.6496.option.checker.dast.sw.common.6496.regex.test.description": "Use the `Custom Regex for Admin Page` to analyze the response body. The regex found in the body indicates containing contents of the admin page.",
  "rule.dast.sw.common.6496.option.checker.dast.sw.common.6496.regex.test.name": "Custom Regex for Admin Page",
  "rule.dast.sw.common.6496.option.checker.dast.sw.common.6496.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "rule.dast.sw.common.6497.description": "If proper session timeout settings are not used, an attacker may be able to conduct abnormal attacks and gain access through session reuse techniques. Sessions should also be properly disposed of upon logout and browser shutdown to reduce the likelihood of attacks through session reuse techniques.\n\nThe vulnerability detection process is as follows\n1. Perform session management checks for logouts as follows.\n a. Attempt a login based on a given login record file, and acquire a session.\n b. Attempt a logout based on a given logout record file, and acquire a session.\n c. Force the session acquired on the first login to the browser.\n d. Detects vulnerabilities if a location that was reachable after the first login is accessible without performing a login.\n2. Perform session management checks on browser exits by\n a. Attempt a login based on a given login record file, and acquire a session.\n b. Restart the browser.\n c. Force the browser to use the session acquired at the first login.\n d. If a location that was reachable after the initial login is accessible without performing a login, it detects a vulnerability.\n \nYou can set the following options to analyze for vulnerability detection\n1. login record files\n2. logout record files\n\nFor vulnerability detection, you can set the following issue detection rule options:\n1. custom session name",
  "rule.dast.sw.common.6497.name": "[1-5] Improper session settings - B. Discarding sessions when you log out and exit the browser",
  "rule.dast.sw.common.6497.option.checker.dast.sw.common.6497.sessions.names.description": "Detect a session matched with the `Custom Session Name`. And perform security checks for the session.",
  "rule.dast.sw.common.6497.option.checker.dast.sw.common.6497.sessions.names.name": "Custom Session Name",
  "rule.dast.sw.common.6497.option.checker.dast.sw.common.6497.sessions.names.placeholder": "Please enter a session name. Press Enter key to split items.",
  "rule.dast.sw.common.6498.description": "If proper session timeout settings are not used, an attacker may be able to conduct abnormal attacks and gain access through session reuse techniques. Sessions should also be properly disposed of upon logout and browser shutdown to reduce the likelihood of attacks through session reuse techniques.\n\nThe vulnerability detection process is as follows\n1. Attempt to log in based on a given login record file, and acquire a session.\n2. Wait for the session timeout period.\n3. Restart the browser.\n4. Force the browser to use the session acquired during the first login.\n5. If the location that was reachable after the first login is accessible without performing a login, detect the vulnerability.\n\nYou can set the following analysis target options for vulnerability detection\n1. login record files\n\nYou can set the following issue detection rule options to detect vulnerabilities\n1. custom session name\n2. custom session timeout (in seconds)",
  "rule.dast.sw.common.6498.name": "[1-5] Improper session settings - D. Confirm that the session timeout setting is granted",
  "rule.dast.sw.common.6500.description": "If proper session timeout settings are not used, an attacker may be able to conduct abnormal attacks and gain access through session reuse techniques. Sessions should also be properly disposed of upon logout and browser shutdown to reduce the likelihood of attacks through session reuse techniques.\n\nThe vulnerability detection process is as follows.\n1. Validate session management for logging-out:\n\ta.  Attempt a log-in based on a given log-in record file, and acquire a session.\n\tb. Wait for the session timeout.\n\tc. Attempt a log-out based on a given log-out record file.\n\td. Attempt a log-in based on a given log-in record file and acquire a session.\n\te. If the two acquired sessions are identical, the vulnerability is detected.\n2. Validate session management for terminating browser:\n\ta.  Attempt a log-in based on a given log-in record file, and acquire a session.\n\tb. Wait for the session timeout.\n\tc. Attempt a log-out based on a given log-out record file.\n\td. Attempt a log-in based on a given log-in record file and acquire a session.\n\te. If the two acquired sessions are identical, the vulnerability is detected.\n\nTo detect vulnerabilities, you can set the following issue detection rule options.\n1. Custom session name\nSession IDs should not be duplicated or reused, and a new session ID should be created for each login.",
  "rule.dast.sw.common.6500.name": "[1-5] Improper Session Settings - C. Vulnerable if the same session ID is created and used for each login.",
  "rule.dast.sw.common.6500.option.checker.dast.sw.common.6500.sessions.names.description": "Detect a session matched with the `Custom Session Name`. And perform security checks for the session.",
  "rule.dast.sw.common.6500.option.checker.dast.sw.common.6500.sessions.names.name": "Custom Session Name",
  "rule.dast.sw.common.6500.option.checker.dast.sw.common.6500.sessions.names.placeholder": "Please enter a session name. Press Enter key to split items.",
  "rule.dast.sw.common.6501.description": "If CORS settings that allow data to be sent and received between different domains are inadequate, they can allow access to network content that is unauthorized.\n\nThe vulnerability detection process is as follows\n1. Detect the vulnerability if the \"Access-Control-Allow-Origin\" header in any of the received response headers is \"*\" or \"null\", or if the \"Access-Control-Allow-Credentials\" header value is \"true\".",
  "rule.dast.sw.common.6501.name": "[1-8] Unvalidated redirects and forwards - C. Verify CORS settings",
  "rule.dast.sw.common.6502.description": "If a user clicks on a link that contains a malicious script, the malicious script can be executed immediately, and the user can carry out the attacker's commands without realizing it. This allows the attacker to collect credentials sessions, cookies, etc. on the user's PC and use them as attack information, or to force the user to access a malware distribution site and download specific malware.\n\nThe vulnerability detection process is as follows\n1. For every text-entry-enabled element present on a given page, define a unique value for each element.\n2. Set that element value to a script tag that causes a specific DOM variable to be assigned the unique value of a random element.\n3. Interact with the page to send the value you set for that element to the server.\n4. After the value is sent, if the value of that DOM variable is actually the same as the assigned value, the vulnerability is detected.",
  "rule.dast.sw.common.6502.name": "[2-2] Reflective XSS - A. Reflective XSS",
  "rule.dast.sw.common.6503.description": "If you configure DB queries with user inputs in all cases where they are available in conjunction with the DB, such as user login, post search and output, and so on, an attacker can insert any query to bypass authentication procedures or view and tamper with internal DB information.\n\nThe vulnerability detection process is as follows\n1. Send a request that can cause a DB error message.\n2. If a DB error message is present in the received response body, the vulnerability is detected.\n\nTo detect vulnerabilities, you can set the following issue detection rule options:\n1. custom DB error message trigger pattern\n2. custom DB error message output checking regular expression",
  "rule.dast.sw.common.6503.name": "[2-3] SQL Injection - A. Error when entering special characters in user-entry fields and parameter values",
  "rule.dast.sw.common.6503.option.checker.dast.sw.common.6503.patterns.attack.description": "Use the `Custom Pattern To Raise DB Error Message` to configure the request parameter. The parameter will raise the DB error.",
  "rule.dast.sw.common.6503.option.checker.dast.sw.common.6503.patterns.attack.name": "Custom Pattern To Raise DB Error Message",
  "rule.dast.sw.common.6503.option.checker.dast.sw.common.6503.patterns.attack.placeholder": "Please enter a pattern that raises DB error messages. Press Enter key to split items.",
  "rule.dast.sw.common.6503.option.checker.dast.sw.common.6503.regex.test.description": "Use the `Custom Regex for DB Error Message` to analyze the response body. The regex found in the body indicates containing contents of the error message.",
  "rule.dast.sw.common.6503.option.checker.dast.sw.common.6503.regex.test.name": "Custom Regex for DB Error Message",
  "rule.dast.sw.common.6503.option.checker.dast.sw.common.6503.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "rule.dast.sw.common.6504.description": "If you construct DB queries with user inputs in all cases where they are available in conjunction with the DB, such as user login, post search and output, and so on, an attacker can insert any query to bypass authentication procedures or view and tamper with internal DB information.\n\nThe vulnerability detection process is as follows\n1. Send a request that always causes a delay when processing a SQL query statement, and a request that does not necessarily cause a delay.\n2. If the difference in processing time between each response received exceeds the expected value, the vulnerability is detected.\n\nTo detect vulnerabilities, you can set the following issue detection rule options\n1. a SQL injection pattern that causes a user-defined latency.\n2. a SQL insertion pattern that does not cause user-defined latency\n3. user-defined expected latency (in seconds)",
  "rule.dast.sw.common.6504.name": "[2-3] SQL Injection - B. Enter attack code in the search and login fields and execute normally",
  "rule.dast.sw.common.6504.option.checker.dast.sw.common.6504.patterns.attack.time_based.false.description": "Configure the request parameters using the `Custom Latency-Free SQL Insertion Pattern`. When processing SQL queries that include these request parameters, it is assumed that they will not cause any latency. If the request parameter causes a delay, the checker may malfunction. Also, note that each value you enter is used in conjunction with the `Custom latency-inducing SQL insertion pattern` option value and the `Custom expected latency` option value, based on the order in which you enter them.",
  "rule.dast.sw.common.6504.option.checker.dast.sw.common.6504.patterns.attack.time_based.false.name": "Custom SQL Injection Pattern Not To Raise Delay",
  "rule.dast.sw.common.6504.option.checker.dast.sw.common.6504.patterns.attack.time_based.false.placeholder": "Please enter a pattern of SQL injection that does not raise delays. Press Enter key to split items.",
  "rule.dast.sw.common.6504.option.checker.dast.sw.common.6504.patterns.attack.time_based.true.description": "Configure the request parameters using the `Custom Latency-inducing SQL Insertion Pattern`. When processing a SQL query statement that includes this request parameter, it is assumed that a certain amount of delay will occur. If the request parameter does not cause a delay, the checker may malfunction. Also, note that each value you enter is used in conjunction with the `Custom latency-inducing SQL insertion pattern` option value and the `Custom expected latency` option value, based on the order in which they are entered.",
  "rule.dast.sw.common.6504.option.checker.dast.sw.common.6504.patterns.attack.time_based.true.name": "Custom SQL Injection Pattern To Raise Delay",
  "rule.dast.sw.common.6504.option.checker.dast.sw.common.6504.patterns.attack.time_based.true.placeholder": "Please enter a pattern of SQL injection that raises delays. Press Enter key to split items.",
  "rule.dast.sw.common.6504.option.checker.dast.sw.common.6504.time.test.expected_delay.description": "`Custom Expected Delay (second)` is time that can be expected to occur while processing `Custom SQL Injection Pattern To Raise Delay`. If this value is too small, the checker may malfunction. Also, note that the checker works in pairs with `Custom SQL Injection Pattern To Raise Delay` and `Custom SQL Injection Pattern Not To Raise Delay` in the order they are entered, so be careful with the order of their input.",
  "rule.dast.sw.common.6504.option.checker.dast.sw.common.6504.time.test.expected_delay.name": "Custom Expected Delay (second)",
  "rule.dast.sw.common.6504.option.checker.dast.sw.common.6504.time.test.expected_delay.placeholder": "Enter time to delay. (unit: sec)",
  "rule.dast.sw.common.6505.description": "If necessary, you can run system commands to configure specific web pages. When constructing these system commands, multiple commands can be chained together using operators such as \"|\", \"&\", \";\", \"'\", etc. If the system commands are configured with user input, an attacker can use operators such as \"|\", \"&\", \";\", \"'\", etc. to insert and execute arbitrary commands, which can have adverse effects such as changing system privileges. Also, if vulnerable functions (e.g., eval(), function(), etc.) are used during development, an attacker can insert arbitrary system commands to gain system privileges or access sensitive information files.\n\nThe vulnerability detection process is as follows\n1. send a request that can cause the execution of operating system commands.\n2. Detect a vulnerability if the result of operating system command execution is present in the received response body.\n\nYou can set the following issue detection rule options to detect vulnerabilities\n1. custom windows operating system command injection pattern\n2. custom windows operating system command execution result check regular expression\n3. custom UNIX operating system command execution result checking regular expression\n4. custom UNIX operating system command injection patterns",
  "rule.dast.sw.common.6505.name": "[2-5] Injection Attacks - A. Command Injection",
  "rule.dast.sw.common.6505.option.checker.dast.sw.common.6505.unix.patterns.attack.description": "Use the `Custom UNIX Command Injection Pattern` to configure the request parameter. This will execute the UNIX ommands including the parameter.",
  "rule.dast.sw.common.6505.option.checker.dast.sw.common.6505.unix.patterns.attack.name": "Custom UNIX Command Injection Pattern",
  "rule.dast.sw.common.6505.option.checker.dast.sw.common.6505.unix.patterns.attack.placeholder": "Please enter a pattern of OS injection. Press Enter key to split items.",
  "rule.dast.sw.common.6505.option.checker.dast.sw.common.6505.unix.regex.test.description": "Use the `Custom Regex for Unix Command` to analyze the response body. The regex found in the body indicates containing results of executing the Unix commands.",
  "rule.dast.sw.common.6505.option.checker.dast.sw.common.6505.unix.regex.test.name": "Custom Regex for UNIX Command",
  "rule.dast.sw.common.6505.option.checker.dast.sw.common.6505.unix.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "rule.dast.sw.common.6505.option.checker.dast.sw.common.6505.windows.patterns.attack.description": "Use the `Custom Windows Command Injection Pattern` to configure the request parameter. This will execute the Windows commands including the parameter.",
  "rule.dast.sw.common.6505.option.checker.dast.sw.common.6505.windows.patterns.attack.name": "Custom Windows Command Injection Pattern",
  "rule.dast.sw.common.6505.option.checker.dast.sw.common.6505.windows.patterns.attack.placeholder": "Please enter a pattern of OS injection. Press Enter key to split items.",
  "rule.dast.sw.common.6505.option.checker.dast.sw.common.6505.windows.regex.test.description": "Use the `Custom Regex for Windows Command` to analyze the response body. The regex found in the body indicates containing results of executing the Windows commands.",
  "rule.dast.sw.common.6505.option.checker.dast.sw.common.6505.windows.regex.test.name": "Custom Regex for Windows Command",
  "rule.dast.sw.common.6505.option.checker.dast.sw.common.6505.windows.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "rule.dast.sw.common.6506.description": "XPath is a language for referencing parts of XML documents and is used by applications to query XML documents. The syntax of queries used by XPath is similar to SQL queries, and the ability to insert expressions inside certain queries can lead to vulnerabilities, such as exposing sensitive information and bypassing access rights.\n\nThe vulnerability detection process is as follows\n1. Send a request that can cause an XPath error message, and then detect the vulnerability if an XPath error message is present in the received response body.\n\nTo detect vulnerabilities, you can set the following issue detection rule options\n1. custom XPath query insertion pattern\n2. custom XPath query statement execution content check regular expression",
  "rule.dast.sw.common.6506.name": "[2-5] Injection Attacks - B. XPath Injection",
  "rule.dast.sw.common.6506.option.checker.dast.sw.common.6506.patterns.attack.description": "Use the `Custom Xpath Injection Pattern` to configure the request parameter. This will execute an Xpath query including the parameter.",
  "rule.dast.sw.common.6506.option.checker.dast.sw.common.6506.patterns.attack.name": "Custom Xpath Injection Pattern",
  "rule.dast.sw.common.6506.option.checker.dast.sw.common.6506.patterns.attack.placeholder": "Please enter a pattern of Xpath query injection. Press Enter key to split items.",
  "rule.dast.sw.common.6506.option.checker.dast.sw.common.6506.regex.test.description": "Use the `Custom Regex for XPath Query` to analyze the response body. The regex found in the body indicates containing results of executing the XPath query.",
  "rule.dast.sw.common.6506.option.checker.dast.sw.common.6506.regex.test.name": "Custom Regex for Xpath Query",
  "rule.dast.sw.common.6506.option.checker.dast.sw.common.6506.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "rule.dast.sw.common.6507.description": "If access to certain pages or subpages is possible by bypassing the authentication process required to access them, it is possible to obtain other users' and administrators' privileges to tamper with and misuse the service or its contents. In addition, if important information such as state information or sensitive data, especially user session information, is stored internally, such as cookies or hidden fields, to perform security functions, it is possible to obtain other users' privileges by tampering with their values.\n\nThe vulnerability detection process is as follows\n1. attempt to log in based on a given login record file, and collect cookies containing user account and group information.\n2. restart the browser and force the browser to set the cookies collected during the first login.\n3. Detect the vulnerability if the location that was reachable after the first login can be accessed without performing a login.\n\nYou can set the following analysis target options for vulnerability detection\n1. login record files\n\nYou can set the following issue detection rule options to detect vulnerabilities\n1. User-defined tamper target cookie name",
  "rule.dast.sw.common.6507.name": "[1-2] Weak authentication and authorization management - C. Check for cookie tampering",
  "rule.dast.sw.common.6507.option.checker.dast.sw.common.6507.cookie.auth.names.description": "Use the `Custom Cookie Name` to poison the cookies. The poisoned cookie will be used to bypass authentication.",
  "rule.dast.sw.common.6507.option.checker.dast.sw.common.6507.cookie.auth.names.name": "Custom Cookie Name",
  "rule.dast.sw.common.6507.option.checker.dast.sw.common.6507.cookie.auth.names.placeholder": "Enter a cookie name. Press Enter key to split items.",
  "rule.dast.sw.common.6508.description": "When processing XML, the contents of files on the server can be included inside the XML through objects that reference external files. If the external file referenced by the object can be tampered with to a sensitive file path, such as \"/etc/passwd\", an attacker can gain access to sensitive information on the server by causing the contents of that file to be output inside the XML.\n\nThe vulnerability detection process is as follows\n1. send a request that can trigger the execution of an XML query statement.\n2. If the result of the XML query statement execution is present in the received response body, the vulnerability is detected.\n\nYou can set the following issue detection rule options to detect vulnerabilities\n1. user-defined XXE injection pattern\n2. custom XML query statement execution content check regular expression",
  "rule.dast.sw.common.6508.name": "[2-5] Injection Attacks - C. XXE Injection",
  "rule.dast.sw.common.6508.option.checker.dast.sw.common.6508.patterns.attack.description": "Use the `Custom XXE Injection Pattern` to configure the request parameter. This will execute an XML query including the parameter.",
  "rule.dast.sw.common.6508.option.checker.dast.sw.common.6508.patterns.attack.name": "Custom XXE Injection Pattern",
  "rule.dast.sw.common.6508.option.checker.dast.sw.common.6508.patterns.attack.placeholder": "Please enter a pattern of XXE injection. Press Enter key to split items.",
  "rule.dast.sw.common.6508.option.checker.dast.sw.common.6508.regex.test.description": "Use the `Custom Regex for XML Query` to analyze the response body. The regex found in the body indicates containing results of executing the XML query.",
  "rule.dast.sw.common.6508.option.checker.dast.sw.common.6508.regex.test.name": "Custom Regex for XML Query",
  "rule.dast.sw.common.6508.option.checker.dast.sw.common.6508.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "rule.dast.sw.common.6509.description": "SSI is the language used to write CGI programs or server-side scripts, and is responsible for instructing the web server to interpret certain syntax in order to serve pages to the user. If you can include inappropriate statements in your HTML document when processing the values of variables that you receive on the server side, the potential exists for the server to execute those statements, resulting in a sensitive data breach.\n\nThe vulnerability detection process is as follows\n1. Send a request that can cause SSI statements to be executed.\n2. Detect the vulnerability if the result of SSI statement execution is present in the received response body.\n\nTo detect vulnerabilities, you can set the following issue detection rule options\n1. custom SSI statement injection pattern.\n2. custom SSI statement execution check regular expression",
  "rule.dast.sw.common.6509.name": "[2-5] Injection Attacks - Ma. SSI Injection",
  "rule.dast.sw.common.6509.option.checker.dast.sw.common.6509.patterns.attack.description": "Use the `Custom SSI Injection Pattern` to configure the request parameter. The parameter might execute the SSI statement.",
  "rule.dast.sw.common.6509.option.checker.dast.sw.common.6509.patterns.attack.name": "Custom SSI Injection Pattern",
  "rule.dast.sw.common.6509.option.checker.dast.sw.common.6509.patterns.attack.placeholder": "Please enter a pattern of attacks. Press Enter key to split items.",
  "rule.dast.sw.common.6509.option.checker.dast.sw.common.6509.regex.test.description": "Use the `Custom Regex for SSI Command` to analyze the response body. The regex found in the body indicates containing results of executing the SSI commands.",
  "rule.dast.sw.common.6509.option.checker.dast.sw.common.6509.regex.test.name": "Custom Regex for SSI Command",
  "rule.dast.sw.common.6509.option.checker.dast.sw.common.6509.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "rule.dast.sw.common.6510.description": "If you leave vulnerable services and unnecessary ports open to the outside world, they can be used to exploit related vulnerabilities. In particular, if you leave ports that are known to allow remote connections, such as FTP (21), SSH (22), DB, and Remote Desktop (3389), open to external access, these ports can be used for account impersonation attacks, and sensitive information on your server can be compromised.\n\nThe vulnerability detection process is as follows\n1. If a port that does not fall under any of the user-defined excluded ports is available for connection within the connection timeout time, the vulnerability is detected.\n\nYou can set the following issue detection rule options for vulnerability detection:\n1. user-defined socket connection timeout (in milliseconds)\n2. user-defined excluded ports",
  "rule.dast.sw.common.6510.name": "[2-7] Misc - B. Open Unnecessary Ports",
  "rule.dast.sw.common.6510.option.checker.dast.sw.common.6510.port.excluded.description": "Use the `Custom Excluded Port` to exclude the ports from validation. The ports need permission to be accessed.",
  "rule.dast.sw.common.6510.option.checker.dast.sw.common.6510.port.excluded.name": "Custom Excluded Port",
  "rule.dast.sw.common.6510.option.checker.dast.sw.common.6510.port.excluded.placeholder": "Enter a port number. Press Enter key to split items.",
  "rule.dast.sw.common.6510.option.checker.dast.sw.common.6510.socket.timeout.description": "Wait for the socket connection to be established for the time in milliseconds corresponding to the `Custom Socket Connection Timeout`.",
  "rule.dast.sw.common.6510.option.checker.dast.sw.common.6510.socket.timeout.name": "Custom Socket Timeout (millisecond)",
  "rule.dast.sw.common.6510.option.checker.dast.sw.common.6510.socket.timeout.placeholder": "Enter time for the timeout (in seconds).",
  "rule.dast.sw.common.6511.description": "phpMyAdmin is prone to a variety of vulnerabilities, including XSS, directory traversal, cookie tampering, and more, and the existence of these vulnerabilities is constantly being made known, making it highly susceptible to exploitation by attackers.\n- Exploitable due to creation of global variables in export.php $_POST in phpMyAdmin 4.x and earlier\n- Cookie values can be reused on servers with $cfg['ArbitraryServerRegexp'] setting in phpMyAdmin 4.6.x and earlier\n- Vulnerability in Import.php script global variable injection in phpMyAdmin 4.0.x and earlier allows attackers to manipulate configuration parameters\n- Malicious script via script/setup.php file in phpMyAdmin 3.1.x and earlier allowed external attack via nobody or apache privileges in /tmp, /var/tmp folders\n- XSS vulnerability in the libraries/display_export.lib.php file in phpMyAdmin 3.4.8 and earlier\n- XSS vulnerability in sql.php, db_printview.php, and other files in phpMyAdmin 2.3.x and earlier.\n- Directory search possible using syntax like [/db_details_importdocsql.php?submit_show=true&do=import&docpath=../../../]\n- phpMyAdmin versions prior to 2.3.x stored credentials in plain text in cookies, allowing an attacker to gain administrator privileges via administrator cookie information using XSS techniques\n\nThe vulnerability detection process is as follows\n1. send a request to the expected path of a phpMyAdmin related page.\n2. if phpMyAdmin related page content is present in the received response body, the vulnerability is detected.\n\nYou can set the following issue detection rule options for vulnerability detection:\n1. custom phpMyAdmin related page path.\n2. custom phpMyAdmin related page content check regular expression",
  "rule.dast.sw.common.6511.name": "[2-7] Other - C. Restrict phpMyAdmin usage",
  "rule.dast.sw.common.6511.option.checker.dast.sw.common.6511.path.attack.description": "Use `Custom Path for phpMyAdmin Page` to configure URLs, such as http://host.com/PHP_MY_ADMIN_PAGE_PATH. The path found in the URL indicates containing the phpMyAdmin page.",
  "rule.dast.sw.common.6511.option.checker.dast.sw.common.6511.path.attack.name": "Custom Path for phpMyAdmin Page",
  "rule.dast.sw.common.6511.option.checker.dast.sw.common.6511.path.attack.placeholder": "Please enter a path. Press Enter key to split items.",
  "rule.dast.sw.common.6511.option.checker.dast.sw.common.6511.regex.test.description": "Use the `Custom Regex for phpMyAdmin Page` to analyze the response body. The regex found in the body indicates containing contents of the phpMyAdmin page.",
  "rule.dast.sw.common.6511.option.checker.dast.sw.common.6511.regex.test.name": "Custom Regex for phpMyAdmin Page",
  "rule.dast.sw.common.6511.option.checker.dast.sw.common.6511.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "rule.dast.sw.common.6512.description": "Adobe discontinued support for Adobe Flash Player on December 31, 2020. If you are currently using Adobe Flash Player, you may be at risk of new malware and ransomware infections, hacks, and other threats that exploit unaddressed security vulnerabilities. Service providers should stop using Adobe Flash Player in their services and replace it with web standard technologies such as HTML5, WebGL, and WebAssembly.\n\nThe vulnerability detection process is as follows\n1. Detect the vulnerability if anything related to Adobe Flash Player is present in the body of the response received.\n\nYou can set the following issue detection rule options for vulnerability detection:\n1. a custom Adobe Flash Player-related content check regular expression.",
  "rule.dast.sw.common.6512.name": "[2-7] Other - Tea. Restrict the use of Adobe Flash Player",
  "rule.dast.sw.common.6512.option.checker.dast.sw.common.6512.regex.test.description": "Use the `Custom Regex for Adobe Flash Player` to analyze the response body. The regex found in the body indicates containing contents of the Adobe Flash Player.",
  "rule.dast.sw.common.6512.option.checker.dast.sw.common.6512.regex.test.name": "Custom Regex for Adobe Flash Player",
  "rule.dast.sw.common.6512.option.checker.dast.sw.common.6512.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "rule.dast.sw.common.6513.description": "If you expose the name or path of the file you pass to the server when providing file download functionality, an attacker could manipulate it to gain access to system files and unauthorized files that reside in the parent path of the application's working directory.\n\nThe vulnerability detection process is as follows\n1. send a request that includes a sensitive file path in the parameter value.\n2. Detect the vulnerability if the critical file contents are present in the received response body.\n\nYou can set the following issue detection rule options for vulnerability detection:\n1. user-defined critical file path reference pattern\n2. a custom critical file content check regular expression",
  "rule.dast.sw.common.6513.name": "[3-1] Directory path traversal - A. When downloading a file, the download path and filename are exposed in the parameters, or when downloading an important file is possible.",
  "rule.dast.sw.common.6513.option.checker.dast.sw.common.6513.patterns.attack.description": "Use the `Custom Reference Pattern for Important File Path` to configure the request parameter. The parameter might download a file from the path.",
  "rule.dast.sw.common.6513.option.checker.dast.sw.common.6513.patterns.attack.name": "Custom Reference Pattern for Sensitive File",
  "rule.dast.sw.common.6513.option.checker.dast.sw.common.6513.patterns.attack.placeholder": "Please enter a pattern of attacks. Press Enter key to split items.",
  "rule.dast.sw.common.6513.option.checker.dast.sw.common.6513.regex.test.description": "Use the `Custom Regex for Important File` to analyze the response body. The regex found in the body indicates containing contents of the important file.",
  "rule.dast.sw.common.6513.option.checker.dast.sw.common.6513.regex.test.name": "Custom Regex for Important File",
  "rule.dast.sw.common.6513.option.checker.dast.sw.common.6513.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "rule.dast.sw.common.6514.description": "If you expose the name or path of the file you pass to the server when providing file download functionality, an attacker could manipulate it to gain access to system files and unauthorized files that reside in the parent path of the application's working directory.\n\nThe vulnerability detection process is as follows\n1. aggregate all of the following values among the tags present in the body of the response\n - Text inside the \"Script\" tag\n - The value of the \"value\" attribute of the \"Input\" tag, where the \"type\" attribute value corresponds to \"hidden\"\n2. if any of the aggregated values correspond to a file path, the vulnerability is detected.\n\nTo detect vulnerabilities, you can set the following issue detection rule options\n1. custom file path check regular expression",
  "rule.dast.sw.common.6514.name": "[3-1] Directory path traversal - B. Download path information is hardcoded in hidden fields, javascript, and js files to provide path information and allow critical file downloads.",
  "rule.dast.sw.common.6514.option.checker.dast.sw.common.6514.regex.test.description": "Analyze the response body using a `custom file path check regular expression`. If a match to that regex exists in the response body, it is assumed that file path information exists inside hidden fields and JavaScript areas of the response body.",
  "rule.dast.sw.common.6514.option.checker.dast.sw.common.6514.regex.test.name": "Custom Regex for File Path",
  "rule.dast.sw.common.6514.option.checker.dast.sw.common.6514.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "rule.dast.sw.common.6515.description": "If you expose the name or path of the file you pass to the server when providing file download functionality, an attacker could manipulate it to gain access to system files and unauthorized files that reside in the parent path of the application's working directory.\n\nThe vulnerability detection process is as follows\n1. send a request containing the path to a sensitive file with URL encoding applied to the parameter value.\n2. Detect the vulnerability if the critical file contents are present in the received response body.\n\nYou can set the following issue detection rule options to detect vulnerabilities\n1. user-defined critical file path reference pattern\n2. custom critical file content check regular expression",
  "rule.dast.sw.common.6515.name": "[3-1] Manipulating directory paths - C. When encoding variations allow for moving and downloading higher paths",
  "rule.dast.sw.common.6515.option.checker.dast.sw.common.6515.patterns.attack.description": "Use **encorded URL** for `Custom Reference Pattern for Sensitive File` to configure the request parameter. The parameter might download a file from the path.",
  "rule.dast.sw.common.6515.option.checker.dast.sw.common.6515.patterns.attack.name": "Custom Reference Pattern for Sensitive File",
  "rule.dast.sw.common.6515.option.checker.dast.sw.common.6515.patterns.attack.placeholder": "Please enter a pattern of attacks. Press Enter key to split items.",
  "rule.dast.sw.common.6515.option.checker.dast.sw.common.6515.regex.test.description": "Use the `Custom Regex for Important File` to analyze the response body. The regex found in the body indicates containing contents of the important file.",
  "rule.dast.sw.common.6515.option.checker.dast.sw.common.6515.regex.test.name": "Custom Regex for Important File",
  "rule.dast.sw.common.6515.option.checker.dast.sw.common.6515.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "rule.dast.sw.common.6518.description": "If directory listing is possible, sensitive information and files, URL information, etc. can be exfiltrated through downloads of backup files and compressed files. Directory listing vulnerabilities can be used to gain information inside a server, which can potentially pose a threat to the entire service. If you use CVS (Concurrent Versions System) or SVN (Subversion) to manage your source code, an attacker can bypass the directory listing security measures and obtain directory information through the \"Entries\" file that exists inside the \"/CVS\" or \"/.svn/\" directory.\n\nThe vulnerability detection process is as follows\n1. send a request to the expected path of the directory listing output page.\n2. If the directory listing output is present in the received response body, the vulnerability is detected.\n\nYou can set the following issue detection rule options for vulnerability detection:\n1. custom directory listing output path\n2. custom directory listing output content check regular expression",
  "rule.dast.sw.common.6518.name": "[1-3] Directory Listing - A. Outputting a Directory Listing",
  "rule.dast.sw.common.6519.description": "Because some HTTP methods can pose potential security threats to your web server, ensure that you only use methods that are essential to your operations (such as GET and POST).\n\nThe vulnerability detection process is as follows\n1. Perform the allow-header check as follows.\n     a. send a request to use an OPTIONS method.\n     b. If at least one of \"TRACE\", \"PUT\", or \"DELETE\" is present in the allow-header value of the received response, the vulnerability is detected.\n2. Perform the normal action check for the request with certain methods as follows.\n     a. send a request to use an OPTIONS method.\n     b. If at least one of \"TRACE\", \"PUT\", or \"DELETE\" is present in the allow-header value of the received response, send another request with the method.\n     c. If the response status is normal for the request with the method, the vulnerability is detected.\nOnly use HTTP methods that are mission-critical (GET, POST) and remove vulnerable HTTP methods (PUT, DELETE, TRACE). (OPTIONS and HEAD methods are not vulnerable, but it is recommended not to use them).",
  "rule.dast.sw.common.6519.name": "[3-2] HTTP Method Restrictions - A. Allowing vulnerable methods to be used",
  "rule.dast.sw.common.6520.description": "If the handling of error occurrences is insufficient, directory information and information about various libraries may be exposed. When an exception occurs, you should post a predefined brief and low-information error page and configure a log file that can only be viewed by system and application administrators. In the case of error syntax that occurs in an OLE DB that exists in a third party, it may expose important DB information, so you should perform sufficient verification of the input values and ensure that the error message prepared for the exception is provided correctly.\n\nThe vulnerability detection process is as follows\n1. send a request that can cause a default error page.\n2. If the received response has a status code of 4xx or 5xx, and the server information is present in the body along with the content of the default error page, the vulnerability is detected.\n\nYou can set the following issue detection rule options to detect vulnerabilities\n1. custom default error page path\n2. custom default error page content check regular expression",
  "rule.dast.sw.common.6520.name": "[3-3] Improper error handling - A. Check for HTTP status code and information exposure on the error page",
  "rule.dast.sw.common.6520.option.checker.dast.sw.common.6520.path.attack.description": "Use `Custom Path for Default Error Page` to configure URLs, such as http://host.com/DEFAULT_ERROR_PAGE_PATH. The path found in the URL indicates containing the default error page.",
  "rule.dast.sw.common.6520.option.checker.dast.sw.common.6520.path.attack.name": "Custom Path for Default Error Page",
  "rule.dast.sw.common.6520.option.checker.dast.sw.common.6520.path.attack.placeholder": "Please enter a path. Press Enter key to split items.",
  "rule.dast.sw.common.6520.option.checker.dast.sw.common.6520.regex.test.description": "Use the `Custom Regex for Default Error Page` to analyze the response body. The regex found in the body indicates containing contents of the default error page.",
  "rule.dast.sw.common.6520.option.checker.dast.sw.common.6520.regex.test.name": "Custom Regex for Default Error Message",
  "rule.dast.sw.common.6520.option.checker.dast.sw.common.6520.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "rule.dast.sw.common.6522.description": "If the handling of error occurrences is insufficient, directory information and information about various libraries may be exposed. When an exception occurs, you should post a predefined brief and low-information error page and configure a log file that can only be viewed by system and application administrators. In the case of error syntax that occurs in an OLE DB that exists in a third party, it may expose important DB information, so you should perform sufficient verification of the input values and ensure that the error message prepared for the exception is provided correctly.\n\nThe vulnerability detection process is as follows\n1. Send a request that can cause a DB error message.\n2. If a DB error message is present in the received response body, the vulnerability is detected.\n\nTo detect vulnerabilities, you can set the following issue detection rule options:\n1. user-defined DB error message trigger pattern\n2. custom DB error message content checking regular expression",
  "rule.dast.sw.common.6522.name": "[3-3] Improper Error Handling - Bar. Checking DB error messages",
  "rule.dast.sw.common.6522.option.checker.dast.sw.common.6522.patterns.attack.description": "Use the `Custom Pattern To Raise DB Error Message` to configure the request parameter. The parameter will raise the DB error.",
  "rule.dast.sw.common.6522.option.checker.dast.sw.common.6522.patterns.attack.name": "Custom Pattern To Raise DB Error Message",
  "rule.dast.sw.common.6522.option.checker.dast.sw.common.6522.patterns.attack.placeholder": "Please enter a pattern that raises DB error messages. Press Enter key to split items.",
  "rule.dast.sw.common.6522.option.checker.dast.sw.common.6522.regex.test.description": "Use the `Custom Regex for DB Error message` to analyze the response body. The regex found in the body indicates containing contents of the DB error message.",
  "rule.dast.sw.common.6522.option.checker.dast.sw.common.6522.regex.test.name": "Custom Regex for DB Error Message",
  "rule.dast.sw.common.6522.option.checker.dast.sw.common.6522.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "rule.dast.sw.common.6523.description": "If you hard-code system internal information, such as authentication information and DB access information, into the source or send it to the client in comments, hidden fields, cookies, etc.\n\nThe vulnerability detection process is as follows\n1. If sensitive information is present in the received response body, the vulnerability is detected.\n\nYou can set the following issue detection rule options to detect vulnerabilities:\n1. a user-defined sensitive information check regular expression",
  "rule.dast.sw.common.6523.name": "[3-4] Limit exposure of sensitive information - A. When sensitive information is exposed in comments or plain text in a file or source containing sensitive information",
  "rule.dast.sw.common.6523.option.checker.dast.sw.common.6523.regex.test.description": "Use the `Custom Regex for Sensitive Information` to analyze the response body. The regex found in the body indicates containing contents of the sensitive information.",
  "rule.dast.sw.common.6523.option.checker.dast.sw.common.6523.regex.test.name": "Custom Regex for Sensitive Information",
  "rule.dast.sw.common.6523.option.checker.dast.sw.common.6523.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "rule.dast.sw.common.6524.description": "If you hard-code system internal information, such as authentication information and DB access information, into the source or send it to the client in comments, hidden fields, cookies, etc.\n\nThe vulnerability detection process is as follows\n1. If the \"Server\" header value of the received response contains server information, the vulnerability is detected.\n\nYou can set the following issue detection rule options to detect vulnerabilities:\n1. a custom server version information check regular expression.",
  "rule.dast.sw.common.6524.name": "[3-4] Limiting the exposure of sensitive information - self. Exposing server version information in response headers",
  "rule.dast.sw.common.6524.option.checker.dast.sw.common.6524.regex.test.description": "Use the `Custom Server Version Information Check Regular Expression` to analyze the response body. The regex found in the header indicates containing contents of the server version.",
  "rule.dast.sw.common.6524.option.checker.dast.sw.common.6524.regex.test.name": "Custom Regex for Server Version",
  "rule.dast.sw.common.6524.option.checker.dast.sw.common.6524.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "rule.dast.sw.common.6525.description": "If credentials or sensitive information (social security numbers, transaction information, payment information, etc.) are transmitted in plain text without encryption, attackers can steal and exploit sensitive information through network sniffing.\n\nThe vulnerability detection process is as follows\n1. Explore the form elements that transmit sensitive information on the page under analysis.\n2. If any of these elements send requests without SSL, or if any of them use the GET method with SSL enabled, the vulnerability is detected.",
  "rule.dast.sw.common.6525.name": "[3-5] Encrypted transmission of sensitive information - B. Vulnerable if the administrator interface of an external open service is not protected by encryption, such as SSL.",
  "rule.dast.sw.common.6526.description": "If credentials or sensitive information (social security numbers, transaction information, payment information, etc.) are transmitted in plain text without encryption, attackers can steal and exploit sensitive information through network sniffing.\n\nThe vulnerability detection process is as follows\n1. If service access information is present in the received response body, the vulnerability is detected.\n\nYou can set the following issue detection rule options to detect vulnerabilities:\n1. User-defined service access information check regular expression.",
  "rule.dast.sw.common.6526.name": "[3-5] Encrypted transmission of sensitive information - D. FTP, DB, and system access information is exposed when referring to service structure and specific resource information.",
  "rule.dast.sw.common.6526.option.checker.dast.sw.common.6526.regex.test.description": "Use the `Custom Regex for Service Access` to analyze the response body. The regex found in the body indicates containing contents of the certain service access.",
  "rule.dast.sw.common.6526.option.checker.dast.sw.common.6526.regex.test.name": "Custom Regex for Service Access",
  "rule.dast.sw.common.6526.option.checker.dast.sw.common.6526.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "rule.dast.sw.common.6527.description": "If credentials or sensitive information (social security numbers, transaction information, payment information, etc.) are transmitted in plain text without encryption, attackers can steal and exploit sensitive information through network sniffing.\n\nThe vulnerability detection process is as follows\n1. Perform a certificate and SSL settings scan based on Qualys SSL Labs SSL Server Test.\n2. Detect the vulnerability if insecure settings are present in the scan results for protocol version and cipher suite, certificate key length, certificate validity period, certificate hashing algorithm, and overall assessment rating.\n\nTo detect vulnerabilities, you can set the following issue detection rule options\n1. custom SSL labs Server Test analysis wait time in seconds.\nFor added security, it is recommend to use TLS v1.2 or later. For certificates, it's more secure to use RSA 1024-bit or higher and a hash algorithm based on SHA-2.",
  "rule.dast.sw.common.6527.name": "[3-5] Encrypted transmission of sensitive information - E. Using an insecure version of SSL or TLS",
  "rule.dast.sw.common.6527.option.checker.dast.sw.common.6527.time.waiting.description": "Wait for the `SSL labs Server Test` analysis to complete, waiting for the time in seconds corresponding to the `Custom SSL labs Server Test analysis wait time`.",
  "rule.dast.sw.common.6527.option.checker.dast.sw.common.6527.time.waiting.name": "Custom SSL labs Server Test Timout (second)",
  "rule.dast.sw.common.6527.option.checker.dast.sw.common.6527.time.waiting.placeholder": "Enter time to wait for analyzing. (unit: sec)",
  "rule.dast.sw.common.6528.description": "Through search engines, an unspecified number of people may be able to access pages or posts containing internal information, personal information, error pages, etc.\n\nThe vulnerability detection process is as follows\n1. Send a request against the path \"/robots.txt\".\n2. if the received response status code is not 200, or the \"User-agent\" setting in the received response body does not correspond to the scanning regular expression, or the \"Disallow\" setting does not exist, the vulnerability is detected.\n\nYou can set the following issue detection rule options to detect vulnerabilities\n1. custom User agent set value check regular expression",
  "rule.dast.sw.common.6528.name": "[3-7] Exposing search engine information - B. If the robots.txt file does not exist or does not restrict collection",
  "rule.dast.sw.common.6528.option.checker.dast.sw.common.6528.regex.test.description": "Use the `Custom Regex for User Agent Setting` to analyze the response body. The regex found in the body indicates containing inappropriate settings on `User agent`.",
  "rule.dast.sw.common.6528.option.checker.dast.sw.common.6528.regex.test.name": "Custom Regex for User Agent Setting",
  "rule.dast.sw.common.6528.option.checker.dast.sw.common.6528.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "rule.dast.sw.common.6529.description": "If a directory listing is authorized, it is possible to leak sensitive information, files, and URL information through downloads of backup files and compressed files. Directory listing vulnerabilities can be used to gain information inside a server, which can potentially pose a threat to the entire service. If you use CVS (Concurrent Versions System) or SVN (Subversion) to manage your source code, an attacker can bypass the directory listing security measures and obtain directory information through the \"Entries\" file that exists inside the \"/CVS\" or \"/.svn/\" directory.\n\nThe vulnerability detection process is as follows\n1. send a request to the expected path of the repository listing output page.\n2. If the repository listing output is present in the received response body, the vulnerability is detected.\n\nYou can set the following issue detection rule options for vulnerability detection:\n1. custom repository list output path.\n2. custom repository list output content check regular expression",
  "rule.dast.sw.common.6529.name": "[1-3] Directory Listing - C. Repository Listing Output",
  "rule.dast.sw.common.6529.option.checker.dast.sw.common.6529.path.attack.description": "Use `Custom Path for Repository List` to configure URLs, such as http://host.com/REPOSITORY_LIST_PAGE_PATH. The path found in the URL indicates containing the repository list.",
  "rule.dast.sw.common.6529.option.checker.dast.sw.common.6529.path.attack.name": "Custom Path for Repository List",
  "rule.dast.sw.common.6529.option.checker.dast.sw.common.6529.path.attack.placeholder": "Please enter a path. Press Enter key to split items.",
  "rule.dast.sw.common.6529.option.checker.dast.sw.common.6529.regex.test.description": "Use the `Custom Regex for Repository List` to analyze the response body. The regex found in the body indicates containing contents of the repository list.",
  "rule.dast.sw.common.6529.option.checker.dast.sw.common.6529.regex.test.name": "Custom Regex for Repository List",
  "rule.dast.sw.common.6529.option.checker.dast.sw.common.6529.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "rule.dast.sw.common.6530.description": "Backup and temporary files require attention from administrators and developers. For example, if source or backup files for testing purposes during development are compressed in ZIP, TAR, or other formats due to administrative negligence, an attacker can access and view the contents. Also, if comments in client-side source code or browser console logs expose development and service-related information, it can be used as attack information.\n\nThe vulnerability detection process is as follows\n1. If a tag exists in the response body whose \"href\" attribute value ends with a specific extension, the vulnerability is detected.\n\nYou can set the following issue detection rule options for vulnerability detection:\n1. user-defined file extensions\nDelete all unnecessary files except those that are essential to the operation of the web application.\n\nIt is recommended to search and delete unnecessary extensions such as tar, psd, fla, bak, test, txt, old, zip, date.\n\nEnsure that no unnecessary files are not left after additional development or maintenance after the service goes live. For example, disable contents and services that are installed by default during the initial service installation, delete or change default directories (/htdocs, /cig-bin, etc.), and delete or change default pages (Manual, Sample, etc.), etc.\n\nFiles utilized for the development or test need to be managed on the separate project.",
  "rule.dast.sw.common.6530.name": "[1-4] Backup and temporary file management - a. Existence of development resources, backup files, temporary files, etc.",
  "rule.dast.sw.common.6530.option.checker.dast.sw.common.6530.extensions.description": "Search the page for link addresses that end with an extension that corresponds to the `Custom File Extension`. The address is assumed to be available for downloading files with that particular extension.",
  "rule.dast.sw.common.6530.option.checker.dast.sw.common.6530.extensions.name": "Custom extension",
  "rule.dast.sw.common.6530.option.checker.dast.sw.common.6530.extensions.placeholder": "Enter an extension. Press Enter key to split items.",
  "rule.dast.sw.common.6531.description": "Backup and temporary files require attention from administrators and developers. For example, if source or backup files for testing purposes during development are compressed in ZIP, TAR, or other formats due to administrative negligence, an attacker can access and view the contents. Also, if comments in client-side source code or browser console logs expose development and service-related information, it can be used as attack information.\n\nThe vulnerability detection process is as follows\n1. send a request to the expected path of the default page.\n2. If the default page content is present in the received response body, the vulnerability is detected.\n\nYou can set the following issue detection rule options for vulnerability detection:\n1. user-defined default page path\n2. custom default page content check regular expression",
  "rule.dast.sw.common.6531.name": "[1-4] Backup and Temporary File Management - D. Default Page Existence",
  "rule.dast.sw.common.6531.option.checker.dast.sw.common.6531.path.attack.description": "Use `Custom Path for Default Page` to configure URLs, such as http://host.com/`DEFAULT_PAGE_PATH`. The path found in the URL indicates containing the default page.",
  "rule.dast.sw.common.6531.option.checker.dast.sw.common.6531.path.attack.name": "Custom Path for Default Page",
  "rule.dast.sw.common.6531.option.checker.dast.sw.common.6531.path.attack.placeholder": "Please enter a path. Press Enter key to split items.",
  "rule.dast.sw.common.6531.option.checker.dast.sw.common.6531.regex.test.description": "Use the `Custom Regex for Default Page` to analyze the response body. The regex found in the body indicates containing contents of the default page.",
  "rule.dast.sw.common.6531.option.checker.dast.sw.common.6531.regex.test.name": "Custom regex to check contents of default page",
  "rule.dast.sw.common.6531.option.checker.dast.sw.common.6531.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "rule.dast.sw.common.6532.description": "Backup and temporary files require attention from administrators and developers. For example, if source or backup files for testing purposes during development are compressed in ZIP, TAR, or other formats due to administrative negligence, an attacker can access and view the contents. Also, if comments in client-side source code or browser console logs expose development and service-related information, it can be used as attack information.\n\nThe vulnerability detection process is as follows\n1. If a JavaScript syntax that uses a console-related function is present in the received response body, the vulnerability is detected.\n\nThe following patterns are used by default for vulnerability detection:\n1. Examine the repository list output Regular expressions.",
  "rule.dast.sw.common.6532.name": "[1-4] Backup and temporary file management - c. Debugging information or service information in the browser console is printed out",
  "rule.dast.sw.common.6532.option.checker.dast.sw.common.6532.regex.test.description": "Use `Custom Regex of console Function` to analyze the response body. The regex found in the body indicates containing a call of the console function.",
  "rule.dast.sw.common.6532.option.checker.dast.sw.common.6532.regex.test.name": "Custom Regex of console Function",
  "rule.dast.sw.common.6532.option.checker.dast.sw.common.6532.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "rule.dast.sw.common.6533.description": "If proper session timeout settings are not used, an attacker may be able to conduct abnormal attacks and gain access through session reuse techniques. Sessions should also be properly disposed of upon logout and browser shutdown to reduce the likelihood of attacks through session reuse techniques.\n\nThe vulnerability detection process is as follows\n1. Attempt to log in based on a given login record file, and acquire a session.\n2. Wait for the session timeout period.\n3. Restart the browser.\n4. Force the browser to use the session acquired during the first login.\n5. If the location that was reachable after the first login is accessible without performing a login, detect the vulnerability.\n\nYou can set the following analysis target options for vulnerability detection\n1. login record files\n\nYou can set the following issue detection rule options to detect vulnerabilities\n1. custom session name\n2. custom session timeout (in seconds)",
  "rule.dast.sw.common.6533.name": "[1-5] Improper Session Settings - A. Set a baseline for session persistence",
  "rule.dast.sw.common.6534.description": "If proper session timeout settings are not used, an attacker may be able to conduct abnormal attacks and gain access through session reuse techniques. Sessions should also be properly disposed of upon logout and browser shutdown to reduce the likelihood of attacks through session reuse techniques.\n\nThe vulnerability detection process is as follows\n1. Attempt to log in based on a given login record file, and acquire a session.\n2. Wait for the session timeout period.\n3. Restart the browser.\n4. Force the browser to use the session acquired during the first login.\n5. If the location that was reachable after the first login is accessible without performing a login, detect the vulnerability.\n\nYou can set the following analysis target options for vulnerability detection\n1. login record files\n\nYou can set the following issue detection rule options to detect vulnerabilities\n1. custom session name\n2. custom session timeout (in seconds)",
  "rule.dast.sw.common.6534.name": "[1-5] Improper session settings - B. Set application session timeout",
  "rule.dast.sw.common.6537.description": "If directory listing is allowed, an attacker can easily obtain a list of files in a directory. This can expose sensitive information, such as backup files or compressed files, and reveal information about the internal structure of the server, which can lead to further attacks. In particular, if a version control system (CVS, SVN, etc.) is exposed, internal directory information can easily be compromised.\nDisable directory listings on your web server and set up appropriate access controls on your server to protect sensitive files from being exposed to the outside world. Delete unnecessary backups and temporary files, and make directories in your version control system (CVS, SVN, etc.) inaccessible to the outside world to prevent internal information leaks.",
  "rule.dast.sw.common.6537.name": "Directory listings",
  "rule.dast.sw.common.6538.description": "If temporary files, backup files, log files, etc. left on your server are exposed to the outside world, an attacker could download them and obtain internal configuration files, user data, or preferences. This information can provide additional attack clues to your system.\nPrevent information exposure by removing temporary files, backup files, log files, etc. that are not needed. It is also recommend to apply an automated process to periodically delete these files to ensure they do not remain on the server.",
  "rule.dast.sw.common.6538.name": "Exposing unnecessary temporary files",
  "rule.dast.sw.common.6539.description": "Reflected XSS occurs when a user clicks a link that contains a malicious script. If the script is executed, the attacker can steal the user's credentials or cookies, or they can redirect the user to a malicious site.\nYou should prevent malicious scripts from being executed by performing validation and encoding on the values entered by the user.",
  "rule.dast.sw.common.6539.name": "Reflective XSS",
  "rule.dast.sw.common.6540.description": "SQL Injection occurs when a user manipulates a DB query statement by inserting certain characters into a user-entered field or parameter. This allows an attacker to bypass authentication procedures or view and tamper with information in the database. In particular, characters such as ', \", --, #, /*, */, etc. can be entered to generate DB error messages, confirming that SQL injection is possible.\nYou should avoid including user input verbatim in DB queries, thoroughly validate input, and use methods such as Prepared Statements or Object-Relational Mapping (ORM) to securely process SQL queries.",
  "rule.dast.sw.common.6540.name": "SQL Injection",
  "rule.dast.sw.common.6542.description": "An XML External Entity (XXE) injection attack that references an external file during XML processing is a vulnerability that allows an attacker to embed the contents of a server's files inside XML. For example, if an XML object is tampered with to reference a sensitive file, such as /etc/passwd, an attacker can include the contents of that file in the XML output and gain access to sensitive information on the server.\nYou should set up an XML parser to disable External Entity references, and securely validate and filter XML input to block malicious XML constructs.",
  "rule.dast.sw.common.6542.name": "XXE Injection",
  "rule.dast.sw.common.6543.description": "phpMyAdmin is a database management tool that has a high potential for exploitation, with various vulnerabilities (XSS, directory traversal, cookie tampering, etc.) being discovered on an ongoing basis. Certain versions of phpMyAdmin have been reported to have vulnerabilities such as creating global variables, reusing cookie values, malicious script injection, and XSS. In particular, older versions may allow attackers to gain access to your system or gain administrator privileges.\nIncrease security by limiting the use of phpMyAdmin whenever possible, or upgrading to the latest version to block unnecessary page access.",
  "rule.dast.sw.common.6543.name": "Restricting the use of phpMyAdmin",
  "rule.dast.sw.common.6544.description": "Adobe discontinued support for Adobe Flash Player on December 31, 2020. If you are currently using Adobe Flash Player, you are at risk of malware and ransomware infections, hacking, and other risks that exploit unaddressed security vulnerabilities. Service providers should stop using Adobe Flash Player and replace it with modern web standard technologies such as HTML5, WebGL, and WebAssembly.\nRemove Adobe Flash Player from your service and change it to serve content using web standard technologies such as HTML5, WebGL, and WebAssembly. Pages that contain Flash content should be modified to eliminate security threats.",
  "rule.dast.sw.common.6544.name": "Restrict the use of Adobe Flash Player",
  "rule.dast.sw.common.6545.description": "If the name or path of a file passed to the server in a file download function is exposed on the client side, an attacker can manipulate it to gain access to system files or files they are not allowed to access. In particular, if this path information is hidden in a field, JavaScript code, or hardcoded in a JS file, an attacker can exploit it to download sensitive files.\nInformation such as file paths and names should not be exposed on the client side, and path validation should be enforced when processing file requests on the server to prevent file paths from being manipulated through user input.",
  "rule.dast.sw.common.6545.name": "Exposing and manipulating download paths",
  "rule.dast.sw.common.6546.description": "If the response header includes server version information, an attacker can use it to determine the type and version of your server, which can lead to further attacks that exploit known vulnerabilities against that server. In particular, the information exposed in the Server header can be an important clue to a server's vulnerabilities, so you should remove it or provide minimal information.\nRemove the Server header value from the response header or set it to not expose server information. You should also change your server settings to provide minimal information to prevent attackers from collecting server version information.",
  "rule.dast.sw.common.6546.name": "Exposing server version information",
  "rule.dast.sw.common.6547.description": "A robots.txt file is a settings file that controls the access of search engine crawlers to certain paths on your website. This can help protect sensitive information or internal pages from being exposed in search engine results. However, a robots.txt file can't stop malicious bots or attackers, so it's important to configure the settings properly.\nYou can block access from certain search engines by placing the robots.txt file in the top-level path (/) of your web server and changing the User-agent value. You should also use the Disallow directive to restrict search engine access to certain directories or files to prevent sensitive information from being exposed.",
  "rule.dast.sw.common.6547.name": "Improper robots.txt settings",
  "rule.dast.sw.common.7029.description": "If you hard-code system internal information, such as authentication information and DB access information, into the source or send it to the client in comments, hidden fields, cookies, etc.\n\nThe vulnerability detection process is as follows\n1. Navigate to the form elements that send sensitive information on the page under analysis.\n2. If any of those elements use the GET method, detect the vulnerability.\n\nYou can set the following issue detection rule options for vulnerability detection:\n1. user-defined parameter name check regular expression.\nIf you use a form tag to transmit sensitive information, you must set the value of the method attribute of that form tag to transmit using the POST method.",
  "rule.dast.sw.common.7029.name": "[3-4] Limit the exposure of sensitive information - g. Vulnerable when sending sensitive information to the server side, using the GET method and including sensitive information in the URL parameter.",
  "rule.dast.sw.common.7029.option.checker.dast.sw.common.7029.regex.test.description": "Use `Custom Regex for Parameter Name` to scan name attribute in input tag. The regex found in name attribute in a certain input tag indicates that sensitive information is submitted via the input tag.",
  "rule.dast.sw.common.7029.option.checker.dast.sw.common.7029.regex.test.name": "Custom Regex for Parameter Name",
  "rule.dast.sw.common.7029.option.checker.dast.sw.common.7029.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "rule.dast.sw.common.7030.description": "If credentials or sensitive information (social security numbers, transaction information, payment information, etc.) are transmitted in plain text without encryption, attackers can steal and exploit sensitive information through network sniffing.\n\nThe vulnerability detection process is as follows\n1. Explore the form elements that transmit sensitive information on the page under analysis.\nIf any of these elements are sending requests without SSL, the vulnerability is detected. 2.\n\nYou can set the following issue detection rule options for vulnerability detection:\n1. custom parameter name check regular expression.\nIf you use a form tag to transmit sensitive information, you must set the value of the action attribute of that form tag to transmit using the HTTPS protocol.",
  "rule.dast.sw.common.7030.name": "[3-5] Encrypted transmission of sensitive information - A. Vulnerable when authentication and unique identification information such as passwords and biographical information are transmitted to the server in plain text or can be tampered with.",
  "rule.dast.sw.common.7030.option.checker.dast.sw.common.7030.regex.test.description": "Use `Custom Regex for Parameter Name` to scan name attribute in input tag. The regex found in name attribute in a certain input tag indicates that sensitive information is submitted via the input tag.",
  "rule.dast.sw.common.7030.option.checker.dast.sw.common.7030.regex.test.name": "Custom Regex for Parameter Name",
  "rule.dast.sw.common.7030.option.checker.dast.sw.common.7030.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "rule.dast.sw.common.7031.description": "Detects when a session cookie is missing the HttpOnly attribute. The HttpOnly attribute is a security setting that prevents client-side scripts from accessing the cookie, thereby preventing cross-site scripting (XSS) attacks from leaking cookie information.\nYou must add the HttpOnly attribute to session cookies to protect against potential XSS attacks by preventing client-side scripts from accessing the cookie.",
  "rule.dast.sw.common.7031.name": "Session cookies missing the HttpOnly attribute",
  "rule.dast.sw.common.7032.description": "Make sure your session ID is the same before and after you sign in. If the session ID doesn't change, it can lead to security vulnerabilities, most notably an increased risk of exposure to attacks such as session hijacking. To ensure secure authentication, session IDs must be regenerated after signing in.\nAfter signing in, the existing session must be discarded and a new session created. This prevents attacks like session hijacking when the session ID is regenerated. Most web frameworks provide the ability to regenerate sessions upon login, so you should take advantage of this or implement it yourself.",
  "rule.dast.sw.common.7032.name": "Unreconstructed session ID",
  "rule.dast.sw.common.7142.description": "Client-side access to cookies using `document.cookie` means that the cookie information can be read and manipulated with JavaScript. This presents a potential security threat in that other scripts on the page can do the same. In particular, if an XSS vulnerability exists, an attacker could hijack a user's cookie and attempt a session hijacking or privilege escalation attack.\nBe sure to remove client-side JavaScript code that could pose a security threat to your site, such as `document.cookie`. Also, be sure to set security flags such as `HttpOnly`, `Secure`, and `SameSite` on sensitive cookies.",
  "rule.dast.sw.common.7142.name": "Client-side (JavaScript) cookie access",
  "rule.dast.sw.common.7143.description": "Server-side template injection vulnerabilities occur when user input is not properly filtered and injected into the server-side template engine. An attacker can exploit this to inject malicious syntax into the server-side template engine to attempt attacks such as creating arbitrary objects, reading/writing files, or executing remote commands.\nThe best way to mitigate server-side template injection vulnerabilities is to apply multiple layers of sanitization and input value validation.\n \n ### 1. Sanitization (code stability checks)\n  Sanitization is a way to prevent parameter values passed in from user input from being interpreted as template syntax. To do this, template files should be kept in a predefined state, and all user input should be treated as safe variables provided by the template.\n\nThe following are examples of sanitization by popular template engines.\n\n### Python Jinja\n- You should use the render_template() function.\n\t- This ensures that user input is not interpreted as template syntax, but is treated as a string.\n\n```\nrender_template(`template.html`, name=user_input)\n```\n\n### Spring Thymeleaf\n- Make sure to use th:text code instead of th:utext.\n\t- th:text automatically escapes HTML special characters.\n    - th:utext is code to disable HTML escaping.\n    \n```\n<p th:text=`${userInput}`></p>\n```\n\nIn addition to this, the user input value should not be included in the return value returned by the controller. If you do need to include the user input value, you can use the @ResponseBody annotation to tell the Spring framework to interpret the user input value as a simple string instead of interpreting it as a view name.\n\n### 2. Input Validation\n  The user input should be filtered to prevent key special characters such as `{, [, <, >, %, #, @, $`, which are commonly used in server-side template injection attack syntax. For example, if {{7*7}} is entered, the special characters should be filtered out and become 77 instead of 49.\n\n### Languages and special characters used by template engines\n```\n@( )\n- ASP.NET Razor\n\n#{ }\n- Expression Language\n- Freemarker\n- Ruby (Slim)\n- Jade\n- Codepen\n\n${ }\n- Expression Language (+JavaEL)\n- Freemarker\n- Java\n\n{{ }}\n- Java\n- Jinja\n- Jinjava\n- Pebble\n- Twig\n- Handlebars\n\n[[ ]]]\n- Jinja2\n\n{1+2}\n- Smarty\n\n<%= %> or <% %>\n- Ruby (ERB)\n- Mako\n\n#Mako\n- Velocity (e.g.: #set)\n\nΒ\n- Lessjs\n\n```",
  "rule.dast.sw.common.7143.name": "Server-side template injection",
  "rule.dast.sw.common.7144.description": "Cross-Site Web Socket Hijacking is a vulnerability caused by a lack of validation of the `Origin` header in web socket communications.\nAn attacker can attempt to connect to a victim's web socket server via a malicious webpage hosted on a domain they own, and if the server does not validate the `Origin` header, they can steal sensitive data such as the user's cookies and session information.\nValidating the Origin header and enforcing SameSite cookies are the best ways to mitigate cross-site web socket hijacking vulnerabilities.\n\n### 1. Origin Validation\nSet the Access-Control-Allow-Origin header to validate the `Origin` header. This header is one of the HTTP response headers used by Cross-Origin Resource Sharing (CORS) policies to determine whether to allow access to requests originating from other domains. Therefore, you should limit the Access-Control-Allow-Origin header to specific trusted domains and avoid setting `*` or `null`.\n\nAnother approach is to define a list of trusted origins (allowlist) on the server and validate the `Origin` header sent by the client in the WebSocket handshake request.\n\nThe following is example code to validate the `Origin` header.\n```\n// Use CORS policy\nsocketio = SocketIO(app, cors_allowed_origins=\"https://trusted.com\")\n\n// Define a list of trusted sources\nallowed_origins = [\"https://trusted.com\", \"https://another-trusted.com\"]\n```\n\n### 2. SameSite Cookie\n\nSetting the `SameSite` cookie is primarily used to prevent CSRF attacks, but it can provide additional security when user authentication is done using cookies on a web socket connection. By setting `SameSite=Lax` or `SameSite=Strict` in the `Set-Cookie` header, you can ensure that only requests originating directly from your domain include the cookie. This setting makes it harder to hijack a user's session through cross-origin requests because it does not send cookies on requests from other domains.",
  "rule.dast.sw.common.7144.name": "Cross-Site WebSocket Hijacking",
  "rule.dast.sw.common.7145.description": "Including hardcoded API keys within your source code is a big security mistake because it exposes that information to the outside world when the source code is made public, increasing the risk of unauthorized access. For example, if this information is found in a public repository or collaborative codebase, a malicious user could hijack your system or gain unauthorized access to your data.\nStore your API keys securely, such as in an environment variable or an encrypted configuration file, so that you can access them when you need them.",
  "rule.dast.sw.common.7145.name": "Hardcoded API keys",
  "rule.dast.sw.common.7146.description": "IP addresses embedded in source code can be the source of a variety of security threats. Exposed IP addresses can give attackers hints about the structure of your network and make you a target for distributed denial-of-service (DDoS) attacks, sniffing, or more subtle attacks.\nBe careful not to hardcode IP addresses in your source code, and if necessary, implement them to be loaded dynamically via environment variables or configuration files.",
  "rule.dast.sw.common.7146.name": "Hardcoded IP addresses",
  "rule.dast.sw.common.7147.description": "Email addresses embedded within source code can be targets for spamming, phishing attacks, and can even provide hackers with information about internal data management if the personal email of an administrator or other sensitive person is accidentally exposed.\nTake care to ensure that email addresses are not hardcoded within your code, and if necessary, implement them so that they can be loaded dynamically via environment variables or configuration files.",
  "rule.dast.sw.common.7147.name": "Hard-coded email addresses",
  "rule.dast.sw.common.7148.description": "Including hard-coded API keys within comments is a big security mistake because it exposes that information to the outside world when the source code is released, increasing the risk of unauthorized access. For example, if this information is found in a public repository or collaborative codebase, a malicious user could hijack your system or gain unauthorized access to your data.\nStore your API keys securely, such as in an environment variable or an encrypted configuration file, so that you can access them when you need them.",
  "rule.dast.sw.common.7148.name": "API keys in comments",
  "rule.dast.sw.common.7149.description": "IP addresses contained in comments can be the source of a variety of security threats. Exposed IP addresses can give attackers hints about the structure of your network and make you a target for distributed denial-of-service (DDoS) attacks, sniffing, or more subtle attacks.\nBe careful not to hardcode IP addresses in comments, and if necessary, implement them to be loaded dynamically via environment variables or configuration files.",
  "rule.dast.sw.common.7149.name": "IP addresses in comments",
  "rule.dast.sw.common.7150.description": "Email addresses included in comments can be targets for spamming, phishing attacks, and can even provide hackers with information about internal data management if the personal emails of administrators or other important people are accidentally exposed.\nBe careful not to hardcode email addresses into comments, and if necessary, implement them so that they can be loaded dynamically via environment variables or configuration files.",
  "rule.dast.sw.common.7150.name": "Email addresses in comments",
  "rule.dast.sw.common.7151.description": "If proper session timeout settings are not used, an attacker may be able to conduct abnormal attacks and gain access through session reuse techniques. Sessions should also be properly disposed of upon logout and browser shutdown to reduce the likelihood of attacks through session reuse techniques.\n\nThe vulnerability detection process is as follows\n1. Attempt to log in based on a given login record file, and acquire a session.\n2. Wait for the session timeout period.\n3. Restart the browser.\n4. Force the browser to use the session acquired during the first login.\n5. If the location that was reachable after the first login is accessible without performing a login, detect the vulnerability.\n\nYou can set the following analysis target options for vulnerability detection\n1. login record files\n\nYou can set the following issue detection rule options to detect vulnerabilities\n1. custom session name\n2. custom session timeout (in seconds)\nA baseline for keeping the session needs to be set.\n\n1. When providing internal services, determined by whether Session Time is set (EP, EIP Intranet, and Business Support services, etc.).\n2. 60 minutes or less when providing external services (customer service, financial transactions, customer care services, and SK representative sites).\n3. Discard sessions on both internal and external logouts and browser exits.\n4. Provide justification for any specialty or exceptionality required for the purpose of the service.\n",
  "rule.dast.sw.common.7151.name": "[1-5] Improper session settings - A. Confirm that the session timeout setting is granted",
  "rule.dast.sw.common.7151.option.checker.dast.sw.common.7151.sessions.names.description": "Detect a session matched with the `Custom Session Name`. And perform security checks for the session.",
  "rule.dast.sw.common.7151.option.checker.dast.sw.common.7151.sessions.names.name": "Custom Session Name",
  "rule.dast.sw.common.7151.option.checker.dast.sw.common.7151.sessions.names.placeholder": "Please enter a session name. Press Enter key to split items.",
  "rule.dast.sw.common.7151.option.checker.dast.sw.common.7151.sessions.timeout.description": "After waiting for seconds of the `Custom Session Timeout (second)`, then check that the session expires.",
  "rule.dast.sw.common.7151.option.checker.dast.sw.common.7151.sessions.timeout.name": "Custom Session Timeout (second)",
  "rule.dast.sw.common.7151.option.checker.dast.sw.common.7151.sessions.timeout.placeholder": "Enter time for the timeout (in seconds).",
  "rule.dast.sw.common.7152.description": "If a directory listing is authorized, it is possible to leak sensitive information, files, and URL information through downloads of backup files and compressed files. Directory listing vulnerabilities can be used to gain information inside a server, which can potentially pose a threat to the entire service. If you use CVS (Concurrent Versions System) or SVN (Subversion) to manage your source code, an attacker can bypass the directory listing security measures and obtain directory information through the \"Entries\" file that exists inside the \"/CVS\" or \"/.svn/\" directory.\n\nThe vulnerability detection process is as follows\n1. send a request to parent paths configured from the specified path.\n2. If the directory listing output is present in the received response body, the vulnerability is detected.\n\nYou can set the following issue detection rule options for vulnerability detection:\n1.  custom directory listing output path\nEnsure to disable the directory listing on the WEB or WAS among the web services.",
  "rule.dast.sw.common.7152.name": "[1-3] Directory Listing - A1. Outputting a Directory Listing",
  "rule.dast.sw.common.7152.option.checker.dast.sw.common.7152.regex.test.description": "Use the `Custom Regex for Directory List` to analyze the response body. The regex found in the body indicates containing contents of the directory list.",
  "rule.dast.sw.common.7152.option.checker.dast.sw.common.7152.regex.test.name": "Custom Regex for Directory List",
  "rule.dast.sw.common.7152.option.checker.dast.sw.common.7152.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "rule.dast.sw.common.7153.description": "If directory listing is possible, sensitive information and files, URL information, etc. can be exfiltrated through downloads of backup files and compressed files. Directory listing vulnerabilities can be used to gain information inside a server, which can potentially pose a threat to the entire service. If you use CVS (Concurrent Versions System) or SVN (Subversion) to manage your source code, an attacker can bypass the directory listing security measures and obtain directory information through the \"Entries\" file that exists inside the \"/CVS\" or \"/.svn/\" directory.\n\nThe vulnerability detection process is as follows\n1. send a request to the expected path of the directory listing output page.\n2. If the directory listing output is present in the received response body, the vulnerability is detected.\n\nYou can set the following issue detection rule options for vulnerability detection:\n1. custom directory listing output path\n2. custom directory listing output content check regular expression\nEnsure to disable the directory listing on the WEB or WAS among the web services.",
  "rule.dast.sw.common.7153.name": "[1-3] Directory Listing - A2. Outputting a Directory Listing",
  "rule.dast.sw.common.7153.option.checker.dast.sw.common.7153.path.attack.description": "Use `Custom Path for Directory List` to configure URLs, such as http://host.com/`DIRECTORY_LIST_PAGE_PATH`. The path found in the URL indicates containing the directory list.",
  "rule.dast.sw.common.7153.option.checker.dast.sw.common.7153.path.attack.name": "Custom Path for Directory List",
  "rule.dast.sw.common.7153.option.checker.dast.sw.common.7153.path.attack.placeholder": "Please enter a path. Press Enter key to split items.",
  "rule.dast.sw.common.7153.option.checker.dast.sw.common.7153.regex.test.description": "Use the `Custom Regex for Directory List` to analyze the response body. The regex found in the body indicates containing contents of the directory list.",
  "rule.dast.sw.common.7153.option.checker.dast.sw.common.7153.regex.test.name": "Custom Regex for Directory List",
  "rule.dast.sw.common.7153.option.checker.dast.sw.common.7153.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "rule.dast.sw.common.7154.description": "Backup and temporary files require attention from administrators and developers. For example, if source or backup files for testing purposes during development are compressed in ZIP, TAR, or other formats due to administrative negligence, an attacker can access and view the contents. Also, if comments in client-side source code or browser console logs expose development and service-related information, it can be used as attack information.\n\nThe vulnerability detection process is as follows\n1. send a request to the expected path of the customized backup or temporary file output page.\n2. If the customized backup or temporary file output content is present in the received response body, the vulnerability is detected.\n\nYou can set the following issue detection rule options for vulnerability detection:\n1. the customized backup or temporary file output path\n2. the customized backup or temporary file output content check regular expression\nDelete all unnecessary files except those that are essential to the operation of the web application.\n\nIt is recommended to search and delete unnecessary extensions such as tar, psd, fla, bak, test, txt, old, zip, date.\n\nEnsure that no unnecessary files are not left after additional development or maintenance after the service goes live. For example, disable contents and services that are installed by default during the initial service installation, delete or change default directories (/htdocs, /cig-bin, etc.), and delete or change default pages (Manual, Sample, etc.), etc.\n\nFiles utilized for the development or test need to be managed on the separate project.",
  "rule.dast.sw.common.7154.name": "[1-4] Backup and temporary file management - a2. Existence of development resources, backup files, temporary files, etc.",
  "rule.dast.sw.common.7154.option.checker.dast.sw.common.7154.path.attack.description": "Search the page for link addresses that end with an extension that corresponds to the `Custom File Extension`. The address is assumed to be available for downloading files with that particular extension.",
  "rule.dast.sw.common.7154.option.checker.dast.sw.common.7154.path.attack.name": "Custom Path of Backup and Temporary Files",
  "rule.dast.sw.common.7154.option.checker.dast.sw.common.7154.path.attack.placeholder": "Please enter a path. Press Enter key to split items.",
  "rule.dast.sw.common.7154.option.checker.dast.sw.common.7154.regex.test.description": "Use the `Custom Regex for Backup and Temporary Files` to analyze the response body. The regex found in the body indicates containing contents of the backup and temporary files.",
  "rule.dast.sw.common.7154.option.checker.dast.sw.common.7154.regex.test.name": "Custom Regex for Backup and Temporary Files",
  "rule.dast.sw.common.7154.option.checker.dast.sw.common.7154.regex.test.placeholder": "Please enter a regex. Press Enter key to split items.",
  "rule.dast.sw.common.7263.description": "LDAP(Lightweight Directory Access Protocol) injection occurs while an external input is directly included to an LDAP query without proper validation. Then, abnormal behaviors can be caused by an attacker, such as bypassing authentication or viewing sensitive information.\nTo prevent the LDAP injection, use Prepared Statement not to directly insert the external input to the query. And filter out special characters, such as `, ', \", ), (, #, *, &, +, =, <, >, |, ;, to ensure they don't interfere with the LDAP query.\n\nWhen the LDAP injection exposes an error message from the server, an attacker might use the message to reveal server configuration or LDAP query structure. To prevent information leak, keep the error messages with system information from being exposed, and return generic error messages.",
  "rule.dast.sw.common.7263.name": "LDAP Injection",
  "rule.dast.sw.common.7264.description": "Integer overflow vulnerabilities are attack methods that induce unintended behavior when a program performs integer operations that exceed the maximum or minimum values representable by the data type. When a value exceeds the maximum or minimum, a Wrap Around phenomenon occurs, causing the value to start again from the minimum or maximum. This can lead to abnormal modification of variable values, disrupting the normal operation of the program.\n\nThese vulnerabilities typically arise when handling conditions for loop control, memory allocation, and memory copying based on user input. Attackers can exploit this to attempt privilege escalation, arbitrary code execution, and other attacks. It is essential to verify the range of integer types according to the programming language or platform before use. For example, using a larger range data type like long or BigInteger instead of int is safer.\n\nAdditionally, when performing loop control, memory allocation, and memory copying based on external input, it is necessary to implement logic that validates whether the input values are within the expected range.\n\nFurthermore, when using integer variables in operations, it is recommended to use safe operation functions or libraries to ensure that the operation results do not exceed the data type's range. For instance, Java's Math class provides `multiplyExact()` or C++'s SafeInt library, which checks for integer overflow and raises exceptions for safe handling when overflow is detected.",
  "rule.dast.sw.common.7264.name": "Integer Overflow",
  "rule.dast.sw.common.7265.description": "Referer header shows information about URLs early visited by a browser on an HTTP request. When the request with sensitive information such as session token, authentication data, etc., is sent to an another domain, the data can be leaked through the Referer header.\nAvoid including sensitive data, such as session token, authentication data, in the URL. In addition, set the Referrer-Policy header to restrict or remove data in the Referer header. The Referrer-Policy header controls data included to the Referer header within request target, source, or the level of protocol security: requires proper options for the security and privacy protection.\n\nThe following options are recommended for the Referrer-Policy header: no-referrer, same-origin, strict-origin, strict-origin-when-cross-origin.  On the contrary, options like unsafe-url, no-referrer-when-downgrade are recommended not to be used as they use the full URLs on the Referer header.",
  "rule.dast.sw.common.7265.name": "Missing or improper Referrer-Policy header",
  "rule.dast.sw.common.7266.description": "CSP(Content Security Policy) header sets a security policy that prevents attacks including XSS, data injection, clickjacking, etc. The policy is configured with various settings that directly affect security level of your web application.\n\nHowever, improper settings in the CSP can lead to vulnerabilities rather than enhance its security level. If the CSP header includes a wildcard (*), 'unsafe-inline', 'unsafe-eval', data:, blob:, http:, or ws:, attackers can exploit it to perform numerous attacks.\n\nThe wildcard (*) allows all sources, so malicious resources can be easily loaded. The 'unsafe-inline' allows inline scripts and styles that are vulnerable to the XSS attacks. The 'unsafe-eval' allows dynamic code such as eval() that is vulnerable to the code injection or XSS attacks. The data: or blob: allows inline or large data that can be exploited by the XSS or file injection. The http: or ws: allows to send unencrypted data that is vulnerable to MitM (Man-in-the-Middle) attacks and has risks to be stolen sensitive information.\nRemove the improper CSP settings, and change them into safe CSP settings. The safe CSP settings are:\n\n`none`: Blocks and prevents loading whole resources. For example, object-src `none` setting blocks all object resources not to be loaded.\n\n`self`: Allows resources from the original domain only. For example, script-src `self` setting will run scripts comes from the original domain. Yet, be careful when a web application uses JSONP (JSON with Padding). Attackers might exploit the allowed domains with vulnerable JSONP callback to inject malicious scripts. To prevent the attacks, add CORS(Cross-Origin Resource Sharing) policy and allow trusted sources to request data.\n\n`nonce`: Uses unique value of nonce to allow inline scripts or styles. For example, script-src `nonce-RANDOM_VALUE` setting will run scripts including the exact value of the nonce. \n\n`sha256-hash`: Uses hash such as sha256, sha384, sha512, etc., to allow inline scripts or styles. For example, setting script-src `sha256-HASH` executes resources while the exact hash value of inline script or style is matched.",
  "rule.dast.sw.common.7266.name": "Improper CSP(Content-Security-Policy) settings",
  "rule.dast.sw.common.7267.description": "If the number of login authentication attempts is not limited, an attacker can guess a user's ID and password through a brute force attack. Particularly, if the attacker knows a specific user ID, they can repeatedly attempt password authentication for that account. If such an attack is successful, the attacker can unlawfully gain the user's privileges.  \nIt is recommended to limit the number of login attempts to 3 to 5. If authentication attempts exceed this number, login should be blocked or a warning message should be displayed to prevent further attempts. Additionally, requiring CAPTCHA input or redirecting to an error page can also be considered.",
  "rule.dast.sw.common.7267.name": "Lack of login attempt limit feature",
  "rule.dast.sw.common.7268.description": "HTTP request smuggling vulnerabilities arise from discrepancies in how the Content-Length (CL) and Transfer-Encoding (TE) headers are interpreted between frontend servers (load balancers, reverse proxies, CDNs, etc.) and backend servers.\n\nHTTP requests typically specify the length of the body in bytes using the CL header or indicate the data transfer method using the TE header. If the frontend and backend servers interpret the body length or request boundaries differently, an attacker can inject malicious requests or modify legitimate requests. Exploiting such vulnerabilities can lead to attacks like XSS, firewall and security authentication bypass, and web cache poisoning. According to RFC 9112 (sections 6.1 to 6.3), the simultaneous use of Content-Length and Transfer-Encoding headers can lead to request smuggling vulnerabilities, and requests received with both headers should be treated as errors.\n\nTherefore, frontend and backend servers must be configured to consistently handle the Content-Length and Transfer-Encoding headers when interpreting requests and should block requests containing duplicate or abnormal header values.\n\nAdditionally, since not all Transfer-Encoding headers are allowed in HTTP/2, upgrading to HTTP/2 can help prevent request smuggling attacks. However, in environments that support protocol switching (H2C) between HTTP/1.x and HTTP/2, there is a possibility of H2C request smuggling attacks, so both the server and client should be configured to consistently use the HTTP/2 protocol.",
  "rule.dast.sw.common.7268.name": "HTTP request smuggling",
  "rule.dast.sw.common.7269.description": "The HTTP protocol transmits communication data between the client and server in an unencrypted plaintext format. Due to this characteristic, the username and password entered during the login process can be exposed or stolen by third parties through network sniffing attacks.  \nIt is essential to apply SSL/TLS certificates to the web server and mandate the use of the HTTPS protocol. This ensures the encryption of all data transmitted between the client and server, securing the confidentiality of user information. Additionally, sensitive information such as usernames and passwords should undergo separate encryption processing before transmission. This measure protects the information so that even if it is stolen, attackers cannot identify its contents.",
  "rule.dast.sw.common.7269.name": "Unencrypted login request",
  "rule.dast.sw.common.7270.description": "Not every exposure of server-side code inevitably leads to a security accident. However, when the exposed code contains sensitive data about DB access information or critical logic for password validation, an attacker can exploit it to attempt further attacks on the application.\nMake sure that the server-side code is not exposed unless it is intended for debugging or testing. Ensure to remove the code and settings for debugging or testing after process completes.\n\nAnd, as insufficient settings for the web application might expose a directory list, an unauthorized user can view server-side code. To avoid this, it is recommend to use settings to prevent the directory list exposure.",
  "rule.dast.sw.common.7270.name": "Exposure of server-side code",
  "rule.dast.sw.common.7271.description": "SQL injection vulnerabilities occur when user input is not properly validated and is directly included in SQL queries. Attackers can exploit this to bypass user authentication, extract internal database information, and perform other attacks.  \nTo prevent SQL injection vulnerabilities, special characters in user input such as ', \", ;, #, --, //, %, /*, */ should be validated and filtered. Additionally, using Prepared Statements or ORM (Object-Relational Mapping) ensures that user input does not affect SQL queries.  \n\nIf a server exposes error messages due to SQL injection attacks, attackers can use these messages to gain insights into server configuration or SQL query structure. Therefore, error messages containing internal system information should be restricted from being exposed to clients, and only generic error messages should be returned to prevent information leakage.",
  "rule.dast.sw.common.7271.name": "SQL Injection (User Authentication Bypass)",
  "rule.dast.sw.common.7272.description": "The vulnerability of unsafe third-party links occurs when using the `target=\"_blank\"` attribute to open links in a new tab or window. In this case, the newly opened page can access the parent page's (original page's) `window.opener` object, allowing an attacker to exploit this to force a redirect of the parent page to a phishing site. (Tabnabbing attack)\n\nFor example, if code like `window.opener.location = \"https://fakewebsite.com\"` is executed on the newly opened page, the parent page will navigate to a phishing site created by the attacker. This exposes the risk that any information the user inputs on that page could be compromised.\n\nTo prevent Tabnabbing attacks, it is recommended to use the Cross-Origin-Opener-Policy header. Setting this header to `same-origin` ensures that the browser shares the browsing context group (BCG) only with documents of the same origin, isolating documents from other origins. As a result, documents opened from other origins will have `window.opener` set to null, preventing them from manipulating the original page.\n\nAdditionally, when using the `_blank` attribute to open a new window in HTML or JavaScript, it is essential to also use the \"noopener noreferrer\" attributes. This prevents the newly opened page from referencing the original page and ensures that the browser does not send the Referer header.\n\nModern web browsers provide an implicit behavior of not setting `window.opener` when `target=\"_blank\"` is set on `<a>`, `<area>`, or `<form>` elements, effectively acting as `rel=\"noopener\"`. However, this implicit behavior may not be consistent across browsers, so explicitly setting this attribute is safer.",
  "rule.dast.sw.common.7272.name": "Insecure third-party link (target=\"_blank\")",
  "rule.dast.sw.common.7273.description": "The SRI(Sub-resource Integrity) validates integrity of external resources such as JavaScript, CSS, etc., while loading the resources. The function prevents files from external servers from being compromised or replaced by malicious code. \n\nHowever, without SRI, the web browser cannot check whether the external resources are modified. An attacker exploits the fact to compromise the external resources or inject the malicious code, the all sites uses the SRI to validate the external resources.\n\nCheck the integrity of external resources. The following shows how to use the SRI.\n\nAdd integrity attribute to <script> or <link> tag to specify a hash value to the resource file. The integrity attribute make the browser to check the integrity by comparing the resource to the hash before loading. If the hash of the file is not matched, the browser rejects to load the resource and returns a network error.\n\nThe integrity attribute starts with at least one string with suffix of hash algorithm such as sha256, sha384, sha512, and then, shows a hash of the file encoded in base64.\n\nThe resources through the external CDN is widely utilized in the web, but not every CDN supports the SRI. In this case, a developer can use the SRI Hash Generator to create a hash and validate its integrity.\n\nHowever, it is insufficient and hard for managing to generate hashes on dynamically delivered resources or resources updated with short term. For example, when the resource gets updated the old SRI is not valid any more. To manage the resource, it requires to generate and apply a new hash for every update. For that reason, some dynamically delivered CDNs including Google Fonts, Google Maps, Kakao Maps do not support the SRI.\n\nTherefore, the external CDN does not support the SRI, use security policies like CSP(Content Security Policy) to specify trusted sources for the external resources rather than manually setting the SRI.",
  "rule.dast.sw.common.7273.name": "SRI(Subresource Integrity) support check",
  "rule.dast.sw.common.7274.description": "The Silverlight puts a policy file, such as clientaccesspolicy.xml or crossdomain.xml, in the root directory (/) of host domain for a web service, and decides whether access to the service is confirmed or denied. However, if the file allows access to all domains (*), requests from untrusted sources can also be accepted. An attacker exploits the vulnerability to commit attacks including CSRF or XSS.\nWhen the Silverlight sets access to the cross-domain, it needs to allow the trusted domains only rather than all domains (*).\n\nMicrosoft has deprecated its supports on the Silverlight on October 12th, 2021. As the deprecated program is not updated or patched, it is easily targeted for security attacks. Therefore, remove the Silverlight installed in the web app, and replace it to the up-to-date programs such as React, Angular, or HTML5.",
  "rule.dast.sw.common.7274.name": "Improper domain policy for Silverlight",
  "rule.rasp.sv.cs.3235.description": "The Email Address Exposure vulnerability is caused by exposing an email address to the body of an HTTP response or DOM. The attacker can exploit the vulnerability to log into the web application or access the web page with the email. The vulnerability allows the attacker to gain access to the web application or web page or send spam mails to the email address. To resolve the vulnerability, ensure to prevent the email address from being exposed on web pages.",
  "rule.rasp.sv.cs.3235.name": "E-mail Address Exposure",
  "rule.rasp.sv.cs.3241.description": "The Bank Account Number Exposure vulnerability allows an attacker to inquire the bank account number on a specific page. This vulnerability is caused when the bank account number exists in the page without further process. When the attack has succeeded, the attacker can expose or abuse the personal information of the bank account number owner.",
  "rule.rasp.sv.cs.3241.name": "Bank Account Number Exposure",
  "rule.rasp.sv.cs.3243.description": "The Passport Number Exposure vulnerability allows an attacker to inquire the passport number on a specific page. This vulnerability is caused when the passport number exists in the page without further process. The attacker searches for a string in format of the passport number on a random page in order to carry out the attack. When the attack has succeeded, the attacker can expose the valid passport number, and abuse the personal information of the passport owner.",
  "rule.rasp.sv.cs.3243.name": "Passport Number Exposure",
  "rule.rasp.sv.cs.3245.description": "The Absolute Path Exposure vulnerability is caused by exposing an absolute path to the body of an HTTP response or DOM. An attacker uses the vulnerability and attempts to access a real directory or file on the web application server. The attacker might steal the sensitive information from the web application server or execute the unintended file. To avoid the vulnerability, you must prevent an absolute path of the file from being exposed.",
  "rule.rasp.sv.cs.3245.name": "Absolute Path Exposure",
  "rule.rasp.sv.cs.3250.description": "The Credit Card Number Exposure vulnerability allows an attacker to inquire the credit card number on a specific page. This vulnerability is caused when the credit card number exists in the page without further process. The attacker searches for a string in format of the credit card number on a random page in order to carry out the attack. When the attack has succeeded, the attacker can expose the valid credit card number, and abuse the personal information of the card owner.",
  "rule.rasp.sv.cs.3250.name": "Credit Card Number Exposure",
  "rule.rasp.sv.cs.3254.description": "The Operating System Command Injection vulnerability can force the server's operating system to execute arbitrary commands. This vulnerability is caused by insufficient validation of user input used to configure operating system commands. To carry out an attack, an attacker could enter commands to gain elevated privileges on the server, or commands to manipulate specific files on the server. If the attack is successful, the attacker can gain privileges to access critical locations and steal or manipulate sensitive information on the server.",
  "rule.rasp.sv.cs.3254.name": "Command injection",
  "rule.rasp.sv.cs.3258.description": "The Individual Address Exposure vulnerability exposes an IP address on a web page. An attacker can use an individual IP address exposed on a web page to attack a web application. As a result, an attacker uses an individual IP address of the web application in order to perform an attack, which cannot be conducted with the public IP of the web application. Also, the attacker steals information from the web application or accesses to the web application with unauthorized privileges. To prevent the vulnerability, users should not use the individual IP address in a web application. Ensure to check that the individual IP address is not exposed. When you need to use the individual IP address, replace it with another identifier.",
  "rule.rasp.sv.cs.3258.name": "Individual Address Exposure",
  "rule.rasp.sv.cs.3260.description": "The Driver License Number Exposure vulnerability allows an attacker to inquire the driver’s license number on a specific page. This vulnerability is caused when the driver’s license number exists in the page without further process. The attacker searches for a string in format of the driver’s license number on a random page in order to carry out the attack. When the attack has succeeded, the attacker can expose the valid drivers license number, and abuse the personal information of the license owner.",
  "rule.rasp.sv.cs.3260.name": "Driver License Number Exposure",
  "rule.rasp.sv.cs.3262.description": "The Social Security Number Exposure vulnerability allows an attacker to inquire the social security number on a specific page. This vulnerability is caused when the social security number exists in the page without further process. The attacker searches for a string in format of the social security number on a random page in order to carry out the attack. When the attack has succeeded, the attacker can expose the valid social security number, and abuse the personal information of the social security number owner.",
  "rule.rasp.sv.cs.3262.name": "Social Security Number Exposure",
  "rule.rasp.sv.java.3234.description": "The Email Address Exposure vulnerability is caused by exposing an email address to the body of an HTTP response or DOM. The attacker can exploit the vulnerability to log into the web application or access the web page with the email. The vulnerability allows the attacker to gain access to the web application or web page or send spam mails to the email address. To resolve the vulnerability, ensure to prevent the email address from being exposed on web pages.",
  "rule.rasp.sv.java.3234.name": "E-mail Address Exposure",
  "rule.rasp.sv.java.3236.description": "The Unvalidated Redirect vulnerability can force an arbitrary user to go to an untrusted external location. This vulnerability is caused by insufficient validation of user input used to configure links. To carry out an attack, an attacker could conduct a phishing attack, for example, to convince an arbitrary user to click a link to a malicious site. If the attack is successful, the attacker can steal and manipulate sensitive information from users who access the malicious site.",
  "rule.rasp.sv.java.3236.name": "Unverified Redirection",
  "rule.rasp.sv.java.3238.description": "The Path Traversal vulnerability is caused by generating directory path strings with user inputs, which exposes file systems behind the top-level directory. In most filesystems, an attacker can put either `..`, that represents a parent directory, or `/`, that represent a directory, as an input of directory path strings. As a result, an attacker might access the file system over the root directory of the web application and steal information about source code or system files. To resolve the vulnerability, the user input ​​should not be used to access files and directories in the file system. If you need to use the user input, you must change the characters including `..` or `/` that have meaning in the file system.",
  "rule.rasp.sv.java.3238.name": "Path Traversal",
  "rule.rasp.sv.java.3240.description": "The Bank Account Number Exposure vulnerability allows an attacker to inquire the bank account number on a specific page. This vulnerability is caused when the bank account number exists in the page without further process. When the attack has succeeded, the attacker can expose or abuse the personal information of the bank account number owner.",
  "rule.rasp.sv.java.3240.name": "Bank Account Number Exposure",
  "rule.rasp.sv.java.3242.description": "The Passport Number Exposure vulnerability allows an attacker to inquire the passport number on a specific page. This vulnerability is caused when the passport number exists in the page without further process. The attacker searches for a string in format of the passport number on a random page in order to carry out the attack. When the attack has succeeded, the attacker can expose the valid passport number, and abuse the personal information of the passport owner.",
  "rule.rasp.sv.java.3242.name": "Passport Number Exposure",
  "rule.rasp.sv.java.3244.description": "The Absolute Path Exposure vulnerability is caused by exposing an absolute path to the body of an HTTP response or DOM. An attacker uses the vulnerability and attempts to access a real directory or file on the web application server. The attacker might steal the sensitive information from the web application server or execute the unintended file. To avoid the vulnerability, you must prevent an absolute path of the file from being exposed.",
  "rule.rasp.sv.java.3244.name": "Absolute Path Exposure",
  "rule.rasp.sv.java.3246.description": "The Blind LDAP Injection vulnerability is caused by generating LDAP statements with user inputs and manipulating the statements on web-based applications. Attackers send malicious data to the server via web elements by entering texts that are expected to execute LDAP statements in an input form. Special characters, such as `(`. `|`. `&`. `*`, allows these kinds of attacks. As a result, the attackers can view all objects with specific attributes, bypass authentication paths, or access to unauthorized information. To resolve this, user inputs need to be validated or filtered on the web application. So, use the right LDAP encoding function. Or, you can use a framework that automatically validates or filters out the inputs.",
  "rule.rasp.sv.java.3246.name": "LDAP Injection",
  "rule.rasp.sv.java.3247.description": "The XPath Injection vulnerability is caused by inserting an arbitrary string into the XPath query statement. The vulnerability is caused by using user inputs to configure XPath queries without verification. An attacker sends malicious data that causes a server abnormal processing for XML data in order to perform the attack. When the attack has succeeded, the attacker will figure out the structure of XML data, steal and manipulate the data.",
  "rule.rasp.sv.java.3247.name": "XPath Injection",
  "rule.rasp.sv.java.3248.description": "The Cross-site Scripting vulnerability is caused by injecting malicious scripts to a web site. The attacker sends a malicious script to the server via a web element, such as text input inside a form. If the server includes that data in the response without validating it, the malicious script is executed in the browser. As a result, the attacker can steal the user's information (session, cookies, etc.) or force the server to take unintended actions. To address this, web applications should validate and filter the values they receive from the user. This means avoiding the use of user input data in tag names, attributes, inside <script> tags, inside <style> tags, inside HTML comments, and so on, as well as performing substitutions or encoding for symbols, such as `<`, `>`, when they are used.",
  "rule.rasp.sv.java.3248.name": "Cross-site scripting",
  "rule.rasp.sv.java.3249.description": "The Credit Card Number Exposure vulnerability allows an attacker to inquire the credit card number on a specific page. This vulnerability is caused when the credit card number exists in the page without further process. The attacker searches for a string in format of the credit card number on a random page in order to carry out the attack. When the attack has succeeded, the attacker can expose the valid credit card number, and abuse the personal information of the card owner.",
  "rule.rasp.sv.java.3249.name": "Credit Card Number Exposure",
  "rule.rasp.sv.java.3251.description": "The SQL Injection vulnerability is caused by inserting an arbitrary string into the SQL query statement. The vulnerability is caused by using user inputs to configure database queries without verification. An attacker sends malicious data that causes a server abnormal processing for DB data in order to perform the attack. When the attack has succeeded, the attacker can steal the database information, manipulate the information, and execute administrative commands on the database.",
  "rule.rasp.sv.java.3251.name": "SQL Injection",
  "rule.rasp.sv.java.3253.description": "The Operating System Command Injection vulnerability can force the server's operating system to execute arbitrary commands. This vulnerability is caused by insufficient validation of user input used to configure operating system commands. To carry out an attack, an attacker could enter commands to gain elevated privileges on the server, or commands to manipulate specific files on the server. If the attack is successful, the attacker can gain privileges to access critical locations and steal or manipulate sensitive information on the server.",
  "rule.rasp.sv.java.3253.name": "Command injection",
  "rule.rasp.sv.java.3257.description": "The Individual Address Exposure vulnerability exposes an IP address on a web page. An attacker can use an individual IP address exposed on a web page to attack a web application. As a result, an attacker uses an individual IP address of the web application in order to perform an attack, which cannot be conducted with the public IP of the web application. Also, the attacker steals information from the web application or accesses to the web application with unauthorized privileges. To prevent the vulnerability, users should not use the individual IP address in a web application. Ensure to check that the individual IP address is not exposed. When you need to use the individual IP address, replace it with another identifier.",
  "rule.rasp.sv.java.3257.name": "Individual Address Exposure",
  "rule.rasp.sv.java.3259.description": "The Driver License Number Exposure vulnerability allows an attacker to inquire the driver’s license number on a specific page. This vulnerability is caused when the driver’s license number exists in the page without further process. The attacker searches for a string in format of the driver’s license number on a random page in order to carry out the attack. When the attack has succeeded, the attacker can expose the valid drivers license number, and abuse the personal information of the license owner.",
  "rule.rasp.sv.java.3259.name": "Driver License Number Exposure",
  "rule.rasp.sv.java.3261.description": "The Social Security Number Exposure vulnerability allows an attacker to inquire the social security number on a specific page. This vulnerability is caused when the social security number exists in the page without further process. The attacker searches for a string in format of the social security number on a random page in order to carry out the attack. When the attack has succeeded, the attacker can expose the valid social security number, and abuse the personal information of the social security number owner.",
  "rule.rasp.sv.java.3261.name": "Social Security Number Exposure",
  "rule.rasp.sv.java.3271.description": "Detect suspicious abnomalities regarded to be attacks on or intrusions into the application.",
  "rule.rasp.sv.java.3271.name": "Occurrence of Abnormal Behavior",
  "rule.rasp.sv.js.3239.description": "The Path Traversal vulnerability is caused by generating directory path strings with user inputs, which exposes file systems behind the top-level directory. In most filesystems, an attacker can put either `..`, that represents a parent directory, or `/`, that represent a directory, as an input of directory path strings. As a result, an attacker might access the file system over the root directory of the web application and steal information about source code or system files. To resolve the vulnerability, the user input ​​should not be used to access files and directories in the file system. If you need to use the user input, you must change the characters including `..` or `/` that have meaning in the file system.",
  "rule.rasp.sv.js.3239.name": "Path Traversal",
  "rule.rasp.sv.js.3252.description": "The SQL Injection vulnerability is caused by inserting an arbitrary string into the SQL query statement. The vulnerability is caused by using user inputs to configure database queries without verification. An attacker sends malicious data that causes a server abnormal processing for DB data in order to perform the attack. When the attack has succeeded, the attacker can steal the database information, manipulate the information, and execute administrative commands on the database.",
  "rule.rasp.sv.js.3252.name": "SQL Injection",
  "rule.rasp.sv.js.3256.description": "The Operating System Command Injection vulnerability can force the server's operating system to execute arbitrary commands. This vulnerability is caused by insufficient validation of user input used to configure operating system commands. To carry out an attack, an attacker could enter commands to gain elevated privileges on the server, or commands to manipulate specific files on the server. If the attack is successful, the attacker can gain privileges to access critical locations and steal or manipulate sensitive information on the server.",
  "rule.rasp.sv.js.3256.name": "OS Command injection",
  "rule.rasp.sv.php.3255.description": "The Operating System Command Injection vulnerability can force the server's operating system to execute arbitrary commands. This vulnerability is caused by insufficient validation of user input used to configure operating system commands. To carry out an attack, an attacker could enter commands to gain elevated privileges on the server, or commands to manipulate specific files on the server. If the attack is successful, the attacker can gain privileges to access critical locations and steal or manipulate sensitive information on the server.",
  "rule.rasp.sv.php.3255.name": "Command injection",
  "rule.rasp.sv.php.3263.description": "The Social Security Number Exposure vulnerability allows an attacker to inquire the social security number on a specific page. This vulnerability is caused when the social security number exists in the page without further process. The attacker searches for a string in format of the social security number on a random page in order to carry out the attack. When the attack has succeeded, the attacker can expose the valid social security number, and abuse the personal information of the social security number owner.",
  "rule.rasp.sv.php.3263.name": "Social Security Number Exposure",
  "rule.saqt.c.abap.1740.description": "The Too long line checker finds code lines that span a longer length than the optionally specified value.\nWrap the overlong code lines.",
  "rule.saqt.c.abap.1740.example.0.dangerous": "Line 1: A single line is exceeding the specified length (60 characters).",
  "rule.saqt.c.abap.1740.example.0.safe": "Line 1: Add a newline to fit the specified length (60 characters).",
  "rule.saqt.c.abap.1740.name": "Too long line",
  "rule.saqt.c.abap.1740.option.max_column.description": "Define max column in a line.",
  "rule.saqt.c.abap.1740.option.max_column.name": "Maximum column",
  "rule.saqt.c.abap.1743.description": "The Improper WHEN OTHERS Position checker finds WHEN OTHERS clauses positioned between CASE clauses.\nEach WHEN OTHERS clause must be positioned at the end of the CASE statement.\nRelocate the WHEN OTHERS clauses to the end of their respective CASE statements.",
  "rule.saqt.c.abap.1743.example.0.dangerous": "Line 1: A WHEN OTHERS clause is placed at the start of CASE statements.",
  "rule.saqt.c.abap.1743.example.0.safe": "Line 6: Relocate the WHEN OTHERS clauses to the end of their respective CASE statements.",
  "rule.saqt.c.abap.1743.name": "Improper WHEN OTHERS Position",
  "rule.saqt.c.abap.1757.description": "The Violation of naming rule for DATA variable checker finds DATA variables that are not named as per the naming rules.\nDATA variables must be named in compliance with the naming rules. Compliant naming is helpful for readability, maintainability, and accordingly cooperative work. Naming rules can be optionally set up.\nName the variables in compliance with the naming rules.",
  "rule.saqt.c.abap.1757.example.0.dangerous": "Line 1: Variable MyText violates its naming conventions.(You can set uppercase and lowercase letters to be mixed in the option.)",
  "rule.saqt.c.abap.1757.example.0.safe": "Line 1: Rename the FORM to match the naming convention.",
  "rule.saqt.c.abap.1757.name": "Violation of naming rule for DATA variable",
  "rule.saqt.c.abap.1757.option.name_regex.description": "Put a naming convention (Regular expression)",
  "rule.saqt.c.abap.1757.option.name_regex.name": "Naming convention",
  "rule.saqt.c.abap.1759.description": "The Violation of naming rule for class checker finds CLASS variables that are not named as per the naming rules.\nCLASS variables must be named in compliance with the naming rules. Compliant naming is helpful for readability, maintainability, and accordingly cooperative work. Naming rules can be optionally set up.\nName the variables in compliance with the naming rules.",
  "rule.saqt.c.abap.1759.example.0.dangerous": "Line 1: A class name does not comply with its specified naming convention (regular expression :).",
  "rule.saqt.c.abap.1759.example.0.safe": "Line 1: Rename the FORM to match the naming convention.",
  "rule.saqt.c.abap.1759.name": "Violation of naming rule for class",
  "rule.saqt.c.abap.1759.option.name_regex.description": "Put a naming convention (Regular expression)",
  "rule.saqt.c.abap.1759.option.name_regex.name": "Naming convention",
  "rule.saqt.c.abap.1767.description": "The Violation of naming rule for form checker finds forms that are not named as per the naming rules.\nForms must be named in compliance with the naming rules. Compliant naming is helpful for readability, maintainability, and accordingly cooperative work. Naming rules can be optionally set up.\nForms must be named in compliance with the naming rules.(By default, uppercase and lowercase letters cannot be mixed.)",
  "rule.saqt.c.abap.1767.example.0.dangerous": "Line 1: Variable MyForm violates its naming conventions.(You can set uppercase and lowercase letters to be mixed in the option.)",
  "rule.saqt.c.abap.1767.example.0.safe": "Line 1: Rename the FORM to match the naming convention.",
  "rule.saqt.c.abap.1767.name": "Violation of naming rule for form",
  "rule.saqt.c.abap.1767.option.name_regex.description": "Put a naming convention (Regular expression)",
  "rule.saqt.c.abap.1767.option.name_regex.name": "Naming convention",
  "rule.saqt.c.abap.1768.description": "The Violation of naming rule for function checker finds functions that are not named as per the naming rules.\nFunctions must be named in compliance with the naming rules. Compliant naming is helpful for readability, maintainability, and accordingly cooperative work. Naming rules can be optionally set up.\nFunctions must be named in compliance with the naming rules. (By default, uppercase and lowercase letters cannot be mixed.)",
  "rule.saqt.c.abap.1768.example.0.dangerous": "Line 1: Variable MyFunction violates its naming conventions.(You can set uppercase and lowercase letters to be mixed in the option.)",
  "rule.saqt.c.abap.1768.example.0.safe": "Line 1: Rename the function to match the naming conventions.",
  "rule.saqt.c.abap.1768.name": "Violation of naming rule for function",
  "rule.saqt.c.abap.1768.option.name_regex.description": "Put a naming convention (Regular expression)",
  "rule.saqt.c.abap.1768.option.name_regex.name": "Naming convention",
  "rule.saqt.c.abap.1776.description": "The Violation of naming rule for interface checker finds interfaces that are not named as per the naming rules.\nInterfaces must be named in compliance with the naming rules. Compliant naming is helpful for readability, maintainability, and accordingly cooperative work. Naming rules can be optionally set up.\nInterfaces must be named in compliance with the naming rules. (By default, uppercase and lowercase letters cannot be mixed.)",
  "rule.saqt.c.abap.1776.example.0.dangerous": "Line 1: An interface MyInterface violates its naming conventions.(You can set uppercase and lowercase letters to be mixed in the option.)",
  "rule.saqt.c.abap.1776.example.0.safe": "Line 1: Rename MyInterface to comply with the naming conventions.",
  "rule.saqt.c.abap.1776.name": "Violation of naming rule for interface",
  "rule.saqt.c.abap.1776.option.name_regex.description": "Put a naming convention (Regular expression)",
  "rule.saqt.c.abap.1776.option.name_regex.name": "Naming convention",
  "rule.saqt.c.abap.1778.description": "The Violation of naming rule for method checker finds methods that are not named as per the naming rules.\nMethods must be named in compliance with the naming rules. Compliant naming is helpful for readability, maintainability, and accordingly cooperative work. Naming rules can be optionally set up.\nMethods must be named in compliance with the naming rules. (By default, uppercase and lowercase letters cannot be mixed.)",
  "rule.saqt.c.abap.1778.example.0.dangerous": "Line 1: A method MyMethod violates its naming conventions.(You can set uppercase and lowercase letters to be mixed in the option.)",
  "rule.saqt.c.abap.1778.example.0.safe": "Line 1: Rename the METHOD to match the naming convention.",
  "rule.saqt.c.abap.1778.name": "Violation of naming rule for method",
  "rule.saqt.c.abap.1778.option.name_regex.description": "Put a naming convention (Regular expression)",
  "rule.saqt.c.abap.1778.option.name_regex.name": "Naming convention",
  "rule.saqt.c.abap.1779.description": "The Violation of naming rule for REPORT checker finds reports that are not named as per the naming rules.\nREPORT must be named in compliance with the naming rules. Compliant naming is helpful for readability, maintainability, and accordingly cooperative work. Naming rules can be optionally set up.\nREPORT must be named in compliance with the naming rules. (By default, uppercase and lowercase letters cannot be mixed.)",
  "rule.saqt.c.abap.1779.example.0.dangerous": "Line 1: A method MyReport violates its naming conventions.(You can set uppercase and lowercase letters to be mixed in the option.)",
  "rule.saqt.c.abap.1779.example.0.safe": "Line 1: Rename the REPORT to match the naming convention.",
  "rule.saqt.c.abap.1779.name": "Violation of naming rule for REPORT",
  "rule.saqt.c.abap.1779.option.name_regex.description": "Put a naming convention (Regular expression)",
  "rule.saqt.c.abap.1779.option.name_regex.name": "Naming convention",
  "rule.saqt.c.abap.1780.description": "The Violation of naming rule for Program checker finds programs that are not named as per the naming rules.\nPrograms must be named in compliance with the naming rules. Compliant naming is helpful for readability, maintainability, and accordingly cooperative work. Naming rules can be optionally set up.\nPrograms must be named in compliance with the naming rules. (By default, uppercase and lowercase letters cannot be mixed.)",
  "rule.saqt.c.abap.1780.example.0.dangerous": "Line 1: A program MyProgram violates its naming conventions.(You can set uppercase and lowercase letters to be mixed in the option.)",
  "rule.saqt.c.abap.1780.example.0.safe": "Line 1: Rename the PROGRAM to match the naming convention.",
  "rule.saqt.c.abap.1780.name": "Violation of naming rule for program",
  "rule.saqt.c.abap.1780.option.name_regex.description": "Put a naming convention (Regular expression)",
  "rule.saqt.c.abap.1780.option.name_regex.name": "Naming convention",
  "rule.saqt.c.c.2045.description": "The Assignment of Integer-type Null to Pointer Variable checker finds instances of assigning an integer value of 0 to a pointer type variable.\nIn addition to pointer assignment, the occurrences of the equality, inequality, and ternary operators are subject to the check for the assignment of integer 0 to a pointer variable.\nA 0 to be assigned as a null to a pointer must not be of an integer type such as int, but must be cast to a pointer type such as void *. Typically, you can assign the NULL macro defined in the standard header.",
  "rule.saqt.c.c.2045.example.0.dangerous": "Line 4: An integer 0 is assigned to a pointer variable.",
  "rule.saqt.c.c.2045.example.0.safe": "Line 4: Assign a casted 0 to the pointer variable.",
  "rule.saqt.c.c.2045.name": "Assignment of Integer-type Null to Pointer Variable",
  "rule.saqt.c.c.2060.description": "The Exposal of Internal Implementation of Struct/Union checker finds instances in which a struct or union is not used as an operand of a member access operation but its internal field implementation is included in the code.\nIf a struct or union is not used as an operand of a member access operation in a source file, leave only the header of its declaration in the file and separate its internal implementation into another source file.",
  "rule.saqt.c.c.2060.example.0.dangerous": "Line 3: Internal implementation of Not_OpaqueType is exposed even no expression is accessed to its member c and d in the file.",
  "rule.saqt.c.c.2060.example.0.safe": "Line 3: Hide the internal implementation in a member that does not access.\nLine 7: It's enough to declare its type only.",
  "rule.saqt.c.c.2060.name": "Exposal of Internal Implementation of Struct/Union",
  "rule.saqt.c.ccpp.1037.description": "The Non-standard escape sequence checker finds escape sequences that are not provided in the ISO C standard.\nAn escape sequence is a combination of characters starting with a backslash (\\). The escape sequences provided by the ISO C standard include \\`, \\``, \\?, \\\\, \\t, \\v, \\f, \\a, \\b, \\n, \\r, \\0.\nUsing a non-standard escape sequence is an undefined action. Such code may output different results depending on compilers and thus is unpredictable.\nUse standard escape sequences only.",
  "rule.saqt.c.ccpp.1037.example.0.dangerous": "Line 5: An undefined escape sequence is used.",
  "rule.saqt.c.ccpp.1037.example.0.safe": "Line 5: Use a defined escape sequence only.",
  "rule.saqt.c.ccpp.1037.name": "Non-standard escape sequence",
  "rule.saqt.c.ccpp.1040.description": "The Duplicated name in different scope checker finds instances in which identically named identifiers are used at different levels of scope.\nCompilers basically allow the use of identically named identifiers. However, a later declared identifier overrides an earlier declared one.\nRegardless of scope levels, give a unique name to each identifier.",
  "rule.saqt.c.ccpp.1040.example.0.dangerous": "Line 7: A parameter is named to \"variable\". This name is used to a global variable in Line 1.",
  "rule.saqt.c.ccpp.1040.example.0.safe": "Line 7: Rename the parameter with unique name.",
  "rule.saqt.c.ccpp.1040.name": "Duplicated name in different scope",
  "rule.saqt.c.ccpp.1040.option.ignore_enum_constant.description": "If the option is enabled, enumerator constant identifiers will not be checked.",
  "rule.saqt.c.ccpp.1040.option.ignore_enum_constant.name": "Ignore the enumerator constant identifier",
  "rule.saqt.c.ccpp.1040.option.ignore_label.description": "If the option is enabled, label identifiers will not be checked.",
  "rule.saqt.c.ccpp.1040.option.ignore_label.name": "Ignore the label identifier",
  "rule.saqt.c.ccpp.1040.option.ignore_normal_variable.description": "If the option is enabled, normal variable identifiers will not be checked.",
  "rule.saqt.c.ccpp.1040.option.ignore_normal_variable.name": "Ignore the normal variable identifier",
  "rule.saqt.c.ccpp.1040.option.ignore_parameter.description": "The parameter identifier doesn't check if selected.",
  "rule.saqt.c.ccpp.1040.option.ignore_parameter.name": "Ignore the parameter identifier",
  "rule.saqt.c.ccpp.1040.option.ignore_routine.description": "The function identifier doesn't check if selected.",
  "rule.saqt.c.ccpp.1040.option.ignore_routine.name": "Ignore the function identifier",
  "rule.saqt.c.ccpp.1040.option.ignore_typedef.description": "If the option is enabled, typedef identifiers will not be checked.",
  "rule.saqt.c.ccpp.1040.option.ignore_typedef.name": "Ignore the typedef identifier",
  "rule.saqt.c.ccpp.1041.description": "The Non-unique user defined type name checker finds instances in which a name given at a typedef declaration is reused elsewhere.\nCompilers basically allow the use of identically named identifiers. However, a later declared identifier overrides an earlier declared one.\nUse a unique name at each typedef declaration.",
  "rule.saqt.c.ccpp.1041.example.0.dangerous": "Line 1: int64_t is declared with typedef.\nLine 7: A variable int64_t is declared. This name is used as a name of typedef in Line 1.\nLine 11: A parameter int64_t is declared. This name is used as a name of typedef in Line 1.",
  "rule.saqt.c.ccpp.1041.example.0.safe": "Line 7: Do not use the same identifier name with typedef.\nLine 11: Do not use the same identifier name with typedef.",
  "rule.saqt.c.ccpp.1041.name": "Non-unique user defined type name",
  "rule.saqt.c.ccpp.1042.description": "The Duplicated tag name checker finds instances in which a name given at a tag declaration is reused elsewhere.\nTags refer to classes, structs, unions, enumerations, etc.\nUse a unique name at each tag declaration.",
  "rule.saqt.c.ccpp.1042.example.0.dangerous": "Line 2: A struct named StructTest is declared.\nLine 11: A union named StructTest is declared. This name is used as a name of struct in Line 2.",
  "rule.saqt.c.ccpp.1042.example.0.safe": "Line 11: Do not use the same identifier name with the struct.",
  "rule.saqt.c.ccpp.1042.name": "Duplicated tag name",
  "rule.saqt.c.ccpp.1043.description": "The Reused static identifier checker finds instances in which a name given at a declaration of a static object is reused elsewhere.\nA static object herein refers to the identifier of any object with static storage duration. This includes functions as well.\nUse a unique name at each declaration of a static object.",
  "rule.saqt.c.ccpp.1043.example.0.dangerous": "Line 1: A static variable named staticVar1 is declared.\nLine 2: A static variable named staticVar2 is declared.\nLine 4: A typedef named staticVar1 is declared. This name is used as a name of typedef in Line 1.\nLine 5: A local variable named staticVar2 is declared. This name is used as a name of struct in Line 2.",
  "rule.saqt.c.ccpp.1043.example.0.safe": "Line 4: Do not use the same identifier with the predefined static variable.\nLine 5: Do not use the same identifier with the predefined static variable.",
  "rule.saqt.c.ccpp.1043.name": "Reused static identifier",
  "rule.saqt.c.ccpp.1045.description": "The Reused identifier checker finds identifiers with the identical names.\nIdentifiers in different namespaces do not override one another even if they are named identically. Nevertheless, this checker searches for resused identifiers regardless which namespaces they belong to. Identifiers subject to checking include functions, labels, enum constants, variables, parameters, tags and fields.\nDo not use an identical name with other identifier.",
  "rule.saqt.c.ccpp.1045.example.0.dangerous": "Line 4: A field named fieldName is declared.\nLine 9: A function named fieldName is declared. This name is used as a name of typedef in Line 4.",
  "rule.saqt.c.ccpp.1045.example.0.safe": "Line 9: Do not use an identical name with other identifier.",
  "rule.saqt.c.ccpp.1045.name": "Reused identifier",
  "rule.saqt.c.ccpp.1045.option.ignore_enum_constant.description": "If the option is enabled, enumerator constant identifiers will not be checked.",
  "rule.saqt.c.ccpp.1045.option.ignore_enum_constant.name": "Ignore the enumerator constant identifier",
  "rule.saqt.c.ccpp.1045.option.ignore_field.description": "If the option is enabled, field identifiers will not be checked.",
  "rule.saqt.c.ccpp.1045.option.ignore_field.name": "Ignore the field identifier",
  "rule.saqt.c.ccpp.1045.option.ignore_label.description": "If the option is enabled, label identifiers will not be checked.",
  "rule.saqt.c.ccpp.1045.option.ignore_label.name": "Ignore the label identifier",
  "rule.saqt.c.ccpp.1045.option.ignore_normal_variable.description": "If the option is enabled, normal variable identifiers will not be checked.",
  "rule.saqt.c.ccpp.1045.option.ignore_normal_variable.name": "Ignore the normal variable identifier",
  "rule.saqt.c.ccpp.1045.option.ignore_parameter.description": "The parameter identifier doesn't check if selected.",
  "rule.saqt.c.ccpp.1045.option.ignore_parameter.name": "Ignore the parameter identifier",
  "rule.saqt.c.ccpp.1045.option.ignore_routine.description": "The function identifier doesn't check if selected.",
  "rule.saqt.c.ccpp.1045.option.ignore_routine.name": "Ignore the function identifier",
  "rule.saqt.c.ccpp.1045.option.ignore_tag.description": "The tag identifier doesn't check if selected.",
  "rule.saqt.c.ccpp.1045.option.ignore_tag.name": "Ignore the tag identifier",
  "rule.saqt.c.ccpp.1052.description": "The Missing size specification in type definition checker finds typedef declarations for a primitive numeric type that do not specify the size of the storage.\nAmong the primitive numeric types, however, the plain char type and the C data types acting as boolean are excluded from the checks.\nWhen declaring a primitive numeric type with typedef, except for the certain types, be sure to specify the size of the storage.",
  "rule.saqt.c.ccpp.1052.example.0.dangerous": "Line 1: A storage class is not included in typedef declaration.\nLine 2: A storage class is not included in typedef declaration.",
  "rule.saqt.c.ccpp.1052.example.0.safe": "Line 1: Include a storage class in typedef declaration.\nLine 2: Include a storage class in typedef declaration.",
  "rule.saqt.c.ccpp.1052.name": "Missing size specification in type definition",
  "rule.saqt.c.ccpp.1098.description": "The Improper operand of logical operation checker finds logical operations in which an operand expression is other than a variable, constant, or a parenthesized expression.\nAs an operand of a logical operator, only a variable, constant, or parenthesized expression must be used.",
  "rule.saqt.c.ccpp.1098.example.0.dangerous": "Line 3: An expression is used for an operand instead of variable, constant, or parenthesized expression.",
  "rule.saqt.c.ccpp.1098.example.0.safe": "Line 3: Use a variable, constant, or parenthesized expression for an operand.",
  "rule.saqt.c.ccpp.1098.name": "Improper operand of logical operation",
  "rule.saqt.c.ccpp.1111.description": "The Use of continue statement checker finds instances of using a continue statement.\nFrequent use of continue statement hinders reading of the program's control flow. Thus, unintended control flow may lead to program malfunctions.\nDo not use a continue statement.",
  "rule.saqt.c.ccpp.1111.example.0.dangerous": "Line 4: A continue statement is used.",
  "rule.saqt.c.ccpp.1111.example.0.safe": "Line 3: Fix logics not to use the continue statement.",
  "rule.saqt.c.ccpp.1111.name": "Use of continue statement",
  "rule.saqt.c.ccpp.1112.description": "The Missing default case in switch statement checker find incidents that the last clause of switch statements does not end with a default.\nThe checker searches for statements containing no default.\nWrite a default clause at the end of switch statements.",
  "rule.saqt.c.ccpp.1112.example.0.dangerous": "Line 2: No default clause is found in switch statements.",
  "rule.saqt.c.ccpp.1112.example.0.safe": "Line 12: Place the default clause at the end of switch statements.",
  "rule.saqt.c.ccpp.1112.name": "Missing default case in switch statement",
  "rule.saqt.c.ccpp.1112.option.allow_leading_default.description": "Allows the default clause to be placed at the beginning.",
  "rule.saqt.c.ccpp.1112.option.allow_leading_default.name": "Allow default at the beginning",
  "rule.saqt.c.ccpp.1122.description": "The Too high pointer level checker finds instances of declaring a pointer variable that has more than two levels of indirection.\nA pointer may be declared as a double or triple pointer in accordance with its indirection levels.\nWhen declaring a pointer, restrict its indirection to two levels at maximum.",
  "rule.saqt.c.ccpp.1122.example.0.dangerous": "Line 2: A pointer with three levels is declared.",
  "rule.saqt.c.ccpp.1122.example.0.safe": "Line 2: Do not declare a pointer with more than two levels of indirection.",
  "rule.saqt.c.ccpp.1122.name": "Too high pointer level",
  "rule.saqt.c.ccpp.1132.description": "The Too complex function checker finds declaring a function in an extremely complicated way.\nA complicated declaration refers to declaring a function pointer with a non-typedefed return or parameter type.\nUse typedef to declare the return or parameter type separately, or do not use the function pointer.",
  "rule.saqt.c.ccpp.1132.example.0.dangerous": "Line 1: signal() function pointer is declared in a complicated way.",
  "rule.saqt.c.ccpp.1132.example.0.safe": "Line 1: Declare the pointer as typedef, then use it as a parameter.",
  "rule.saqt.c.ccpp.1132.name": "Too complex function",
  "rule.saqt.c.ccpp.1176.description": "The Non-boolean value as operand of logical operation checker finds expressions that use a logical operator on a non-boolean operand.\nLogical operators refer to those like !, &&, and ||.\nMake sure logical operators are used only on a boolean operand.",
  "rule.saqt.c.ccpp.1176.example.0.dangerous": "Line 3: A non-boolean type x is used as an operand of && operator.",
  "rule.saqt.c.ccpp.1176.example.0.safe": "Line 3: Ensure that an operand of && operator is boolean.",
  "rule.saqt.c.ccpp.1176.name": "Non-boolean value as operand of logical operation",
  "rule.saqt.c.ccpp.1177.description": "The Multiple break statements checker finds loops that use a break statement more than once.\nIt is a good structured programming practice to restrict the number of loop termination conditions. It is possible to use only one break in a loop.\nIt is not preferable to use multiple breaks in a loop in terms of structured programming. It makes the control flow confusing.\nDo not use more than one break in a loop.",
  "rule.saqt.c.ccpp.1177.example.0.dangerous": "Line 7: A break statement is used.\nLine 10: A break statement is used. A break statement has been used twice in a single loop.",
  "rule.saqt.c.ccpp.1177.example.0.safe": "Line 5: Do not use more than one break in a loop.",
  "rule.saqt.c.ccpp.1177.name": "Multiple break statements",
  "rule.saqt.c.ccpp.1180.description": "The Case statement in nested block checker finds instances of using a case or default in a compound statement other than switch statement.\nEnsure to use the case or default only in switch statement.",
  "rule.saqt.c.ccpp.1180.example.0.dangerous": "Line 6: A case is used in body of case statements instead of switch statements.",
  "rule.saqt.c.ccpp.1180.example.0.safe": "Line 3: Use a case in switch statements.",
  "rule.saqt.c.ccpp.1180.name": "Case statement in nested block",
  "rule.saqt.c.ccpp.1181.description": "The Missing identifier for parameter checker finds declarations of function prototypes whose parameter does not have an identifier.\nWhen declaring a function prototype, make sure all its parameters have an identifier.",
  "rule.saqt.c.ccpp.1181.example.0.dangerous": "Line 1: No identifier is found for the second parameter.\nLine 2: No identifier is found for all parameters.",
  "rule.saqt.c.ccpp.1181.example.0.safe": "Line 1: All parameters needs their identifiers.\nLine 2: All parameters needs their identifiers.",
  "rule.saqt.c.ccpp.1181.name": "Missing identifier for parameter",
  "rule.saqt.c.ccpp.1182.description": "The Mismatched name of argument checker finds instances when identifiers are not matched for a parameter in function declaration or definition.\nWrite a single identifier for each parameter in function declaration or definition.",
  "rule.saqt.c.ccpp.1182.example.0.dangerous": "Line 1: func2() function is declared.\nLine 2: func2() function is declared. However, their parameter identifier is not matched.",
  "rule.saqt.c.ccpp.1182.example.0.safe": "Line 2: A parameter must be matched between declaration and definition.",
  "rule.saqt.c.ccpp.1182.name": "Mismatched name of argument",
  "rule.saqt.c.ccpp.1185.description": "The Following include statement checker finds files in which #include preprocessor statements are not located at the top.\nIn case a file begins with another preprocessor statement or a comment, the checker allows it as an exception.\nUnless subject to this exception, make sure #include comes at the top of the file.",
  "rule.saqt.c.ccpp.1185.example.0.dangerous": "Line 2: A global variable is declared before include preprocessor.",
  "rule.saqt.c.ccpp.1185.example.0.safe": "Line 2: Place include preprocessor statement at the top of file except other preprocessors or comments.",
  "rule.saqt.c.ccpp.1185.name": "Following include statement",
  "rule.saqt.c.ccpp.1208.description": "The Inconsistent parameter declaration checker finds functions whose parameters are not declared in a consistent manner.\nParameter declarations must have consistency. Inconsistently written parameter declarations undermine code readability.\nBe sure to declare parameters in a consistent manner.",
  "rule.saqt.c.ccpp.1208.example.0.dangerous": "Line 1: No identifier is found for the second parameter.",
  "rule.saqt.c.ccpp.1208.example.0.safe": "Line 1: All parameter need their identifiers.",
  "rule.saqt.c.ccpp.1208.name": "Inconsistent parameter declaration",
  "rule.saqt.c.ccpp.1252.description": "The Declaration of external global variable in header file checker finds instances that declaration is not performed in a header file as specified in rules.\nThe header file declaration rules are as follows: all non-inline functions, classes, variables, enumerations and enumeration constants, entities at named namespace scope, and objects with external linkage must be declared in header files. Do not write object definitions and unnamed namespace declarations and definitions in header files.\nIf required entities are not written in the header files, other files cannot use their functions or objects.\nWrite the header file as specified.",
  "rule.saqt.c.ccpp.1252.example.0.dangerous": "Line 4: A global variable with an external link is defined.",
  "rule.saqt.c.ccpp.1252.example.0.safe": "Line 4: Declare the global variable only.",
  "rule.saqt.c.ccpp.1252.name": "Declaration of external global variable in header file",
  "rule.saqt.c.ccpp.1252.option.as_Misra2008.description": "check all variable that non-defined in hedaer.",
  "rule.saqt.c.ccpp.1252.option.as_Misra2008.name": "run as misra2008 spec",
  "rule.saqt.c.ccpp.1253.description": "The Missing definition of inline function in header file checker finds instances that inline definition is not performed in a hear file as specified in rules.\nThe header file inline definition rules are as follows: The inline functions must be declared and defined in header files. Do not write unnamed namespace declarations and definitions in header files.\nFor performance, the inline function replaces itself with other lines instead of calls. Therefore, it is recommended to secure visibility of function implementation.\nWrite the header file as specified.",
  "rule.saqt.c.ccpp.1253.example.0.dangerous": "Line 2: An inline function is declared in a header file.",
  "rule.saqt.c.ccpp.1253.example.0.safe": "Line 2: Define the inline function in a header file.",
  "rule.saqt.c.ccpp.1253.name": "Missing definition of inline function in header file",
  "rule.saqt.c.ccpp.1254.description": "The Template definition in source file checker finds instances that template definition is not performed in a hear file as specified in rules.\nThe header file template definition rules are as follows: Template classes or functions must be declared and defined in header files. Do not write unnamed namespace declarations and definitions in header files.\nThe template definition is required to be visible by other external links in order to instantiate itself. In compilers supporting explicit instantiation, the template definition doesn't have to be included to header files. However, in general, it is recommended to keep the definition in the header files.\nWrite the header file as specified.",
  "rule.saqt.c.ccpp.1254.example.0.dangerous": "Line 2: A template is defined in source files.",
  "rule.saqt.c.ccpp.1254.example.0.safe": "Line 2: Define a template in header files.",
  "rule.saqt.c.ccpp.1254.name": "Template definition in source file",
  "rule.saqt.c.ccpp.1262.description": "The Non-unique Identifier checker finds identifiers that are not unique.\nCheck that each identifier is unique. Similarly named identifiers undermine code readability, thus causing more mistakes.\nMake sure all identifiers are unique.",
  "rule.saqt.c.ccpp.1262.example.0.dangerous": "Line 2: An identifier C is duplicate with an class type C. Which is an efficient code in C++.",
  "rule.saqt.c.ccpp.1262.example.0.safe": "Line 2: Use a unique identifier.",
  "rule.saqt.c.ccpp.1262.name": "Non-unique Identifier",
  "rule.saqt.c.ccpp.1263.description": "The Use of ambiguous grammar checker finds instances of declaring a variable by using an identical grammar of function style cast.\nAvoid an ambiguous grammar between function style cast and declaration. Do not use ambiguous parentheses in declaration.\nThis issue may affect the program performance or potentially lead to causing an error.\nDo not use parentheses in the variable declaration.",
  "rule.saqt.c.ccpp.1263.example.0.dangerous": "Line 6: Parentheses are used to declare b.",
  "rule.saqt.c.ccpp.1263.example.0.safe": "Line 6: Do not use parentheses.",
  "rule.saqt.c.ccpp.1263.name": "Use of ambiguous grammar",
  "rule.saqt.c.ccpp.1264.description": "The Confusing character in identifier checker finds identifiers that include both the number `1` and lowercase `l` or both the number `0` and uppercase `O`.\nMake sure an identifier does not include both the number `1` and lowercase `l` or both the number `0` and uppercase `O`. This can cause confusion to programmers.\nThis issue may affect the program performance or potentially lead to causing an error.\nMake sure an identifier does not include both the number `1` and lowercase `l` or both the number `0` and uppercase `O`.",
  "rule.saqt.c.ccpp.1264.example.0.dangerous": "Line 1: Confusing characters, such as lowercase 'l' and number '1', are used in a single identifier.",
  "rule.saqt.c.ccpp.1264.example.0.safe": "Line 1: Do not use confusing characters, such as lowercase 'l' and number '1', in a single identifier.",
  "rule.saqt.c.ccpp.1264.name": "Confusing character in identifier",
  "rule.saqt.c.ccpp.1265.description": "The Multiple type name in single type definition checker finds typedef statements that declare more than one type.\nEach typedef statement must declare only one type. As the `&` and `*` modifiers apply only to the adjacent declarator, a typedef declaration of multiple types may be confusing and undermine maintainability.\nOtherwise, this issue may affect the program performance or potentially lead to causing an error.\nEach typedef statement must declare only one type.",
  "rule.saqt.c.ccpp.1265.example.0.dangerous": "Line 1: A pointer is declared to int pointer, and a value is declared to int. Which can be an unintended action.",
  "rule.saqt.c.ccpp.1265.example.0.safe": "Line 1: Declare one type by using typedef.",
  "rule.saqt.c.ccpp.1265.name": "Multiple type name in single type definition",
  "rule.saqt.c.ccpp.1266.description": "The User defined array type checker finds typedef statements that declare an array type.\nAn array type should not be declared with typedef. A typedef-declared array type may be incorrectly used when a delete or bounds-checking is performed on this type.\nThis issue may affect the program performance or potentially lead to causing an error.\nDo not typedef an array type.",
  "rule.saqt.c.ccpp.1266.example.0.dangerous": "Line 6: An object is deleted with delete. It seems that no undefined behavior occurs. However, a typedef has been used on ArrayType. Thus, delete[] call has been required.",
  "rule.saqt.c.ccpp.1266.example.0.safe": "Line 1: Use a typedef to declare types.",
  "rule.saqt.c.ccpp.1266.name": "User defined array type",
  "rule.saqt.c.ccpp.1269.description": "The Violation of rule for * and & tokens checker finds a variable name with a pointer or reference operator, such as asterisk or ampersand, appended in declaration.\nEnsure to append an asterisk or ampersand to a variable type instead of name. Then, it helps to understand that each token indicates a part of type.\nOtherwise, this issue may affect the program performance or potentially lead to causing an error.\nEnsure to append asterisk or ampersand to a variable type instead of name.",
  "rule.saqt.c.ccpp.1269.example.0.dangerous": "Line 1: * is appended to the variable name.",
  "rule.saqt.c.ccpp.1269.example.0.safe": "Line 1: Append * to the type name.",
  "rule.saqt.c.ccpp.1269.name": "Violation of rule for * and & tokens",
  "rule.saqt.c.ccpp.1270.description": "The Use of unsigned type checker finds instances of using an unsigned number.\nIt is recommended to use a signed number instead of the unsigned number. Conversion between the signed and unsigned numbers can cause issues that are not easily identifiable.\nThis issue may affect the program performance or potentially lead to causing an error.\nUse a signed number instead of unsigned number.",
  "rule.saqt.c.ccpp.1270.example.0.dangerous": "Line 1: A unsigned integer is used.",
  "rule.saqt.c.ccpp.1270.example.0.safe": "Line 1: Use a signed integer.",
  "rule.saqt.c.ccpp.1270.name": "Use of unsigned type",
  "rule.saqt.c.ccpp.1272.description": "The Improper comparison with constant value checker finds instances of comparison between a variable and a constant in which the constant comes on the right side of the comparison operator.\nWhen comparing a variable and a constant, put the constant on the left side. In C++ context, the assignment operator (=) is often used by mistake instead of the equality operator (==). If the constant is on the left side, the compiler can detect this mistake.\nThis issue may affect the program performance or potentially lead to causing an error.\nWhen comparing a variable and a constant, put the constant on the left side.",
  "rule.saqt.c.ccpp.1272.example.0.dangerous": "Line 2: A value is placed on the right side.",
  "rule.saqt.c.ccpp.1272.example.0.safe": "Line 2: Put a constant on the left side.",
  "rule.saqt.c.ccpp.1272.name": "Improper comparison with constant value",
  "rule.saqt.c.ccpp.1275.description": "The Use of Ternary Operator checker finds instances of using a ternary operator.\nEnsure not to use the ternary operators. It is recommended to explicitly use conditional statements in order to evaluate complex conditions.\nThis issue may affect the program performance or potentially lead to causing an error.\nDo not use the ternary operators.",
  "rule.saqt.c.ccpp.1275.example.0.dangerous": "Line 3: A ternary operator is used.",
  "rule.saqt.c.ccpp.1275.example.0.safe": "Line 3: Use a conditional statement instead of a ternary operator.",
  "rule.saqt.c.ccpp.1275.name": "Use of Ternary Operator",
  "rule.saqt.c.ccpp.1281.description": "The Violation of rule for white space in preprocess statement checker finds preprocessor statements that do not start in the first column or that include a space between the # character and directive name.\nThis rule conflicts with the rule of the Preprocessor Directive without Space checker. Do not apply both rules simultaneously.\nMake sure no space comes before a preprocessor statement or between the # character and its following directive name.\nMake sure no space comes before a preprocessor statement or between the # character and its following directive name.",
  "rule.saqt.c.ccpp.1281.example.0.dangerous": "Line 1: An entry of directive is not set to the first column.",
  "rule.saqt.c.ccpp.1281.example.0.safe": "Line 1: Start from the first column.",
  "rule.saqt.c.ccpp.1281.name": "Violation of rule for white space in preprocess statement",
  "rule.saqt.c.ccpp.1282.description": "The Violation of rule for white space in nested preprocess statements finds instances in which a preprocessor statement does not start in the first column or an inner conditional preprocessing block does not include a space between the # character and directive name.\nMake sure preprocessor conditional statements start in the first column, and inner conditional preprocessing blocks include a space between the # character and directive name.\nMake sure preprocessor conditional statements start in the first column, and inner conditional preprocessing blocks include a space between the # character and directive name.",
  "rule.saqt.c.ccpp.1282.example.0.dangerous": "Line 2: No whitespace is placed between # and directive name.",
  "rule.saqt.c.ccpp.1282.example.0.safe": "Line 2: Put a whitespace between # and directive name.",
  "rule.saqt.c.ccpp.1282.name": "Violation of rule for white space in nested preprocess statements",
  "rule.saqt.c.ccpp.1283.description": "The Use of #if directive checker finds instances of using the #if preprocessor directive.\nConditional compilation control based on a particular preprocessing token value is error-prone.\nUse the #ifdef or #ifndef preprocessor directive instead.",
  "rule.saqt.c.ccpp.1283.example.0.dangerous": "Line 2: A #if directive is used.",
  "rule.saqt.c.ccpp.1283.example.0.safe": "Line 2: Use a #ifdef directive.",
  "rule.saqt.c.ccpp.1283.name": "Use of #if directive",
  "rule.saqt.c.ccpp.1286.description": "The Path specifier in include statement checker finds #include statements that include a path separator in the directory.\nSome directory names and paths may be changed by the platform or compiler.\nMake sure #include statements do not include a path separator character in the directory.",
  "rule.saqt.c.ccpp.1286.example.0.dangerous": "Line 1: A path specifier is inserted while including a header file.",
  "rule.saqt.c.ccpp.1286.example.0.safe": "Line 4: Specify a path in a makefile, then include a header file without specifier.",
  "rule.saqt.c.ccpp.1286.name": "Path specifier in include statement",
  "rule.saqt.c.ccpp.1311.description": "The Illegible identifier checker finds instances of using identifiers that are hardly distinguishable from one another.\nIn some fonts, different characters may have the same glyph shape. This may be confusing to developers who read the identifiers.\nUse visually well-distinguishable identifiers.",
  "rule.saqt.c.ccpp.1311.example.0.dangerous": "Line 2: Confusing characters, such as id_O with uppercase O in foo.h and id_0 with number 0 in bar.h, are used.",
  "rule.saqt.c.ccpp.1311.example.0.safe": "Line 2: Do not use hardly distinguishable characters to identifiers.",
  "rule.saqt.c.ccpp.1311.name": "Illegible identifier",
  "rule.saqt.c.ccpp.1313.description": "The Type declaration in source file checker finds instances in which an entity supposed to be defined in a header file is actually defined in a source file.\nDefinitions that may be shared across different source files should generally be included in a header file. This allows source files to share their interfaces mutually by including the header files that define common entities.\nExcept object definitions and unnamed namespace declarations and definitions, all entities should be declared in header files. Which include: all non-inline functions, classes, variables, enumerations and enumeration constants, entities at named namespace scope, and entities with external linkage.",
  "rule.saqt.c.ccpp.1313.example.0.dangerous": "Line 2: An enum type is defined in source files.\nLine 3: A class type is defined in source files.",
  "rule.saqt.c.ccpp.1313.example.0.safe": "Line 2: Declare an enum type in header files.\nLine 3: Declare a class type in header files.",
  "rule.saqt.c.ccpp.1313.name": "Type declaration in source file",
  "rule.saqt.c.ccpp.1361.description": "The Non-member function at outside of anonymous namespace checker finds source files in which a non-member function that is not of an external interface is defined outside an unnamed namespace.\nThe basic approach to defining a function not being referred to from another translation unit is to locate the function definition in an unnamed namespace. An explicit definition of a static function is depreciated.\nWhen declaring a function used only within a specific source file, place its declaration in an unnamed namespace instead of declaring it static.",
  "rule.saqt.c.ccpp.1361.example.0.dangerous": "Line 2: A source file-specific non-member function is declared as static.",
  "rule.saqt.c.ccpp.1361.example.0.safe": "Line 3: Declare the source file-specific non-member function in an unnamed namespace.",
  "rule.saqt.c.ccpp.1361.name": "Non-member function at outside of anonymous namespace",
  "rule.saqt.c.ccpp.1362.description": "The Member function in structure checker finds instances of including a member function in a struct or applying an access modifier to a struct member.\nThere is no benefit from treating a struct like a class. Typically, structs must be of a POD type. The members of structs and unions are public by default. Do not change this.\nIf you need to use an access modifier or member function, declare a class instead.",
  "rule.saqt.c.ccpp.1362.example.0.dangerous": "Line 2: A protected access specifier is used in struct declaration.\nLine 3: A member function is declared in a struct.",
  "rule.saqt.c.ccpp.1362.example.0.safe": "Line 1: Use variables only in a struct.",
  "rule.saqt.c.ccpp.1362.name": "Member function in structure",
  "rule.saqt.c.ccpp.1363.description": "The Comparing enumeration type with integer value checker finds instances of explicit comparison with an enumerator using its internal integer value.\nWhen referencing an enumerator, it is preferable, in terms of both documentation and maintainability, to use its identifier name than its internal integer value. If your code relies on the integer values of enumerators, a change to an enumeration will require fixes on every part of the code.\nDo not reference enumerators by their integer value but by their identifier.",
  "rule.saqt.c.ccpp.1363.example.0.dangerous": "Line 4: An enum type is compared to an integer.",
  "rule.saqt.c.ccpp.1363.example.0.safe": "Line 4: Do not compare an enum to an integer.",
  "rule.saqt.c.ccpp.1363.name": "Comparing enumeration type with integer value",
  "rule.saqt.c.ccpp.1373.description": "The Variable name of lower scope including variable name of upper scope checker finds instances in which a variable name at an upper level of scope is included to a lower level.\nEnsure not to include the variable name at an upper level of scope to its lower level.",
  "rule.saqt.c.ccpp.1373.example.0.dangerous": "Line 3: A variable name, `Number`, is included to another variable name, `currentNumber`.",
  "rule.saqt.c.ccpp.1373.example.0.safe": "Line 3: Ensure that a parent variable name is not included to its child variable name.",
  "rule.saqt.c.ccpp.1373.name": "Variable name of lower scope including variable name of upper scope",
  "rule.saqt.c.ccpp.1374.description": "The Violation of naming rule for variable (BSSC) finds BSSC variable names that do not comply with the naming rules.\nThe naming rules are as follows: A variable name starts with an uppercase except the first word and consists of one or more words.\nMake sure to configure variable names to start with an uppercase except the first word and consists of one or more words in compliance with the naming rules.",
  "rule.saqt.c.ccpp.1374.example.0.dangerous": "Line 1: A variable starts with an uppercase.",
  "rule.saqt.c.ccpp.1374.example.0.safe": "Line 1: Do not start a variable with uppercases, and configure it with at least one word.",
  "rule.saqt.c.ccpp.1374.name": "Violation of naming rule for variable (BSSC)",
  "rule.saqt.c.ccpp.1375.description": "The Violation of naming rule for function (BSSC) checker finds BSSC function names that do not comply with the naming rules.\nThe naming rules are as follows: A function name starts with an uppercase and consists of one or more words.\nMake sure to configure function names to start with an uppercase and consists of one or more words in compliance with the naming rules.",
  "rule.saqt.c.ccpp.1375.example.0.dangerous": "Line 1: A function starts with an lowercase.",
  "rule.saqt.c.ccpp.1375.example.0.safe": "Line 1: Start a function with uppercases, and configure it with at least one word.",
  "rule.saqt.c.ccpp.1375.name": "Violation of naming rule for function",
  "rule.saqt.c.ccpp.1376.description": "The Violation of naming rule for user defined type checker finds instances that a custom type name does not start with T, or end with _t or _type.\nEnsure the custom type name to start with T, and end with _t or _type.",
  "rule.saqt.c.ccpp.1376.example.0.dangerous": "Line 1: A custom type name does not start with T, and end with _t or _type.",
  "rule.saqt.c.ccpp.1376.example.0.safe": "Line 1: Ensure that a custom type name ends with _t.",
  "rule.saqt.c.ccpp.1376.name": "Violation of naming rule for user defined type",
  "rule.saqt.c.ccpp.1377.description": "The Violation of naming rule for class checker finds instances of a class name that does not start with superclass C, or end with _c or _class.\nEnsure that the class name start with superclass C, and end with _c or _class.",
  "rule.saqt.c.ccpp.1377.example.0.dangerous": "Line 1: A class name does not started with C, and end with _c or _class.",
  "rule.saqt.c.ccpp.1377.example.0.safe": "Line 1: Ensure that a class name starts with C.",
  "rule.saqt.c.ccpp.1377.name": "Violation of naming rule for class",
  "rule.saqt.c.ccpp.1415.description": "The Early variable definition checker finds instances in which a local variable is declared much earlier than its actual use and thus stays live in a broad range.\nAn unnecessary cost of construction and destruction can be saved by delaying variable definition right before its use. Moreover, it helps to locate positions of variable declaration.\nDeclare local variables right before their use to reduce their live ranges as much as possible.",
  "rule.saqt.c.ccpp.1415.example.0.dangerous": "Line 6: Definition is postponed for variable x. The variable is used within a block of if statements.\nLine 16: A block of switch, for, while, or do-while statements can be handled as exception.A variable cannot be declared within a switch block, and can consume resources to be defined in a loop.",
  "rule.saqt.c.ccpp.1415.example.0.safe": "Line 8: Postpone the variable definition as long as possible.",
  "rule.saqt.c.ccpp.1415.name": "Early variable definition",
  "rule.saqt.c.ccpp.1418.description": "The Redundant casting checker finds instances of explicitly casting an object to exactly the same type.\nAn explicit cast is used to tell the compiler to treat one object type as another when the object being cast does not have a type suited to the expression in which the object is used. However, if the object already has the destination type, an explicit cast to the same type is not meaningful and just undermines code readability.\nEliminate unnecessary explicit casts.",
  "rule.saqt.c.ccpp.1418.example.0.dangerous": "Line 3: Explicit casting to int doesn't have to be performed on y of int type.",
  "rule.saqt.c.ccpp.1418.example.0.safe": "Line 3: Eliminate unnecessary explicit casts.",
  "rule.saqt.c.ccpp.1418.name": "Redundant casting",
  "rule.saqt.c.ccpp.1428.description": "The Improperly Formatted Macro Names checker finds macro names that include other characters than uppercase letters and underscores (_).\nName macros only with uppercase letters and underscores.",
  "rule.saqt.c.ccpp.1428.example.0.dangerous": "Line 2: A lowercase is used in a macro name.",
  "rule.saqt.c.ccpp.1428.example.0.safe": "Line 2: Name a macro with uppercases and underbar.",
  "rule.saqt.c.ccpp.1428.name": "Improperly Formatted Macro Name",
  "rule.saqt.c.ccpp.1428.option.ignore_list.description": "Ignore list",
  "rule.saqt.c.ccpp.1428.option.ignore_list.name": "Macro excluded",
  "rule.saqt.c.ccpp.1947.description": "The Missing call of sizeof checker finds instances in which a specified function is passed with an expression other than the sizeof() operator in the specified position.\nYou can optionally specify functions by name and the position index of the argument that should take sizeof().\nWhen calling a specified function, be sure to pass sizeof() to the specified argument position.",
  "rule.saqt.c.ccpp.1947.example.0.dangerous": "Line 2: A sizeof operator is not used on the first argument of somecall() function. Suppose to specify a certain function to somecall(), and a certain argument index to the first.",
  "rule.saqt.c.ccpp.1947.example.0.safe": "Line 2: Use the sizeof operator on the first argument of function as specified in option.",
  "rule.saqt.c.ccpp.1947.name": "Missing call of sizeof",
  "rule.saqt.c.ccpp.1947.option.check_sizeof.description": "If target parameter is an expression and uses sizeof operator in it, the analyzer will not generate issue on it. <br />Example) sizeof(int) *24",
  "rule.saqt.c.ccpp.1947.option.check_sizeof.name": "Check sizeof in expression",
  "rule.saqt.c.ccpp.1947.option.target_func.description": "Set target functions and parameter index. Please put like (parameter index):(target function name). Parameter index starts with 1, not 0.<br />Example) 1:memcpy",
  "rule.saqt.c.ccpp.1947.option.target_func.name": "Target functions and parameter index",
  "rule.saqt.c.ccpp.1948.description": "The Wrong length of field array checker finds instances a specified struct's specified field has a shorter length than specified.\nYou can optionally specify structs and fields by name and their required field length. This rule applies only to array fields, and it counts the number of elements, not the number of bytes allocated.\nMake sure that specified structs' specified fields are declared with a length no smaller than the optionally specified value.",
  "rule.saqt.c.ccpp.1948.example.0.dangerous": "Line 2: The length of a field name is smaller than 256 in a struct. Suppose to specify a certain struct to key, a certain field to module, and the length to 256.",
  "rule.saqt.c.ccpp.1948.example.0.safe": "Line 2: Declare an efficient length to field as specified in option.",
  "rule.saqt.c.ccpp.1948.name": "Wrong length of field array",
  "rule.saqt.c.ccpp.1948.option.targets.description": "Set target struct, field, element number. Please describe like that : (name of structure),(name of field),(number of elements)",
  "rule.saqt.c.ccpp.1948.option.targets.name": "Target struct, field, element number",
  "rule.saqt.c.ccpp.1949.description": "The Duplicated parameters checker finds calls to specified functions in which the same variable is passed to different parameters.\nYou can optionally specify functions by name. When a specified function is called, the checker checks for the same variable passed to different parameters. Some functions forbid passing the same variable to different parameters.\nDo not pass the same variable to two or more parameters when calling a specified function.",
  "rule.saqt.c.ccpp.1949.example.0.dangerous": "Line 2: A same variable, p, is used to the second and third parameter of test function that is forbidden to use identical variables as parameters.",
  "rule.saqt.c.ccpp.1949.example.0.safe": "Line 2: Do not pass the same variable as an argument.",
  "rule.saqt.c.ccpp.1949.name": "Duplicated parameters",
  "rule.saqt.c.ccpp.1949.option.target_func.description": "Set target functions",
  "rule.saqt.c.ccpp.1949.option.target_func.name": "Target functions",
  "rule.saqt.c.ccpp.2135.description": "The Code in Comment checker finds code placed in the middle of comments.\nThe checker search source code within comments (//, /*...*/). It is recommended to remove unnecessary code instead of comment handling.\nDo not place the code in the middle of comments.",
  "rule.saqt.c.ccpp.2135.example.0.dangerous": "Line 1: A source code sting is found in comments.\nLine 27: A source code sting is found in comments.",
  "rule.saqt.c.ccpp.2135.example.0.safe": "Line 3: Remove the source code sting from comments.",
  "rule.saqt.c.ccpp.2135.name": "Code in Comment",
  "rule.saqt.c.ccpp.2393.description": "The Violation of One Definition Rule checker finds code that performs more than one definition for a non-inline function or object.\nThe violation of one definition rule may cause an unexpected result.\nEnsure that a function or object has a single definition.",
  "rule.saqt.c.ccpp.2393.example.0.dangerous": "Line 15: A different type is defined.\nLine 20: A different type is defined.",
  "rule.saqt.c.ccpp.2393.example.0.safe": "Line 15: A same type is defined.\nLine 20: A same type is defined.",
  "rule.saqt.c.ccpp.2393.name": "Violation of One Definition Rule",
  "rule.saqt.c.ccpp.258.description": "The Too many function calls checker finds instances of function calls more than the specified number in an option.\nYou can optionally specify the maximum number of function calls.\nDo not call the function more than the optionally specified number.",
  "rule.saqt.c.ccpp.258.example.0.dangerous": "Line 9: By default, 7 calls are allowed for a function. The function has been called more than 7 times.",
  "rule.saqt.c.ccpp.258.example.0.safe": "Line 8: Ensure the function to be called within the specified number of times.",
  "rule.saqt.c.ccpp.258.name": "Too many function calls",
  "rule.saqt.c.ccpp.258.option.max_call_number.description": "Specify the maximum number of function calls to allow within a function",
  "rule.saqt.c.ccpp.258.option.max_call_number.name": "Maximum number of function calls within a function",
  "rule.saqt.c.ccpp.259.description": "The Use of goto statement checker finds goto statements that do not comply with the given restrictions.\nYou can optionally specify the maximum allowed number of goto statements per function and whether to apply the checks to goto statements in macros.\nDo not use goto statements.",
  "rule.saqt.c.ccpp.259.example.0.dangerous": "Line 7: A goto statement is used to move to L1, which repeates infinitely.",
  "rule.saqt.c.ccpp.259.example.0.safe": "Line 3: The goto statement makes a programm flow complicated and undermines code readability. It is recommanded not to use.",
  "rule.saqt.c.ccpp.259.name": "Use of goto statement",
  "rule.saqt.c.ccpp.259.option.ignore_macro.description": "Ignore goto statement in macro",
  "rule.saqt.c.ccpp.259.option.ignore_macro.name": "If it checked, the analyzer will ignore goto statement in macro.",
  "rule.saqt.c.ccpp.259.option.max_goto_statement_number.description": "Write the maximum number of goto statements to be allowed in a function.",
  "rule.saqt.c.ccpp.259.option.max_goto_statement_number.name": "Maximum number of goto statements within a function",
  "rule.saqt.c.ccpp.260.description": "The Too many return statements checker finds instances in which a function includes more return statements than the optionally specified number.\nYou can optionally specify the maximum allowed number of return statements per function.\nUse return statements within the allowed number.",
  "rule.saqt.c.ccpp.260.example.0.dangerous": "Line 5: One or more return statements is used.",
  "rule.saqt.c.ccpp.260.example.0.safe": "Line 8: Use one return statement for each function.",
  "rule.saqt.c.ccpp.260.name": "Too many return statements",
  "rule.saqt.c.ccpp.260.option.max_return_statement_number.description": "Write the maximum number of return statements to allow within a function.",
  "rule.saqt.c.ccpp.260.option.max_return_statement_number.name": "Maximum number of return statements within a function",
  "rule.saqt.c.ccpp.263.description": "The Non-macro constant checker finds instances of using a constant that is not defined as a macro.\nAs an exception, such a constant can be used in checking against a return from a system API or framework API. You can optionally specify a common header file path and allowable functions.\nFor good code readability, it is recommended to define constants as macros.",
  "rule.saqt.c.ccpp.263.example.0.dangerous": "Line 2: A normal constant is used.",
  "rule.saqt.c.ccpp.263.example.0.safe": "Line 3: Define the constant through a macro.",
  "rule.saqt.c.ccpp.263.name": "Non-macro constant",
  "rule.saqt.c.ccpp.263.option.allowed_function.description": "Write standard API and framework functions. <br />These functions may be compared with a constant not defined in the macro. <br /> If there is no value for this option, the constant compared with return values by all functions will be ignored. <br />Example) strcmp",
  "rule.saqt.c.ccpp.263.option.allowed_function.name": "System API or Framework API",
  "rule.saqt.c.ccpp.263.option.common_header_path.description": "Write a common header path.<br />If no value is defined, the checker will not consider the location where the macro is defined.<br /> Example) c:projectinclude",
  "rule.saqt.c.ccpp.263.option.common_header_path.name": "Common Header File Path",
  "rule.saqt.c.ccpp.266.description": "The Constant in condition of loop statement checker finds loop statements whose control section includes a constant.\nYou can optionally specify values excluded from checking.\nDo not use a constant in the control section of a loop.",
  "rule.saqt.c.ccpp.266.example.0.dangerous": "Line 2: A constant is used in condition of while statements.",
  "rule.saqt.c.ccpp.266.example.0.safe": "Line 2: Do not use the constant in the condition.",
  "rule.saqt.c.ccpp.266.name": "Constant in condition of loop statement",
  "rule.saqt.c.ccpp.266.option.ignored_value.description": "Write the values to ignore from analysis.",
  "rule.saqt.c.ccpp.266.option.ignored_value.name": "Values to exclude from analysis",
  "rule.saqt.c.ccpp.267.description": "The Variable declaration at middle of function checker finds function definitions in which all variables are not declared and initialized at the top.\nYou can optionally specify whether to check for initialization, function names excluded from checking, and variable names excluded from checking.\nWhen defining a function, all variables must be declared and initialized at the top.",
  "rule.saqt.c.ccpp.267.example.0.dangerous": "Line 3: A variable is declared in if statements. Variables need to be declared at the start of functions.",
  "rule.saqt.c.ccpp.267.example.0.safe": "Line 2: Declare and initialize the variable at the start of a function.",
  "rule.saqt.c.ccpp.267.name": "Variable declaration at middle of function",
  "rule.saqt.c.ccpp.267.option.ignored_function_name.description": "Write the list of the functions that can be called before the first local variable declaration. <br /> It supports regular expression. <br /> Example) ulog.*",
  "rule.saqt.c.ccpp.267.option.ignored_function_name.name": "List of Functions to Exclude",
  "rule.saqt.c.ccpp.267.option.ignored_variable_name.description": "Write variables to exclude from analysis.",
  "rule.saqt.c.ccpp.267.option.ignored_variable_name.name": "Variables to exclude from analysis",
  "rule.saqt.c.ccpp.267.option.skip_array_check.description": "Skip array initialization checking",
  "rule.saqt.c.ccpp.267.option.skip_array_check.name": "Skip array initialization checking",
  "rule.saqt.c.ccpp.271.description": "The Too many consecutive if statements checker finds instances of using if statements consecutively.\nYou can optionally specify the maximum allowed number of consecutive if statements.\nDo not use if statements consecutively but combine them with other types of conditional statements.",
  "rule.saqt.c.ccpp.271.example.0.dangerous": "Line 12: if statement to compare a variable and constant is used 3 or more times.",
  "rule.saqt.c.ccpp.271.example.0.safe": "Line 3: Use a switch-case statement instead of if statements multiple times.",
  "rule.saqt.c.ccpp.271.name": "Too many consecutive if statements",
  "rule.saqt.c.ccpp.271.option.max_number_of_ifs.description": "Specify the maximum number of if statements to allow within a function.",
  "rule.saqt.c.ccpp.271.option.max_number_of_ifs.name": "Maximum number of if statements within a function",
  "rule.saqt.c.ccpp.273.description": "The Unprefixed Constant in Enum checker finds enums in which a constant is declared without the specified prefix.\nThe specified prefix regex is ([^_]+)_.+ .\nAdd the specified prefix to each constant in enums.",
  "rule.saqt.c.ccpp.273.example.0.dangerous": "Line 2: No prefix is found at the start of constants, 'A', 'B', and 'C'. A specified prefix 'L1_' needs to be added to the constants.",
  "rule.saqt.c.ccpp.273.example.0.safe": "Line 2: Add the specified prefix at the start of the enum constants.",
  "rule.saqt.c.ccpp.273.name": "Unprefixed Constant in Enum",
  "rule.saqt.c.ccpp.275.description": "The Violation of Hungarian notation checker finds identifiers that are not named in compliance with Hungarian notation.\nYou can optionally designate a list of prefixes used for Hungarian notation.\nComply with Hungarian notation.",
  "rule.saqt.c.ccpp.275.example.0.dangerous": "Line 2: This line violates hungarian notation to use 'p', 'i', or 'n' as a prefix.",
  "rule.saqt.c.ccpp.275.example.0.safe": "Line 2: Declare a variable with a specified prefix.",
  "rule.saqt.c.ccpp.275.name": "Violation of Hungarian notation",
  "rule.saqt.c.ccpp.275.option.prefix.description": "Write the prefixes to use in Hungarian notation.",
  "rule.saqt.c.ccpp.275.option.prefix.name": "Prefixes in Hungarian notation",
  "rule.saqt.c.ccpp.276.description": "The Missing initialization of variable checker finds variables that are not initialized at their declaration.\nInitialize variables at their declaration.",
  "rule.saqt.c.ccpp.276.example.0.dangerous": "Line 2: Variable var is not initialized after declaration.",
  "rule.saqt.c.ccpp.276.example.0.safe": "Line 2: Initialize the variable while declaring.",
  "rule.saqt.c.ccpp.276.name": "Missing initialization of variable",
  "rule.saqt.c.ccpp.276.option.check_global.description": "If the option is enabled, global variables will be checked.",
  "rule.saqt.c.ccpp.276.option.check_global.name": "Check global variables",
  "rule.saqt.c.ccpp.276.option.check_local.description": "If the option is enabled, local variables will be checked.",
  "rule.saqt.c.ccpp.276.option.check_local.name": "Check local variables",
  "rule.saqt.c.ccpp.276.option.check_only_ptr.description": "If it is checked, the analyzer will check only pointer type.",
  "rule.saqt.c.ccpp.276.option.check_only_ptr.name": "Only check initialize for pointer type",
  "rule.saqt.c.ccpp.276.option.ignore_name.description": "The analyzer will not check the variables.",
  "rule.saqt.c.ccpp.276.option.ignore_name.name": "Variable name to ignore",
  "rule.saqt.c.ccpp.277.description": "The Violation of naming rule for macro checker detects macro names that do not conform to established rules.\nYou can optionally set an expression of macro names to allow.\nComply with the naming rules.",
  "rule.saqt.c.ccpp.277.example.0.dangerous": "Line 1: A macro name violates its naming rules as optionally defined.\nLine 2: A macro name starts with an underscore (_).",
  "rule.saqt.c.ccpp.277.example.0.safe": "Line 1: Rename the macro as defined.\nLine 2: Rename the macro as defined.",
  "rule.saqt.c.ccpp.277.name": "Violation of naming rule for macro",
  "rule.saqt.c.ccpp.277.option.macro_naming_expr.description": "Write macro name expressions to allow.<br />Example) [A-Z]+(_[A-Z]+)*",
  "rule.saqt.c.ccpp.277.option.macro_naming_expr.name": "Macro name expression",
  "rule.saqt.c.ccpp.278.description": "The Violation of naming rule for constant checker finds constants that are not named as per the naming rules.\nYou can optionally specify expressions for constant naming or constants defined as parameters.\nComply with the naming rules.",
  "rule.saqt.c.ccpp.278.example.0.dangerous": "Line 1: A constant name violates its naming rules as optionally defined. For example, all letters need to be upper case in a constant.",
  "rule.saqt.c.ccpp.278.example.0.safe": "Line 1: Rename the constant as defined.",
  "rule.saqt.c.ccpp.278.name": "Violation of naming rule for constant",
  "rule.saqt.c.ccpp.278.option.const_name_expr.description": "Write constant variable expression to allow.<br />Example) [A-Z][A-Z_]*",
  "rule.saqt.c.ccpp.278.option.const_name_expr.name": "Constant name expression",
  "rule.saqt.c.ccpp.278.option.exclude_param.description": "If selected, constant variables defined as parameters will not be detected.",
  "rule.saqt.c.ccpp.278.option.exclude_param.name": "Exclude constant parameters",
  "rule.saqt.c.ccpp.2783.description": "The Braced Block Not in Separate Line checker finds conditionals and loops whose condition section and braced body are not placed in separate lines.\nWhen writing a conditional or loop statement, make sure the opening brace of the body section starts in a new line.",
  "rule.saqt.c.ccpp.2783.example.0.dangerous": "Line 15: A brace of if statements does not occupy a single line.\nLine 16: A brace of if statements does not occupy a single line.\nLine 28: A brace of else statements does not occupy a single line.\nLine 31: A brace of if statements does not occupy a single line.\nLine 35: A brace of while statements does not occupy a single line.\nLine 46: A brace of for statements does not occupy a single line.",
  "rule.saqt.c.ccpp.2783.example.0.safe": "Line 1: Place a brace of condition and loop statements on a single line.",
  "rule.saqt.c.ccpp.2783.name": "Braced Block Starting in Same Line as Condition",
  "rule.saqt.c.ccpp.279.description": "The Duplicate Name checker finds duplicate names between functions, variables, and fields.\nDo not use the duplicate names in function, variable, and field declaration.",
  "rule.saqt.c.ccpp.279.example.0.dangerous": "Line 1: name() function is declared.\nLine 2: Variable name is declared. This is a duplicate name with the function.",
  "rule.saqt.c.ccpp.279.example.0.safe": "Line 1: Rename the function to getName(). This is not a duplicate name with the variable in Line 2.",
  "rule.saqt.c.ccpp.279.name": "Duplicate Name",
  "rule.saqt.c.ccpp.279.option.check_function.description": "If the option is enabled, duplicate function names will be detected.",
  "rule.saqt.c.ccpp.279.option.check_function.name": "Check function name",
  "rule.saqt.c.ccpp.279.option.check_macro.description": "If selected, duplicate with macro names will be detected.",
  "rule.saqt.c.ccpp.279.option.check_macro.name": "Check macro name",
  "rule.saqt.c.ccpp.279.option.check_same_type.description": "If selected, variables or functions of which names are overlapping each other will be detected. Otherwise, variable names overlapping with function names or vice versa will be detected.",
  "rule.saqt.c.ccpp.279.option.check_same_type.name": "Check duplication status",
  "rule.saqt.c.ccpp.279.option.check_variable.description": "If selected, duplicate variable names will be detected.",
  "rule.saqt.c.ccpp.279.option.check_variable.name": "Check variable name",
  "rule.saqt.c.ccpp.280.description": "The Violation of naming rule for global variable checker finds global variable declarations that do not add the predefined global variable prefix.\nYou can optionally define a prefix.\nUse the predefined global variable prefix for global variable names.",
  "rule.saqt.c.ccpp.280.example.0.dangerous": "Line 1: Variable Name is declared. Yet, a global variable prefix, item, has been optionally defined.",
  "rule.saqt.c.ccpp.280.example.0.safe": "Line 1: Use the predefined global variable prefix.",
  "rule.saqt.c.ccpp.280.name": "Violation of naming rule for global variable",
  "rule.saqt.c.ccpp.280.option.global_variable_name_expression.description": "Write global variable name expressions.<br/>Example) g[A-Za-z]+",
  "rule.saqt.c.ccpp.280.option.global_variable_name_expression.name": "Global variable name",
  "rule.saqt.c.ccpp.280.option.ignore_var_list.description": "Set ignore variables list",
  "rule.saqt.c.ccpp.280.option.ignore_var_list.name": "Ignore variables list",
  "rule.saqt.c.ccpp.281.description": "The Too Long Name checker finds function, variable, and field declaration longer than the specified length.\nYou can optionally specify the length.\nDo not use too long names in function, variable, and field declaration.",
  "rule.saqt.c.ccpp.281.example.0.dangerous": "Line 1: A variable with too long name is declared.\nLine 3: A field with too long name is declared.\nLine 5: A function with too long name is declared.",
  "rule.saqt.c.ccpp.281.example.0.safe": "Line 1: Declare a variable with specified or less length.\nLine 3: Declare a field with specified or less length.\nLine 5: Declare a function with specified or less length.",
  "rule.saqt.c.ccpp.281.name": "Too Long Name",
  "rule.saqt.c.ccpp.281.option.max_field_name_length.description": "Set the maximum length of the field name to allow.<br />Example) 20",
  "rule.saqt.c.ccpp.281.option.max_field_name_length.name": "Maximum length of the field name",
  "rule.saqt.c.ccpp.281.option.max_func_name_length.description": "Write the maximum length of the function name to allow.<br />Example) 20",
  "rule.saqt.c.ccpp.281.option.max_func_name_length.name": "Maximum length of the function name",
  "rule.saqt.c.ccpp.281.option.max_var_name_length.description": "Write the maximum allowable length of variable names.<br />Example) 20",
  "rule.saqt.c.ccpp.281.option.max_var_name_length.name": "Maximum length of the variable",
  "rule.saqt.c.ccpp.282.description": "The Missing explicit array size checker finds array declarations without the size specified.\nYou can optionally adjust the checking criteria.\nWhen declaring an array variable, be sure to specify the size.",
  "rule.saqt.c.ccpp.282.example.0.dangerous": "Line 1: An external variable, array1, is declared without a specific size.\nLine 2: A variable, array2, is declared without a specific size.",
  "rule.saqt.c.ccpp.282.example.0.safe": "Line 2: Specify the size of array while declaration.",
  "rule.saqt.c.ccpp.282.name": "Missing explicit array size",
  "rule.saqt.c.ccpp.282.option.check_extern_only.description": "If selected, only extern arrays will be checked.",
  "rule.saqt.c.ccpp.282.option.check_extern_only.name": "Check extern array only",
  "rule.saqt.c.ccpp.282.option.check_initializer.description": "If the option is enabled, empty arrays with an initializer will be ignored.",
  "rule.saqt.c.ccpp.282.option.check_initializer.name": "Ignore when the variable has initializer.",
  "rule.saqt.c.ccpp.282.option.include_char_type.description": "If selected, char type arrays will be checked.",
  "rule.saqt.c.ccpp.282.option.include_char_type.name": "Check char type",
  "rule.saqt.c.ccpp.283.description": "The Violation of format of block comments checker finds block comments that do not start or end with the specified character.\nYou can optionally specify the starting and ending characters.\nMake sure each block comment starts and ends with the specified characters.",
  "rule.saqt.c.ccpp.283.example.0.dangerous": "Line 1: A block comment starts with /**. Suppose that the block comment is specified to start with /*.\nLine 3: The block comment ends with /**. Suppose that the block comment is specified to end with /*.",
  "rule.saqt.c.ccpp.283.example.0.safe": "Line 1: Use the specified string at the start of the block comments.\nLine 3: Use the specified string at the end of the block comments.",
  "rule.saqt.c.ccpp.283.name": "Violation of format of block comments",
  "rule.saqt.c.ccpp.283.option.check_header.description": "If the option is enabled, all comments in the header files will be checked.",
  "rule.saqt.c.ccpp.283.option.check_header.name": "Inspect header files",
  "rule.saqt.c.ccpp.283.option.end_comment.description": "Define end of the block comment.<br />Example) */",
  "rule.saqt.c.ccpp.283.option.end_comment.name": "End of the block comment",
  "rule.saqt.c.ccpp.283.option.start_comment.description": "Define start of the block comment.<br />Example) /*",
  "rule.saqt.c.ccpp.283.option.start_comment.name": "Start of the block comment",
  "rule.saqt.c.ccpp.284.description": "The Too long source code before comment checker finds instances in which a source code preceding a comment exceeds the specified length.\nYou can optionally specify the length of code and detailed conditions.\nMake sure each source code preceding a comment do not exceed the specified length.",
  "rule.saqt.c.ccpp.284.example.0.dangerous": "Line 4: Comments are added. Source code before the comments is exceeding a specified length.",
  "rule.saqt.c.ccpp.284.example.0.safe": "Line 2: Ensure the source code not to exceed the specified length.",
  "rule.saqt.c.ccpp.284.name": "Too long source code before comment",
  "rule.saqt.c.ccpp.284.option.allowed_max_line_length.description": "Write the maximum length of the source code.<br />Example) 40",
  "rule.saqt.c.ccpp.284.option.allowed_max_line_length.name": "Maximum length of the source code",
  "rule.saqt.c.ccpp.284.option.check_header.description": "Set a true, If checking header files.",
  "rule.saqt.c.ccpp.284.option.check_header.name": "Inspect header files",
  "rule.saqt.c.ccpp.285.description": "The Missing blank line before comment checker finds instances in which source code and its subsequent comment are not separated by a blank line.\nAdd a blank line between source code and its subsequent comment.",
  "rule.saqt.c.ccpp.285.example.0.dangerous": "Line 3: An empty line is not added before comments.",
  "rule.saqt.c.ccpp.285.example.0.safe": "Line 4: Add an empty line before the comments.",
  "rule.saqt.c.ccpp.285.name": "Missing blank line before comment",
  "rule.saqt.c.ccpp.285.option.check_header.description": "Set a true, If checking header files.",
  "rule.saqt.c.ccpp.285.option.check_header.name": "Inspect header files",
  "rule.saqt.c.ccpp.286.description": "The Violation of indentation rule for comment checker finds instances in which a comment and its target block start at different columns.\nYou can optionally specify detailed rules.\nMake sure a comment and its target block start at the same column.",
  "rule.saqt.c.ccpp.286.example.0.dangerous": "Line 1: A comment is starting at the first column.\nLine 2: A target block is starting at the third column. The comment and its target block are starting at different columns.",
  "rule.saqt.c.ccpp.286.example.0.safe": "Line 2: Ensure both comment and its target block are starting at the same column.",
  "rule.saqt.c.ccpp.286.name": "Violation of indentation rule for comment",
  "rule.saqt.c.ccpp.286.option.check_general_comment.description": "If selected, indentation of the general comments will be checked.",
  "rule.saqt.c.ccpp.286.option.check_general_comment.name": "Check indentation of the general comments",
  "rule.saqt.c.ccpp.286.option.check_header.description": "Set a true, If checking header files.",
  "rule.saqt.c.ccpp.286.option.check_header.name": "Inspect header files",
  "rule.saqt.c.ccpp.286.option.check_voting_column.description": "If selected, small indentations will be checked.",
  "rule.saqt.c.ccpp.286.option.check_voting_column.name": "Multiple indentations",
  "rule.saqt.c.ccpp.286.option.tab_size.description": "Set the number of spaces for each tab.",
  "rule.saqt.c.ccpp.286.option.tab_size.name": "Tab size",
  "rule.saqt.c.ccpp.2984.description": "The Invalid Enumerator Operation checker finds code that uses an enumerator for an operand of arithmetic operation.\nThe enumerator can be used in comparisons only. You cannot use the enumerator for an operand of an arithmetic operator, such as + or -.\nDo not use the enumerator for an operand of an arithmetic operator.",
  "rule.saqt.c.ccpp.2984.example.0.dangerous": "Line 3: An enumerator is used in an expression.",
  "rule.saqt.c.ccpp.2984.example.0.safe": "Line 5: Use a variable with a value of the enumerator instead of the enumerator.",
  "rule.saqt.c.ccpp.2984.name": "Invalid Enumerator Operation",
  "rule.saqt.c.ccpp.2985.description": "The typedef Declaration of Numeric Type without Signedness checker finds code that declares a numeric type as typedef, but fails to specify signed or unsigned.\nThe checker scans for char, short, int, long, and long long types.\nPlease specify the singed or unsigned for typedef declaration of char, short, int, long, or long long type.",
  "rule.saqt.c.ccpp.2985.example.0.dangerous": "Line 1: A typedef of numeric type is not declared its sign.\nLine 2: A typedef of numeric type is not declared its sign.\nLine 3: A typedef of numeric type is not declared its sign.\nLine 4: A typedef of numeric type is not declared its sign.\nLine 5: A typedef of numeric type is not declared its sign.",
  "rule.saqt.c.ccpp.2985.example.0.safe": "Line 1: Declare a typedef of the numeric type by specifying its sign.\nLine 2: Declare a typedef of the numeric type by specifying its sign.\nLine 3: Declare a typedef of the numeric type by specifying its sign.\nLine 4: Declare a typedef of the numeric type by specifying its sign.\nLine 5: Declare a typedef of the numeric type by specifying its sign.",
  "rule.saqt.c.ccpp.2985.name": "typedef Declaration of Numeric Type without Signedness",
  "rule.saqt.c.ccpp.2995.description": "The Noncompliant Macro Name Length checker finds a macro name with more than 63 characters.\nAccording to the rule 5.4 of Misra C:2012, identifiers of macros in C99 shall not exceed 63 characters.\nEnsure that the macro name does not exceed 63 characters.",
  "rule.saqt.c.ccpp.2995.example.0.dangerous": "Line 2: The macro name includes 79 characters.",
  "rule.saqt.c.ccpp.2995.example.0.safe": "Line 2: Ensure that the macro name does not exceed 63 characters.",
  "rule.saqt.c.ccpp.2995.name": "Noncompliant Macro Name Length",
  "rule.saqt.c.ccpp.2997.description": "The Duplicate Name with Macro checker finds variable or function that uses an identical name with a macro.\nIf a variable or function has the same identifier with a macro, it might lower readability or bring confusion to developers.\nDo not use the same identifier name with the macro.",
  "rule.saqt.c.ccpp.2997.example.0.dangerous": "Line 3: The variable uses the identical name of the macro on line 1.",
  "rule.saqt.c.ccpp.2997.example.0.safe": "Line 3: Change the variable name into one different from the macro.",
  "rule.saqt.c.ccpp.2997.name": "Duplicate Name with Macro",
  "rule.saqt.c.ccpp.2999.description": "The switch Statement with Starting or without Ending default checker find incidents that the first or last clause of switch statements does not end with a default.\nWrite a default clause at the start or end of switch statements.",
  "rule.saqt.c.ccpp.2999.example.0.dangerous": "Line 2: No default clause is found in switch statements.",
  "rule.saqt.c.ccpp.2999.example.0.safe": "Line 3: Add a default to the start of switch statements.\nLine 16: Place the default clause at the end of switch statements.",
  "rule.saqt.c.ccpp.2999.name": "switch Statement with Starting or without Ending default",
  "rule.saqt.c.ccpp.300.description": "The Improper initialization of character array checker finds instances in which a character array is initialized to a string at its declaration, but the declared size is smaller than the initial string length plus 1.\nWhen the length of a string is handled, a null byte must be considered. If a character array is declared with the size equal to the length of the initial string, the null byte is removed. This may lead to an unexpected behavior of the program or a potential vulnerability.\nMake sure an array is declared with a size no smaller than the initial string. If a character array is declared without an explicit size specified, the array size is automatically adjusted to the initial string. This approach can be useful in the case determining a suitable array size is not easy.",
  "rule.saqt.c.ccpp.300.example.0.dangerous": "Line 2: A string is initialized by fixing the size of array str. No room has been left for a null byte.",
  "rule.saqt.c.ccpp.300.example.0.safe": "Line 2: Do not use a fixed value such as a constant to initialize an array.",
  "rule.saqt.c.ccpp.300.name": "Improper initialization of character array",
  "rule.saqt.c.ccpp.3000.description": "The Missing break in case Statement checker finds case statements that do not end with a break statement.\nIt is acceptable to use a return, continue, or goto statement instead of break. You need to use a break in the default.\nIf a break statement is missing in a switch statement, an unintended case can be executed, causing an unexpected program behavior or error.\nThe case statement include one of break, return, continue, or goto statement. You need to use a break in the default.",
  "rule.saqt.c.ccpp.3000.example.0.dangerous": "Line 6: When case statements do not include a break, the next case statement is executed. Thus, when a = 2, case 2 and case 3 are executed.",
  "rule.saqt.c.ccpp.3000.example.0.safe": "Line 6: Add a break to the case statements in consideration of a program flow.",
  "rule.saqt.c.ccpp.3000.name": "Missing break in case statement",
  "rule.saqt.c.ccpp.3001.description": "The Missing Case in Switch Statement checker finds switch statements that include less than two cases.\nThe default statement is also considered as a case. An empty case or default is not counted as valid. So, the checker finds that an empty case or empty default is invalid.\nA switch statement must include at least two case clauses.",
  "rule.saqt.c.ccpp.3001.example.0.dangerous": "Line 2: An invalid case statement is found.\nLine 3: An empty case statement is found. Which is invalid.",
  "rule.saqt.c.ccpp.3001.example.0.safe": "Line 2: Place at least two cases in switch statements.",
  "rule.saqt.c.ccpp.3001.name": "Missing case in switch Statement",
  "rule.saqt.c.ccpp.3006.description": "The Unspecified Size of Empty extern Array checker finds code that fails to specify the size of an extern array variable.\nYou can optionally adjust the detailed check list.\nWhen declaring an array variable, be sure to specify the size.",
  "rule.saqt.c.ccpp.3006.example.0.dangerous": "Line 1: An external variable, array1, is declared without a specific size.",
  "rule.saqt.c.ccpp.3006.example.0.safe": "Line 2: Specify the size of array while declaration.",
  "rule.saqt.c.ccpp.3006.name": "Unspecified Size of Empty extern Array",
  "rule.saqt.c.ccpp.3006.option.check_initializer.description": "If the option is enabled, empty arrays with an initializer will be ignored.",
  "rule.saqt.c.ccpp.3006.option.check_initializer.name": "Ignore when the variable has initializer.",
  "rule.saqt.c.ccpp.3006.option.include_char_type.description": "If selected, char type arrays will be checked.",
  "rule.saqt.c.ccpp.3006.option.include_char_type.name": "Check char type",
  "rule.saqt.c.ccpp.3007.description": "The Missing ELSE Branch from IF-ELSE checker finds IF-ELSE statements that do not end with an ELSE clause.\nEach IF-ELSE must end with an ELSE clause.\nEach IF-ELSE must include an ELSE clause.",
  "rule.saqt.c.ccpp.3007.example.0.dangerous": "Line 3: An else statement to check a null is not found in if statements.",
  "rule.saqt.c.ccpp.3007.example.0.safe": "Line 5: Use else statements to handle exceptions.",
  "rule.saqt.c.ccpp.3007.name": "Missing ELSE Branch from IF-ELSE",
  "rule.saqt.c.ccpp.3008.description": "The Invalid Global Variable Identifier (Misra2012) checker finds that a global variable declared as static or extern exceeds 63 characters.\nAccording to the rule 5.2 of the Misra C:2012, identifiers of global variables in C99 shall not exceed 63 characters.\nEnsure that the length of the global variable with static or extern declaration does not exceed 63 characters.",
  "rule.saqt.c.ccpp.3008.example.0.dangerous": "Line 1: The length of an extern global variable exceeds 63 characters.\nLine 2: The length of a static global variable exceeds 63 characters.",
  "rule.saqt.c.ccpp.3008.example.0.safe": "Line 1: Make sure that the length of an extern global variable does not exceed 63 characters.\nLine 2: Make sure that the length of a static global variable does not exceed 63 characters.",
  "rule.saqt.c.ccpp.3008.name": "Invalid Global Variable Identifier (Misra2012)",
  "rule.saqt.c.ccpp.301.description": "The Inadequate operator of argument of sizeof checker finds instances of passing an expression as an argument to sizeof.\nDo not use an expression for an argument passed to sizeof.",
  "rule.saqt.c.ccpp.301.example.0.dangerous": "Line 3: An expression is used for an argument of sizeof.",
  "rule.saqt.c.ccpp.301.example.0.safe": "Line 3: Do not use an expression for an argument of sizeof.",
  "rule.saqt.c.ccpp.301.name": "Inadequate operator of argument of sizeof",
  "rule.saqt.c.ccpp.302.description": "The Violation of naming rule for pointer variable checker finds pointer variable declarations that do not comply with the predefined naming format.\nYou can optionally define a naming format.\nBe sure that pointer variables are named in compliance with the predefined naming format.",
  "rule.saqt.c.ccpp.302.example.0.dangerous": "Line 1: pnt variable is declared. Suppose that this does not comply with predefined formats. An invalid declaration.",
  "rule.saqt.c.ccpp.302.example.0.safe": "Line 1: Declare p_pnt variable with predefined name formats.",
  "rule.saqt.c.ccpp.302.name": "Violation of naming rule for pointer variable",
  "rule.saqt.c.ccpp.302.option.check_param.description": "Check parameters",
  "rule.saqt.c.ccpp.302.option.check_param.name": "Check parameters",
  "rule.saqt.c.ccpp.302.option.ignore_name.description": "Ignore variables name",
  "rule.saqt.c.ccpp.302.option.ignore_name.name": "Ignore variables name",
  "rule.saqt.c.ccpp.302.option.ignore_type.description": "Ignore type names",
  "rule.saqt.c.ccpp.302.option.ignore_type.name": "Ignore type names",
  "rule.saqt.c.ccpp.302.option.pointer_variable_name_expression.description": "Write an expression for the pointer variable name.<br/>Example) p_[A-Za-z]+",
  "rule.saqt.c.ccpp.302.option.pointer_variable_name_expression.name": "Name of the pointer variable",
  "rule.saqt.c.ccpp.303.description": "The Too long line checker finds code lines that span a longer length than the optionally specified value.\nWrap the overlong code lines.",
  "rule.saqt.c.ccpp.303.example.0.dangerous": "Line 1: A line exceeds the predefined length.",
  "rule.saqt.c.ccpp.303.example.0.safe": "Line 1: Adjust the size not to exceed the specified one. Divide the code line into two lines, or shorten the identifier.",
  "rule.saqt.c.ccpp.303.name": "Too long line",
  "rule.saqt.c.ccpp.303.option.max_column_width.description": "Specify the maximum width of the line",
  "rule.saqt.c.ccpp.303.option.max_column_width.name": "Maximum width of the line",
  "rule.saqt.c.ccpp.304.description": "The Indentation of improper length checker finds lines that contain a tabbed indent.\nUse spaces for indentation.",
  "rule.saqt.c.ccpp.304.example.0.dangerous": "Line 2: This line is indented with tab key.",
  "rule.saqt.c.ccpp.304.example.0.safe": "Line 2: Use a whitespace to indent.",
  "rule.saqt.c.ccpp.304.name": "Indentation of improper length",
  "rule.saqt.c.ccpp.304.option.indent_size.description": "Specify the indentation size.",
  "rule.saqt.c.ccpp.304.option.indent_size.name": "Indentation size",
  "rule.saqt.c.ccpp.305.description": "The Multiple Statements in Single Line checker finds instances in which multiple statements are placed in a single line.\nSeparate them in multiple lines so that each statement may be placed in a different line.",
  "rule.saqt.c.ccpp.305.example.0.dangerous": "Line 2: Multiple statements is included in a single line.",
  "rule.saqt.c.ccpp.305.example.0.safe": "Line 2: Put each statement to a single line.",
  "rule.saqt.c.ccpp.305.name": "Multiple Statements in Single Line",
  "rule.saqt.c.ccpp.306.description": "The Violation of rule for white space around keyword checker finds instances in which a reserved word is not separated by a whitespace from the following parenthesis.\nThe reserved word includes statements such as if, for, or while.\nMake sure the specified reserved words are followed by a space.",
  "rule.saqt.c.ccpp.306.example.0.dangerous": "Line 3: No whitespace is found after a while statement.\nLine 8: No whitespace is found after a do-while statement.\nLine 9: No whitespace is found after an if statement.\nLine 11: No whitespace is found after an if statement.\nLine 14: No whitespace is found after a switch statement.\nLine 19: No whitespace is found after a catch statement.",
  "rule.saqt.c.ccpp.306.example.0.safe": "Line 3: Add a whitespace between the while statement and following parenthesis.\nLine 8: Add a whitespace between the do-while statement and following parenthesis.\nLine 9: Add a whitespace between the if statement and following parenthesis.\nLine 11: Add a whitespace between the if statement and following parenthesis.\nLine 14: Add a whitespace between the swich statement and following parenthesis.\nLine 19: Add a whitespace between the catch statement and following parenthesis.",
  "rule.saqt.c.ccpp.306.name": "Violation of rule for white space around keyword",
  "rule.saqt.c.ccpp.307.description": "The Missing white space around binary operator checker finds instances in which a binary operator, except an access operator, is not separated by a whitespace from the following operand.\nThe access operator includes array reference ([ ]), strut reference (.), and struct pointer reference (->) operators.\nPut a whitespace between an operand and its binary operator except the access operator.",
  "rule.saqt.c.ccpp.307.example.0.dangerous": "Line 2: No whitespace is found between a binary operator and its operands.",
  "rule.saqt.c.ccpp.307.example.0.safe": "Line 2: Put a whitespace between the binary operator and its operands.",
  "rule.saqt.c.ccpp.307.name": "Missing white space around binary operator",
  "rule.saqt.c.ccpp.308.description": "The Violation of rule for white space in method call checker finds function calls in which the spacing between the function name and argument list or the spacing within the parentheses does not comply with the spacing rules.\nIf any parameters are included, they must be separated by spaces from the opening and closing parentheses, respectively.func( param );/* a whitespace between an open parenthesis and parameter param, a whitespace between an close parenthesis and parameter param */\nWhen calling a function, comply with the rules regarding spacing between the function name and argument list and spacing within the parentheses.",
  "rule.saqt.c.ccpp.308.example.0.dangerous": "Line 1: A whitespace is not found between a function name and opening parenthesis.\nLine 2: A whitespace is not found between an opening and closing parentheses in a call without an argument.\nLine 3: A whitespace is not found between an argument and opening parenthesis.\nLine 4: A whitespace is not found between an argument and opening parenthesis.\nLine 5: A whitespace is not found after a comma.",
  "rule.saqt.c.ccpp.308.example.0.safe": "Line 1: Add a whitespace between a function name and opening parenthesis.\nLine 2: Add a whitespace between an opening and closing parenthesis in a call without an argument.\nLine 3: Add a whitespace between an argument and opening parenthesis.\nLine 4: Add a whitespace between an argument and opening parenthesis.\nLine 5: Add a whitespace after a comma.",
  "rule.saqt.c.ccpp.308.name": "Violation of rule for white space in method call",
  "rule.saqt.c.ccpp.309.description": "The Violation of rule for white space in for statement checker finds for loops whose control statements are not separated by spaces.\nAdd a whitespace between each control statement.",
  "rule.saqt.c.ccpp.309.example.0.dangerous": "Line 3: No whitespace is found between initialization, condition, and next expressions of the for statements.",
  "rule.saqt.c.ccpp.309.example.0.safe": "Line 3: Put a whitespace between expressions of the for statements.",
  "rule.saqt.c.ccpp.309.name": "Violation of rule for white space in for statement",
  "rule.saqt.c.ccpp.311.description": "The White space around unary operator checker finds instances in which a unary operator such as ++ or ? and its operand are separated by a whitespace.\nUse unary operators in compliance with the rules.",
  "rule.saqt.c.ccpp.311.example.0.dangerous": "Line 2: A whitespace is found between operand var and operator ++.\nLine 3: A whitespace is found between operand var and operator --.",
  "rule.saqt.c.ccpp.311.example.0.safe": "Line 2: Remove the unnecessary whitespace.\nLine 3: Remove the unnecessary whitespace.",
  "rule.saqt.c.ccpp.311.name": "White space around unary operator",
  "rule.saqt.c.ccpp.313.description": "The Violation of rule for white space in casting checker finds instances in which a cast operator is not separated by a whitespace from the following operand.\nAdd a whitespace between a cast operator and the operand.",
  "rule.saqt.c.ccpp.313.example.0.dangerous": "Line 3: No whitespace is found between a cast operator and the operand.",
  "rule.saqt.c.ccpp.313.example.0.safe": "Line 3: Add a whitespace between a cast operator and the operand.",
  "rule.saqt.c.ccpp.313.name": "Violation of rule for white space in casting",
  "rule.saqt.c.ccpp.314.description": "The Violation of rule for white space around accessing operator checker finds instances in which an operator for accessing an object member and its operand are separated by a whitespace.\nThe operator for accessing an object includes array reference ([ ]), strut reference (.), struct pointer reference (->), pointer reference (*), and address (&) operators.\nDo not put a whitespace between an access operator and its operand.",
  "rule.saqt.c.ccpp.314.example.0.dangerous": "Line 1: A whitespace is found between operator -> and its operand.\nLine 2: A whitespace is found between operator [] and its operand.\nLine 3: A whitespace is found between operator * and its operand.",
  "rule.saqt.c.ccpp.314.example.0.safe": "Line 1: Remove the whitespace between operator -> and its operand.\nLine 2: Remove the whitespace between operator [] and its operand.\nLine 3: Remove the whitespace between operator * and its operand.",
  "rule.saqt.c.ccpp.314.name": "Violation of rule for white space around accessing operator",
  "rule.saqt.c.ccpp.315.description": "The Wrong inclusion order checker finds incidents that header files are not included in a specified order.\nThe specified order indicates to include system headers prior to user headers. The order cannot be changed or mixed.\nEnsure to include system headers first, then, user header later.",
  "rule.saqt.c.ccpp.315.example.0.dangerous": "Line 2: A user header is included.\nLine 3: A system header is included. An incorrect order of headers is found.",
  "rule.saqt.c.ccpp.315.example.0.safe": "Line 2: Include a system header before a user header.",
  "rule.saqt.c.ccpp.315.name": "Wrong inclusion order",
  "rule.saqt.c.ccpp.319.description": "The Violation of rule for white space around pointer operator checker finds expressions that have a whitespace between a pointer operator and its operand.\nDo not add a whitespace between a pointer operator and the operand.",
  "rule.saqt.c.ccpp.319.example.0.dangerous": "Line 3: A whitespace is found between a pointer operator and its variable.",
  "rule.saqt.c.ccpp.319.example.0.safe": "Line 3: Remove the whitespace between a pointer operator and its variable.",
  "rule.saqt.c.ccpp.319.name": "Violation of rule for white space around pointer operator",
  "rule.saqt.c.ccpp.321.description": "The Violation of rule for white space around function checker finds expressions that have a whitespace between a function name and the following parenthesis.\nDo not add a whitespace between a function name and the following parenthesis.",
  "rule.saqt.c.ccpp.321.example.0.dangerous": "Line 1: A whitespace is found between a function name and opening parenthesis.",
  "rule.saqt.c.ccpp.321.example.0.safe": "Line 1: Remove a whitespace between a function name and opening parenthesis.",
  "rule.saqt.c.ccpp.321.name": "Violation of rule for white space around function",
  "rule.saqt.c.ccpp.322.description": "The Violation of rule for white space in parentheses checker detects violations of the spacing rules when using parentheses.\nThe spacing rules are as follows When you use parentheses, there must be a space inside the parentheses. If there are multiple lines within parentheses, the parenthesis columns must be in the same position.\nMake sure you follow the whitespace rules when using parentheses.",
  "rule.saqt.c.ccpp.322.example.0.dangerous": "Line 1: No whitespace is found between a parenthesis and the following expression.\nLine 4: An open and close parentheses are placed in different columns.",
  "rule.saqt.c.ccpp.322.example.0.safe": "Line 1: Put a whitespace between a parenthesis and the following expression.\nLine 5: An open parenthesis and close parentheses need to be aligned.",
  "rule.saqt.c.ccpp.322.name": "Violation of rule for white space in parentheses",
  "rule.saqt.c.ccpp.324.description": "The Violation of rule for white space around semicolon checker finds semicolons that are preceded by a space.\nDo not put a whitespace before a semicolon.",
  "rule.saqt.c.ccpp.324.example.0.dangerous": "Line 2: A whitespace is found before a semicolon.",
  "rule.saqt.c.ccpp.324.example.0.safe": "Line 2: Remove the whitespace before the semicolon.",
  "rule.saqt.c.ccpp.324.name": "Violation of Semicolon Spacing Rule",
  "rule.saqt.c.ccpp.325.description": "The Violation of indentation rule for block checker finds instances in which all lines in a block are not equally indented.\nEnsure that all lines in a block are equally indented.",
  "rule.saqt.c.ccpp.325.example.0.dangerous": "Line 3: A current line is not indented by the size of function definition.\nLine 6: A current line is not indented by the size of if block.",
  "rule.saqt.c.ccpp.325.example.0.safe": "Line 3: Indent the current line by the size of function definition.\nLine 6: Indent the current line by the size of if block.",
  "rule.saqt.c.ccpp.325.name": "Violation of indentation rule for block",
  "rule.saqt.c.ccpp.326.description": "The Missing curly brace in compound statement checker finds compound statements that do not contain curly braces.\nEven if a compound statement spans a single line of code, enclose it in braces for consistency.",
  "rule.saqt.c.ccpp.326.example.0.dangerous": "Line 3: A for statement is written in a single line without curly braces.",
  "rule.saqt.c.ccpp.326.example.0.safe": "Line 3: Enclose the code with braces.",
  "rule.saqt.c.ccpp.326.name": "Missing curly brace in compound statement",
  "rule.saqt.c.ccpp.327.description": "The Missing curly brace in compound statement checker finds incidents that braces are added to incorrect positions of compound statements.\nThe incorrect positions are as follows: A compound statement, such as control or function declaration, does not start on a line of brace. A close brace does not placed at the column that the compound statement starts.\nEnsure to add braces on the correct position of compound statements.",
  "rule.saqt.c.ccpp.327.example.0.dangerous": "Line 2: A brace is not aligned with function definition.\nLine 5: A brace is not aligned with for statements.",
  "rule.saqt.c.ccpp.327.example.0.safe": "Line 1: Align a brace with function definition.\nLine 3: Align a brace with for statements.",
  "rule.saqt.c.ccpp.327.name": "Missing curly brace in compound statement",
  "rule.saqt.c.ccpp.328.description": "The Violation of rule for white space in while statement checker finds instances of using while statements not as per the spacing rules.\nThe spacing rules are as follows: A while statement and parenthesis must be separated by a whitespace. A parenthesis and its expression must be separated by a space.\nComply with the rules regarding spacing in the while statement.",
  "rule.saqt.c.ccpp.328.example.0.dangerous": "Line 1: A whitespace is not found between a while statement and parenthesis.\nLine 2: A whitespace is not found between a parenthesis and expression.",
  "rule.saqt.c.ccpp.328.example.0.safe": "Line 1: Put a whitespace as specified spacing rules.",
  "rule.saqt.c.ccpp.328.name": "Violation of rule for white space in while statement",
  "rule.saqt.c.ccpp.330.description": "The Violation of rule for white space in if statement checker finds instances of using if statements not as per the spacing rules.\nThe spacing rules are as follows: An if statement and a parenthesis must be separated by a space. A parenthesis and its expression must be separated by a space.\nComply with the rules regarding spacing in the if statement.",
  "rule.saqt.c.ccpp.330.example.0.dangerous": "Line 1: A whitespace is not found between an if statement and parenthesis.\nLine 2: A whitespace is not found between a parenthesis and expression.",
  "rule.saqt.c.ccpp.330.example.0.safe": "Line 1: Put a whitespace as specified spacing rules.",
  "rule.saqt.c.ccpp.330.name": "Violation of rule for white space in if statement",
  "rule.saqt.c.ccpp.331.description": "The Violation of indentation rule for switch statement checker finds instances of violating indentation rules.\nThe indentation rules are as follows: Write switch statements and condition on a single line. Wrap the line for case and default statements.\nComply with the rules regarding indentation in the switch statement.",
  "rule.saqt.c.ccpp.331.example.0.dangerous": "Line 2: A keyword switch and condition expression are not placed on the same line.\nLine 6: A keyword switch and case expression are placed on the same line.",
  "rule.saqt.c.ccpp.331.example.0.safe": "Line 1: Put the switch statement and condition on the same line.\nLine 2: Put the case expression on the following line.",
  "rule.saqt.c.ccpp.331.name": "Violation of indentation rule for switch statement",
  "rule.saqt.c.ccpp.332.description": "The Violation of switch Loop Spacing Rule checker finds instances of using switch statements not as per the spacing rules.\nThe spacing rules are as follows:A switch statement and parenthesis must be separated by a space. A parenthesis and its expression must be separated by a space.\nComply with the rules regarding spacing in the switch statement.",
  "rule.saqt.c.ccpp.332.example.0.dangerous": "Line 1: A whitespace is not found between a switch statement and parenthesis.\nLine 2: A whitespace is not found between a parenthesis and expression.",
  "rule.saqt.c.ccpp.332.example.0.safe": "Line 1: Put a whitespace as specified spacing rules.",
  "rule.saqt.c.ccpp.332.name": "Violation of switch Statement Spacing Rule",
  "rule.saqt.c.ccpp.333.description": "The Violation of indentation rule for case and default statements checker detects violations of the indentation rules when using the case and default syntax.\nThe indentation rules are as follows: case and default syntax requires that indents in switch syntax be indented one step further from the switch syntax. indents in formulas that are part of case and default syntax be indented one step further.\nEnsure that you follow the indentation rules when using case and default syntax.",
  "rule.saqt.c.ccpp.333.example.0.dangerous": "Line 5: A case statement is indented one more tab.\nLine 7: An expression is indented one more tab.\nLine 8: An expression is indented one more tab.\nLine 9: A default statement is indented one more tab.",
  "rule.saqt.c.ccpp.333.example.0.safe": "Line 1: Comply with indentation rules in case and default statements.",
  "rule.saqt.c.ccpp.333.name": "Violation of indentation rule for case and default statements",
  "rule.saqt.c.ccpp.334.description": "The Violation of rule for white space around comma checker finds instances of using comma not as per the spacing rules.\nThe spacing rules are as follows: No whitespace is allowed before a comma. A whitespace is allowed after a comma. Yet, you can optionally specify where to place the whitespace.\nComply with the rules regarding spacing for comma operators.",
  "rule.saqt.c.ccpp.334.example.0.dangerous": "Line 1: A whitespace is not found after a comma operator.\nLine 2: A whitespace is found before a comma operator.",
  "rule.saqt.c.ccpp.334.example.0.safe": "Line 1: Put a whitespace as specified spacing rules.",
  "rule.saqt.c.ccpp.334.name": "Violation of rule for white space around comma",
  "rule.saqt.c.ccpp.335.description": "The Too many logical operations checker finds expressions that contain at least two consecutive uses of logical operators.\nUse parentheses to specify operation precedence for an expression with two or more logical operators. Or ensure to use a single logical operator for each expression.",
  "rule.saqt.c.ccpp.335.example.0.dangerous": "Line 1: && operator and || operator is used in one expression.",
  "rule.saqt.c.ccpp.335.example.0.safe": "Line 1: Use parentheses to prioritize two or more logical operators in one expression.\nLine 2: Use one logical operator for one expression.",
  "rule.saqt.c.ccpp.335.name": "Too many logical operations",
  "rule.saqt.c.ccpp.335.option.allow_exceptional_cases.description": "Exceptional case. The following usage is common, and hence allowed. <br />Example) a == 0 && b == 1",
  "rule.saqt.c.ccpp.335.option.allow_exceptional_cases.name": "Allow exceptional case.",
  "rule.saqt.c.ccpp.338.description": "The Violation of naming rule for Type checker finds type declarations that do not comply with the naming rules.\nThe naming rules are as follows: A type name must be all lowercase and end with _t. If a type name consists of words combined, use _ as a delimiter between them. A pointer type name must end with _p.\nWhen declaring a type, comply with the naming rules.",
  "rule.saqt.c.ccpp.338.example.0.dangerous": "Line 1: A typedef type violates its naming rules.\nLine 2: A typedef type violates its naming rules.",
  "rule.saqt.c.ccpp.338.example.0.safe": "Line 1: Declare the typedef type as specified.\nLine 2: Declare the typedef type as specified.",
  "rule.saqt.c.ccpp.338.name": "Violation of naming rule for type",
  "rule.saqt.c.ccpp.338.option.ignore_types.description": "Write a list of ignore type name.",
  "rule.saqt.c.ccpp.338.option.ignore_types.name": "Ignore variable type",
  "rule.saqt.c.ccpp.342.description": "The Global variable declaration between functions checker finds global variables that are declared between function and its definition.\nDo not declare the global variables in the middle of function definition. Ensure to declare the global variables before the function definition.",
  "rule.saqt.c.ccpp.342.example.0.dangerous": "Line 2: A global variable is declared between function definition.",
  "rule.saqt.c.ccpp.342.example.0.safe": "Line 1: Declare a global variable before function definition.",
  "rule.saqt.c.ccpp.342.name": "Global variable declaration between functions",
  "rule.saqt.c.ccpp.342.option.ignored_variable_name.description": "Write variables to exclude from analysis.",
  "rule.saqt.c.ccpp.342.option.ignored_variable_name.name": "Variables to exclude from analysis",
  "rule.saqt.c.ccpp.343.description": "The Undeclared local variable at top of block checker finds function definitions in which local variable declarations are not located at the top.\nAs an exception, the counter in a for loop is excluded from checking.\nLocal variables must be declared at the top of the function.",
  "rule.saqt.c.ccpp.343.example.0.dangerous": "Line 3: A local variable is not declared at the top of a function.",
  "rule.saqt.c.ccpp.343.example.0.safe": "Line 2: Declare the local variable at the top of the function",
  "rule.saqt.c.ccpp.343.name": "Undeclared local variable at top of block",
  "rule.saqt.c.ccpp.343.option.ignored_function_name.description": "Write the name of the function to exclude from analysis.",
  "rule.saqt.c.ccpp.343.option.ignored_function_name.name": "Write the name of the function to exclude from analysis.",
  "rule.saqt.c.ccpp.343.option.ignored_variable_name.description": "Write variables to exclude from analysis.",
  "rule.saqt.c.ccpp.343.option.ignored_variable_name.name": "Variables to exclude from analysis",
  "rule.saqt.c.ccpp.343.option.skip_array_check.description": "Skip array initialization checking",
  "rule.saqt.c.ccpp.343.option.skip_array_check.name": "Skip array initialization checking",
  "rule.saqt.c.ccpp.344.description": "The Violation of rule of variable declaration in loop checker finds instances of declaring a for loop's counter variable inappropriately.\nThe declaration rules are as follows: Declare a loop counter of for loop in initialization statements, except when a compiler does not support. Do not use one character name for a loop counter of for loop, such as i, j, or k.\nWhen declaring a loop counter, comply with the declaration rules.",
  "rule.saqt.c.ccpp.344.example.0.dangerous": "Line 3: A loop counter is declared outside of initialization.\nLine 4: A loop counter name is declared with one character.",
  "rule.saqt.c.ccpp.344.example.0.safe": "Line 2: Declare the loop counter within initialization, and use a meaningful variable name.",
  "rule.saqt.c.ccpp.344.name": "Violation of rule of variable declaration in loop",
  "rule.saqt.c.ccpp.344.option.skip_loop_check.description": "Skip for loop initialization checking",
  "rule.saqt.c.ccpp.344.option.skip_loop_check.name": "Skip for loop initialization checking",
  "rule.saqt.c.ccpp.346.description": "The Improper size examination checker finds incidents that sizeof are not used for functions required to evaluate their data type.\nThe functions to evaluate data type are shown as follows: memset(), memcpy(), wmemcpy(), bcopy(), strncpy(), memmove(), memccpy(), mempcpy(), wmempcpy(), snprintf(), strlcat(), calloc(), and malloc().\nEnsure to use sizeof for functions required to evaluate their data type.",
  "rule.saqt.c.ccpp.346.example.0.dangerous": "Line 3: sizeof is not used in memset() function call.",
  "rule.saqt.c.ccpp.346.example.0.safe": "Line 3: Use sizeof for an argument requiring type size evaluation.",
  "rule.saqt.c.ccpp.346.name": "Improper size examination",
  "rule.saqt.c.ccpp.347.description": "The Non-static global variable used within one source file checker finds instances in which a global variable used only in a single source file is declared without the static keyword.\nGlobal variables used in a single file must be declared static.",
  "rule.saqt.c.ccpp.347.example.0.dangerous": "Line 1: A global variable is declared without static keyword.",
  "rule.saqt.c.ccpp.347.example.0.safe": "Line 1: Declared the global variable as static.",
  "rule.saqt.c.ccpp.347.name": "Non-static global variable used within one source file",
  "rule.saqt.c.ccpp.349.description": "The Missing extern in data definition in header file checker finds incidents that extern keywords are not used to define variables in header files.\nEnsure to use extern keywords to define variables in header files.",
  "rule.saqt.c.ccpp.349.example.0.dangerous": "Line 2: A variable is declared without extern keyword in a header file.",
  "rule.saqt.c.ccpp.349.example.0.safe": "Line 2: Add extern keyword to declare a variable in a header file.",
  "rule.saqt.c.ccpp.349.name": "Missing extern in data definition in header file",
  "rule.saqt.c.ccpp.349.option.ignored_path.description": "Write the name of the path to exclude from analysis.",
  "rule.saqt.c.ccpp.349.option.ignored_path.name": "Name of the path to exclude from analysis",
  "rule.saqt.c.ccpp.350.description": "The Violation of Type Comment Format checker finds type comments that violate their format.\nThe specified type comment format is as described below: The checker validates comments on type redefinitions for their compliance with the specified format. In the case a comment contains the name of the redefined type or the original type, check that the correct name is written. . (You can optionally adjust the type format specifications):\nWrite type comments as per the specifications.",
  "rule.saqt.c.ccpp.350.example.0.dangerous": "Line 1: An invalid type comment format is found.",
  "rule.saqt.c.ccpp.350.example.0.safe": "Line 1: Use a valid type comment format.",
  "rule.saqt.c.ccpp.350.name": "Violation of Type Comment Format",
  "rule.saqt.c.ccpp.353.description": "The Multiple Declarations in Single Line checker finds instances in which multiple declarations are placed in a single line.\nMultiple declarations need to be separated into a single line for each declaration.",
  "rule.saqt.c.ccpp.353.example.0.dangerous": "Line 1: Multiple variable is declared on a single line.",
  "rule.saqt.c.ccpp.353.example.0.safe": "Line 1: Declare one variable on a single line.",
  "rule.saqt.c.ccpp.353.name": "Multiple Declarations in Single Line",
  "rule.saqt.c.ccpp.7560.description": "An `if-else if` construct must always terminate with a final `else` block. This defensive programming practice ensures that exceptional cases or default behavior are considered even when all explicit conditions in the control flow evaluate to `false`.\n\nIn addition, simply adding an `else` block is not sufficient. The block must contain meaningful executable statements or a comment explicitly indicating that no action is intended. For example, if the block contains only an empty block or a null statement, it is considered code with unclear developer intent. This rule helps communicate the developer’s intent more clearly during code review.\n\nHowever, this rule does not apply to a simple standalone `if` statement without any `else if` branches. In other words, when one or more `else if` branches are chained to an `if` statement, a final `else` block must be added at the end of the conditional branch.\n\nThe `else` block should contain logic for exception handling or for defining the default state. If there is no specific logic to execute when none of the conditions are satisfied, do not leave it as an empty block or a semicolon statement. Instead, a comment must be added to explicitly indicate that it has been intentionally left blank.",
  "rule.saqt.c.ccpp.7560.example.0.dangerous": "Line 3: An else block is missing in the end of the if-else if chain.\nLine 13, 21: No meaningful statements or comments have found in the final else block.",
  "rule.saqt.c.ccpp.7560.example.0.safe": "Line 7, 15: Added meaningful executable statements or appropriate comments inside the else block.\nLine 19: A standalone if statement without an else if branch is allowed.",
  "rule.saqt.c.ccpp.7560.name": "Missing ELSE Branch from IF-ELSE IF",
  "rule.saqt.c.ccpp.76.description": "The Unnecessary variable scope checker finds variables that are used in a particular file (or function) but not declared static for the file (or function).\nSpecifically, it finds the following cases: A global variable declared in a file is used by only one function. A global variable declared by extern is used only in a single file. \nBy declaring variables local or global in accordance with their scope, you can improve the readability of the source code.\nChange the detected global variables to local variables so that they can be used within their proper scope. ",
  "rule.saqt.c.ccpp.76.example.0.dangerous": "Line 1: A global variable a is used for foo() function only.",
  "rule.saqt.c.ccpp.76.example.0.safe": "Line 2: Change the detected global variables to local variables so that they can be used within their proper scope.",
  "rule.saqt.c.ccpp.76.name": "Unnecessary variable scope",
  "rule.saqt.c.ccpp.77.description": "The Violation of format of comments for class checker finds class comments that violate their format.\nThe checker validates comments on class declarations for their compliance with the specified format. Additionally, if a comment contains a class name, the checker checks whether the class name is correct.\nWrite class comments in accordance with the specified format.",
  "rule.saqt.c.ccpp.77.example.0.dangerous": "Line 2: A declared class name is not complying with specified formats in class comments.",
  "rule.saqt.c.ccpp.77.example.0.safe": "Line 2: Modify the declared class name to comply with the specified formats in class comments.",
  "rule.saqt.c.ccpp.77.name": "Violation of format of comments for class",
  "rule.saqt.c.ccpp.77.option.ClassComment.description": "Define the class comment template.",
  "rule.saqt.c.ccpp.77.option.ClassComment.name": "Class comment template",
  "rule.saqt.c.ccpp.78.description": "The Violation of format of function comments checker finds function comments that violate their format.\nThe checker validates comments on function declarations for their compliance with the specified format. Additionally, if a comment contains a function's name and return type, its arguments' names and types, and how many they are, the checker checks whether the contained values are correct.\nWrite function comments in accordance with the specified format.",
  "rule.saqt.c.ccpp.78.example.0.dangerous": "Line 5: Information about the second parameter is not written as specified in comments.\nLine 6: Return type of a function is not written as specified in comments.",
  "rule.saqt.c.ccpp.78.example.0.safe": "Line 5: Information about the second parameter is written as specified in comments.\nLine 6: Return type of a function is written as specified in comments.",
  "rule.saqt.c.ccpp.78.name": "Violation of format of function comments",
  "rule.saqt.c.ccpp.78.option.FunctionComment.description": "Define the function comment template.",
  "rule.saqt.c.ccpp.78.option.FunctionComment.name": "Function comment template",
  "rule.saqt.c.ccpp.79.description": "The Violation of format of comments for field checker finds field variable comments that violate their format.\nThe checker validates comments on field declarations for their compliance with the specified format. Additionally, if a comment contains a field's name and type, the checker checks whether the contained values are correct.\nWrite field variable comments in accordance with the specified format.",
  "rule.saqt.c.ccpp.79.example.0.dangerous": "Line 2: Type of field variable is not written as specified in comments.",
  "rule.saqt.c.ccpp.79.example.0.safe": "Line 2: Type of field variable is written as specified in comments.",
  "rule.saqt.c.ccpp.79.name": "Violation of format of comments for field",
  "rule.saqt.c.ccpp.79.option.FieldComment.description": "Define field comment template.",
  "rule.saqt.c.ccpp.79.option.FieldComment.name": "Field comment template",
  "rule.saqt.c.ccpp.79.option.field_position.description": "Write a field variable comment position which will be checked.<br />Example) both",
  "rule.saqt.c.ccpp.79.option.field_position.name": "A position of field variable comment",
  "rule.saqt.c.ccpp.79.option.global_position.description": "Write a global variable comment position which will be checked.<br />Example) both",
  "rule.saqt.c.ccpp.79.option.global_position.name": "A position of global variable comment",
  "rule.saqt.c.ccpp.79.option.is_check_not_exist_comment.description": "If selected, whether to check non-existing comments will be decided.<br />Example) true",
  "rule.saqt.c.ccpp.79.option.is_check_not_exist_comment.name": "Check non-existing variables",
  "rule.saqt.c.ccpp.79.option.local_position.description": "Write a local variable comment position which will be checked.<br />Example) both",
  "rule.saqt.c.ccpp.79.option.local_position.name": "A position of local variable comment",
  "rule.saqt.c.ccpp.79.option.variable_kind_field.description": "If selected, whether it is a field variable will be checked.<br />Example) true",
  "rule.saqt.c.ccpp.79.option.variable_kind_field.name": "Check field variables",
  "rule.saqt.c.ccpp.79.option.variable_kind_global.description": "If selected, whether it is a global variable will be checked.<br />Example) true",
  "rule.saqt.c.ccpp.79.option.variable_kind_global.name": "Check global variables",
  "rule.saqt.c.ccpp.79.option.variable_kind_local.description": "Write a field variable comment position which will be checked.<br />Example) both",
  "rule.saqt.c.ccpp.79.option.variable_kind_local.name": "Check local variables",
  "rule.saqt.c.ccpp.81.description": "The Violation of format of comments for file checker finds file comments that violate their format.\nThe checker validates each file's first comment for its compliance with the specified format.\nWrite file comments in accordance with the specified format.",
  "rule.saqt.c.ccpp.81.example.0.dangerous": "Line 1: File comments are not complying with specified format (/*).",
  "rule.saqt.c.ccpp.81.example.0.safe": "Line 1: Conform the specified comment format.",
  "rule.saqt.c.ccpp.81.name": "Violation of format of comments for file",
  "rule.saqt.c.ccpp.81.option.FileComment.description": "Define the file comment template.",
  "rule.saqt.c.ccpp.81.option.FileComment.name": "File comment template",
  "rule.saqt.c.ccpp.81.option.comment_number.description": "Write the number of file comment. <br />Example) 2",
  "rule.saqt.c.ccpp.81.option.comment_number.name": "The number of file comment",
  "rule.saqt.c.ccpp.88.description": "The Violation of naming rule for variable checker finds instances of violating the optionally specified variable name formats.\nYou can optionally enable or disable checking global variables, local variables, parameters, and loop variables, and specify allowed or forbidden variable name formats.\nName variables in accordance with the optionally specified formats.",
  "rule.saqt.c.ccpp.88.example.0.dangerous": "Line 2: A variable name starts with a dot, which violates specified formats.",
  "rule.saqt.c.ccpp.88.example.0.safe": "Line 2: Rename the variable to one of the specified formats.",
  "rule.saqt.c.ccpp.88.name": "Violation of naming rule for variable",
  "rule.saqt.c.ccpp.88.option.scope_target_global.description": "If the option is enabled, global variables will be checked.",
  "rule.saqt.c.ccpp.88.option.scope_target_global.name": "Check global variable",
  "rule.saqt.c.ccpp.88.option.scope_target_local.description": "If the option is enabled, local variables will be checked.",
  "rule.saqt.c.ccpp.88.option.scope_target_local.name": "Check local variable",
  "rule.saqt.c.ccpp.88.option.scope_target_loop.description": "If the option is enabled, loop variables will be checked.",
  "rule.saqt.c.ccpp.88.option.scope_target_loop.name": "Check loop variable",
  "rule.saqt.c.ccpp.88.option.scope_target_member.description": "If selected, member variables will be checked.",
  "rule.saqt.c.ccpp.88.option.scope_target_member.name": "Check member variable",
  "rule.saqt.c.ccpp.88.option.scope_target_parameter.description": "If selected, parameters will be checked.",
  "rule.saqt.c.ccpp.88.option.scope_target_parameter.name": "Check parameter",
  "rule.saqt.c.ccpp.88.option.variable_should_be_name.description": "Write an expression of the variable name to allow.<br/>Example) [a-zA-Z0-9_]*",
  "rule.saqt.c.ccpp.88.option.variable_should_be_name.name": "Name of the variable to allow",
  "rule.saqt.c.ccpp.88.option.variable_should_not_be_name.description": "Write an expression of the variable name to be forbid.<br/>Example) forbidden",
  "rule.saqt.c.ccpp.88.option.variable_should_not_be_name.name": "Name of the variable to forbid",
  "rule.saqt.c.cpp.1037.description": "The Non-standard escape sequence checker finds escape sequences that are not provided in the ISO C standard.\nAn escape sequence is a combination of characters starting with a backslash (\\). The escape sequences provided by the ISO C standard include \\', \\'', \\?, \\\\, \\t, \\v, \\f, \\a, \\b, \\n, \\r, and \\0.\nUsing a non-standard escape sequence is an undefined action. Such code may output different results depending on compilers and thus is unpredictable.\nUse standard escape sequences only.",
  "rule.saqt.c.cpp.1037.example.0.dangerous": "Line 5: An undefined escape sequence is used.",
  "rule.saqt.c.cpp.1037.example.0.safe": "Line 5: Use a defined escape sequence only.",
  "rule.saqt.c.cpp.1037.name": "Non-standard escape sequence",
  "rule.saqt.c.cpp.1040.description": "The Duplicated name in different scope checker finds instances in which identically named identifiers are used at different levels of scope.\nCompilers basically allow the use of identically named identifiers. However, a later declared identifier overrides an earlier declared one.\nRegardless of scope levels, give a unique name to each identifier.",
  "rule.saqt.c.cpp.1040.example.0.dangerous": "Line 7: A parameter is named to \"variable\". This name is used to a global variable in Line 1.",
  "rule.saqt.c.cpp.1040.example.0.safe": "Line 7: Rename the parameter with unique name.",
  "rule.saqt.c.cpp.1040.name": "Duplicated name in different scope",
  "rule.saqt.c.cpp.1040.option.ignore_enum_constant.description": "If the option is enabled, enumerator constant identifiers will not be checked.",
  "rule.saqt.c.cpp.1040.option.ignore_enum_constant.name": "Ignore the enumerator constant identifier",
  "rule.saqt.c.cpp.1040.option.ignore_label.description": "If the option is enabled, label identifiers will not be checked.",
  "rule.saqt.c.cpp.1040.option.ignore_label.name": "Ignore the label identifier",
  "rule.saqt.c.cpp.1040.option.ignore_normal_variable.description": "If the option is enabled, normal variable identifiers will not be checked.",
  "rule.saqt.c.cpp.1040.option.ignore_normal_variable.name": "Ignore the normal variable identifier",
  "rule.saqt.c.cpp.1040.option.ignore_parameter.description": "The parameter identifier doesn't check if selected.",
  "rule.saqt.c.cpp.1040.option.ignore_parameter.name": "Ignore the parameter identifier",
  "rule.saqt.c.cpp.1040.option.ignore_routine.description": "The function identifier doesn't check if selected.",
  "rule.saqt.c.cpp.1040.option.ignore_routine.name": "Ignore the function identifier",
  "rule.saqt.c.cpp.1040.option.ignore_typedef.description": "If the option is enabled, typedef identifiers will not be checked.",
  "rule.saqt.c.cpp.1040.option.ignore_typedef.name": "Ignore the typedef identifier",
  "rule.saqt.c.cpp.1041.description": "The Non-unique user defined type name checker finds instances in which a name given at a typedef declaration is reused elsewhere.\nCompilers basically allow the use of identically named identifiers. However, a later declared identifier overrides an earlier declared one.\nUse a unique name at each typedef declaration.",
  "rule.saqt.c.cpp.1041.example.0.dangerous": "Line 1: int64_t is declared with typedef.\nLine 7: A variable int64_t is declared. This name is used as a name of typedef in Line 1.\nLine 11: A parameter int64_t is declared. This name is used as a name of typedef in Line 1.",
  "rule.saqt.c.cpp.1041.example.0.safe": "Line 7: Do not use the same identifier name with typedef.\nLine 11: Do not use the same identifier name with typedef.",
  "rule.saqt.c.cpp.1041.name": "Non-unique user defined type name",
  "rule.saqt.c.cpp.1042.description": "The Duplicated tag name checker finds instances in which a name given at a tag declaration is reused elsewhere.\nTags refer to classes, structs, unions, enumerations, etc.\nUse a unique name at each tag declaration.",
  "rule.saqt.c.cpp.1042.example.0.dangerous": "Line 2: A struct named StructTest is declared.\nLine 11: A union named StructTest is declared. This name is used as a name of struct in Line 2.",
  "rule.saqt.c.cpp.1042.example.0.safe": "Line 11: Do not use the same identifier name with the struct.",
  "rule.saqt.c.cpp.1042.name": "Duplicated tag name",
  "rule.saqt.c.cpp.1043.description": "The Reused static identifier checker finds instances in which a name given at a declaration of a static object is reused elsewhere.\nA static object herein refers to the identifier of any object with static storage duration. This includes functions as well.\nUse a unique name at each declaration of a static object.",
  "rule.saqt.c.cpp.1043.example.0.dangerous": "Line 1: A static variable named staticVar1 is declared.\nLine 2: A static variable named staticVar2 is declared.\nLine 4: A typedef named staticVar1 is declared. This name is used as a name of typedef in Line 1.\nLine 5: A local variable named staticVar2 is declared. This name is used as a name of struct in Line 2.",
  "rule.saqt.c.cpp.1043.example.0.safe": "Line 4: Do not use the same identifier with the predefined static variable.\nLine 5: Do not use the same identifier with the predefined static variable.",
  "rule.saqt.c.cpp.1043.name": "Reused static identifier",
  "rule.saqt.c.cpp.1045.description": "The Reused identifier checker finds identifiers with the identical names.\nIdentifiers in different namespaces do not override one another even if they are named identically. Nevertheless, this checker searches for resused identifiers regardless which namespaces they belong to. Identifiers subject to checking include functions, labels, enum constants, variables, parameters, tags and fields.\nDo not use an identical name with other identifier.",
  "rule.saqt.c.cpp.1045.example.0.dangerous": "Line 4: A field named fieldName is declared.\nLine 9: A function named fieldName is declared. This name is used as a name of typedef in Line 4.",
  "rule.saqt.c.cpp.1045.example.0.safe": "Line 9: Do not use an identical name with other identifier.",
  "rule.saqt.c.cpp.1045.name": "Reused identifier",
  "rule.saqt.c.cpp.1045.option.ignore_enum_constant.description": "If the option is enabled, enumerator constant identifiers will not be checked.",
  "rule.saqt.c.cpp.1045.option.ignore_enum_constant.name": "Ignore the enumerator constant identifier",
  "rule.saqt.c.cpp.1045.option.ignore_field.description": "If the option is enabled, field identifiers will not be checked.",
  "rule.saqt.c.cpp.1045.option.ignore_field.name": "Ignore the field identifier",
  "rule.saqt.c.cpp.1045.option.ignore_label.description": "If the option is enabled, label identifiers will not be checked.",
  "rule.saqt.c.cpp.1045.option.ignore_label.name": "Ignore the label identifier",
  "rule.saqt.c.cpp.1045.option.ignore_normal_variable.description": "If the option is enabled, normal variable identifiers will not be checked.",
  "rule.saqt.c.cpp.1045.option.ignore_normal_variable.name": "Ignore the normal variable identifier",
  "rule.saqt.c.cpp.1045.option.ignore_parameter.description": "The parameter identifier doesn't check if selected.",
  "rule.saqt.c.cpp.1045.option.ignore_parameter.name": "Ignore the parameter identifier",
  "rule.saqt.c.cpp.1045.option.ignore_routine.description": "The function identifier doesn't check if selected.",
  "rule.saqt.c.cpp.1045.option.ignore_routine.name": "Ignore the function identifier",
  "rule.saqt.c.cpp.1045.option.ignore_tag.description": "The tag identifier doesn't check if selected.",
  "rule.saqt.c.cpp.1045.option.ignore_tag.name": "Ignore the tag identifier",
  "rule.saqt.c.cpp.1052.description": "The Missing size specification in type definition checker finds typedef declarations for a primitive numeric type that do not specify the size of the storage.\nAmong the primitive numeric types, however, the plain char type and the C data types acting as boolean are excluded from the checks.\nWhen declaring a primitive numeric type with typedef, except for the certain types, be sure to specify the size of the storage.",
  "rule.saqt.c.cpp.1052.example.0.dangerous": "Line 1: A storage class is not included in typedef declaration.\nLine 2: A storage class is not included in typedef declaration.",
  "rule.saqt.c.cpp.1052.example.0.safe": "Line 1: Include a storage class in typedef declaration.\nLine 2: Include a storage class in typedef declaration.",
  "rule.saqt.c.cpp.1052.name": "Missing size specification in type definition",
  "rule.saqt.c.cpp.1098.description": "The Improper operand of logical operation checker finds logical operations in which an operand expression is other than a variable, constant, or a parenthesized expression.\nAs an operand of a logical operator, only a variable, constant, or parenthesized expression must be used.",
  "rule.saqt.c.cpp.1098.example.0.dangerous": "Line 3: An expression is used for an operand instead of variable, constant, or parenthesized expression.",
  "rule.saqt.c.cpp.1098.example.0.safe": "Line 3: Use a variable, constant, or parenthesized expression for an operand.",
  "rule.saqt.c.cpp.1098.name": "Improper operand of logical operation",
  "rule.saqt.c.cpp.1111.description": "The Use of continue statement checker finds instances of using a continue statement.\nFrequent use of continue statement hinders reading of the program's control flow. Thus, unintended control flow may lead to program malfunctions.\nDo not use a continue statement.",
  "rule.saqt.c.cpp.1111.example.0.dangerous": "Line 4: A continue statement is used.",
  "rule.saqt.c.cpp.1111.example.0.safe": "Line 3: Fix logics not to use the continue statement.",
  "rule.saqt.c.cpp.1111.name": "Use of continue statement",
  "rule.saqt.c.cpp.1112.description": "The Missing default case in switch statement checker find incidents that the last clause of switch statements does not end with a default.\nThe checker searches for statements containing no default.\nWrite a default clause at the end of switch statements.",
  "rule.saqt.c.cpp.1112.example.0.dangerous": "Line 2: No default clause is found in switch statements.",
  "rule.saqt.c.cpp.1112.example.0.safe": "Line 12: Place the default clause at the end of switch statements.",
  "rule.saqt.c.cpp.1112.name": "Missing default case in switch statement",
  "rule.saqt.c.cpp.1112.option.allow_leading_default.description": "Allows the default clause to be placed at the beginning.",
  "rule.saqt.c.cpp.1112.option.allow_leading_default.name": "Allow default at the beginning",
  "rule.saqt.c.cpp.1122.description": "The Too high pointer level checker finds instances of declaring a pointer variable that has more than two levels of indirection.\nA pointer may be declared as a double or triple pointer in accordance with its indirection levels.\nWhen declaring a pointer, restrict its indirection to two levels at maximum.",
  "rule.saqt.c.cpp.1122.example.0.dangerous": "Line 2: A pointer with three levels is declared.",
  "rule.saqt.c.cpp.1122.example.0.safe": "Line 2: Do not declare a pointer with more than two levels of indirection.",
  "rule.saqt.c.cpp.1122.name": "Too high pointer level",
  "rule.saqt.c.cpp.1132.description": "The Too complex function checker finds declaring a function in an extremely complicated way.\nA complicated declaration refers to declaring a function pointer with a non-typedefed return or parameter type.\nUse typedef to declare the return or parameter type separately, or do not use the function pointer.",
  "rule.saqt.c.cpp.1132.example.0.dangerous": "Line 1: signal() function pointer is declared in a complicated way.",
  "rule.saqt.c.cpp.1132.example.0.safe": "Line 1: Declare the pointer as typedef, then use it as a parameter.",
  "rule.saqt.c.cpp.1132.name": "Too complex function",
  "rule.saqt.c.cpp.1176.description": "The Non-boolean value as operand of logical operation checker finds expressions that use a logical operator on a non-boolean operand.\nLogical operators refer to those like !, &&, and ||.\nMake sure logical operators are used only on a boolean operand.",
  "rule.saqt.c.cpp.1176.example.0.dangerous": "Line 3: A non-boolean type x is used as an operand of && operator.",
  "rule.saqt.c.cpp.1176.example.0.safe": "Line 3: Ensure that an operand of && operator is boolean.",
  "rule.saqt.c.cpp.1176.name": "Non-boolean value as operand of logical operation",
  "rule.saqt.c.cpp.1177.description": "The Multiple break statements checker finds loops that use a break statement more than once.\nIt is a good structured programming practice to restrict the number of loop termination conditions. It is possible to use only one break in a loop.\nIt is not preferable to use multiple breaks in a loop in terms of structured programming. It makes the control flow confusing.\nDo not use more than one break in a loop.",
  "rule.saqt.c.cpp.1177.example.0.dangerous": "Line 7: A break statement is used.\nLine 10: A break statement is used. A break statement has been used twice in a single loop.",
  "rule.saqt.c.cpp.1177.example.0.safe": "Line 5: Do not use more than one break in a loop.",
  "rule.saqt.c.cpp.1177.name": "Multiple break statements",
  "rule.saqt.c.cpp.1180.description": "The Case statement in nested block checker finds instances of using a case or default in a compound statement other than switch statement.\nEnsure to use the case or default only in switch statement.",
  "rule.saqt.c.cpp.1180.example.0.dangerous": "Line 6: A case is used in body of case statements instead of switch statements.",
  "rule.saqt.c.cpp.1180.example.0.safe": "Line 3: Use a case in switch statements.",
  "rule.saqt.c.cpp.1180.name": "Case statement in nested block",
  "rule.saqt.c.cpp.1181.description": "The Missing identifier for parameter checker finds declarations of function prototypes whose parameter does not have an identifier.\nWhen declaring a function prototype, make sure all its parameters have an identifier.",
  "rule.saqt.c.cpp.1181.example.0.dangerous": "Line 1: No identifier is found for the second parameter.\nLine 2: No identifier is found for all parameters.",
  "rule.saqt.c.cpp.1181.example.0.safe": "Line 1: All parameters needs their identifiers.\nLine 2: All parameters needs their identifiers.",
  "rule.saqt.c.cpp.1181.name": "Missing identifier for parameter",
  "rule.saqt.c.cpp.1182.description": "The Mismatched name of argument checker finds instances when identifiers are not matched for a parameter in function declaration or definition.\nWrite a single identifier for each parameter in function declaration or definition.",
  "rule.saqt.c.cpp.1182.example.0.dangerous": "Line 1: func2() function is declared.\nLine 2: func2() function is declared. However, their parameter identifier is not matched.",
  "rule.saqt.c.cpp.1182.example.0.safe": "Line 2: A parameter must be matched between declaration and definition.",
  "rule.saqt.c.cpp.1182.name": "Mismatched name of argument",
  "rule.saqt.c.cpp.1185.description": "The Following include statement checker finds files in which #include preprocessor statements are not located at the top.\nIn case a file begins with another preprocessor statement or a comment, the checker allows it as an exception.\nUnless subject to this exception, make sure #include comes at the top of the file.",
  "rule.saqt.c.cpp.1185.example.0.dangerous": "Line 2: A global variable is declared before include preprocessor.",
  "rule.saqt.c.cpp.1185.example.0.safe": "Line 2: Place include preprocessor statement at the top of file except other preprocessors or comments.",
  "rule.saqt.c.cpp.1185.name": "Following include statement",
  "rule.saqt.c.cpp.1208.description": "The Inconsistent parameter declaration checker finds functions whose parameters are not declared in a consistent manner.\nParameter declarations must have consistency. Inconsistently written parameter declarations undermine code readability.\nBe sure to declare parameters in a consistent manner.",
  "rule.saqt.c.cpp.1208.example.0.dangerous": "Line 1: No identifier is found for the second parameter.",
  "rule.saqt.c.cpp.1208.example.0.safe": "Line 1: All parameter need their identifiers.",
  "rule.saqt.c.cpp.1208.name": "Inconsistent parameter declaration",
  "rule.saqt.c.cpp.1230.description": "The Non-const member function checker finds instance in which a class method is not declared const even though it does not modify an object.\nA const declaration of a method is not to allow the method to modify objects. Violating this causes a compile error.\nA non-const method may be construed to aim at modifying objects, which is not true if the method does not actually change an object. Declaring a method with the correct interface helps prevent such confusion to other developers and is good for compiler optimizations.\nBe sure to declare methods with the const keyword if they don't modify objects. If a local control variable needs to change its value in a const method, declare this variable mutable instead.A variable declared mutable can be changed in a const-declared function.",
  "rule.saqt.c.cpp.1230.example.0.dangerous": "Line 4: Variables are not changed in a method, but not declared as const.\nLine 5: A flag is changed, but declared as mutable. In other words, other variables except the mutable are not changed in the method, but not declared as const.",
  "rule.saqt.c.cpp.1230.example.0.safe": "Line 4: Make sure to declare the method as const.\nLine 5: Make sure to declare the method as const.",
  "rule.saqt.c.cpp.1230.name": "Non-const member function",
  "rule.saqt.c.cpp.1252.description": "The Declaration of external global variable in header file checker finds instances that declaration is not performed in a header file as specified in rules.\nThe header file declaration rules are as follows: all non-inline functions, classes, variables, enumerations and enumeration constants, entities at named namespace scope, and objects with external linkage must be declared in header files. Do not write object definitions and unnamed namespace declarations and definitions in header files.\nIf required entities are not written in the header files, other files cannot use their functions or objects.\nWrite the header file as specified.",
  "rule.saqt.c.cpp.1252.example.0.dangerous": "Line 4: A global variable with an external link is defined.",
  "rule.saqt.c.cpp.1252.example.0.safe": "Line 4: Declare the global variable only.",
  "rule.saqt.c.cpp.1252.name": "Declaration of external global variable in header file",
  "rule.saqt.c.cpp.1252.option.as_Misra2008.description": "check all variable that non-defined in hedaer.",
  "rule.saqt.c.cpp.1252.option.as_Misra2008.name": "run as misra2008 spec",
  "rule.saqt.c.cpp.1253.description": "The Missing definition of inline function in header file checker finds instances that inline definition is not performed in a hear file as specified in rules.\nThe header file inline definition rules are as follows: The inline functions must be declared and defined in header files. Do not write unnamed namespace declarations and definitions in header files.\nFor performance, the inline function replaces itself with other lines instead of calls. Therefore, it is recommended to secure visibility of function implementation.\nWrite the header file as specified.",
  "rule.saqt.c.cpp.1253.example.0.dangerous": "Line 2: An inline function is declared in a header file.",
  "rule.saqt.c.cpp.1253.example.0.safe": "Line 2: Define the inline function in a header file.",
  "rule.saqt.c.cpp.1253.name": "Missing definition of inline function in header file",
  "rule.saqt.c.cpp.1254.description": "The Template definition in source file checker finds instances that template definition is not performed in a hear file as specified in rules.\nThe header file template definition rules are as follows: Template classes or functions must be declared and defined in header files. Do not write unnamed namespace declarations and definitions in header files.\nThe template definition is required to be visible by other external links in order to instantiate itself. In compilers supporting explicit instantiation, the template definition doesn't have to be included to header files. However, in general, it is recommended to keep the definition in the header files.\nWrite the header file as specified.",
  "rule.saqt.c.cpp.1254.example.0.dangerous": "Line 2: A template is defined in source files.",
  "rule.saqt.c.cpp.1254.example.0.safe": "Line 2: Define a template in header files.",
  "rule.saqt.c.cpp.1254.name": "Template definition in source file",
  "rule.saqt.c.cpp.1262.description": "The Non-unique Identifier checker finds identifiers that are not unique.\nCheck that each identifier is unique. Similarly named identifiers undermine code readability, thus causing more mistakes.\nMake sure all identifiers are unique.",
  "rule.saqt.c.cpp.1262.example.0.dangerous": "Line 2: An identifier C is duplicate with an class type C. Which is an efficient code in C++.",
  "rule.saqt.c.cpp.1262.example.0.safe": "Line 2: Use a unique identifier.",
  "rule.saqt.c.cpp.1262.name": "Non-unique Identifier",
  "rule.saqt.c.cpp.1263.description": "The Use of ambiguous grammar checker finds instances of declaring a variable by using an identical grammar of function style cast.\nAvoid an ambiguous grammar between function style cast and declaration. Do not use ambiguous parentheses in declaration.\nThis issue may affect the program performance or potentially lead to causing an error.\nDo not use parentheses in the variable declaration.",
  "rule.saqt.c.cpp.1263.example.0.dangerous": "Line 6: Parentheses are used to declare b.",
  "rule.saqt.c.cpp.1263.example.0.safe": "Line 6: Do not use parentheses.",
  "rule.saqt.c.cpp.1263.name": "Use of ambiguous grammar",
  "rule.saqt.c.cpp.1264.description": "The Confusing character in identifier checker finds identifiers that include both the number \"1\" and lowercase \"l\" or both the number \"0\" and uppercase \"O.\"\nMake sure an identifier does not include both the number \"1\" and lowercase \"l\" or both the number \"0\" and uppercase \"O.\" This can cause confusion to programmers.\nThis issue may affect the program performance or potentially lead to causing an error.\nMake sure an identifier does not include both the number \"1\" and lowercase \"l\" or both the number \"0\" and uppercase \"O.\"",
  "rule.saqt.c.cpp.1264.example.0.dangerous": "Line 1: Confusing characters, such as lowercase 'l' and number '1', are used in a single identifier.",
  "rule.saqt.c.cpp.1264.example.0.safe": "Line 1: Do not use confusing characters, such as lowercase 'l' and number '1', in a single identifier.",
  "rule.saqt.c.cpp.1264.name": "Confusing character in identifier",
  "rule.saqt.c.cpp.1265.description": "The Multiple type name in single type definition checker finds typedef statements that declare more than one type.\nEach typedef statement must declare only one type. As the \"&\" and \"*\" modifiers apply only to the adjacent declarator, a typedef declaration of multiple types may be confusing and undermine maintainability.\nOtherwise, this issue may affect the program performance or potentially lead to causing an error.\nEach typedef statement must declare only one type.",
  "rule.saqt.c.cpp.1265.example.0.dangerous": "Line 1: A pointer is declared to int pointer, and a value is declared to int. Which can be an unintended action.",
  "rule.saqt.c.cpp.1265.example.0.safe": "Line 1: Declare one type by using typedef.",
  "rule.saqt.c.cpp.1265.name": "Multiple type name in single type definition",
  "rule.saqt.c.cpp.1266.description": "The User defined array type checker finds typedef statements that declare an array type.\nAn array type should not be declared with typedef. A typedef-declared array type may be incorrectly used when a delete or bounds-checking is performed on this type.\nThis issue may affect the program performance or potentially lead to causing an error.\nDo not typedef an array type.",
  "rule.saqt.c.cpp.1266.example.0.dangerous": "Line 6: An object is deleted with delete. It seems that no undefined behavior occurs. However, a typedef has been used on ArrayType. Thus, delete[] call has been required.",
  "rule.saqt.c.cpp.1266.example.0.safe": "Line 1: Use a typedef to declare types.",
  "rule.saqt.c.cpp.1266.name": "User defined array type",
  "rule.saqt.c.cpp.1267.description": "The Use of C-style Array checker finds C-style array declarations.\nC-style arrays cause undefined behavior in case of an out-of-bounds access. It may also be problematic that C-style arrays do not maintain a record of the array size.\nUsing an STL container, like a vector, is recommended, instead of using a C-style array.",
  "rule.saqt.c.cpp.1267.example.0.dangerous": "Line 1: An array is used.",
  "rule.saqt.c.cpp.1267.example.0.safe": "Line 1: Use a vector instead of an array.\nLine 2: A vector provides variable memory spaces, and you can change the size and available whitespace by using the resize() method.",
  "rule.saqt.c.cpp.1267.name": "Use of C-style Array",
  "rule.saqt.c.cpp.1269.description": "The Violation of rule for * and & tokens checker finds a variable name with a pointer or reference operator, such as asterisk or ampersand, appended in declaration.\nEnsure to append asterisk or ampersand to a variable type instead of name. Then, it helps to understand that each token indicates a part of type.\nOtherwise, this issue may affect the program performance or potentially lead to causing an error.\nEnsure to append asterisk or ampersand to a variable type instead of name.",
  "rule.saqt.c.cpp.1269.example.0.dangerous": "Line 1: * is appended to variable name.",
  "rule.saqt.c.cpp.1269.example.0.safe": "Line 1: Append * to type name.",
  "rule.saqt.c.cpp.1269.name": "Violation of rule for * and & tokens",
  "rule.saqt.c.cpp.1270.description": "The Use of unsigned type checker finds instances of using an unsigned number.\nIt is recommended to use a signed number instead of the unsigned number. Conversion between the signed and unsigned numbers can cause issues that are not easily identifiable.\nThis issue may affect the program performance or potentially lead to causing an error.\nUse a signed number instead of unsigned number.",
  "rule.saqt.c.cpp.1270.example.0.dangerous": "Line 1: A unsigned integer is used.",
  "rule.saqt.c.cpp.1270.example.0.safe": "Line 1: Use a signed integer.",
  "rule.saqt.c.cpp.1270.name": "Use of unsigned type",
  "rule.saqt.c.cpp.1272.description": "The Improper comparison with constant value checker finds instances of comparison between a variable and a constant in which the constant comes on the right side of the comparison operator.\nWhen comparing a variable and a constant, put the constant on the left side. In C++ context, the assignment operator (=) is often used by mistake instead of the equality operator (==). If the constant is on the left side, the compiler can detect this mistake.\nThis issue may affect the program performance or potentially lead to causing an error.\nWhen comparing a variable and a constant, put the constant on the left side.",
  "rule.saqt.c.cpp.1272.example.0.dangerous": "Line 2: A value is placed on the right side.",
  "rule.saqt.c.cpp.1272.example.0.safe": "Line 2: Put a constant on the left side.",
  "rule.saqt.c.cpp.1272.name": "Improper comparison with constant value",
  "rule.saqt.c.cpp.1275.description": "The Use of Ternary Operator checker finds instances of using a ternary operator.\nEnsure not to use the ternary operators. It is recommended to explicitly use conditional statements in order to evaluate complex conditions.\nThis issue may affect the program performance or potentially lead to causing an error.\nDo not use the ternary operators.",
  "rule.saqt.c.cpp.1275.example.0.dangerous": "Line 3: A ternary operator is used.",
  "rule.saqt.c.cpp.1275.example.0.safe": "Line 3: Use a conditional statement instead of a ternary operator.",
  "rule.saqt.c.cpp.1275.name": "Use of Ternary Operator",
  "rule.saqt.c.cpp.1279.description": "The Non-static overloaded new operator checker finds overloads of the new and delete operators that are not declared static.\nThe new and delete operators are basically static by nature of their behavior. But explicit declaration as static is good for code readability.\nMake sure overloads of the new and delete operators are declared with the static keyword.",
  "rule.saqt.c.cpp.1279.example.0.dangerous": "Line 3: A new operator is not declared as static.",
  "rule.saqt.c.cpp.1279.example.0.safe": "Line 3: Declare the new operator as static.",
  "rule.saqt.c.cpp.1279.name": "Non-static overloaded new operator",
  "rule.saqt.c.cpp.1281.description": "The Violation of rule for white space in preprocess statement checker finds preprocessor statements that do not start in the first column or that include a space between the # character and directive name.\nThis rule conflicts with the rule of the Preprocessor Directive without Space checker. Do not apply both rules simultaneously.\nMake sure no space comes before a preprocessor statement or between the # character and its following directive name.\nMake sure no space comes before a preprocessor statement or between the # character and its following directive name.",
  "rule.saqt.c.cpp.1281.example.0.dangerous": "Line 1: An entry of directive is not set to the first column.",
  "rule.saqt.c.cpp.1281.example.0.safe": "Line 1: Start from the first column.",
  "rule.saqt.c.cpp.1281.name": "Violation of rule for white space in preprocess statement",
  "rule.saqt.c.cpp.1282.description": "The Violation of rule for white space in nested preprocess statements finds instances in which a preprocessor statement does not start in the first column or an inner conditional preprocessing block does not include a space between the # character and directive name.\nMake sure preprocessor conditional statements start in the first column, and inner conditional preprocessing blocks include a space between the # character and directive name.\nMake sure preprocessor conditional statements start in the first column, and inner conditional preprocessing blocks include a space between the # character and directive name.",
  "rule.saqt.c.cpp.1282.example.0.dangerous": "Line 2: No whitespace is placed between # and directive name.",
  "rule.saqt.c.cpp.1282.example.0.safe": "Line 2: Put a whitespace between # and directive name.",
  "rule.saqt.c.cpp.1282.name": "Violation of rule for white space in nested preprocess statements",
  "rule.saqt.c.cpp.1283.description": "The Use of #if directive checker finds instances of using the #if preprocessor directive.\nConditional compilation control based on a particular preprocessing token value is error-prone.\nUse the #ifdef or #ifndef preprocessor directive instead.",
  "rule.saqt.c.cpp.1283.example.0.dangerous": "Line 2: A #if directive is used.",
  "rule.saqt.c.cpp.1283.example.0.safe": "Line 2: Use a #ifdef directive.",
  "rule.saqt.c.cpp.1283.name": "Use of #if directive",
  "rule.saqt.c.cpp.1286.description": "The Path specifier in include statement checker finds #include statements that include a path separator in the directory.\nSome directory names and paths may be changed by the platform or compiler.\nMake sure #include statements do not include a path separator character in the directory.",
  "rule.saqt.c.cpp.1286.example.0.dangerous": "Line 1: A path specifier is inserted while including a header file.",
  "rule.saqt.c.cpp.1286.example.0.safe": "Line 4: Specify a path in a makefile, then include a header file without specifier.",
  "rule.saqt.c.cpp.1286.name": "Path specifier in include statement",
  "rule.saqt.c.cpp.1288.description": "The Use of Null Macro checker finds expressions that use a null macro.\nAlthough often being used, null macros are not defined by the C++ standard. Null macros, therefore, undermine portability and may cause compile errors depending on the development environment.\nUse a zero value instead of a null macro. If using a C++11 compatible compiler, use nullptr.",
  "rule.saqt.c.cpp.1288.example.0.dangerous": "Line 2: A null macro is used.",
  "rule.saqt.c.cpp.1288.example.0.safe": "Line 2: Ensure to use zero instead of the NULL macro.",
  "rule.saqt.c.cpp.1288.name": "Use of Null Macro",
  "rule.saqt.c.cpp.1302.description": "The Violation of rule of class organization checker finds classes whose member fields are not placed in the order of those declared public, protected, and private.\nIt is good for code readability to place the declarations of more frequently viewed members higher in the class. Those who use the class itself will need to view the public fields, those who use its subclasses will need to view the protected fields as well, and those who implement the class will need to view all fields including the private fields.\nPlace the class member fields in the order of those declared public, protected, and private. This rule applies to both methods and fields.",
  "rule.saqt.c.cpp.1302.example.0.dangerous": "Line 5: A public member is appeared after a private member.",
  "rule.saqt.c.cpp.1302.example.0.safe": "Line 3: Modify the order of members as specified; public, protected, private.",
  "rule.saqt.c.cpp.1302.name": "Violation of rule of class organization",
  "rule.saqt.c.cpp.1311.description": "The Illegible identifier checker finds instances of using identifiers that are hardly distinguishable from one another.\nIn some fonts, different characters may have the same glyph shape. This may be confusing to developers who read the identifiers.\nUse visually well-distinguishable identifiers.",
  "rule.saqt.c.cpp.1311.example.0.dangerous": "Line 2: Confusing characters, such as id_O with uppercase O in foo.h and id_0 with number 0 in bar.h, are used.",
  "rule.saqt.c.cpp.1311.example.0.safe": "Line 2: Do not use hardly distinguishable characters to identifiers.",
  "rule.saqt.c.cpp.1311.name": "Illegible identifier",
  "rule.saqt.c.cpp.1313.description": "The Type declaration in source file checker finds instances in which an entity supposed to be defined in a header file is actually defined in a source file.\nDefinitions that may be shared across different source files should generally be included in a header file. This allows source files to share their interfaces mutually by including the header files that define common entities.\nExcept object definitions and unnamed namespace declarations and definitions, all entities should be declared in header files. Which include: all non-inline functions, classes, variables, enumerations and enumeration constants, entities at named namespace scope, and entities with external linkage.",
  "rule.saqt.c.cpp.1313.example.0.dangerous": "Line 2: An enum type is defined in source files.\nLine 3: A class type is defined in source files.",
  "rule.saqt.c.cpp.1313.example.0.safe": "Line 2: Declare an enum type in header files.\nLine 3: Declare a class type in header files.",
  "rule.saqt.c.cpp.1313.name": "Type declaration in source file",
  "rule.saqt.c.cpp.1361.description": "The Non-member function at outside of anonymous namespace checker finds source files in which a non-member function that is not of an external interface is defined outside an unnamed namespace.\nThe basic approach to defining a function not being referred to from another translation unit is to locate the function definition in an unnamed namespace. An explicit definition of a static function is depreciated.\nWhen declaring a function used only within a specific source file, place its declaration in an unnamed namespace instead of declaring it static.",
  "rule.saqt.c.cpp.1361.example.0.dangerous": "Line 2: A source file-specific non-member function is declared as static.",
  "rule.saqt.c.cpp.1361.example.0.safe": "Line 3: Declare the source file-specific non-member function in an unnamed namespace.",
  "rule.saqt.c.cpp.1361.name": "Non-member function at outside of anonymous namespace",
  "rule.saqt.c.cpp.1362.description": "The Member function in structure checker finds instances of including a member function in a struct or applying an access modifier to a struct member.\nThere is no benefit from treating a struct like a class. Typically, structs must be of a POD type. The members of structs and unions are public by default. Do not change this.\nIf you need to use an access modifier or member function, declare a class instead.",
  "rule.saqt.c.cpp.1362.example.0.dangerous": "Line 2: A protected access specifier is used in struct declaration.\nLine 3: A member function is declared in a struct.",
  "rule.saqt.c.cpp.1362.example.0.safe": "Line 1: Use variables only in a struct.",
  "rule.saqt.c.cpp.1362.name": "Member function in structure",
  "rule.saqt.c.cpp.1363.description": "The Comparing enumeration type with integer value checker finds instances of explicit comparison with an enumerator using its internal integer value.\nWhen referencing an enumerator, it is preferable, in terms of both documentation and maintainability, to use its identifier name than its internal integer value. If your code relies on the integer values of enumerators, a change to an enumeration will require fixes on every part of the code.\nDo not reference enumerators by their integer value but by their identifier.",
  "rule.saqt.c.cpp.1363.example.0.dangerous": "Line 4: An enum type is compared to an integer.",
  "rule.saqt.c.cpp.1363.example.0.safe": "Line 4: Do not compare an enum to an integer.",
  "rule.saqt.c.cpp.1363.name": "Comparing enumeration type with integer value",
  "rule.saqt.c.cpp.1373.description": "The Variable name of lower scope including variable name of upper scope checker finds instances in which a variable name at an upper level of scope is included to a lower level.\nEnsure not to include the variable name at an upper level of scope to its lower level.",
  "rule.saqt.c.cpp.1373.example.0.dangerous": "Line 3: A variable name, Number, is included to another variable name, currentNumber.",
  "rule.saqt.c.cpp.1373.example.0.safe": "Line 3: Ensure that a parent variable name is not included to its child variable name.",
  "rule.saqt.c.cpp.1373.name": "Variable name of lower scope including variable name of upper scope",
  "rule.saqt.c.cpp.1374.description": "The Violation of naming rule for variable (BSSC) finds BSSC variable names that do not comply with the naming rules.\nThe naming rules are as follows: A variable name starts with an uppercase except the first word and consists of one or more words.\nMake sure to configure variable names to start with an uppercase except the first word and consists of one or more words in compliance with the naming rules.",
  "rule.saqt.c.cpp.1374.example.0.dangerous": "Line 1: A variable starts with an uppercase.",
  "rule.saqt.c.cpp.1374.example.0.safe": "Line 1: Do not start a variable with uppercases, and configure it with at least one word.",
  "rule.saqt.c.cpp.1374.name": "Violation of naming rule for variable (BSSC)",
  "rule.saqt.c.cpp.1375.description": "The Violation of naming rule for function (BSSC) checker finds BSSC function names that do not comply with the naming rules.\nThe naming rules are as follows: A function name starts with an uppercase and consists of one or more words.\nMake sure to configure function names to start with an uppercase and consists of one or more words in compliance with the naming rules.",
  "rule.saqt.c.cpp.1375.example.0.dangerous": "Line 1: A function starts with an lowercase.",
  "rule.saqt.c.cpp.1375.example.0.safe": "Line 1: Start a function with uppercases, and configure it with at least one word.",
  "rule.saqt.c.cpp.1375.name": "Violation of naming rule for function",
  "rule.saqt.c.cpp.1376.description": "The Violation of naming rule for user defined type checker finds instances that a custom type name does not start with T, or end with _t or _type.\nEnsure the custom type name to start with T, and end with _t or _type.",
  "rule.saqt.c.cpp.1376.example.0.dangerous": "Line 1: A custom type name does not start with T, and end with _t or _type.",
  "rule.saqt.c.cpp.1376.example.0.safe": "Line 1: Ensure that a custom type name ends with _t.",
  "rule.saqt.c.cpp.1376.name": "Violation of naming rule for user defined type",
  "rule.saqt.c.cpp.1377.description": "The Violation of naming rule for class checker finds instances of a class name that does not start with superclass C, or end with _c or _class.\nEnsure that the class name start with superclass C, and end with _c or _class.",
  "rule.saqt.c.cpp.1377.example.0.dangerous": "Line 1: A class name does not started with C, and end with _c or _class.",
  "rule.saqt.c.cpp.1377.example.0.safe": "Line 1: Ensure that a class name starts with C.",
  "rule.saqt.c.cpp.1377.name": "Violation of naming rule for class",
  "rule.saqt.c.cpp.1381.description": "The Improper access specifier checker finds classes in which the access specifiers are not arranged in the correct order.\nThe access specifiers must be placed in the order of public, protected, and private, and each specifier should be used only once in a class.\nWhen defining a class, place the access specifiers in the order of public, protected, and private. And make sure each of them occurs only once.",
  "rule.saqt.c.cpp.1381.example.0.dangerous": "Line 3: A public keyword is used.\nLine 10: A public keyword is used again.\nLine 14: A public keyword is used in CExample class.",
  "rule.saqt.c.cpp.1381.example.0.safe": "Line 1: Use the public, protected, and private keywords once in their order.\nLine 13: Use All keywords once without members using access modifiers.",
  "rule.saqt.c.cpp.1381.name": "Improper access specifier",
  "rule.saqt.c.cpp.1415.description": "The Early variable definition checker finds instances in which a local variable is declared much earlier than its actual use and thus stays live in a broad range.\nAn unnecessary cost of construction and destruction can be saved by delaying variable definition right before its use. Moreover, it helps to locate positions of variable declaration.\nDeclare local variables right before their use to reduce their live ranges as much as possible.",
  "rule.saqt.c.cpp.1415.example.0.dangerous": "Line 6: Definition is postponed for variable x. The variable is used within a block of if statements.\nLine 16: A block of switch, for, while, or do-while statements can be handled as exception.A variable cannot be declared within a switch block, and can consume resources to be defined in a loop.",
  "rule.saqt.c.cpp.1415.example.0.safe": "Line 8: Postpone the variable definition as long as possible.",
  "rule.saqt.c.cpp.1415.name": "Early variable definition",
  "rule.saqt.c.cpp.1418.description": "The Redundant casting checker finds instances of explicitly casting an object to exactly the same type.\nAn explicit cast is used to tell the compiler to treat one object type as another when the object being cast does not have a type suited to the expression in which the object is used. However, if the object already has the destination type, an explicit cast to the same type is not meaningful and just undermines code readability.\nEliminate unnecessary explicit casts.",
  "rule.saqt.c.cpp.1418.example.0.dangerous": "Line 3: Explicit casting to int doesn't have to be performed on y of int type.",
  "rule.saqt.c.cpp.1418.example.0.safe": "Line 3: Eliminate unnecessary explicit casts.",
  "rule.saqt.c.cpp.1418.name": "Redundant casting",
  "rule.saqt.c.cpp.1428.description": "The Improperly Formatted Macro Names checker finds macro names that include other characters than uppercase letters and underscores (_).\nName macros only with uppercase letters and underscores.",
  "rule.saqt.c.cpp.1428.example.0.dangerous": "Line 2: A lowercase is used in a macro name.",
  "rule.saqt.c.cpp.1428.example.0.safe": "Line 2: Name a macro with uppercases and underbar.",
  "rule.saqt.c.cpp.1428.name": "Improperly Formatted Macro Name",
  "rule.saqt.c.cpp.1428.option.ignore_list.description": "Ignore list",
  "rule.saqt.c.cpp.1428.option.ignore_list.name": "Macro excluded",
  "rule.saqt.c.cpp.1657.description": "The Throwing unspecified exception checker finds declarations of functions in which an exception is thrown whose type is different from the exception specification.\nException specifications specify what exceptions a function may throw.\nFailure to handle an exception can lead to forced-termination of the program.\nAll exceptions not covered by exception specifications must be handled when thrown.",
  "rule.saqt.c.cpp.1657.example.0.dangerous": "Line 1: An int type is clarified in the exception specification.\nLine 3: A float type is thrown as an exception.",
  "rule.saqt.c.cpp.1657.example.0.safe": "Line 3: Do not throw the exception which is not specified in the exception specification. Or, handle all exceptions not specified in the exception specification.",
  "rule.saqt.c.cpp.1657.name": "Throwing unspecified exception",
  "rule.saqt.c.cpp.1947.description": "The Missing call of sizeof checker finds instances in which a specified function is passed with an expression other than the sizeof() operator in the specified position.\nYou can optionally specify functions by name and the position index of the argument that should take sizeof().\nWhen calling a specified function, be sure to pass sizeof() to the specified argument position.",
  "rule.saqt.c.cpp.1947.example.0.dangerous": "Line 2: A sizeof operator is not used on the first argument of somecall() function. Suppose to specify a certain function to somecall(), and a certain argument index to the first.",
  "rule.saqt.c.cpp.1947.example.0.safe": "Line 2: Use the sizeof operator on the first argument of function as specified in option.",
  "rule.saqt.c.cpp.1947.name": "Missing call of sizeof",
  "rule.saqt.c.cpp.1947.option.check_sizeof.description": "If target parameter is an expression and uses sizeof operator in it, the analyzer will not generate issue on it. <br />Example) sizeof(int) *24",
  "rule.saqt.c.cpp.1947.option.check_sizeof.name": "Check sizeof in expression",
  "rule.saqt.c.cpp.1947.option.target_func.description": "Set target functions and parameter index. Please put like (parameter index):(target function name). Parameter index starts with 1, not 0.<br />example) 1:memcpy",
  "rule.saqt.c.cpp.1947.option.target_func.name": "Target functions and parameter index",
  "rule.saqt.c.cpp.1948.description": "The Wrong length of field array checker finds instances a specified struct's specified field has a shorter length than specified.\nYou can optionally specify structs and fields by name and their required field length. This rule applies only to array fields, and it counts the number of elements, not the number of bytes allocated.\nMake sure that specified structs' specified fields are declared with a length no smaller than the optionally specified value.",
  "rule.saqt.c.cpp.1948.example.0.dangerous": "Line 2: The length of a field name is smaller than 256 in a struct. Suppose to specify a certain struct to key, a certain field to module, and the length to 256.",
  "rule.saqt.c.cpp.1948.example.0.safe": "Line 2: Declare an efficient length to field as specified in option.",
  "rule.saqt.c.cpp.1948.name": "Wrong length of field array",
  "rule.saqt.c.cpp.1948.option.targets.description": "Set target struct, field, element number. Please describe like that : (name of structure),(name of field),(number of elements)",
  "rule.saqt.c.cpp.1948.option.targets.name": "Target struct, field, element number",
  "rule.saqt.c.cpp.1949.description": "The Duplicated parameters checker finds calls to specified functions in which the same variable is passed to different parameters.\nYou can optionally specify functions by name. When a specified function is called, the checker checks for the same variable passed to different parameters. Some functions forbid passing the same variable to different parameters.\nDo not pass the same variable to two or more parameters when calling a specified function.",
  "rule.saqt.c.cpp.1949.example.0.dangerous": "Line 2: A same variable, p, is used to the second and third parameter of test function that is forbidden to use identical variables as parameters.",
  "rule.saqt.c.cpp.1949.example.0.safe": "Line 2: Do not pass the same variable as an argument.",
  "rule.saqt.c.cpp.1949.name": "Duplicated parameters",
  "rule.saqt.c.cpp.1949.option.target_func.description": "Set target functions",
  "rule.saqt.c.cpp.1949.option.target_func.name": "Target functions",
  "rule.saqt.c.cpp.2135.description": "The Code in Comment checker finds code placed in the middle of comments.\nThe checker search source code within comments (//, /*...*/). It is recommended to remove unnecessary code instead of comment handling.\nDo not place the code in the middle of comments.",
  "rule.saqt.c.cpp.2135.example.0.dangerous": "Line 1: A source code sting is found in comments.\nLine 27: A source code sting is found in comments.",
  "rule.saqt.c.cpp.2135.example.0.safe": "Line 3: Remove the source code sting from comments.",
  "rule.saqt.c.cpp.2135.name": "Code in Comment",
  "rule.saqt.c.cpp.2281.description": "The Duplicate Definition of Virtual Function checker finds incidents that child classes override virtual functions defined by parent classes.\nTherefore, a function gets executed as the same under any levels of hierarchy. It is not object oriented, but can strengthen safety.\nEnsure that a parent class performs one definition for each virtual function. Or ensure that a parent class defines pure virtual function, then, a child class performs one definition.",
  "rule.saqt.c.cpp.2281.example.0.dangerous": "Line 5: A virtual method f3() is defined in class A.\nLine 16: The f3() method is overridden in class B which inherits class A.",
  "rule.saqt.c.cpp.2281.example.0.safe": "Line 5: Define the virtual method f3() in class A.\nLine 13: Do not override f() method in class B.",
  "rule.saqt.c.cpp.2281.name": "Duplicate Definition of Virtual Function",
  "rule.saqt.c.cpp.2298.description": "The Missing overriding of pure virtual function checker finds method declaration that pure virtual functions are overridden to pure virtual functions again.\nThe pure virtual function can be normally overridden in child class.",
  "rule.saqt.c.cpp.2298.example.0.dangerous": "Line 3: Class A is declaring a foo() method as a pure virtual function.\nLine 8: Class A2 is overriding the foo() method, the pure virtual function of class A.\nLine 19: Class B is overriding the foo() method, the pure virtual function of class A1.\nLine 24: Class C is overriding the foo() method, the virtual function of class B. into the pure virtual function.",
  "rule.saqt.c.cpp.2298.example.0.safe": "Line 24: Do not override the foo() method defined in class B back into the pure virtual function of class C.",
  "rule.saqt.c.cpp.2298.name": "Missing overriding of pure virtual function",
  "rule.saqt.c.cpp.2300.description": "The Invalid Comparison with Loop Counter checker finds incidents that loop counters of for statements are not compared in specified manners.\nThe checker probes that the loop counters increase or decrease by 2 or more, and are not compared to numbers. The specified manners indicate below conditions: The loop counters are not modified to ++ or -- operator in increment and decrement statements. Also, they are not compared with <=, <, >, or >= in conditions.\nThen, the loops cannot be terminated with an error. When the loop counters are changed by using operators other than -- or ++, their loops cannot be terminated. Thus, avoid using other operators including == and !=.\nModify operators for the loop counters to ++ or --. If the operators are not modified to ++ or --, ensure to use <=, <, >, or >= operator in conditional statements.",
  "rule.saqt.c.cpp.2300.example.0.dangerous": "Line 3: A loop counter is changed by += operator in increment/decrement statements. != operator is used in its condition.",
  "rule.saqt.c.cpp.2300.example.0.safe": "Line 3: Change the increment and decrement operation to the ++ operator, instead of the += operator, for the loop counters.",
  "rule.saqt.c.cpp.2300.name": "Invalid Comparison with Loop Counter",
  "rule.saqt.c.cpp.2302.description": "The Duplicate Loop Counter checker finds for statements with more than a single loop counter.\nThe for statements with more than one loop counter get features of while loops. Then, it is better to use the while loops than the misused for statements.\nEnsure to use one loop counter in for statements.",
  "rule.saqt.c.cpp.2302.example.0.dangerous": "Line 4: Loop counter, X and Y, are found.",
  "rule.saqt.c.cpp.2302.example.0.safe": "Line 4: Remove the loop counter y.",
  "rule.saqt.c.cpp.2302.name": "Duplicate Loop Counter",
  "rule.saqt.c.cpp.2303.description": "The Out-of-scope case Statement checker finds incidents that case statements are not close to scopes of switch statements.\nThe case statements can be placed to any commands in the body of switch statements. Then, an unstructured code can be generated.\nTo avoid this, case and default are required to be placed to compound commands in the body of switch statements. In other words, they must locate on the same scopes of the body of switch statements. Also, scopes of case statements are required to be the closest to switch.",
  "rule.saqt.c.cpp.2303.example.0.dangerous": "Line 8: case2 statement is out of range of other case statements.",
  "rule.saqt.c.cpp.2303.example.0.safe": "Line 8: Place the case 2 statement in the same range.",
  "rule.saqt.c.cpp.2303.name": "Out-of-scope case Statement",
  "rule.saqt.c.cpp.2304.description": "The Unnamed Namespace of Header File checker finds incidents that unnamed namespaces are located on header files instead of source files.\nThe unnamed namespaces are unique for each translation unit. Thus, declaration of the unnamed namespace in header files references entities of its translation unit. This may be inconsistent with developer expectations.\nThe unnamed namespace can be used in source files. Also, ensure to use named namespace for header files, if needed.",
  "rule.saqt.c.cpp.2304.example.0.dangerous": "Line 2: A namespace in a header file does not have a name.",
  "rule.saqt.c.cpp.2304.example.0.safe": "Line 2: Add a name to the namespace.",
  "rule.saqt.c.cpp.2304.name": "Unnamed Namespace of Header File",
  "rule.saqt.c.cpp.2305.description": "The Non-main Function Uses Name of main() checker finds instances in which a function is named main() but is not actually the main function that is called when the program starts running.\nIt is possible to define a function named main() in a non-global namespace.\nThe identifier of \"main\" is typically the starting point of a program and has to be used only in the global namespace. If another function is named main(), the program may work in an unexpected way.\nMake sure a function named main() is defined only in the global namespace. This function is the main function being the start point of the program.",
  "rule.saqt.c.cpp.2305.example.0.dangerous": "Line 2: A function with a main identifier is defined in a namespace.",
  "rule.saqt.c.cpp.2305.example.0.safe": "Line 1: Declare main functions in global namespaces.",
  "rule.saqt.c.cpp.2305.name": "Non-main Function Uses Name of main()",
  "rule.saqt.c.cpp.2307.description": "The Unused Function Return checker finds expressions that call functions without using their return values except some cases.\nYet, some cases are exempted, such as a function with void return type, or method for operator overloading. The function with void return type has no return value, and a return value does not have to be used in a method for operator overloading.\nA function can be called without using its return value in behalf of exception handling mechanism, which can cause an error in other languages. . However, the method for operator overloading does not have to be used as it behaves as identical as default operators.\nEnsure to use return values of functions except the method for operator overloading. Or explicitly perform casting a function return to void.",
  "rule.saqt.c.cpp.2307.example.0.dangerous": "Line 7: test() function is called, but its return value is not stored.",
  "rule.saqt.c.cpp.2307.example.0.safe": "Line 7: Store the return value of test() function in integer data type c.",
  "rule.saqt.c.cpp.2307.name": "Unused Function Return",
  "rule.saqt.c.cpp.2308.description": "The Overloading of Function in Namespace checker finds a function overloaded in a namespace.\nIn particular, the checker searches for a function that is overloaded in a subsequent namespace.\nIdentifiers introduced by using declaration do not include declarations added in subsequent namespace. The subsequent declaration cannot be searched by using declaration. Therefore, it is likely to call an unexpected function.\nDo not overload functions in the same namespace.",
  "rule.saqt.c.cpp.2308.example.0.dangerous": "Line 2: The f() function is defined in namespace NS1.\nLine 7: The f() function is declared as using in the namespace NS1.\nLine 10: The f() function is overloaded in the subsequent namespace NS1.\nLine 16: The f() function is called. As an integer is used to its argument, a function of Line 2 is called instead of one of Line 10 as expected.",
  "rule.saqt.c.cpp.2308.example.0.safe": "Line 8: Do not overload a function in a single namespace.\nLine 13: Place a using declaration after the subsequent namespace.",
  "rule.saqt.c.cpp.2308.name": "Overloading of Function in Namespace",
  "rule.saqt.c.cpp.2311.description": "The Cast of cvalue Expression checker finds instances of casting a cvalue expression.\nA cvalue expression refers to an expression that should not undergo further conversions, either implicitly or explicitly. For example, if the result of a division of two integers is stored in a variable of a real-number type, this result is a cvalue expression. The checker reports a defect if the result is explicitly cast to a real-number type.\nA cast on the result of an expression does not convert the type when the expression is evaluated. This may be contrary to developer expectations. This issue often occurs with division operations. A cast on the result of an integer division may be attempted in the expectation that the integer dividend will be converted to a real number before being divided. The actual cast, however, is conducted after the division is evaluated, and thus cannot have it produce a precise real number instead of the integer result.\nDo not perform an explicit cast on a cvalue expression. Such a cast may likely have been misplaced. Relocate the cast.",
  "rule.saqt.c.cpp.2311.example.0.dangerous": "Line 4: Integer operands are divided and casted into real types.",
  "rule.saqt.c.cpp.2311.example.0.safe": "Line 4: Cast the integer operand in the left of the division operator, then continue to divide.",
  "rule.saqt.c.cpp.2311.name": "Cast of cvalue Expression",
  "rule.saqt.c.cpp.2312.description": "The Array Decayed to Pointer checker finds incidents that objects are decayed to pointer by being passed to arguments.\nIt is hard to check bounds of arrays decayed to points. If arrays with different lengths are designed to be passed to arguments, it is recommended to encapsulize the arrays by using class fields or find other ways.\nEnsure not to decay the arrays to pointers while passing them to arguments. It is highly recommended to encapsulate array objects. If needed, pass the array by declaring parameters with scopes. You can declare an array type object to be used as an pointer by assigning the object to a pointer type variable. Or, specify an array type to be converted into a pointer type by using an explicit expression, such as &arr[0].",
  "rule.saqt.c.cpp.2312.example.0.dangerous": "Line 1: A function that can receive an array is declared. But its parameter decays a pointer.\nLine 2: A function that can receive an array is declared. But its parameter decays a pointer.\nLine 6: A pointer of variable is collapsed during function call.\nLine 7: A pointer of variable is collapsed during function call.",
  "rule.saqt.c.cpp.2312.example.0.safe": "Line 1: A parameter is declared to receive index information of arrays.\nLine 6: A pointer of variable is passed without collapse during function call.\nLine 8: Assign an array type object to a pointer variable. Which declares the object to be used as a pointer.\nLine 9: Make a pointer type object ptr to point a variable a, and send it to an argument.\nLine 11: Send the address of a[0]. Which shows the array type is replaced by pointer.",
  "rule.saqt.c.cpp.2312.name": "Array Decayed to Pointer",
  "rule.saqt.c.cpp.2315.description": "The Invalid Preprocessing Token checker finds instances in which the # token appears as the first token on a line but is not followed by a valid preprocessing token.\nThe requirement of this rule is that all preprocessor directives shall be syntactically valid even when they occur within an excluded block of code.\nWhen a section of source code is excluded by preprocessor directives, the content of each excluded statement is ignored until a #else, #elif or #endif directive is encountered (depending on the context). If one of these excluded directives is badly formed, it may be ignored without warning by a compiler with unexpected consequences.  In particular, ensure that #else and #endif directives are not followed by any characters other than whitespace. Compilers are not always consistent in enforcing this requirement.\nIf the # token appears as the first token on a line, then it shall be immediately followed by a valid preprocessing token.",
  "rule.saqt.c.cpp.2315.example.0.dangerous": "Line 6: A preprocessing statement to handle conditions is incorrectly written as #else1.",
  "rule.saqt.c.cpp.2315.example.0.safe": "Line 6: Modify the preprocessing statement into #else.",
  "rule.saqt.c.cpp.2315.name": "Invalid Preprocessing Token",
  "rule.saqt.c.cpp.2317.description": "The Variable and Function Declaration in Global Scope checker finds variable or function declaration in global scopes except main function and namespace.\nDeclaration with proper namespaces lowers the number of names to be searched, then, improves development convenience.\nEnsure not to declare variables or functions in global scopes except main functions and namespace.",
  "rule.saqt.c.cpp.2317.example.0.dangerous": "Line 7: A global variable is declared.\nLine 8: A global variable is declared.",
  "rule.saqt.c.cpp.2317.example.0.safe": "Line 7: Remove the global variable.\nLine 8: Remove the global variable of functions, except main() functions.",
  "rule.saqt.c.cpp.2317.name": "Variable and Function Declaration in Global Scope",
  "rule.saqt.c.cpp.2323.description": "The Missing Call to Superclass Constructor checker finds constructors of child classes that do not call other constructors of superclasses.\nTo be specific, the constructors that do not explicitly call other constructors of superclass are searched. Compilers fundamentally perform implicit calls to the constructors of parent classes.\nEnsure that the constructors of parent classes are explicitly called by the other constructors of child classes.",
  "rule.saqt.c.cpp.2323.example.0.dangerous": "Line 10: A constructor of parent class A is not explicitly called by class B constructor.",
  "rule.saqt.c.cpp.2323.example.0.safe": "Line 10: Explicitly call the constructor of parent class A by the class B constructor.",
  "rule.saqt.c.cpp.2323.name": "Missing Call to Superclass Constructor",
  "rule.saqt.c.cpp.2330.description": "The Throwing of Unlisted Exception checker finds instances that a function throws an exception undeclared in exception specification.\nunexpected() function is called when a function with the exception specification throws an undeclared exception. This action can be ignored by the program, though std::bad_exception exception occurs. If std::bad_exception is not declared in the exception specification, terminate() function is called to end the program by an implementation defined behavior.\nMake sure to throw exceptions declared in the exception specification. Or, add other exceptions required to be thrown.",
  "rule.saqt.c.cpp.2330.example.0.dangerous": "Line 1: An exception specification is declared as int type.\nLine 3: An exception in float type is thrown. This type is not declared by an exception specification.\nLine 6: An exception in int type is thrown. This exception throwing has no specific issue.",
  "rule.saqt.c.cpp.2330.example.0.safe": "Line 3: An exception in int type is thrown. Do not throw the exception type undeclared by the exception specification.",
  "rule.saqt.c.cpp.2330.name": "Throwing of Unlisted Exception",
  "rule.saqt.c.cpp.2331.description": "The Template Specialization Declaration in Another File checker finds instances that default template and template specialization are declared in each file.\nThe template specialization replaces template parameters with resulting types. Then, its classes, functions, or methods will be converted.\nDeclaring or defining the template specialization out of base template is an undefined action. Such code may output different results depending on compilers and thus is unpredictable.\nMake sure to perform the template specialization in the file that base template is declared.",
  "rule.saqt.c.cpp.2331.example.0.dangerous": "Line 2: A default function template is declared.\nLine 3: A default function template is declared.\nLine 4: An explicit specialization for good_tmpl() function is declared in the same file.\nLine 8: An explicit specialization for bad_tmpl() function is declared in different file.\nLine 13: An explicit specialization for bad_tmpl() is used. As the template specialization is declared in another file, an undefined action occurs.",
  "rule.saqt.c.cpp.2331.example.0.safe": "Line 5: Declare a default function template and explicit specialization for the bad_tmpl() function in the same file.",
  "rule.saqt.c.cpp.2331.name": "Template Specialization Declaration in Another File",
  "rule.saqt.c.cpp.2393.description": "The Violation of One Definition Rule checker finds code that performs more than one definition for a non-inline function or object.\nThe violation of one definition rule may cause an unexpected result.\nEnsure that a function or object has a single definition.",
  "rule.saqt.c.cpp.2393.example.0.dangerous": "Line 15: A different type is defined.\nLine 20: A different type is defined.",
  "rule.saqt.c.cpp.2393.example.0.safe": "Line 15: A same type is defined.\nLine 20: A same type is defined.",
  "rule.saqt.c.cpp.2393.name": "Violation of One Definition Rule",
  "rule.saqt.c.cpp.258.description": "The Too many function calls checker finds instances of function calls more than the specified number in an option.\nYou can optionally specify the maximum number of function calls.\nDo not call the function more than the optionally specified number.",
  "rule.saqt.c.cpp.258.example.0.dangerous": "Line 9: By default, 7 calls are allowed for a function. The function has been called more than 7 times.",
  "rule.saqt.c.cpp.258.example.0.safe": "Line 8: Ensure the function to be called within the specified number of times.",
  "rule.saqt.c.cpp.258.name": "Too many function calls",
  "rule.saqt.c.cpp.258.option.max_call_number.description": "Specify the maximum number of function calls to allow within a function",
  "rule.saqt.c.cpp.258.option.max_call_number.name": "Maximum number of function calls within a function",
  "rule.saqt.c.cpp.259.description": "The Use of goto statement checker finds goto statements that do not comply with the given restrictions.\nYou can optionally specify the maximum allowed number of goto statements per function and whether to apply the checks to goto statements in macros.\nDo not use goto statements.",
  "rule.saqt.c.cpp.259.example.0.dangerous": "Line 7: A goto statement is used to move to L1, which repeates infinitely.",
  "rule.saqt.c.cpp.259.example.0.safe": "Line 3: The goto statement makes a programm flow complicated and undermines code readability. It is recommanded not to use.",
  "rule.saqt.c.cpp.259.name": "Use of goto statement",
  "rule.saqt.c.cpp.259.option.ignore_macro.description": "Ignore goto statement in macro",
  "rule.saqt.c.cpp.259.option.ignore_macro.name": "If it checked, the analyzer will ignore goto statement in macro.",
  "rule.saqt.c.cpp.259.option.max_goto_statement_number.description": "Write the maximum number of goto statements to be allowed in a function.",
  "rule.saqt.c.cpp.259.option.max_goto_statement_number.name": "Maximum number of goto statements within a function",
  "rule.saqt.c.cpp.260.description": "The Too many return statements checker finds instances in which a function includes more return statements than the optionally specified number.\nYou can optionally specify the maximum allowed number of return statements per function.\nUse return statements within the allowed number.",
  "rule.saqt.c.cpp.260.example.0.dangerous": "Line 5: One or more return statements is used.",
  "rule.saqt.c.cpp.260.example.0.safe": "Line 8: Use one return statement for each function.",
  "rule.saqt.c.cpp.260.name": "Too many return statements",
  "rule.saqt.c.cpp.260.option.max_return_statement_number.description": "Write the maximum number of return statements to allow within a function.",
  "rule.saqt.c.cpp.260.option.max_return_statement_number.name": "Maximum number of return statements within a function",
  "rule.saqt.c.cpp.263.description": "The Non-macro constant checker finds instances of using a constant that is not defined as a macro.\nAs an exception, such a constant can be used in checking against a return from a system API or framework API. You can optionally specify a common header file path and allowable functions.\nFor good code readability, it is recommended to define constants as macros.",
  "rule.saqt.c.cpp.263.example.0.dangerous": "Line 2: A normal constant is used.",
  "rule.saqt.c.cpp.263.example.0.safe": "Line 3: Define the constant through a macro.",
  "rule.saqt.c.cpp.263.name": "Non-macro constant",
  "rule.saqt.c.cpp.263.option.allowed_function.description": "Write standard API and framework functions. <br />These functions may be compared with a constant not defined in the macro. <br /> If there is no value for this option, the constant compared with return values by all functions will be ignored. <br />Example) strcmp",
  "rule.saqt.c.cpp.263.option.allowed_function.name": "System API or Framework API",
  "rule.saqt.c.cpp.263.option.common_header_path.description": "Write a common header path.<br />If no value is defined, the checker will not consider the location where the macro is defined.<br /> Example) c:projectinclude",
  "rule.saqt.c.cpp.263.option.common_header_path.name": "Common Header File Path",
  "rule.saqt.c.cpp.266.description": "The Constant in condition of loop statement checker finds loop statements whose control section includes a constant.\nYou can optionally specify values excluded from checking.\nDo not use a constant in the control section of a loop.",
  "rule.saqt.c.cpp.266.example.0.dangerous": "Line 2: A constant is used in condition of while statements.",
  "rule.saqt.c.cpp.266.example.0.safe": "Line 2: Do not use the constant in the condition.",
  "rule.saqt.c.cpp.266.name": "Constant in condition of loop statement",
  "rule.saqt.c.cpp.266.option.ignored_value.description": "Write the values to ignore from analysis.",
  "rule.saqt.c.cpp.266.option.ignored_value.name": "Values to exclude from analysis",
  "rule.saqt.c.cpp.267.description": "The Variable declaration at middle of function checker finds function definitions in which all variables are not declared and initialized at the top.\nYou can optionally specify whether to check for initialization, function names excluded from checking, and variable names excluded from checking.\nWhen defining a function, all variables must be declared and initialized at the top.",
  "rule.saqt.c.cpp.267.example.0.dangerous": "Line 3: A variable is declared in if statements. Variables need to be declared at the start of functions.",
  "rule.saqt.c.cpp.267.example.0.safe": "Line 2: Declare and initialize the variable at the start of a function.",
  "rule.saqt.c.cpp.267.name": "Variable declaration at middle of function",
  "rule.saqt.c.cpp.267.option.ignored_function_name.description": "Write the list of the functions that can be called before the first local variable declaration. <br /> It supports regular expression. <br /> Example) ulog.*",
  "rule.saqt.c.cpp.267.option.ignored_function_name.name": "List of Functions to Exclude",
  "rule.saqt.c.cpp.267.option.ignored_variable_name.description": "Write variables to exclude from analysis.",
  "rule.saqt.c.cpp.267.option.ignored_variable_name.name": "Variables to exclude from analysis",
  "rule.saqt.c.cpp.267.option.skip_array_check.description": "Skip array initialization checking",
  "rule.saqt.c.cpp.267.option.skip_array_check.name": "Skip array initialization checking",
  "rule.saqt.c.cpp.271.description": "The Too many consecutive if statements checker finds instances of using if statements consecutively.\nYou can optionally specify the maximum allowed number of consecutive if statements.\nDo not use if statements consecutively but combine them with other types of conditional statements.",
  "rule.saqt.c.cpp.271.example.0.dangerous": "Line 12: if statement to compare a variable and constant is used 3 or more times.",
  "rule.saqt.c.cpp.271.example.0.safe": "Line 3: Use a switch-case statement instead of if statements multiple times.",
  "rule.saqt.c.cpp.271.name": "Too many consecutive if statements",
  "rule.saqt.c.cpp.271.option.max_number_of_ifs.description": "Specify the maximum number of if statements to allow within a function.",
  "rule.saqt.c.cpp.271.option.max_number_of_ifs.name": "Maximum number of if statements within a function",
  "rule.saqt.c.cpp.273.description": "The Unprefixed Constant in Enum checker finds enums in which a constant is declared without the specified prefix.\nThe specified prefix regex is ([^_]+)_.+ .\nAdd the specified prefix to each constant in enums.",
  "rule.saqt.c.cpp.273.example.0.dangerous": "Line 2: No prefix is found at the start of constants, 'A', 'B', and 'C'. A specified prefix 'L1_' needs to be added to the constants.",
  "rule.saqt.c.cpp.273.example.0.safe": "Line 2: Add the specified prefix at the start of the enum constants.",
  "rule.saqt.c.cpp.273.name": "Unprefixed Constant in Enum",
  "rule.saqt.c.cpp.275.description": "The Violation of Hungarian notation checker finds identifiers that are not named in compliance with Hungarian notation.\nYou can optionally designate a list of prefixes used for Hungarian notation.\nComply with Hungarian notation.",
  "rule.saqt.c.cpp.275.example.0.dangerous": "Line 2: This line violates hungarian notation to use 'p', 'i', or 'n' as a prefix.",
  "rule.saqt.c.cpp.275.example.0.safe": "Line 2: Declare a variable with a specified prefix.",
  "rule.saqt.c.cpp.275.name": "Violation of Hungarian notation",
  "rule.saqt.c.cpp.275.option.prefix.description": "Write the prefixes to use in Hungarian notation.",
  "rule.saqt.c.cpp.275.option.prefix.name": "Prefixes in Hungarian notation",
  "rule.saqt.c.cpp.276.description": "The Missing initialization of variable checker finds variables that are not initialized at their declaration.\nInitialize variables at their declaration.",
  "rule.saqt.c.cpp.276.example.0.dangerous": "Line 2: Variable var is not initialized after declaration.",
  "rule.saqt.c.cpp.276.example.0.safe": "Line 2: Initialize the variable while declaring.",
  "rule.saqt.c.cpp.276.name": "Missing initialization of variable",
  "rule.saqt.c.cpp.276.option.check_global.description": "If the option is enabled, global variables will be checked.",
  "rule.saqt.c.cpp.276.option.check_global.name": "Check global variables",
  "rule.saqt.c.cpp.276.option.check_local.description": "If the option is enabled, local variables will be checked.",
  "rule.saqt.c.cpp.276.option.check_local.name": "Check local variables",
  "rule.saqt.c.cpp.276.option.check_only_ptr.description": "If it is checked, the analyzer will check only pointer type.",
  "rule.saqt.c.cpp.276.option.check_only_ptr.name": "Only check initialize for pointer type",
  "rule.saqt.c.cpp.276.option.ignore_name.description": "The analyzer will not check the variables.",
  "rule.saqt.c.cpp.276.option.ignore_name.name": "Variable name to ignore",
  "rule.saqt.c.cpp.277.description": "The Violation of naming rule for macro checker detects macro names that do not conform to established rules.\nYou can optionally set an expression of macro names to allow.\nComply with the naming rules.",
  "rule.saqt.c.cpp.277.example.0.dangerous": "Line 1: A macro name violates its naming rules as optionally defined.\nLine 2: A macro name starts with an underscore (_).",
  "rule.saqt.c.cpp.277.example.0.safe": "Line 1: Rename the macro as defined.\nLine 2: Rename the macro as defined.",
  "rule.saqt.c.cpp.277.name": "Violation of naming rule for macro",
  "rule.saqt.c.cpp.277.option.macro_naming_expr.description": "Write macro name expressions to allow.<br />Example) [A-Z]+(_[A-Z]+)*",
  "rule.saqt.c.cpp.277.option.macro_naming_expr.name": "Macro name expression",
  "rule.saqt.c.cpp.278.description": "The Violation of naming rule for constant checker finds constants that are not named as per the naming rules.\nYou can optionally specify expressions for constant naming or constants defined as parameters.\nComply with the naming rules.",
  "rule.saqt.c.cpp.278.example.0.dangerous": "Line 1: A constant name violates its naming rules as optionally defined. For example, all letters need to be upper case in a constant.",
  "rule.saqt.c.cpp.278.example.0.safe": "Line 1: Rename the constant as defined.",
  "rule.saqt.c.cpp.278.name": "Violation of naming rule for constant",
  "rule.saqt.c.cpp.278.option.const_name_expr.description": "Write constant variable expression to allow.<br />Example) [A-Z][A-Z_]*",
  "rule.saqt.c.cpp.278.option.const_name_expr.name": "Constant name expression",
  "rule.saqt.c.cpp.278.option.exclude_param.description": "If the option is enabled, constant variables defined as parameters will not be detected.",
  "rule.saqt.c.cpp.278.option.exclude_param.name": "Exclude constant parameters",
  "rule.saqt.c.cpp.2783.description": "The Braced Block Not in Separate Line checker finds conditionals and loops whose condition section and braced body are not placed in separate lines.\nWhen writing a conditional or loop statement, make sure the opening brace of the body section starts in a new line.",
  "rule.saqt.c.cpp.2783.example.0.dangerous": "Line 15: A brace of if statements does not occupy a single line.\nLine 16: A brace of if statements does not occupy a single line.\nLine 28: A brace of else statements does not occupy a single line.\nLine 31: A brace of if statements does not occupy a single line.\nLine 35: A brace of while statements does not occupy a single line.\nLine 46: A brace of for statements does not occupy a single line.",
  "rule.saqt.c.cpp.2783.example.0.safe": "Line 1: Place a brace of condition and loop statements on a single line.",
  "rule.saqt.c.cpp.2783.name": "Braced Block Starting in Same Line as Condition",
  "rule.saqt.c.cpp.279.description": "The Duplicate Name checker finds duplicate names between functions, variables, and fields.\nDo not use the duplicate names in function, variable, and field declaration.",
  "rule.saqt.c.cpp.279.example.0.dangerous": "Line 1: name() function is declared.\nLine 2: Variable name is declared. This is a duplicate name with the function.",
  "rule.saqt.c.cpp.279.example.0.safe": "Line 1: Rename the function to getName(). This is not a duplicate name with the variable in Line 2.",
  "rule.saqt.c.cpp.279.name": "Duplicate Name",
  "rule.saqt.c.cpp.279.option.check_function.description": "If the option is enabled, duplicate function names will be detected.",
  "rule.saqt.c.cpp.279.option.check_function.name": "Check function name",
  "rule.saqt.c.cpp.279.option.check_macro.description": "If selected, duplicate with macro names will be detected.",
  "rule.saqt.c.cpp.279.option.check_macro.name": "Check macro name",
  "rule.saqt.c.cpp.279.option.check_same_type.description": "If selected, variables or functions of which names are overlapping each other will be detected. Otherwise, variable names overlapping with function names or vice versa will be detected.",
  "rule.saqt.c.cpp.279.option.check_same_type.name": "Check duplication status",
  "rule.saqt.c.cpp.279.option.check_variable.description": "If selected, duplicate variable names will be detected.",
  "rule.saqt.c.cpp.279.option.check_variable.name": "Check variable name",
  "rule.saqt.c.cpp.280.description": "The Violation of naming rule for global variable checker finds global variable declarations that do not add the predefined global variable prefix.\nYou can optionally define a prefix.\nUse the predefined global variable prefix for global variable names.",
  "rule.saqt.c.cpp.280.example.0.dangerous": "Line 1: Variable Name is declared. Yet, a global variable prefix, item, has been optionally defined.",
  "rule.saqt.c.cpp.280.example.0.safe": "Line 1: Use the predefined global variable prefix.",
  "rule.saqt.c.cpp.280.name": "Violation of naming rule for global variable",
  "rule.saqt.c.cpp.280.option.global_variable_name_expression.description": "Write global variable name expressions.<br/>Example) g[A-Za-z]+",
  "rule.saqt.c.cpp.280.option.global_variable_name_expression.name": "Global variable name",
  "rule.saqt.c.cpp.280.option.ignore_var_list.description": "Set ignore variables list",
  "rule.saqt.c.cpp.280.option.ignore_var_list.name": "Ignore variables list",
  "rule.saqt.c.cpp.281.description": "The Too Long Name checker finds function, variable, and field declaration longer than the specified length.\nYou can optionally specify the length.\nDo not use too long names in function, variable, and field declaration.",
  "rule.saqt.c.cpp.281.example.0.dangerous": "Line 1: A variable with too long name is declared.\nLine 3: A field with too long name is declared.\nLine 5: A function with too long name is declared.",
  "rule.saqt.c.cpp.281.example.0.safe": "Line 1: Declare a variable with specified or less length.\nLine 3: Declare a field with specified or less length.\nLine 5: Declare a function with specified or less length.",
  "rule.saqt.c.cpp.281.name": "Too Long Name",
  "rule.saqt.c.cpp.281.option.max_field_name_length.description": "Set the maximum length of the field name to allow.<br />Example) 20",
  "rule.saqt.c.cpp.281.option.max_field_name_length.name": "Maximum length of the field name",
  "rule.saqt.c.cpp.281.option.max_func_name_length.description": "Write the maximum length of the function name to allow.<br />Example) 20",
  "rule.saqt.c.cpp.281.option.max_func_name_length.name": "Maximum length of the function name",
  "rule.saqt.c.cpp.281.option.max_var_name_length.description": "Write the maximum allowable length of variable names.<br />Example) 20",
  "rule.saqt.c.cpp.281.option.max_var_name_length.name": "Maximum length of the variable",
  "rule.saqt.c.cpp.282.description": "The Missing explicit array size checker finds array declarations without the size specified.\nYou can optionally adjust the checking criteria.\nWhen declaring an array variable, be sure to specify the size.",
  "rule.saqt.c.cpp.282.example.0.dangerous": "Line 1: An external variable, array1, is declared without a specific size.\nLine 2: A variable, array2, is declared without a specific size.",
  "rule.saqt.c.cpp.282.example.0.safe": "Line 2: Specify the size of array while declaration.",
  "rule.saqt.c.cpp.282.name": "Missing explicit array size",
  "rule.saqt.c.cpp.282.option.check_extern_only.description": "If selected, only extern arrays will be checked.",
  "rule.saqt.c.cpp.282.option.check_extern_only.name": "Check extern array only",
  "rule.saqt.c.cpp.282.option.check_initializer.description": "If the option is enabled, empty arrays with an initializer will be ignored.",
  "rule.saqt.c.cpp.282.option.check_initializer.name": "Ignore when the variable has initializer.",
  "rule.saqt.c.cpp.282.option.include_char_type.description": "If selected, char type arrays will be checked.",
  "rule.saqt.c.cpp.282.option.include_char_type.name": "Check char type",
  "rule.saqt.c.cpp.283.description": "The Violation of format of block comments checker finds block comments that do not start or end with the specified character.\nYou can optionally specify the starting and ending characters.\nMake sure each block comment starts and ends with the specified characters.",
  "rule.saqt.c.cpp.283.example.0.dangerous": "Line 1: A block comment starts with /**. Suppose that the block comment is specified to start with /*.\nLine 3: The block comment ends with /**. Suppose that the block comment is specified to end with /*.",
  "rule.saqt.c.cpp.283.example.0.safe": "Line 1: Use the specified string at the start of the block comments.\nLine 3: Use the specified string at the end of the block comments.",
  "rule.saqt.c.cpp.283.name": "Violation of format of block comments",
  "rule.saqt.c.cpp.283.option.check_header.description": "If the option is enabled, all comments in the header files will be checked.",
  "rule.saqt.c.cpp.283.option.check_header.name": "Inspect header files",
  "rule.saqt.c.cpp.283.option.end_comment.description": "Define end of the block comment.<br />Example) */",
  "rule.saqt.c.cpp.283.option.end_comment.name": "End of the block comment",
  "rule.saqt.c.cpp.283.option.start_comment.description": "Define start of the block comment.<br />Example) /*",
  "rule.saqt.c.cpp.283.option.start_comment.name": "Start of the block comment",
  "rule.saqt.c.cpp.284.description": "The Too long source code before comment checker finds instances in which a source code preceding a comment exceeds the specified length.\nYou can optionally specify the length of code and detailed conditions.\nMake sure each source code preceding a comment do not exceed the specified length.",
  "rule.saqt.c.cpp.284.example.0.dangerous": "Line 4: Comments are added. Source code before the comments is exceeding a specified length.",
  "rule.saqt.c.cpp.284.example.0.safe": "Line 2: Ensure the source code not to exceed the specified length.",
  "rule.saqt.c.cpp.284.name": "Too long source code before comment",
  "rule.saqt.c.cpp.284.option.allowed_max_line_length.description": "Write the maximum length of the source code.<br />Example) 40",
  "rule.saqt.c.cpp.284.option.allowed_max_line_length.name": "Maximum length of the source code",
  "rule.saqt.c.cpp.284.option.check_header.description": "Set a true, If checking header files.",
  "rule.saqt.c.cpp.284.option.check_header.name": "Inspect header files",
  "rule.saqt.c.cpp.285.description": "The Missing blank line before comment checker finds instances in which source code and its subsequent comment are not separated by a blank line.\nAdd a blank line between source code and its subsequent comment.",
  "rule.saqt.c.cpp.285.example.0.dangerous": "Line 3: An empty line is not added before comments.",
  "rule.saqt.c.cpp.285.example.0.safe": "Line 4: Add an empty line before the comments.",
  "rule.saqt.c.cpp.285.name": "Missing blank line before comment",
  "rule.saqt.c.cpp.285.option.check_header.description": "Set a true, If checking header files.",
  "rule.saqt.c.cpp.285.option.check_header.name": "Inspect header files",
  "rule.saqt.c.cpp.286.description": "The Violation of indentation rule for comment checker finds instances in which a comment and its target block start at different columns.\nYou can optionally specify detailed rules.\nMake sure a comment and its target block start at the same column.",
  "rule.saqt.c.cpp.286.example.0.dangerous": "Line 1: A comment is starting at the first column.\nLine 2: A target block is starting at the third column. The comment and its target block are starting at different columns.",
  "rule.saqt.c.cpp.286.example.0.safe": "Line 2: Ensure both comment and its target block are starting at the same column.",
  "rule.saqt.c.cpp.286.name": "Violation of indentation rule for comment",
  "rule.saqt.c.cpp.286.option.check_general_comment.description": "If selected, indentation of the general comments will be checked.",
  "rule.saqt.c.cpp.286.option.check_general_comment.name": "Check indentation of the general comments",
  "rule.saqt.c.cpp.286.option.check_header.description": "Set a true, If checking header files.",
  "rule.saqt.c.cpp.286.option.check_header.name": "Inspect header files",
  "rule.saqt.c.cpp.286.option.check_voting_column.description": "If selected, small indentations will be checked.",
  "rule.saqt.c.cpp.286.option.check_voting_column.name": "Multiple indentations",
  "rule.saqt.c.cpp.286.option.tab_size.description": "Set the number of spaces for each tab.",
  "rule.saqt.c.cpp.286.option.tab_size.name": "Tab size",
  "rule.saqt.c.cpp.2984.description": "The Invalid Enumerator Operation checker finds code that uses an enumerator for an operand of arithmetic operation.\nThe enumerator can be used in comparisons only. You cannot use the enumerator for an operand of an arithmetic operator, such as + or -.\nDo not use the enumerator for an operand of an arithmetic operator.",
  "rule.saqt.c.cpp.2984.example.0.dangerous": "Line 3: An enumerator is used in an expression.",
  "rule.saqt.c.cpp.2984.example.0.safe": "Line 5: Use a variable with a value of the enumerator instead of the enumerator.",
  "rule.saqt.c.cpp.2984.name": "Invalid Enumerator Operation",
  "rule.saqt.c.cpp.2985.description": "The typedef Declaration of Numeric Type without Signedness checker finds code that declares a numeric type as typedef, but fails to specify signed or unsigned.\nThe checker scans for char, short, int, long, and long long types.\nPlease specify the singed or unsigned for typedef declaration of char, short, int, long, or long long type.",
  "rule.saqt.c.cpp.2985.example.0.dangerous": "Line 1: A typedef of numeric type is not declared its sign.\nLine 2: A typedef of numeric type is not declared its sign.\nLine 3: A typedef of numeric type is not declared its sign.\nLine 4: A typedef of numeric type is not declared its sign.\nLine 5: A typedef of numeric type is not declared its sign.",
  "rule.saqt.c.cpp.2985.example.0.safe": "Line 1: Declare a typedef of the numeric type by specifying its sign.\nLine 2: Declare a typedef of the numeric type by specifying its sign.\nLine 3: Declare a typedef of the numeric type by specifying its sign.\nLine 4: Declare a typedef of the numeric type by specifying its sign.\nLine 5: Declare a typedef of the numeric type by specifying its sign.",
  "rule.saqt.c.cpp.2985.name": "typedef Declaration of Numeric Type without Signedness",
  "rule.saqt.c.cpp.2995.description": "The Noncompliant Macro Name Length checker finds a macro name with more than 63 characters.\nAccording to the rule 5.4 of Misra C:2012, identifiers of macros in C99 shall not exceed 63 characters.\nEnsure that the macro name does not exceed 63 characters.",
  "rule.saqt.c.cpp.2995.example.0.dangerous": "Line 2: The macro name includes 79 characters.",
  "rule.saqt.c.cpp.2995.example.0.safe": "Line 2: Ensure that the macro name does not exceed 63 characters.",
  "rule.saqt.c.cpp.2995.name": "Noncompliant Macro Name Length",
  "rule.saqt.c.cpp.2997.description": "The Duplicate Name with Macro checker finds variable or function that uses an identical name with a macro.\nIf a variable or function has the same identifier with a macro, it might lower readability or bring confusion to developers.\nDo not use the same identifier name with the macro.",
  "rule.saqt.c.cpp.2997.example.0.dangerous": "Line 3: The variable uses the identical name of the macro on line 1.",
  "rule.saqt.c.cpp.2997.example.0.safe": "Line 3: Change the variable name into one different from the macro.",
  "rule.saqt.c.cpp.2997.name": "Duplicate Name with Macro",
  "rule.saqt.c.cpp.2999.description": "The switch Statement with Starting or without Ending default checker find incidents that the first or last clause of switch statements does not end with a default.\nWrite a default clause at the start or end of switch statements.",
  "rule.saqt.c.cpp.2999.example.0.dangerous": "Line 2: No default clause is found in switch statements.",
  "rule.saqt.c.cpp.2999.example.0.safe": "Line 3: Add a default to the start of switch statements.\nLine 16: Place the default clause at the end of switch statements.",
  "rule.saqt.c.cpp.2999.name": "switch Statement with Starting or without Ending default",
  "rule.saqt.c.cpp.300.description": "The Improper initialization of character array checker finds instances in which a character array is initialized to a string at its declaration, but the declared size is smaller than the initial string length plus 1.\nWhen the length of a string is handled, a null byte must be considered. If a character array is declared with the size equal to the length of the initial string, the null byte is removed. This may lead to an unexpected behavior of the program or a potential vulnerability.\nMake sure an array is declared with a size no smaller than the initial string. If a character array is declared without an explicit size specified, the array size is automatically adjusted to the initial string. This approach can be useful in the case determining a suitable array size is not easy.",
  "rule.saqt.c.cpp.300.example.0.dangerous": "Line 2: A string is initialized by fixing the size of array str. No room has been left for a null byte.",
  "rule.saqt.c.cpp.300.example.0.safe": "Line 2: Do not use a fixed value such as a constant to initialize an array.",
  "rule.saqt.c.cpp.300.name": "Improper initialization of character array",
  "rule.saqt.c.cpp.3000.description": "The Missing break in case Statement (Misra2008) checker finds case statements that do not end with a break statement.\nIt is acceptable to use a return, continue, or goto statement instead of break. You need to use a break in the default.\nIf a break statement is missing in a switch statement, an unintended case can be executed, causing an unexpected program behavior or error.\nThe case statement include one of break, return, continue, or goto statement. You need to use a break in the default.",
  "rule.saqt.c.cpp.3000.example.0.dangerous": "Line 6: When case statements do not include a break, the next case statement is executed. Thus, when a = 2, case 2 and case 3 are executed.",
  "rule.saqt.c.cpp.3000.example.0.safe": "Line 6: Add a break to the case statements in consideration of a program flow.",
  "rule.saqt.c.cpp.3000.name": "Missing break in case Statement(Misra2008)",
  "rule.saqt.c.cpp.3001.description": "The Missing Case in Switch Statement (Misra2012) checker finds switch statements that include less than two cases.\nThe default statement is also considered as a case. An empty case or default is not counted as valid. So, the checker finds that an empty case or empty default is invalid.\nA switch statement must include at least two case clauses.",
  "rule.saqt.c.cpp.3001.example.0.dangerous": "Line 2: An invalid case statement is found.\nLine 3: An empty case statement is found. Which is invalid.",
  "rule.saqt.c.cpp.3001.example.0.safe": "Line 2: Place at least two cases in switch statements.",
  "rule.saqt.c.cpp.3001.name": "Missing Case in Switch Statement (Misra2012)",
  "rule.saqt.c.cpp.3006.description": "The Unspecified Size of Empty extern Array checker finds code that fails to specify the size of an extern array variable.\nYou can optionally adjust the detailed check list.\nWhen declaring an array variable, be sure to specify the size.",
  "rule.saqt.c.cpp.3006.example.0.dangerous": "Line 1: An external variable, array1, is declared without a specific size.",
  "rule.saqt.c.cpp.3006.example.0.safe": "Line 2: Specify the size of array while declaration.",
  "rule.saqt.c.cpp.3006.name": "Unspecified Size of Empty extern Array",
  "rule.saqt.c.cpp.3006.option.check_initializer.description": "If the option is enabled, empty arrays with an initializer will be ignored.",
  "rule.saqt.c.cpp.3006.option.check_initializer.name": "Ignore when the variable has initializer.",
  "rule.saqt.c.cpp.3006.option.include_char_type.description": "If selected, char type arrays will be checked.",
  "rule.saqt.c.cpp.3006.option.include_char_type.name": "Check char type",
  "rule.saqt.c.cpp.3007.description": "The Missing ELSE Branch from IF-ELSE checker finds IF-ELSE statements that do not end with an ELSE clause.\nEach IF-ELSE must end with an ELSE clause.\nEach IF-ELSE must include an ELSE clause.",
  "rule.saqt.c.cpp.3007.example.0.dangerous": "Line 3: An else statement to check a null is not found in if statements.",
  "rule.saqt.c.cpp.3007.example.0.safe": "Line 5: Use else statements to handle exceptions.",
  "rule.saqt.c.cpp.3007.name": "Missing ELSE Branch from IF-ELSE",
  "rule.saqt.c.cpp.3008.description": "The Invalid Global Variable Identifier (Misra2012) checker finds that a global variable declared as static or extern exceeds 63 characters.\nAccording to the rule 5.2 of the Misra C:2012, identifiers of global variables in C99 shall not exceed 63 characters.\nEnsure that the length of the global variable with static or extern declaration does not exceed 63 characters.",
  "rule.saqt.c.cpp.3008.example.0.dangerous": "Line 1: The length of an extern global variable exceeds 63 characters.\nLine 2: The length of a static global variable exceeds 63 characters.",
  "rule.saqt.c.cpp.3008.example.0.safe": "Line 1: Make sure that the length of an extern global variable does not exceed 63 characters.\nLine 2: Make sure that the length of a static global variable does not exceed 63 characters.",
  "rule.saqt.c.cpp.3008.name": "Invalid Global Variable Identifier (Misra2012)",
  "rule.saqt.c.cpp.301.description": "The Inadequate operator of argument of sizeof checker finds instances of passing an expression as an argument to sizeof.\nDo not use an expression for an argument passed to sizeof.",
  "rule.saqt.c.cpp.301.example.0.dangerous": "Line 3: An expression is used for an argument of sizeof.",
  "rule.saqt.c.cpp.301.example.0.safe": "Line 3: Do not use an expression for an argument of sizeof.",
  "rule.saqt.c.cpp.301.name": "Inadequate operator of argument of sizeof",
  "rule.saqt.c.cpp.302.description": "The Violation of naming rule for pointer variable checker finds pointer variable declarations that do not comply with the predefined naming format.\nYou can optionally define a naming format.\nBe sure that pointer variables are named in compliance with the predefined naming format.",
  "rule.saqt.c.cpp.302.example.0.dangerous": "Line 1: pnt variable is declared. Suppose that this does not comply with predefined formats. An invalid declaration.",
  "rule.saqt.c.cpp.302.example.0.safe": "Line 1: Declare p_pnt variable with predefined name formats.",
  "rule.saqt.c.cpp.302.name": "Violation of naming rule for pointer variable",
  "rule.saqt.c.cpp.302.option.check_param.description": "Check parameters",
  "rule.saqt.c.cpp.302.option.check_param.name": "Check parameters",
  "rule.saqt.c.cpp.302.option.ignore_name.description": "Ignore variables name",
  "rule.saqt.c.cpp.302.option.ignore_name.name": "Ignore variables name",
  "rule.saqt.c.cpp.302.option.ignore_type.description": "Ignore type names",
  "rule.saqt.c.cpp.302.option.ignore_type.name": "Ignore type names",
  "rule.saqt.c.cpp.302.option.pointer_variable_name_expression.description": "Write an expression for the pointer variable name.<br/>Example) p_[A-Za-z]+",
  "rule.saqt.c.cpp.302.option.pointer_variable_name_expression.name": "Name of the pointer variable",
  "rule.saqt.c.cpp.303.description": "The Too long line checker finds code lines that span a longer length than the optionally specified value.\nWrap the overlong code lines.",
  "rule.saqt.c.cpp.303.example.0.dangerous": "Line 1: A line exceeds the predefined length.",
  "rule.saqt.c.cpp.303.example.0.safe": "Line 1: Adjust the size not to exceed the specified one. Divide the code line into two lines, or shorten the identifier.",
  "rule.saqt.c.cpp.303.name": "Too long line",
  "rule.saqt.c.cpp.303.option.max_column_width.description": "Specify the maximum width of the line",
  "rule.saqt.c.cpp.303.option.max_column_width.name": "Maximum width of the line",
  "rule.saqt.c.cpp.304.description": "The Indentation of improper length checker finds lines that contain a tabbed indent.\nUse spaces for indentation.",
  "rule.saqt.c.cpp.304.example.0.dangerous": "Line 2: This line is indented with tab key.",
  "rule.saqt.c.cpp.304.example.0.safe": "Line 2: Use a whitespace to indent.",
  "rule.saqt.c.cpp.304.name": "Indentation of improper length",
  "rule.saqt.c.cpp.304.option.indent_size.description": "Specify the indentation size.",
  "rule.saqt.c.cpp.304.option.indent_size.name": "Indentation size",
  "rule.saqt.c.cpp.305.description": "The Multiple Statements in Single Line checker finds instances in which multiple statements are placed in a single line.\nSeparate them in multiple lines so that each statement may be placed in a different line.",
  "rule.saqt.c.cpp.305.example.0.dangerous": "Line 2: Multiple statements is included in a single line.",
  "rule.saqt.c.cpp.305.example.0.safe": "Line 2: Put each statement to a single line.",
  "rule.saqt.c.cpp.305.name": "Multiple Statements in Single Line",
  "rule.saqt.c.cpp.306.description": "The Violation of rule for white space around keyword checker finds instances in which a reserved word is not separated by a whitespace from the following parenthesis.\nThe reserved word includes statements such as if, for, or while.\nMake sure the specified reserved words are followed by a space.",
  "rule.saqt.c.cpp.306.example.0.dangerous": "Line 3: No whitespace is found after a while statement.\nLine 8: No whitespace is found after a do-while statement.\nLine 9: No whitespace is found after an if statement.\nLine 11: No whitespace is found after an if statement.\nLine 14: No whitespace is found after a switch statement.\nLine 19: No whitespace is found after a catch statement.",
  "rule.saqt.c.cpp.306.example.0.safe": "Line 3: Add a whitespace between the while statement and following parenthesis.\nLine 8: Add a whitespace between the do-while statement and following parenthesis.\nLine 9: Add a whitespace between the if statement and following parenthesis.\nLine 11: Add a whitespace between the if statement and following parenthesis.\nLine 14: Add a whitespace between the swich statement and following parenthesis.\nLine 19: Add a whitespace between the catch statement and following parenthesis.",
  "rule.saqt.c.cpp.306.name": "Violation of rule for white space around keyword",
  "rule.saqt.c.cpp.307.description": "The Missing white space around binary operator checker finds instances in which a binary operator, except an access operator, is not separated by a whitespace from the following operand.\nThe access operator includes array reference ([ ]), strut reference (.), and struct pointer reference (->) operators.\nPut a whitespace between an operand and its binary operator except the access operator.",
  "rule.saqt.c.cpp.307.example.0.dangerous": "Line 2: No whitespace is found between a binary operator and its operands.",
  "rule.saqt.c.cpp.307.example.0.safe": "Line 2: Put a whitespace between the binary operator and its operands.",
  "rule.saqt.c.cpp.307.name": "Missing white space around binary operator",
  "rule.saqt.c.cpp.308.description": "The Violation of rule for white space in method call checker finds function calls in which the spacing between the function name and argument list or the spacing within the parentheses does not comply with the spacing rules.\nIf any parameters are included, they must be separated by spaces from the opening and closing parentheses, respectively.func( param );/* a whitespace between an open parenthesis and parameter param, a whitespace between an close parenthesis and parameter param */\nWhen calling a function, comply with the rules regarding spacing between the function name and argument list and spacing within the parentheses.",
  "rule.saqt.c.cpp.308.example.0.dangerous": "Line 1: A whitespace is not found between a function name and opening parenthesis.\nLine 2: A whitespace is not found between an opening and closing parentheses in a call without an argument.\nLine 3: A whitespace is not found between an argument and opening parenthesis.\nLine 4: A whitespace is not found between an argument and opening parenthesis.\nLine 5: A whitespace is not found after a comma.",
  "rule.saqt.c.cpp.308.example.0.safe": "Line 1: Add a whitespace between a function name and opening parenthesis.\nLine 2: Add a whitespace between an opening and closing parenthesis in a call without an argument.\nLine 3: Add a whitespace between an argument and opening parenthesis.\nLine 4: Add a whitespace between an argument and opening parenthesis.\nLine 5: Add a whitespace after a comma.",
  "rule.saqt.c.cpp.308.name": "Violation of rule for white space in method call",
  "rule.saqt.c.cpp.309.description": "The Violation of rule for white space in for statement checker finds for loops whose control statements are not separated by spaces.\nAdd a whitespace between each control statement.",
  "rule.saqt.c.cpp.309.example.0.dangerous": "Line 3: No whitespace is found between initialization, condition, and next expressions of the for statements.",
  "rule.saqt.c.cpp.309.example.0.safe": "Line 3: Put a whitespace between expressions of the for statements.",
  "rule.saqt.c.cpp.309.name": "Violation of rule for white space in for statement",
  "rule.saqt.c.cpp.311.description": "The White space around unary operator checker finds instances in which a unary operator such as ++ or ? and its operand are separated by a whitespace.\nUse unary operators in compliance with the rules.",
  "rule.saqt.c.cpp.311.example.0.dangerous": "Line 2: A whitespace is found between operand var and operator ++.\nLine 3: A whitespace is found between operand var and operator --.",
  "rule.saqt.c.cpp.311.example.0.safe": "Line 2: Remove the unnecessary whitespace.\nLine 3: Remove the unnecessary whitespace.",
  "rule.saqt.c.cpp.311.name": "White space around unary operator",
  "rule.saqt.c.cpp.313.description": "The Violation of rule for white space in casting checker finds instances in which a cast operator is not separated by a whitespace from the following operand.\nAdd a whitespace between a cast operator and the operand.",
  "rule.saqt.c.cpp.313.example.0.dangerous": "Line 3: No whitespace is found between a cast operator and the operand.",
  "rule.saqt.c.cpp.313.example.0.safe": "Line 3: Add a whitespace between a cast operator and the operand.",
  "rule.saqt.c.cpp.313.name": "Violation of rule for white space in casting",
  "rule.saqt.c.cpp.314.description": "The Violation of rule for white space around accessing operator checker finds instances in which an operator for accessing an object member and its operand are separated by a whitespace.\nThe operator for accessing an object includes array reference ([ ]), strut reference (.), struct pointer reference (->), pointer reference (*), and address (&) operators.\nDo not put a whitespace between an access operator and its operand.",
  "rule.saqt.c.cpp.314.example.0.dangerous": "Line 1: A whitespace is found between operator -> and its operand.\nLine 2: A whitespace is found between operator [] and its operand.\nLine 3: A whitespace is found between operator * and its operand.",
  "rule.saqt.c.cpp.314.example.0.safe": "Line 1: Remove the whitespace between operator -> and its operand.\nLine 2: Remove the whitespace between operator [] and its operand.\nLine 3: Remove the whitespace between operator * and its operand.",
  "rule.saqt.c.cpp.314.name": "Violation of rule for white space around accessing operator",
  "rule.saqt.c.cpp.315.description": "The Wrong inclusion order checker finds incidents that header files are not included in a specified order.\nThe specified order indicates to include system headers prior to user headers. The order cannot be changed or mixed.\nEnsure to include system headers first, then, user header later.",
  "rule.saqt.c.cpp.315.example.0.dangerous": "Line 2: A user header is included.\nLine 3: A system header is included. An incorrect order of headers is found.",
  "rule.saqt.c.cpp.315.example.0.safe": "Line 2: Include a system header before a user header.",
  "rule.saqt.c.cpp.315.name": "Wrong inclusion order",
  "rule.saqt.c.cpp.319.description": "The Violation of rule for white space around pointer operator checker finds expressions that have a whitespace between a pointer operator and its operand.\nDo not add a whitespace between a pointer operator and the operand.",
  "rule.saqt.c.cpp.319.example.0.dangerous": "Line 3: A whitespace is found between a pointer operator and its variable.",
  "rule.saqt.c.cpp.319.example.0.safe": "Line 3: Remove the whitespace between a pointer operator and its variable.",
  "rule.saqt.c.cpp.319.name": "Violation of rule for white space around pointer operator",
  "rule.saqt.c.cpp.321.description": "The Violation of rule for white space around function checker finds expressions that have a whitespace between a function name and the following parenthesis.\nDo not add a whitespace between a function name and the following parenthesis.",
  "rule.saqt.c.cpp.321.example.0.dangerous": "Line 1: A whitespace is found between a function name and opening parenthesis.",
  "rule.saqt.c.cpp.321.example.0.safe": "Line 1: Remove a whitespace between a function name and opening parenthesis.",
  "rule.saqt.c.cpp.321.name": "Violation of rule for white space around function",
  "rule.saqt.c.cpp.322.description": "The Violation of rule for white space in parentheses checker detects violations of the spacing rules when using parentheses.\nThe spacing rules are as follows When you use parentheses, there must be a space inside the parentheses. If there are multiple lines within parentheses, the parenthesis columns must be in the same position.\nMake sure you follow the whitespace rules when using parentheses.",
  "rule.saqt.c.cpp.322.example.0.dangerous": "Line 1: No whitespace is found between a parenthesis and the following expression.\nLine 4: An open and close parentheses are placed in different columns.",
  "rule.saqt.c.cpp.322.example.0.safe": "Line 1: Put a whitespace between a parenthesis and the following expression.\nLine 5: An open parenthesis and close parentheses need to be aligned.",
  "rule.saqt.c.cpp.322.name": "Violation of rule for white space in parentheses",
  "rule.saqt.c.cpp.324.description": "The Violation of rule for white space around semicolon checker finds semicolons that are preceded by a space.\nDo not put a whitespace before a semicolon.",
  "rule.saqt.c.cpp.324.example.0.dangerous": "Line 2: A whitespace is found before a semicolon.",
  "rule.saqt.c.cpp.324.example.0.safe": "Line 2: Remove the whitespace before the semicolon.",
  "rule.saqt.c.cpp.324.name": "Violation of rule for white space around semicolon",
  "rule.saqt.c.cpp.325.description": "The Violation of indentation rule for block checker finds instances in which all lines in a block are not equally indented.\nEnsure that all lines in a block are equally indented.",
  "rule.saqt.c.cpp.325.example.0.dangerous": "Line 3: A current line is not indented by the size of function definition.\nLine 6: A current line is not indented by the size of if block.",
  "rule.saqt.c.cpp.325.example.0.safe": "Line 3: Indent the current line by the size of function definition.\nLine 6: Indent the current line by the size of if block.",
  "rule.saqt.c.cpp.325.name": "Violation of indentation rule for block",
  "rule.saqt.c.cpp.326.description": "The Missing curly brace in compound statement checker finds compound statements that do not contain curly braces.\nEven if a compound statement spans a single line of code, enclose it in braces for consistency.",
  "rule.saqt.c.cpp.326.example.0.dangerous": "Line 3: A for statement is written in a single line without curly braces.",
  "rule.saqt.c.cpp.326.example.0.safe": "Line 3: Enclose the code with braces.",
  "rule.saqt.c.cpp.326.name": "Missing curly brace in compound statement",
  "rule.saqt.c.cpp.327.description": "The Missing curly brace in compound statement checker finds incidents that braces are added to incorrect positions of compound statements.\nThe incorrect positions are as follows: A compound statement, such as control or function declaration, does not start on a line of brace. A close brace does not placed at the column that the compound statement starts.\nEnsure to add braces on the correct position of compound statements.",
  "rule.saqt.c.cpp.327.example.0.dangerous": "Line 2: A brace is not aligned with function definition.\nLine 5: A brace is not aligned with for statements.",
  "rule.saqt.c.cpp.327.example.0.safe": "Line 1: Align a brace with function definition.\nLine 3: Align a brace with for statements.",
  "rule.saqt.c.cpp.327.name": "Missing curly brace in compound statement",
  "rule.saqt.c.cpp.328.description": "The Violation of rule for white space in while statement checker finds instances of using while statements not as per the spacing rules.\nThe spacing rules are as follows: A while statement and parenthesis must be separated by a whitespace. A parenthesis and its expression must be separated by a space.\nComply with the rules regarding spacing in the while statement.",
  "rule.saqt.c.cpp.328.example.0.dangerous": "Line 1: A whitespace is not found between a while statement and parenthesis.\nLine 2: A whitespace is not found between a parenthesis and expression.",
  "rule.saqt.c.cpp.328.example.0.safe": "Line 1: Put a whitespace as specified spacing rules.",
  "rule.saqt.c.cpp.328.name": "Violation of rule for white space in while statement",
  "rule.saqt.c.cpp.330.description": "The Violation of rule for white space in if statement checker finds instances of using if statements not as per the spacing rules.\nThe spacing rules are as follows: An if statement and a parenthesis must be separated by a space. A parenthesis and its expression must be separated by a space.\nComply with the rules regarding spacing in the if statement.",
  "rule.saqt.c.cpp.330.example.0.dangerous": "Line 1: A whitespace is not found between an if statement and parenthesis.\nLine 2: A whitespace is not found between a parenthesis and expression.",
  "rule.saqt.c.cpp.330.example.0.safe": "Line 1: Put a whitespace as specified spacing rules.",
  "rule.saqt.c.cpp.330.name": "Violation of rule for white space in if statement",
  "rule.saqt.c.cpp.331.description": "The Violation of indentation rule for switch statement checker finds instances of violating indentation rules.\nThe indentation rules are as follows: Write switch statements and condition on a single line. Wrap the line for case and default statements.\nComply with the rules regarding indentation in the switch statement.",
  "rule.saqt.c.cpp.331.example.0.dangerous": "Line 2: A keyword switch and condition expression are not placed on the same line.\nLine 6: A keyword switch and case expression are placed on the same line.",
  "rule.saqt.c.cpp.331.example.0.safe": "Line 1: Put the switch statement and condition on the same line.\nLine 2: Put the case expression on the following line.",
  "rule.saqt.c.cpp.331.name": "Violation of indentation rule for switch statement",
  "rule.saqt.c.cpp.332.description": "The Violation of switch Loop Spacing Rule checker finds instances of using switch statements not as per the spacing rules.\nThe spacing rules are as follows:A switch statement and parenthesis must be separated by a space. A parenthesis and its expression must be separated by a space.\nComply with the rules regarding spacing in the switch statement.",
  "rule.saqt.c.cpp.332.example.0.dangerous": "Line 1: A whitespace is not found between a switch statement and parenthesis.\nLine 2: A whitespace is not found between a parenthesis and expression.",
  "rule.saqt.c.cpp.332.example.0.safe": "Line 1: Put a whitespace as specified spacing rules.",
  "rule.saqt.c.cpp.332.name": "Violation of switch Statement Spacing Rule",
  "rule.saqt.c.cpp.333.description": "The Violation of indentation rule for case and default statements checker detects violations of the indentation rules when using the case and default syntax.\nThe indentation rules are as follows: case and default syntax requires that indents in switch syntax be indented one step further from the switch syntax. indents in formulas that are part of case and default syntax be indented one step further.\nEnsure that you follow the indentation rules when using case and default syntax.",
  "rule.saqt.c.cpp.333.example.0.dangerous": "Line 5: A case statement is indented one more tab.\nLine 7: An expression is indented one more tab.\nLine 8: An expression is indented one more tab.\nLine 9: A default statement is indented one more tab.",
  "rule.saqt.c.cpp.333.example.0.safe": "Line 1: Comply with indentation rules in case and default statements.",
  "rule.saqt.c.cpp.333.name": "Violation of indentation rule for case and default statements",
  "rule.saqt.c.cpp.334.description": "The Violation of Comma Spacing Rule checker finds a comma operator that violates its spacing rules.\nThe spacing rules are as follows: No whitespace is allowed before a comma. A whitespace is allowed after a comma. Yet, you can optionally specify where to place the whitespace.\nComply with the rules regarding spacing for comma operators.",
  "rule.saqt.c.cpp.334.example.0.dangerous": "Line 1: A whitespace is not found after a comma operator.\nLine 2: A whitespace is found before a comma operator.",
  "rule.saqt.c.cpp.334.example.0.safe": "Line 1: Put a whitespace as specified spacing rules.",
  "rule.saqt.c.cpp.334.name": "Violation of rule for white space around comma",
  "rule.saqt.c.cpp.335.description": "The Too many logical operations checker finds expressions that contain at least two consecutive uses of logical operators.\nUse parentheses to specify operation precedence for an expression with two or more logical operators. Or ensure to use a single logical operator for each expression.",
  "rule.saqt.c.cpp.335.example.0.dangerous": "Line 1: && operator and || operator is used in one expression.",
  "rule.saqt.c.cpp.335.example.0.safe": "Line 1: Use parentheses to prioritize two or more logical operators in one expression.\nLine 2: Use one logical operator for one expression.",
  "rule.saqt.c.cpp.335.name": "Too many logical operations",
  "rule.saqt.c.cpp.335.option.allow_exceptional_cases.description": "Exceptional case. The following usage is common, and hence allowed. <br />Example) a == 0 && b == 1",
  "rule.saqt.c.cpp.335.option.allow_exceptional_cases.name": "Allow exceptional case.",
  "rule.saqt.c.cpp.338.description": "The Violation of naming rule for Type checker finds type declarations that do not comply with the naming rules.\nThe naming rules are as follows: A type name must be all lowercase and end with _t. If a type name consists of words combined, use _ as a delimiter between them. A pointer type name must end with _p.\nWhen declaring a type, comply with the naming rules.",
  "rule.saqt.c.cpp.338.example.0.dangerous": "Line 1: A typedef type violates its naming rules.\nLine 2: A typedef type violates its naming rules.",
  "rule.saqt.c.cpp.338.example.0.safe": "Line 1: Declare the typedef type as specified.\nLine 2: Declare the typedef type as specified.",
  "rule.saqt.c.cpp.338.name": "Violation of naming rule for type",
  "rule.saqt.c.cpp.338.option.ignore_types.description": "Write a list of ignore type name.",
  "rule.saqt.c.cpp.338.option.ignore_types.name": "Ignore variable type",
  "rule.saqt.c.cpp.342.description": "The Global variable declaration between functions checker finds global variables that are declared between function and its definition.\nDo not declare the global variables in the middle of function definition. Ensure to declare the global variables before the function definition.",
  "rule.saqt.c.cpp.342.example.0.dangerous": "Line 2: A global variable is declared between function definition.",
  "rule.saqt.c.cpp.342.example.0.safe": "Line 1: Declare a global variable before function definition.",
  "rule.saqt.c.cpp.342.name": "Global variable declaration between functions",
  "rule.saqt.c.cpp.342.option.ignored_variable_name.description": "Write variables to exclude from analysis.",
  "rule.saqt.c.cpp.342.option.ignored_variable_name.name": "Variables to exclude from analysis",
  "rule.saqt.c.cpp.343.description": "The Undeclared local variable at top of block checker finds function definitions in which local variable declarations are not located at the top.\nAs an exception, the counter in a for loop is excluded from checking.\nLocal variables must be declared at the top of the function.",
  "rule.saqt.c.cpp.343.example.0.dangerous": "Line 3: A local variable is not declared at the top of a function.",
  "rule.saqt.c.cpp.343.example.0.safe": "Line 2: Declare the local variable at the top of the function",
  "rule.saqt.c.cpp.343.name": "Undeclared local variable at top of block",
  "rule.saqt.c.cpp.343.option.ignored_function_name.description": "Write the name of the function to exclude from analysis.",
  "rule.saqt.c.cpp.343.option.ignored_function_name.name": "Write the name of the function to exclude from analysis.",
  "rule.saqt.c.cpp.343.option.ignored_variable_name.description": "Write variables to exclude from analysis.",
  "rule.saqt.c.cpp.343.option.ignored_variable_name.name": "Variables to exclude from analysis",
  "rule.saqt.c.cpp.343.option.skip_array_check.description": "Skip array initialization checking",
  "rule.saqt.c.cpp.343.option.skip_array_check.name": "Skip array initialization checking",
  "rule.saqt.c.cpp.344.description": "The Violation of rule of variable declaration in loop checker finds instances of declaring a for loop's counter variable inappropriately.\nThe declaration rules are as follows: Declare a loop counter of for loop in initialization statements, except when a compiler does not support. Do not use one character name for a loop counter of for loop, such as i, j, or k.\nWhen declaring a loop counter, comply with the declaration rules.",
  "rule.saqt.c.cpp.344.example.0.dangerous": "Line 3: A loop counter is declared outside of initialization.\nLine 4: A loop counter name is declared with one character.",
  "rule.saqt.c.cpp.344.example.0.safe": "Line 2: Declare the loop counter within initialization, and use a meaningful variable name.",
  "rule.saqt.c.cpp.344.name": "Violation of rule of variable declaration in loop",
  "rule.saqt.c.cpp.344.option.skip_loop_check.description": "Skip for loop initialization checking",
  "rule.saqt.c.cpp.344.option.skip_loop_check.name": "Skip for loop initialization checking",
  "rule.saqt.c.cpp.346.description": "The Improper size examination checker finds incidents that sizeof are not used for functions required to evaluate their data type.\nThe functions to evaluate data type are shown as follows: memset(), memcpy(), wmemcpy(), bcopy(), strncpy(), memmove(), memccpy(), mempcpy(), wmempcpy(), snprintf(), strlcat(), calloc(), and malloc().\nEnsure to use sizeof for functions required to evaluate their data type.",
  "rule.saqt.c.cpp.346.example.0.dangerous": "Line 3: sizeof is not used in memset() function call.",
  "rule.saqt.c.cpp.346.example.0.safe": "Line 3: Use sizeof for an argument requiring type size evaluation.",
  "rule.saqt.c.cpp.346.name": "Improper size examination",
  "rule.saqt.c.cpp.347.description": "The Non-static global variable used within one source file checker finds instances in which a global variable used only in a single source file is declared without the static keyword.\nGlobal variables used in a single file must be declared static.",
  "rule.saqt.c.cpp.347.example.0.dangerous": "Line 1: A global variable is declared without static keyword.",
  "rule.saqt.c.cpp.347.example.0.safe": "Line 1: Declared the global variable as static.",
  "rule.saqt.c.cpp.347.name": "Non-static global variable used within one source file",
  "rule.saqt.c.cpp.349.description": "The Missing extern in data definition in header file checker finds incidents that extern keywords are not used to define variables in header files.\nEnsure to use extern keywords to define variables in header files.",
  "rule.saqt.c.cpp.349.example.0.dangerous": "Line 2: A variable is declared without extern keyword in a header file.",
  "rule.saqt.c.cpp.349.example.0.safe": "Line 2: Add extern keyword to declare a variable in a header file.",
  "rule.saqt.c.cpp.349.name": "Missing extern in data definition in header file",
  "rule.saqt.c.cpp.349.option.ignored_path.description": "Write the name of the path to exclude from analysis.",
  "rule.saqt.c.cpp.349.option.ignored_path.name": "Name of the path to exclude from analysis",
  "rule.saqt.c.cpp.350.description": "The Violation of Type Comment Format checker finds type comments that violate their format.\nThe specified type comment format is as described below: The checker validates comments on type redefinitions for their compliance with the specified format. In the case a comment contains the name of the redefined type or the original type, check that the correct name is written. . (You can optionally adjust the type format specifications):\nWrite type comments as per the specifications.",
  "rule.saqt.c.cpp.350.example.0.dangerous": "Line 1: An invalid type comment format is found.",
  "rule.saqt.c.cpp.350.example.0.safe": "Line 1: Use a valid type comment format.",
  "rule.saqt.c.cpp.350.name": "Violation of Type Comment Format",
  "rule.saqt.c.cpp.353.description": "The Multiple Declarations in Single Line checker finds instances in which multiple declarations are placed in a single line.\nMultiple declarations need to be separated into a single line for each declaration.",
  "rule.saqt.c.cpp.353.example.0.dangerous": "Line 1: Multiple variable is declared on a single line.",
  "rule.saqt.c.cpp.353.example.0.safe": "Line 1: Declare one variable on a single line.",
  "rule.saqt.c.cpp.353.name": "Multiple Declarations in Single Line",
  "rule.saqt.c.cpp.76.description": "The Unnecessary variable scope checker finds variables that are used in a particular file (or function) but not declared static for the file (or function).\nSpecifically, it finds the following cases: A global variable declared in a file is used by only one function. A global variable declared by extern is used only in a single file. \nBy declaring variables local or global in accordance with their scope, you can improve the readability of the source code.\nChange the detected global variables to local variables so that they can be used within their proper scope. ",
  "rule.saqt.c.cpp.76.example.0.dangerous": "Line 1: A global variable a is used for foo() function only.",
  "rule.saqt.c.cpp.76.example.0.safe": "Line 2: Change the detected global variables to local variables so that they can be used within their proper scope.",
  "rule.saqt.c.cpp.76.name": "Unnecessary variable scope",
  "rule.saqt.c.cpp.77.description": "The Violation of format of comments for class checker finds class comments that violate their format.\nThe checker validates comments on class declarations for their compliance with the specified format. Additionally, if a comment contains a class name, the checker checks whether the class name is correct.\nWrite class comments in accordance with the specified format.",
  "rule.saqt.c.cpp.77.example.0.dangerous": "Line 2: A declared class name is not complying with specified formats in class comments.",
  "rule.saqt.c.cpp.77.example.0.safe": "Line 2: Modify the declared class name to comply with the specified formats in class comments.",
  "rule.saqt.c.cpp.77.name": "Violation of format of comments for class",
  "rule.saqt.c.cpp.77.option.ClassComment.description": "Define the class comment template.",
  "rule.saqt.c.cpp.77.option.ClassComment.name": "Class comment template",
  "rule.saqt.c.cpp.78.description": "The Violation of format of function comments checker finds function comments that violate their format.\nThe checker validates comments on function declarations for their compliance with the specified format. Additionally, if a comment contains a function's name and return type, its arguments' names and types, and how many they are, the checker checks whether the contained values are correct.\nWrite function comments in accordance with the specified format.",
  "rule.saqt.c.cpp.78.example.0.dangerous": "Line 5: Information about the second parameter is not written as specified in comments.\nLine 6: Return type of a function is not written as specified in comments.",
  "rule.saqt.c.cpp.78.example.0.safe": "Line 5: Information about the second parameter is written as specified in comments.\nLine 6: Return type of a function is written as specified in comments.",
  "rule.saqt.c.cpp.78.name": "Violation of format of function comments",
  "rule.saqt.c.cpp.78.option.FunctionComment.description": "Define the function comment template.",
  "rule.saqt.c.cpp.78.option.FunctionComment.name": "Function comment template",
  "rule.saqt.c.cpp.79.description": "The Violation of format of comments for field checker finds field variable comments that violate their format.\nThe checker validates comments on field declarations for their compliance with the specified format. Additionally, if a comment contains a field's name and type, the checker checks whether the contained values are correct.\nWrite field variable comments in accordance with the specified format.",
  "rule.saqt.c.cpp.79.example.0.dangerous": "Line 2: Type of field variable is not written as specified in comments.",
  "rule.saqt.c.cpp.79.example.0.safe": "Line 2: Type of field variable is written as specified in comments.",
  "rule.saqt.c.cpp.79.name": "Violation of format of comments for field",
  "rule.saqt.c.cpp.79.option.FieldComment.description": "Define field comment template.",
  "rule.saqt.c.cpp.79.option.FieldComment.name": "Field comment template",
  "rule.saqt.c.cpp.79.option.field_position.description": "Write a field variable comment position which will be checked.<br />Example) both",
  "rule.saqt.c.cpp.79.option.field_position.name": "A position of field variable comment",
  "rule.saqt.c.cpp.79.option.global_position.description": "Write a global variable comment position which will be checked.<br />Example) both",
  "rule.saqt.c.cpp.79.option.global_position.name": "A position of global variable comment",
  "rule.saqt.c.cpp.79.option.is_check_not_exist_comment.description": "If selected, whether to check non-existing comments will be decided.<br />Example) true",
  "rule.saqt.c.cpp.79.option.is_check_not_exist_comment.name": "Check non-existing variables",
  "rule.saqt.c.cpp.79.option.local_position.description": "Write a local variable comment position which will be checked.<br />Example) both",
  "rule.saqt.c.cpp.79.option.local_position.name": "A position of local variable comment",
  "rule.saqt.c.cpp.79.option.variable_kind_field.description": "If selected, whether it is a field variable will be checked.<br />Example) true",
  "rule.saqt.c.cpp.79.option.variable_kind_field.name": "Check field variables",
  "rule.saqt.c.cpp.79.option.variable_kind_global.description": "If selected, whether it is a global variable will be checked.<br />Example) true",
  "rule.saqt.c.cpp.79.option.variable_kind_global.name": "Check global variables",
  "rule.saqt.c.cpp.79.option.variable_kind_local.description": "Write a field variable comment position which will be checked.<br />Example) both",
  "rule.saqt.c.cpp.79.option.variable_kind_local.name": "Check local variables",
  "rule.saqt.c.cpp.81.description": "The Violation of format of comments for file checker finds file comments that violate their format.\nThe checker validates each file's first comment for its compliance with the specified format.\nWrite file comments in accordance with the specified format.",
  "rule.saqt.c.cpp.81.example.0.dangerous": "Line 1: File comments are not complying with specified format (/*).",
  "rule.saqt.c.cpp.81.example.0.safe": "Line 1: Conform the specified comment format.",
  "rule.saqt.c.cpp.81.name": "Violation of format of comments for file",
  "rule.saqt.c.cpp.81.option.FileComment.description": "Define the file comment template.",
  "rule.saqt.c.cpp.81.option.FileComment.name": "File comment template",
  "rule.saqt.c.cpp.81.option.comment_number.description": "Write the number of file comment. <br />Example) 2",
  "rule.saqt.c.cpp.81.option.comment_number.name": "The number of file comment",
  "rule.saqt.c.cpp.88.description": "The Violation of naming rule for variable checker finds instances of violating the optionally specified variable name formats.\nYou can optionally enable or disable checking global variables, local variables, parameters, and loop variables, and specify allowed or forbidden variable name formats.\nName variables in accordance with the optionally specified formats.",
  "rule.saqt.c.cpp.88.example.0.dangerous": "Line 2: A variable name starts with a dot, which violates specified formats.",
  "rule.saqt.c.cpp.88.example.0.safe": "Line 2: Rename the variable to one of the specified formats.",
  "rule.saqt.c.cpp.88.name": "Violation of naming rule for variable",
  "rule.saqt.c.cpp.88.option.scope_target_global.description": "If the option is enabled, global variables will be checked.",
  "rule.saqt.c.cpp.88.option.scope_target_global.name": "Check global variable",
  "rule.saqt.c.cpp.88.option.scope_target_local.description": "If the option is enabled, local variables will be checked.",
  "rule.saqt.c.cpp.88.option.scope_target_local.name": "Check local variable",
  "rule.saqt.c.cpp.88.option.scope_target_loop.description": "If the option is enabled, loop variables will be checked.",
  "rule.saqt.c.cpp.88.option.scope_target_loop.name": "Check loop variable",
  "rule.saqt.c.cpp.88.option.scope_target_member.description": "If selected, member variables will be checked.",
  "rule.saqt.c.cpp.88.option.scope_target_member.name": "Check member variable",
  "rule.saqt.c.cpp.88.option.scope_target_parameter.description": "If selected, parameters will be checked.",
  "rule.saqt.c.cpp.88.option.scope_target_parameter.name": "Check parameter",
  "rule.saqt.c.cpp.88.option.variable_should_be_name.description": "Write an expression of the variable name to allow.<br/>Example) [a-zA-Z0-9_]*",
  "rule.saqt.c.cpp.88.option.variable_should_be_name.name": "Name of the variable to allow",
  "rule.saqt.c.cpp.88.option.variable_should_not_be_name.description": "Write an expression of the variable name to be forbid.<br/>Example) forbidden",
  "rule.saqt.c.cpp.88.option.variable_should_not_be_name.name": "Name of the variable to forbid",
  "rule.saqt.c.cs.2423.description": "The Empty Interface checker finds empty interfaces.\nIf you want a marker interface, use a custom attribute instead.",
  "rule.saqt.c.cs.2423.example.0.dangerous": "Line 5: An empty interface is used.",
  "rule.saqt.c.cs.2423.example.0.safe": "Line 5: Do not use the empty interface.",
  "rule.saqt.c.cs.2423.name": "Empty Interface",
  "rule.saqt.c.cs.2424.description": "The Mutable Type in Struct checker finds structs that include mutable members.\nIf a struct member is defined as a mutable type such as StringBuilder, getters will return a copy of it but programmers may not be aware of this.\nDo not define a struct member as a mutable type.",
  "rule.saqt.c.cs.2424.example.0.dangerous": "Line 5: If a struct member is defined as a mutable type such as StringBuilder, getters will return a copy of it but programmers may not be aware of this.",
  "rule.saqt.c.cs.2424.example.0.safe": "Line 5: Use a default or immutable type.",
  "rule.saqt.c.cs.2424.name": "Mutable Type in Struct",
  "rule.saqt.c.cs.2424.option.forbidden_type.description": "Write the name of the forbidden class type.",
  "rule.saqt.c.cs.2424.option.forbidden_type.name": "Forbidden class types",
  "rule.saqt.c.cs.2425.description": "The Use of out Parameter checker finds code that uses an out parameter.\nIt is not recommended to use an out parameter in a public or protected method. When developing a library for general users, you should not expect them to be adept at handling out parameters.\nDo not use out parameters.",
  "rule.saqt.c.cs.2425.example.0.dangerous": "Line 8: out parameter is used to BadMethod method.",
  "rule.saqt.c.cs.2425.example.0.safe": "Line 12: Instead of out parameter, use the return value. In case of returning multiple values, create another type or use collection such as tuple, list, etc.\nLine 15: If the out parameter is required, specify a private for the function modifier instead of public or protected.",
  "rule.saqt.c.cs.2425.name": "Use of out Parameter",
  "rule.saqt.c.cs.2426.description": "The Noncompliant Namespace Name checker finds a namespace starting with a lowercase.\nRename a namespace to start with an uppercase.",
  "rule.saqt.c.cs.2426.example.0.dangerous": "Line 3: A namespace starts with a lowercase.",
  "rule.saqt.c.cs.2426.example.0.safe": "Line 3: A namespace must start with an uppercase.",
  "rule.saqt.c.cs.2426.name": "Noncompliant Namespace Name",
  "rule.saqt.c.cs.2426.option.first_letter_pattern.description": "first letter pattern",
  "rule.saqt.c.cs.2426.option.first_letter_pattern.name": "first letter pattern",
  "rule.saqt.c.cs.2427.description": "The Violation of naming rule for parameter checker finds a parameter starting with an uppercase.\nRename a parameter to start with a lowercase.",
  "rule.saqt.c.cs.2427.example.0.dangerous": "Line 8: A parameter Reply starts with an uppercase.",
  "rule.saqt.c.cs.2427.example.0.safe": "Line 8: A parameter must start with a lowercase.",
  "rule.saqt.c.cs.2427.name": "Violation of naming rule for parameter",
  "rule.saqt.c.cs.2427.option.first_letter_pattern.description": "first letter pattern",
  "rule.saqt.c.cs.2427.option.first_letter_pattern.name": "first letter pattern",
  "rule.saqt.c.cs.2428.description": "The Noncompliant Local Variable Name checker finds a local variable starting with an uppercase.\nRename a local variable to start with a lowercase.",
  "rule.saqt.c.cs.2428.example.0.dangerous": "Line 10: A local variable LocalVar start with an uppercase.",
  "rule.saqt.c.cs.2428.example.0.safe": "Line 10: A local variable must start with a lowercase.",
  "rule.saqt.c.cs.2428.name": "Noncompliant Local Variable Name",
  "rule.saqt.c.cs.2428.option.first_letter_pattern.description": "first letter pattern",
  "rule.saqt.c.cs.2428.option.first_letter_pattern.name": "first letter pattern",
  "rule.saqt.c.cs.2431.description": "The Definition of Single Field Class checker finds classes that have a single field.\nIf only one single field is be declared, it is recommended to define a struct instead of a class.\nDefine a struct, instead of a class, as a container of a single field.",
  "rule.saqt.c.cs.2431.example.0.dangerous": "Line 3: If only one single field is be declared,",
  "rule.saqt.c.cs.2431.example.0.safe": "Line 3: It is recommended to define as a struct for the single value.",
  "rule.saqt.c.cs.2431.name": "Definition of Single Field Class",
  "rule.saqt.c.java.2040.description": "The Immediate Use of Integer Literal checker finds instances of directly using an integer literal other than -1, 0, and 1.\nBecause -1, 0, and 1 can be used as counter values in a for loop, they are excluded from checking.\nFor an integer literal other than those values, it is recommended to assign it to a variable and use the variable instead.",
  "rule.saqt.c.java.2040.example.0.dangerous": "Line 1: 30000 literal is directly used to code.",
  "rule.saqt.c.java.2040.example.0.safe": "Line 1: Store the literal to a variable to use.",
  "rule.saqt.c.java.2040.name": "Immediate Use of Integer Literal",
  "rule.saqt.c.java.2040.option.allowed_method.description": "Write FQN of allowed method as regex to get literal argument. <br />Example) .*String.substring",
  "rule.saqt.c.java.2040.option.allowed_method.name": "Allowed method",
  "rule.saqt.c.java.2040.option.except_for_loop_head.description": "Activate it to allow integer literal in head of for statement.",
  "rule.saqt.c.java.2040.option.except_for_loop_head.name": "Allow literal in head of for statement",
  "rule.saqt.c.java.2251.description": "The Throwing of Non-allowed Exception checker finds code that throws an exception object with a non-allowed type.\nYou can optionally specify a list of allowed exceptions.\nUse only those exception classes allowable according to your project's coding rule guidelines.",
  "rule.saqt.c.java.2251.example.0.dangerous": "Line 5: A forbidden type of exception is thrown.\nLine 7: A forbidden type of exception is thrown.",
  "rule.saqt.c.java.2251.example.0.safe": "Line 6: Use the allowed type of exception class only.",
  "rule.saqt.c.java.2251.name": "Throwing of Non-allowed Exception",
  "rule.saqt.c.java.2251.option.allowed_exceptions.description": "Write the <i>Exception</i> class names, containing package name, that are allowed to be thrown.",
  "rule.saqt.c.java.2251.option.allowed_exceptions.name": "Allowed Exception classes",
  "rule.saqt.c.java.2251.option.prohibited_exceptions.description": "Write the <i>Exception</i> class names, containing package name, that are prohibited to be thrown.",
  "rule.saqt.c.java.2251.option.prohibited_exceptions.name": "Prohibited exception class",
  "rule.saqt.c.java.2756.description": "The Too long line checker finds code lines that exceed the specified length.\nWrap the overlong lines at appropriate places for a better display of code on the screen.",
  "rule.saqt.c.java.2756.example.0.dangerous": "Line 2: When the line length is specified to 100 characters, you can enter a line up to 100 characters.\nLine 7: When the line length is specified to 100 characters, you cannot enter a line more than 100 characters.",
  "rule.saqt.c.java.2756.example.0.safe": "Line 7: Adjust line length by shortening a method name or breaking the line.",
  "rule.saqt.c.java.2756.name": "Too Long Line",
  "rule.saqt.c.java.2756.option.allow_excess_by_comment.description": "If the option is enabled, line length violations caused by trailing comments are allowed.",
  "rule.saqt.c.java.2756.option.allow_excess_by_comment.name": "Allow comment at the end of the line",
  "rule.saqt.c.java.2756.option.allowed_max_length.description": "Write maximum allowed line length in integer.",
  "rule.saqt.c.java.2756.option.allowed_max_length.name": "Maximum line length",
  "rule.saqt.c.java.2756.option.include_indent.description": "If selected, indentation white space character will be counted as the other characters.",
  "rule.saqt.c.java.2756.option.include_indent.name": "Include indent",
  "rule.saqt.c.java.2757.description": "The Violation of General Rule of Line-wrapping at Braces checker finds instances of violating a rule about where to break a line adjacent to a brace.\nYou can optionally specify rules of line-wrapping at braces specific to different statements. The default settings apply the rules generally accepted in Java.\nWhen wrapping a line at a brace, comply with the rules.",
  "rule.saqt.c.java.2757.example.0.dangerous": "Line 6: Break the line after an open brace of else block.\nLine 7: A whitespace can be entered after a open brace of for statements. However, a comment cannot.\nLine 9: A whitespace can be entered before a close brace of for statements. However, a comment cannot.",
  "rule.saqt.c.java.2757.example.0.safe": "Line 5: Break the line after an open brace.\nLine 8: Do not use a comment, just break the line after an open brace.\nLine 11: Do not append a comment before a close brace. Put a comment on another line, if needed.",
  "rule.saqt.c.java.2757.name": "Violation of General Rule of Line-wrapping at Braces",
  "rule.saqt.c.java.2757.option.allow_after_open_level_ctrl.description": "For each kind, 0 allows any character, 1 allows comments and whitepaces, 2 allows only whitespaces, and 3 force immediate newline after open brace.",
  "rule.saqt.c.java.2757.option.allow_after_open_level_ctrl.name": "Allowed character levels for each controls",
  "rule.saqt.c.java.2757.option.allow_after_open_level_decl.description": "For each kind, 0 allows any character, 1 allows comments and whitepaces, 2 allows only whitespaces, and 3 force immediate newline after open brace.",
  "rule.saqt.c.java.2757.option.allow_after_open_level_decl.name": "Allowed character levels for each declarations",
  "rule.saqt.c.java.2757.option.allow_close_without_newline_ctrl.description": "You can write if, else, for, while, do, switch, try, catch, finally, and synchronized.",
  "rule.saqt.c.java.2757.option.allow_close_without_newline_ctrl.name": "Controls that don't need newline before close brace",
  "rule.saqt.c.java.2757.option.allow_close_without_newline_decl.description": "You can write class, interface, enum, method, static, annotation, and array.",
  "rule.saqt.c.java.2757.option.allow_close_without_newline_decl.name": "Delcarations that don't need newline before close brace",
  "rule.saqt.c.java.2757.option.check_ctrl_exception.description": "You can write if, else, for, while, do, switch, try, catch, finally, and synchronized.",
  "rule.saqt.c.java.2757.option.check_ctrl_exception.name": "Controls that need not to be checked",
  "rule.saqt.c.java.2757.option.check_decl_exception.description": "You can write class, interface, enum, method, static, annotation, and array.",
  "rule.saqt.c.java.2757.option.check_decl_exception.name": "Delcarations that need not to be checked",
  "rule.saqt.c.java.2757.option.new_line_after_ctrl.description": "You can write if, else, for, while, do, switch, try, catch, finally, and synchronized.",
  "rule.saqt.c.java.2757.option.new_line_after_ctrl.name": "Controls that need newline before open brace",
  "rule.saqt.c.java.2757.option.new_line_after_decl.description": "You can write class, interface, enum, method, static, annotation, and array.",
  "rule.saqt.c.java.2757.option.new_line_after_decl.name": "Declarations that need newline before open brace",
  "rule.saqt.c.java.2758.description": "The Single-variable Expression checker finds if statements that include only a single boolean variable in the condition section.\nThe checker reports a defect when an if statement's condition expression consists of only a single variable or a single variable preceded by the ! operator that inverts it.It, however, does not detect condition expressions that include a binary logical operation using && or ||.\nWhen a boolean variable is used as a branching condition, comparing it to true or false helps make the code better readable.",
  "rule.saqt.c.java.2758.example.0.dangerous": "Line 1: A boolean variable is directly used in condition statements.\nLine 2: A boolean variable is used in condition statements with ! operation.\nLine 5: A boolean variable is used in condition statements with ! operation.\nLine 7: Boolean variables will be accepted due to binary operation, which is not found in this checker.",
  "rule.saqt.c.java.2758.example.0.safe": "Line 1: Explicitly compare with true or false to clarify its meaning.\nLine 2: Explicitly compare with true or false to clarify its meaning.\nLine 5: Explicitly compare with true or false to clarify its meaning.",
  "rule.saqt.c.java.2758.name": "Single-variable Expression in Condition",
  "rule.saqt.c.java.2759.description": "The Missing ELSE clause checker finds if statements that do not contain an else clause.\nInclude at least an empty else block even if there is nothing to do in the else branch.",
  "rule.saqt.c.java.2759.example.0.dangerous": "Line 2: An if statement is used without an else block.",
  "rule.saqt.c.java.2759.example.0.safe": "Line 4: Use an else block for the if statement. If you have no specific action for the else, an empty else block can be an option.",
  "rule.saqt.c.java.2759.name": "Missing ELSE clause",
  "rule.saqt.c.java.2760.description": "The Modifiers in Wrong Order checker finds instances in which multiple modifiers are applied in an incorrect order.\nYou can optionally specify the order of modifiers.\nArrange modifiers in the correct order.",
  "rule.saqt.c.java.2760.example.0.dangerous": "Line 1: Put 'public' before 'static final', and put 'static' before 'final' as specified in a default setting.\nLine 3: Put 'public' before 'synchronized final', and put 'final' before 'synchronized'.\nLine 8: Put 'final' before 'native', and put 'public' before 'native final'.\nLine 9: Put 'public' before 'final native'.",
  "rule.saqt.c.java.2760.example.0.safe": "Line 1: Put the modifier as specified rules.\nLine 4: Put the modifier as specified rules.\nLine 8: Put the modifier as specified rules.\nLine 9: Put the modifier as specified rules.",
  "rule.saqt.c.java.2760.name": "Modifiers in Wrong Order",
  "rule.saqt.c.java.2760.option.modifier_order.description": "Write order of modifiers that should be compllied when multiple modiifers are used.",
  "rule.saqt.c.java.2760.option.modifier_order.name": "Modifier order",
  "rule.saqt.c.java.2761.description": "The Compound Statement without Braces checker finds compound statements that do not contain curly braces.\nYou can optionally specify types of compound statements that must use braces.\nWhen writing a statement of a specified type, be sure to use braces even if it is a single-line statement.",
  "rule.saqt.c.java.2761.example.0.dangerous": "Line 1: Braces are not used in true branch of if statements.\nLine 5: Braces are not used in else branch.\nLine 7: Braces are not used in true branch of if statements.\nLine 8: Braces are not used in else branch.\nLine 10: Braces are not used in for statement.\nLine 12: Braces are not used in do statement.\nLine 17: Braces are not found for a case statement as specified in an option.\nLine 22: Braces are not used in case statement.\nLine 24: Braces are not used in case statement.\nLine 27: Braces are not used in case statement.",
  "rule.saqt.c.java.2761.example.0.safe": "Line 1: Use braces in all compound statements as specified options.\nLine 4: Use braces in all compound statements as specified options.\nLine 6: Use braces in all compound statements as specified options.\nLine 10: Use braces in all compound statements as specified options.\nLine 12: Use braces in all compound statements as specified options.\nLine 16: Use braces in all compound statements as specified options.\nLine 22: Use braces in all compound statements as specified options.\nLine 26: Use braces in all compound statements as specified options.\nLine 32: Use braces in all compound statements as specified options.\nLine 35: Use braces in all compound statements as specified options.\nLine 38: Use braces in all compound statements as specified options.",
  "rule.saqt.c.java.2761.name": "Compound Statement without Braces",
  "rule.saqt.c.java.2761.option.check_case.description": "If selected, check whether each case code block of switch statement is wrapped with curly-brace.",
  "rule.saqt.c.java.2761.option.check_case.name": "Check brace of each case code blocks in switch statement",
  "rule.saqt.c.java.2761.option.check_do.description": "If selected, check whether loop body of do-while statement is wrapped with curly-brace.",
  "rule.saqt.c.java.2761.option.check_do.name": "Check brace of do-while statement loop body",
  "rule.saqt.c.java.2761.option.check_else.description": "If the option is enabled, it checks whether the statement in a false if clause is enclosed in braces.",
  "rule.saqt.c.java.2761.option.check_else.name": "Check brace of false branch of if statement",
  "rule.saqt.c.java.2761.option.check_for.description": "If the option is enabled, it checks whether loop body of for statement is wrapped with curly-brace.",
  "rule.saqt.c.java.2761.option.check_for.name": "Check brace of for statement loop body",
  "rule.saqt.c.java.2761.option.check_if.description": "If the option is enabled, it checks whether the statement in a true if clause is enclosed in braces.",
  "rule.saqt.c.java.2761.option.check_if.name": "Check brace of true branch of if statement",
  "rule.saqt.c.java.2761.option.check_while.description": "If the option is enabled, check whether loop body of while statement is wrapped with curly-brace.",
  "rule.saqt.c.java.2761.option.check_while.name": "Check brace of while statement loop body",
  "rule.saqt.c.java.2762.description": "The Too Wide Live Range of Variable checker finds instances in which a local variable is declared much earlier than its actual use and thus stays live in a broad range.\nDeclare local variables right before their use to reduce their live ranges as much as possible.",
  "rule.saqt.c.java.2762.example.0.dangerous": "Line 1: No x declaration is needed: it will be used at the end.\nLine 2: a is consecutively declared before b and p1, and used the following if statements. This is not detected as declarations are considered as a set with b.\nLine 3: Likewise, b is consecutively declared before p1, and used the following if statements. This is not detected as declarations are considered as a set with p1.",
  "rule.saqt.c.java.2762.example.0.safe": "Line 4: Move to the closest when a variable used.\nLine 7: Move to the closest when a variable used.\nLine 11: Move to the closest when a variable used.",
  "rule.saqt.c.java.2762.name": "Too Wide Live Range of Variable",
  "rule.saqt.c.java.2762.option.allow_decl_seq.description": "If selected, sequence of variable declarations is treated as single statement",
  "rule.saqt.c.java.2762.option.allow_decl_seq.name": "Sequence of variable declarations as single statement",
  "rule.saqt.c.java.2973.description": "The Unused Default in Switch checker finds code that fails to use a default in switch statements.\nYou cannot prepare for unexpected actions without the default in the switch statements. \nPlease use the Default in the switch statements.",
  "rule.saqt.c.java.2973.example.0.dangerous": "Line 4: No default statement is found in switch statements.\nLine 14: No default statement is found in switch statements.",
  "rule.saqt.c.java.2973.example.0.safe": "Line 8: A default statement is found in switch statements.\nLine 17: A default statement is found in switch statements.",
  "rule.saqt.c.java.2973.name": "Unused Default in Switch",
  "rule.saqt.c.java.2977.description": "The Misuse of Return in if-else Statement checker finds code that contains a return only in if-else statements.\nYou don't need to use if-else statements for a single return statement.\nPlease replace the conditions with a ternary or just return its value to save unnecessary lines.",
  "rule.saqt.c.java.2977.example.0.dangerous": "Line 4: A single return statement is found in an if.\nLine 6: A single return statement is found in an else.\nLine 11: A single return statement is found in an if.\nLine 13: A single return statement is found in an else.",
  "rule.saqt.c.java.2977.example.0.safe": "Line 2: Remove the unnecessary if statement.\nLine 6: Replace the if statement with a ternary.",
  "rule.saqt.c.java.2977.name": "Misuse of Return in if-else Statement",
  "rule.saqt.c.java.2983.description": "The Empty while Statement checker finds while statements that contains no body code.\nIf the while contains no executable statement, please do not add compounds by using braces.\nDo not use the braces in an empty while statement.",
  "rule.saqt.c.java.2983.example.0.dangerous": "Line 2: Braces is used without an executable statement in while.",
  "rule.saqt.c.java.2983.example.0.safe": "Line 2: Do not use the braces in an empty while statement.",
  "rule.saqt.c.java.2983.name": "Empty while Statement",
  "rule.saqt.c.java.2986.description": "The Violation of Documentation Comment Format checker finds documentation comments that violate their format.\nA documentation comment must be indented to the same level as the code that follows, and preceded by a blank line to set it apart from the rest of the code.\nWrite documentation comments in compliance with the format.",
  "rule.saqt.c.java.2986.example.0.dangerous": "Line 2: No empty line is found between documentation comments and source code above.",
  "rule.saqt.c.java.2986.example.0.safe": "Line 3: Put an empty line before the documentation comments as specified.",
  "rule.saqt.c.java.2986.name": "Violation of Documentation Comment Format",
  "rule.saqt.c.java.2987.description": "The Violation of rule for white space around If keyword checker finds code that fails to place a whitespace after a reserved keyword, such as if, or else if, to separate it from the following parenthesis.\nMake sure the specified reserved words are followed by a whitespace.",
  "rule.saqt.c.java.2987.example.0.dangerous": "Line 3: No whitespace is found after an if statement.\nLine 5: No whitespace is found after an else if statement.",
  "rule.saqt.c.java.2987.example.0.safe": "Line 3: Add a whitespace between an if statement and the following parenthesis.\nLine 5: Add a whitespace between an else if statement and the following parenthesis.",
  "rule.saqt.c.java.2987.name": "Violation of rule for white space around If keyword",
  "rule.saqt.c.java.2988.description": "The Violation of rule for white space around while keyword checker finds code that fails to place a whitespace after a reserved keyword, such as while, to separate it from the following parenthesis.\nMake sure the specified reserved words are followed by a whitespace.",
  "rule.saqt.c.java.2988.example.0.dangerous": "Line 3: No whitespace is found after a while statement.",
  "rule.saqt.c.java.2988.example.0.safe": "Line 3: Add a whitespace between a while statement and the following parenthesis.",
  "rule.saqt.c.java.2988.name": "Violation of rule for white space around while keyword",
  "rule.saqt.c.java.2989.description": "The Violation of rule for white space around for keyword checker finds code that fails to add a whitespace after a reserved keyword, such as for, to separate the keyword from the following parenthesis.\nMake sure the specified reserved words are followed by a whitespace.",
  "rule.saqt.c.java.2989.example.0.dangerous": "Line 3: No whitespace is found after a for statement.",
  "rule.saqt.c.java.2989.example.0.safe": "Line 3: Add a whitespace between an for statement and the following parenthesis.",
  "rule.saqt.c.java.2989.name": "Violation of rule for white space around for keyword",
  "rule.saqt.c.java.2990.description": "The Violation of rule for white space around do-while keyword checker finds code that fails to place a whitespace after a reserved keyword, such as do-while, to separate it from the following parenthesis.\nMake sure the specified reserved words are followed by a whitespace.",
  "rule.saqt.c.java.2990.example.0.dangerous": "Line 5: No whitespace is found after a while statement.",
  "rule.saqt.c.java.2990.example.0.safe": "Line 5: Add a whitespace between a while statement and the following parenthesis.",
  "rule.saqt.c.java.2990.name": "Violation of rule for white space around do-while keyword",
  "rule.saqt.c.java.2991.description": "The Violation of rule for white space around switch keyword checker finds code that fails to add a whitespace after a reserved keyword, such as switch, to separate the keyword from the following parenthesis.\nMake sure the specified reserved words are followed by a whitespace.",
  "rule.saqt.c.java.2991.example.0.dangerous": "Line 3: No whitespace is found after a switch statement.",
  "rule.saqt.c.java.2991.example.0.safe": "Line 3: Add a whitespace between a switch statement and the following parenthesis.",
  "rule.saqt.c.java.2991.name": "Violation of rule for white space around switch keyword",
  "rule.saqt.c.java.2992.description": "The Violation of rule for white space around try-catch keyword checker finds code that fails to add a whitespace after a reserved keyword, such as try-catch, to separate the keyword from the following parenthesis.\nMake sure the specified reserved words are followed by a whitespace.",
  "rule.saqt.c.java.2992.example.0.dangerous": "Line 3: No whitespace is found after a catch statement.",
  "rule.saqt.c.java.2992.example.0.safe": "Line 3: Add a whitespace between a catch statement and the following parenthesis.",
  "rule.saqt.c.java.2992.name": "Violation of rule for white space around try-catch keyword",
  "rule.saqt.c.java.2993.description": "The Misuse of Whitespace for Incremental/Decremental Operator checker finds a whitespace between an incremental or decremental operator and its operand.\nDo not put a whitespace between the incremental or decremental operator and its operand.\nAdd the operand right after the incremental or decremental operator.",
  "rule.saqt.c.java.2993.example.0.dangerous": "Line 3: A whitespace is found between an incremental operator and the operand.\nLine 4: A whitespace is found between an decremental operator and the operand.\nLine 5: A whitespace is found between an incremental operator and the operand.\nLine 6: A whitespace is found between an decremental operator and the operand.",
  "rule.saqt.c.java.2993.example.0.safe": "Line 3: Do not put a whitespace between the incremental operator and the operand.\nLine 4: Do not put a whitespace between the decremental operator and the operand.\nLine 5: Do not put a whitespace between the incremental operator and the operand.\nLine 6: Do not put a whitespace between the decremental operator and the operand.",
  "rule.saqt.c.java.2993.name": "Misuse of Whitespace for Incremental/Decremental Operator",
  "rule.saqt.c.java.2994.description": "The Violation of rule for white space around assert keyword checker finds code that fails to add a whitespace after a reserved keyword, such as assert, to separate the keyword from the following parenthesis.\nMake sure the specified reserved words are followed by a whitespace.",
  "rule.saqt.c.java.2994.example.0.dangerous": "Line 2: No whitespace is found after an assert statement.",
  "rule.saqt.c.java.2994.example.0.safe": "Line 2: Add a whitespace between an assert statement and the following parenthesis.",
  "rule.saqt.c.java.2994.name": "Violation of rule for white space around assert keyword",
  "rule.saqt.c.java.410.description": "The Violation of format of comments for class checker finds class comments that violate their format.\nYou can optionally specify possible comment format.\nWrite class comments in accordance with the specified format.",
  "rule.saqt.c.java.410.example.0.dangerous": "Line 9: This comment violates a specified format.",
  "rule.saqt.c.java.410.example.0.safe": "Line 1: Write comments in the specified format.",
  "rule.saqt.c.java.410.name": "Violation of format of comments for class",
  "rule.saqt.c.java.410.option.ClassComment.description": "Define the class comment template.",
  "rule.saqt.c.java.410.option.ClassComment.name": "Class comment template",
  "rule.saqt.c.java.411.description": "The Violation of format of comments for field checker finds field variable comments that violate their format.\nYou can optionally specify possible comment format.\nWrite class comments in accordance with the specified format.",
  "rule.saqt.c.java.411.example.0.dangerous": "Line 1: This comment violates a specified format.",
  "rule.saqt.c.java.411.example.0.safe": "Line 1: Write comments in the specified format.",
  "rule.saqt.c.java.411.name": "Violation of format of comments for field",
  "rule.saqt.c.java.411.option.FieldComment.description": "Define field comment template.",
  "rule.saqt.c.java.411.option.FieldComment.name": "Field comment template",
  "rule.saqt.c.java.411.option.field_position.description": "Write a field variable comment position which will be checked.<br />Example) both",
  "rule.saqt.c.java.411.option.field_position.name": "A position of field variable comment",
  "rule.saqt.c.java.411.option.global_position.description": "Write a global variable comment position which will be checked.<br />Example) both",
  "rule.saqt.c.java.411.option.global_position.name": "A position of global variable comment",
  "rule.saqt.c.java.411.option.is_check_not_exist_comment.description": "If selected, whether to check non-existing comments will be decided.<br />Example) true",
  "rule.saqt.c.java.411.option.is_check_not_exist_comment.name": "Check non-existing variables",
  "rule.saqt.c.java.411.option.local_position.description": "Write a local variable comment position which will be checked.<br />Example) both",
  "rule.saqt.c.java.411.option.local_position.name": "A position of local variable comment",
  "rule.saqt.c.java.411.option.variable_kind_field.description": "If selected, whether it is a field variable will be checked.<br />Example) true",
  "rule.saqt.c.java.411.option.variable_kind_field.name": "Check field variables",
  "rule.saqt.c.java.411.option.variable_kind_global.description": "If selected, whether it is a global variable will be checked.<br />Example) true",
  "rule.saqt.c.java.411.option.variable_kind_global.name": "Check global variables",
  "rule.saqt.c.java.411.option.variable_kind_local.description": "Write a field variable comment position which will be checked.<br />Example) both",
  "rule.saqt.c.java.411.option.variable_kind_local.name": "Check local variables",
  "rule.saqt.c.java.412.description": "The Violation of format of general comments checker finds general comments that violate their format.\nYou can optionally specify possible comment format.\nWrite general comments in accordance with the specified format.",
  "rule.saqt.c.java.412.example.0.dangerous": "Line 3: This comment violates a specified format.",
  "rule.saqt.c.java.412.example.0.safe": "Line 1: Write comments in the specified format.",
  "rule.saqt.c.java.412.name": "Violation of format of general comments",
  "rule.saqt.c.java.412.option.GeneralComment.description": "Define the general comment template.",
  "rule.saqt.c.java.412.option.GeneralComment.name": "General comment template",
  "rule.saqt.c.java.413.description": "The Violation of format of comments for method checker finds method comments that violate their format.\nYou can optionally specify possible comment format.\nWrite method comments in accordance with the specified format.",
  "rule.saqt.c.java.413.example.0.dangerous": "Line 1: This comment violates a specified format.",
  "rule.saqt.c.java.413.example.0.safe": "Line 1: Write comments in the specified format.",
  "rule.saqt.c.java.413.name": "Violation of format of comments for method",
  "rule.saqt.c.java.413.option.MethodComment.description": "Define the method comment template.",
  "rule.saqt.c.java.413.option.MethodComment.name": "Method comment template",
  "rule.saqt.c.java.413.option.exclude_method_prefix.description": "Excluding the method which is starting with option values.",
  "rule.saqt.c.java.413.option.exclude_method_prefix.name": "Exclude method prefix",
  "rule.saqt.c.java.413.option.exclude_package.description": "Write package name which is excluded.",
  "rule.saqt.c.java.413.option.exclude_package.name": "Exclude package for analyzing constructor",
  "rule.saqt.c.java.413.option.exclude_private.description": "Exclude private method from analyzing.<br/> example) If checked, \"private method\" would not a target to analyze.",
  "rule.saqt.c.java.413.option.exclude_private.name": "Exclude private method",
  "rule.saqt.c.java.414.description": "The Violation of format of comments for package checker finds package comments that violate their format.\nYou can optionally specify possible comment format.\nWrite method comments in accordance with the specified format.",
  "rule.saqt.c.java.414.example.0.dangerous": "Line 1: This comment violates a specified format.",
  "rule.saqt.c.java.414.example.0.safe": "Line 1: Write comments in the specified format.",
  "rule.saqt.c.java.414.name": "Violation of format of comments for package",
  "rule.saqt.c.java.414.option.PackageComment.description": "Define the package comment template.",
  "rule.saqt.c.java.414.option.PackageComment.name": "Package comment template",
  "rule.saqt.c.java.670.description": "The Violation of format of comments for file checker finds file comments that violate their format.\nYou can optionally specify possible comment format.\nWrite file comments in accordance with the specified format.",
  "rule.saqt.c.java.670.example.0.dangerous": "Line 1: This comment violates a specified format.",
  "rule.saqt.c.java.670.example.0.safe": "Line 1: Write comments in the specified format.",
  "rule.saqt.c.java.670.name": "Violation of format of comments for file",
  "rule.saqt.c.java.670.option.FileComment.name": "File comment template",
  "rule.saqt.c.java.670.option.comment_number.description": "Write the number of file comment. <br />Example) 2",
  "rule.saqt.c.java.670.option.comment_number.name": "The number of file comment",
  "rule.saqt.c.java.782.description": "The Special character used in name checker finds variables, methods, and classes that are named with a special character.\nYou can optionally specify allowable special characters.\nMake sure these names include only optionally allowed special characters, lowercase and uppercase alphabet letters, numbers, and underscores.",
  "rule.saqt.c.java.782.example.0.dangerous": "Line 2: A special character is used for a variable name.\nLine 3: A special character is used for a method name.\nLine 4: A special character is used for a class name.",
  "rule.saqt.c.java.782.example.0.safe": "Line 2: Remove the special character from the variable name.\nLine 3: Remove the special character from the method name.\nLine 4: Remove the special character from the class name.",
  "rule.saqt.c.java.782.name": "Special character used in name",
  "rule.saqt.c.java.782.option.allowed_special_char.description": "Write a special character which is allowed for names.<br />Example) _",
  "rule.saqt.c.java.782.option.allowed_special_char.name": "Special characters to allow",
  "rule.saqt.c.java.783.description": "The Too Long Name checker finds classes, methods, and variables that are declared with a name longer than the specified length.\nYou can optionally specify the maximum allowed length.\nDo not exceed the maximum allowed length.",
  "rule.saqt.c.java.783.example.0.dangerous": "Line 3: A variable name is too long.\nLine 5: A class name is too long.",
  "rule.saqt.c.java.783.example.0.safe": "Line 2: Use a name with a valid length.\nLine 3: Use a name with a valid length.\nLine 4: Use a name with a valid length.",
  "rule.saqt.c.java.783.name": "Too Long Name",
  "rule.saqt.c.java.783.option.max_class_name_length.description": "Write the maximum length of the class name.<br />Example) 20",
  "rule.saqt.c.java.783.option.max_class_name_length.name": "Maximum length of the class name",
  "rule.saqt.c.java.783.option.max_method_name_length.description": "Write the maximum length of the method name.<br />Example) 20",
  "rule.saqt.c.java.783.option.max_method_name_length.name": "Maximum length of the method name",
  "rule.saqt.c.java.783.option.max_var_name_length.description": "Write the maximum allowable length of variable names.<br />Example) 20",
  "rule.saqt.c.java.783.option.max_var_name_length.name": "Maximum length of the variable",
  "rule.saqt.c.java.784.description": "The Hardcoded number checker finds instances of using an integer or real number constant directly in a function argument or expression.\nA constant used more than once needs to be represented by a variable.",
  "rule.saqt.c.java.784.example.0.dangerous": "Line 10: A constant is used in an expression.",
  "rule.saqt.c.java.784.example.0.safe": "Line 2: Optionally specify the expression for final field variable declaration not to be found by the checker.",
  "rule.saqt.c.java.784.name": "Hardcoded number",
  "rule.saqt.c.java.784.option.exclude_final.description": "If selected, the number literal declared by final will not be detected.",
  "rule.saqt.c.java.784.option.exclude_final.name": "Exclude final declaration",
  "rule.saqt.c.java.784.option.exclude_for_init.description": "If selected, numbers used in initialization part for for statements will not be detected.",
  "rule.saqt.c.java.784.option.exclude_for_init.name": "Exclude for initialization statement",
  "rule.saqt.c.java.784.option.excluded_number_literal.description": "Write the number literal not to detect as an issue.<br />Example) 0",
  "rule.saqt.c.java.784.option.excluded_number_literal.name": "Number literals to exclude",
  "rule.saqt.c.java.785.description": "The Ambiguous order of priority of expressions checker finds expressions that are sized large enough but lack parentheses for prioritizing the constituent operations.\nWhen using a complicated expression, use parentheses to clarify the precedence of its constituent operations.",
  "rule.saqt.c.java.785.example.0.dangerous": "Line 3: A complicated expression is used without parentheses.",
  "rule.saqt.c.java.785.example.0.safe": "Line 3: Use parentheses to specify precedence.",
  "rule.saqt.c.java.785.name": "Ambiguous order of priority of expressions",
  "rule.saqt.c.java.785.option.min_num_of_expression.description": "Write the minimum number of expressions to be prioritized by parentheses.<br />Example) 3",
  "rule.saqt.c.java.785.option.min_num_of_expression.name": "Minimum number of expressions to be prioritized by parentheses",
  "rule.saqt.c.java.786.description": "The Too Complicated for Loop Control checker finds for loops whose initialization and increment statements include more than the allowed number of expressions.\nSimplify the initialization and increment statements of each for loop. If a complicated statement is necessary, you can consider replacing the for loop with a while loop that behaves likewise.",
  "rule.saqt.c.java.786.example.0.dangerous": "Line 5: Suppose that 1 expression is specified as maximum. 3 expressions have been used for initialization and increment.",
  "rule.saqt.c.java.786.example.0.safe": "Line 5: Simplify the initialization and increment statements for loop.",
  "rule.saqt.c.java.786.name": "Too Complicated for Loop Control",
  "rule.saqt.c.java.786.option.allowed_max_expression.description": "Write the maximum number of expressions to be allowed for initialization and update of a for statement.<br />Example) 2",
  "rule.saqt.c.java.786.option.allowed_max_expression.name": "Maximum number of expressions within a for statement",
  "rule.saqt.c.java.788.description": "The Missing tab space in declaration checker finds variable declarations in which the type and identifier are not separated by a tab.\nPut a separating tab between the type and identifier in accordance with the coding protocol.",
  "rule.saqt.c.java.788.example.0.dangerous": "Line 2: A whitespace is used instead of a tab between float and bField.\nLine 5: A whitespace is used instead of a tab between float and bLocal.",
  "rule.saqt.c.java.788.example.0.safe": "Line 2: Use a tab to delimit the type and the variable name.\nLine 4: Use a tab to delimit the type and the variable name.",
  "rule.saqt.c.java.788.name": "Missing tab space in declaration",
  "rule.saqt.c.java.788.option.tab_size.description": "Set the number of spaces for each tab.\nexample) 4",
  "rule.saqt.c.java.788.option.tab_size.name": "Tab size",
  "rule.saqt.c.java.790.description": "The Violation of naming rule for parameter checker finds parameter names that are not prefixed with the specified string.\nYou can optionally specify a necessary prefix.\nAdd the specified prefix to every parameter name.",
  "rule.saqt.c.java.790.example.0.dangerous": "Line 2: When a required prefix is item, parameter Param violates the specified rule.",
  "rule.saqt.c.java.790.example.0.safe": "Line 2: Use a name as specified.",
  "rule.saqt.c.java.790.name": "Violation of naming rule for parameter",
  "rule.saqt.c.java.790.option.parameter_prefix.description": "Write parameter prefixes.<br />Example) p",
  "rule.saqt.c.java.790.option.parameter_prefix.name": "Parameter prefix",
  "rule.saqt.c.java.791.description": "The Duplicate Name checker finds duplicate names between classes, methods, and variables.\nThe checker searches for a case where a class and a method have the same name, or a method and a variable have the same name.\nDifferentiate their names to prevent confusion.",
  "rule.saqt.c.java.791.example.0.dangerous": "Line 3: A method name is identical with variable name.",
  "rule.saqt.c.java.791.example.0.safe": "Line 3: Change the method name into identical one. ",
  "rule.saqt.c.java.791.name": "Duplicate Name",
  "rule.saqt.c.java.792.description": "The Violation of format of block comments checker finds block comments that violate their format.\nA block comment must be indented to the same level as the code it describes, and preceded by a blank line to set it apart from the rest of the code.\nWrite block comments in compliance with the format.",
  "rule.saqt.c.java.792.example.0.dangerous": "Line 2: No empty line is found between block comments and source code above.",
  "rule.saqt.c.java.792.example.0.safe": "Line 3: Put an empty line before the block comments as specified.",
  "rule.saqt.c.java.792.name": "Violation of format of block comments",
  "rule.saqt.c.java.793.description": "The Violation of format of single line comments checker finds single-line comments that violate their format.\nA single-line comment must be indented to the same level as the code that follows, and preceded by a blank line to set it apart from the rest of the code.\nWrite single-line comments in compliance with the format.",
  "rule.saqt.c.java.793.example.0.dangerous": "Line 2: No empty line is found between a single line comment and source code above.\nLine 4: No empty line is found between a single line comment and source code above.\nLine 7: Incorrect indentation.\nLine 11: Make an indentation on this line.",
  "rule.saqt.c.java.793.example.0.safe": "Line 3: Put an empty line before the single line comment as specified.\nLine 6: Put an empty line before the single line comment as specified.\nLine 9: An empty line can be added under the single line comment.\nLine 14: Indent as much as source code written around.",
  "rule.saqt.c.java.793.name": "Violation of format of single line comments",
  "rule.saqt.c.java.793.option.tab_space.description": "Set the number of spaces for each tab.",
  "rule.saqt.c.java.793.option.tab_space.name": "Tab size",
  "rule.saqt.c.java.794.description": "The Violation of format of comments after source code checker finds trailing comments that violate their format.\nA trailing comment must be separated by at least one whitespace from the source code it describes. If more than one short comment appears in a chunk of code, they should all be indented equally.\nWrite single-line comments in compliance with the format.",
  "rule.saqt.c.java.794.example.0.dangerous": "Line 3: A comment does not start where other comments do.\nLine 4: A whitespace is missing between source code and comments.",
  "rule.saqt.c.java.794.example.0.safe": "Line 2: Put a whitespace between source code and comments.\nLine 3: Indent comments with similar context to the same level.\nLine 4: Put a whitespace between source code and comments.",
  "rule.saqt.c.java.794.name": "Violation of format of comments after source code",
  "rule.saqt.c.java.795.description": "The Missing comment at end of block checker finds code that consequently uses multiple single-line comments in a block.\nWrite comments in compliance with the format.",
  "rule.saqt.c.java.795.example.0.dangerous": "Line 3: Single-line comments are consequently used.\nLine 12: Single-line comments are consequently used.",
  "rule.saqt.c.java.795.example.0.safe": "Line 3: Bind the single-line comments into block comments.\nLine 10: Do not use the single-line comment one after another.",
  "rule.saqt.c.java.795.name": "Missing comment at end of block",
  "rule.saqt.c.java.796.description": "The White space around unary operator checker finds instances in which a unary operator such as ++ or ? and its operand are separated by a whitespace.\nUse unary operators in compliance with the rules.",
  "rule.saqt.c.java.796.example.0.dangerous": "Line 3: A whitespace is found between operand var and operator ++.\nLine 4: A whitespace is found between operand var and operator --.",
  "rule.saqt.c.java.796.example.0.safe": "Line 3: Remove the unnecessary whitespace.\nLine 4: Remove the unnecessary whitespace.",
  "rule.saqt.c.java.796.name": "White space around unary operator",
  "rule.saqt.c.java.797.description": "The Unparenthesized Conditional Operation checker finds  ternary expressions in which the condition part before the ? operator is a binary expression but not enclosed in parentheses.\nTo avoid confusion, if the condition part is a binary expression, enclose the whole condition in parentheses; and if the whole ternary expression is used as an operand of another binary operation, enclose it all in parentheses.",
  "rule.saqt.c.java.797.example.0.dangerous": "Line 5: A binary operator > is used before a conditional operator ? .",
  "rule.saqt.c.java.797.example.0.safe": "Line 4: Enclose a conditional expression with parentheses, not to be confused.",
  "rule.saqt.c.java.797.name": "Unparenthesized Conditional Operation",
  "rule.saqt.c.java.798.description": "The Improper increment and decrement operators checker finds instances of using an increment or decrement operator together with another operator.\nPut each increment and decrement operation in a separate statement to avoid confusing the sequence of operations.",
  "rule.saqt.c.java.798.example.0.dangerous": "Line 5: A increasive / decresive operator and binary operator are used in a single statement.",
  "rule.saqt.c.java.798.example.0.safe": "Line 4: Devide these into several statments to clarify operating timing of the increasive / decreasive operator.",
  "rule.saqt.c.java.798.name": "Improper increment and decrement operators",
  "rule.saqt.c.java.799.description": "The Missing white space around binary operator checker finds instances in which a binary operator (except the . operator) and the preceding or following operand is not separated by a space.\nYou can optionally enable a check for the presence of spacing and further specify the number of spaces needed.\nMake sure each binary operator is surrounded by appropriate spaces in accordance with the rules.",
  "rule.saqt.c.java.799.example.0.dangerous": "Line 3: No whitespace is found between binary operators and their operands (x, y, z).",
  "rule.saqt.c.java.799.example.0.safe": "Line 3: Add a whitespace between each operator and its operands.",
  "rule.saqt.c.java.799.name": "Missing white space around binary operator",
  "rule.saqt.c.java.799.option.check_existence_only.description": "If selected, only whether there is whitespace will be checked.",
  "rule.saqt.c.java.799.option.check_existence_only.name": "Check if there is whitespace only",
  "rule.saqt.c.java.799.option.required_whitespaces.description": "Write the number of whitespaces required between the operator and operands.<br/>Example) 1",
  "rule.saqt.c.java.799.option.required_whitespaces.name": "Number of whitespaces required",
  "rule.saqt.c.java.801.description": "The Multiple Statements in Single Line checker finds instances in which multiple statements are placed in a single line.\nSeparate them in multiple lines so that each statement may be placed in a different line.",
  "rule.saqt.c.java.801.example.0.dangerous": "Line 3: Multiple statements is included in a single line.",
  "rule.saqt.c.java.801.example.0.safe": "Line 2: Put each statement to a single line.",
  "rule.saqt.c.java.801.name": "Multiple Statements in Single Line",
  "rule.saqt.c.java.802.description": "The Violation of indentation rule for block checker finds instances in which all lines in a block are not equally indented.\nAdjust the indentation so that the lines in each block may be started in the same column.",
  "rule.saqt.c.java.802.example.0.dangerous": "Line 4: Incorrect indentation.\nLine 7: Incorrect indentation.",
  "rule.saqt.c.java.802.example.0.safe": "Line 4: Indent as much as statements written around.\nLine 7: Indent as much as statements written around.",
  "rule.saqt.c.java.802.name": "Violation of indentation rule for block",
  "rule.saqt.c.java.802.option.check_alignment_block.description": "Check the indentation in the first line consistently is applied within the block.",
  "rule.saqt.c.java.802.option.check_alignment_block.name": "Check alignment",
  "rule.saqt.c.java.802.option.tab_space.description": "Set the number of spaces for each tab.",
  "rule.saqt.c.java.802.option.tab_space.name": "Tab size",
  "rule.saqt.c.java.802.option.target_block.description": "Write the blocks to detect. Blocks not written here will not be detected.",
  "rule.saqt.c.java.802.option.target_block.name": "Blocks to detect",
  "rule.saqt.c.java.802.option.white_space_number.description": "Set the indentation size in the block.",
  "rule.saqt.c.java.802.option.white_space_number.name": "Indentation Size",
  "rule.saqt.c.java.803.description": "The Missing package declaration checker finds a source file that does not include a package declaration at the top.\nMake sure every source file explicitly declares the package it belongs to.",
  "rule.saqt.c.java.803.example.0.dangerous": "Line 1: No package is declared.",
  "rule.saqt.c.java.803.example.0.safe": "Line 1: Explicitly declare the package.",
  "rule.saqt.c.java.803.name": "Missing package declaration",
  "rule.saqt.c.java.804.description": "The Missing parentheses in return statement checker finds code that returns not a single variable or value, but an unparenthesized expression.\nWhen you do not use the single variable or value for a return, please, enclose the return with parentheses.",
  "rule.saqt.c.java.804.example.0.dangerous": "Line 4: An expression is used for a return without parentheses.\nLine 6: An expression is used for a return without parentheses.",
  "rule.saqt.c.java.804.example.0.safe": "Line 4: Enclose the return value with parentheses.\nLine 6: Enclose the return value with parentheses.",
  "rule.saqt.c.java.804.name": "Missing parentheses in return statement",
  "rule.saqt.c.java.805.description": "The Missing curly brace in if statement checker finds instances in which branch blocks of an if statement are not enclosed in braces.\nEven if a branch spans a single line of code, enclose it in braces for consistency.",
  "rule.saqt.c.java.805.example.0.dangerous": "Line 4: A true branch of if statements is written without curly braces.",
  "rule.saqt.c.java.805.example.0.safe": "Line 3: Put the curly braces even on a single statement.",
  "rule.saqt.c.java.805.name": "Missing curly brace in if statement",
  "rule.saqt.c.java.806.description": "The Missing finally block checker finds try statements that do not include a finally block.\nMake sure every try statement includes a finally block.",
  "rule.saqt.c.java.806.example.0.dangerous": "Line 5: A finally block is missing at the end of try statements.",
  "rule.saqt.c.java.806.example.0.safe": "Line 6: Add the finally block to the try statements.",
  "rule.saqt.c.java.806.name": "Missing finally block",
  "rule.saqt.c.java.807.description": "The Violation of rule for white space in for statement checker finds for loops whose control statements are not separated by spaces.\nAdd a whitespace between each control statement.",
  "rule.saqt.c.java.807.example.0.dangerous": "Line 4: No whitespace is found between initialization, condition, and next expressions of the for statements.",
  "rule.saqt.c.java.807.example.0.safe": "Line 4: Put a whitespace between expressions of the for statements.",
  "rule.saqt.c.java.807.name": "Violation of rule for white space in for statement",
  "rule.saqt.c.java.808.description": "The Violation of rule for white space in casting checker finds instances in which a cast operator is not separated by a whitespace from the following operand.\nAdd a whitespace between a cast operator and the operand.",
  "rule.saqt.c.java.808.example.0.dangerous": "Line 4: No whitespace is found between a cast operator char and the operand num.",
  "rule.saqt.c.java.808.example.0.safe": "Line 4: Add a whitespace between a cast operator and the operand.",
  "rule.saqt.c.java.808.name": "Violation of rule for white space in casting",
  "rule.saqt.c.java.808.option.check_inner_space.description": "If the option is enabled, whitespaces within parentheses will be detected.",
  "rule.saqt.c.java.808.option.check_inner_space.name": "Check whitespaces within the parentheses",
  "rule.saqt.c.java.812.description": "The Violation of indentation rule for if statement checker finds if statements whose condition expression spans multiple lines but is not properly indented.\nWhen an if statement uses a multiline condition expression, the expression lines must be indented deeply enough to be distinguished from the following body block.",
  "rule.saqt.c.java.812.example.0.dangerous": "Line 4: If statements is using a multiline condition expression, but not being properly indented.",
  "rule.saqt.c.java.812.example.0.safe": "Line 4: Put the same indentation for the expression.",
  "rule.saqt.c.java.812.name": "Violation of indentation rule for if statement",
  "rule.saqt.c.java.812.option.spaces_for_tab.description": "Set the number of spaces for each tab.\nExample) 4",
  "rule.saqt.c.java.812.option.spaces_for_tab.name": "Tab size",
  "rule.saqt.c.java.813.description": "The Multiple Declarations in Single Line checker finds instances in which multiple declarations are placed in a single line.\nPlace each declaration in a different line so that they can be individually commented.",
  "rule.saqt.c.java.813.example.0.dangerous": "Line 2: All 4 variables are declared in a single line.",
  "rule.saqt.c.java.813.example.0.safe": "Line 2: Ensure all declaration to be performed in each line.",
  "rule.saqt.c.java.813.name": "Multiple Declarations in Single Line",
  "rule.saqt.c.java.814.description": "The Declaration at middle of block checker finds method definitions in which local variable declarations are not located at the top.\nYou can optionally exclude loop counter variables from checking.\nIn a method definition, all local variables need to be declared at the top of the block.",
  "rule.saqt.c.java.814.example.0.dangerous": "Line 5: A local variable is declared not at the start, but in the middle of a method.",
  "rule.saqt.c.java.814.example.0.safe": "Line 4: Move the declaration to the start of the method.",
  "rule.saqt.c.java.814.name": "Declaration at middle of block",
  "rule.saqt.c.java.814.option.exclude_loop_counter.description": "If selected, variables declared as loop index will not be detected.",
  "rule.saqt.c.java.814.option.exclude_loop_counter.name": "Exclude loop index variable",
  "rule.saqt.c.java.815.description": "The Violation of format of curly braces checker finds instances of failure to use braces in a class or method declaration in compliance with the format.\nThe open brace must put on the same line as the declaration, and the close brace must be indented as much as the line containing the open brace.",
  "rule.saqt.c.java.815.example.0.dangerous": "Line 3: An open brace is missing in method declaration.\nLine 10: Indentations differ between the close brace and method declaration of Line 7.",
  "rule.saqt.c.java.815.example.0.safe": "Line 3: Ensure an open brace of class or method declaration to be indented as much as its declaration header.\nLine 6: Indent a close brace as much as declaration.",
  "rule.saqt.c.java.815.name": "Violation of format of curly braces",
  "rule.saqt.c.java.816.description": "The Misformatted Array Declaration checker finds array declarations in which the type identifier is not followed by a pair of square brackets.\nAlthough it is possible to put brackets after the variable name instead, consistent formatting is recommended.\nFix the inconsistently formatted array declarations. Brackets should come after the type identifier instead of the variable name, and there should be no whitespace between the brackets.",
  "rule.saqt.c.java.816.example.0.dangerous": "Line 2: An array is declared by adding brackets to its variable name.",
  "rule.saqt.c.java.816.example.0.safe": "Line 2: Modify it by adding brackets to its type name.",
  "rule.saqt.c.java.816.name": "Misformatted Array Declaration",
  "rule.saqt.c.java.821.description": "The Unsynchronized public method checker finds instances in which a field is used in a method that is declared public but without the synchronized modifier.\nBe sure to use the synchronized modifier when declaring a public method that is to access a field.",
  "rule.saqt.c.java.821.example.0.dangerous": "Line 3: A field variable is accessed by a public method, but not specified with a synchronized modifier.",
  "rule.saqt.c.java.821.example.0.safe": "Line 3: Declare the method under specified condition as synchronized.",
  "rule.saqt.c.java.821.name": "Unsynchronized public method",
  "rule.saqt.c.java.822.description": "The Use of Synchronized Statement checker finds all synchronized statements.\nIt is recommended to use a synchronized method instead of a synchronized statement.",
  "rule.saqt.c.java.822.example.0.dangerous": "Line 4: A synchronized statement is used.",
  "rule.saqt.c.java.822.example.0.safe": "Line 3: Declare the method with code to be synced as synchronized.",
  "rule.saqt.c.java.822.name": "Use of Synchronized Statement",
  "rule.saqt.c.java.826.description": "The Missing curly brace in compound statement checker finds compound statements (control statements, class declarations, method declarations, etc.) that do not place the open brace on the beginning line.\nPlace the open brace on the beginning line without a preceding line break.\nDo not break the line before the open brace.",
  "rule.saqt.c.java.826.example.0.dangerous": "Line 2: An open brace is located at the next line of the start of class declaration.\nLine 4: An open brace is located at the next line of the start of method declaration.\nLine 7: An open brace is located at the next line of the start of for statements.",
  "rule.saqt.c.java.826.example.0.safe": "Line 2: Put an open brace at the start of class declaration.\nLine 3: Put an open brace at the start of method declaration.\nLine 5: Put an open brace at the start of for statement.",
  "rule.saqt.c.java.826.name": "Missing curly brace in compound statement",
  "rule.saqt.c.java.826.option.tab_space.description": "Set the number of spaces for each tab.",
  "rule.saqt.c.java.826.option.tab_space.name": "Tab size",
  "rule.saqt.c.java.827.description": "The Violation of naming rule for constant checker finds constants that are not named as per the naming rules.\nYou can optionally specify naming rules for constant fields, which are declared final.\nComply with the naming rules.",
  "rule.saqt.c.java.827.example.0.dangerous": "Line 2: Suppose that a constant name starts with an upper case, bad violates its specified rule.",
  "rule.saqt.c.java.827.example.0.safe": "Line 2: Fix the name as specified.",
  "rule.saqt.c.java.827.name": "Violation of naming rule for constant",
  "rule.saqt.c.java.827.option.name_pattern.description": "Write the rule of the constant name. <br /> Example) [A-Z].*",
  "rule.saqt.c.java.827.option.name_pattern.name": "Constant name pattern",
  "rule.saqt.c.java.828.description": "The Violation of naming rule for variable checker finds variables that are not named as per the naming rules.\nYou can optionally specify the variable naming rules. For example, a default option for the first rule is specified to \"!final\" and \"[a-z].*\", which indicates that a variable other than final must start with a lowercase. Also, a default option for the second rule is specified to \"public static final field\" and a long regex, which indicates that a public static final field must consist of uppercases, numbers, and underscores.\nComply with the naming rules.",
  "rule.saqt.c.java.828.example.0.dangerous": "Line 2: A variable name can start with a lowercase except variable final. Thus, BadName is an incorrect name.\nLine 4: A constant name of public static final field can use uppercases and underscore. Thus, stringConstant is an incorrect name.",
  "rule.saqt.c.java.828.example.0.safe": "Line 2: The variable name is fixed to start with a lowercase as specified in rules.\nLine 4: The variable name is fixed to include uppercases and underscores as specified in rules.",
  "rule.saqt.c.java.828.name": "Violation of naming rule for variable",
  "rule.saqt.c.java.828.option.name_rule_1.description": "Enter the variable condition as the first value and the regular expression pattern as the second value.\nExample) !final field (all field variable that non-final), [a-z].* (name starts with lower case letter)",
  "rule.saqt.c.java.828.option.name_rule_1.name": "Target variable condition and pattern",
  "rule.saqt.c.java.828.option.name_rule_2.description": "Enter the variable condition as the first value and the regular expression pattern as the second value. \nExample) public static final field (all public static final field constants), [A-Z][A-Z 0-9]+(_[A-Z 0-9]+)* (name starts with upper case letter and consists of upper case, digit, and underbar characters)",
  "rule.saqt.c.java.828.option.name_rule_2.name": "Target variable condition and pattern",
  "rule.saqt.c.java.828.option.name_rule_3.description": "Enter the variable condition as the first value and the regular expression pattern as the second value.\nExample) !final parameter (all method parameter variable that non-final), [a-z].* (name starts with lower case letter)",
  "rule.saqt.c.java.828.option.name_rule_3.name": "Target variable condition and pattern",
  "rule.saqt.c.java.828.option.name_rule_4.description": "Enter the variable condition as the first value and the regular expression pattern as the second value.\nExample) !final local (all method local variable that non-final), [a-z].* (name starts with lower case letter)",
  "rule.saqt.c.java.828.option.name_rule_4.name": "Target variable condition and pattern",
  "rule.saqt.c.java.828.option.name_rule_5.description": "Write target variable specifier condition for first value, and variable name regex pattern for second value.<br /> Example) !final field (all field variable that non-final), [a-z].* (name starts with lower case letter)",
  "rule.saqt.c.java.828.option.name_rule_5.name": "Target variable condition and pattern",
  "rule.saqt.c.java.829.description": "The Violation of naming rule for method checker finds methods that are not named as per the naming rules.\nYou can optionally specify the method naming rules.\nComply with the naming rules.",
  "rule.saqt.c.java.829.example.0.dangerous": "Line 2: A method name can start with a lowercase, and use a specified verb for the first word.",
  "rule.saqt.c.java.829.example.0.safe": "Line 3: The method name is fixed to start with a lowercase and one of specified words, i.e. set, as specified in rules.",
  "rule.saqt.c.java.829.name": "Violation of naming rule for method",
  "rule.saqt.c.java.829.option.check_first_word.description": "If selected, the first word of the method name will be checked whether it has been allowed.",
  "rule.saqt.c.java.829.option.check_first_word.name": "Check the first word of the method name",
  "rule.saqt.c.java.829.option.check_private_method.description": "When checked, the name of the private method is also checked.",
  "rule.saqt.c.java.829.option.check_private_method.name": "private method inspection",
  "rule.saqt.c.java.829.option.first_word.description": "Write verbs to use as the prefix of the method name.<br /> Example) do",
  "rule.saqt.c.java.829.option.first_word.name": "First word of the method name",
  "rule.saqt.c.java.829.option.name_pattern.description": "Write the rule of the method name. <br /> Example) [a-z].*",
  "rule.saqt.c.java.829.option.name_pattern.name": "Method name pattern",
  "rule.saqt.c.java.830.description": "The Violation of naming rule for class checker finds classes and interfaces that are not named as per the naming rules.\nYou can optionally specify initial letter rules for naming classes and interfaces.\nComply with the naming rules.",
  "rule.saqt.c.java.830.example.0.dangerous": "Line 1: A class name starts with a lowercase.",
  "rule.saqt.c.java.830.example.0.safe": "Line 1: Modify the class name to start with an upper case as specified.",
  "rule.saqt.c.java.830.name": "Violation of naming rule for class",
  "rule.saqt.c.java.830.option.first_letter_pattern.description": "Write the first character rule of the class or interface. <br /> Example) A-Z",
  "rule.saqt.c.java.830.option.first_letter_pattern.name": "First character pattern of the class or interface",
  "rule.saqt.c.java.831.description": "The Locking or unlocking in loop checker finds instances of calling a locking or unlocking method in a loop.\nYou can optionally add the names of locking/unlocking methods.\nDo not perform a lock or unlock in a loop.",
  "rule.saqt.c.java.831.example.0.dangerous": "Line 4: lock() method is called in a loop.\nLine 5: unlock() method is called in a loop.",
  "rule.saqt.c.java.831.example.0.safe": "Line 3: Move the lock() method call outside of the loop.\nLine 7: Move the unlock() method call outside of the loop.",
  "rule.saqt.c.java.831.name": "Locking or unlocking in loop",
  "rule.saqt.c.java.831.option.lock_or_unlock_functions.description": "Write the name of a method which plays a role of Lock or Unlock. <br /> Example) Lock",
  "rule.saqt.c.java.831.option.lock_or_unlock_functions.name": "Name of Lock or Unlock method",
  "rule.saqt.c.java.832.description": "The Reading stream in loop checker finds instances of calling the read() method on a stream in a loop.\nDo not read from a stream in a loop.",
  "rule.saqt.c.java.832.example.0.dangerous": "Line 6: A stream is read in a loop.",
  "rule.saqt.c.java.832.example.0.safe": "Line 5: Modify not to read the stream in the loop.",
  "rule.saqt.c.java.832.name": "Reading stream in loop",
  "rule.saqt.c.java.832.option.stream_list.description": "Write the name of the stream.<br /> Example) FileInputStream",
  "rule.saqt.c.java.832.option.stream_list.name": "Name of the stream",
  "rule.saqt.c.java.833.description": "The Missing blank line checker finds instances in which a blank line is missing where it is supposed to be present.\nThe checker reports for failure to put blank lines required for each code unit. Blank-line specifications specific to different code units are as follows: 1. Subsequent to class or interface declaration: 2 blank lines 2. Subsequent to package or import declaration: 1 blank line 3. Between methods: 1 blank line 4. Subsequent to variable declaration within method: 1 blank line\nAdd blank lines as per the rules.",
  "rule.saqt.c.java.833.example.0.dangerous": "Line 2: Two empty lines are included between import statements and class declaration.\nLine 8: No empty line is found between func() and setName() method.",
  "rule.saqt.c.java.833.example.0.safe": "Line 2: Put an empty line between import statement and class declaration.\nLine 8: Put an empty line between two methods.",
  "rule.saqt.c.java.833.name": "Missing blank line",
  "rule.saqt.c.java.834.description": "The Missing public class or interface checker finds source files in which a properly named public class or interface does not exist.\nAny non-public class or interface must be within a public class or interface. And the outermost public class's name must match the file name.",
  "rule.saqt.c.java.834.example.0.dangerous": "Line 1: Interface features cannot be used with private interfaces in its file.",
  "rule.saqt.c.java.834.example.0.safe": "Line 1: A public interface is declared with its file name.",
  "rule.saqt.c.java.834.name": "Missing public class or interface",
  "rule.saqt.c.java.836.description": "The Unhandled additional exceptions checker finds instances of accessing a database with no other exceptions handled than SQLException.\nSQLException must be handled but there are other possible exceptions as well.\nAdd catch blocks for other exceptions below the SQLException catch block.",
  "rule.saqt.c.java.836.example.0.dangerous": "Line 6: SQLException is handled. But other exceptions have not been ignored.",
  "rule.saqt.c.java.836.example.0.safe": "Line 14: Expand to handle exceptions other than SQLException.",
  "rule.saqt.c.java.836.name": "Unhandled additional exceptions",
  "rule.saqt.c.java.839.description": "The Violation of rule for white space in method call checker finds method calls in which whitespaces are not used as per the rules.\nYou can optionally adjust the rules.\nWrite calls to methods as per the rules.",
  "rule.saqt.c.java.839.example.0.dangerous": "Line 1: A whitespace is found between a method name and parenthesis.\nLine 2: A whitespace is found in parentheses of a call without arguments.\nLine 3: No whitespace is found at the end of a comma used for separating multiple arguments.",
  "rule.saqt.c.java.839.example.0.safe": "Line 1: Remove a whitespace between a method name and parenthesis.\nLine 2: Remove the whitespace in parentheses of a call without arguments.\nLine 3: Add a whitespace at the end of a comma used for separating multiple arguments.",
  "rule.saqt.c.java.839.name": "Violation of rule for white space in method call",
  "rule.saqt.c.java.839.option.check_empty_argument_whitespace.description": "If selected, whitespaces will be detected when there is no argument.",
  "rule.saqt.c.java.839.option.check_empty_argument_whitespace.name": "Do not allow whitespace when there is no argument",
  "rule.saqt.c.java.839.option.check_existence_only_for_inner_argument.description": "If the option is enabled, it checks only for the presence of whitespace, not the number of spaces.",
  "rule.saqt.c.java.839.option.check_existence_only_for_inner_argument.name": "Check only whether there is whitespace between arguments",
  "rule.saqt.c.java.839.option.check_existence_only_for_outer_argument.description": "If the option is enabled, it checks only for the presence of whitespace, not the number of spaces.",
  "rule.saqt.c.java.839.option.check_existence_only_for_outer_argument.name": "Check if there is any whitespace within the outermost parentheses.",
  "rule.saqt.c.java.839.option.check_inner_argument_whitespace.description": "If selected, whether there is any whitespace between arguments will be checked.",
  "rule.saqt.c.java.839.option.check_inner_argument_whitespace.name": "Check whitespaces between arguments",
  "rule.saqt.c.java.839.option.check_outer_argument_whitespace.description": "If selected, whether there is whitespace within the outermost will be checked upon function calling.",
  "rule.saqt.c.java.839.option.check_outer_argument_whitespace.name": "Check blank in the outermost parentheses.",
  "rule.saqt.c.java.839.option.check_preceding_whitespace_before_comma.description": "If the option is enabled, it checks whether there is whitespace before commas used to separate arguments.",
  "rule.saqt.c.java.839.option.check_preceding_whitespace_before_comma.name": "Check whitespaces before commas",
  "rule.saqt.c.java.839.option.check_whitespace_after_method.description": "If the option is enabled, it checks whitespaces followed method names in function calls.",
  "rule.saqt.c.java.839.option.check_whitespace_after_method.name": "Check whitespaces after a method",
  "rule.saqt.c.java.839.option.required_inner_argument_whitespaces.description": "Write the required number of whitespaces between the arguments.<br/>Example) 1",
  "rule.saqt.c.java.839.option.required_inner_argument_whitespaces.name": "Required number of whitespaces between arguments",
  "rule.saqt.c.java.839.option.required_outer_argument_whitespaces.description": "Write the required number of whitespaces within the outermost parentheses.<br/>Example) 1",
  "rule.saqt.c.java.839.option.required_outer_argument_whitespaces.name": "Required number of whitespaces within the outermost parentheses",
  "rule.saqt.c.java.840.description": "The Missing initialization of local variable checker finds local variables that are not initialized at declaration.\nAccording to the Java standards, an uninitialized local variable causes an error at compile time; thus, in Java, critical issues with uninitialized variables are mostly detected during compiling and rarely occur in production. Therefore, the rule to initialize all local variables at declaration is not always necessary but can be optionally taken if needed by your project.\nInitialize all local variables at their declaration.",
  "rule.saqt.c.java.840.example.0.dangerous": "Line 2: A local variable is declared without initialization.\nLine 3: A local variable is declared without initialization.\nLine 4: A local variable is declared without initialization.",
  "rule.saqt.c.java.840.example.0.safe": "Line 2: Initialize the local variable at its declaration.\nLine 3: Initialize the local variable at its declaration.\nLine 4: Initialize the local variable at its declaration.",
  "rule.saqt.c.java.840.name": "Missing initialization of local variable",
  "rule.saqt.c.java.840.option.excluded_variable.description": "Write the name of local variable to exclude from analysis.<br/>Example) excluded",
  "rule.saqt.c.java.840.option.excluded_variable.name": "Name of the local variable to exclude",
  "rule.saqt.c.java.840.option.target_variable.description": "Write the name of field to detect that is not initialized upon declaration.<br/>Example) local",
  "rule.saqt.c.java.840.option.target_variable.name": "Name of the target local variable",
  "rule.saqt.c.java.841.description": "The Immediate initialization of field checker finds fields that are initialized at declaration.\nFields must be initialized not at declaration but by a constructor.",
  "rule.saqt.c.java.841.example.0.dangerous": "Line 2: An initialized field variable is declared.\nLine 3: An initialized field variable is declared.\nLine 4: An initialized field variable is declared.",
  "rule.saqt.c.java.841.example.0.safe": "Line 2: Declare the field variable without initialization.\nLine 3: Declare the field variable without initialization.\nLine 4: Declare the field variable without initialization.",
  "rule.saqt.c.java.841.name": "Immediate initialization of field",
  "rule.saqt.c.java.841.option.exclude_final.description": "If selected, final field will not be checked.",
  "rule.saqt.c.java.841.option.exclude_final.name": "Exclude final field",
  "rule.saqt.c.java.841.option.exclude_static.description": "When enabled, fields declared as static are excluded from analysis.",
  "rule.saqt.c.java.841.option.exclude_static.name": "Exclude static fields",
  "rule.saqt.c.java.841.option.excluded_variable.description": "Write the fields to exclude from detection.<br/>Example) excluded",
  "rule.saqt.c.java.841.option.excluded_variable.name": "Name of the field to exclude",
  "rule.saqt.c.java.841.option.target_variable.description": "Write the name of the field to detect that is initialized upon declaration.<br/>Example) field",
  "rule.saqt.c.java.841.option.target_variable.name": "Name of the target field",
  "rule.saqt.c.java.842.description": "The Violation of rule for white space in parentheses checker finds instances of using parentheses not as per the spacing rules.\nThe checker performs checks about the following three rules:1) Inside a parenthesis must be a space. 2) Inside a parenthesis nested by another parenthesis must not be a space.3) If the contents in parentheses span multiple lines, the opening and closing parentheses must be at the same column. You can optionally enable or disable each of the rules above.\nInsert spaces around parentheses in accordance with the rules.",
  "rule.saqt.c.java.842.example.0.dangerous": "Line 1: A whitespace is not found right after an opening parenthesis.\nLine 2: A whitespace is found within the inner of nested parentheses.\nLine 5: An open and close parentheses are found at different columns of multi-lines.",
  "rule.saqt.c.java.842.example.0.safe": "Line 1: Add a whitespace right after an open parenthesis.\nLine 2: Do not put a whitespace within the inner of nested parentheses.\nLine 6: Put an open and close parentheses at the same column.",
  "rule.saqt.c.java.842.name": "Violation of rule for white space in parentheses",
  "rule.saqt.c.java.842.option.check_inner_blank.description": "If selected, whitespace within the inner parentheses will be detected.",
  "rule.saqt.c.java.842.option.check_inner_blank.name": "Do not allow whitespace within the inner parentheses",
  "rule.saqt.c.java.842.option.check_multiline_alignment.description": "If selected with the contents being on multiple lines, whether the opening and the closing parentheses are located at the same column and whether the closing parenthesis is at the first column of the line will be checked.",
  "rule.saqt.c.java.842.option.check_multiline_alignment.name": "Check Alignments of Parentheses",
  "rule.saqt.c.java.842.option.check_outer_blank.description": "If selected, whitespace in the outermost parentheses will be detected.",
  "rule.saqt.c.java.842.option.check_outer_blank.name": "Check blank in the outermost parentheses.",
  "rule.saqt.c.java.843.description": "The Violation of rule for white space around keyword checker finds instances in which a reserved word such as if, for, or while is not separated by a whitespace from the following parenthesis.\nMake sure the specified reserved words are followed by a space.",
  "rule.saqt.c.java.843.example.0.dangerous": "Line 2: No whitespace is found after an assert statement.",
  "rule.saqt.c.java.843.example.0.safe": "Line 2: Add a whitespace between an assert statement and the following parenthesis.",
  "rule.saqt.c.java.843.name": "Violation of rule for white space around keyword",
  "rule.saqt.c.java.852.description": "The Violation of rule of class organization checker finds class declarations in which the members are not declared in the correct order.\nA class's components that should be sequenced correctly include fields, inner classes, methods, constructors, and static initializers. You can optionally specify the sequence of their declarations.\nDeclare class members in the specified order.",
  "rule.saqt.c.java.852.example.0.dangerous": "Line 3: A generic method is declared before a constructor.",
  "rule.saqt.c.java.852.example.0.safe": "Line 3: Adjust that the constructor declaration comes first than the generic method.",
  "rule.saqt.c.java.852.name": "Violation of rule of class organization",
  "rule.saqt.c.java.852.option.class_element_priority.description": "Define priorities of each class element - 'field', 'innerclass', 'constructor', 'method' and 'initializer'. List the class elements from the highest priority separated them using semicolons. Unwritten class elements will be given the lowest priority.<br/>Example) field;innerclass;constructor;method;initializer",
  "rule.saqt.c.java.852.option.class_element_priority.name": "Priorities of class elements",
  "rule.saqt.c.java.853.description": "The Indentation at Beginning of Source Code checker finds instances in which source code does not begin at the first column.\nAvoid a whitespace at the beginning of source code. In most cases, Java source code should start with a package declaration using the package keyword.",
  "rule.saqt.c.java.853.example.0.dangerous": "Line 1: The first line is indented.",
  "rule.saqt.c.java.853.example.0.safe": "Line 1: Do not indent the first line.",
  "rule.saqt.c.java.853.name": "Indentation at Beginning of Source Code",
  "rule.saqt.c.java.854.description": "The Too long line checker finds code lines that span a longer length than the optionally specified value.\nWrap the overlong code lines.",
  "rule.saqt.c.java.854.example.0.dangerous": "Line 2: This line is too long.",
  "rule.saqt.c.java.854.example.0.safe": "Line 2: Put a newline, or rename values with shortened ones.",
  "rule.saqt.c.java.854.name": "Too long line",
  "rule.saqt.c.java.854.option.ignore_comment.description": "If selected, the comment length will not be counted.",
  "rule.saqt.c.java.854.option.ignore_comment.name": "Ignore comments",
  "rule.saqt.c.java.854.option.max_column.description": "Define max column in a line.",
  "rule.saqt.c.java.854.option.max_column.name": "Maximum column",
  "rule.saqt.c.java.855.description": "The Indentation of improper length checker finds lines that contain a tabbed indent.\nYou can adjust this restriction if you want to use tabs instead of spaces.\nUse spaces for indentation.",
  "rule.saqt.c.java.855.example.0.dangerous": "Line 2: This line is indented with tab key.",
  "rule.saqt.c.java.855.example.0.safe": "Line 2: Modify the indentation with whitespace key.",
  "rule.saqt.c.java.855.name": "Indentation of improper length",
  "rule.saqt.c.java.855.option.allowed_tab.description": "If selected, tab space will be allowed.",
  "rule.saqt.c.java.855.option.allowed_tab.name": "Allow tab",
  "rule.saqt.c.java.855.option.tab_number.description": "Set the number of tabs before the code.",
  "rule.saqt.c.java.855.option.tab_number.name": "Number of tabs",
  "rule.saqt.c.java.856.description": "The Violation of indentation rule for for statement checker finds for loops in which the control statements span multiple lines but are not properly indented.\nIf a for loop's control section should span multiple lines for some reason, the initialization, condition, and increment statements must all be indented to the same column. Also, an open and close parentheses must begin at the same column.",
  "rule.saqt.c.java.856.example.0.dangerous": "Line 2: This violates its indentation rule of for statements.",
  "rule.saqt.c.java.856.example.0.safe": "Line 3: Indent the newlined elements as same.\nLine 6: Indent the two parentheses as same.",
  "rule.saqt.c.java.856.name": "Violation of indentation rule for for statement",
  "rule.saqt.c.java.857.description": "The Violation of Method Declaration Rule checker finds method declarations that do not comply with the indentation and spacing rules.\nThere should be no whitespace between the method name and the parentheses enclosing the parameter list. If the parameter list is to span multiple lines, all the parameter lines must be indented equally. The separating commas should not be preceded by a space. If two or more parameters are listed in one line, each separating comma should be followed by at least one space.",
  "rule.saqt.c.java.857.example.0.dangerous": "Line 1: A whitespace is found between a method name and the following parenthesis of parameter.\nLine 2: An unnecessary whitespace is found in an empty parentheses of parameter.\nLine 3: Incorrect indentation is found for parameters in multiple lines.\nLine 6: Incorrect indentation is found for a close parenthesis.",
  "rule.saqt.c.java.857.example.0.safe": "Line 1: Do not put a whitespace between the method name and parentheses.\nLine 4: Indent the newlined parameter declarations as same.\nLine 6: Indent the close bracket as much as its open bracket.",
  "rule.saqt.c.java.857.name": "Violation of Method Declaration Rule",
  "rule.saqt.c.java.858.description": "The Violation of rule for white space around accessing operator checker finds instances in which an operator for accessing an object member and its operand are separated by a whitespace.\nThe checker performs checks on the array reference ([ ]) and object member reference (.) operators.\nDo not put a whitespace between an access operator and its operand.",
  "rule.saqt.c.java.858.example.0.dangerous": "Line 1: A whitespace is found between a member access operator and an object variable.\nLine 2: A whitespace is found between an array subscripting operator and an object variable.",
  "rule.saqt.c.java.858.example.0.safe": "Line 1: Remove the whitespace.\nLine 2: Remove the whitespace.",
  "rule.saqt.c.java.858.name": "Violation of rule for white space around accessing operator",
  "rule.saqt.c.java.858.option.check_array_subscriptor.description": "If selected, whitespaces around array subscriptors will be detected.",
  "rule.saqt.c.java.858.option.check_array_subscriptor.name": "Check array subscriptor",
  "rule.saqt.c.java.858.option.check_dot_operator.description": "If the option is enabled, whitespaces around dot operators will be detected.",
  "rule.saqt.c.java.858.option.check_dot_operator.name": "Check dot operator",
  "rule.saqt.c.java.859.description": "The Violation of Line-wrapping Rule checker finds multiline lists of expressions or arguments that line-wrap at an inappropriate place.\nYou can optionally specify indentation rules applied to continuation lines.\nWhen writing a statement across multiple lines, a line break must come before an operator or after a comma.",
  "rule.saqt.c.java.859.example.0.dangerous": "Line 2: A line break is coming before a comma.\nLine 4: A line break is coming after an operator.",
  "rule.saqt.c.java.859.example.0.safe": "Line 2: Put a newline after the comma.\nLine 4: Put a newline before the operator.",
  "rule.saqt.c.java.859.name": "Violation of Line-wrapping Rule",
  "rule.saqt.c.java.859.option.check_alignment.description": "If selected, line wrapping over different columns will be detected.",
  "rule.saqt.c.java.859.option.check_alignment.name": "Check line wrapping alignment",
  "rule.saqt.c.java.859.option.check_if_condition_alignment.description": "If the option is enabled, line wrappings in condition expression of If statement will be checked with the start of if statement.",
  "rule.saqt.c.java.859.option.check_if_condition_alignment.name": "Special check for line wrappings in condition expression of If statement.",
  "rule.saqt.c.java.859.option.tab_space.description": "Set the number of spaces for each tab.",
  "rule.saqt.c.java.859.option.tab_space.name": "Tab size",
  "rule.saqt.c.java.859.option.wrap_after_comma.description": "If the option is enabled, line wrappings after commas will be allowed.",
  "rule.saqt.c.java.859.option.wrap_after_comma.name": "Allow line wrappings after commas",
  "rule.saqt.c.java.859.option.wrap_after_operator.description": "If the option is enabled, line wrappings after operators will be allowed.",
  "rule.saqt.c.java.859.option.wrap_after_operator.name": "Allow line wrappings after operators",
  "rule.saqt.c.java.859.option.wrap_at_the_top_level.description": "If selected, line wrappings will be allowed only around the top level operator.",
  "rule.saqt.c.java.859.option.wrap_at_the_top_level.name": "Allow line wrappings only at the top level operator.",
  "rule.saqt.c.java.859.option.wrap_before_comma.description": "If the option is enabled, line wrappings before commas will be allowed.",
  "rule.saqt.c.java.859.option.wrap_before_comma.name": "Allow line wrappings before commas",
  "rule.saqt.c.java.859.option.wrap_before_operator.description": "If selected, line wrappings before operators will be allowed.",
  "rule.saqt.c.java.859.option.wrap_before_operator.name": "Allow line wrappings before operators",
  "rule.saqt.c.java.860.description": "The Violation of Line-wrapping Rule between import Statements checker finds instances of failure to insert a blank line between two import statements of different types.\nImport statements of similar types should be grouped without a blank line, and those of different types should be separated by a blank line.",
  "rule.saqt.c.java.860.example.0.dangerous": "Line 2: import statements of different depth groups as specified in option are paralleled on neighboring lines.\nLine 3: import statements of different depth groups as specified in option are paralleled on neighboring lines.",
  "rule.saqt.c.java.860.example.0.safe": "Line 2: Add an empty line.\nLine 4: Add an empty line.",
  "rule.saqt.c.java.860.name": "Violation of Line-wrapping Rule between import Statements",
  "rule.saqt.c.java.860.option.depth.description": "Set a depth for comparison in import statement. Example: Depth of 'java.io' is 2)",
  "rule.saqt.c.java.860.option.depth.name": "Set a depth for import statement.",
  "rule.saqt.c.java.860.option.order_list.description": "Write a allowed import statement list.",
  "rule.saqt.c.java.860.option.order_list.name": "List of import statement order.",
  "rule.saqt.c.java.861.description": "The Missing blank line between method blocks checker finds methods in which two different sections are not separated by a blank line.\nTo ensure code readability, adjacent sections in a method need to be separated by a blank line.",
  "rule.saqt.c.java.861.example.0.dangerous": "Line 5: A for block and if block are divided into different sections.",
  "rule.saqt.c.java.861.example.0.safe": "Line 5: Add an empty line.",
  "rule.saqt.c.java.861.name": "Missing blank line between method blocks",
  "rule.saqt.c.java.861.option.blank_line_number.description": "Set the number of blank lines between section.",
  "rule.saqt.c.java.861.option.blank_line_number.name": "Number of blank lines between sections",
  "rule.saqt.c.java.862.description": "The Type-import-on-demand Declaration checker finds import statements that use an asterisk (*).\nAvoid type-import-on-demand declarations, but list out all the individual classes and static members to import.",
  "rule.saqt.c.java.862.example.0.dangerous": "Line 1: An import on-demand statement is found.",
  "rule.saqt.c.java.862.example.0.safe": "Line 1: Explicitly import the desired class.",
  "rule.saqt.c.java.862.name": "Type-import-on-demand Declaration",
  "rule.saqt.c.java.863.description": "The Violation of indentation rule for class checker finds class declarations that do not comply with the indentation rules.\nYou can optionally adjust the rules.\nApply indentation as per the rules.",
  "rule.saqt.c.java.863.example.0.dangerous": "Line 2: Incorrect indentation in implements.",
  "rule.saqt.c.java.863.example.0.safe": "Line 2: Apply indentation as per the rules.",
  "rule.saqt.c.java.863.name": "Violation of indentation rule for class",
  "rule.saqt.c.java.863.option.max_implements_num.description": "Set the number of implements classes that can be declared on a single line.",
  "rule.saqt.c.java.863.option.max_implements_num.name": "The number of declared implements classes.",
  "rule.saqt.c.java.863.option.start_class_column.description": "Set the starting position (column) of class.",
  "rule.saqt.c.java.863.option.start_class_column.name": "Start position of class.",
  "rule.saqt.c.java.863.option.start_others_column.description": "Set indentation of implements or extends statement on the next line.",
  "rule.saqt.c.java.863.option.start_others_column.name": "Indentation of implements or extends",
  "rule.saqt.c.java.864.description": "The Violation of indentation rule for method checker finds method declarations that do not comply with the indentation rules.\nYou can optionally specify the indentation between classes and methods. A whitespace must be placed between declared methods.\nApply indentation as per the rules. A whitespace must be placed between declared methods.",
  "rule.saqt.c.java.864.example.0.dangerous": "Line 2: Incorrect indentation in method declaration.\nLine 4: A whitespace must be placed between methods.",
  "rule.saqt.c.java.864.example.0.safe": "Line 2: Apply indentation as per the rules.\nLine 4: Add a whitespace as specified rules.",
  "rule.saqt.c.java.864.name": "Violation of indentation rule for method",
  "rule.saqt.c.java.864.option.start_method_column.description": "Set the indentation between class and method declarations.",
  "rule.saqt.c.java.864.option.start_method_column.name": "Start position of method.",
  "rule.saqt.c.java.865.description": "The Violation of rule of field declaration checker finds classes in which the member fields are not declared in the specified order.\nA class's field types that should be sequenced correctly include constant, static, primitive, reference, public, protected, private, and package. You can optionally specify the sequence of their declarations.\nDeclare fields in the correct sequence as per the rules.",
  "rule.saqt.c.java.865.example.0.dangerous": "Line 3: A constant declaration is coming after the static field.",
  "rule.saqt.c.java.865.example.0.safe": "Line 3: Put the constant declaration before the static field.",
  "rule.saqt.c.java.865.name": "Violation of rule of field declaration",
  "rule.saqt.c.java.865.option.field_priority.description": "Write priorities for field variable types: 'constant', 'static', 'primitive' and 'reference'. Type of field variables should be written with the highest priority, separated by semicolons. Unwritten field types will be regarded as the lowest priority automatically.<br/>Example) constant;static;primitive;reference",
  "rule.saqt.c.java.865.option.field_priority.name": "Priorities for field variable types",
  "rule.saqt.c.java.866.description": "The Violation of indentation rule for field checker finds field declarations that do not comply with the indentation rules.\nField declarations must be appropriately indented in relative to the declaration of their class.\nApply indentation as per the rules.",
  "rule.saqt.c.java.866.example.0.dangerous": "Line 2: Incorrect indentation in field declaration.",
  "rule.saqt.c.java.866.example.0.safe": "Line 2: Apply indentation as per the rules.",
  "rule.saqt.c.java.866.name": "Violation of indentation rule for field",
  "rule.saqt.c.java.866.option.start_field_column.description": "Set the indentation between class and field declarations.",
  "rule.saqt.c.java.866.option.start_field_column.name": "Start position of field.",
  "rule.saqt.c.java.866.option.tab_space.description": "Set the number of spaces for each tab.",
  "rule.saqt.c.java.866.option.tab_space.name": "Tab size",
  "rule.saqt.c.java.867.description": "The Violation of Semicolon Spacing Rule checker finds semicolons that are preceded by a space.\nDo not put a whitespace before a semicolon.",
  "rule.saqt.c.java.867.example.0.dangerous": "Line 2: A whitespace is found before a semicolon.",
  "rule.saqt.c.java.867.example.0.safe": "Line 2: Remove the whitespace before the semicolon.",
  "rule.saqt.c.java.867.name": "Violation of Semicolon Spacing Rule",
  "rule.saqt.c.java.868.description": "The Violation of Variable Declaration Rule checker finds instances in which multiple variables are declared in series but these declarations are not properly arranged and grouped as per certain criteria.\nWhen multiple variables are declared, be sure that the declarations of similar variables of each type are placed consecutively in a group.",
  "rule.saqt.c.java.868.example.0.dangerous": "Line 4: A String variable is declared in the middle of int variable declaration.",
  "rule.saqt.c.java.868.example.0.safe": "Line 5: Arrange the variable declarations on their types.",
  "rule.saqt.c.java.868.name": "Violation of Variable Declaration Rule",
  "rule.saqt.c.java.869.description": "The Violation of rule of variable declaration in loop checker finds instances of declaring a for loop's counter variable inappropriately.\nIt violates the rules if a for loop counter variable is not declared in the initialization expression or declared with an optionally forbidden name. If not otherwise specified in the option, i, j, and k are considered forbidden names.\nWrite for loops as per the rules.",
  "rule.saqt.c.java.869.example.0.dangerous": "Line 2: A counter variable of for loop is declared from out of the loop.\nLine 4: A forbidden variable name i is used.",
  "rule.saqt.c.java.869.example.0.safe": "Line 2: Rename the counter variable within the for loop.",
  "rule.saqt.c.java.869.name": "Violation of rule of variable declaration in loop",
  "rule.saqt.c.java.869.option.prohibit_name_list.description": "Write a loop variable name to forbid within for statement.",
  "rule.saqt.c.java.869.option.prohibit_name_list.name": "Forbidden loop variable name within for statement",
  "rule.saqt.c.java.870.description": "The Use of integer type checker finds instances of using a forbidden integer type.\nAmong the integer types of char, byte, short, int, and long, only int and long are allowed by default.\nUse allowed types only.",
  "rule.saqt.c.java.870.example.0.dangerous": "Line 2: A char type forbidden in a default option is used.\nLine 3: A byte type forbidden in a default option is used.",
  "rule.saqt.c.java.870.example.0.safe": "Line 2: Use an allowed int type.\nLine 3: Use an allowed long type.",
  "rule.saqt.c.java.870.name": "Use of integer type",
  "rule.saqt.c.java.870.option.allowed_type.description": "Write integer types to allowed. Other integer types will be detected.",
  "rule.saqt.c.java.870.option.allowed_type.name": "List of integer types to allow",
  "rule.saqt.c.java.871.description": "The Use of float type Type checker finds instances of using a forbidden float type.\nAmong the float types of float, double, and BigDecimal, only BigDecimal is allowed by default.\nUse allowed types only.",
  "rule.saqt.c.java.871.example.0.dangerous": "Line 2: A float type forbidden in a default option is used.\nLine 3: A BigDecimal type forbidden in a default option is used.",
  "rule.saqt.c.java.871.example.0.safe": "Line 2: Use an allowed BigDecimal type.",
  "rule.saqt.c.java.871.name": "Use of float type",
  "rule.saqt.c.java.871.option.allowed_type.description": "Write float types to allow. Other float types will be detected.",
  "rule.saqt.c.java.871.option.allowed_type.name": "List of float types to allow",
  "rule.saqt.c.java.872.description": "The Violation of rule for white space in while statement checker finds a while loop in which a whitespace is not placed between its condition and the following open brace.\nA while condition and brace must be separated by a whitespace.\nAdd a whitespace as specified rules.",
  "rule.saqt.c.java.872.example.0.dangerous": "Line 1: No whitespace is found between its condition expression and the following open brace.",
  "rule.saqt.c.java.872.example.0.safe": "Line 1: Add a whitespace between the condition and following brace.",
  "rule.saqt.c.java.872.name": "Violation of rule for white space in while statement",
  "rule.saqt.c.java.873.description": "The Violation of indentation rule for do statement checker finds a do-while loop in which a whitespace is not placed between a brace and keyword.\nA whitespace needs to be placed between a brace and keyword in the do-while loop.\nWrite do statements as specified rules.",
  "rule.saqt.c.java.873.example.0.dangerous": "Line 1: No whitespace is found between an open brace and do keyword.\nLine 3: No whitespace is found between a close brace and while keyword.",
  "rule.saqt.c.java.873.example.0.safe": "Line 1: A whitespace is found between a brace and do keyword.\nLine 3: A whitespace is found between a brace and while keyword.",
  "rule.saqt.c.java.873.name": "Violation of indentation rule for do statement",
  "rule.saqt.c.java.874.description": "The Violation of rule for white space in if statement checker finds if statement in which spaces are not inserted appropriately.\nInsert appropriate spaces between the if keyword and the opening parenthesis, and between the condition expression and its enclosing parentheses.\nAdd a whitespace as specified rules.",
  "rule.saqt.c.java.874.example.0.dangerous": "Line 1: A whitespace is not found between an if keyword and open parenthesis.\nLine 2: A whitespace is not found between a parenthesis and condition expression.",
  "rule.saqt.c.java.874.example.0.safe": "Line 1: Add a whitespace between the if keyword and the open parenthesis, and between a parenthesis and condition expression.",
  "rule.saqt.c.java.874.name": "Violation of rule for white space in if statement",
  "rule.saqt.c.java.874.option.check_space_number.description": "Check whether there is whitespace or the number of whitespaces.",
  "rule.saqt.c.java.874.option.check_space_number.name": "Check the number of whitespaces",
  "rule.saqt.c.java.874.option.white_space_number.description": "Set the number of whitespaces between expression and parentheses within if statement.",
  "rule.saqt.c.java.874.option.white_space_number.name": "Set the number of whitespaces between expression and parentheses within if statement.",
  "rule.saqt.c.java.875.description": "The Violation of indentation rule for switch statement checker detects when the test expression and the first case block in a switch syntax are not in the correct position.\nThe switch keyword and the test expression must be on the same line, and there must be an optional amount of difference between the lines of the switch keyword and the first case block.\nWrite the switch syntax to meet the rules.",
  "rule.saqt.c.java.875.example.0.dangerous": "Line 1: A whitespace is not found between a switch statement and brace.\nLine 2: A case keyword is not indented as much as a switch keyword.\nLine 5: The first case block is found on a line of switch keyword.",
  "rule.saqt.c.java.875.example.0.safe": "Line 1: Add a whitespace between the switch statement and following brace.\nLine 2: Indent the case keyword as much as the switch keyword.\nLine 5: Put the first case block on the next line of switch keyword.",
  "rule.saqt.c.java.875.name": "Violation of indentation rule for switch statement",
  "rule.saqt.c.java.876.description": "The Violation of switch Statement Spacing Rule checker finds switch statements in which spaces are not inserted appropriately.\nInsert appropriate spaces between the switch keyword and the opening parenthesis, and between the condition expression and its enclosing parentheses.\nAdd a whitespace as specified rules.",
  "rule.saqt.c.java.876.example.0.dangerous": "Line 1: A whitespace is not found between a switch keyword and an open parenthesis.\nLine 2: A whitespace is not found between a parenthesis and condition expression.",
  "rule.saqt.c.java.876.example.0.safe": "Line 1: Add a whitespace between a switch keyword and open parenthesis, and between a parenthesis and condition expression.",
  "rule.saqt.c.java.876.name": "Violation of switch Statement Spacing Rule",
  "rule.saqt.c.java.876.option.check_space_number.description": "Check whether there is whitespace or the number of whitespaces.",
  "rule.saqt.c.java.876.option.check_space_number.name": "Check the number of whitespaces",
  "rule.saqt.c.java.876.option.white_space_number.description": "Set the number of whitespaces between expression and parentheses within switch statement.",
  "rule.saqt.c.java.876.option.white_space_number.name": "Number of whitespaces between expression and parentheses within switch statement",
  "rule.saqt.c.java.877.description": "The Violation of indentation rule for case and default statements checker finds case or default blocks of switch statements that violate their indentation or spacing rules.\nYou can optionally specify indentation or spacing rules.\nPut indentation and empty lines as specified rules.",
  "rule.saqt.c.java.877.example.0.dangerous": "Line 5: Incorrect indentation of a case keyword.\nLine 7: Incorrect indentation of statements in a case block.\nLine 8: Incorrect indentation of statements in a case block.\nLine 9: Incorrect indentation of a default keyword.",
  "rule.saqt.c.java.877.example.0.safe": "Line 5: Indent the case keyword as much as specified.\nLine 7: Indent the case block as much as specified.\nLine 8: Indent the case block as much as specified.\nLine 9: Indent the default keyword as much as specified.",
  "rule.saqt.c.java.877.name": "Violation of indentation rule for case and default statements",
  "rule.saqt.c.java.877.option.blank_line_number.description": "Set the number of blank lines between case statements.",
  "rule.saqt.c.java.877.option.blank_line_number.name": "Number of blank lines between case statements",
  "rule.saqt.c.java.877.option.indentation_space_number.description": "Set indentation of case statement in switch block.",
  "rule.saqt.c.java.877.option.indentation_space_number.name": "Indentation Size",
  "rule.saqt.c.java.878.description": "The Multiple case Branches in Single Line checker finds instances in which more than one case/default branch occupy a single line.\nMake sure each case and default of a switch statement is placed in a different line.",
  "rule.saqt.c.java.878.example.0.dangerous": "Line 2: Two case statements is written on a single line.",
  "rule.saqt.c.java.878.example.0.safe": "Line 3: Put each case statement on a single line.",
  "rule.saqt.c.java.878.name": "Multiple case Branches in Single Line",
  "rule.saqt.c.java.879.description": "The Violation of indentation rule for try statement checker finds try statements that do not comply with the bracing and indentation rules.\nRule 1. The try keyword and open brace must come on the same line. Rule 2. Each catch block must begin one line below the previous try or catch block and should be indented as must as the try block. Rule 3. The finally block must begin one line below the previous try or catch block and should be indented as must as the try block.\nFix the code to comply with the rules.",
  "rule.saqt.c.java.879.example.0.dangerous": "Line 1: Incorrect location is found for an open brace of try block.\nLine 4: A catch statement is located where a close brace is.\nLine 6: A finally statement is located where a close brace is.",
  "rule.saqt.c.java.879.example.0.safe": "Line 1: Put the open brace of try block on the same line as try keyword.\nLine 4: Put the catch statement right after the upper block.\nLine 7: Put the finally statement right after the upper block.",
  "rule.saqt.c.java.879.name": "Violation of indentation rule for try statement",
  "rule.saqt.c.java.880.description": "The Violation of catch Statement Spacing Rule checker finds instances in which spaces are not added between a catch statement and the following parenthesis.\nPut a whitespace between a catch keyword and an open parenthesis, or an open parenthesis and an exception object.\nAdd a whitespace as specified rules.",
  "rule.saqt.c.java.880.example.0.dangerous": "Line 3: A whitespace is not found between a catch keyword and an open parenthesis.\nLine 6: A whitespace is not found between an open parenthesis and exception type or variable.",
  "rule.saqt.c.java.880.example.0.safe": "Line 3: Put a whitespace between the catch keyword and the open parenthesis, and inside both sides of parentheses.",
  "rule.saqt.c.java.880.name": "Violation of catch Statement Spacing Rule",
  "rule.saqt.c.java.880.option.check_space_number.description": "Check whether there is whitespace or the number of whitespaces.",
  "rule.saqt.c.java.880.option.check_space_number.name": "Check the number of whitespaces",
  "rule.saqt.c.java.880.option.white_space_number.description": "Set the number of whitespaces between expression and parentheses within catch statement.",
  "rule.saqt.c.java.880.option.white_space_number.name": "Number of whitespaces between expression and parentheses within catch statement",
  "rule.saqt.c.java.881.description": "The Violation of rule for white space around comma checker finds commas that are preceded by a whitespace or followed by no space.\nAdd a whitespace as specified rules.",
  "rule.saqt.c.java.881.example.0.dangerous": "Line 1: A whitespace is not found after a comma.\nLine 2: A whitespace is not found before a comma.",
  "rule.saqt.c.java.881.example.0.safe": "Line 1: Put no whitespace before the comma, and a whitespace after the comma.",
  "rule.saqt.c.java.881.name": "Violation of rule for white space around comma",
  "rule.saqt.c.java.881.option.blank_after_comma.description": "If the option is enabled, it allows any whitespaces after commas.",
  "rule.saqt.c.java.881.option.blank_after_comma.name": "Allow whitespces after commas",
  "rule.saqt.c.java.881.option.blank_before_comma.description": "If the option is enabled, it allows any whitespaces before commas.",
  "rule.saqt.c.java.881.option.blank_before_comma.name": "Allow whitespaces before commas",
  "rule.saqt.c.java.882.description": "The Constant of Inner Class checker finds instances in which a constant variable declared static final in an inner class is directly referenced by an outer class.\nA constant variable that might be used by an outer class should not be declared in an inner class but in the outer class itself.",
  "rule.saqt.c.java.882.example.0.dangerous": "Line 3: A public static final variable is declared as const in the inner class.\nLine 8: The const of the inner class is accessed by the method of the external class.",
  "rule.saqt.c.java.882.example.0.safe": "Line 5: Move const declaration into external class.",
  "rule.saqt.c.java.882.name": "Constant of Inner Class",
  "rule.saqt.c.java.883.description": "The Too many logical operations checker finds logical expressions that contain at least two consecutive uses of the && or || operator.\nUse parentheses to clarify the precedence of logical operation, or separate the operations into distinct expressions.",
  "rule.saqt.c.java.883.example.0.dangerous": "Line 1: && or || operator is consecutively used at least twice in an expression.",
  "rule.saqt.c.java.883.example.0.safe": "Line 1: Use parentheses to specify sequence of operations.\nLine 2: Use one operation at a time.",
  "rule.saqt.c.java.883.name": "Too many logical operations",
  "rule.saqt.c.java.883.option.check_multi_line.description": "Check multiple lines",
  "rule.saqt.c.java.883.option.check_multi_line.name": "Check multiple lines",
  "rule.saqt.c.java.883.option.ignore_parenthesis.description": "Ignore parentheses.",
  "rule.saqt.c.java.883.option.ignore_parenthesis.name": "Ignore parenthesis",
  "rule.saqt.c.java.883.option.operator_numbers.description": "Set the number of the operators to allow.",
  "rule.saqt.c.java.883.option.operator_numbers.name": "Number of operators.",
  "rule.saqt.c.java.884.description": "The String appended via + and += operator checker finds instances of using the + operator on a string.\nThe binary operator + performs string concatenation if at least either of its operands is a string. The compound assignment operator += performs string concatenation if the left-hand assignee is a string.\nFor string concatenation, use the StringBuilder or StringBuffer class instead of the addition operators. Especially, if addition occurs multiple times, the use of such a class is helpful for better performance.",
  "rule.saqt.c.java.884.example.0.dangerous": "Line 5: Use addition to concatenate strings.",
  "rule.saqt.c.java.884.example.0.safe": "Line 3: Use StringBuilder or append() methods of StringBuffer instead of addition.",
  "rule.saqt.c.java.884.name": "String appended via + and += operator",
  "rule.saqt.c.java.885.description": "The Instance creation in loop checker finds cases in which a constructor creates an instance in a loop.\nConsider if it is necessary to create an instance in a loop; there may be an alternative that creates an instance in advance and then reuses it iteratively in the loop.",
  "rule.saqt.c.java.885.example.0.dangerous": "Line 4: StringBuilder object is irritatedly generated in a loop.",
  "rule.saqt.c.java.885.example.0.safe": "Line 3: Create StringBuilder object before irritating the loop.\nLine 7: Reusing the object makes performance as much as before with reduced memories.",
  "rule.saqt.c.java.885.name": "Instance creation in loop",
  "rule.saqt.c.java.885.option.check_only_declaration_in_loop.description": "Checking only declaration in loop.",
  "rule.saqt.c.java.885.option.check_only_declaration_in_loop.name": "Check declaration in loop",
  "rule.saqt.c.java.885.option.excluded_class_type.description": "Write an exclude class type",
  "rule.saqt.c.java.885.option.excluded_class_type.name": "Exclude class type",
  "rule.saqt.c.java.886.description": "The Violation of naming rule for package checker finds packages that are not named as per the rules.\nPlease use domain name, such as com, edu, gov, mil, net, org, or 2-digit national code, such as kr, cn, jp, for the root of the package name Also, use lowercases only for the root. You can optionally specify validation of the directory structure from the 1st to 4th. \nComply with the package naming rules.",
  "rule.saqt.c.java.886.example.0.dangerous": "Line 1: A package name is named with an uppercase.",
  "rule.saqt.c.java.886.example.0.safe": "Line 1: Rename the package as specified.",
  "rule.saqt.c.java.886.name": "Violation of naming rule for package",
  "rule.saqt.c.java.886.option.1st_level.description": "Create a list of names to use for the first level of the package.",
  "rule.saqt.c.java.886.option.1st_level.name": "First level word in package",
  "rule.saqt.c.java.886.option.2nd_level.description": "Create a list of names to use for the second level of the package.",
  "rule.saqt.c.java.886.option.2nd_level.name": "Second level word in package",
  "rule.saqt.c.java.886.option.3rd_level.description": "Create a list of names to use for the third level of the package.",
  "rule.saqt.c.java.886.option.3rd_level.name": "Third level word in package",
  "rule.saqt.c.java.886.option.4th_level.description": "Create a list of names to use for the fourth level of the package.",
  "rule.saqt.c.java.886.option.4th_level.name": "Fourth level word in package",
  "rule.saqt.c.java.886.option.check_1st_level.description": "If the option is enabled, it checks the first level name of the package.",
  "rule.saqt.c.java.886.option.check_1st_level.name": "Check First Level Name of Package",
  "rule.saqt.c.java.886.option.check_2nd_level.description": "If the option is enabled, it checks the second level name of the package.",
  "rule.saqt.c.java.886.option.check_2nd_level.name": "Check Second Level Name of Package",
  "rule.saqt.c.java.886.option.check_3rd_level.description": "If selected, checks the third level name of the package.",
  "rule.saqt.c.java.886.option.check_3rd_level.name": "Check Third Level Name of Package",
  "rule.saqt.c.java.886.option.check_4th_level.description": "If selected, checks the fourth level name of the package.",
  "rule.saqt.c.java.886.option.check_4th_level.name": "Check Fourth Level Name of Package",
  "rule.saqt.c.java.887.description": "The Violation of indentation rule for package checker finds files in which the file comment and the package declaration block are not separated by the specified number of lines.\nComply with the spacing rules.",
  "rule.saqt.c.java.887.example.0.dangerous": "Line 2: No empty line is found between file comments and declaration of the first package.",
  "rule.saqt.c.java.887.example.0.safe": "Line 2: Add an empty line as specified.",
  "rule.saqt.c.java.887.name": "Violation of indentation rule for package",
  "rule.saqt.c.java.887.option.blank_line.description": "Write the number of blank lines between package statement and the file comment.",
  "rule.saqt.c.java.887.option.blank_line.name": "Number of blank lines between package statement and the file comment",
  "rule.saqt.c.java.888.description": "The Empty branch statement checker finds if statements having no else branch and switch statements having no case or default branch.\nAdd required branches with executable code in them in accordance with the statement rules.",
  "rule.saqt.c.java.888.example.0.dangerous": "Line 3: No code is found to be executed for else block.",
  "rule.saqt.c.java.888.example.0.safe": "Line 4: Add the code to execute to the else block.",
  "rule.saqt.c.java.888.name": "Empty branch statement",
  "rule.saqt.c.java.888.option.check_empty_case.description": "If selected, empty case branches will be detected.",
  "rule.saqt.c.java.888.option.check_empty_case.name": "Detect empty case branch",
  "rule.saqt.c.java.888.option.check_empty_default_case.description": "If the option is enabled, empty default case branches will be detected.",
  "rule.saqt.c.java.888.option.check_empty_default_case.name": "Detect empty default case branch",
  "rule.saqt.c.java.888.option.check_empty_else_branch.description": "If selected, empty else branches will be detected.",
  "rule.saqt.c.java.888.option.check_empty_else_branch.name": "Detect empty else branch",
  "rule.saqt.c.java.889.description": "The String comparison via equals method checker finds instances of using a quoted string constant directly in a comparison.\nThe checker performs checks on calls to equals() and equalsIgnoreCase().\nA string constant should not be directly compared with another string variable; instead, declare a final variable assigned with this string and perform the comparison using the assigned variable.",
  "rule.saqt.c.java.889.example.0.dangerous": "Line 2: A string const \"abcde\" is directly used.",
  "rule.saqt.c.java.889.example.0.safe": "Line 2: Save the string to be used for comparison in the static final variable.",
  "rule.saqt.c.java.889.name": "String comparison via equals method",
  "rule.saqt.c.java.890.description": "The Accessing instance checker finds instances of accessing a class's static member through a non-class object.\nWhen accessing a static member, specify its class name.",
  "rule.saqt.c.java.890.example.0.dangerous": "Line 9: A static member, staticField, of Storage class is accessed through object st.",
  "rule.saqt.c.java.890.example.0.safe": "Line 9: Specify a class name of static member to access.",
  "rule.saqt.c.java.890.name": "Accessing instance",
  "rule.saqt.c.java.890.option.check_static_only.description": "If selected, only static fields and methods will be detected.",
  "rule.saqt.c.java.890.option.check_static_only.name": "Detect static only",
  "rule.saqt.c.java.891.description": "The Redundant name checker finds instances in which a name is used for a declaration at an upper level of scope and the same name is used for another declaration at a lower level.\nThe object declared at the upper level then becomes not directly accessible.\nTo keep upper-level declarations valid, do not use already existing names but use new names for declarations at lower levels.",
  "rule.saqt.c.java.891.example.0.dangerous": "Line 2: var field variable is declared in a class.\nLine 5: var local variable is declared in a method, which shadows var field variable declared from a parent class. To access to the var field variable, use this.var variable.",
  "rule.saqt.c.java.891.example.0.safe": "Line 5: Change the local variable name to prevent declaration from shadowing in broader scope.",
  "rule.saqt.c.java.891.name": "Redundant name",
  "rule.saqt.c.java.892.description": "The Violation of indentation rule for comment checker finds instances in which a comment and its target block start at different columns.\nYou can optionally specify detailed rules.\nMake sure a comment and its target block start at the same column.",
  "rule.saqt.c.java.892.example.0.dangerous": "Line 1: A comment is starting at the first column.\nLine 2: A target block is starting at the third column. The comment and its target block start at different columns.",
  "rule.saqt.c.java.892.example.0.safe": "Line 2: Ensure both comment and its target block are starting at the same column.",
  "rule.saqt.c.java.892.name": "Violation of indentation rule for comment",
  "rule.saqt.c.java.892.option.check_general_comment.description": "If selected, indentation of the general comments will be checked.",
  "rule.saqt.c.java.892.option.check_general_comment.name": "Check indentation of the general comments",
  "rule.saqt.c.java.892.option.check_header.description": "If the option is enabled, it checks comments in the header files.",
  "rule.saqt.c.java.892.option.check_header.name": "Inspect header files",
  "rule.saqt.c.java.892.option.check_voting_column.description": "If selected, small indentations will be checked.",
  "rule.saqt.c.java.892.option.check_voting_column.name": "Multiple indentations",
  "rule.saqt.c.java.892.option.tab_size.description": "Set the number of spaces for each tab.",
  "rule.saqt.c.java.892.option.tab_size.name": "Tab size",
  "rule.saqt.c.js.1696.description": "The Unnecessary Block checker finds unnecessarily added blocks.\nRemove unnecessary blocks.",
  "rule.saqt.c.js.1696.example.0.dangerous": "Line 3: An unnecessary block is used.",
  "rule.saqt.c.js.1696.example.0.safe": "Line 2: Remove the unnecessary block.",
  "rule.saqt.c.js.1696.name": "Unnecessary Block",
  "rule.saqt.c.js.1697.description": "The Unnecessary Parentheses checker finds unnecessarily added parentheses.\nRemove unnecessary parentheses.",
  "rule.saqt.c.js.1697.example.0.dangerous": "Line 1: Unnecessary parentheses are used.",
  "rule.saqt.c.js.1697.example.0.safe": "Line 1: Remove the unnecessary parentheses.",
  "rule.saqt.c.js.1697.name": "Unnecessary Parentheses",
  "rule.saqt.c.js.1699.description": "The Missing curly brace checker finds compound statements that do not contain curly braces.\nEven if a compound statement spans a single line of code, enclose it in braces for consistency.",
  "rule.saqt.c.js.1699.example.0.dangerous": "Line 1: An if statement is sued without braces.",
  "rule.saqt.c.js.1699.example.0.safe": "Line 1: Use braces in a single line code.",
  "rule.saqt.c.js.1699.name": "Missing curly brace",
  "rule.saqt.c.js.1699.option.else.description": "Check braces in else statement",
  "rule.saqt.c.js.1699.option.else.name": "else statement",
  "rule.saqt.c.js.1699.option.for.description": "Check braces in for statement",
  "rule.saqt.c.js.1699.option.for.name": "for statement",
  "rule.saqt.c.js.1699.option.if.description": "Check braces in if statement",
  "rule.saqt.c.js.1699.option.if.name": "Check if statement",
  "rule.saqt.c.js.1699.option.while.description": "Check braces in while statement",
  "rule.saqt.c.js.1699.option.while.name": "while statement",
  "rule.saqt.c.js.1700.description": "The Violation of naming rule for variable checker finds variables that are not named as per the naming rules.\nYou can optionally specify regular expressions about the naming rules of variables.\nComply with the naming rules.",
  "rule.saqt.c.js.1700.example.0.dangerous": "Line 1: A variable name cannot be started with an underbar.",
  "rule.saqt.c.js.1700.example.0.safe": "Line 1: Use a value name to comply with specified regex patterns.",
  "rule.saqt.c.js.1700.name": "Violation of naming rule for variable",
  "rule.saqt.c.js.1700.option.pattern.description": "Write regular expression for variable name. <br/> example) [a-z][a-zA-Z]*",
  "rule.saqt.c.js.1700.option.pattern.name": "Regular expression for variable name",
  "rule.saqt.c.sql.1833.description": "The Missing comment for column in SELECT statement checker finds SELECT statements in which the referenced columns are not attached with a comment.\nMake sure that the columns referenced in SELECT statements have a comment describing the column.",
  "rule.saqt.c.sql.1833.example.0.dangerous": "Line 3: No comment is found for a column.",
  "rule.saqt.c.sql.1833.example.0.safe": "Line 3: Add a description of the column as a comment.",
  "rule.saqt.c.sql.1833.name": "Missing comment for column in SELECT statement",
  "rule.saqt.c.sql.1833.option.check_outer_sql_only.description": "set check range is restricted to only the outmost sql.",
  "rule.saqt.c.sql.1833.option.check_outer_sql_only.name": "restrict check range",
  "rule.saqt.c.sql.1833.option.exceptional_column.description": "write down column names, then those columns will not be alarmed even if a comment doesn't exist.",
  "rule.saqt.c.sql.1833.option.exceptional_column.name": "exceptional column",
  "rule.saqt.c.sql.1833.option.excluded_target_file_name.description": "write down file names, then the those files will not be checked",
  "rule.saqt.c.sql.1833.option.excluded_target_file_name.name": "non-target file names",
  "rule.saqt.c.sql.955.description": "The Violation of naming rule for table checker finds a table name that does not comply with regular expressions specified in an option.\nModify the table name to be comply with the regular expression as specified.",
  "rule.saqt.c.sql.955.example.0.dangerous": "Line 1: A table name does not comply with a specified option, such as uppercases and underscore.",
  "rule.saqt.c.sql.955.example.0.safe": "Line 1: Name the table with uppercases and underbar as the specified option. Name the table by using uppercases and underbar only.",
  "rule.saqt.c.sql.955.name": "Violation of naming rule for table",
  "rule.saqt.c.sql.955.option.naming_convention.description": "Write table name convention using regular expressions.",
  "rule.saqt.c.sql.955.option.naming_convention.name": "Table name convention",
  "rule.saqt.c.sql.963.description": "The Use of Forbidden Table checker finds instances of using a forbidden table.\nDo not use forbidden tables.",
  "rule.saqt.c.sql.963.example.0.dangerous": "Line 4: A forbidden table name, FORBIDDEN, is used. Do not use the forbidden table name.",
  "rule.saqt.c.sql.963.example.0.safe": "Line 4: Modify the table name to use an allowed name.",
  "rule.saqt.c.sql.963.name": "Use of Forbidden Table",
  "rule.saqt.c.sql.963.option.forbidden_table.description": "Write down a list of forbidden tables to use.",
  "rule.saqt.c.sql.963.option.forbidden_table.name": "Forbidden tables",
  "rule.saqt.c.sql.978.description": "The Use of Forbidden Table Column checker finds instances of using a forbidden table column.\nDo not use forbidden table columns.",
  "rule.saqt.c.sql.978.example.0.dangerous": "Line 2: A forbidden table column, FORBIDDEN_COLUMN, is used as an index hint.",
  "rule.saqt.c.sql.978.example.0.safe": "Line 2: Use an allowed column, ALLOWED_COLUMN, as the index hint.",
  "rule.saqt.c.sql.978.name": "Use of Forbidden Table Column",
  "rule.saqt.c.sql.978.option.forbidden_column.description": "Write down a list of forbidden columns to use.",
  "rule.saqt.c.sql.978.option.forbidden_column.name": "Forbidden columns",
  "rule.saqt.c.sql.978.option.forbidden_table.description": "Write down a list of forbidden tables to use.",
  "rule.saqt.c.sql.978.option.forbidden_table.name": "Forbidden tables",
  "rule.saqt.m.ccpp.7180.description": "When the cyclomatic complexity is too high, readability and maintenance of the code might be lower. This raises the possibility encountering errors, and causes high costs for the future extension.\nMake sure to reduce the cyclomatic complexity by removing unnecessary or nested branches or repetitions and splitting logic into module. If needed, splitting the function or refactoring the code to reduce the complexity and enhance the readability.",
  "rule.saqt.m.ccpp.7180.example.0.dangerous": "Line 1: Too high cyclomatic complexity in the function.\nLine 6: The cyclomatic complexity has exceeded the threshold due to too many if statements.",
  "rule.saqt.m.ccpp.7180.example.0.safe": "Line 2: Keep the cyclomatic complexity of this function under the threshold.\nLine 11: The cyclomatic complexity is lower than the threshold.",
  "rule.saqt.m.ccpp.7180.name": "Too high cyclomatic complexity",
  "rule.saqt.m.ccpp.7180.option.mcc.name": "Count switch-case to 1",
  "rule.saqt.m.ccpp.7180.option.threshold.description": "Enter the maximum number for the cyclomatic complexity. If exceeded, it will be identified as an issue.",
  "rule.saqt.m.ccpp.7180.option.threshold.name": "Threshold",
  "rule.saqt.m.ccpp.7184.description": "When the maximum block depths are too many, readability and maintenance of the code might be lower. This raises the possibility encountering errors, and causes high costs for the future extension.\nMake sure to reduce the unnecessary block depths. If needed, splitting the function or refactoring the code to reduce the complexity and enhance the readability.",
  "rule.saqt.m.ccpp.7184.example.0.dangerous": "Line 1: The maximum block depth in the function is too deep.\nLine 7: Due to too many block depths, the maximum block depth has exceeded the threshold.",
  "rule.saqt.m.ccpp.7184.example.0.safe": "Line 1: Keep the number of block depths in the function under the threshold.\nLine 7: The number of block depths is lower than the threshold.",
  "rule.saqt.m.ccpp.7184.name": "Too many block depths",
  "rule.saqt.m.ccpp.7184.option.threshold.description": "Enter the maximum number for the block depths. If exceeded, it will be identified as an issue.",
  "rule.saqt.m.ccpp.7184.option.threshold.name": "Threshold",
  "rule.saqt.m.ccpp.7187.description": "When the parameters are too many, readability and maintenance of the code might be lower. This raises the possibility encountering errors, and causes high costs for the future extension.\nMake sure to reduce the parameters. If needed, refactoring the code to reduce the complexity and enhance the readability.",
  "rule.saqt.m.ccpp.7187.example.0.dangerous": "Line 1: Too many parameters in the function.",
  "rule.saqt.m.ccpp.7187.example.0.safe": "Line 1: Keep the number of parameters of this function under the threshold.",
  "rule.saqt.m.ccpp.7187.name": "Too many parameters",
  "rule.saqt.m.ccpp.7187.option.threshold.description": "Enter the maximum number for the parameters. If exceeded, it will be identified as an issue.",
  "rule.saqt.m.ccpp.7187.option.threshold.name": "Threshold",
  "rule.saqt.m.ccpp.7188.description": "The rule calculates callers of certain function and validates excessive interdependencies. If calls come within one function, they will be counted as one. Too many callers might lower readability and maintenance of the code. This raises the possibility encountering errors, and causes high costs for the future extension.\nMake sure to implement well-designed layer structures of logic and avoid having too much callers. If needed, refactoring the code to reduce the complexity and enhance the readability.",
  "rule.saqt.m.ccpp.7188.example.0.dangerous": "Line 1: Too many callees from the function.\nLine 20: The number of callees from calleeFunction() has exceeded the threshold.",
  "rule.saqt.m.ccpp.7188.example.0.safe": "Line 1: Keep the number of callers of this function under the threshold.\nLine 3: The number of callers to calleeFunction() function is lower than the threshold.",
  "rule.saqt.m.ccpp.7188.name": "Too many callers",
  "rule.saqt.m.ccpp.7188.option.ignore_implicit.description": "If the option is enabled, this will exclude counts of implicit calls from callers.",
  "rule.saqt.m.ccpp.7188.option.ignore_implicit.name": "Exclude implicit calls from calculation",
  "rule.saqt.m.ccpp.7188.option.threshold.description": "Enter the maximum number for the callers. If exceeded, it will be identified as an issue.",
  "rule.saqt.m.ccpp.7188.option.threshold.name": "Threshold",
  "rule.saqt.m.ccpp.7189.description": "The rule calculates callees of certain function and validates excessive interdependencies. If calls come within one function, they will be counted as one. Too many callees might lower readability and maintenance of the code. This raises the possibility encountering errors, and causes high costs for the future extension.\nMake sure to implement well-designed layer structures of logic and avoid having too much callees. If needed, refactoring the code to reduce the complexity and enhance the readability.",
  "rule.saqt.m.ccpp.7189.example.0.dangerous": "Line 1: Too many callees from the function.\nLine 5: The number of callees from the function has exceeded the threshold.",
  "rule.saqt.m.ccpp.7189.example.0.safe": "Line 1: Keep the number of callees of this function under the threshold.\nLine 5: The number of callees from the function is lower than the threshold.",
  "rule.saqt.m.ccpp.7189.name": "Too many callees",
  "rule.saqt.m.ccpp.7189.option.ignore_implicit.description": "If the option is selected, this will exclude counts of callees invisible on the code or implicit calls of callees.",
  "rule.saqt.m.ccpp.7189.option.ignore_implicit.name": "Exclude implicit calls from calculation",
  "rule.saqt.m.ccpp.7189.option.threshold.description": "Enter the maximum number for the callers. If exceeded, it will be identified as an issue.",
  "rule.saqt.m.ccpp.7189.option.threshold.name": "Threshold",
  "rule.saqt.m.ccpp.7190.description": "When the executable code lines are too long, readability and maintenance of the code might be lower. This raises the possibility encountering errors, and causes high costs for the future extension.\nMake sure to reduce the executable code lines. If needed, splitting the function or refactoring the code to reduce the complexity and enhance the readability.",
  "rule.saqt.m.ccpp.7190.example.0.dangerous": "Line 1: Too many executable code lines in the function.\nLine 4: The number of the executable code lines in the function has exceeded the threshold.",
  "rule.saqt.m.ccpp.7190.example.0.safe": "Line 1: Keep the number of executable code lines under the threshold.\nLine 4: The number of executable code lines is lower than the threshold.",
  "rule.saqt.m.ccpp.7190.name": "Too many executable code lines",
  "rule.saqt.m.ccpp.7190.option.threshold.description": "Enter the maximum number for the executable code lines. If exceeded, it will be identified as an issue.",
  "rule.saqt.m.ccpp.7190.option.threshold.name": "Threshold",
  "rule.saqt.m.ccpp.7199.description": "When the statements are too many, readability and maintenance of the code might be lower. This raises the possibility encountering errors, and causes high costs for the future extension.\nMake sure to reduce the statements. If needed, splitting the function or refactoring the code to reduce the complexity and enhance the readability.",
  "rule.saqt.m.ccpp.7199.example.0.dangerous": "Line 1: Too many statements in the function.\nLine 4: The number of statements in the function has exceeded the threshold.",
  "rule.saqt.m.ccpp.7199.example.0.safe": "Line 1: Keep the number of the statements of this function under the threshold.\nLine 4: The number of statements is lower than the threshold.",
  "rule.saqt.m.ccpp.7199.name": "Too many statements",
  "rule.saqt.m.ccpp.7199.option.threshold.description": "Enter the maximum number for the statements. If exceeded, it will be identified as an issue.",
  "rule.saqt.m.ccpp.7199.option.threshold.name": "Threshold",
  "rule.saqt.m.ccpp.7200.description": "When the unique operands are too many, readability and maintenance of the code might be lower. This raises the possibility encountering errors, and causes high costs for the future extension.\nMake sure to reduce the unique operands. If needed, splitting the function or refactoring the code to reduce the complexity and enhance the readability.",
  "rule.saqt.m.ccpp.7200.example.0.dangerous": "Line 1: Too many unique operands in the function.\nLine 4: The number of unique operands in the function has exceeded the threshold.",
  "rule.saqt.m.ccpp.7200.example.0.safe": "Line 1: Keep the number of unique operands under the threshold.\nLine 3: The number of unique operands is lower than the threshold.",
  "rule.saqt.m.ccpp.7200.name": "Too many unique operands",
  "rule.saqt.m.ccpp.7200.option.threshold.description": "Enter the maximum number for the unique operands. If exceeded, it will be identified as an issue.",
  "rule.saqt.m.ccpp.7200.option.threshold.name": "Threshold",
  "rule.saqt.m.ccpp.7201.description": "When the unique operators are too many, readability and maintenance of the code might be lower. This raises the possibility encountering errors, and causes high costs for the future extension.\nMake sure to reduce the unique operators. If needed, splitting the function or refactoring the code to reduce the complexity and enhance the readability.",
  "rule.saqt.m.ccpp.7201.example.0.dangerous": "Line 1: Too many unique operators in the function.\nLine 5: The number of unique operators in the function has exceeded the threshold.",
  "rule.saqt.m.ccpp.7201.example.0.safe": "Line 1: Keep the number of the unique operators of this function under the threshold.\nLine 3: The number of unique operators of the function is lower than the threshold.",
  "rule.saqt.m.ccpp.7201.name": "Too many unique operators",
  "rule.saqt.m.ccpp.7201.option.threshold.description": "Enter the maximum number for the unique operators. If exceeded, it will be identified as an issue.",
  "rule.saqt.m.ccpp.7201.option.threshold.name": "Threshold",
  "rule.saqt.m.ccpp.7202.description": "When the operands are too many in total, readability and maintenance of the code might be lower. This raises the possibility encountering errors, and causes high costs for the future extension.\nMake sure to reduce the operands in total. If needed, splitting the function or refactoring the code to reduce the complexity and enhance the readability.",
  "rule.saqt.m.ccpp.7202.example.0.dangerous": "Line 1: Too many unique operands in the function.\nLine 4: The number of unique operands in the function has exceeded the threshold.",
  "rule.saqt.m.ccpp.7202.example.0.safe": "Line 1: Keep the number of total operands under the threshold.\nLine 4: The number of total operands is lower than the threshold.",
  "rule.saqt.m.ccpp.7202.name": "Too many operands in total",
  "rule.saqt.m.ccpp.7202.option.threshold.description": "Enter the maximum number for the operands in total. If exceeded, it will be identified as an issue.",
  "rule.saqt.m.ccpp.7202.option.threshold.name": "Threshold",
  "rule.saqt.m.ccpp.7203.description": "When the operators are too many in total, readability and maintenance of the code might be lower. This raises the possibility encountering errors, and causes high costs for the future extension.\nMake sure to reduce the operators in total. If needed, splitting the function or refactoring the code to reduce the complexity and enhance the readability.",
  "rule.saqt.m.ccpp.7203.example.0.dangerous": "Line 1: Too many unique operators in the function.\nLine 5: The number of unique operators in the function has exceeded the threshold.",
  "rule.saqt.m.ccpp.7203.example.0.safe": "Line 1: Keep the number of total operators of this function under the threshold.\nLine 3: The number of total operators of the function is lower than the threshold.",
  "rule.saqt.m.ccpp.7203.name": "Too many operators in total",
  "rule.saqt.m.ccpp.7203.option.threshold.description": "Enter the maximum number for the operators in total. If exceeded, it will be identified as an issue.",
  "rule.saqt.m.ccpp.7203.option.threshold.name": "Threshold",
  "rule.saqt.m.ccpp.7204.description": "When the vocabulary size is too big, readability and maintenance of the code might be lower. This raises the possibility encountering errors, and causes high costs for the future extension. The vocabulary size is calculated by adding unique operators and unique operands.\nMake sure to reduce the vocabulary size. If needed, splitting the function or refactoring the code to reduce the complexity and enhance the readability.",
  "rule.saqt.m.ccpp.7204.example.0.dangerous": "Line 1: Too big vocabulary size in the function.\nLine 5: The vocabulary size of the function has exceeded the threshold.",
  "rule.saqt.m.ccpp.7204.example.0.safe": "Line 1: Keep the vocabulary size of this function under the threshold.\nLine 4: The vocabulary size is lower than the threshold.",
  "rule.saqt.m.ccpp.7204.name": "Too big vocabulary size",
  "rule.saqt.m.ccpp.7204.option.threshold.description": "Enter the maximum number for the vocabulary size. If exceeded, it will be identified as an issue.",
  "rule.saqt.m.ccpp.7204.option.threshold.name": "Threshold",
  "rule.saqt.m.ccpp.7205.description": "When the component size is too big, readability and maintenance of the code might be lower. This raises the possibility encountering errors, and causes high costs for the future extension. The component size is calculated by adding the number of total operators and the number of total operands.\nMake sure to reduce the component size. If needed, splitting the function or refactoring the code to reduce the complexity and enhance the readability.",
  "rule.saqt.m.ccpp.7205.example.0.dangerous": "Line 1: Too big component size of the function.\nLine 5: The component size of the function has exceeded the threshold.",
  "rule.saqt.m.ccpp.7205.example.0.safe": "Line 1: Keep the component size of this function under the threshold.\nLine 3: The component size of the function is lower than the threshold.",
  "rule.saqt.m.ccpp.7205.name": "Too big component size",
  "rule.saqt.m.ccpp.7205.option.threshold.description": "Enter the maximum number for the component size. If exceeded, it will be identified as an issue.",
  "rule.saqt.m.ccpp.7205.option.threshold.name": "Threshold",
  "rule.saqt.m.ccpp.7206.description": "When the average statement size is too big, readability and maintenance of the code might be lower. This raises the possibility encountering errors, and causes high costs for the future extension. The average statement size is calculated by dividing component size by the number of statements.\nMake sure to reduce the average statement size. If needed, splitting the function or refactoring the code to reduce the complexity and enhance the readability.",
  "rule.saqt.m.ccpp.7206.example.0.dangerous": "Line 1: Too big size of the average statements of the function.\nLine 4: The average statement size of the function has exceeded the threshold.",
  "rule.saqt.m.ccpp.7206.example.0.safe": "Line 1: Keep the average statement size under the threshold.\nLine 3: The average statement size is lower than the threshold.",
  "rule.saqt.m.ccpp.7206.name": "Too big average statement size",
  "rule.saqt.m.ccpp.7206.option.threshold.description": "Enter the maximum number for the average statement size. If exceeded, it will be identified as an issue.",
  "rule.saqt.m.ccpp.7206.option.threshold.name": "Threshold",
  "rule.saqt.m.ccpp.7207.description": "When the decision statements are too many, readability and maintenance of the code might be lower. This raises the possibility encountering errors, and causes high costs for the future extension. The decision statements include statements with branches or operators.\nMake sure to reduce the decision statements. If needed, splitting the function or refactoring the code to reduce the complexity and enhance the readability.",
  "rule.saqt.m.ccpp.7207.example.0.dangerous": "Line 1: Too many decision statements in the function.\nLine 4: The number of the decision statements in the function has exceeded the threshold.",
  "rule.saqt.m.ccpp.7207.example.0.safe": "Line 1: Keep the number of the decision statements of this function under the threshold.\nLine 4: The number of decision statements is lower than the threshold.",
  "rule.saqt.m.ccpp.7207.name": "Too many decision statements",
  "rule.saqt.m.ccpp.7207.option.threshold.description": "Enter the maximum number for the decision statements. If exceeded, it will be identified as an issue.",
  "rule.saqt.m.ccpp.7207.option.threshold.name": "Threshold",
  "rule.saqt.m.ccpp.7208.description": "When the exit points are too many, readability and maintenance of the code might be lower. This raises the possibility encountering errors, and causes high costs for the future extension. The exit points include return statements or function calls that terminates programs.\nMake sure to reduce the exit points. If needed, splitting the function or refactoring the code to avoid creating multiple exit points.",
  "rule.saqt.m.ccpp.7208.example.0.dangerous": "Line 1: Too many exit points in the function.\nLine 6: The number of exit points in the function has exceeded the threshold.",
  "rule.saqt.m.ccpp.7208.example.0.safe": "Line 1: Keep the number of the exit points of this function under the threshold.\nLine 9: The number of  exit points is lower than the threshold.",
  "rule.saqt.m.ccpp.7208.name": "Too many exit points",
  "rule.saqt.m.ccpp.7208.option.threshold.description": "Enter the maximum number for the exit point. If exceeded, it will be identified as an issue.",
  "rule.saqt.m.ccpp.7208.option.threshold.name": "Threshold",
  "rule.saqt.m.ccpp.7209.description": "When the unstructured jumps are too many, readability and maintenance of the code might be lower. This raises the possibility encountering errors, and causes high costs for the future extension. The unstructured jumps include goto statements within functions and jump functions.\nMake sure to reduce the unstructured jumps. If needed, splitting the function or refactoring the code to avoid creating multiple unstructured jumps.",
  "rule.saqt.m.ccpp.7209.example.0.dangerous": "Line 1: Too many unstructured jumps in the function.\nLine 5: The number of the unstructured jumps in the function has exceeded the threshold.",
  "rule.saqt.m.ccpp.7209.example.0.safe": "Line 1: Keep the number of the unstructured jumps of this function under the threshold.\nLine 3: The number of unstructured jumps is lower than the threshold.",
  "rule.saqt.m.ccpp.7209.name": "Too many unstructured jumps",
  "rule.saqt.m.ccpp.7209.option.threshold.description": "Enter the maximum number for the unstructured jumps. If exceeded, it will be identified as an issue.",
  "rule.saqt.m.ccpp.7209.option.threshold.name": "Threshold",
  "rule.saqt.m.cs.7183.description": "When the cyclomatic complexity is too high, readability and maintenance of the code might be lower. This raises the possibility encountering errors, and causes high costs for the future extension.\nMake sure to reduce the cyclomatic complexity by removing unnecessary or nested branches or repetitions and splitting logic into module. If needed, splitting the function or refactoring the code to reduce the complexity and enhance the readability.",
  "rule.saqt.m.cs.7183.example.0.dangerous": "Line 2: Too high cyclomatic complexity in the function.\nLine 11: The cyclomatic complexity has exceeded the threshold due to too many if statements.",
  "rule.saqt.m.cs.7183.example.0.safe": "Line 2: Keep the cyclomatic complexity of this function under the threshold.\nLine 11: The cyclomatic complexity is lower than the threshold.",
  "rule.saqt.m.cs.7183.name": "Too high cyclomatic complexity",
  "rule.saqt.m.cs.7183.option.mcc.name": "Count switch-case to 1",
  "rule.saqt.m.cs.7183.option.theshold.description": "Enter the maximum number for the cyclomatic complextity. If exceeded, it will be identified as an issue.",
  "rule.saqt.m.cs.7183.option.theshold.name": "Threshold",
  "rule.saqt.m.cs.7183.option.threshold.description": "Enter the maximum number for the cyclomatic complexity. If exceeded, it will be identified as an issue.",
  "rule.saqt.m.cs.7183.option.threshold.name": "Threshold",
  "rule.saqt.m.cs.7186.description": "When the maximum block depths are too many, readability and maintenance of the code might be lower. This raises the possibility encountering errors, and causes high costs for the future extension.\nMake sure to reduce the unnecessary block depths. If needed, splitting the function or refactoring the code to reduce the complexity and enhance the readability.",
  "rule.saqt.m.cs.7186.example.0.dangerous": "Line 2: The maximum block depth in the function is too deep.\nLine 8: Due to too many block depths, the maximum block depth has exceeded the threshold.",
  "rule.saqt.m.cs.7186.example.0.safe": "Line 2: Keep the number of block depths in the function under the threshold.\nLine 8: The number of block depths is lower than the threshold.",
  "rule.saqt.m.cs.7186.name": "Too many block depths",
  "rule.saqt.m.cs.7186.option.threshold.description": "Enter the maximum number for the block depths. If exceeded, it will be identified as an issue.",
  "rule.saqt.m.cs.7186.option.threshold.name": "Threshold",
  "rule.saqt.m.cs.7192.description": "When the parameters are too many, readability and maintenance of the code might be lower. This raises the possibility encountering errors, and causes high costs for the future extension.\nMake sure to reduce the parameters. If needed, refactoring the code to reduce the complexity and enhance the readability.",
  "rule.saqt.m.cs.7192.example.0.dangerous": "Line 2: Too many parameters in the function.",
  "rule.saqt.m.cs.7192.example.0.safe": "Line 2: Keep the number of parameters of this function under the threshold.",
  "rule.saqt.m.cs.7192.name": "Too many parameters",
  "rule.saqt.m.cs.7192.option.threshold.description": "Enter the maximum number for the parameters. If exceeded, it will be identified as an issue.",
  "rule.saqt.m.cs.7192.option.threshold.name": "Threshold",
  "rule.saqt.m.cs.7194.description": "The rule calculates callers of certain function and validates excessive interdependencies. If calls come within one function, they will be counted as one. Too many callers might lower readability and maintenance of the code. This raises the possibility encountering errors, and causes high costs for the future extension.\nMake sure to implement well-designed layer structures of logic and avoid having too much callers. If needed, refactoring the code to reduce the complexity and enhance the readability.",
  "rule.saqt.m.cs.7194.example.0.dangerous": "Line 2: Too many callees from the function.\nLine 21: The number of callees from calleeMethod() has exceeded the threshold.",
  "rule.saqt.m.cs.7194.example.0.safe": "Line 2: Keep the number of callers of this function under the threshold.\nLine 21: The number of callers to calleeMethod() is lower than the threshold.",
  "rule.saqt.m.cs.7194.name": "Too many callers",
  "rule.saqt.m.cs.7194.option.threshold.description": "Enter the maximum number for the callers. If exceeded, it will be identified as an issue.",
  "rule.saqt.m.cs.7194.option.threshold.name": "Threshold",
  "rule.saqt.m.cs.7196.description": "The rule calculates callees of certain function and validates excessive interdependencies. If calls come within one function, they will be counted as one. Too many callees might lower readability and maintenance of the code. This raises the possibility encountering errors, and causes high costs for the future extension.\nMake sure to implement well-designed layer structures of logic and avoid having too much callees. If needed, refactoring the code to reduce the complexity and enhance the readability.",
  "rule.saqt.m.cs.7196.example.0.dangerous": "Line 2: Too many callees from the function.\nLine 6: The number of callees from the function has exceeded the threshold.",
  "rule.saqt.m.cs.7196.example.0.safe": "Line 2: Keep the number of callees of this function under the threshold.\nLine 6: The number of callees from the function is lower than the threshold.",
  "rule.saqt.m.cs.7196.name": "Too many callees",
  "rule.saqt.m.cs.7196.option.threshold.description": "Enter the maximum number for the callees. If exceeded, it will be identified as an issue.",
  "rule.saqt.m.cs.7196.option.threshold.name": "Threshold",
  "rule.saqt.m.cs.7198.description": "When the executable code lines are too long, readability and maintenance of the code might be lower. This raises the possibility encountering errors, and causes high costs for the future extension.\nMake sure to reduce the executable code lines. If needed, splitting the function or refactoring the code to reduce the complexity and enhance the readability.",
  "rule.saqt.m.cs.7198.example.0.dangerous": "Line 2: Too many executable code lines in the function.\nLine 5: The number of the executable code lines in the function has exceeded the threshold.",
  "rule.saqt.m.cs.7198.example.0.safe": "Line 2: Keep the number of executable code lines under the threshold.\nLine 5: The number of executable code lines is lower than the threshold.",
  "rule.saqt.m.cs.7198.name": "Too many executable code lines",
  "rule.saqt.m.cs.7198.option.threshold.description": "Enter the maximum number for the executable code lines. If exceeded, it will be identified as an issue.",
  "rule.saqt.m.cs.7198.option.threshold.name": "Threshold",
  "rule.saqt.m.java.7181.description": "When the cyclomatic complexity is too high, readability and maintenance of the code might be lower. This raises the possibility encountering errors, and causes high costs for the future extension.\nMake sure to reduce the cyclomatic complexity by removing unnecessary or nested branches or repetitions and splitting logic into module. If needed, splitting the function or refactoring the code to reduce the complexity and enhance the readability.",
  "rule.saqt.m.java.7181.example.0.dangerous": "Line 2: Too high cyclomatic complexity in the function.\nLine 11: The cyclomatic complexity has exceeded the threshold due to too many if statements.",
  "rule.saqt.m.java.7181.example.0.safe": "Line 2: Keep the cyclomatic complexity of this function under the threshold.\nLine 11: The cyclomatic complexity is lower than the threshold.",
  "rule.saqt.m.java.7181.name": "Too high cyclomatic complexity",
  "rule.saqt.m.java.7181.option.mcc.name": "Count switch-case to 1",
  "rule.saqt.m.java.7181.option.threshold.description": "Enter the maximum number for the cyclomatic complexity. If exceeded, it will be identified as an issue.",
  "rule.saqt.m.java.7181.option.threshold.name": "Threshold",
  "rule.saqt.m.java.7185.description": "When the maximum block depths are too many, readability and maintenance of the code might be lower. This raises the possibility encountering errors, and causes high costs for the future extension.\nMake sure to reduce the unnecessary block depths. If needed, splitting the function or refactoring the code to reduce the complexity and enhance the readability.",
  "rule.saqt.m.java.7185.example.0.dangerous": "Line 2: The maximum block depth in the function is too deep.\nLine 8: Due to too many block depths, the maximum block depth has exceeded the threshold.",
  "rule.saqt.m.java.7185.example.0.safe": "Line 2: Keep the number of block depths in the function under the threshold.\nLine 8: The number of block depths is lower than the threshold.",
  "rule.saqt.m.java.7185.name": "Too many block depths",
  "rule.saqt.m.java.7185.option.threshold.description": "Enter the maximum number for the block depths. If exceeded, it will be identified as an issue.",
  "rule.saqt.m.java.7185.option.threshold.name": "Threshold",
  "rule.saqt.m.java.7191.description": "When the parameters are too many, readability and maintenance of the code might be lower. This raises the possibility encountering errors, and causes high costs for the future extension.\nMake sure to reduce the parameters. If needed, refactoring the code to reduce the complexity and enhance the readability.",
  "rule.saqt.m.java.7191.example.0.dangerous": "Line 2: Too many parameters in the function.",
  "rule.saqt.m.java.7191.example.0.safe": "Line 2: Keep the number of parameters of this function under the threshold.",
  "rule.saqt.m.java.7191.name": "Too many parameters",
  "rule.saqt.m.java.7191.option.threshold.description": "Enter the maximum number for the parameters. If exceeded, it will be identified as an issue.",
  "rule.saqt.m.java.7191.option.threshold.name": "Threshold",
  "rule.saqt.m.java.7193.description": "The rule calculates callers of certain function and validates excessive interdependencies. If calls come within one function, they will be counted as one. Too many callers might lower readability and maintenance of the code. This raises the possibility encountering errors, and causes high costs for the future extension.\nMake sure to implement well-designed layer structures of logic and avoid having too much callers. If needed, refactoring the code to reduce the complexity and enhance the readability.",
  "rule.saqt.m.java.7193.example.0.dangerous": "Line 2: Too many callees from the function.\nLine 21: The number of callees from calleeMethod() has exceeded the threshold.",
  "rule.saqt.m.java.7193.example.0.safe": "Line 2: Keep the number of callers of this function under the threshold.\nLine 21: The number of callers to calleeMethod() is lower than the threshold.",
  "rule.saqt.m.java.7193.name": "Too many callers",
  "rule.saqt.m.java.7193.option.threshold.description": "Enter the maximum number for the callers. If exceeded, it will be identified as an issue.",
  "rule.saqt.m.java.7193.option.threshold.name": "Threshold",
  "rule.saqt.m.java.7195.description": "The rule calculates callees of certain function and validates excessive interdependencies. If calls come within one function, they will be counted as one. Too many callees might lower readability and maintenance of the code. This raises the possibility encountering errors, and causes high costs for the future extension.\nMake sure to implement well-designed layer structures of logic and avoid having too much callees. If needed, refactoring the code to reduce the complexity and enhance the readability.",
  "rule.saqt.m.java.7195.example.0.dangerous": "Line 2: Too many callees from the function.\nLine 6: The number of callees from the function has exceeded the threshold.",
  "rule.saqt.m.java.7195.example.0.safe": "Line 2: Keep the number of callees of this function under the threshold.\nLine 6: The number of callees from the function is lower than the threshold.",
  "rule.saqt.m.java.7195.name": "Too many callees",
  "rule.saqt.m.java.7195.option.threshold.description": "Enter the maximum number for the callers. If exceeded, it will be identified as an issue.",
  "rule.saqt.m.java.7195.option.threshold.name": "Threshold",
  "rule.saqt.m.java.7197.description": "When the executable code lines are too long, readability and maintenance of the code might be lower. This raises the possibility encountering errors, and causes high costs for the future extension.\nMake sure to reduce the executable code lines. If needed, splitting the function or refactoring the code to reduce the complexity and enhance the readability.",
  "rule.saqt.m.java.7197.example.0.dangerous": "Line 2: Too many executable code lines in the function.\nLine 5: The number of the executable code lines in the function has exceeded the threshold.",
  "rule.saqt.m.java.7197.example.0.safe": "Line 2: Keep the number of executable code lines under the threshold.\nLine 5: The number of executable code lines is lower than the threshold.",
  "rule.saqt.m.java.7197.name": "Too many executable code lines",
  "rule.saqt.m.java.7197.option.threshold.description": "Enter the maximum number for the executable code lines. If exceeded, it will be identified as an issue.",
  "rule.saqt.m.java.7197.option.threshold.name": "Threshold",
  "rule.saqt.q.abap.1734.description": "The Use of BREAK-POINT statement checker finds BREAK-POINT statements.\nAll BREAK-POINT statements must be removed from the code before the application is deployed into production.\nThe attacker can use the debugging mode by manipulating variables and etc. to access to the unauthorize table.\nRemove the BREAK-POINT statement from the code of deployed application.",
  "rule.saqt.q.abap.1734.example.0.dangerous": "Line 2: A BREAK-POINT statement is used.",
  "rule.saqt.q.abap.1734.example.0.safe": "Line 2: Remove the BREAK-POINT statement from distributed application code.",
  "rule.saqt.q.abap.1734.name": "Use of BREAK-POINT statement",
  "rule.saqt.q.abap.1735.description": "The Use of SYSTEM-CALL statement checker finds SYSTEM-CALL statements.\nNo SYSTEM-CALL statements should be used. The official ABAP documentation strongly advises to restrict them only to internal development uses. Anytime in a later version of ABAP, SYSTEM-CALL may become incompatible without any warning or notice.\nAll SYSTEM-CALL statements must be removed from the code before the application is deployed into production.",
  "rule.saqt.q.abap.1735.example.0.dangerous": "Line 4: A SYSTEM-CALL is used.",
  "rule.saqt.q.abap.1735.example.0.safe": "Line 4: Remove the SYSTEM-CALL statement from distributed application code.",
  "rule.saqt.q.abap.1735.name": "Use of SYSTEM-CALL statement",
  "rule.saqt.q.abap.1736.description": "The Use of system C functions checker finds CALL statements.\nNo system C function calls (CALL statements) should be used. The official ABAP documentation advise to restrict them only to internal development uses and not for application programming.\nAll CALL statements must be removed from the code before the application is deployed into production.",
  "rule.saqt.q.abap.1736.example.0.dangerous": "Line 2: A CALL statement is used.",
  "rule.saqt.q.abap.1736.example.0.safe": "Line 4: Remove the CALL statement from distributed application code.",
  "rule.saqt.q.abap.1736.name": "Use of system C functions",
  "rule.saqt.q.abap.1737.description": "The CX_ROOT Exception Handling checker finds instances of using CX_ROOT for exception handling.\nCX_ROOT is the base exception type that includes all exceptions. If CX_ROOT is used for exception handling, it is hard to identify which specific exceptions have occurred.\nUse more specific exception types. In the code that may cause division by zero, for instance, use CX_SY_ZERODIVIDE instead.",
  "rule.saqt.q.abap.1737.example.0.dangerous": "Line 6: CX_ROOT is caught.",
  "rule.saqt.q.abap.1737.example.0.safe": "Line 6: Catch CX_SY_ZERODIVIDE instead of the CX_ROOT.",
  "rule.saqt.q.abap.1737.name": "CX_ROOT Exception Handling",
  "rule.saqt.q.abap.1738.description": "The Missing WHEN OTHERS clause checker finds CASE statements that do not include a WHEN OTHERS clause.\nA WHEN OTHERS clause addresses cases that are not subject to other WHEN clauses in a CASE statement. To ensure the stability of the program, each CASE statement must include a WHEN OTHERS clause.\nAdd a WHEN OTHERS clause to each of the CASE statements.",
  "rule.saqt.q.abap.1738.example.0.dangerous": "Line 1: A WHEN OTHERS is found in CASE statements.",
  "rule.saqt.q.abap.1738.example.0.safe": "Line 6: Use the WHEN OTHERS clause in the CASE statements.",
  "rule.saqt.q.abap.1738.name": "Missing WHEN OTHERS clause",
  "rule.saqt.q.abap.1739.description": "The Too Short WHEN Clause checker finds CASE statements that include fewer than three WHEN clauses.\nEach CASE statement must include at least three WHEN clauses (including a WHEN OTHERS clause). If fewer clauses are needed, consider using an IF-ELSE statement.\nUse an IF statement instead to handle the conditional branching.",
  "rule.saqt.q.abap.1739.example.0.dangerous": "Line 1: Only two WHEN clauses are found in CASE statements.",
  "rule.saqt.q.abap.1739.example.0.safe": "Line 1: Handle this code with an IF-ELSE instead of branching.",
  "rule.saqt.q.abap.1739.name": "Too Short WHEN Clause",
  "rule.saqt.q.abap.1739.option.threshold.description": "The analyzer will generate an alarm If number of \"WHEN\" clauses is less than threshold. (default : 3)",
  "rule.saqt.q.abap.1739.option.threshold.name": "\"WHEN\" clauses threshold",
  "rule.saqt.q.abap.1741.description": "The Empty catch block checker finds exception-handling blocks that have no relevant content.\nIt detects empty catch blocks containing no actual executable code.\nIf a caught exception is not handled, it is hard to find out the causes of accompanying program errors.\nAdd an exception-handling code in the empty block. If you don't want any measure for an exception, you may simply leave an error message.",
  "rule.saqt.q.abap.1741.example.0.dangerous": "Line 5: Exception handling code is found in a CATCH block.",
  "rule.saqt.q.abap.1741.example.0.safe": "Line 5: Add an exception handling code to the CATCH block.",
  "rule.saqt.q.abap.1741.name": "Empty catch block",
  "rule.saqt.q.abap.1744.description": "The Missing ELSE clause checker finds IF-ELSE statements that do not end with an ELSE clause.\nEach IF-ELSE must end with an ELSE clause. If an ELSE clause is missing, exceptional cases might be poorly handled.\nAdd a proper ELSE clause that can handle exceptional cases.",
  "rule.saqt.q.abap.1744.example.0.dangerous": "Line 1: IF statement is not ended with an ELSE clause.",
  "rule.saqt.q.abap.1744.example.0.safe": "Line 5: Add the ELSE clause to handle exceptions.",
  "rule.saqt.q.abap.1744.name": "Missing ELSE clause",
  "rule.saqt.q.abap.1754.description": "The Use of DATA BEGIN OF OCCURS Statement checker finds DATA BEGIN OF OCCURS statements.\nSince DATA BEGIN OF OCCURS is no longer supported from ABAP 7.0 onward, this should not be used. The official ABAP documentation recommends to stop using it.\nReplace the DATA BEGIN OF OCCURS statements with those of DATA BEGIN OF.",
  "rule.saqt.q.abap.1754.example.0.dangerous": "Line 1: DATA BEGIN OF OCCURS statement is used.",
  "rule.saqt.q.abap.1754.example.0.safe": "Line 1: Use DATA BEGIN OF statement instead of the DATA BEGIN OF OCCURS.",
  "rule.saqt.q.abap.1754.name": "Use of DATA BEGIN OF OCCURS Statement",
  "rule.saqt.q.abap.1755.description": "The Use of NOT IN checker finds SQL queries that use NOT IN.\nReplace the instances of NOT IN with NO EXIST.\nDo not use NOT IN in SQL queries. Even though NOT IN may be more efficient than NOT EXIST, null inputs to NOT IN may cause wrong results.",
  "rule.saqt.q.abap.1755.example.0.dangerous": "Line 2: A CALL statement is used.",
  "rule.saqt.q.abap.1755.example.0.safe": "Line 2: Use NOT EXISTS instead of the NOT IN.",
  "rule.saqt.q.abap.1755.name": "Use of NOT IN",
  "rule.saqt.q.abap.1756.description": "The Missing WHERE clause in DELETE statement checker finds DELETE statements that do not contain a WHERE clause.\nEach \"DELETE from dbtable\" statement must contain a WHERE clause. Running a DELETE statement without a WHERE clause will delete all records in the table. Even if you want to delete all records, it is recommended to add a WHERE clause to prevent mistakes.\nMake sure all DELETE statements contain a WHERE clause.",
  "rule.saqt.q.abap.1756.example.0.dangerous": "Line 1: A DELETE is used without a WHERE cluase.",
  "rule.saqt.q.abap.1756.example.0.safe": "Line 1: Use a WHERE clause in the DELETE statements.",
  "rule.saqt.q.abap.1756.name": "Missing WHERE clause in DELETE statement",
  "rule.saqt.q.abap.1756.option.ignore_table.description": "Enter the table name to be ignored in the detection target.",
  "rule.saqt.q.abap.1756.option.ignore_table.name": "Table name to ignore",
  "rule.saqt.q.abap.1758.description": "The Use of EXIT and CHECK statements in loop checker finds instances of using EXIT or CHECK in a SELECT loop.\nDo not use EXIT and CHECK statements in a SELECT loop. Those statements stop the execution of the SELECT loop, hence an expensive and ineffective way to filter data. It is recommended to include the conditions of CHECK and EXIT in the condition section of a SELECT statement.\nUse a SELECT statement's conditions, instead of those of CHECK and EXIT, to filter out data.",
  "rule.saqt.q.abap.1758.example.0.dangerous": "Line 2: A CHECK statement is used.",
  "rule.saqt.q.abap.1758.example.0.safe": "Line 2: Move conditions of the CHECK statement to SELECT statement.",
  "rule.saqt.q.abap.1758.name": "Use of EXIT and CHECK statements in loop",
  "rule.saqt.q.abap.1760.description": "The Use of * in SELECT Statement checker finds SELECT statements that use * to load all columns.\nSpecify columns when using a SELECT statement.\nDo not use a \"SELECT * ...\" statement to load all columns.  This may negatively affect the performance.",
  "rule.saqt.q.abap.1760.example.0.dangerous": "Line 1: * is used in a SELECT statement.",
  "rule.saqt.q.abap.1760.example.0.safe": "Line 1: Specify a column to read in the SELECT statement.",
  "rule.saqt.q.abap.1760.name": "Use of * in SELECT Statement",
  "rule.saqt.q.abap.1761.description": "The Use of native SQL checker finds EXEC statements.\nUsing native SQL in ABAP is not recommended.\nReplace with open SQL if possible. Use native SQL only when it is not replaceable (for compatibility with other DBs).",
  "rule.saqt.q.abap.1761.example.0.dangerous": "Line 1: Native SQL (EXEC SQL~ ENDEXEC.) is used.",
  "rule.saqt.q.abap.1761.example.0.safe": "Line 1: Remove the Native SQL.",
  "rule.saqt.q.abap.1761.name": "Use of native SQL",
  "rule.saqt.q.abap.1762.description": "The Use of FORM Statement checker finds FORM statements.\nBecause FORM is an internally used subroutine, its involvement decreases code reusability. SAP recommends not to use FORM statements.\nFor code reusability, use METHOD or FUNCTION instead.",
  "rule.saqt.q.abap.1762.example.0.dangerous": "Line 1: A FORM statement is used.",
  "rule.saqt.q.abap.1762.example.0.safe": "Line 1: Replace the FORM statement with a METHOD.",
  "rule.saqt.q.abap.1762.name": "Use of FORM Statement",
  "rule.saqt.q.abap.1763.description": "The Missing WHERE in UPDATE Statement checker finds UPDATE statements that do not contain a WHERE clause.\nEach UPDATE statement must contain a WHERE clause. Without a WHERE clause, all records are updated.\nAdd a WHERE clause not to update all records.",
  "rule.saqt.q.abap.1763.example.0.dangerous": "Line 1: No WHERE clause is found in UPDATE statements.",
  "rule.saqt.q.abap.1763.example.0.safe": "Line 1: Add the WHERE clause to the UPDATE statements.",
  "rule.saqt.q.abap.1763.name": "Missing WHERE in UPDATE Statement",
  "rule.saqt.q.abap.1764.description": "The Use of REFRESH FROM TABLE Statement checker finds REFRESH FROM TABLE statements.\n\"REFRESH itable FROM TABLE dbtable\" statements should not be used because they are no longer supported.\nReplace the REFRESH statements with INTO clauses in SELECT statements.",
  "rule.saqt.q.abap.1764.example.0.dangerous": "Line 7: A statement \"REFRESH itab FROM TABLE dbtable\" is used.",
  "rule.saqt.q.abap.1764.example.0.safe": "Line 3: Replace the \"REFRESH itab FROM TABLE dbtable\" with a INTO clause of SELECT statement.",
  "rule.saqt.q.abap.1764.name": "Use of REFRESH FROM TABLE Statement",
  "rule.saqt.q.abap.1765.description": "The Use of SELECT Statement in Loop checker finds SELECT statements that are used within a LOOP or WHILE statement.\nSELECT statements must not be used within a LOOP or WHILE statement. Queries nested in a loop can cause performance issues. However, such nesting is possible if a UP TO 1 ROWS clause is added to each query.\nDo not use SELECT statements within a LOOP or WHILE statement unless they are used with UP TO 1 ROWS.",
  "rule.saqt.q.abap.1765.example.0.dangerous": "Line 2: A SELECT statement is used in LOOP statements. The SELECT statement used without UP TO 1 ROWS can be failed.",
  "rule.saqt.q.abap.1765.example.0.safe": "Line 1: Use the SELECT out of the LOOP statements.",
  "rule.saqt.q.abap.1765.name": "Use of SELECT Statement in Loop",
  "rule.saqt.q.abap.1766.description": "The Too deeply nested control flows checker finds too deeply nested control statements.\nIf control flow statements such as IF, DO, LOOP, CASE, WHILE, SELECT, or PROVIDE are nested more deeply than the optionally specified depth, the checker detects them.\nAs excessively deep nesting decreases readability and maintainability, you need to fix it. The nesting depth limit can be optionally modified.\nUse AND or OR clauses to eliminate unnecessary nesting.",
  "rule.saqt.q.abap.1766.example.0.dangerous": "Line 1: An IF statement is found.\nLine 2: An IF statement is found.\nLine 3: A DO statement is found. The statement is nested three times.",
  "rule.saqt.q.abap.1766.example.0.safe": "Line 1: An IF statement is found.\nLine 2: A DO statement is found. The statement is nested two times. (By default, nesting depth is specified to 3.)",
  "rule.saqt.q.abap.1766.name": "Too deeply nested control flows",
  "rule.saqt.q.abap.1766.option.threshold.description": "Set nested depth limit number.",
  "rule.saqt.q.abap.1766.option.threshold.name": "Nested depth limit",
  "rule.saqt.q.abap.1769.description": "The Too big file checker finds source files whose lines are more than the line limit.\nA single source code file has too many lines. A code source code file containing too many lines is poorly maintainable. The line limit is 500 lines by default and can be optionally modified.\nSplit the code by function into separate files.",
  "rule.saqt.q.abap.1769.example.0.dangerous": "Line 1: The number of lines of source1.abap file is exceeding the specified limit.",
  "rule.saqt.q.abap.1769.example.0.safe": "Line 1: Divide code of the file into two separate files, such as source1_1.abap, and source1_2.abap) by similar features.",
  "rule.saqt.q.abap.1769.name": "Too big file",
  "rule.saqt.q.abap.1769.option.max_lines.description": "Put a maximum line number",
  "rule.saqt.q.abap.1769.option.max_lines.name": "Maximum lines",
  "rule.saqt.q.abap.1770.description": "The Nested SELECT Statement checker finds SELECT statements that are nested in another SELECT statement.\nUse a JOIN clause instead of nesting a SELECT statement. Combining SELECT and JOIN ensures better performance than using a nested SELECT statement.\nUse a JOIN clause instead of nesting a SELECT statement.",
  "rule.saqt.q.abap.1770.example.0.dangerous": "Line 3: Nested SELECT statements are found.",
  "rule.saqt.q.abap.1770.example.0.safe": "Line 3: Use a JOIN clause instead of the nested SELECT statements.",
  "rule.saqt.q.abap.1770.name": "Nested SELECT Statement",
  "rule.saqt.q.abap.1771.description": "The Too many branches in loop checker finds loops that contain too many control statements.\nThe checker detects loops with two or more control statements (CONTINUE, EXIT, and CHECK).\nReplace detected loops with differently structured but semantically identical ones.\nDo not use two or more CONTINUE, EXIT, or CHECK statements. This may complicate the code structure.",
  "rule.saqt.q.abap.1771.example.0.dangerous": "Line 6: CONTINUE, EXIT, or CHECK statement is used more than once within a loop.",
  "rule.saqt.q.abap.1771.example.0.safe": "Line 5: Modify the loops into other ones with different structures in order to use one control statement.",
  "rule.saqt.q.abap.1771.name": "Too many branches in loop",
  "rule.saqt.q.abap.1773.description": "The Missing SORT field checker finds SORT statements with no key fields specified.\nTo sort an internal table using a SORT statement, key fields must be specified. Failure to specify key fields may cause extreme inefficiency.\nSpecify key fields for sorting.",
  "rule.saqt.q.abap.1773.example.0.dangerous": "Line 1: An internal table is aligned without specifying SORT fields.",
  "rule.saqt.q.abap.1773.example.0.safe": "Line 1: Specify the base field used for the alignment.",
  "rule.saqt.q.abap.1773.name": "Missing SORT field",
  "rule.saqt.q.abap.1774.description": "The Missing ORDER BY clause in SELECT statement checker finds SELECT statements that do not contain an ORDER BY clause.\nSELECT statements must be used together with an ORDER BY clause. Without ORDER BY, those statements may load data in an unexpected order.\nUse SELECT statements together with an ORDER BY clause.",
  "rule.saqt.q.abap.1774.example.0.dangerous": "Line 1: A SELECT statement is used without ORDER BY.\nLine 2: A SELECT statement is used without ORDER BY.",
  "rule.saqt.q.abap.1774.example.0.safe": "Line 1: Use an ORDER BY clause in the SELECT statement.\nLine 2: Use an ORDER BY clause in the SELECT statement.",
  "rule.saqt.q.abap.1774.name": "Missing ORDER BY clause in SELECT statement",
  "rule.saqt.q.abap.1775.description": "The Missing WHERE clause in SELECT statement checker finds SELECT statements that do not contain a WHERE clause.\nSELECT statements must be used together with a WHERE clause. Without a WHERE clause, all records of the table are loaded, which may affect performance.\nUse SELECT statements together with a WHERE clause.",
  "rule.saqt.q.abap.1775.example.0.dangerous": "Line 1: A SELECT statement is used without a WHERE clause.",
  "rule.saqt.q.abap.1775.example.0.safe": "Line 1: Use a WHERE clause in the SELECT statement.",
  "rule.saqt.q.abap.1775.name": "Missing WHERE clause in SELECT statement",
  "rule.saqt.q.abap.1777.description": "The Use of Internal Source Code-handling Statement checker finds instances of using a statement restricted only to internal use.\nThese statements include: DELETE REPORT, GENERATE REPORT, LOAD REPORT, SCAN, DELETE TEXTPOOL, EXPORT DYNPRO, IMPORT DYNPRO, DELETE DYNPRO, SYNTAX-CHECK FOR DYNPRO, and GENERATE DYNPRO.\nInternal-use statements must not remain in source code deployed. SAP also recommends to restrict them only to internal use or not to use them at all.\nRemove the internal-use statements.",
  "rule.saqt.q.abap.1777.example.0.dangerous": "Line 1: A LOAD REPORT statement is used.",
  "rule.saqt.q.abap.1777.example.0.safe": "Line 1: Remove the statement used for internal purpose.",
  "rule.saqt.q.abap.1777.name": "Use of Internal Source Code-handling Statement",
  "rule.saqt.q.abap.1781.description": "The Use of BYPASSING BUFFER Clause checker finds SELECT statements that use a BYPASSING BUFFER clause.\nRemove the BYPASSING BUFFER clauses from their respective SELECT statements.\nDo not use a BYPASSING BUFFER clause in an SQL statement. A BYPASSING BUFFER clause explicitly disables the SAP table from buffering, which then makes the SELECT statement load data directly from the database. This may cause performance issues and thus it is recommended not to be used.",
  "rule.saqt.q.abap.1781.example.0.dangerous": "Line 3: A BYPASSING BUFFER clause is used.",
  "rule.saqt.q.abap.1781.example.0.safe": "Line 3: Remove the BYPASSING BUFFER clauses from their respective SELECT statements.",
  "rule.saqt.q.abap.1781.name": "Use of BYPASSING BUFFER Clause",
  "rule.saqt.q.abap.1782.description": "The Use of DISTINCT Operator checker finds SELECT statements that use the DISTINCT operator.\nRemove the DISTINCT operator from the SELECT statements.\nDo not use the DISTINCT operator in an SQL statement. With this operator used, data is read not from the application server's buffer but directly from the database.",
  "rule.saqt.q.abap.1782.example.0.dangerous": "Line 1: A DISTINCT operator is used in SELECT statements.",
  "rule.saqt.q.abap.1782.example.0.safe": "Line 1: Remove the DISTINCT operator from the SELECT statements.",
  "rule.saqt.q.abap.1782.name": "Use of DISTINCT Operator",
  "rule.saqt.q.abap.1784.description": "The Duplicated string checker finds string constants that are used repeatedly.\nThe checker detects instances in which an identical string constant occurs more times than the specified count.\nModifying a repeatedly used string constant requires edits at all occurrences of the constant, thus prone to cause a mistake.\nUse variables for repeatedly used strings.",
  "rule.saqt.q.abap.1784.example.0.dangerous": "Line 3: An identical string \"Firstname\" is repeated three times or more, which is set in an option.",
  "rule.saqt.q.abap.1784.example.0.safe": "Line 1: Use the string \"Firstname\" by storing it to fname variable.",
  "rule.saqt.q.abap.1784.name": "Duplicated string",
  "rule.saqt.q.abap.1784.option.threshold.description": "Set duplicated count.",
  "rule.saqt.q.abap.1784.option.threshold.name": "String duplication limit",
  "rule.saqt.q.c.127.description": "The Misuse of TRY and CATCH macro checker finds instances in which a CATCH label comes before a call to the TRY macro. \nIf a call to the TRY macro is positioned after a CATCH label, exceptions occurring in the call cannot be caught under the preceding CATCH label, thus making the control flow hard to understand.\nMake sure all calls to the TRY macro precede the CATCH label and the CATCH label occurs only once at the end of each set of TRY/CATCH blocks.",
  "rule.saqt.q.c.127.example.0.dangerous": "Line 5: TRY macro is used after a CATCH label.",
  "rule.saqt.q.c.127.example.0.safe": "Line 5: Do not use the TRY macro after the CATCH.",
  "rule.saqt.q.c.127.name": "Misuse of TRY and CATCH macro",
  "rule.saqt.q.c.127.option.catch_macro.description": "set up catch macro name.",
  "rule.saqt.q.c.127.option.catch_macro.name": "catch macro",
  "rule.saqt.q.c.127.option.try_macro.description": "Set up try macro name.",
  "rule.saqt.q.c.127.option.try_macro.name": "try macro",
  "rule.saqt.q.c.142.description": "The Missing call of commit or rollback functions in transaction checker finds DB transactions where an explicit call to the commit() or rollback() function is missing.\nWhen each single DB transaction is normally finished, commit() must be called. And if a transaction fails while executed, rollback() must be called. If either of the two functions is missing in the code, it cannot address all possible situations during the DB transaction.\nMake sure both commit() and rollback() are present in every DB transaction block.",
  "rule.saqt.q.c.142.example.0.dangerous": "Line 2: commit() function is called, but rollback() is not explicitly called.",
  "rule.saqt.q.c.142.example.0.safe": "Line 2: Explicitly call both commit() and rollback() functions.",
  "rule.saqt.q.c.142.name": "Missing call of commit or rollback functions in transaction",
  "rule.saqt.q.c.142.option.commit_function.description": "Set up commit function",
  "rule.saqt.q.c.142.option.commit_function.name": "commit function",
  "rule.saqt.q.c.142.option.rollback_function.description": "Set up rollback function.",
  "rule.saqt.q.c.142.option.rollback_function.name": "rollback function",
  "rule.saqt.q.c.1440.description": "The Use of Forbidden Restrict Qualifier checker finds instances of using the restrict type qualifier.\nThe restrict type qualifier is generally used to enable the compiler to generate a more efficient code. However, when using the restrict type qualifier, the programmer must be well aware of whether two or more pointers manipulate a particular memory area. Although this qualifier may help generate some more efficient code, it poses a significant risk of causing mistakes regarding pointers. So, its use is not recommended.\nDo not use the restrict type qualifier.",
  "rule.saqt.q.c.1440.example.0.dangerous": "Line 3: A restrict type modifier is used.",
  "rule.saqt.q.c.1440.example.0.safe": "Line 3: Do not use the restrict type modifier.",
  "rule.saqt.q.c.1440.name": "Use of Forbidden Restrict Qualifier",
  "rule.saqt.q.c.1446.description": "The Use of forbidden tgmath.h header checker finds instances of using the standard header tgmath.h.\nThe tgmath.h header provides type-generic math functions. This library may make it hard to intuitively find out which function implementation will be selected, and if an unintended function is selected, the program may run in an unintended way. Therefore, it is recommended to use the math.h header instead, if possible, which allows you to explicitly specify the function to call.\nUse the math.h header rather than tgmath.h.",
  "rule.saqt.q.c.1446.example.0.dangerous": "Line 1: tgmath.h is included.",
  "rule.saqt.q.c.1446.example.0.safe": "Line 1: Do not use the tgmath.h.",
  "rule.saqt.q.c.1446.name": "Use of forbidden tgmath.h header",
  "rule.saqt.q.c.1652.description": "The Inadequate type of argument of scanf checker finds instances of failure to pass reference addresses to the scanf() function's second and subsequent arguments.\nThe scanf() function receives as arguments the memory addresses that are to store the interpreted values of the inputs. Therefore, you have to pass an array or pointer variable; or if you want to store the input in a local variable, pass a reference (&) to that variable.\nWhen calling the scanf() function, pass reference addresses.",
  "rule.saqt.q.c.1652.example.0.dangerous": "Line 3: An int variable is sent as an argument of scanf() function.",
  "rule.saqt.q.c.1652.example.0.safe": "Line 3: Send a variable address of n as the argument of scanf() function.",
  "rule.saqt.q.c.1652.name": "Inadequate type of argument of scanf",
  "rule.saqt.q.c.1653.description": "The Inadequate size of allocated block checker finds instances of memory allocation where the passed allocation size is not a multiple of the type size of the pointer that stores the allocation result.\nStoring a memory allocation result in a pointer variable of a specific type means that the memory whitespace will be interpreted to store objects of the same type, unless otherwise intended. Therefore, the total memory allocation size must be a multiple of the specified type's occupied whitespace in memory.\nWhen allocating memory, pass a size argument that is a multiple of the type size of the storing pointer.",
  "rule.saqt.q.c.1653.example.0.dangerous": "Line 3: Assigned memory is stored to a long pointer, but requested memory size, 11, is not a multiple of 4.\nLine 4: Assigned memory is stored to a long pointer, but requested memory size, 3, is not a multiple of 4.",
  "rule.saqt.q.c.1653.example.0.safe": "Line 3: The size of assigned memory must be a multiple of the long pointer, 4.",
  "rule.saqt.q.c.1653.name": "Inadequate size of allocated block",
  "rule.saqt.q.c.1890.description": "The Assignment of parameter to improper type checker finds type mismatches between called arguments and declared parameters in functions.\nA type mismatch between a parameter and an argument may cause an unexpected behavior of the function or an unintended implicit type cast.\nCorrect the mismatches between parameters and arguments.",
  "rule.saqt.q.c.1890.example.0.dangerous": "Line 1: use_int16() function is declared to get an int16_t(short) type as a parameter.\nLine 7: The use_int16() function is called with uint16_t(unsigned short) type of the argument.",
  "rule.saqt.q.c.1890.example.0.safe": "Line 7: Send the same type of the argument with parameter declared in the function call.",
  "rule.saqt.q.c.1890.name": "Assignment of parameter to improper type",
  "rule.saqt.q.c.1891.description": "The Assignment of mixed char and integer types checker finds instances of assigning an invalid value to a 1-byte character or integer variable.\nYou should not assign an integer value to a variable of a character type (char_t, etc.), and also not assign a character value to a variable of an integer type (sint8_t, uint8_t, etc.).\nThe 1-byte integer and character types may be taken as the same type depending on the compiler and execution environment, but distinguishing them helps prevent confusion. In some cases, moreover, character variables may be extended to 2 bytes; hence, failure to distinguish integer and character will compromise the code compatibility.\nMake a clear distinction between the character and integer types.",
  "rule.saqt.q.c.1891.example.0.dangerous": "Line 4: A char type of char_t variable is assigned with numbers.\nLine 5: An int type of sint8_t variable is assigned with characters.",
  "rule.saqt.q.c.1891.example.0.safe": "Line 4: Assign a character to the char type of char_t variable.\nLine 5: Assign a number to the int type of sint8_t variable.",
  "rule.saqt.q.c.1891.name": "Assignment of mixed char and integer types",
  "rule.saqt.q.c.1945.description": "The Missing call of required function checker finds instances in which a function is called but its paired function is not subsequently called under one function body.\nFunction pairs can be optionally specified.\nNecessary function pairs include the lock and unlock functions, memory allocation and deallocation functions, and file opening and closing functions, to name a few. Although it is not mandatory to call both of a pair under the same function body, doing so is a way of preventing failure to call the subsequent one. You can use this checker to make sure paired functions are always called under one function body.\nMake sure paired functions are always called under one function body.",
  "rule.saqt.q.c.1945.example.0.dangerous": "Line 11: Suppose that mycall() and mustcall() functions are optionally specified as a pair. A subject to analysis, mycall() is called.\nLine 12: mycall() is called by bad_ex() function, but mustcall() is not.",
  "rule.saqt.q.c.1945.example.0.safe": "Line 11: Call the mycall() function.\nLine 17: Call the paired function, mustcall().",
  "rule.saqt.q.c.1945.name": "Missing call of required function",
  "rule.saqt.q.c.1945.option.sink_func.description": "Describe a function name must be called when the target function is called after",
  "rule.saqt.q.c.1945.option.sink_func.name": "Must call function",
  "rule.saqt.q.c.1945.option.source_func.description": "Describe target function",
  "rule.saqt.q.c.1945.option.source_func.name": "Target function to analyze",
  "rule.saqt.q.c.1950.description": "The Missing function declaration checker finds instances of calling a function whose name is never declared in any of the complied sources.\nCalling a non-declared function causes compilation failure. The programmer may have been confused with the name of the function to call.\nCheck for failure to declare the called functions, or for typos in their names.",
  "rule.saqt.q.c.1950.example.0.dangerous": "Line 4: func() is declared.",
  "rule.saqt.q.c.1950.example.0.safe": "Line 1: Declare the function before using.",
  "rule.saqt.q.c.1950.name": "Missing function declaration",
  "rule.saqt.q.c.2013.description": "The Misuse of FILE Object checker finds instances of dereferencing a pointer to a FILE object or manually manipulating its inside.\nThe FILE object type is designed to be handled only by calling related library functions. Therefore, a copied FILE object does not necessarily behave identically to its original object, and if values inside a FILE object are arbitrarily manipulated, related library entities may not work properly.\nMake sure FILE objects are handled only by calling library functions as are they designed.",
  "rule.saqt.q.c.2013.example.0.dangerous": "Line 6: A value inside a FILE object is manually manipulated.\nLine 13: A FILE pointer pf1 is dereferenced.",
  "rule.saqt.q.c.2013.example.0.safe": "Line 6: Do not manipulate the value inside the FILE object.\nLine 13: Do not dereference the FILE object, and assign a value to the pointer.",
  "rule.saqt.q.c.2013.name": "Misuse of FILE Object",
  "rule.saqt.q.c.2032.description": "The Array-type Parameter Declaration with Static Keyword checker finds function declarations that include an array-type parameter with the static keyword in the square brackets.\nIn the C99 standard, an array-type parameter can be declared with the static keyword in its brackets to inform the compiler that the array size is no less than n. Some compilers use this information to generate a more efficient code for some processors. However, if an array smaller than n is passed, an undefined action occurs. Compilers has no guarantee for this situation, and the programmer is totally responsible to prevent it. Because its consequent bugs are not easy to find by debugging, it is recommended not to use such a highly demanding function.\nDo not use the static keyword when declaring an array-type parameter.",
  "rule.saqt.q.c.2032.example.0.dangerous": "Line 1: A static keyword is used for array parameter declaration. This refers to the size of array to be sent to arguments as 20 or larger.\nLine 7: A array with size of less than 20 is sent to the argument. This can cause unexpected results.",
  "rule.saqt.q.c.2032.example.0.safe": "Line 1: Do not use the static keyword for the array parameter declaration.",
  "rule.saqt.q.c.2032.name": "Array-type Parameter Declaration with Static Keyword",
  "rule.saqt.q.c.2039.description": "The Modification of Parameter in Call-by-value Function checker finds instances of assigning a value to a parameter inside a function although the parameter receives a value when the function is called.\nBy default, C programming uses the call by value method in passing arguments, which means that parameters stay with the initial values passed in the function call even if assigned new values. Programmers not accustomed to C programming may misunderstand that a modification to a parameter value will affect the argument passed by the caller function, which may cause a bug hard to discover.\nDo not assign values to parameters. If you need to affect an argument passed by the caller function, change the parameter type to a pointer type and pass a reference to the argument variable, instead of the argument variable itself.",
  "rule.saqt.q.c.2039.example.0.dangerous": "Line 3: A value is assigned to a parameter.\nLine 9: Programmers not accustomed to C programming may expect x to be changed to 0, but it is 10.",
  "rule.saqt.q.c.2039.example.0.safe": "Line 3: If you want to manipulate a variable of caller, declare the parameter type as pointer, and assign a value to dereferenced memory.\nLine 9: Send a reference of x, while calling f() function. x is 0 after the function gets returned.",
  "rule.saqt.q.c.2039.name": "Modification of Parameter in Call-by-value Function",
  "rule.saqt.q.c.2046.description": "The Inline Function Declaration without Static checker finds inline functions that are not declared static.\nMake sure all inline functions are declared static.",
  "rule.saqt.q.c.2046.example.0.dangerous": "Line 1: A non-static inline function is declared.",
  "rule.saqt.q.c.2046.example.0.safe": "Line 1: Add a static keyword to the inline function.",
  "rule.saqt.q.c.2046.name": "Inline Function Declaration without Static",
  "rule.saqt.q.c.2047.description": "The Macro Named after Keyword checker finds macros that are named after a keyword.\nKeywords refer to words predefined in the programming language's syntax, including auto, break, case, char, const, continue, default, do, double, else, enum, extern, float, for, goto, if, int, long, register, return, short, signed, sizeof, static, struct, switch, typedef, union, unsigned, void, volatile, and while.\nRename the macros to what are not keywords.",
  "rule.saqt.q.c.2047.example.0.dangerous": "Line 1: A while keyword is used as a macro name.",
  "rule.saqt.q.c.2047.example.0.safe": "Line 1: Rename the macro to what are not keywords.",
  "rule.saqt.q.c.2047.name": "Macro Named after Keyword",
  "rule.saqt.q.c.2049.description": "The One-line Comment Spanning Multiple Lines checker finds one-line comments that start with `//` and use backslashes to span multiple lines.\nIn C, if a backslash is put at the end of a line, the compiler considers this line and the next line combined as one extended line.\nIf you need a comment that occupies multiple lines, use `/* */`, which is provided for multiline comments.",
  "rule.saqt.q.c.2049.example.0.dangerous": "Line 1: A backslash is used at the end of a single line comment.\nLine 2: This line is considered as comments started from above.",
  "rule.saqt.q.c.2049.example.0.safe": "Line 1: Remove the backlash that is considered misspelled.",
  "rule.saqt.q.c.2049.name": "One-line Comment Spanning Multiple Lines",
  "rule.saqt.q.c.2051.description": "The Useless Label checker finds labels that are not used in functions.\nUnused labels hinder reading of the program's control flow.\nDelete unused labels.",
  "rule.saqt.q.c.2051.example.0.dangerous": "Line 3: Label second is found in a function, but not used.",
  "rule.saqt.q.c.2051.example.0.safe": "Line 3: Delete unused labels.",
  "rule.saqt.q.c.2051.name": "Useless Label",
  "rule.saqt.q.c.2053.description": "The Useless Tag Declaration checker finds tag declarations that are not used anywhere in the project.\nUnused tag declarations hinder reading of the program's structure and make it difficult to address duplicate tag declarations.\nDelete unused tags.",
  "rule.saqt.q.c.2053.example.0.dangerous": "Line 3: An enum tag, state, is declared, but not used.\nLine 8: A struc tag, record_t, is declared, but not used. The type of record1_t is used.",
  "rule.saqt.q.c.2053.example.0.safe": "Line 8: Do not declare the unused tag, define the record1_t type.",
  "rule.saqt.q.c.2053.name": "Useless Tag Declaration",
  "rule.saqt.q.c.2054.description": "The Useless Macro Declaration checker finds macro declarations that are not used anywhere in the project.\nUnused macro declarations make it difficult to address duplicate type declarations.\nDelete unused macros.",
  "rule.saqt.q.c.2054.example.0.dangerous": "Line 1: DATA macro is declared, but not used.",
  "rule.saqt.q.c.2054.example.0.safe": "Line 1: Delete unused macros.",
  "rule.saqt.q.c.2054.name": "Useless Macro Declaration",
  "rule.saqt.q.c.2055.description": "The Duplicate Declarations of Identifier with External Linkage checker finds instances in which global identifiers with external linkage are declared once more at another level of scope.\nGlobally declared identifiers that have external linkage are highly likely to have significance throughout the whole range of the project. If these identifiers are redeclared internally, the code may become less understandable.\nDelete or rename the duplicate identifiers.",
  "rule.saqt.q.c.2055.example.0.dangerous": "Line 7: A local variable count8, declared from another file, is declared again as local variables.",
  "rule.saqt.q.c.2055.example.0.safe": "Line 7: Rename the variable name.",
  "rule.saqt.q.c.2055.name": "Duplicate Declarations of Identifier with External Linkage",
  "rule.saqt.q.c.2056.description": "The Side effect on initializer list checker finds initializer list expressions that have side effects.\nA side effect refers to a side modification that an expression makes to the program's memory status which leads to influencing the evaluation of other expressions.\nUnlike C90, which restricts initializer list elements to constants, C99 allows expressions in an initializer list. However, as the expressions in an initializer list are not specified regarding their order of evaluation, each compiler may interpret the list in a different sequence. Therefore, if some expressions in the list affect the memory status, the outcomes of the list will vary with which expressions are executed earlier. This makes it hard to predict the results.\nMake sure that only expressions having no interference with one another are used as elements of an initializer list.",
  "rule.saqt.q.c.2056.example.0.dangerous": "Line 7: An expression with side effects is included in an initializer list. Because status of x variable has been changed, results can vary in accordance of evaluation sequence.",
  "rule.saqt.q.c.2056.example.0.safe": "Line 7: Remove the expression with side effects.",
  "rule.saqt.q.c.2056.name": "Side effect on initializer list",
  "rule.saqt.q.c.2057.description": "The Side effect on designated initializer list checker finds designator lists in which expressions have side effects.\nA side effect refers to a side modification that an expression makes to the program's memory status which leads to influencing the evaluation of other expressions.\nElements of a designator list can assume expressions as initializers. However, as the expressions in an initializer list are not specified regarding their order of evaluation, each compiler may interpret the list in a different sequence. Therefore, if some expressions in the list affect the memory status, the outcomes of the list will vary with which expressions are executed earlier. This makes it hard to predict the results.\nMake sure that only expressions having no interference with one another are used as elements in a designator list.",
  "rule.saqt.q.c.2057.example.0.dangerous": "Line 5: An expression with side effects is included in a designator list. Because status of *p dereferencing memory has been changed, results can vary in accordance of evaluation sequence.",
  "rule.saqt.q.c.2057.example.0.safe": "Line 5: Remove the side effects.",
  "rule.saqt.q.c.2057.name": "Side effect on designated initializer list",
  "rule.saqt.q.c.2058.description": "The Missing Item in Designator List checker finds designator lists in which some items are not given initializers.\nIn the case of initializing an array or struct object, if initializers are set only for a subset of its elements while the rest are left without initializers, the code subsequent to the object's initialization may use the object with the incorrect assumption that the whole object has been initialized. This can result in the program behaving abnormally.\nMake sure designator lists initialize all elements of their object.",
  "rule.saqt.q.c.2058.example.0.dangerous": "Line 10: Field c of mystruct is not initialized.",
  "rule.saqt.q.c.2058.example.0.safe": "Line 10: Initialize all fields.",
  "rule.saqt.q.c.2058.name": "Missing Item in Designator List",
  "rule.saqt.q.c.2059.description": "The Use of Compiler-specific Code Extension checker finds instances of using a code extension portable only with specific environments or compilers.\nSource code may become less portable if containing an environment- or compiler-specific code extension.\nComply with the language's common standards as much as possible to make sure your source code is highly portable.",
  "rule.saqt.q.c.2059.example.0.dangerous": "Line 1: An inline property is forced to add to a function. The property works normally on CNU Compiler Collection (GCC).",
  "rule.saqt.q.c.2059.example.0.safe": "Line 1: Remove the compiler-specific property.",
  "rule.saqt.q.c.2059.name": "Use of Compiler-specific Code Extension",
  "rule.saqt.q.c.2061.description": "The Invalid Return from Preprocessor Conditional Expression checker finds instances in which an #if or #elif preprocessor directive's expression evaluates to neither a 0 nor 1.\nMake sure the conditional expression in a preprocessor directive always evaluates to either a 0 or 1.",
  "rule.saqt.q.c.2061.example.0.dangerous": "Line 6: A conditional expression used in #if preprocessing statements is evaluated to 10.",
  "rule.saqt.q.c.2061.example.0.safe": "Line 6: Fix the expression to be evaluated to 0 or 1.",
  "rule.saqt.q.c.2061.name": "Invalid Return from Preprocessor Conditional Expression",
  "rule.saqt.q.c.2062.description": "The Duplicate Initializer in Designator List checker finds instances in which the same item is marked twice or more in a designator list.\nMake sure each item in a designator list is initialized only once.",
  "rule.saqt.q.c.2062.example.0.dangerous": "Line 6: An identical item [2] is initialized twice.",
  "rule.saqt.q.c.2062.example.0.safe": "Line 6: Initialize the item only once.",
  "rule.saqt.q.c.2062.name": "Duplicate Initializer in Designator List",
  "rule.saqt.q.c.2063.description": "The Forbidden exception handling in fenv.h header checker finds instances of using an exception handling function provided by the fenv.h header.\nA floating-point status flag may cause an unexpected result. Caution is needed particularly in a multithreaded environment.\nDo not use an exception handling function provided by the fenv.h header.",
  "rule.saqt.q.c.2063.example.0.dangerous": "Line 10: feclearexcept() function is used to handle exceptions in fenv.h.",
  "rule.saqt.q.c.2063.example.0.safe": "Line 10: Do not call the function.",
  "rule.saqt.q.c.2063.name": "Forbidden exception handling in fenv.h header",
  "rule.saqt.q.c.2064.description": "The Use of forbidden function of stdarg.h header checker finds instances of using the stdarg.h header.\nThe variadic functions provided by the stdarg.h header may cause a stack overflow in the program leading to a serious error unless their use is fully compliant with the rules. It is recommended not to use the header because it is highly demanding and prone to cause mistakes.\nDo not use the stdarg.h header.",
  "rule.saqt.q.c.2064.example.0.dangerous": "Line 3: va_list is used.\nLine 7: va_arg is called.",
  "rule.saqt.q.c.2064.example.0.safe": "Line 3: Do not declare the variadic function.",
  "rule.saqt.q.c.2064.name": "Use of forbidden function of stdarg.h header",
  "rule.saqt.q.c.2065.description": "The Too Long Function Code checker finds functions that span more than the specified line limit.\nYou can optionally specify up to how many lines a function can span.\nFix the detected functions so that they do not exceed the line limit. A function spanning too many lines is likely to include a large number of capabilities; you can consider dividing them into multiple smaller functions.",
  "rule.saqt.q.c.2065.example.0.dangerous": "Line 1: big_function() is spanning too many lines.",
  "rule.saqt.q.c.2065.example.0.safe": "Line 1: Split the function into several functions, or shorten it by cleaning code.",
  "rule.saqt.q.c.2065.name": "Too Long Function Code",
  "rule.saqt.q.c.2065.option.include_comment_null_stmt.description": "Set including empty lines or comments",
  "rule.saqt.q.c.2065.option.include_comment_null_stmt.name": "Include empty lines or comments",
  "rule.saqt.q.c.2065.option.max_loc.description": "Set max lines of the function",
  "rule.saqt.q.c.2065.option.max_loc.name": "Max lines of the function",
  "rule.saqt.q.c.2066.description": "The Block with Too Many Levels of Nesting checker finds functions that have too many levels of nesting.\nA function having too many levels of nesting is poorly readable and maintainable.\nSuch a function is likely to include a large number of capabilities; you can consider dividing them into multiple smaller functions. Or, refactor the code to eliminate the deeply nested blocks.",
  "rule.saqt.q.c.2066.example.0.dangerous": "Line 5: An if statement block is included in a double block.",
  "rule.saqt.q.c.2066.example.0.safe": "Line 5: Remove the if block to lower nesting levels.",
  "rule.saqt.q.c.2066.name": "Block with Too Many Levels of Nesting",
  "rule.saqt.q.c.2066.option.max_level.description": "Set max nesting depth",
  "rule.saqt.q.c.2066.option.max_level.name": "Nesting Depth",
  "rule.saqt.q.c.2067.description": "The Out of Range of Constant Argument in Function checker finds instances in which a constant argument out of range is passed to a function.\nYou can optionally specify an allowable range of each constant argument for each function.\nSome functions are defined to work only when passed with an argument falling within a certain range of values. In mathematics, for example, division by zero is undefined, and the arcsine function is properly defined only in the range of real numbers between -1 and 1. Your program may also have such restrictions, and you can check for the observance of them using this checker.\nAdjust the values of the passed constant arguments into range.",
  "rule.saqt.q.c.2067.example.0.dangerous": "Line 6: Because foo() is defined to accept integers between 0 and 1000, -1 is an invalid argument.",
  "rule.saqt.q.c.2067.example.0.safe": "Line 6: Send the argument in allowed scopes.",
  "rule.saqt.q.c.2067.name": "Out of Range of Constant Argument in Function",
  "rule.saqt.q.c.2067.option.targets.description": "Describe target functions. \"function name, index, start-end\". Index starts with 0.",
  "rule.saqt.q.c.2067.option.targets.name": "Target function to analyze",
  "rule.saqt.q.c.2068.description": "The Too many execution paths checker finds functions that have too many execution paths.\nThe number of execution paths allowed can be optionally specified.\nA function having too many execution paths is poorly readable and maintainable.\nSuch a function is likely to include a large number of capabilities; you can consider dividing them into multiple smaller functions. Or, refactor the code to reduce the execution paths.",
  "rule.saqt.q.c.2068.example.0.dangerous": "Line 2: All executable paths of switch statements is declared by 100 case statements.",
  "rule.saqt.q.c.2068.example.0.safe": "Line 2: Refactor the code to reduce the executable paths by binding case statements with identical actions.",
  "rule.saqt.q.c.2068.name": "Too many execution paths",
  "rule.saqt.q.c.2068.option.threshold.description": "Detect issues when executable paths exceed or equal the specified number.",
  "rule.saqt.q.c.2068.option.threshold.name": "Max executable path",
  "rule.saqt.q.c.2069.description": "The Division by Undecidable Value checker finds instances of dividing by an undeterminable value.\nThe checker forces to divide by a determinable value, thereby preventing errors such as division by zero.\nMake sure all division operations take a determinable value as their second operand.",
  "rule.saqt.q.c.2069.example.0.dangerous": "Line 2: Variable p1 is not decidable.",
  "rule.saqt.q.c.2069.example.0.safe": "Line 3: Variable b is already specified, which enables division operation.",
  "rule.saqt.q.c.2069.name": "Division by Undecidable Value",
  "rule.saqt.q.c.2070.description": "The Implicit Function Declaration checker finds implicit declarations of functions.\nIf a function is implicitly declared, compilers may arbitrarily designate the types of its return and arguments and thus fail to inspect those types correctly. This means a higher possibility of misusing the function.\nMake sure all functions are explicitly declared including their argument and return types before they are used.",
  "rule.saqt.q.c.2070.example.0.dangerous": "Line 4: power() function is implicitly declared.",
  "rule.saqt.q.c.2070.example.0.safe": "Line 1: Explicitly declare the power() function before using.",
  "rule.saqt.q.c.2070.name": "Implicit Function Declaration",
  "rule.saqt.q.c.2753.description": "The Write to Read-only File checker finds attempts to write on a read-only file.\nIn the C standard, attempting a write to a read-only stream is an undefined action. Unable to predict what action will be followed.\nExecute only read actions in read-only files. If you need a write to a file, open the file in a mode that accepts both read and write access.",
  "rule.saqt.q.c.2753.example.0.dangerous": "Line 4: A tmp file is opened in read-only mode.\nLine 5: frpintf() function is tried to write on a read-only file.",
  "rule.saqt.q.c.2753.example.0.safe": "Line 4: Send \"rw\" as a mode argument to open the file to read and write, if needed.",
  "rule.saqt.q.c.2753.name": "Write to Read-only File",
  "rule.saqt.q.c.2764.description": "The Use of cnd_wait without Loop checker finds calls to the cnd_wait() function that are not controlled under a loop.\nAs the cnd_wait() function may unblock before obtaining the necessary resource, it must be re-checked though a loop before proceeding to the next step.\nBe sure to call cnd_wait() only under loop control.",
  "rule.saqt.q.c.2764.example.0.dangerous": "Line 19: A call for cnd_wait() is not found in a loop.",
  "rule.saqt.q.c.2764.example.0.safe": "Line 19: A call for cnd_wait() is found in a loop.",
  "rule.saqt.q.c.2764.name": "Use of cnd_wait without Loop",
  "rule.saqt.q.c.2765.description": "The Double-freeing of Thread checker finds instances of performing both a join and a detach on the same thread.\nBecause both join and detach reclaim the resources of the called thread, either of them should be executed only once on the thread. For example, if Thread A performs a join on Thread B, Thread A will wait until the completion of Thread B and then will reclaim the resources of Thread B. Or, if Thread B performs a detach, it will be detached from its caller, Thread A, and its resources will be independently reclaimed once Thread B finishes. If both a join by Thread A on Thread B and a detach by Thread B itself are performed, resource reclamation occurs twice. Attempts of both actions on the same thread may result in an unexpected behavior.\nPerform either a join or detach on a thread only once.",
  "rule.saqt.q.c.2765.example.0.dangerous": "Line 6: thrd_detach() is called for a thread to detach.\nLine 18: thrd_join() is called for the identical thread to join.",
  "rule.saqt.q.c.2765.example.0.safe": "Line 6: The thread is going to join later. Delete the detach function call.",
  "rule.saqt.q.c.2765.name": "Double-freeing of Thread",
  "rule.saqt.q.c.6479.description": "MISRA C:2012 recommends against using language features added to the C11 standard. These features may cause undefined or unclear behavior, and may have unexpected behavior for developers.\nFor safe software development, you should avoid using features added to the C11 standard.",
  "rule.saqt.q.c.6479.example.0.dangerous": "Line 1, 5, 12: This uses features that have been added to the C11 standard, which can cause issues with unexpected behavior.",
  "rule.saqt.q.c.6479.example.0.safe": "Line 1-12: The features added to the C11 standard are not used, so they are safe.",
  "rule.saqt.q.c.6479.name": "Disable added language features",
  "rule.saqt.q.c.6480.description": "Functions in the <ctype.h> file accept integer arguments, but the argument value must be within the range of an unsigned char or be an EOF value to ensure normal behavior. If any other value is passed, it can cause undefined behavior.\nWhen passing values to functions defined in <ctype.h>, make sure they are either representable as unsigned char or EOF. This can be done by explicitly casting it or by checking the range of the value with a conditional statement.",
  "rule.saqt.q.c.6480.example.0.dangerous": "Line 6: A value outside the unsigned char range is used in isalnum(), which is dangerous.",
  "rule.saqt.q.c.6480.example.0.safe": "Line 6: Values within the unsigned char range are used in isalnum(), which is safe.",
  "rule.saqt.q.c.6480.name": "Validating values passed to <ctype.h> functions",
  "rule.saqt.q.c.6481.description": "The standard library functions `memcpy`, `memmove`, and `memcmp` specify that pointer arguments passed to them must be of compatible types. This is because these functions require strict type compatibility for pointer types; using incompatible types of pointers can cause unexpected behavior.\nPointer arguments passed to the `memcpy`, `memmove`, and `memcmp` functions must be of the same type.",
  "rule.saqt.q.c.6481.example.0.dangerous": "Line 8: The pointer arguments passed to the memcpy() function are of different types, which is dangerous.",
  "rule.saqt.q.c.6481.example.0.safe": "Line 8: The pointer arguments passed to the memcpy() function are of the same type, which is safe.",
  "rule.saqt.q.c.6481.name": "Checking Pointer Argument Type Compatibility",
  "rule.saqt.q.c.6482.description": "The standard library functions `localeconv`, `getenv`, `setlocale`, and `strerror` specify that pointers returned by them should only be used as pointers with `const`. These functions return static data internally, and attempting to modify the data can cause unexpected behavior. Therefore, the returned pointers should be treated as unmodifiable `const` pointers.\nPointers returned by `localeconv`, `getenv`, `setlocale`, and `strerror` should only be used as pointers with the `const` qualifier.",
  "rule.saqt.q.c.6482.example.0.dangerous": "Line 10: The pointer returned from strerror() is not treated as a const qualifier, which is dangerous.",
  "rule.saqt.q.c.6482.example.0.safe": "Line 10: The pointer returned from strerror() is treated as a const qualifier, making it safe.",
  "rule.saqt.q.c.6482.name": "Handling returned pointer const",
  "rule.saqt.q.c.6483.description": "It is recommended that pointers returned by the standard library functions `asctime`, `ctime`, `gmtime`, `localtime`, `localeconv`, `getenv`, `setlocale`, and `strerror` not be reused in subsequent calls to the same function. These functions use static buffers internally to store data, and the buffers may be overwritten on subsequent calls.\nPointers returned by the `asctime`, `ctime`, `gmtime`, `localtime`, `localeconv`, `getenv`, `setlocale`, and `strerror` functions should not be reused in subsequent calls, but should be used by copying the previously returned value.",
  "rule.saqt.q.c.6483.example.0.dangerous": "Line 8: The data returned by the setlocale() function is reused after the same function is used, which is dangerous.",
  "rule.saqt.q.c.6483.example.0.safe": "Line 5-11: The data returned from the setlocale() function is safe because it is not reused after using the same function.",
  "rule.saqt.q.c.6483.name": "Do not reuse returned pointers",
  "rule.saqt.q.c.6484.description": "The standard library functions specify that the values returned from them should be compared to EOF unmodified or untyped. This is because if the values of functions that can return EOF values are modified and then compared, the EOF condition cannot be determined correctly.\nCompare the return values of the `getchar`, `fgetc`, `scanf`, `fscanf`, `getwc`, `fgetwc`, and `ungetc` functions, which can return EOF values, to the EOF macro untransformed.",
  "rule.saqt.q.c.6484.example.0.dangerous": "Line 12: Using the fscanf() function, which can return an EOF value, without comparing it to the EOF value is dangerous.",
  "rule.saqt.q.c.6484.example.0.safe": "Line 12-15: It is safe to compare and use the fscanf() function, which can return an EOF value, against the EOF value.",
  "rule.saqt.q.c.6484.name": "Compare the returned EOF data",
  "rule.saqt.q.c.6485.description": "When the `errno` set function is called, the value of `errno` must be checked for errors by comparing it to `0` before the next function call. If an error occurs, `errno` is set to a nonzero value, and if the set function does not detect an error, the value is not modified.\nAfter calling the `errno` set function, the value of `errno` is checked for errors by comparing it to `0` before the next function call. This must be done on all paths within the same function, and `errno` must not be modified before checking.",
  "rule.saqt.q.c.6485.example.0.dangerous": "Line 6: Other functions are dangerous because they don't check that errno has a value of 0 before using them.",
  "rule.saqt.q.c.6485.example.0.safe": "Line 10: Before using any other functions, make sure errno has a value of 0 to be safe.",
  "rule.saqt.q.c.6485.name": "Check for errors after setting errno",
  "rule.saqt.q.c.6486.description": "When examining the `errno` value, the last function called must be the function that sets `errno`. Only functions that set `errno` will set the value of `errno` when an error occurs. Other functions might not set `errno` or might set it unexpectedly.\nBefore checking the `errno` value, make sure that the last function called is a function that sets `errno`.",
  "rule.saqt.q.c.6486.example.0.dangerous": "Line 8: This is dangerous because the function just before the code that validates the value of errno is not the errno setting function.",
  "rule.saqt.q.c.6486.example.0.safe": "Line 7: We're safe by setting errno in strtod(), the function that sets errno.",
  "rule.saqt.q.c.6486.name": "Check for invalid errno",
  "rule.saqt.q.c.69.description": "The Useless Assignment checker finds assignment statements that cannot, in any cases, make changes in the values of the variables involved.\nThe checker reports a defect when an assignment statement can never change the value of the variable under any circumstances. \nIf the removal of a statement does not affect the program output, that piece of code is unnecessary and redundant. Whether the statement is written on purpose is not clear to code reviewers. This kind of meaningless evaluation must be fixed to optimize the program.\nRemove the code lines that do not affect the program.",
  "rule.saqt.q.c.69.example.0.dangerous": "Line 2: 2 is assigned to veriable a.\nLine 4: a+2(=4) is assigned to veriable b.\nLine 6: The variable a is assigned with 2, and 'b - 2' is evaluated as 2.",
  "rule.saqt.q.c.69.example.0.safe": "Line 6: Remove the unnecessary variable assignment and write normal code with variables and their reassigned value.",
  "rule.saqt.q.c.69.name": "Useless Assignment",
  "rule.saqt.q.c.7310.description": "External identifiers such as variables or functions declared with `extern` in C must be distinguishable based on the significant characters recognized by the compiler. The C standard considers at least the first 31 characters of an external identifier as significant. If two different identifiers are identical within these 31 characters, the linker may fail to distinguish them, causing name collisions.\n\nSuch name collisions can lead to linker errors or portability issues resulting in unexpected behavior. Therefore, external identifiers must be clearly distinguishable within the range of significant characters. External identifiers should use sufficiently distinct names to avoid conflicts, especially ensuring uniqueness within the first 31 characters to prevent name collisions.",
  "rule.saqt.q.c.7310.example.0.dangerous": "Line 2: This is a previously declared identifier causing a conflict.\nLine 3: A conflict occurs because it has the same name as the identifier on line 2 within 31 characters.",
  "rule.saqt.q.c.7310.example.0.safe": "Line 3: The name should be written to be distinguishable from other external identifiers within 31 characters to avoid name collisions.",
  "rule.saqt.q.c.7310.name": "External identifier name conflict",
  "rule.saqt.q.c.7311.description": "In C language, internal identifiers declared within the same scope must be distinguishable based on the significant characters recognized by the compiler. The C standard defines at least the first 63 characters of an internal identifier as significant. If two different identifiers are identical within these 63 characters, the compiler may not distinguish them, leading to name collisions.\n\nSuch name collisions can cause compiler errors or portability issues resulting in unexpected behavior. Therefore, internal identifiers must be clearly distinguishable within the range of significant characters. Internal identifiers should use sufficiently different names to be distinguishable from others in the same scope. In particular, names should be clearly distinct within the first 63 characters to avoid name collisions.",
  "rule.saqt.q.c.7311.example.0.dangerous": "Line 3: This is a previously declared identifier causing a conflict.\nLine 4: A conflict occurs because it has the same name as the identifier on line 2 within 63 characters.",
  "rule.saqt.q.c.7311.example.0.safe": "Line 4: The name should be written to be distinguishable from other internal identifiers within 63 characters to avoid name collisions.",
  "rule.saqt.q.c.7311.name": "Internal identifier name collision",
  "rule.saqt.q.c.7313.description": "In the C language, macros and identifiers must be distinguished based on the significant characters recognized by the preprocessor. The C standard considers up to 63 characters of a macro or identifier as significant. If macros and identifiers are identical within these 63 characters, the preprocessor cannot differentiate them, leading to name collisions.\n\nSuch name collisions can cause unexpected text substitutions or compilation errors. Therefore, macros and identifiers must be clearly distinguishable within the range of significant characters. Use sufficiently different names for macros and identifiers to ensure they can be distinguished. In particular, use names that are clearly distinct within the first 63 characters to avoid name collisions.",
  "rule.saqt.q.c.7313.example.0.dangerous": "Line 2: This is a previously declared macro causing the conflict.\nLine 3: A conflict occurs because it has the same name as the macro on line 2 within 63 characters.",
  "rule.saqt.q.c.7313.example.0.safe": "Line 3: The name should be written within 63 characters and distinguishable from macros to avoid name collisions.",
  "rule.saqt.q.c.7313.name": "Meaningful character macro name collision",
  "rule.saqt.q.c.7324.description": "The _Noreturn specifier explicitly declares that a function does not return to its caller by any path. Such functions are used to terminate program control flow abnormally, for example with abort() or exit(). Using a return statement in a _Noreturn function, or reaching the end of the function body and returning, results in undefined behavior. This violates the intended control flow contract and can severely compromise program stability.  \nFunctions declared with _Noreturn must eliminate any possibility of returning to the caller. Return statements should be removed, or the function should be modified to call non-returning functions like abort() or exit() to ensure termination. This must be verified for all control paths, and no implicit return statements should exist.",
  "rule.saqt.q.c.7324.example.0.dangerous": "Line 3: An explicit return statement was used in a function declared with _Noreturn.\nLine 11: An implicit return occurred in a function declared with _Noreturn.",
  "rule.saqt.q.c.7324.example.0.safe": "Line 3: Use a termination function to prevent the return from occurring.\nLine 11: Eliminate the possibility of a return occurring in all control flows.",
  "rule.saqt.q.c.7324.name": "Return from a function declared with _Noreturn",
  "rule.saqt.q.c.7326.description": "Functions that do not return control to the caller must be specified with the _Noreturn function specifier. This clearly indicates that the function is designed not to return, such as terminating the program via an exit function or entering an infinite loop. Using _Noreturn helps improve code readability and maintainability.\n\nThe main() function is an exception to this rule and cannot be declared as _Noreturn according to the C standard.\nIf all control flows within a function do not return, the _Noreturn specifier must be added to both the function declaration and definition.",
  "rule.saqt.q.c.7326.example.0.dangerous": "Line 1: The _Noreturn specifier declaration is missing in a function that does not return.",
  "rule.saqt.q.c.7326.example.0.safe": "Line 1: If a function does not return in all control flows, the _Noreturn specifier must be declared.",
  "rule.saqt.q.c.7326.name": "Missing _Noreturn declaration for a function that does not return",
  "rule.saqt.q.c.7335.description": "The first argument of a generic selection expression corresponds to the controlling expression, and the type of the expression passed here is identified at compile time. Therefore, even if there are side effects within the expression, the operation is not actually performed. This can cause unintended side effects not to occur, leading to unpredictable bugs.  \nOnly pure expressions without side effects should be used in the controlling expression of _Generic. In other words, it must not include operators that cause side effects such as modifying values or calling functions.",
  "rule.saqt.q.c.7335.example.0.dangerous": "Line 8: An expression with side effects was used as a _Generic argument.",
  "rule.saqt.q.c.7335.example.0.safe": "Line 9: Expressions with side effects must not be used as _Generic arguments.",
  "rule.saqt.q.c.7335.name": "Side Effects Included in _Generic Argument",
  "rule.saqt.q.c.7336.description": "A generic selection expression must include at least one explicit type. If the _Generic association list contains only the default value and no other type specifications, it has no meaning as a generic selection. Since the default case is always selected unconditionally, the _Generic expression itself becomes unnecessary.\n\nThe purpose of _Generic is to select the expression matching the type of the first argument from multiple types, so specifying at least one explicit type is necessary to fulfill the intended use of this feature.\nA generic selection expression must specify at least one explicit type in addition to the default case.",
  "rule.saqt.q.c.7336.example.0.dangerous": "Line 1: The _Generic type specification contains only default values and lacks specifications for specific types.",
  "rule.saqt.q.c.7336.example.0.safe": "Line 1: You must specify one or more explicit types in the _Generic type specification to use this feature as intended.",
  "rule.saqt.q.c.7336.name": "_Generic with default values only",
  "rule.saqt.q.c.7337.description": "The association list for writing type specifications of generic selection expressions must not include inappropriate types that cannot exactly match the type of the controlling expression. _Generic selects the entry whose type matches the type of the controlling expression after lvalue conversion. In this conversion process, top-level qualifiers such as const and volatile are removed, and array and function types are converted to pointers.\n\nTherefore, types like const int and int[] cannot be used as type specifications in _Generic. Such inappropriate types serve no purpose and are likely programmer errors or misunderstandings of the feature.\nWhen writing type specifications for generic selection expressions, only types that can match the type after lvalue conversion should be used. Thus, top-level qualifiers must be removed in the type specification, array types should be replaced with pointer types, and function types should be specified as function pointer types. Additionally, anonymous structs or unions cannot be specified.",
  "rule.saqt.q.c.7337.example.0.dangerous": "Line 2: Specified qualifiers such as const in the associated list of _Generic.\nLine 3: Specified array types in the associated list of _Generic.",
  "rule.saqt.q.c.7337.example.0.safe": "Line 2: When writing type specifications, qualifiers such as const must be removed.\nLine 3: When writing type specifications, array types must be converted to pointer types.",
  "rule.saqt.q.c.7337.name": "_Invalid type specification for _Generic",
  "rule.saqt.q.c.7353.description": "When initializing an array object using designated initializers in C, if the array size is not explicitly specified, the compiler determines the array size based on the highest index among the initialized elements. Designated initializers, introduced in the C99 standard, allow assigning values directly to specific elements or members when initializing arrays or structures.\n\nSuch designated initialization can lead to arrays of unintended sizes depending on usage, which can be especially confusing in large initialization lists. Explicitly specifying the array size enables the compiler to catch out-of-bounds initialization attempts, serving as an important safeguard against potential runtime errors or bugs.\n\nFor all array initializations using designated initializers, the array size must be specified inside the `[]` in the array declaration. This makes the code clearer and safer, and allows other developers to immediately understand the actual size of the array when reading the code.",
  "rule.saqt.q.c.7353.example.0.dangerous": "Line 2-3: Explicit array size is missing for the array initialized using designated initializers.",
  "rule.saqt.q.c.7353.example.0.safe": "Line 2-3: The size of the array must be explicitly specified when using designated initializers.",
  "rule.saqt.q.c.7353.name": "Array object specified initialization size missing",
  "rule.saqt.q.c.7364.description": "A chained designator is a method of accessing sub-objects within a struct or array by linking multiple designators like a.b.c, and it is a type of explicit designator that directly accesses the target of the struct.\n\nIf even one chained designator is used in an initializer list, all initializations must use explicit designators. Mixing chained designators with positional initializers can confuse readers and obscure the developer's intent. This is especially problematic in nested struct or array initializations, where it becomes very difficult to determine which value is assigned to which member.\n\nTherefore, when initializing structs, it is necessary to use a consistent initialization method to improve code readability and prevent potential bugs. If chained designators are used in the initializer list, all initialization elements must use explicit designators such as .member or [index]. This does not mean all fields must be initialized, but that the initialization method should be unified using chained and explicit designators.\n\nIf positional initialization is required, chained designators should not be used, or separate braces {} should be used to clearly distinguish sub-objects.",
  "rule.saqt.q.c.7364.example.0.dangerous": "Line 13: Mixed designated initializers and order-based initialization in struct initialization.",
  "rule.saqt.q.c.7364.example.0.safe": "Line 13: If designated initializers are used in struct initialization, the remaining members must also be initialized using explicit designators.  \nLine 14: Alternatively, if positional initialization is used, clear braces must be used to distinguish the struct initialization.",
  "rule.saqt.q.c.7364.name": "Mixing chain specifiers with order-based initialization",
  "rule.saqt.q.c.7385.description": "The _Atomic type qualifier specifies that a variable must be accessed atomically. This plays a crucial role in preventing data races and memory corruption when multiple threads access the variable concurrently in a multithreaded environment. If a transformation removes the _Atomic qualifier, the guarantee of atomic access is invalidated, potentially causing unexpected behavior or data corruption when multiple threads access the variable simultaneously.  \nUnder no circumstances should a transformation that removes the _Atomic qualifier be performed.",
  "rule.saqt.q.c.7385.example.0.dangerous": "Line 4: Removed the _Atomic qualifier from the pointer's pointed-to type through explicit casting.",
  "rule.saqt.q.c.7385.example.0.safe": "Line 3: You must ensure atomic operations and maintain type safety by using the variable with the _Atomic qualifier intact without removing it.",
  "rule.saqt.q.c.7385.name": "_Atomic qualifier lost during type conversion",
  "rule.saqt.q.c.7386.description": "In C, the _Atomic qualifier guarantees atomic operations on variables. However, applying the _Atomic qualifier to the incomplete type void is incorrect usage. Specifically, type declarations like void _Atomic* that attempt to enforce atomicity on the pointed-to object do not guarantee pointer size or memory alignment, leading to undefined behavior and reduced portability. This is distinctly different from _Atomic void*, which applies atomicity to the pointer variable itself. The detection targets only cases where _Atomic is applied to the pointed-to type (void). The _Atomic qualifier should be applied only to complete types. In other words, instead of using _Atomic with incomplete types like void _Atomic*, it should be used only with types whose size and structure are clearly defined.",
  "rule.saqt.q.c.7386.example.0.dangerous": "Line 8: Declared by assigning the address of a fully typed struct to a void _Atomic* variable of incomplete type.  \nLine 9: Declared by assigning the address of an _Atomic int32_t type field to a void _Atomic* variable.",
  "rule.saqt.q.c.7386.example.0.safe": "Line 8: The struct address must be correctly assigned to the same complete type struct S*.\nLine 9: The address of the _Atomic int32_t type field must be assigned to the correct pointer type.",
  "rule.saqt.q.c.7386.name": "Improper use of void _Atomic type",
  "rule.saqt.q.c.7387.description": "In C, the _Atomic qualifier prevents data races in multithreaded environments and ensures that read/write operations on variables are atomic. The C standard specifies dedicated functions like atomic_store() and atomic_load(), as well as assignment operators on the entire object, for performing these atomic operations.\n\nDirectly accessing members of a struct or union declared with _Atomic using the . or -> operators bypasses the atomicity guarantees. This causes access to those members to be non-atomic, leading to data races and unpredictable program behavior.\n\nAvoid direct access to members of structs or unions declared with _Atomic. Instead, if you need to access fields, create a local copy first. For example, use atomic_load() to atomically copy the entire object into a local variable. Then safely modify the members of the local variable and store the updated value back into the atomic object using atomic_store() or the assignment operator. This ensures atomicity is maintained on operations involving the entire object rather than individual members.",
  "rule.saqt.q.c.7387.example.0.dangerous": "Line 9: Direct access to a member of a struct declared with _Atomic was performed.",
  "rule.saqt.q.c.7387.example.0.safe": "Line 9-12: To update the value of a struct member declared with _Atomic, you must use a local variable and functions related to atomic objects for the update.",
  "rule.saqt.q.c.7387.name": "Direct access to atomic object members is prohibited",
  "rule.saqt.q.c.7392.description": "A variably-modified array (VLA) refers to an array whose size is determined at runtime rather than at compile time. Pointers to such variably-modified arrays include dynamic size information as part of their type.\n\nWhen two pointers to variably-modified arrays are used in assignments or comparisons, the compiler cannot verify whether the arrays they point to have the same size. This undermines the type system's safety and can lead to undefined behavior if assignment occurs between pointers to arrays of different sizes. Moreover, this syntax is not supported by many compilers, causing portability issues.\n\nAvoid using variably-modified arrays in parameter types, including pointer types. If you need to pass array data with variable length to a function, it is recommended to use the traditional approach of passing a pointer along with a separate parameter specifying the array size.",
  "rule.saqt.q.c.7392.example.0.dangerous": "Line 1: The second parameter is declared as a pointer type pointing to a variable-sized array.",
  "rule.saqt.q.c.7392.example.0.safe": "Line 1: Instead of using a variable-length array pointer, it is recommended to use a traditional pointer type along with the array size as parameters.",
  "rule.saqt.q.c.7392.name": "Disallowed variable-length array parameter",
  "rule.saqt.q.c.7410.description": "The type-generic macros defined in the <tgmath.h> header automatically select the appropriate function based on the argument types. For this feature to work correctly, all arguments passed to the macros must be essentially arithmetic types. Using non-arithmetic types such as essentially character types or enumerations violates the rules and causes undefined behavior.\n\nSince some implementations of the type-generic macros performing mathematical operations may be functions depending on the compiler, the actual detection process performs checks targeting functions.\nAll arguments passed to <tgmath.h> type-generic macros must be essentially arithmetic types such as integers or floating-point types. If essentially character types, enumerations, or non-arithmetic types are used, it is recommended to explicitly cast them to arithmetic types before the macro call.",
  "rule.saqt.q.c.7410.example.0.dangerous": "Line 6: An intrinsic character type was passed as an argument to the type generic macro.\nLine 7: An enumeration type was passed as an argument to the type generic macro.",
  "rule.saqt.q.c.7410.example.0.safe": "Line 6: You must pass an intrinsic arithmetic type to the type-generic macro for it to function correctly.\nLine 8: Alternatively, before using a non-arithmetic type, you must explicitly cast it to an arithmetic type and then pass it to the type-generic macro.",
  "rule.saqt.q.c.7410.name": "Inappropriate argument type for type generic macro",
  "rule.saqt.q.c.7411.description": "When using type-generic macros with two or more arguments defined in <tgmath.h>, such as pow, hypot, and fmax, all arguments must have the same type even after integer promotion.\n\nIf the argument types differ, it becomes unclear which precision of the function the macro will ultimately select, risking unexpected precision loss. This issue commonly occurs on platforms using extended floating-point types, reducing code clarity and potentially causing data loss. All arguments passed to multi-argument type-generic macros must be explicitly adjusted to have the same type after integer promotion.\n\nSpecifically, for integer types, small-range integers are automatically promoted to int or unsigned int according to promotion rules, so mixing these is not problematic. However, mixing with long after integer promotion can cause conflicts and is not allowed.\n\nFor floating-point types, types like float and double must not be mixed. In both cases, explicit casting to the wider type should be performed before use.",
  "rule.saqt.q.c.7411.example.0.dangerous": "Line 9-10: The arguments passed to the type generic macro do not have the same standard type after integer promotion.",
  "rule.saqt.q.c.7411.example.0.safe": "Line 9-10: Arguments passed to type generic macros must have the same standard type through explicit type casting.",
  "rule.saqt.q.c.7411.name": "Type mismatch in multi-parameter type generic macro",
  "rule.saqt.q.c.7412.description": "Atomic operations provided in the C11 standard to prevent data races in multithreaded environments use the memory_order enumeration to specify memory synchronization order.\n\nAmong these, sequential consistency is the only memory order fully defined by the C standard that guarantees consistent behavior and portability across platforms.\n\nOther synchronization orders may behave differently depending on the hardware architecture and compiler, or may cause unintuitive behavior. Therefore, care must be taken when using atomic functions related to memory synchronization order.\n\nWhen using atomic functions related to memory synchronization order, either use the default functions or specify the memory_order_seq_cst enumeration value for sequentially consistent behavior when explicit ordering is required.\n\nThis is the only way to ensure that all memory synchronization orders operate with sequential consistency.",
  "rule.saqt.q.c.7412.example.0.dangerous": "Line 5: A memory order other than sequential consistency was specified for a function performing an atomic operation.",
  "rule.saqt.q.c.7412.example.0.safe": "Line 6: Use the memory_order_seq_cst enumeration value to specify sequential consistency for functions performing atomic operations.  \nLine 8: Alternatively, use functions performing atomic operations that operate with sequential consistency by default.",
  "rule.saqt.q.c.7412.name": "Memory synchronization order violation",
  "rule.saqt.q.c.7416.description": "The generic selection expression uses the _Generic keyword and is designed in the C11 standard to query the type of macro arguments at compile time.\n\nIn such generic selection expressions, implicit type conversions are not attempted when comparing the macro argument's type against the list of types.\n\nTherefore, if the list includes pointer types, and the developer mistakenly expects implicit conversions to occur, the default case may be selected unintentionally. This can cause errors leading to unpredictable behavior.\n\nIf pointer types are included in the _Generic selection expression and the list contains other pointer types, be sure to use the ternary operator to write an explicit conversion wrapper.\n\nThis approach enforces the selection expression's type to match a type in the list, thereby complying with _Generic's strict type matching rules.",
  "rule.saqt.q.c.7416.example.0.dangerous": "Line 11: The control expression is used without an explicit conversion wrapper in the macro call, relying on implicit pointer type conversion.",
  "rule.saqt.q.c.7416.example.0.safe": "Line 13: When calling a macro, write a conversion wrapper using a ternary operator in the control expression to eliminate ambiguity in type conversion.",
  "rule.saqt.q.c.7416.name": "_Disallow implicit pointer conversions in _Generic",
  "rule.saqt.q.c.7417.description": "The generic selection expression uses the _Generic keyword and was designed in the C11 standard to query the type of macro arguments at compile time.\n\nWhen using such generic selection expressions, the compiler selects the type from the association list based on the standard type of the controlling expression. However, this behavior can cause consistency issues with the essential type, which may undermine the semantic stability of the code.\n\nFor example, when small integer types like char or short, or enumeration types are used in the controlling expression, integer promotion may cause a different type than intended to be selected. This can lead to unexpected behavior where the standard type chosen by _Generic is not what the developer anticipated.\n\nDo not use integer types smaller than int or enumeration types directly in the _Generic controlling expression. Instead, explicitly cast the controlling expression to the desired type beforehand to ensure the intended type is selected.",
  "rule.saqt.q.c.7417.example.0.dangerous": "Line 11-13: The standard type may differ due to the intrinsic type of the controlling expression and integer promotion, potentially resulting in an unintended type being selected.",
  "rule.saqt.q.c.7417.example.0.safe": "Line 11-13: Control expressions must be explicitly cast by the developer to the type they want to match.",
  "rule.saqt.q.c.7417.name": "_Intrinsic type mismatch in generic control expression",
  "rule.saqt.q.c.7420.description": "The generic selection expression uses the _Generic keyword and is designed in the C11 standard to query the type of a macro argument at compile time.\n\nA key point to note when using _Generic is that the number of evaluations of the argument passed to the controlling expression must not vary depending on which item in the _Generic association list is selected.\n\nFor example, if the argument contains side effects, differing evaluation counts for each selected item can lead to unpredictable program behavior. The total number of times the argument is executed must always be consistent regardless of which association in the _Generic controlling expression is chosen.\n\nTo ensure this, the argument should be included consistently in all associations of the _Generic, or the argument should be placed outside the _Generic expression after it concludes in the macro.",
  "rule.saqt.q.c.7420.example.0.dangerous": "Line 4: The number of evaluations of the control expression in _Generic varies depending on the selected item in the linked list.\nLine 9: The argument passed to the control expression is passed to the func_float() function and evaluated once.\nLine 10: The argument passed to the control expression is not evaluated.",
  "rule.saqt.q.c.7420.example.0.safe": "Line 4, 8: Use the same arguments in all connection lists of _Generic, or write the code so that arguments are evaluated outside of _Generic to ensure the number of evaluations is always consistent.",
  "rule.saqt.q.c.7420.name": "_Generic argument evaluation count mismatch",
  "rule.saqt.q.c.7421.description": "The generic selection expression uses the _Generic keyword and was designed in the C11 standard to query the type of macro arguments at compile time.\n\nIn the list of _Generic associations, when no other item matches, the default keyword can be used to specify the default matching item.\n\nHowever, the position of the default item should be somewhat restricted to improve code readability and structural clarity. For example, if the default item is placed in the middle of the list, it can make understanding the structure of _Generic difficult and cause confusion during code analysis.\nWhen a default item is used in a _Generic expression, it must be placed either as the first or the last item in the association list. If a default item is not needed, it is also allowed to omit it entirely.",
  "rule.saqt.q.c.7421.example.0.dangerous": "Line 3: The default item of _Generic is not located at the first or last position of the linked list.",
  "rule.saqt.q.c.7421.example.0.safe": "Line 4: The default entry of _Generic must be positioned at either the beginning or the end of the linked list.",
  "rule.saqt.q.c.7421.name": "Incorrect default item location in _Generic",
  "rule.saqt.q.ccpp.100.description": "The Use of forbidden argument checker finds instances of using a forbidden argument in a call to an optionally specified function.\nYou can optionally specify files excluded from analysis, functions subject to analysis, functions excluded from analysis, callee functions, and forbidden argument names.\nInspect arguments passed to functions to prevent their misuse and conform to APIs. A misuse of an argument may cause an unexpected program behavior.\nDo not use optionally forbidden arguments.",
  "rule.saqt.q.ccpp.100.example.0.dangerous": "Line 5: A subject to analysis, Func() function, is defined.\nLine 6: A subject to analysis, memcpy_API01() function, is called. This is caught by the checker due to API01_COUNTER argument.",
  "rule.saqt.q.ccpp.100.example.0.safe": "Line 5: A subject to analysis, Func() function, is defined.\nLine 6: A subject to analysis, memcpy_API01() function, is called. This is not caught by the checker due to \"test\" argument instead of the API01_COUNTER.",
  "rule.saqt.q.ccpp.100.name": "Use of forbidden argument",
  "rule.saqt.q.ccpp.100.option.call_param_should_not_be_name.description": "Forbidden parameters",
  "rule.saqt.q.ccpp.100.option.call_param_should_not_be_name.name": "Forbidden parameters",
  "rule.saqt.q.ccpp.100.option.call_target.description": "Target function call",
  "rule.saqt.q.ccpp.100.option.call_target.name": "Target function call",
  "rule.saqt.q.ccpp.100.option.file_target_excluded.description": "Files to be excluded",
  "rule.saqt.q.ccpp.100.option.file_target_excluded.name": "Files to be excluded",
  "rule.saqt.q.ccpp.100.option.function_target.description": "Set target functions with regular expressions",
  "rule.saqt.q.ccpp.100.option.function_target.name": "Target functions",
  "rule.saqt.q.ccpp.100.option.function_target_excluded.description": "Set up functions to be excluded from analyzing.",
  "rule.saqt.q.ccpp.100.option.function_target_excluded.name": "Functions to be excluded",
  "rule.saqt.q.ccpp.101.description": "The Improper value on sting argument checker finds calls to optionally specified functions with a non-string value passed to a specific argument position.\nYou can optionally specify files excluded from analysis, functions subject to analysis, functions excluded from analysis, callee functions, and string argument positions.\nInspect arguments passed to functions to prevent their misuse and conform to APIs. A misuse of an argument may cause an unexpected program behavior.\nMake sure arguments at the optionally specified positions are strings.",
  "rule.saqt.q.ccpp.101.example.0.dangerous": "Line 3: A subject to analysis, Func() function, is defined.\nLine 4: A subject to analysis, memcpy_API02() function, is called. The second argument is not a string, but variable y.",
  "rule.saqt.q.ccpp.101.example.0.safe": "Line 3: A subject to analysis, Func() function, is defined.\nLine 4: A subject to analysis, memcpy_API02() function, is called. The second argument is a string, this is not detected.",
  "rule.saqt.q.ccpp.101.name": "Improper value on sting argument",
  "rule.saqt.q.ccpp.101.option.call_param_should_be_string.description": "Parameter which should be place string in calling function",
  "rule.saqt.q.ccpp.101.option.call_param_should_be_string.name": "Parameter which should be place string in calling function",
  "rule.saqt.q.ccpp.101.option.call_target.description": "Target function call",
  "rule.saqt.q.ccpp.101.option.call_target.name": "Target function call",
  "rule.saqt.q.ccpp.101.option.file_target_excluded.description": "Files to be excluded",
  "rule.saqt.q.ccpp.101.option.file_target_excluded.name": "Files to be excluded",
  "rule.saqt.q.ccpp.101.option.function_target.description": "Set up functions to be analyzed.",
  "rule.saqt.q.ccpp.101.option.function_target.name": "Target functions",
  "rule.saqt.q.ccpp.101.option.function_target_excluded.description": "Set up functions to be excluded from analyzing.",
  "rule.saqt.q.ccpp.101.option.function_target_excluded.name": "Functions to be excluded",
  "rule.saqt.q.ccpp.102.description": "The Use of unspecified argument checker finds calls to optionally specified functions without the optionally specified arguments passed to their specific positions.\nYou can optionally specify files excluded from analysis, functions subject to analysis, functions excluded from analysis, callee functions, argument positions, and argument names.\nInspect arguments passed to functions to prevent their misuse and conform to APIs. A misuse of an argument may cause an unexpected program behavior.\nMake sure optionally specified arguments are passed to their specific positions. ",
  "rule.saqt.q.ccpp.102.example.0.dangerous": "Line 4: A subject to analysis, Func() function, is defined.\nLine 5: memcpy_API03() function is called. The second argument is not optionally specified.",
  "rule.saqt.q.ccpp.102.example.0.safe": "Line 4: A subject to analysis, Func() function, is defined.\nLine 5: memcpy_API03() function is called. The second argument has been optionally specified.",
  "rule.saqt.q.ccpp.102.name": "Use of unspecified argument",
  "rule.saqt.q.ccpp.102.option.call_param_should_be_name.description": "Required call parameters",
  "rule.saqt.q.ccpp.102.option.call_param_should_be_name.name": "Required call parameters",
  "rule.saqt.q.ccpp.102.option.call_target.description": "Target function call",
  "rule.saqt.q.ccpp.102.option.call_target.name": "Target function call",
  "rule.saqt.q.ccpp.102.option.file_target_excluded.description": "Files to be excluded",
  "rule.saqt.q.ccpp.102.option.file_target_excluded.name": "Files to be excluded",
  "rule.saqt.q.ccpp.102.option.function_target.description": "Set up functions to be analyzed.",
  "rule.saqt.q.ccpp.102.option.function_target.name": "Target functions",
  "rule.saqt.q.ccpp.102.option.function_target_excluded.description": "Set up functions to be excluded from analyzing.",
  "rule.saqt.q.ccpp.102.option.function_target_excluded.name": "Functions to be excluded",
  "rule.saqt.q.ccpp.103.description": "The Inadequate variable arguments checker finds calls to optionally specified functions in which the argument in the designated position is not an integer constant or its value differs from the number of subsequent arguments.\nYou can optionally specify files excluded from analysis, functions subject to analysis, functions excluded from analysis, callee functions, integer argument position, and number of subsequent arguments. \nThe arguments passed to functions need to be inspected to prevent their misuse and conform to APIs. A misuse of an argument may cause an unexpected program behavior.\nMake sure an integer constant is passed to the optionally specified position and is followed by as many arguments as the value of the integer argument.",
  "rule.saqt.q.ccpp.103.example.0.dangerous": "Line 2: A subject to analysis, Func() function, is defined.\nLine 4: Fun_API04_call() function is called. Two argument are found at the end of the first argument.",
  "rule.saqt.q.ccpp.103.example.0.safe": "Line 2: A subject to analysis, Func() function, is defined.\nLine 4: Fun_API04_call() function is called. One argument has been found at the end of the first argument.",
  "rule.saqt.q.ccpp.103.name": "Inadequate variable arguments",
  "rule.saqt.q.ccpp.103.option.call_param_should_be_deciaml.description": "Call parameter which should not be decimal",
  "rule.saqt.q.ccpp.103.option.call_param_should_be_deciaml.name": "Call parameter which should not be decimal",
  "rule.saqt.q.ccpp.103.option.call_param_value_equal_next_param_count.description": "Parameter index which represent various arguments' number",
  "rule.saqt.q.ccpp.103.option.call_param_value_equal_next_param_count.name": "Parameter index which represent various arguments' number",
  "rule.saqt.q.ccpp.103.option.call_target.description": "Target function call",
  "rule.saqt.q.ccpp.103.option.call_target.name": "Target function call",
  "rule.saqt.q.ccpp.103.option.file_target_excluded.description": "Files to be excluded",
  "rule.saqt.q.ccpp.103.option.file_target_excluded.name": "Files to be excluded",
  "rule.saqt.q.ccpp.103.option.function_target.description": "Set target functions with regular expressions",
  "rule.saqt.q.ccpp.103.option.function_target.name": "Target functions",
  "rule.saqt.q.ccpp.103.option.function_target_excluded.description": "Set up functions to be excluded from analyzing.",
  "rule.saqt.q.ccpp.103.option.function_target_excluded.name": "Functions to be excluded",
  "rule.saqt.q.ccpp.1035.description": "The Implicit casting of float checker finds expressions that implicitly cast the value of a complex float expression to a larger float type.\nAn implicit cast to a larger or smaller type of the same kind may be an unintended result. It is because, unlike an explicit cast, an implicit cast can possibly be an action the developer is not aware of. In this case, the cast may alter the original value.\nA type cast must be explicit.",
  "rule.saqt.q.ccpp.1035.example.0.dangerous": "Line 4: A value of a complex float expression is implicitly casted to a larger float type.",
  "rule.saqt.q.ccpp.1035.example.0.safe": "Line 4: Explicitly cast the value of the complex float expression to a larger float type.",
  "rule.saqt.q.ccpp.1035.name": "Implicit casting of float",
  "rule.saqt.q.ccpp.1036.description": "The Unencapsulated assembly language checker finds inline assembly codes that are not separated into individual functions.\nIf possible, inline assemblers needs to be restricted because they can compromise code compatibility.\nIf an inline assembler is necessary, encapsulate the assembly inserts into specific functions.",
  "rule.saqt.q.ccpp.1036.example.0.dangerous": "Line 3: An inline assembler is not abstracted.",
  "rule.saqt.q.ccpp.1036.example.0.safe": "Line 1: Encapsulate the inline assembler to a function.",
  "rule.saqt.q.ccpp.1036.name": "Unencapsulated assembly language",
  "rule.saqt.q.ccpp.1036.option.allow_asm_macro.description": "Allow asm macro when set checkbox.",
  "rule.saqt.q.ccpp.1036.option.allow_asm_macro.name": "Allow asm macro",
  "rule.saqt.q.ccpp.1039.description": "The Identifier with Over 31 Characters checker finds instances in which an identifier representing an entity of a certain type is longer than 31 characters.\nThe checker performs checks on the identifiers of tags, variables, types, fields, and macros.\nThe ISO standard provides that identifiers must be uniquely identified by the first 31 characters to ensure code compatibility. This means that identifiers with over 31 characters can cause a compatibility issue when the source code is compiled in a different environment.\nName identifiers with a maximum of 31 characters.",
  "rule.saqt.q.ccpp.1039.example.0.dangerous": "Line 1: A struct tag name exceeds 31 characters.\nLine 3: A struct field name exceeds 31 characters.\nLine 7: A typedef name exceeds 31 characters.\nLine 11: A local variable name exceeds 31 characters.",
  "rule.saqt.q.ccpp.1039.example.0.safe": "Line 1: Rename the struct tag with 31 or less characters.\nLine 3: Rename the struct field with 31 or less characters.\nLine 7: Rename the typedef name with 31 or less characters.\nLine 11: Rename the local variable with 31 or less characters.",
  "rule.saqt.q.ccpp.1039.name": "Identifier with Over 31 Characters",
  "rule.saqt.q.ccpp.1044.description": "The Duplicated name in namespace checker finds instances in which identifiers belonging to different namespaces share the same name.\nIdentifiers in different namespaces do not override one another even if they are named identically. Nevertheless, this checker searches for identically named identifiers regardless which namespaces they belong to. But the names of struct and struct fields are excluded from checking.\nIdentifiers for other entities must not share the same name even if they belong to different namespaces.",
  "rule.saqt.q.ccpp.1044.example.0.dangerous": "Line 2: A struct named sourceTest is declared.\nLine 8: A struct named sourceTest is declared. This name is used as a name of struct in Line 2.",
  "rule.saqt.q.ccpp.1044.example.0.safe": "Line 8: Do not use identifiers in different namespaces to name them.",
  "rule.saqt.q.ccpp.1044.name": "Duplicated name in namespace",
  "rule.saqt.q.ccpp.1046.description": "The Assignment of improper type checker finds assignment expressions whose assigned value and assignee variable have different types.\nThe issue occurs while performing assignment operation for basic types in the following situations: \nThe signs of both sides are different, and assigned value is mutable.\nAn integer type is used on the left side, and a float type is used on the right side.\nThe basic type of the left side is smaller than the right side. Yet, integer constants are excluded from the check because type checking can be differed by compiler. \nAn integer is assigned to boolean type instead of true or false.\nAssignment to a different type can result in assigning an unintended value. This can cause issues that are not easily identifiable.\nMake sure the assigned value and assignee variable have the same type. Change the type of the assignee variable, or adjust the suffix of the assigned value to match it to the assignee type.",
  "rule.saqt.q.ccpp.1046.example.0.dangerous": "Line 5: The signs of both sides are different, and assigned value is mutable.\nLine 6: An integer type is used on the left side, and a float type is used on the right side.\nLine 7: The basic type of the left side is smaller than the right side.\nLine 8: An integer is assigned to boolean type instead of true or false.",
  "rule.saqt.q.ccpp.1046.example.0.safe": "Line 5: Perform explicit type casting for the value.\nLine 6: Assign an integer for the integer type.\nLine 7: Make sure that the basic type of the left side is bigger than the right side.\nLine 8: Assign true or false to the boolean type.",
  "rule.saqt.q.ccpp.1046.name": "Assignment of improper type",
  "rule.saqt.q.ccpp.1047.description": "The Replaced character type variable checker finds instances of assigning or comparing a number to a variable of the plain char type with no signedness specification.\nThe plain char type can behave like either the unsigned or signed char type depending on the compiler. The use of a number for a plain char variable can produce different values by compiler. Therefore, it is recommended to use a character value for the plain char type, and use a numeric value for the unsigned or signed char type.\nDo not use a numeric value for the plaint char type.",
  "rule.saqt.q.ccpp.1047.example.0.dangerous": "Line 1: A parameter foo is defined as plain char type.\nLine 10: An integer constant, 111, is used instead of char, and compared with the foo of plain char type.",
  "rule.saqt.q.ccpp.1047.example.0.safe": "Line 3: If a variable of plain char type is verified in conditional statement of switch, use normal characters only for case statements.",
  "rule.saqt.q.ccpp.1047.name": "Replaced character type variable",
  "rule.saqt.q.ccpp.1048.description": "The Character value as operand of operation checker finds instances of using a arithmetic operator to a variable of the plain char type with no signedness specification.\nThe plain char type can behave like either the unsigned or signed char type depending on the compiler. The use of a number for a plain char variable can produce different values by compiler. Therefore, it is recommended to use a character value for the plain char type, and use a numeric value for the unsigned or signed char type.\nDo not use a arithmetic operator for the plaint char type.",
  "rule.saqt.q.ccpp.1048.example.0.dangerous": "Line 2: foo variable is defined as a plain char type.\nLine 3: The foo variable is used as an operand of arithmetic operation.",
  "rule.saqt.q.ccpp.1048.example.0.safe": "Line 3: Do not use an arithmetic operator on the variable of the plain char type.",
  "rule.saqt.q.ccpp.1048.name": "Character value as operand of operation",
  "rule.saqt.q.ccpp.1049.description": "The Missing explicit casting checker finds instances in which an implicit cast is caused by type mismatch between the two sides of an assignment operation.\nAssignment with a larger type on the left-hand side is not subject to the checking; the checker reports only for those assignments that may alter the value.\nIf the operands on the two sides of the assignment operator are of different types, it can result in assigning an unintended value. This can cause issues that are not easily identifiable.\nWhen assigning, use an explicit cast to match the types of the operands on the two sides. Even if a value change caused by a cast is implemented on purpose, the use of an explicit cast can help clarify such an intention.",
  "rule.saqt.q.ccpp.1049.example.0.dangerous": "Line 1: A parameter u32a of uint32_t type is declared.\nLine 2: A variable u16a of uint16_t type is initialized into u32a. This leads to an implicit casting, a type on the left gets smaller than the type on the right.",
  "rule.saqt.q.ccpp.1049.example.0.safe": "Line 2: Explicitly cast a value on the right to assign.",
  "rule.saqt.q.ccpp.1049.name": "Missing explicit casting",
  "rule.saqt.q.ccpp.105.description": "The Unused wrapper function function checker finds calls to optionally designated functions that are not passed as arguments to an optionally specified function.\nYou can optionally specify callee functions and functions to pass as arguments.\nInspect arguments passed to functions to prevent their misuse and conform to APIs. A misuse of an argument may cause an unexpected program behavior.\nMake sure optionally designated functions are used only as arguments for specified functions. ",
  "rule.saqt.q.ccpp.105.example.0.dangerous": "Line 4: API06_NEED_WRAPPER() function is not used as an argument of API06_WRAPPER().",
  "rule.saqt.q.ccpp.105.example.0.safe": "Line 4: API06_NEED_WRAPPER() function is used as an argument of API06_WRAPPER().",
  "rule.saqt.q.ccpp.105.name": "Unused wrapper function",
  "rule.saqt.q.ccpp.105.option.call_should_be_used_parameter.description": "Required parameter variable and index",
  "rule.saqt.q.ccpp.105.option.call_should_be_used_parameter.name": "Required parameter variable and index",
  "rule.saqt.q.ccpp.105.option.call_target.description": "Target function call",
  "rule.saqt.q.ccpp.105.option.call_target.name": "Target function call",
  "rule.saqt.q.ccpp.1050.description": "The Replaced signed character type variable checker finds instances of assigning or comparing a character to a variable of the unsigned char or signed char type.\nThe plain char type can behave like either the unsigned or signed char type depending on the compiler. The use of a number for a plain char variable can produce different values by compiler. Therefore, it is recommended to use a character value for the plain char type, and use a numeric value for the unsigned or signed char type.\nDo not use a character for the signed char type.",
  "rule.saqt.q.ccpp.1050.example.0.dangerous": "Line 1: A parameter ch is defined as a unsigned char type.\nLine 4: A numeric value is replaced by character 'a'. Then, is has been compared to the parameter ch of unsigned char type.",
  "rule.saqt.q.ccpp.1050.example.0.safe": "Line 3: If a variable of signed char type is verified in conditional statement of switch, use numeric values only for case statements.",
  "rule.saqt.q.ccpp.1050.name": "Replaced signed character type variable",
  "rule.saqt.q.ccpp.1051.description": "The Direct use of primitive type checker finds statements that do not declared typedef on basic types, such as int or float.\nDo not use the basic types as they are. Ensure to declare them as typedef to specify storage size.",
  "rule.saqt.q.ccpp.1051.example.0.dangerous": "Line 2: A variable is declared by using a default type, int.",
  "rule.saqt.q.ccpp.1051.example.0.safe": "Line 1: Specify storage size of default type, and declare as a typedef.",
  "rule.saqt.q.ccpp.1051.name": "Direct use of primitive type",
  "rule.saqt.q.ccpp.1053.description": "The Improper type of bit field checker finds instances of declaring a bit field as a different type than unsigned int or signed int.\nA numeric type other than unsigned int or signed int is not suitable for bit fields because of compatibility issues. Furthermore, plain int with no signedness specification is defined differently depending on the compiler. Therefore, the explicit use of the signed int type is the best approach.\nDeclare bit fields only as unsigned or signed int.",
  "rule.saqt.q.ccpp.1053.example.0.dangerous": "Line 3: A long type is used for a bitfield.\nLine 4: A short type is used for a bitfield.",
  "rule.saqt.q.ccpp.1053.example.0.safe": "Line 1: Use unsigned int or signed int type for a bitfield.",
  "rule.saqt.q.ccpp.1053.name": "Improper type of bit field",
  "rule.saqt.q.ccpp.1054.description": "The Too small signed integer type checker finds declarations of signed bit fields with a size of 1 bit.\nIn the C99 standard, a 1 bit-wide signed bit field is considered to have only the sign bit and no value bit. If the value bit is fixed at 0, such a bit field cannot represent a meaningful value.\nMake sure that signed bit fields are declared with a size of at least two bits. If a bit field must be 1 bit long, declare it as an unsigned.",
  "rule.saqt.q.ccpp.1054.example.0.dangerous": "Line 2: The size of signed type bitfield is set to 1 bit.",
  "rule.saqt.q.ccpp.1054.example.0.safe": "Line 2: Set the size of signed type bitfield at least to 2 bits.",
  "rule.saqt.q.ccpp.1054.name": "Too small signed integer type",
  "rule.saqt.q.ccpp.1055.description": "The Use of Octal Number checker finds expressions that use an octal number.\nA constant starting with a 0 is considered an octal number.\nIn source code, octal numbers are often unintendedly used when the developer appends preceding zeros to ensure a certain number of digits. Unaware of this possibility, developers may use an incorrect constant value.\nTake care not to use an octal number when writing a constant in code.",
  "rule.saqt.q.ccpp.1055.example.0.dangerous": "Line 3: A decimal const, 2719, is assigned.\nLine 4: A decimal const, 4435, is assigned.\nLine 5: A const, 0042, is assigned for readability. However, 0042 is an octal constant, 34 in decimal has been assigned.",
  "rule.saqt.q.ccpp.1055.example.0.safe": "Line 5: Use a decimal constant.",
  "rule.saqt.q.ccpp.1055.name": "Use of Octal Number",
  "rule.saqt.q.ccpp.1056.description": "The Suspicious octal escape sequence checker finds expressions that use an octal escape sequence.\nA backslash followed by three digits from 0 through 7 is considered an octal escape sequence.\nHandling octal escape sequences is an implementation-defined behavior, which can be implemented differently depending on the compiler. For example, an octal escape sequence can, depending on the following numerical digits, be expressed either as a single octal number or as an octal number followed by a decimal integer. Unaware of this possibility, developers may use an incorrect constant value.\nDo not use octal escape sequences.",
  "rule.saqt.q.ccpp.1056.example.0.dangerous": "Line 3: An hexadecimal escape sequence is used.",
  "rule.saqt.q.ccpp.1056.example.0.safe": "Line 3: Do not use an octal escape sequence.",
  "rule.saqt.q.ccpp.1056.name": "Suspicious octal escape sequence",
  "rule.saqt.q.ccpp.1057.description": "The Function declaration in function checker finds instances of declaring a file not in file scope but within another function.\nA function declaration within another function is an undefined action. Such code may output different results depending on compilers and thus is unpredictable.\nMake sure functions are declared in file scope.",
  "rule.saqt.q.ccpp.1057.example.0.dangerous": "Line 4: bar() function is declared within foo() function.",
  "rule.saqt.q.ccpp.1057.example.0.safe": "Line 1: Make sure functions are declared in file scope.",
  "rule.saqt.q.ccpp.1057.name": "Function declaration in function",
  "rule.saqt.q.ccpp.1058.description": "The Unnecessary global variable checker finds instances in which a global variable is accessed only in one function.\nA variable accessed only in one function does not have to be global. Define variables in the minimum block scope possible to reduce the possibility that they are used elsewhere accidentally.\nVariables used only in a single function need to be declared local.",
  "rule.saqt.q.ccpp.1058.example.0.dangerous": "Line 3: A global variable g_c is declared.\nLine 17: A global variable g_c is used. This variable has been used by main() function only.",
  "rule.saqt.q.ccpp.1058.example.0.safe": "Line 16: Modify the global variable g_c into a local variable of main() function.",
  "rule.saqt.q.ccpp.1058.name": "Unnecessary global variable",
  "rule.saqt.q.ccpp.1059.description": "The Duplicated external object or function checker finds extern objects and functions declared in multiple header files.\nIf an identifier is defined multiple times in different translation units, or is never defined, link errors and various other issues can arise.\nDeclare each extern object and function only once in one header file.",
  "rule.saqt.q.ccpp.1059.example.0.dangerous": "Line 2: calc() is delcared as extern in foo.h header file.\nLine 4: calc() is delcared as extern in bar.h header file.",
  "rule.saqt.q.ccpp.1059.example.0.safe": "Line 4: Change a function name declared as extern in bar.h header file.",
  "rule.saqt.q.ccpp.1059.name": "Duplicated external object or function",
  "rule.saqt.q.ccpp.106.description": "The Violation of rule of argument usage after function call checker finds instances of using a specific argument after a specific function is called.\nYou can optionally specify callee functions and forbidden arguments.\nInspect arguments passed to functions to prevent their misuse and conform to APIs. A misuse of an argument may cause an unexpected program behavior.\nMake sure forbidden values, strings, and parameter names are not passed as arguments after an optionally specified function is called. ",
  "rule.saqt.q.ccpp.106.example.0.dangerous": "Line 6: API07_FUNC() function is called.\nLine 7: API07_TARGET_NAME is used as an argument of output().",
  "rule.saqt.q.ccpp.106.example.0.safe": "Line 6: API07_FUNC() function is called.\nLine 7: \"test\" is used as an argument of output().",
  "rule.saqt.q.ccpp.106.name": "Violation of rule of argument usage after function call",
  "rule.saqt.q.ccpp.106.option.call_param_should_not_be_name.description": "Forbidden parameters",
  "rule.saqt.q.ccpp.106.option.call_param_should_not_be_name.name": "Forbidden parameters",
  "rule.saqt.q.ccpp.106.option.function_target_begin_call_function.description": "Target functions begin call",
  "rule.saqt.q.ccpp.106.option.function_target_begin_call_function.name": "Target functions begin call",
  "rule.saqt.q.ccpp.1060.description": "The Non-static object or function without external reference checker detects objects and functions that do not need to be accessed externally and are declared extern to the file scope.\nIt is recommended that global objects that do not need to be accessed externally be declared statically and hidden inside a single translation unit. This prevents unnecessary conflicts with global objects and functions in other files.\nFile-scoped objects or functions that are used only in one file should be declared statically.",
  "rule.saqt.q.ccpp.1060.example.0.dangerous": "Line 2: A wrong variable is declared as extern. This variable has been used by foo.c file only.",
  "rule.saqt.q.ccpp.1060.example.0.safe": "Line 2: Declare the wrong variable as static, while the static keyword is omittable.",
  "rule.saqt.q.ccpp.1060.name": "Non-static object or function without external reference",
  "rule.saqt.q.ccpp.1061.description": "The Missing curly brace in array initialization checker finds instances of brace initialization in which the struct or array object is assigned a differently nested set of elements.\nWhen a struct or array is initialized, pairs of braces are used to enclose the assigned initial elements. To initialize a nested object, the assigned initial set of elements must be brace-nested identically to the assignee object. If a differently nested element set is assigned, the initialization result may differ by compiler.\nUnless a strut or array object is to be initialized to 0, be sure the initial element set has the same brace-nesting structure as the initialized object.",
  "rule.saqt.q.ccpp.1061.example.0.dangerous": "Line 12: foo2() function is initialized with braces. Braces to enclose the first and second elements is omitted.",
  "rule.saqt.q.ccpp.1061.example.0.safe": "Line 12: Perform brace initialization for an array or struct.",
  "rule.saqt.q.ccpp.1061.name": "Missing curly brace in array initialization",
  "rule.saqt.q.ccpp.1062.description": "The Insufficient initialization value checker finds struct/array definitions in which the struct/array object is assigned an initial set of elements that are smaller in number than the struct/array size.\nIn case of brace initialization with an small set of elements, the elements out of range are basically initialized to 0. However, the developer may have not intended this action. If this is not an intended result, the program may behave unexpectedly.\nWhen initializing a struct or array, be sure the assigned initial value set has the same number of elements as the size of the initialized object.",
  "rule.saqt.q.ccpp.1062.example.0.dangerous": "Line 2: An array with size of 3 is initialized with braces. However, it has two initialization element.",
  "rule.saqt.q.ccpp.1062.example.0.safe": "Line 2: The number of elements in brace initialization must match the size of array.",
  "rule.saqt.q.ccpp.1062.name": "Insufficient initialization value",
  "rule.saqt.q.ccpp.1064.description": "The Partially initialized enumeration list checker finds enumeration assignment statements that assign values only to part of the enumerators.\nIf an enumeration is not assigned values, the first enumerator assumes a value of zero and each enumerator succeeding is incremented by one. If only a particular enumerator is assigned a value, it takes the assigned value and each subsequent enumerator is incremented by one from it. If only some enumerators of an enumeration are assigned values, it may be confusing what value is assumed by each enumerator. Furthermore, some enumerators can have the same value. This results in an wanted behavior of the program.\nEither do not assign to any enumerator, or assign to all enumerators.",
  "rule.saqt.q.ccpp.1064.example.0.dangerous": "Line 3: 432 is assigned to element melon of enum list.\nLine 4: 2 is assigned to element orange of enum list.\nLine 5: A value of strawberry of enum list is initialized into 3 by a compiler. However, the value has overlapped with one in element melon.",
  "rule.saqt.q.ccpp.1064.example.0.safe": "Line 2: Do not initialize all elements of enum list.",
  "rule.saqt.q.ccpp.1064.name": "Partially initialized enumeration list",
  "rule.saqt.q.ccpp.1064.option.allow_enum_assign.description": "Enumeration allows to assign a different enumeration.",
  "rule.saqt.q.ccpp.1064.option.allow_enum_assign.name": "Enumeration assign allowed",
  "rule.saqt.q.ccpp.1065.description": "The Implicit casting of integer checker finds expressions that implicitly cast an integer value to a larger integer type.\nAn implicit cast to a larger or smaller type of the same kind may be an unintended result. It is because, unlike an explicit cast, an implicit cast can possibly be an action the developer is not aware of. In this case, the cast may alter the original value.\nA type cast must be explicit.",
  "rule.saqt.q.ccpp.1065.example.0.dangerous": "Line 6: An argumnet foo is implicitly cast into int32_t type in use_int32() call.",
  "rule.saqt.q.ccpp.1065.example.0.safe": "Line 6: Explicitly cast foo argument.",
  "rule.saqt.q.ccpp.1065.name": "Implicit casting of integer",
  "rule.saqt.q.ccpp.1066.description": "The Implicit upcasting of integer checker finds expressions that implicitly cast the value of a complex float expression to a larger float type.\nAn implicit cast to a larger or smaller type of the same kind may be an unintended result. It is because, unlike an explicit cast, an implicit cast can possibly be an action the developer is not aware of. In this case, the cast may alter the original value.\nA type cast must be explicit.",
  "rule.saqt.q.ccpp.1066.example.0.dangerous": "Line 5: A complex const expression is implicitly casted to a larger const type.",
  "rule.saqt.q.ccpp.1066.example.0.safe": "Line 4: Explicitly cast the value of the complex const expression to a larger const type.",
  "rule.saqt.q.ccpp.1066.name": "Implicit upcasting of integer",
  "rule.saqt.q.ccpp.1067.description": "The Implicit downcasting of integer checker finds expressions that implicitly cast the value of a complex integer expression to a small integer type.\nAn implicit cast to a larger or smaller type of the same kind may be an unintended result. It is because, unlike an explicit cast, an implicit cast can possibly be an action the developer is not aware of. In this case, the cast may alter the original value.\nA type cast must be explicit.",
  "rule.saqt.q.ccpp.1067.example.0.dangerous": "Line 5: A complex const expression is implicitly casted to a smaller const type.",
  "rule.saqt.q.ccpp.1067.example.0.safe": "Line 5: Explicitly cast the value of the complex const expression to a smaller const type.",
  "rule.saqt.q.ccpp.1067.name": "Implicit downcasting of integer",
  "rule.saqt.q.ccpp.1068.description": "The Mismatched return types of definition and declaration checker finds functions that return an expression of another type than their declared type.\nReturning a different type from the declared type may be an unintended action. This causes an implicit cast that may alter the resultant value.\nCast the returned type to the declared type, or adjust it to match the declared type.",
  "rule.saqt.q.ccpp.1068.example.0.dangerous": "Line 2: A float type is returned. However, it has not matched with a return type of foo() function, int32_t.\nLine 7: A double type is returned. However, it has not matched with a return type of bar() function, float.",
  "rule.saqt.q.ccpp.1068.example.0.safe": "Line 2: Return a const type to match the return type of function, int32_t.\nLine 7: Append suffix F to match the return type of function, float.",
  "rule.saqt.q.ccpp.1068.name": "Mismatched return types of definition and declaration",
  "rule.saqt.q.ccpp.1068.option.strict_suffix.description": "A function which returns 32bit floating point type should be add a suffix 'F' on platform that has 32bit 'float' type and 64bit 'double' type.",
  "rule.saqt.q.ccpp.1068.option.strict_suffix.name": "Essential suffix 'F'",
  "rule.saqt.q.ccpp.1069.description": "The Use of forbidden macro checker finds macros that are not declared in the correct manner.\nThe entities allowed in macro declarations include braced initializers, constants, strings, parenthesized expressions, type qualifiers, storage class specifiers, and do-while(0) loops.\nIf used correctly, macros can be a useful feature. However, the code in a macro is not actually executed as can it be observed. Therefore, a careless use of macros can cause various problems.\nDo not declare or use a macro using a disallowed entity.",
  "rule.saqt.q.ccpp.1069.example.0.dangerous": "Line 1: #define macro is used to define types.",
  "rule.saqt.q.ccpp.1069.example.0.safe": "Line 1: Use typedef to define types.",
  "rule.saqt.q.ccpp.1069.name": "Use of forbidden macro",
  "rule.saqt.q.ccpp.1070.description": "The Implicit casting of float checker finds expressions that implicitly cast a float value to a larger float type.\nAn implicit cast to a larger or smaller type of the same kind may be an unintended result. It is because, unlike an explicit cast, an implicit cast can possibly be an action the developer is not aware of. In this case, the cast may alter the original value.\nA type cast must be explicit.",
  "rule.saqt.q.ccpp.1070.example.0.dangerous": "Line 6: An argumnet f32a is implicitly cast into float64_t type in use_f64() call.",
  "rule.saqt.q.ccpp.1070.example.0.safe": "Line 5: Explicitly cast an argument f32a.",
  "rule.saqt.q.ccpp.1070.name": "Implicit casting of float",
  "rule.saqt.q.ccpp.1071.description": "The Implicit downcasting of integer checker finds expressions that implicitly cast the value of a complex integer expression to a small integer type.\nAn implicit cast to a larger or smaller type of the same kind may be an unintended result. It is because, unlike an explicit cast, an implicit cast can possibly be an action the developer is not aware of. In this case, the cast may alter the original value.\nA type cast must be explicit.",
  "rule.saqt.q.ccpp.1071.example.0.dangerous": "Line 5: A complex float expression is implicitly casted to a smaller float type.",
  "rule.saqt.q.ccpp.1071.example.0.safe": "Line 5: Explicitly cast the value of the complex float expression to a smaller float type.",
  "rule.saqt.q.ccpp.1071.name": "Implicit downcasting of float",
  "rule.saqt.q.ccpp.1072.description": "The Casting integer to larger type checker finds expressions that implicitly cast the value of a compound integral expression to a larger integer type.\nFor some processors, casting the result of a compound expression can produce an unexpected value. This may lead to processing a value from wrong bits.\nAll integers making up a compound integral expression need to be of the same integer type. If conversion to another type is needed, assign the compound expression result first and then cast the assignee.",
  "rule.saqt.q.ccpp.1072.example.0.dangerous": "Line 2: uint16_t type in complex expression is cast into to a larger integer type, uint32_t.",
  "rule.saqt.q.ccpp.1072.example.0.safe": "Line 2: Store uint16_t type in complex expression in the same type object.\nLine 3: Perform casting on unary operation when a larger int type is required.",
  "rule.saqt.q.ccpp.1072.name": "Casting integer to larger type",
  "rule.saqt.q.ccpp.1073.description": "The Conversion between signed and unsigned data checker finds compound expressions that cast between signed and unsigned integer types.\nFor some processors, casting the result of a compound expression can produce an unexpected value. This may lead to processing a value from wrong bits.\nAll integers making up a compound expression need to be of the same signedness.",
  "rule.saqt.q.ccpp.1073.example.0.dangerous": "Line 2: A signed int of complex expression is cast into unsigned int type.",
  "rule.saqt.q.ccpp.1073.example.0.safe": "Line 2: Keep signed or unsigned type in complex expression.",
  "rule.saqt.q.ccpp.1073.name": "Conversion between signed and unsigned data",
  "rule.saqt.q.ccpp.1074.description": "The Casting float to larger type checker finds expressions that implicitly cast the value of a complex float expression to a larger float type.\nFor some processors, casting the result of a compound expression can produce an unexpected value. This may lead to processing a value from wrong bits.\nAll float types making up a compound float expression need to be of the same float type. If conversion to another type is needed, assign the compound expression result first and then cast the assignee.",
  "rule.saqt.q.ccpp.1074.example.0.dangerous": "Line 2: float32_t type in complex expression is cast into to a larger float type, float64_t.",
  "rule.saqt.q.ccpp.1074.example.0.safe": "Line 2: Store uint16_t type in complex expression in the same type object.\nLine 3: Perform casting on unary operation when a larger float type is required.",
  "rule.saqt.q.ccpp.1074.name": "Casting float to larger type",
  "rule.saqt.q.ccpp.1075.description": "The Missing casting for result of bitwise operation checker finds instances in which a bitwise operation is performed on an unsigned char or unsigned short in an assignment statement but the result is not immediately cast to the type of the assignee.\nThe bitwise operators include ~, <<, and >>.\nA bitwise operation on an unsigned char or unsigned short may result in an integral promotion. So, failure of an immediate cast to the final return type may result in an unexpected value.\nMake sure that a bitwise operation on an unsigned char or unsigned short is immediately followed by a cast to the final type.",
  "rule.saqt.q.ccpp.1075.example.0.dangerous": "Line 4: A bitwise operation is performed on port variable. However, casting is not performed.",
  "rule.saqt.q.ccpp.1075.example.0.safe": "Line 4: Perform a bitwise operation on port variable, and then casting into unsigned short type.",
  "rule.saqt.q.ccpp.1075.name": "Missing casting for result of bitwise operation",
  "rule.saqt.q.ccpp.1076.description": "The Casting from pointer type to integer type checker finds expressions that cast a pointer type to an integer type.\nThe size of integer that is required when a pointer is converted to an integer is implementation-defined, which can possibly have different values depending on the compiler. Casting between a pointer and an integer type should be avoided where possible, but may be unavoidable when addressing memory mapped registers or other hardware specific features.\nDo not cast pointer types into integer.",
  "rule.saqt.q.ccpp.1076.example.0.dangerous": "Line 4: A pointer type is cast into int.",
  "rule.saqt.q.ccpp.1076.example.0.safe": "Line 4: Do not perform casting on a pointer into int.",
  "rule.saqt.q.ccpp.1076.name": "Casting from pointer type to integer type",
  "rule.saqt.q.ccpp.1077.description": "The Casting from integer type to pointer type checker finds expressions that cast an integer type to a pointer type.\nGenerally, a cast from an integer or void pointer to a pointer pointing to a type can cause undefined behavior. Therefore, such a cast must not be performed so long as possible.\nDo not cast an integer type to a pointer type.",
  "rule.saqt.q.ccpp.1077.example.0.dangerous": "Line 2: An int type is cast into pointer.",
  "rule.saqt.q.ccpp.1077.example.0.safe": "Line 2: Do not perform casting on an int type into pointer.",
  "rule.saqt.q.ccpp.1077.name": "Casting from integer type to pointer type",
  "rule.saqt.q.ccpp.1078.description": "The Casting to pointer type checker finds expressions that cast a general or pointer type to another pointer type.\nGenerally, a cast from a general or pointer type to another type causes a lot of issues at runtime. Therefore, such a cast must not be performed so long as possible.\nDo not cast a general or pointer type to another pointer type.",
  "rule.saqt.q.ccpp.1078.example.0.dangerous": "Line 5: long* type is cast into short*.",
  "rule.saqt.q.ccpp.1078.example.0.safe": "Line 5: Do not perform casting on object into other pointer.",
  "rule.saqt.q.ccpp.1078.name": "Casting to pointer type",
  "rule.saqt.q.ccpp.108.description": "The Use of forbidden string as argument checker finds calls to optionally specified functions that pass a string value to the designated argument position.\nYou can optionally specify files excluded from analysis, functions subject to analysis, functions excluded from analysis, callee functions, and string argument positions.\nInspect arguments passed to functions to prevent their misuse and conform to APIs. A misuse of an argument may cause an unexpected program behavior.\nMake sure strings are not passed to optionally specified argument positions.",
  "rule.saqt.q.ccpp.108.example.0.dangerous": "Line 3: A subject to analysis, Func() function, is defined.\nLine 4: The second argument of memcpy_API09() function is a string.",
  "rule.saqt.q.ccpp.108.example.0.safe": "Line 3: A subject to analysis, Func() function, is defined.\nLine 4: The second argument of memcpy_API09() function is a const.",
  "rule.saqt.q.ccpp.108.name": "Use of forbidden string as argument",
  "rule.saqt.q.ccpp.108.option.call_param_should_not_be_string.description": "Call parameter which should not be string",
  "rule.saqt.q.ccpp.108.option.call_param_should_not_be_string.name": "Call parameter which should not be string",
  "rule.saqt.q.ccpp.108.option.call_target.description": "Target function call",
  "rule.saqt.q.ccpp.108.option.call_target.name": "Target function call",
  "rule.saqt.q.ccpp.108.option.file_target_excluded.description": "Files to be excluded",
  "rule.saqt.q.ccpp.108.option.file_target_excluded.name": "Files to be excluded",
  "rule.saqt.q.ccpp.108.option.function_target.description": "Set target functions with regular expressions",
  "rule.saqt.q.ccpp.108.option.function_target.name": "Target functions",
  "rule.saqt.q.ccpp.108.option.function_target_excluded.description": "Set up functions to be excluded from analyzing.",
  "rule.saqt.q.ccpp.108.option.function_target_excluded.name": "Functions to be excluded",
  "rule.saqt.q.ccpp.1081.description": "The Ambiguous order of priority of expressions checker finds compound expressions that do not use parentheses but rely solely on the predefined operator precedence rules.\nOperator precedence is quite confusing in C/C++, so reliance upon it may lead easily to mistakes. Operators behave according to their precedence, but the developer may have intended somewhat differently. Such a practice, therefore, may end up with an unwanted result.\nWhen constructing a compound expression with operators of different precedence, use parentheses to explicitly set their precedence.",
  "rule.saqt.q.ccpp.1081.example.0.dangerous": "Line 3: Expressions are ordered by operator precedence.",
  "rule.saqt.q.ccpp.1081.example.0.safe": "Line 3: Add parentheses to a * b operation, even a correct answer can be guaranteed by operator precedence.",
  "rule.saqt.q.ccpp.1081.name": "Ambiguous order of priority of expressions",
  "rule.saqt.q.ccpp.1082.description": "The SSide effect on expression checker finds expressions that cause side effects internally.\nA side effect refers to a modification that an expression makes to memory values. An ordinary alignment operation is not a mere expression but a complete expression statement; in this case, no problem arises with side effects. The checker rather reports when a side effect occurs on the right-hand side of an assignment or in the condition expression of a conditional.\nA side effect in an expression can make different results depending on the order of the comprising operations. Because regular operators have precedence, they may not cause a significant issue. However, there are some operators with no precedence defined; for example, the order of evaluating arguments passed in a function is not defined. If these arguments have a side effect, their evaluation can produce different results depending on the compiler.\nAvoid expressions with a side effect.",
  "rule.saqt.q.ccpp.1082.example.0.dangerous": "Line 5: A side-effect occurs by x variable.The variable x is used as an index of arr array, thus, results can be varied by operating orders of its compiler.",
  "rule.saqt.q.ccpp.1082.example.0.safe": "Line 5: Break expression to apply ++ operator on variable x into two.\nLine 6: Avoid expressions with side effects.",
  "rule.saqt.q.ccpp.1082.name": "Side effect on expression",
  "rule.saqt.q.ccpp.1083.description": "The Side effect on function call checker finds an expression with side effects during function call.\nA side effect refers to a modification that an expression makes to memory values.\nA side effect in an expression can make different results depending on the order of the comprising operations. Because regular operators have precedence, they may not cause a significant issue. However, there are some operators with no precedence defined; for example, the order of evaluating arguments passed in a function is not defined. If these arguments have a side effect, their evaluation can produce different results depending on the compiler.\nAvoid function calls with side effects.",
  "rule.saqt.q.ccpp.1083.example.0.dangerous": "Line 5: Side effects is caused by func() function call. Entire expressions will cause side effects 3 times. Their results can be varied by operating orders of compilers.",
  "rule.saqt.q.ccpp.1083.example.0.safe": "Line 5: Avoid function calls with side effects.\nLine 6: Avoid function calls with side effects.",
  "rule.saqt.q.ccpp.1083.name": "Side effect on function call",
  "rule.saqt.q.ccpp.1084.description": "The Side effect on parameter checker finds an expression with side effects on an argument during function call.\nA side effect refers to a modification that an expression makes to memory values.\nA side effect in an expression can make different results depending on the order of the comprising operations. Because regular operators have precedence, they may not cause a significant issue. However, there are some operators with no precedence defined; for example, the order of evaluating arguments passed in a function is not defined. If these arguments have a side effect, their evaluation can produce different results depending on the compiler.\nAvoid arguments of function calls with side effects.",
  "rule.saqt.q.ccpp.1084.example.0.dangerous": "Line 4: Side-effects are caused by foo variable in someFunc() function call. Operation orders of arguments can be varied by compilers.",
  "rule.saqt.q.ccpp.1084.example.0.safe": "Line 4: Avoid arguments of function calls with side effects.",
  "rule.saqt.q.ccpp.1084.name": "Side effect on parameter",
  "rule.saqt.q.ccpp.1085.description": "The Assignment in operands checker finds instances of including an assignment operation in an expression.\nThis includes the following occasions: The right-hand side of an assignment statement contains another assignment operation. A condition expression contains an assignment operation.\nSuch expressions may be written by mistake; or even if on purpose, they can cause side effects. In the condition expression of a loop or conditional, in particular, an assignment often comes by mistake in the place of a comparison; as such a misconstructed expression always evaluates to true, issues arise.\nDo not include an assignment operation in an expression. The checker, however, does not report for standalone assignment statements. Its checks apply only if an assignment operation is found on the right-hand side of another assignment or in a non-statement expression such as a condition expression.",
  "rule.saqt.q.ccpp.1085.example.0.dangerous": "Line 3: Another assignment is performed in the right side of assignment.Because of bool type variable, a, the assignment can be misused of comparison.\nLine 4: Assignment is performed in initialization of variable y.",
  "rule.saqt.q.ccpp.1085.example.0.safe": "Line 3: Perform a comparison.\nLine 4: Separate the assignment of 5 to x variable.\nLine 5: Assign variable x to initialization of variable y.",
  "rule.saqt.q.ccpp.1085.name": "Assignment in operands",
  "rule.saqt.q.ccpp.1086.description": "The Use of volatile type variable in complex expression checker finds complex expressions in which the same volatile-qualified variable occurs more than once.\nThe volatile qualifier tells that its qualified object may be modified from the outside. A volatile variable can assume different values during the evaluation of an expression with it. This can cause an unexpected result.\nBe sure a volatile variable does not occur more than once in a compound expression.",
  "rule.saqt.q.ccpp.1086.example.0.dangerous": "Line 4: Variable v with volatile qualifier is used twice in a single expression.",
  "rule.saqt.q.ccpp.1086.example.0.safe": "Line 4: Store the variable v with volatile qualifier in bar. A volatile variable can be used once in a single expression.",
  "rule.saqt.q.ccpp.1086.name": "Use of volatile type variable in complex expression",
  "rule.saqt.q.ccpp.1087.description": "The Side effect on size examination checker finds calls to sizeof in which their operand have side effects.\nAdditionally, the checker finds calls in decltype with similar issues that are detected in the sizeof functions.\nAn expression used as the operand of sizeof is not evaluated. Therefore, applying sizeof to an expression with a side effect can cause an unexpected result.\nBe sure that the sizeof operator is not used on expressions that contain side effects.",
  "rule.saqt.q.ccpp.1087.example.0.dangerous": "Line 4: Side-effects is caused by sizeof operand.",
  "rule.saqt.q.ccpp.1087.example.0.safe": "Line 4: Separate y++ operation from operations.\nLine 5: Do not use expressions with side effects on sizeof operand.",
  "rule.saqt.q.ccpp.1087.name": "Side effect on size examination",
  "rule.saqt.q.ccpp.1088.description": "The Side effect on function call in wrong order checker finds expressions in which the right-hand side of a logical operator contains a call to a function.\nA function call on the right-hand side of a logical operator, such as && or ||, can cause a side effect. This may affect the evaluation on the left-hand side. Accordingly, an unintended result may occur.\nDo not call a function on the right-hand side of a logical operator.",
  "rule.saqt.q.ccpp.1088.example.0.dangerous": "Line 7: test1() function is called in the right side of operator.Then, side-effects can be occur to change bar value.",
  "rule.saqt.q.ccpp.1088.example.0.safe": "Line 7: Separate the function call from expressions.\nLine 8: Do not use functions with side-effects on the right side of operator.",
  "rule.saqt.q.ccpp.1088.name": "Side effect on function call in wrong order",
  "rule.saqt.q.ccpp.1089.description": "The Side effect on logical operation checker finds expressions in which the right-hand side of a logical operator contains an operator with a side effect.\nDepending on the left-hand operand, a logical operator can perform a short-circuit evaluation in C/C++, thereby skipping the expression on the right-hand side. Therefore, if the right-hand expression is written in the expectation that the side effects therein will always be executed, the logical operation may end up with an unintended result.\nDo not use a operator with side effects on the right-hand side of a logical operator.",
  "rule.saqt.q.ccpp.1089.example.0.dangerous": "Line 4: A side-effect occurs on the right of operator.",
  "rule.saqt.q.ccpp.1089.example.0.safe": "Line 5: Separate the right side of operator from the expression.\nLine 6: Separate an expression with side effects from expressions. And avoid to use the expression with side effects on the right side of operator.",
  "rule.saqt.q.ccpp.1089.name": "Side effect on logical operation",
  "rule.saqt.q.ccpp.109.description": "The Missing specified argument in function checker finds calls to optionally specified functions that do not pass a function of a specific data type to the designated argument position.\nYou can optionally specify files excluded from analysis, functions subject to analysis, functions excluded from analysis, callee functions, function-type argument positions, and function names.\nInspect arguments passed to functions to prevent their misuse and conform to APIs. A misuse of an argument may cause an unexpected program behavior.\nWhen calling an optionally specified function, make sure calls to a designated function is passed to the specified argument position.",
  "rule.saqt.q.ccpp.109.example.0.dangerous": "Line 3: A subject to analysis, Func() function, is defined.\nLine 4: PFM_ERR_API10() function is called. The second argument is not optionally specified function.",
  "rule.saqt.q.ccpp.109.example.0.safe": "Line 3: A subject to analysis, Func() function, is defined.\nLine 4: PFM_ERR_API10() function is called. The second argument has been optionally specified function, PfmNumber_API10().",
  "rule.saqt.q.ccpp.109.name": "Missing specified argument in function",
  "rule.saqt.q.ccpp.109.option.call_param_should_be_call.description": "Set up required call parameters",
  "rule.saqt.q.ccpp.109.option.call_param_should_be_call.name": "Required call parameters",
  "rule.saqt.q.ccpp.109.option.call_target.description": "Target function call",
  "rule.saqt.q.ccpp.109.option.call_target.name": "Target function call",
  "rule.saqt.q.ccpp.109.option.file_target_excluded.description": "Files to be excluded",
  "rule.saqt.q.ccpp.109.option.file_target_excluded.name": "Files to be excluded",
  "rule.saqt.q.ccpp.109.option.function_target.description": "Set target functions with regular expressions",
  "rule.saqt.q.ccpp.109.option.function_target.name": "Target functions",
  "rule.saqt.q.ccpp.109.option.function_target_excluded.description": "Set up functions to be excluded from analyzing.",
  "rule.saqt.q.ccpp.109.option.function_target_excluded.name": "Functions to be excluded",
  "rule.saqt.q.ccpp.1090.description": "The Opening already opened file checker finds instances of attempting to open an opened file.\nThis can cause issues when you try to open the opened file.\nMake sure not to open the opened file again.",
  "rule.saqt.q.ccpp.1090.example.0.dangerous": "Line 3: A opened file is attempted to be opened again.",
  "rule.saqt.q.ccpp.1090.example.0.safe": "Line 2: Do not open the opened file again.",
  "rule.saqt.q.ccpp.1090.name": "Opening already opened file",
  "rule.saqt.q.ccpp.1093.description": "The Improper deallocation of array checker finds instances in which the delete[] operator is used to deallocate an array but with an index specified.\nIt is a non-standard practice to specify an index when using the delete[] operator to deallocate an array. Although this does not cause a critical error, it is recommended to comply with the coding standards.\nDo not specify an index when using the delete[] operator to deallocate an array.",
  "rule.saqt.q.ccpp.1093.example.0.dangerous": "Line 3: An index is specified by deallocating arr array with delete.",
  "rule.saqt.q.ccpp.1093.example.0.safe": "Line 3: Deallocate the array without index specified.",
  "rule.saqt.q.ccpp.1093.name": "Improper deallocation of array",
  "rule.saqt.q.ccpp.1094.description": "The Use of void parameter type checker finds declarations of functions that include a void-type parameter.\nUse of the void type as a parameter type is a non-standard practice. Although this does not cause a critical error, it is recommended to comply with the coding standards.\nDo not use the void type as a parameter type.",
  "rule.saqt.q.ccpp.1094.example.0.dangerous": "Line 1: Parameter a is declared as void.",
  "rule.saqt.q.ccpp.1094.example.0.safe": "Line 1: Do not use void type on a parameter.",
  "rule.saqt.q.ccpp.1094.name": "Use of void parameter type",
  "rule.saqt.q.ccpp.1097.description": "The Accessing volatile variable in logical operation checker finds expressions in which the right-hand side of a logical operator contains a volatile-qualified variable.\nLogical operators evaluate operands from left to right. If a volatile-qualified variable is present on the right-hand side and its value is dependent on the left-hand operand, an unintended program behavior may occur.\nDo not use a volatile variable on the right-hand side of a logical operator.",
  "rule.saqt.q.ccpp.1097.example.0.dangerous": "Line 3: Variable var with volatile qualifier is used on the right side of operator.",
  "rule.saqt.q.ccpp.1097.example.0.safe": "Line 3: Do not use a volatile variable on the right-hand side of a logical operator.",
  "rule.saqt.q.ccpp.1097.name": "Accessing volatile variable in logical operation",
  "rule.saqt.q.ccpp.1099.description": "The Bitwise operation on signed value checker finds expressions in which a signed integer object is used as an operand of a bitwise operator.\nA bitwise operation on a signed integer variable may result in an unintended value because of the sign bit.\nMake sure that bitwise operations are performed on an unsigned integer object.",
  "rule.saqt.q.ccpp.1099.example.0.dangerous": "Line 4: x variable of signed int type is used for bitwise operation.",
  "rule.saqt.q.ccpp.1099.example.0.safe": "Line 4: Use unsigned int type for the operand of the bitwise operation.",
  "rule.saqt.q.ccpp.1099.name": "Bitwise operation on signed value",
  "rule.saqt.q.ccpp.1100.description": "The Shifting on signed value checker finds expressions in which a signed integer object is used as an operand of a bitwise operator.\nA shift operation on a signed integer variable may result in an unintended value because of the sign bit.\nMake sure that shift operations are performed on an unsigned integer object.",
  "rule.saqt.q.ccpp.1100.example.0.dangerous": "Line 4: x variable of signed int type is used for shift operation.",
  "rule.saqt.q.ccpp.1100.example.0.safe": "Line 4: Use unsigned int type for the operand of the shift operation.",
  "rule.saqt.q.ccpp.1100.name": "Shifting on signed value",
  "rule.saqt.q.ccpp.1101.description": "The Negative operation on unsigned value checker finds expressions that use the unary minus operator on an unsigned integer variable.\nAn unsigned integer variable cannot assume a negative number. Using the unary minus operator on an unsigned integer variable is, therefore, a meaningless action. However, some compilers implicitly cast the result of such an operation, leading to an unexpected behavior.\nDo not use the unary minus operator on an unsigned integer variable.",
  "rule.saqt.q.ccpp.1101.example.0.dangerous": "Line 3: An unary minus operator is used on an unsigned integer type x variable.",
  "rule.saqt.q.ccpp.1101.example.0.safe": "Line 3: Modify the type of x variable into integer type.",
  "rule.saqt.q.ccpp.1101.name": "Negative operation on unsigned value",
  "rule.saqt.q.ccpp.1102.description": "The Use of comma operator checker finds expressions that perform comma operations.\nThe checker does not report arguments of function calls with a comma.\nDo not use the comma operators.",
  "rule.saqt.q.ccpp.1102.example.0.dangerous": "Line 4: A comma operator is used.",
  "rule.saqt.q.ccpp.1102.example.0.safe": "Line 4: Detach expressions without the comma operator.\nLine 5: Detach expressions without the comma operator.",
  "rule.saqt.q.ccpp.1102.name": "Use of comma operator",
  "rule.saqt.q.ccpp.1103.description": "The Use of bit representation on floating point value checker finds casts or declarations that include a bitwise access to a value declared as a real number.\nBitwise access to a real-number value is a dangerous action. It is because the memory format varies with the compiler, possibly causing an unexpected result.\nAvoid bitwise access to a real-number value. To do so, you can cast the real number to a bitwise-accessible type, or avoid mix it up with an integer type in a union.",
  "rule.saqt.q.ccpp.1103.example.0.dangerous": "Line 3: A float type variable is casted into reference variable of unsigned integer type. Then, the value can be used as a reference in bitwise operations.\nLine 6: Both float and unsigned int types are used in a union. Then, both can be used as a reference in bitwise operations by assigning real numbers and using integer types.",
  "rule.saqt.q.ccpp.1103.example.0.safe": "Line 3: Assign the float type variable as a value, not a reference.\nLine 6: Do not use both float and int types together in a union.",
  "rule.saqt.q.ccpp.1103.name": "Use of bit representation on floating point value",
  "rule.saqt.q.ccpp.1104.description": "The Implicit comparison expression checker finds instances of comparing a boolean variable implicitly in a context such as a condition expression.\nImplicit comparison refers to an attempt to check a simple variable for zero or null without using a comparison expression.\nIf you habitually compare a boolean variable implicitly, you may make a mistake when handling a comparison expression that does not always evaluate to 1 or 0. Not every condition expression works that way; a string comparison function, for example, returns 0 when evaluating to true and returns a positive or negative number when evaluating to false. In this case, implicit comparison may cause an unintended result.\nIf a condition expression ends with a boolean value, be sure to use an explicit comparison.",
  "rule.saqt.q.ccpp.1104.example.0.dangerous": "Line 2: A condition expression of if statements is not a boolean.",
  "rule.saqt.q.ccpp.1104.example.0.safe": "Line 2: Use a comparison operation to modify the condition expression into a boolean.",
  "rule.saqt.q.ccpp.1104.name": "Implicit comparison expression",
  "rule.saqt.q.ccpp.1105.description": "The Use of float type as loop index checker finds instances of using a float-point variable as a loop counter.\nIf a loop counter assumes a floating-point number, arithmetic operations on the counter value may produce a small amount of roundoff error; as these errors are accumulated in iterations, the cumulative rounding error may become a significant value unexpectedly affecting the count of iterations.\nMake sure loop counters assume an integer variable.",
  "rule.saqt.q.ccpp.1105.example.0.dangerous": "Line 2: A float type variable is used as a loop counter.",
  "rule.saqt.q.ccpp.1105.example.0.safe": "Line 2: Do not use the float type variable as the loop counter.\nLine 3: Iterative handling of the float type variable needs to be separated into individual one.",
  "rule.saqt.q.ccpp.1105.name": "Use of float type as loop index",
  "rule.saqt.q.ccpp.1106.description": "The Missing update of loop index checker finds for loops that do not have an increment or decrement operation in the increment section.\nA for loop without an increment/decrement operation on its loop counter may have been written incorrectly. Such a loop often increments or decrements the loop counter elsewhere in the block; this practice, however, is prone to cause an infinite loop when a minor modification or mistake is made.\nMake sure for loops have an increment/decrement operation on their loop counter in the increment section.",
  "rule.saqt.q.ccpp.1106.example.0.dangerous": "Line 3: Counter variable i of loop is not increased/decreased in increment section of for statements.",
  "rule.saqt.q.ccpp.1106.example.0.safe": "Line 3: Use an increment/decrement operator on the counter variable i in increment section of for statements.",
  "rule.saqt.q.ccpp.1106.name": "Missing update of loop index",
  "rule.saqt.q.ccpp.1107.description": "The Missing condition of loop statement checker finds for loops that do not have a comparison operation in the evaluation section.\nA for loop without a comparison operation on its loop counter may have been written incorrectly. Such a loop often performs comparison on the loop counter in the block instead; this practice, however, is prone to causing an infinite loop when a minor modification or mistake is made.\nMake sure that for loops have a comparison operation on their loop counter in the evaluation section.",
  "rule.saqt.q.ccpp.1107.example.0.dangerous": "Line 1: A variable i of a loop counter is not evaluated.\nLine 7: No comparison operation is found for the loop counter.",
  "rule.saqt.q.ccpp.1107.example.0.safe": "Line 1: Perform a comparison operation for a variable i of a loop counter.\nLine 7: Add a comparison operation for a variable i of a loop counter.",
  "rule.saqt.q.ccpp.1107.name": "Missing condition of loop statement",
  "rule.saqt.q.ccpp.1108.description": "The Modification of variable except loop index in loop checker finds for loops that perform an increment/decrement operation on a variable other than the loop counter in the increment section.\nA for loop that increments or decrements a non-loop counter variable in the increment section may have been written incorrectly. It is likely that some other variable is incremented or decremented by mistake instead of the loop counter, which may fall into an infinite loop. Even if such use is on purpose, this practice is not recommended because of poor readability.\nMake sure that only the loop counter is incremented or decremented in the increment section of a for loop.",
  "rule.saqt.q.ccpp.1108.example.0.dangerous": "Line 3: A value of variable var is increased as well as loop counter i.",
  "rule.saqt.q.ccpp.1108.example.0.safe": "Line 3: Do not change variable values other than the loop counter.",
  "rule.saqt.q.ccpp.1108.name": "Modification of variable except loop index in loop",
  "rule.saqt.q.ccpp.1109.description": "The Multiple initializations in loop checker finds for loops that initialize a variable other than the loop counter in the initialization section.\nA for loop that initializes a non-loop counter variable in the initialization section may have been written incorrectly. It is likely that some other variable is initialized by mistake instead of the loop counter, which may fall into an infinite loop. Even if such use is on purpose, this practice is not recommended because of poor readability.\nMake sure that only the loop counter is initialized in the initialization section of a for loop.",
  "rule.saqt.q.ccpp.1109.example.0.dangerous": "Line 4: Variable var is initialized as well as loop counter i.",
  "rule.saqt.q.ccpp.1109.example.0.safe": "Line 3: Do not initialize variable values other than the loop counter.",
  "rule.saqt.q.ccpp.1109.name": "Multiple initializations in loop",
  "rule.saqt.q.ccpp.111.description": "The Missing specified argument checker finds calls to optionally specified callee functions in which a specific function passed to the designated parameter of the callee function takes a different argument from the argument passed to another designated parameter of the callee function itself.\nYou can optionally specify files excluded from analysis, functions subject to analysis, functions excluded from analysis, callee functions, argument position of the callee function to be compared, argument position of the callee function that takes a function call, name of the function passed to the callee function, argument position of the argument function to be compared, and comparison mode settings.\nInspect arguments passed to functions to prevent their misuse and conform to APIs. A misuse of an argument may cause an unexpected program behavior. \nMake sure that an optionally specified function and a designated argument function passed to it take the same argument.",
  "rule.saqt.q.ccpp.111.example.0.dangerous": "Line 3: A subject to analysis, Func() function, is defined.\nLine 4: memcpy_API12() function is called. The third argument, an argument of strlen_API12() is not identical with the first argument of memcpy_API12().",
  "rule.saqt.q.ccpp.111.example.0.safe": "Line 3: A subject to analysis, Func() function, is defined.\nLine 4: memcpy_API12() function is called. The third argument, an argument of strlen_API12() is identical with the first argument of memcpy_API12().",
  "rule.saqt.q.ccpp.111.name": "Missing specified argument",
  "rule.saqt.q.ccpp.111.option.call_target.description": "Target function call",
  "rule.saqt.q.ccpp.111.option.call_target.name": "Target function call",
  "rule.saqt.q.ccpp.111.option.call_target_call_param.description": "Parameter index which is place function call",
  "rule.saqt.q.ccpp.111.option.call_target_call_param.name": "Parameter index which is place function call",
  "rule.saqt.q.ccpp.111.option.call_target_compare_param.description": "Parameter that calling function's comparision",
  "rule.saqt.q.ccpp.111.option.call_target_compare_param.name": "Parameter that calling function's comparision",
  "rule.saqt.q.ccpp.111.option.call_target_param_call.description": "Function name which should be called as parameter",
  "rule.saqt.q.ccpp.111.option.call_target_param_call.name": "Function name which should be called as parameter",
  "rule.saqt.q.ccpp.111.option.call_target_param_compare_mode.description": "decimal : decimal constant .string : string constant .variable: variable",
  "rule.saqt.q.ccpp.111.option.call_target_param_compare_mode.name": "Comparison mode",
  "rule.saqt.q.ccpp.111.option.call_target_param_compare_param.description": "Call target parameter compare parameter",
  "rule.saqt.q.ccpp.111.option.call_target_param_compare_param.name": "Call target parameter compare parameter",
  "rule.saqt.q.ccpp.111.option.file_target_excluded.description": "Set up files to be excluded from analyzing.",
  "rule.saqt.q.ccpp.111.option.file_target_excluded.name": "Files to be excluded",
  "rule.saqt.q.ccpp.111.option.function_target.description": "Set target functions with regular expressions",
  "rule.saqt.q.ccpp.111.option.function_target.name": "Target functions",
  "rule.saqt.q.ccpp.111.option.function_target_excluded.description": "Set up functions to be excluded from analyzing.",
  "rule.saqt.q.ccpp.111.option.function_target_excluded.name": "Functions to be excluded",
  "rule.saqt.q.ccpp.1110.description": "The Update of loop index in loop checker finds expressions that make a modification to the loop counter inside the body of a for loop instead of the increment section.\nA for loop that increments or decrements the loop counter inside the body may have been written incorrectly. An improperly designed control flow can lead to an infinite loop. Even if such use is on purpose, this practice is not recommended because of poor readability.\nMake sure for loops do not include counter increment inside the body block. The loop counter must change only in the increment section.",
  "rule.saqt.q.ccpp.1110.example.0.dangerous": "Line 4: Counter variable a of loop is changed in for statements.\nLine 5: Counter variable a of loop is changed in for statements.",
  "rule.saqt.q.ccpp.1110.example.0.safe": "Line 3: Change a loop counter only in increasement/decreasement of for statements.",
  "rule.saqt.q.ccpp.1110.name": "Update of loop index in loop",
  "rule.saqt.q.ccpp.1113.description": "The Use of boolean expression in condition of switch statement checker finds switch statements whose control expression is a boolean expression, instead of an ordinary variable.\nA boolean expression evaluates to either true or false. In this case, the use of a switch statement is not a necessary choice.\nAvoid boolean evaluation in the control section of a switch statement. For boolean evaluation, use an if statement, instead of a switch statement.",
  "rule.saqt.q.ccpp.1113.example.0.dangerous": "Line 2: A boolean value is used for a condition of switch statements.",
  "rule.saqt.q.ccpp.1113.example.0.safe": "Line 2: Avoid boolean evaluation in the control section of a switch statement.",
  "rule.saqt.q.ccpp.1113.name": "Use of boolean expression in condition of switch statement",
  "rule.saqt.q.ccpp.1114.description": "The Empty switch statement checker finds switch statements that include no case and default blocks.\nA switch statement must include at least one case block.",
  "rule.saqt.q.ccpp.1114.example.0.dangerous": "Line 2: No case clause is placed in switch statements.",
  "rule.saqt.q.ccpp.1114.example.0.safe": "Line 2: Place at least one case clause in switch statements.",
  "rule.saqt.q.ccpp.1114.name": "Empty switch statement",
  "rule.saqt.q.ccpp.1115.description": "The Variable arguments in function checker finds instances of allowing a variable number of arguments to be taken.\nCertain functions usefully take a variable number of arguments. Variable-length arguments are, however, not validated for type by the compiler, thus leaving a possibility of program malfunctions. For a stability-critical program, in particular, the use of variable-length arguments may pose a big risk. Do not use them in such a case.\nDo not define a function that takes a variable number of arguments.",
  "rule.saqt.q.ccpp.1115.example.0.dangerous": "Line 2: A variable number of arguments is used for function declaration.",
  "rule.saqt.q.ccpp.1115.example.0.safe": "Line 2: Do not define a function that takes a variable number of arguments.",
  "rule.saqt.q.ccpp.1115.name": "Variable arguments in function",
  "rule.saqt.q.ccpp.1116.description": "The Improper declaration of read-only parameter checker finds instances in which a class-type parameter is declared not as a const reference.\nParameters of non-class primitive types need to be passed as values.\nGiven data types' typical sizes and usability, it is ideal that parameters of class types are passed as const references, and parameters of primitive types are as values. Passing a class-type parameter as a value incurs an unnecessary copy operation cost, and passing it as a pointer may be problematic considering the possibility of passing a null pointer. This, therefore, may lead to an invalid access causing a runtime error.\nBe sure that parameters of class types are passed as const references.",
  "rule.saqt.q.ccpp.1116.example.0.dangerous": "Line 4: A parameter of class type is sent as a value.",
  "rule.saqt.q.ccpp.1116.example.0.safe": "Line 4: Send the class in constant reference type.",
  "rule.saqt.q.ccpp.1116.name": "Improper declaration of read-only parameter",
  "rule.saqt.q.ccpp.1117.description": "The Direct use of function identifier checker finds instances of using a function identifier in a noncompliant way.\nTo use a function identifier correctly, it must be used as an operand of the & operator or followed by a parenthesized list of arguments. In other words, function identifiers must be used to point to their function address or to call their function.\nA noncompliant use of a function identifier usually happens by mistake in an attempt at calling the function. This may cause an unexpected issue.\nUse a function identifier only as either a pointer to or a call to its function.",
  "rule.saqt.q.ccpp.1117.example.0.dangerous": "Line 3: foo() function is used as a normal function.\nLine 13: MISRA2008_8_4_4___f1() function is used without & operator.\nLine 17: MISRA2008_8_4_4___f1() function is used without & operator.",
  "rule.saqt.q.ccpp.1117.example.0.safe": "Line 3: The foo() is used as a called function.\nLine 13: Use the MISRA2008_8_4_4___f1() function as an operand of & operator. This results in accessing to a function pointer.\nLine 17: Use the MISRA2008_8_4_4___f1() function as an operand of & operator. This results in accessing to a function pointer.",
  "rule.saqt.q.ccpp.1117.name": "Direct use of function identifier",
  "rule.saqt.q.ccpp.1118.description": "The Arithmetic operation on general pointer checker finds expressions that perform a pointer operation on a non-array pointer object.\nA pointer operation on a non-array pointer object does not guarantee pointing to a valid address, thus posing a risk of accessing an invalid memory location.\nMake sure a pointer operation is performed only on an array object or on a pointer to an array object.",
  "rule.saqt.q.ccpp.1118.example.0.dangerous": "Line 2: A pointer operation is performed on a non-array pointer object.",
  "rule.saqt.q.ccpp.1118.example.0.safe": "Line 3: Perform the pointer operation on a pointer to an array.",
  "rule.saqt.q.ccpp.1118.name": "Arithmetic operation on general pointer",
  "rule.saqt.q.ccpp.1119.description": "The Subtraction of pointers of different objects checker finds pointer subtraction between arrays with different elements.\nA pointer subtraction between arrays with different elements returns an unpredictable result. As pointers point to different addresses at each runtime, so does a subtraction between different arrays return a different result each time. This can cause an unexpected result.\nDo not perform a pointer subtraction on arrays with different elements.",
  "rule.saqt.q.ccpp.1119.example.0.dangerous": "Line 7: Variables p1 and p2 are subtracted. But the two pointers are pointing to different arrays.",
  "rule.saqt.q.ccpp.1119.example.0.safe": "Line 7: Perform the pointer subtraction on the same array.",
  "rule.saqt.q.ccpp.1119.name": "Subtraction of pointers of different objects",
  "rule.saqt.q.ccpp.112.description": "The Use of literal as argument checker finds calls to optionally specified functions that put a literal or string argument in a forbidden position.\nYou can optionally specify files excluded from analysis, functions subject to analysis, argument positions that should not take a number, and argument positions that should not take a string.\nInspect arguments passed to functions to prevent their misuse and conform to APIs. A misuse of an argument may cause an unexpected program behavior.\nWhen calling an optionally specified function, avoid putting number- and string-type arguments in their respective forbidden positions.",
  "rule.saqt.q.ccpp.112.example.0.dangerous": "Line 3: Suppose that memset_API13() is optionally subject to analysis. A string has been included in arguments of the memset_API13().",
  "rule.saqt.q.ccpp.112.example.0.safe": "Line 3: Suppose that memset_API13() is optionally subject to analysis. A character has been included in arguments of the memset_API13().",
  "rule.saqt.q.ccpp.112.name": "Use of literal as argument",
  "rule.saqt.q.ccpp.112.option.call_param_should_not_be_deciaml.description": "Set up call parameters which should not place decimal.",
  "rule.saqt.q.ccpp.112.option.call_param_should_not_be_deciaml.name": "Call parameters which should not place decimal",
  "rule.saqt.q.ccpp.112.option.call_param_should_not_be_string.description": "Set up call parameters which should not place string.",
  "rule.saqt.q.ccpp.112.option.call_param_should_not_be_string.name": "Call parameters which should not place string",
  "rule.saqt.q.ccpp.112.option.call_target.description": "Target function call",
  "rule.saqt.q.ccpp.112.option.call_target.name": "Target function call",
  "rule.saqt.q.ccpp.112.option.file_target_excluded.description": "Files to be excluded",
  "rule.saqt.q.ccpp.112.option.file_target_excluded.name": "Files to be excluded",
  "rule.saqt.q.ccpp.1120.description": "The Comparison between pointers of different objects checker finds comparison operations between arrays with different elements.\nComparison operations subject to this checking are those with the <, <=, >, >=, or == operator.\nA comparison between arrays with different elements returns an unpredictable result. As pointers point to different addresses at each runtime, so does a comparison between different arrays return a different result each time. This might get unpredictable results.\nDo not perform a comparison operation on arrays with different elements.",
  "rule.saqt.q.ccpp.1120.example.0.dangerous": "Line 6: Variables p1 and p2 are compared. Two pointers respectively point different arrays.",
  "rule.saqt.q.ccpp.1120.example.0.safe": "Line 6: Perform the pointer comparison on the same array.",
  "rule.saqt.q.ccpp.1120.name": "Comparison between pointers of different objects",
  "rule.saqt.q.ccpp.1121.description": "The Array indexing on pointer type variable checker finds expressions that perform an array access operation on a non-array pointer object.\nAn array access operation on a non-array pointer object does not guarantee pointing to a valid address, thus posing a risk of accessing an invalid memory location.\nMake sure an array access operation is performed only on an array object or on a pointer to an array object.",
  "rule.saqt.q.ccpp.1121.example.0.dangerous": "Line 3: An array access operator is used on pointer variable param.\nLine 4: An array access operator is used on pointer variable param.",
  "rule.saqt.q.ccpp.1121.example.0.safe": "Line 3: Use the array access operator on array type variable only.",
  "rule.saqt.q.ccpp.1121.name": "Array indexing on pointer type variable",
  "rule.saqt.q.ccpp.1121.option.ignore_parameter.description": "Ignore parameter variables.",
  "rule.saqt.q.ccpp.1121.option.ignore_parameter.name": "Ignore parameter variables.",
  "rule.saqt.q.ccpp.1123.description": "The Assignment between objects from overlapped memory region checker finds expression evaluations that include an assignment between two objects having a mutually overlapping memory area.\nSpecifically, the checker searches for a call to a string function in which the origin and destination objects overlap in memory.\nAn assignment operation between two objects overlapping in memory is an undefined action. Such code may output different results depending on compilers and thus is unpredictable.\nAvoid a function call on objects overlapping in memory.",
  "rule.saqt.q.ccpp.1123.example.0.dangerous": "Line 3: Variable str is copied to str variable of char type.",
  "rule.saqt.q.ccpp.1123.example.0.safe": "Line 4: Do not specify overlapping memory areas on origin and destination objects.",
  "rule.saqt.q.ccpp.1123.name": "Assignment between objects from overlapped memory region",
  "rule.saqt.q.ccpp.1124.description": "The Assignment to overlapping storage checker finds expression evaluations that include an assignment between two union fields having a mutually overlapping memory area.\nAn assignment operation between two objects overlapping in memory is an undefined action. Such code may output different results depending on compilers and thus is unpredictable.\nDo not perform assignment between fields of the same union.",
  "rule.saqt.q.ccpp.1124.example.0.dangerous": "Line 7: Field b is assigned to field a of union ut1. The overlapped memory area is assigned to two fields.",
  "rule.saqt.q.ccpp.1124.example.0.safe": "Line 7: Do not perform assignment between fields of the same union.",
  "rule.saqt.q.ccpp.1124.name": "Assignment to overlapping storage",
  "rule.saqt.q.ccpp.1125.description": "The Use of forbidden standard library functions checker finds calls to standard library functions that are forbidden.\nThe forbidden functions include abort(), exit(), getenv(), and system() that are defined in stdlib.h.\nAmong the C standard library functions, some belonging to stdlib.h have many flaws and are prone to cause an error. It is recommended to use some alternative library functions.\nDo not use a forbidden standard library function.",
  "rule.saqt.q.ccpp.1125.example.0.dangerous": "Line 3: A forbidden exit() function is used.",
  "rule.saqt.q.ccpp.1125.example.0.safe": "Line 2: Do not call a forbidden function.",
  "rule.saqt.q.ccpp.1125.name": "Use of forbidden standard library functions",
  "rule.saqt.q.ccpp.1125.option.check_misra_2004.description": "\"abort\", \"exit\", \"getenv\", \"system\" functions will be include in analysis.",
  "rule.saqt.q.ccpp.1125.option.check_misra_2004.name": "Target function name",
  "rule.saqt.q.ccpp.1125.option.check_misra_2012.description": "\"qsort\", \"bsearch\" functions will be include in analysis.",
  "rule.saqt.q.ccpp.1125.option.check_misra_2012.name": "Target function name",
  "rule.saqt.q.ccpp.1126.description": "The Use of forbidden time functions checker finds preprocessor directives that include a time library header.\nUnlike other checkers for forbidden functions, this checker prohibits including a header file itself. The forbidden time library is time.h.\nCertain functions in the time library have unspecified behaviors. Although the compiler provides their implementation, their specifications are not documented. They can often behave not as indented.\nDo not use a forbidden time library function.",
  "rule.saqt.q.ccpp.1126.example.0.dangerous": "Line 2: time.h header file is included.",
  "rule.saqt.q.ccpp.1126.example.0.safe": "Line 2: Do not include the time.h header file.",
  "rule.saqt.q.ccpp.1126.name": "Use of forbidden time functions",
  "rule.saqt.q.ccpp.1127.description": "The Use of break statement at outside of switch statement checker finds instances of using a break statement not in a switch statement.\nOther than in a switch statement, a break statement can also be used to escape a loop midway. In this case, however, the control flow becomes complicated and less readable.\nUse a break statement only within a switch statement. If a break is necessary elsewhere, rephrase the condition expression to enable escaping the control flow without a break statement.",
  "rule.saqt.q.ccpp.1127.example.0.dangerous": "Line 4: A break is used to exit a while loop.",
  "rule.saqt.q.ccpp.1127.example.0.safe": "Line 2: Do not use the break in the while loop.",
  "rule.saqt.q.ccpp.1127.name": "Use of break statement at outside of switch statement",
  "rule.saqt.q.ccpp.1128.description": "The Non-const function pointer checker finds instances of declaring a function pointer without using the const qualifier.\nA non-const qualified function pointer can occasionally modify the function it points to. In this case, tracking the program flow becomes challenging and an unexpected result often occurs.\nUse the const qualifier when declaring a function pointer.",
  "rule.saqt.q.ccpp.1128.example.0.dangerous": "Line 6: A function pointer, variable fp1, is declared without const.",
  "rule.saqt.q.ccpp.1128.example.0.safe": "Line 6: Declare the function pointer with constant.",
  "rule.saqt.q.ccpp.1128.name": "Non-const function pointer",
  "rule.saqt.q.ccpp.113.description": "The Use of variable as argument checker finds calls to optionally specified functions that put a variable argument in a forbidden position.\nYou can optionally specify files excluded from analysis, functions subject to analysis, and argument positions that should not take a variable. \nInspect arguments passed to functions to prevent their misuse and conform to APIs. A misuse of an argument may cause an unexpected program behavior.\nDo not put a variable argument in the optionally forbidden positions.",
  "rule.saqt.q.ccpp.113.example.0.dangerous": "Line 3: memcpy_API14() function is called. The first argument of the function is a variable.",
  "rule.saqt.q.ccpp.113.example.0.safe": "Line 3: memcpy_API14() function is called. The first argument is a string, this is not detected.",
  "rule.saqt.q.ccpp.113.name": "Use of variable as argument",
  "rule.saqt.q.ccpp.113.option.call_param_should_not_be_variable.description": "Call parameter which should not be name",
  "rule.saqt.q.ccpp.113.option.call_param_should_not_be_variable.name": "Call parameter which should not be name",
  "rule.saqt.q.ccpp.113.option.call_target.description": "Target function call",
  "rule.saqt.q.ccpp.113.option.call_target.name": "Target function call",
  "rule.saqt.q.ccpp.113.option.file_target_excluded.description": "Files to be excluded",
  "rule.saqt.q.ccpp.113.option.file_target_excluded.name": "Files to be excluded",
  "rule.saqt.q.ccpp.1130.description": "The Anonymous field in structure and union checker finds instances of declaring an unnamed field in a struct or union.\nAn unnamed struct or union field can by no means be accessed. Unless for a special purpose, such a declaration needs to be avoided.\nWhen declaring a field in a struct or union, be sure to give a name to it.",
  "rule.saqt.q.ccpp.1130.example.0.dangerous": "Line 4: An unnamed bitwise field is declared.\nLine 6: An unnamed struct field is declared.",
  "rule.saqt.q.ccpp.1130.example.0.safe": "Line 1: Declare the struct with all fields named.",
  "rule.saqt.q.ccpp.1130.name": "Anonymous field in structure and union",
  "rule.saqt.q.ccpp.1131.description": "The Redefinition of pointer type checker finds instances of using typedef to declare a pointer type other than a function pointer.\nA pointer type declared with typedef changes the way the const qualifier works. This can make a const-qualified object mutable.\nDo not declare a pointer type with typedef.",
  "rule.saqt.q.ccpp.1131.example.0.dangerous": "Line 5: A pointer is declared as typedef.\nLine 7: A parameter value with const qualifier is mutable.",
  "rule.saqt.q.ccpp.1131.example.0.safe": "Line 7: The parameter value with const qualifier is declared as typedef. Thus, the value is immutable.",
  "rule.saqt.q.ccpp.1131.name": "Redefinition of pointer type",
  "rule.saqt.q.ccpp.1133.description": "The Lowercase suffix for long checker finds expressions that include a long-type constant suffixed with a lowercase \"L.\"\nUse of the long-type suffix \"L\" in lower case can cause confusion with the number 1 in some fonts.\nBe sure to use an uppercase \"L\" when suffixing a long-type constant with it.",
  "rule.saqt.q.ccpp.1133.example.0.dangerous": "Line 1: A long-type constant 111 uses a suffix of lower case \"L\".",
  "rule.saqt.q.ccpp.1133.example.0.safe": "Line 1: Use an uppercase \"L\" for a suffix of long-type constant.",
  "rule.saqt.q.ccpp.1133.name": "Lowercase suffix for long",
  "rule.saqt.q.ccpp.1134.description": "The Improper declaration of flexible array member checker finds syntactically incorrect declarations of variable-length arrays.\nVariable length arrays is a feature where the array length is not specified at compile time but determined at runtime. If a variable-length array is given a length specification like [1], it is a violation of syntax.\nIn C99, declaring a variable-length array with a length specification of 1 is an undefined action. Such code may output different results depending on compilers and thus is unpredictable.\nWhen using a variable-length array, do not specify its length.",
  "rule.saqt.q.ccpp.1134.example.0.dangerous": "Line 4: A variable-length array is declared in a construct. Yet, its array length has been specified as 1.",
  "rule.saqt.q.ccpp.1134.example.0.safe": "Line 4: Do not specify the array length for the variable-length array.",
  "rule.saqt.q.ccpp.1134.name": "Improper declaration of flexible array member",
  "rule.saqt.q.ccpp.1135.description": "The Use of structure as argument of memcmp checker finds instances of calling the memcmp() function with struct objects as operands.\nA struct declaration may have padding bits between fields. As these padding bits are basically not assigned values, they can cause an unexpected result in a bytewise comparison.\nWhen comparing objects of a struct, do not use memcmp() but conduct direct comparison between their fields.",
  "rule.saqt.q.ccpp.1135.example.0.dangerous": "Line 8: A struct is used as an argument of memcmp().",
  "rule.saqt.q.ccpp.1135.example.0.safe": "Line 8: Do not use the struct as the argument of memcmp(). Instead, use a comparison between fields of the struct.",
  "rule.saqt.q.ccpp.1135.name": "Use of structure as argument of memcmp",
  "rule.saqt.q.ccpp.1136.description": "The Assumed constant value checker finds instances of assuming the value of an already named constant in an expression. \nDo not assume the value of a named constant such as BUFSIZ in an expression.\nA typical named constant is BUFSIZ, which is defined in the stdio.h header file. Its value is 512 by default.\nIn case it is assigned another value, an unexpected problem may occur.\nDo not assume the value of a named constant.",
  "rule.saqt.q.ccpp.1136.example.0.dangerous": "Line 3: Assuming BUFSIZE is 512, 2 is shifted 9 times (2 ^ 9).",
  "rule.saqt.q.ccpp.1136.example.0.safe": "Line 3: Use the named constant.",
  "rule.saqt.q.ccpp.1136.name": "Assumed constant value",
  "rule.saqt.q.ccpp.1137.description": "The Improper association of operators checker finds expressions that have a multiple number of consecutive comparison symbols without logical operators and parentheses separating those symbols from one another.\nAn expression with consecutive uses of comparison operators may have likely been written incorrectly. If comparison operators occur consecutively, the first comparison evaluates to a boolean value, which then is used as an operand in the next comparison operation. This may cause an unexpected issue.\nIf multiple uses of comparison operators are needed, use logical operators and parentheses to separate the comparison signs from one another.",
  "rule.saqt.q.ccpp.1137.example.0.dangerous": "Line 5: < operators are used at multiple times. This may cause an unexpected issue.\nLine 8: == operators are used at multiple times. This may cause an unexpected issue.",
  "rule.saqt.q.ccpp.1137.example.0.safe": "Line 5: Detach the < operator and logic operator with parenthesis.\nLine 8: Detach the == operator and logic operator with parenthesis.",
  "rule.saqt.q.ccpp.1137.name": "Improper association of operators",
  "rule.saqt.q.ccpp.1138.description": "The Semicolon on same line with statement checker finds semicolons put on the same line as the condition of an if, for, or while statement.\nA semicolon that comes on the same line as the condition of an if, for, or while statement may have been inserted by mistake. Upon completion of testing in the condition section, such a statement typically proceeds to the body block. An intervening semicolon, however, terminates the statement without executing the body block. This situation is hardly intended by developers. In the case of a single-line conditional statement, a semicolon subsequent to the body block can normally come on the same line as the condition; however, it is recommended to separate the condition and body into different lines to ensure better readability and prevent mistakes.\nDo not put a semicolon on the same line as the condition of an if, for, or while statement.",
  "rule.saqt.q.ccpp.1138.example.0.dangerous": "Line 1: A semicolon is used at the end of if statements. Text after the semicolon has been executed.",
  "rule.saqt.q.ccpp.1138.example.0.safe": "Line 1: Remove the semicolon from the line including if statements.",
  "rule.saqt.q.ccpp.1138.name": "Semicolon on same line with statement",
  "rule.saqt.q.ccpp.1139.description": "The Accessing volatile object through non-volatile reference checker finds expressions in which a non-volatile qualified variable points to a volatile variable.\nIt is an undefined action that a non-volatile variable points to a volatile variable. Such code may output different results depending on compilers and thus is unpredictable.\nMake sure that a volatile variable is pointed to by a volatile variable.",
  "rule.saqt.q.ccpp.1139.example.0.dangerous": "Line 7: A non-volatile variable, ip address is assigned to a volatile variable, ipp.Then, the volatile variable can be accessed through the non-volatile variable.\nLine 8: A non-volatile variable, ip address is assigned to a volatile variable, ipp.Then, the volatile variable can be accessed through the non-volatile variable.",
  "rule.saqt.q.ccpp.1139.example.0.safe": "Line 6: Make sure that a volatile variable is pointed to by a volatile variable.",
  "rule.saqt.q.ccpp.1139.name": "Accessing volatile object through non-volatile reference",
  "rule.saqt.q.ccpp.114.description": "The Use of non-variable argument checker finds calls to optionally specified functions that put a non-variable argument in a designated position.\nYou can optionally specify files excluded from analysis, functions subject to analysis, and argument positions that should take a variable.\nInspect arguments passed to functions to prevent their misuse and conform to APIs. A misuse of an argument may cause an unexpected program behavior.\nMake sure variable arguments are put in the optionally designated positions.",
  "rule.saqt.q.ccpp.114.example.0.dangerous": "Line 3: memcpy_API15() function is called. The first argument of the function is a string.",
  "rule.saqt.q.ccpp.114.example.0.safe": "Line 3: memcpy_API15() function is called. The first argument is a variable, this is not detected.",
  "rule.saqt.q.ccpp.114.name": "Use of non-variable argument",
  "rule.saqt.q.ccpp.114.option.call_param_should_be_variable.description": "Required parameter variable and index",
  "rule.saqt.q.ccpp.114.option.call_param_should_be_variable.name": "Required parameter variable and index",
  "rule.saqt.q.ccpp.114.option.call_target.description": "Target function call",
  "rule.saqt.q.ccpp.114.option.call_target.name": "Target function call",
  "rule.saqt.q.ccpp.114.option.file_target_excluded.description": "Set up files to be excluded from analyzing.",
  "rule.saqt.q.ccpp.114.option.file_target_excluded.name": "Files to be excluded",
  "rule.saqt.q.ccpp.1140.description": "The Modification to Temporary Object checker finds expressions that result in a modification to an object with temporary lifetime.\nAny attempt to modify an object with temporary lifetime results in undefined behavior. Such code may output different results depending on compilers and thus is unpredictable.\nDo not modify an object with temporary lifetime. If a modification is necessary, assign its value to a regular variable, then make the modification to that variable.",
  "rule.saqt.q.ccpp.1140.example.0.dangerous": "Line 8: A temporary object value is modified with a return value of get_x() function.",
  "rule.saqt.q.ccpp.1140.example.0.safe": "Line 8: Store the return value of get_x() to a variable, then modify it.",
  "rule.saqt.q.ccpp.1140.name": "Modification to Temporary Object",
  "rule.saqt.q.ccpp.1141.description": "The Missing error handling for input function checker finds instances of failure to handle errors when converting character data using an input function.\nInput functions refer to those like scanf().\nInput functions can be used to convert character data to numbers. However, there is no guarantee that such functions will produce a proper return as intended. Unless all possible inputs are handled, therefore, abnormal behavior may occur.\nWhen using an input function to convert character data, be sure to handle all possible inputs. Such error handling needs to include a check on the errno in particular.",
  "rule.saqt.q.ccpp.1141.example.0.dangerous": "Line 2: scanf() function is used to convert char data into a number. However, error handling is missing.",
  "rule.saqt.q.ccpp.1141.example.0.safe": "Line 6: Perform errno check in case of failing scanf().",
  "rule.saqt.q.ccpp.1141.name": "Missing error handling for input function",
  "rule.saqt.q.ccpp.1142.description": "The Shift and arithmetic operations in single expression checker finds expressions that perform both bitwise and arithmetic operations on the same variable.\nA bitwise operation can produce a different result depending on the base type of the operand integer. This is implementation-defined behavior, which can cause different results varying with the compiler and possibly affect subsequent arithmetic operations. This practice also undermines code readability.\nDo not perform both bitwise and arithmetic operations concurrently on the same variable.",
  "rule.saqt.q.ccpp.1142.example.0.dangerous": "Line 2: Arithmetic operation is performed again after a bitwise operation on variable x.",
  "rule.saqt.q.ccpp.1142.example.0.safe": "Line 2: Do not perform a bitwise and arithmetic operations on the same data.",
  "rule.saqt.q.ccpp.1142.name": "Shift and arithmetic operations in single expression",
  "rule.saqt.q.ccpp.1143.description": "The Assumed signed integer representation checker finds instances of constructing a wrong expression in the assumption of a specific representation of signed integers.\nThe signed representation of integers defers depending on the compiler. An expression based on a specific signed representation may lead to unintended behavior.\nDo not assume a specific representation of signed integers. One example of this practice is to use 0x1 or a bitwise operation for a parity evaluation in the assumption of ones' complement.",
  "rule.saqt.q.ccpp.1143.example.0.dangerous": "Line 3: A bitwise operation of 0x1 is performed on value variable. This assumes that a compiler shows a signed integer into a complement of 1.",
  "rule.saqt.q.ccpp.1143.example.0.safe": "Line 3: Ensure that code does not depend on representation of signed integer on a certain compiler.",
  "rule.saqt.q.ccpp.1143.name": "Assumed signed integer representation",
  "rule.saqt.q.ccpp.1145.description": "The Missing casting of floating point return value checker finds instances in which a function is declared to return a real number but does not actually cast the return value to the real number type.\nReturning the result of an expression without casting it to a real number may cause a precision issue. In this case, the function's return value may slightly differs depending on the compilation environment. This hardly could be what the developer expected.\nWhen defining a function returning a real number, be sure to explicitly cast the return value.",
  "rule.saqt.q.ccpp.1145.example.0.dangerous": "Line 2: A return value is returned without explicit casting. Its return type is float.",
  "rule.saqt.q.ccpp.1145.example.0.safe": "Line 2: Perform an explicit casting on the return value of float type, then return it.",
  "rule.saqt.q.ccpp.1145.name": "Missing casting of floating point return value",
  "rule.saqt.q.ccpp.1146.description": "The Non-const string pointer checker finds instances of declaring pointers to string constants without using const qualifiers.\nModifying string constants is an undefined action. Such code may output different results depending on compilers and thus is unpredictable.\nEnsure to declare string constants as const.",
  "rule.saqt.q.ccpp.1146.example.0.dangerous": "Line 1: A pointer to string constant is not declared as const.",
  "rule.saqt.q.ccpp.1146.example.0.safe": "Line 1: Declare the pointer to string constant as const.",
  "rule.saqt.q.ccpp.1146.name": "Non-const string pointer",
  "rule.saqt.q.ccpp.1147.description": "The Concatenation of different type strings checker finds expressions that concatenate a wide-character string and a regular string.\nConcatenation of a wide-character string with a regular string is undefined behavior. Such code may output different results depending on compilers and thus is unpredictable.\nDo not concatenate a wide-character string and a regular string.",
  "rule.saqt.q.ccpp.1147.example.0.dangerous": "Line 1: A wide-character string is concatenated with a narrow string.",
  "rule.saqt.q.ccpp.1147.example.0.safe": "Line 1: Concatenate wide-character strings to wide-character strings, and narrow strings to narrow strings.",
  "rule.saqt.q.ccpp.1147.name": "Concatenation of different type strings",
  "rule.saqt.q.ccpp.1148.description": "The Modification of string literal checker finds expressions that modify a string literal.\nModifying a string literal is undefined behavior. Such code may output different results depending on compilers and thus is unpredictable.\nDo not modify a string literal after its declaration. If a string needs to be modified later, declare it as something else like an array, instead of a string literal.",
  "rule.saqt.q.ccpp.1148.example.0.dangerous": "Line 2: A string literal is modified.",
  "rule.saqt.q.ccpp.1148.example.0.safe": "Line 1: Declare a string as an array instead of literal in case of modification.",
  "rule.saqt.q.ccpp.1148.name": "Modification of string literal",
  "rule.saqt.q.ccpp.1149.description": "The Missing casting after memory allocation checker finds instances of using the result of a memory allocation function without casting it to the allocated type.\nMemory allocation functions refer to those like malloc().\nIt is undefined to use the result of a memory allocation without casting it. Such code may output different results depending on compilers and thus is unpredictable.\nBe sure to cast the result of a memory allocation before using it.",
  "rule.saqt.q.ccpp.1149.example.0.dangerous": "Line 14: A value to allocate memory is not cast into allocated type after malloc() function call.",
  "rule.saqt.q.ccpp.1149.example.0.safe": "Line 14: Perform casting on a value to allocate memory into allocated type after malloc() function call.",
  "rule.saqt.q.ccpp.1149.name": "Missing casting after memory allocation",
  "rule.saqt.q.ccpp.115.description": "The Hardcoded data Checker detects code that hardcodes one of the variables specified in the option.\nYou can specify in the option whether to analyze formulas, whether to exclude formulas from analysis, whether to check for hardcoding of integers, whether to check for hardcoding of floats, whether to check for hardcoding of characters, whether to check for hardcoding of strings, whether to check for hardcoding of constants, whether to check for hardcoding of non-constants, whether to check for hardcoding of conditional statements, whether to check for hardcoding of assignment statements, whether to check for hardcoding of calls, and whether to check for hardcoding of return statements.\nHardcoding is an element that exposes information to the outside world. Writing security-critical elements, such as passwords and paths, in hardcoded form can lead to significant security vulnerabilities.\nDepending on the options specified, prevent source code from being hardcoded.",
  "rule.saqt.q.ccpp.115.example.0.dangerous": "Line 3: A forbidden hardcoding is used in a string.",
  "rule.saqt.q.ccpp.115.example.0.safe": "Line 3: Return the value of get_value() function instead of the hardcoded string.",
  "rule.saqt.q.ccpp.115.name": "Hardcoded data",
  "rule.saqt.q.ccpp.115.option.excluded_expr.description": "A regular expression for excluding target expressions.",
  "rule.saqt.q.ccpp.115.option.excluded_expr.name": "Expressions to exclude",
  "rule.saqt.q.ccpp.115.option.hard_coding_target_assignment.description": "Detect assignment hard coding.",
  "rule.saqt.q.ccpp.115.option.hard_coding_target_assignment.name": "Hard coding assignment statement",
  "rule.saqt.q.ccpp.115.option.hard_coding_target_call.description": "Detect call hard coding.",
  "rule.saqt.q.ccpp.115.option.hard_coding_target_call.name": "Hard coding call",
  "rule.saqt.q.ccpp.115.option.hard_coding_target_character.description": "Detect character hard coding.",
  "rule.saqt.q.ccpp.115.option.hard_coding_target_character.name": "Hard coding character",
  "rule.saqt.q.ccpp.115.option.hard_coding_target_conditional.description": "Detect conditional statement hard coding.",
  "rule.saqt.q.ccpp.115.option.hard_coding_target_conditional.name": "Hard coding conditional statement",
  "rule.saqt.q.ccpp.115.option.hard_coding_target_const.description": "Detect const hard coding.",
  "rule.saqt.q.ccpp.115.option.hard_coding_target_const.name": "Hard coding const",
  "rule.saqt.q.ccpp.115.option.hard_coding_target_float.description": "Detect float hard coding.",
  "rule.saqt.q.ccpp.115.option.hard_coding_target_float.name": "Hard coding float",
  "rule.saqt.q.ccpp.115.option.hard_coding_target_integer.description": "Detect integer hard coding.",
  "rule.saqt.q.ccpp.115.option.hard_coding_target_integer.name": "Hard coding integer",
  "rule.saqt.q.ccpp.115.option.hard_coding_target_non_const.description": "Detect non-const hard coding.",
  "rule.saqt.q.ccpp.115.option.hard_coding_target_non_const.name": "Hard coding non-const",
  "rule.saqt.q.ccpp.115.option.hard_coding_target_return.description": "Detect return expression hard coding.",
  "rule.saqt.q.ccpp.115.option.hard_coding_target_return.name": "Hard coding return expression",
  "rule.saqt.q.ccpp.115.option.hard_coding_target_string.description": "Detect string hard coding.",
  "rule.saqt.q.ccpp.115.option.hard_coding_target_string.name": "Hard coding string",
  "rule.saqt.q.ccpp.115.option.target_expr.description": "A regular expression for detecting target expressions.",
  "rule.saqt.q.ccpp.115.option.target_expr.name": "Target expressions",
  "rule.saqt.q.ccpp.1150.description": "The Static allocation or copying with variable length member array checker finds structs that contain a flexible array member but are not dynamically created.\nA flexible array field that is static does not actually assume a value and is allocated on the stack. It is undefined to treat this field like a regular array. Such code may output different results depending on compilers and thus is unpredictable.\nMake sure that structs having a flexible array field are dynamically created. Because flexible array fields have no specified size, they must be allocated memory dynamically as required.",
  "rule.saqt.q.ccpp.1150.example.0.dangerous": "Line 7: A struct with variable-length fields is not dynamically generated.\nLine 12: A variable-length field is accessed.",
  "rule.saqt.q.ccpp.1150.example.0.safe": "Line 7: Declare the struct with variable-length fields as pointer.\nLine 10: Dynamically assign the size of a struct as much as needed.\nLine 18: Access to the variable-length field after dynamic assignment.",
  "rule.saqt.q.ccpp.1150.name": "Static allocation or copying with variable length member array",
  "rule.saqt.q.ccpp.1153.description": "The Insecure transmission of binary data between systems checker finds problematic transfers of binary data made across multiple, heterogeneous systems.\nIssues may arise when binary data transfers are made across heterogeneous systems using a function, like fread() or fwrite(), which does not guarantee data integrity.\nIt is risky to use a poorly portable function across different system. It is never guaranteed that transfers of scalar data types such as integers, let alone aggregate types such as arrays or structs, will preserve the representation or value of the data. Implementations may differ in struct padding, floating-point model, number of bits per byte, endianness, and other attributes that cause binary data formats to be incompatible.\nFor data transfers between heterogeneous systems, use either a text representation or a special library that ensures data integrity.",
  "rule.saqt.q.ccpp.1153.example.0.dangerous": "Line 9: A struc myData is loaded from file. The struc data can be represented differently in other systems.",
  "rule.saqt.q.ccpp.1153.example.0.safe": "Line 11: Load data with a string buffer.\nLine 14: Store string data in a struct field.\nLine 15: Load data with a string buffer.\nLine 18: Store string data to a number field of struct.",
  "rule.saqt.q.ccpp.1153.name": "Insecure transmission of binary data between systems",
  "rule.saqt.q.ccpp.1154.description": "The Wrong file open mode checker finds calls to fopen() made with an invalid mode argument passed in.\nIt is not certain how an invalid mode argument will be handled, leading to unintended behavior.\nWhen opening a file using fopen(), be sure to use a valid mode.",
  "rule.saqt.q.ccpp.1154.example.0.dangerous": "Line 1: 'c' is an invalid mode.",
  "rule.saqt.q.ccpp.1154.example.0.safe": "Line 1: Use a valid mode.",
  "rule.saqt.q.ccpp.1154.name": "Wrong file open mode",
  "rule.saqt.q.ccpp.1155.description": "The Multiple use of ungetc checker finds instances of multiple calls to the ungetc() function.\nThe functions subject to this rule include both ungetc() and ungetwc().\nThe ungetc() function takes a single character and shoves it back onto an input stream. However, multiple calls to ungetc() on the same stream will be problematic because the intervening file-positioning function discards any data pushed by ungetc(). Accordingly, an unintended result may occur.\nIf more than one character needs to be pushed by ungetc(), then fgetpos() and fsetpos() should be used before and after reading the data instead of pushing it back with ungetc().",
  "rule.saqt.q.ccpp.1155.example.0.dangerous": "Line 12: The second character is loaded in a single stream.",
  "rule.saqt.q.ccpp.1155.example.0.safe": "Line 10: Use fgetpos() and fsetpos() functions for before and after loading data, instead of ungetc().",
  "rule.saqt.q.ccpp.1155.name": "Multiple use of ungetc",
  "rule.saqt.q.ccpp.1156.description": "The Inadequate value of argument of fsetpos checker finds calls to fsetpos() that are not passed with the return of fgetpos().\nOnly the return value of an fgetpos() call is a valid argument to fsetpos(). Invoking the fsetpos() function with any other values is undefined.Misuse of the fsetpos() function can result in the file position indicator pointing to an unintended location in the file.\nBe sure to pass the return of a fgetpos() call in any call to fsetpos().",
  "rule.saqt.q.ccpp.1156.example.0.dangerous": "Line 8: An offset is not returned by fgetpos(), but used for an argument of fgetpos().",
  "rule.saqt.q.ccpp.1156.example.0.safe": "Line 6: Call fgetpos() function, then store its return value.\nLine 9: Pass the return value for an argument of fsetpos().",
  "rule.saqt.q.ccpp.1156.name": "Inadequate value of argument of fsetpos",
  "rule.saqt.q.ccpp.1159.description": "The Use of errno to check for FILE stream errors checker finds instances of using errno to check for FILE stream errors.\nChecking errno after multiple calls to library functions can lead to spurious error reporting, possibly resulting in incorrect program operation.\nUse ferror(), instead of errno, to check for FILE stream errors.",
  "rule.saqt.q.ccpp.1159.example.0.dangerous": "Line 5: A standardized printf() function is used at multi-times.\nLine 6: An error pointed by errno directive is resulted by printf() call in Line 5.",
  "rule.saqt.q.ccpp.1159.example.0.safe": "Line 5: Use ferror() function instead of errno directives to handle errors in multiple calls of standardized functions.",
  "rule.saqt.q.ccpp.1159.name": "Use of errno to check for FILE stream errors",
  "rule.saqt.q.ccpp.116.description": "The Missing required qualifier on pointer parameter checker finds instances of failure to apply a designated qualifier to a pointer-type parameter declaration in a function.\nYou can optionally specify files excluded from analysis, functions subject to analysis, functions excluded from analysis, pointer-type parameter positions, and qualifiers to be used on pointer-type parameters.\nIf a qualifier is not applied to a pointer-type parameter, the value may be altered unexpectedly.\nOptionally specified pointer-type parameters of functions should be declared with a designated qualifier prefixed.",
  "rule.saqt.q.ccpp.116.example.0.dangerous": "Line 1: A char pointer is received as a parameter, this is detected.",
  "rule.saqt.q.ccpp.116.example.0.safe": "Line 1: A char pointer of const type is received as parameter, this is not detected.",
  "rule.saqt.q.ccpp.116.name": "Missing required qualifier on pointer parameter",
  "rule.saqt.q.ccpp.116.option.file_target_excluded.description": "Files to be excluded",
  "rule.saqt.q.ccpp.116.option.file_target_excluded.name": "Files to be excluded",
  "rule.saqt.q.ccpp.116.option.function_target.description": "Set target functions with regular expressions",
  "rule.saqt.q.ccpp.116.option.function_target.name": "Target functions",
  "rule.saqt.q.ccpp.116.option.function_target_excluded.description": "Set up functions to be excluded from analyzing.",
  "rule.saqt.q.ccpp.116.option.function_target_excluded.name": "Functions to be excluded",
  "rule.saqt.q.ccpp.116.option.parameter_should_have_qualifiers.description": "Set up qualifier which should be used. If you want multiple qualifiers, use comma(,).<br /> Ex) const, volatile",
  "rule.saqt.q.ccpp.116.option.parameter_should_have_qualifiers.name": "Required qualifier",
  "rule.saqt.q.ccpp.116.option.parameter_target_type_is_pointer.description": "Set up parameter index which type is pointer.\nExample) Format [param index]:[data]\nparam index - All index : 0\nParticular index (Multiple) : 1,2",
  "rule.saqt.q.ccpp.116.option.parameter_target_type_is_pointer.name": "Pointer Type parameter",
  "rule.saqt.q.ccpp.1161.description": "The Improper exit method checker finds calls to inappropriate termination functions.\nThe proper way to terminate is calling the exit() function. Calls to other termination functions such as abort() and _Exit() are inappropriate.\nWhen abort() or _Exit() is called, it is implementation-defined whether or not temporary files are removed. It is not guaranteed, therefore, how files will be handled after being opened by fopen().\nIf fopen() is ever called, use exit() for termination.",
  "rule.saqt.q.ccpp.1161.example.0.dangerous": "Line 9: abort() function is called with file stream opened. In this case, the file cannot be properly closed.",
  "rule.saqt.q.ccpp.1161.example.0.safe": "Line 9: Use exit() function instead of abort(). In this case, the file cannot be handled.",
  "rule.saqt.q.ccpp.1161.name": "Improper exit method",
  "rule.saqt.q.ccpp.1164.description": "The Uninitialized errno checker finds instances of failure to initialize errno to zero before using it to call an error indication function.\nSome error indication functions that use errno are not guaranteed to set the errno value. Therefore, they may handle an errno value returned from a previous call to another function.\nBe sure to initialize errno to zero before calling an error indication function that uses it.",
  "rule.saqt.q.ccpp.1164.example.0.dangerous": "Line 5: errno is set by strtoul() function when an error occurred. However, when an error has not occurred errno cannot be a zero due to earlier value.\nLine 6: errno can be set by other strtoul() function called before strtoul(). In this case, an invalid control flow has been included.",
  "rule.saqt.q.ccpp.1164.example.0.safe": "Line 5: Specify errno to zero before a strtoul() function call.",
  "rule.saqt.q.ccpp.1164.name": "Uninitialized errno",
  "rule.saqt.q.ccpp.1165.description": "The Direct use of variable of type time_t checker finds expressions that directly manipulate a time_t variable.\nBasically, time_t is an integer type. Directly manipulating a variable with this type is, therefore, an arithmetic operation on it. However, the way time is encoded within this arithmetic type by the function time() is unspecified. This means there is no safe way to manually perform arithmetic on the type.\nDo not directly manipulate a time_t variable by performing arithmetic on it. It is preferable to properly use a time-related function instead.",
  "rule.saqt.q.ccpp.1165.example.0.dangerous": "Line 6: A value of adding start and seconds_to_work variables is compared to a return value of time(). However, due to undefined encoding, it cannot guarantee that the seconds_to_work variable adds time.",
  "rule.saqt.q.ccpp.1165.example.0.safe": "Line 7: Use difftime() function to evaluate time gap.",
  "rule.saqt.q.ccpp.1165.name": "Direct use of variable of type time_t",
  "rule.saqt.q.ccpp.1166.description": "The Improper assert statement checker finds expressions that use assert() for an inappropriate diagnostic test.\nAn inappropriate diagnostic test refers to an assertion that allows for a runtime error or a denial-of-service attack.\nassert() does nothing in release mode. An inappropriate diagnostic test, therefore, can possibly lead to a runtime error or a denial-of-service attack.\nDo not use assert() for the purpose of testing for critical errors. It is preferable to handle those errors explicitly using an if statement and error handlers.",
  "rule.saqt.q.ccpp.1166.example.0.dangerous": "Line 6: assert is used to check that memory allocation is succeeded. However, this line will be erased in release mode. Therefore, this can be exposed by runtime error or DoS attacks.",
  "rule.saqt.q.ccpp.1166.example.0.safe": "Line 8: Use conditional statements instead of assert to check memory allocation.",
  "rule.saqt.q.ccpp.1166.name": "Improper assert statement",
  "rule.saqt.q.ccpp.1167.description": "The Too complex switch statement checker finds switch statements in which a for loop or if conditional starts in one case label and its body block spans the next case label(s).\nThe intermixing of a switch statement and another statement having a body creates a very confusing control flow. Even if the developer intended such behavior, it is not desirable in terms of code readability.\nDo not intermix a switch statement and another statement having a body.",
  "rule.saqt.q.ccpp.1167.example.0.dangerous": "Line 3: Duplicate statements are found. Values variable j returns for variable i are: 12 for 1, 12 for 2, 11 for 3, and 0 for others.\nLine 4: Case statement is placed for value 1.\nLine 5: An entry point is used in a loop.\nLine 6: Body of loop and case statements is duplicated for value 2.",
  "rule.saqt.q.ccpp.1167.example.0.safe": "Line 3: Do not use duplicate statements for switch and other statements.",
  "rule.saqt.q.ccpp.1167.name": "Too complex switch statement",
  "rule.saqt.q.ccpp.117.description": "The Use of forbidden qualifier on pointer parameter checker finds instances of applying a forbidden qualifier to a pointer-type parameter declaration in a function.\nYou can optionally specify files excluded from analysis, functions subject to analysis, functions excluded from analysis, pointer-type parameter positions, and forbidden qualifiers for pointer-type parameters.\nTo prevent API misuses, the checker searches for functions that should not use specified qualifiers.\nOptionally specified pointer-type parameters of functions should not be declared with a forbidden qualifier prefixed.",
  "rule.saqt.q.ccpp.117.example.0.dangerous": "Line 1: A char pointer of const type is received as a parameter, this is detected.",
  "rule.saqt.q.ccpp.117.example.0.safe": "Line 1: A char pointer is received as parameter, this is not detected.",
  "rule.saqt.q.ccpp.117.name": "Use of forbidden qualifier on pointer parameter",
  "rule.saqt.q.ccpp.117.option.file_target_excluded.description": "Files to be excluded",
  "rule.saqt.q.ccpp.117.option.file_target_excluded.name": "Files to be excluded",
  "rule.saqt.q.ccpp.117.option.function_target.description": "Set target functions with regular expressions",
  "rule.saqt.q.ccpp.117.option.function_target.name": "Target functions",
  "rule.saqt.q.ccpp.117.option.function_target_excluded.description": "Set up functions to be excluded from analyzing.",
  "rule.saqt.q.ccpp.117.option.function_target_excluded.name": "Functions to be excluded",
  "rule.saqt.q.ccpp.117.option.parameter_should_not_have_qualifiers.description": "Set up forbidden qualifiers. If you want set up multiple qualifier, use comma(,).<br /> Ex) const, volatile",
  "rule.saqt.q.ccpp.117.option.parameter_should_not_have_qualifiers.name": "Forbidden qualifier",
  "rule.saqt.q.ccpp.117.option.parameter_target_type_is_pointer.description": "Set up parameter index which type is pointer.\nExample) Format [param index]:[data]\nparam index - All index : 0\nParticular index (Multiple) : 1,2",
  "rule.saqt.q.ccpp.117.option.parameter_target_type_is_pointer.name": "Pointer Type parameter",
  "rule.saqt.q.ccpp.1174.description": "The Blocking while holding POSIX lock checker finds instances of performing an operation that can block while holding a POSIX lock.\nIf a lock is being held and an operation that can block is performed, it can degrade the performance of the system or cause a deadlock to occur.\nNever perform operations that can block while holding a POSIX lock.",
  "rule.saqt.q.ccpp.1174.example.0.dangerous": "Line 7: A mutex is blocked.\nLine 10: recv() is blocked until it gets data through a socket. Then, other locked threads get blocked.\nLine 13: The mutex is freed. However, a function blocked on Line 10 is called.",
  "rule.saqt.q.ccpp.1174.example.0.safe": "Line 6: Call recv() function before locked. Do not perform an operation that can block wile holding a lock.",
  "rule.saqt.q.ccpp.1174.name": "Blocking while holding POSIX lock",
  "rule.saqt.q.ccpp.1178.description": "The Missing curly brace in switch statement checker finds switch statements whose body is not wrapped by braces.\nBe sure to wrap the body of a switch statement with braces.",
  "rule.saqt.q.ccpp.1178.example.0.dangerous": "Line 2: Body of switch statements is not enclosed with braces.",
  "rule.saqt.q.ccpp.1178.example.0.safe": "Line 2: Enclose the body of switch statements with braces.",
  "rule.saqt.q.ccpp.1178.name": "Missing curly brace in switch statement",
  "rule.saqt.q.ccpp.1179.description": "The Missing curly brace in if-else statement checker finds if-elseif-else statements whose condition blocks are not wrapped by braces.\nIn an if statement, be sure to wrap each of the if, elseif, and else blocks with braces.",
  "rule.saqt.q.ccpp.1179.example.0.dangerous": "Line 7: Body of else statements is not enclosed with braces.",
  "rule.saqt.q.ccpp.1179.example.0.safe": "Line 7: Enclose the body of else statements with braces.",
  "rule.saqt.q.ccpp.1179.name": "Missing curly brace in if-else statement",
  "rule.saqt.q.ccpp.118.description": "The Use of invalid error code checker finds calls to optionally specified functions in which the argument put in a designated position fails to include the string specified for it.\nYou can optionally specify files excluded from analysis, functions subject to analysis, functions excluded from analysis, callee functions subject to checking, and string argument positions and patterns.\nWhen calling an optionally configured function, make sure arguments include their specified strings.",
  "rule.saqt.q.ccpp.118.example.0.dangerous": "Line 2: A subject to analysis, Func() function, is defined.\nLine 3: SET_ERR_API19() function is called. A sting of the first argument is not started with ERR00.",
  "rule.saqt.q.ccpp.118.example.0.safe": "Line 2: A subject to analysis, Func() function, is defined.\nLine 3: SET_ERR_API19() function is called. A string of the first argument has been started with ERR00.",
  "rule.saqt.q.ccpp.118.name": "Use of invalid error code",
  "rule.saqt.q.ccpp.118.option.call_param_should_be_string.description": "Parameter which should be place string in calling function",
  "rule.saqt.q.ccpp.118.option.call_param_should_be_string.name": "Parameter which should be place string in calling function",
  "rule.saqt.q.ccpp.118.option.call_target.description": "Target function call",
  "rule.saqt.q.ccpp.118.option.call_target.name": "Target function call",
  "rule.saqt.q.ccpp.118.option.file_target_excluded.description": "Files to be excluded",
  "rule.saqt.q.ccpp.118.option.file_target_excluded.name": "Files to be excluded",
  "rule.saqt.q.ccpp.118.option.function_target.description": "Set up functions to be analyzed.",
  "rule.saqt.q.ccpp.118.option.function_target.name": "Target functions",
  "rule.saqt.q.ccpp.118.option.function_target_excluded.description": "Set up functions to be excluded from analyzing.",
  "rule.saqt.q.ccpp.118.option.function_target_excluded.name": "Functions to be excluded",
  "rule.saqt.q.ccpp.1183.description": "The Incomplete structure and union type checker finds structs and unions that are of an incomplete type.\nAn incomplete type refers to a struct or union containing a field of an undefined type, thus left in an uncertain state.\nGenerally, a declaration of such a type is detected as an error at compile-time. Some old or noncompliant compilers, however, can allow for this type declaration. This may cause an unexpected issue.\nMake sure structs and unions are declared to have a complete type.",
  "rule.saqt.q.ccpp.1183.example.0.dangerous": "Line 6: Struct B is not defined.",
  "rule.saqt.q.ccpp.1183.example.0.safe": "Line 4: Struct B is defined.\nLine 7: Use a struct and union in a perfect type.",
  "rule.saqt.q.ccpp.1183.name": "Incomplete structure and union type",
  "rule.saqt.q.ccpp.1184.description": "The Use of Union checker finds declarations of unions.\nUsing a union can cause a potentially wrong pointer reference due to the nature of unions. Unions can be used to reduce memory consumption by allowing access to a common location by different data types. Despite this benefit from the use of unions, the checker forbids it in order to prevent program errors caused by an invalid pointer reference.\nDo not use a union. Instead, use structs even if they are less efficient in terms of performance.",
  "rule.saqt.q.ccpp.1184.example.0.dangerous": "Line 1: A union is declared.",
  "rule.saqt.q.ccpp.1184.example.0.safe": "Line 1: Use a struct instead of Union",
  "rule.saqt.q.ccpp.1184.name": "Use of Union",
  "rule.saqt.q.ccpp.1186.description": "The Non-standard character in include statement checker finds #include preprocessor statements that are passed with a filename including non-standard characters.\nNon-standard characters contained in an #include filename can lead to failure to read the file depending on the compilation environment.\nMake sure filenames to be included by #include contain only standard characters.",
  "rule.saqt.q.ccpp.1186.example.0.dangerous": "Line 1: A non-standard character is used for a file of #include directive.",
  "rule.saqt.q.ccpp.1186.example.0.safe": "Line 1: Use standard characters only for a file of #include directive.",
  "rule.saqt.q.ccpp.1186.name": "Non-standard character in include statement",
  "rule.saqt.q.ccpp.1187.description": "The Violation of format of included file name checker finds instances in which the filename in an #include preprocessor statement is not written in the specified format.\nThe #include preprocessor directive must be used in the format of either #include `filename` or #include <filename>.\nSome noncompliant compilers allow including a filename in #include in some other format. However, such noncompliant #include formats will cause an error when compiled by a compliant compiler.\nMake sure that the filename in an #include statement complies with the specified format.",
  "rule.saqt.q.ccpp.1187.example.0.dangerous": "Line 1: A #include directive does not follow a specified rule.\nLine 2: A #include directive does not follow a specified rule.",
  "rule.saqt.q.ccpp.1187.example.0.safe": "Line 1: Enclose a filed name included in #include directive with double quotes or angle brackets.",
  "rule.saqt.q.ccpp.1187.name": "Violation of format of included file name",
  "rule.saqt.q.ccpp.1188.description": "The Defined or undefined macro in block checker finds instances of using the #define or #undef preprocessor directive within a function block.\nBe sure to use #define and #undef always outside a function block.",
  "rule.saqt.q.ccpp.1188.example.0.dangerous": "Line 3: A #define directive is used in a function block.\nLine 5: A #undef directive is used in a function block.",
  "rule.saqt.q.ccpp.1188.example.0.safe": "Line 1: Use #define or #undef directive out of a file block.",
  "rule.saqt.q.ccpp.1188.name": "Defined or undefined macro in block",
  "rule.saqt.q.ccpp.1189.description": "The Use of #undef directive checker finds instances of using the #undef preprocessor directive.\nIf a header file containing an #undef statement is included, this may alter the value of a macro variable defined earlier using #define in another header file. This may cause an error whose cause is not easily identifiable.\nDo not use #undef unless it is unavoidable.",
  "rule.saqt.q.ccpp.1189.example.0.dangerous": "Line 1: A #undef directive is used.",
  "rule.saqt.q.ccpp.1189.example.0.safe": "Line 1: Do not use the #undef directive.",
  "rule.saqt.q.ccpp.1189.name": "Use of #undef directive",
  "rule.saqt.q.ccpp.119.description": "The Missing call of initialization function on error checker finds instances of failure to call an initialization function prior to the return of an optionally specified.\nYou can optionally specify an error value to be checked for in a conditional statement, an error value to be returned, and an initialization function.\nWhen a statement regarding an optionally specified \"error value to be checked for in a conditional statement\" is executed, a designated initialization function must be called before an error is returned.",
  "rule.saqt.q.ccpp.119.example.0.dangerous": "Line 6: RC_NRM is used in conditional statements.\nLine 7: RC_ERR is returned. An initialization function is not called, this is detected.",
  "rule.saqt.q.ccpp.119.example.0.safe": "Line 6: RC_NRM is used in conditional statements.\nLine 7: An initialization function pfmInitError() is called before RC_ERR is returned.",
  "rule.saqt.q.ccpp.119.name": "Missing call of initialization function on error",
  "rule.saqt.q.ccpp.119.option.cond_error.description": "Set up an error values that are compared in conditional statement.",
  "rule.saqt.q.ccpp.119.option.cond_error.name": "Error values that are compared in conditional statement",
  "rule.saqt.q.ccpp.119.option.init_function.description": "Set up functions for initialization.",
  "rule.saqt.q.ccpp.119.option.init_function.name": "Functions for initialization",
  "rule.saqt.q.ccpp.119.option.return_error.description": "Set up return error value",
  "rule.saqt.q.ccpp.119.option.return_error.name": "Return error value",
  "rule.saqt.q.ccpp.1190.description": "The Function-like macro checker finds instances of defining a macro function.\nA macro function refers to a function-like macro defined using the #define preprocessor directive.\nA macro function does not guarantee type stability. And it can sometimes cause an unexpected result unless special care is taken such as operator precedence.\nDo not use macro functions. If regular functions need to be avoided for performance reasons, use inline functions instead.",
  "rule.saqt.q.ccpp.1190.example.0.dangerous": "Line 1: A macro function is declared.",
  "rule.saqt.q.ccpp.1190.example.0.safe": "Line 1: Define and use an inline function with the same behavior instead of the macro.",
  "rule.saqt.q.ccpp.1190.name": "Function-like macro",
  "rule.saqt.q.ccpp.1191.description": "The Mismatched number of arguments of macro checker finds instances of calling a macro function with fewer arguments passed in than declared.\nA macro function refers to a function-like macro defined using the #define preprocessor directive.\nIn a macro function call, it is undefined behavior to pass arguments whose number is not the same as the number of arguments declared. Such code may output different results depending on compilers and thus is unpredictable.\nWhen calling a macro function, make sure that the number of arguments passed in matches the number of arguments declared.",
  "rule.saqt.q.ccpp.1191.example.0.dangerous": "Line 1: MY_MACRO macro is declared with two parameters.\nLine 4: MY_MACRO macro is used. However, only one argument has been passed.",
  "rule.saqt.q.ccpp.1191.example.0.safe": "Line 4: Pass two arguments for the two parameters declared on Line 1.",
  "rule.saqt.q.ccpp.1191.name": "Mismatched number of arguments of macro",
  "rule.saqt.q.ccpp.1192.description": "The Preprocess statement in macro checker finds instances in which a preprocessor statement is passed as an argument to a macro function.\nA macro function refers to a function-like macro defined using the #define preprocessor directive.\nIt is undefined that a macro function takes one or more preprocessor statements as arguments. Such code may output different results depending on compilers and thus is unpredictable.\nBe sure to pass no preprocessor statements in a call to a macro function.",
  "rule.saqt.q.ccpp.1192.example.0.dangerous": "Line 3: A macro is used on multi-lines.\nLine 4: A preprocessor statement is used between arguments of macro.",
  "rule.saqt.q.ccpp.1192.example.0.safe": "Line 4: Do not place a preprocessor between arguments of macro.",
  "rule.saqt.q.ccpp.1192.name": "Preprocess statement in macro",
  "rule.saqt.q.ccpp.1193.description": "The Missing parentheses around macro argument checker finds failure to parenthesize an argument when declaring a function-like macro, except for when they are used in a # or ## operation.\nA macro function refers to a function-like macro defined using the #define preprocessor directive.\nIf arguments are not parenthesized, operations can be performed in different orders depending on the expressions passed through those arguments. Accordingly, an unintended result may occur.\nMake sure that arguments are always parenthesized in macro declarations.",
  "rule.saqt.q.ccpp.1193.example.0.dangerous": "Line 1: An argument of macro is not enclosed with parentheses.\nLine 2: An argument of macro is not enclosed with parentheses.",
  "rule.saqt.q.ccpp.1193.example.0.safe": "Line 1: Enclose each argument of macro with parentheses.",
  "rule.saqt.q.ccpp.1193.name": "Missing parentheses around macro argument",
  "rule.saqt.q.ccpp.1194.description": "The Undefined identifier checker finds instances of using an undefined identifier in an #ifdef, #ifndef, or #defined statement.\nMacro identifiers used in an #ifdef, #ifndef, or #defined statement are regarded to assume a zero value. This may likely be unexpected behavior.\nMake sure all macro identifiers are defined in advance before used in a preprocessor statement.",
  "rule.saqt.q.ccpp.1194.example.0.dangerous": "Line 1: A macro identifier, FLAG, is compared in if statement. The macro is not defined, thus evaluated to zero.",
  "rule.saqt.q.ccpp.1194.example.0.safe": "Line 1: Explicitly define a macro identifier, FLAG, before using in if statement.",
  "rule.saqt.q.ccpp.1194.name": "Undefined identifier",
  "rule.saqt.q.ccpp.1195.description": "The Multiple # or ## operation checker finds macro definitions that use the # and ## operators more than once.\nPrecedence with the # and ## operators is undefined. Although the compiler provides their implementation, their specifications are not documented. They can often behave not as indented.\nDo not use the # and ## operators more than once in a macro definition.",
  "rule.saqt.q.ccpp.1195.example.0.dangerous": "Line 1: # or ## operator is used twice and more in macro definition.\nLine 2: # or ## operator is used twice and more in macro definition.\nLine 3: # or ## operator is used twice and more in macro definition.",
  "rule.saqt.q.ccpp.1195.example.0.safe": "Line 1: Use # or ## operator once in macro definition.\nLine 2: Use # or ## operator once in macro definition.\nLine 3: Use # or ## operator once in macro definition.",
  "rule.saqt.q.ccpp.1195.name": "Multiple # or ## operation",
  "rule.saqt.q.ccpp.1196.description": "The Use of # or ## operator checker finds macro definitions that use the # or ## operator.\nUsing the # or ## operator without proper understanding of how macro replacement works can lead to incorrect source code, possibly causing an unexpected result.\nDo not use the # or ## operator in a macro definition.",
  "rule.saqt.q.ccpp.1196.example.0.dangerous": "Line 1: # or ## operator is used in macro definition.",
  "rule.saqt.q.ccpp.1196.example.0.safe": "Line 1: Do not use # or ## operator in macro definition.",
  "rule.saqt.q.ccpp.1196.name": "Use of # or ## operator",
  "rule.saqt.q.ccpp.1197.description": "The Non-standard format of preprocess statement checker finds instances of using the #defined preprocessor operator not in compliance with the syntactical rules.\nThe standard formats of using the #defined preprocessor operator include \"#defined (identifier)\" and \"#defined identifier.\"\nUsing this operator in some other format is undefined. Such code may output different results depending on compilers and thus is unpredictable.\nMake sure the #defined preprocessor operator is used in the specified format.",
  "rule.saqt.q.ccpp.1197.example.0.dangerous": "Line 1: '15' is added to an identifier TEXT4.\nLine 4: An expression is used instead of an identifier.\nLine 7: A #defined directive is specified as a macro.",
  "rule.saqt.q.ccpp.1197.example.0.safe": "Line 1: Write a #defined directive as specified.",
  "rule.saqt.q.ccpp.1197.name": "Non-standard format of preprocess statement",
  "rule.saqt.q.ccpp.1198.description": "The Extra character after preprocess statement checker finds instances in which a preprocessor statements is written normally but then followed by extra characters other than a space.\nExtra trailing non-space characters subsequent to a preprocessor statement are supposed to be ignored. However, not every compiler complies with this standard ISO rule. In some cases, unexpected behavior may occur.\nDo not add extra non-space characters after a preprocessor statement.",
  "rule.saqt.q.ccpp.1198.example.0.dangerous": "Line 1: A non-white-space character is entered at the end of a preprocessing statement.\nLine 2: A non-white-space character is entered at the end of a preprocessing statement.",
  "rule.saqt.q.ccpp.1198.example.0.safe": "Line 1: Do not use a character but a whitespace after a preprocessing directive.\nLine 2: Do not use a character but a whitespace after a preprocessing directive.",
  "rule.saqt.q.ccpp.1198.name": "Extra character after preprocess statement",
  "rule.saqt.q.ccpp.1199.description": "The Trailing semicolon at preprocess statement checker finds instances in which a preprocessor statements is written normally but then ends with a semicolon.\nExtra trailing non-space characters subsequent to a preprocessor statement are supposed to be ignored. However, not every compiler complies with this standard ISO rule. In some cases, unexpected behavior may occur.\nDo not add semicolons at the end of preprocessing statements.",
  "rule.saqt.q.ccpp.1199.example.0.dangerous": "Line 1: A semicolon is entered at the end of a preprocessing statement.\nLine 2: A semicolon is entered at the end of a preprocessing statement.",
  "rule.saqt.q.ccpp.1199.example.0.safe": "Line 1: Do not use a semicolon after a preprocessor directive.\nLine 2: Do not use a semicolon after a preprocessor directive.",
  "rule.saqt.q.ccpp.1199.name": "Trailing semicolon at preprocess statement",
  "rule.saqt.q.ccpp.120.description": "The Improper return value on error checker finds instances that the return statement does not follow after the function specified in the option has been called.\nYou can optionally specify files excluded from analysis, functions subject to analysis, functions excluded from analysis, and callee functions subject to checking.\nMake sure optionally specified functions are explicitly followed by a return statement.",
  "rule.saqt.q.ccpp.120.example.0.dangerous": "Line 2: A subject to analysis, Func() function, is defined.\nLine 3: A return statement of Func() is found after SET_ERR_API21() function call.",
  "rule.saqt.q.ccpp.120.example.0.safe": "Line 2: A subject to analysis, Func() function, is defined.\nLine 3: SET_ERR_API21() function is called. This is not an error because of a return statement.",
  "rule.saqt.q.ccpp.120.name": "Improper return value on error",
  "rule.saqt.q.ccpp.120.option.call_target.description": "Target function call",
  "rule.saqt.q.ccpp.120.option.call_target.name": "Target function call",
  "rule.saqt.q.ccpp.120.option.file_target_excluded.description": "Files to be excluded",
  "rule.saqt.q.ccpp.120.option.file_target_excluded.name": "Files to be excluded",
  "rule.saqt.q.ccpp.120.option.function_target.description": "Set up functions to be analyzed.",
  "rule.saqt.q.ccpp.120.option.function_target.name": "Target functions",
  "rule.saqt.q.ccpp.120.option.function_target_excluded.description": "Set up functions to be excluded from analyzing.",
  "rule.saqt.q.ccpp.120.option.function_target_excluded.name": "Functions to be excluded",
  "rule.saqt.q.ccpp.1200.description": "The Dynamic memory allocation checker finds expression uses dynamic allocation.\nIt is common to use dynamic allocation in C/C++. However, sometimes a program is required to execute in an extremely limited memory for embedded environment. Then, it can be dagerous to use the dynamic allocation. Which applies to industries required stable actions, such as car, aviation, atomic energy, etc.\nDo not perform the dynamic allocation.",
  "rule.saqt.q.ccpp.1200.example.0.dangerous": "Line 2: Dynamic allocation is used to call malloc() function.",
  "rule.saqt.q.ccpp.1200.example.0.safe": "Line 1: Use a local variable.",
  "rule.saqt.q.ccpp.1200.name": "Dynamic memory allocation",
  "rule.saqt.q.ccpp.1201.description": "The Use of errno checker finds errno directives.\nThe errno directives are technically useful, but a ill-defined feature of C++ by ISO/IEC14882 : 2003 [1]. An error can or cannot be represented on non-zero. Thus, it is not recommended to use the errno directives.\nDo not use the errno directives.",
  "rule.saqt.q.ccpp.1201.example.0.dangerous": "Line 5: errno is used to check errors.",
  "rule.saqt.q.ccpp.1201.example.0.safe": "Line 5: It is recommended to check return values or parameter inputs.",
  "rule.saqt.q.ccpp.1201.name": "Use of errno",
  "rule.saqt.q.ccpp.1202.description": "The Use of offsetof Macro checker finds instances of using a offsetof macro.\nDo not use the offsetof macro included in C++ Standard library `stddef.h`. An undefined action can occur by using the offsetof macro in non-standard-layout class. Thus, it is not recommended to use the offsetof macro. A standard-layout type indicates a type with C layout, and features as belows: \n\n1. Does not contain a virtual function or virtual base class. \n2. Non-static data member has an identical access control. \n3. Every non-static data members is standard-layout. \n4. Every base class is standard-layout. \n5. Does not contain identical type of data of base class for the first non-static member. \n6. Does not contain a reference member. \n7. Does not contain a non-static data for at least one base class or both derived and base class. \n\nTo check a standard-layout type, use std::is_standard_layout in <type_traits>.\nDo not use the offsetof macro.",
  "rule.saqt.q.ccpp.1202.example.0.dangerous": "Line 10: offsetof macro is used.",
  "rule.saqt.q.ccpp.1202.example.0.safe": "Line 10: Do not use the offsetof macro. Use other function, if needed.",
  "rule.saqt.q.ccpp.1202.name": "Use of offsetof Macro",
  "rule.saqt.q.ccpp.1203.description": "The Use of setjmp checker finds expressions with setjmp macros.\nIt is hard to find excution flows when the setjmp macros are included.\nDo not use setjmp macros. It is recommended to configure control flows that do not require jump statements.",
  "rule.saqt.q.ccpp.1203.example.0.dangerous": "Line 3: setjmp macro is used.",
  "rule.saqt.q.ccpp.1203.example.0.safe": "Line 1: Do not use the setjmp macro. Ensure that a jump statement is not required for control flows.",
  "rule.saqt.q.ccpp.1203.name": "Use of setjmp",
  "rule.saqt.q.ccpp.1204.description": "The Use of longjmp Function checker finds instances of using longjmp() function.\nIt is hard to find excution flows when the longjmp() functions are included.\nDo not use the longjmp() function. It is recommended to configure control flows that do not require jump statements.",
  "rule.saqt.q.ccpp.1204.example.0.dangerous": "Line 12: longjmp() function is used.",
  "rule.saqt.q.ccpp.1204.example.0.safe": "Line 1: Do not use the longjmp() function. Configure a control flow that does not require a jump statement.",
  "rule.saqt.q.ccpp.1204.name": "Use of longjmp",
  "rule.saqt.q.ccpp.1205.description": "The Use of Signal Handling checker finds instances of using the signal handling specified in the signal.h header.\nThe signal handling specified in signal.h should not be used. Signal handling is platform-specific and may cause undefined behavior.\nDo not use the signal handling specified in signal.h.",
  "rule.saqt.q.ccpp.1205.example.0.dangerous": "Line 1: signal.h header file is included.",
  "rule.saqt.q.ccpp.1205.example.0.safe": "Line 1: Do not use signal handling of signal.h.",
  "rule.saqt.q.ccpp.1205.name": "Use of Signal Handling",
  "rule.saqt.q.ccpp.1206.description": "The Use of stdio checker finds instances of using stdio.h.\nDo not use the stdio.h of C standard library, as it has a number of defects and prone to raise errors. It is recommended to use some alternative libraries.\nDo not use the stdio.h header.",
  "rule.saqt.q.ccpp.1206.example.0.dangerous": "Line 1: stdio.h is included.",
  "rule.saqt.q.ccpp.1206.example.0.safe": "Line 1: Do not include the stdio.h.",
  "rule.saqt.q.ccpp.1206.name": "Use of stdio",
  "rule.saqt.q.ccpp.1207.description": "The Use of Wide String checker finds instances of using a wide string.\nDo not use a wide string.",
  "rule.saqt.q.ccpp.1207.example.0.dangerous": "Line 1: 'Fred' is used in a wide-character string.",
  "rule.saqt.q.ccpp.1207.example.0.safe": "Line 1: Do not use a wide-character string.",
  "rule.saqt.q.ccpp.1207.name": "Use of Wide String",
  "rule.saqt.q.ccpp.1209.description": "The Returning in function of void return type checker finds instances in which a void function returns a value.\nA return statement in a void function is an unnecessary computation that wastes resources, and some compilers report a compile error for this.\nDo not include a return statement in a void function.",
  "rule.saqt.q.ccpp.1209.example.0.dangerous": "Line 4: A void function returns an expression 'x+1.'",
  "rule.saqt.q.ccpp.1209.example.0.safe": "Line 4: A void function cannot return an expression.",
  "rule.saqt.q.ccpp.1209.name": "Returning in function of void return type",
  "rule.saqt.q.ccpp.1210.description": "The Arithmetic Operation on Pointer checker finds instances of performing an arithmetic operation on a pointer.\nAn invalid pointer operation can cause some issues like a runtime error.\nDo not use arithmetic operations on pointers.",
  "rule.saqt.q.ccpp.1210.example.0.dangerous": "Line 4: An operation is performed on a pointer.",
  "rule.saqt.q.ccpp.1210.example.0.safe": "Line 4: Do not perform a pointer operation.",
  "rule.saqt.q.ccpp.1210.name": "Arithmetic Operation on Pointer",
  "rule.saqt.q.ccpp.1211.description": "The Use of setlocale checker finds instances of calling setlocale() function from locale.h library.\nDo not use the setlocale() function.",
  "rule.saqt.q.ccpp.1211.example.0.dangerous": "Line 3: setlocale() function from locale.h library is used.",
  "rule.saqt.q.ccpp.1211.example.0.safe": "Line 3: Do not use the setlocale().",
  "rule.saqt.q.ccpp.1211.name": "Use of setlocale",
  "rule.saqt.q.ccpp.1213.description": "The Signal Handler's Access to Shared Object checker finds instances in which a signal function accesses a shared object.\nA signal handler's access to a shared object can cause a race condition. For portability's sake, signal handlers must get, set, or return a volatile sig_atomic_t variable. Or use lock-free programming for atomic access. Please see the CERT page for details.\nMake sure signal handlers do not access shared objects.",
  "rule.saqt.q.ccpp.1213.example.0.dangerous": "Line 4: err_msg is updated to leave a message for passing SIGINT signal. However, an undefined action can occur by generating SIGINT before allocating an action.",
  "rule.saqt.q.ccpp.1213.example.0.safe": "Line 2: For portability's sake, signal handlers must get, set, or return a volatile sig_atomic_t variable. Or use lock-free programming for atomic access. Please see the CERT page for details.",
  "rule.saqt.q.ccpp.1213.name": "Signal Handler's Access to Shared Object",
  "rule.saqt.q.ccpp.1215.description": "The Returning signal handlers checker finds instances of implicitly or explicitly returning from a computational exception signal handler.\nA signal handler function for critical errors, such as SIGSEGV, SIGILL, or SIGFPE, needs to invoke a termination function rather than return a value.\nYou must not ignore signals generated from the critical errors such as segmentation faults (SIGSEGV), illegal instruction (SIGILL), and arithmetic exceptions (SIGFPE). In case of a signal from one of these handlers, you must handle it appropriately and then terminate the program.\nThe only portably safe way to leave a SIGSEGV, SIGILL, or SIGFPE handler is to invoke abort(), quick_exit(), or _Exit() and terminate the program.",
  "rule.saqt.q.ccpp.1215.example.0.dangerous": "Line 7: A value is implicitly returned by a signal handler without specific termination code.\nLine 15: A SIGFPE signal occurs when denom value is zero. Then, an infinit loop can occur.",
  "rule.saqt.q.ccpp.1215.example.0.safe": "Line 6: Use abort(), quick_exit(), or _Exit() to terminate SIGFPE, SIGILL, or SIGSEGV handler. Or, the presence of default handler enables the program to be terminated.",
  "rule.saqt.q.ccpp.1215.name": "Returning signal handlers",
  "rule.saqt.q.ccpp.1216.description": "The Unused runtime constraint handler checker finds instances of failure to register a runtime-constraint handler prior to calling any bounds-checking functions.\nThe C11 standard specifies that the arguments passed to bounds-checking library functions be checked for compliance with their constraints, and a violation of them cause a signal. When using those library functions, therefore, it is preferable to register an appropriate signal handler that is to be called on a constraint violation.\nRegister the handler using the set_constraint_handler_s() function.",
  "rule.saqt.q.ccpp.1216.example.0.dangerous": "Line 3: A runtime handler is not explicitly specified before a strcpy_s() call.",
  "rule.saqt.q.ccpp.1216.example.0.safe": "Line 7: Explicitly specify a runtime handler.",
  "rule.saqt.q.ccpp.1216.name": "Unused runtime constraint handler",
  "rule.saqt.q.ccpp.1218.description": "The Use of signal in multi-threaded program checker finds calls to the signal() function made in a multithreaded program.\nA signal() call in a multithreaded environment can cause undefined behavior.\nDo not call signal() in a multithreaded program.",
  "rule.saqt.q.ccpp.1218.example.0.dangerous": "Line 13: signal() function is used to break out of a loop in a child thread.",
  "rule.saqt.q.ccpp.1218.example.0.safe": "Line 16: Use an atomic_flag type object instead of signal() function to break out of a loop in a child thread.",
  "rule.saqt.q.ccpp.1218.name": "Use of signal in multi-threaded program",
  "rule.saqt.q.ccpp.122.description": "The Missing logging on error checker finds instances of failure to call an error logging function before an error code is returned.\nYou can optionally specify error codes and error logging functions.\nFailure to log error occurrences decreases maintainability; the program needs to log any error messages.\nMake sure an error logging function is called before an optionally specified error code is returned.",
  "rule.saqt.q.ccpp.122.example.0.dangerous": "Line 7: An error code is returned. An error log function is not called, this is detected.",
  "rule.saqt.q.ccpp.122.example.0.safe": "Line 7: The error log function is called before error code returned.\nLine 8: An error code is returned.",
  "rule.saqt.q.ccpp.122.name": "Missing logging on error",
  "rule.saqt.q.ccpp.122.option.error_expr.description": "Set up error expressions",
  "rule.saqt.q.ccpp.122.option.error_expr.name": "Error expressions",
  "rule.saqt.q.ccpp.122.option.log_function.description": "Set up functions for logging",
  "rule.saqt.q.ccpp.122.option.log_function.name": "Functions for logging",
  "rule.saqt.q.ccpp.123.description": "The Hardcoded argument checker finds calls to optionally specified functions that put a hardcoded argument in a forbidden position. \nYou can optionally specify functions subject to checking, variable argument position, argument position to be checked for hardcoding, expressions subject to checking, expressions excluded from checking, and argument data types to be checked.\nHardcoding may expose information to the outside. If passwords, paths, or other security-sensitive elements are hardcoded, it may allow for critical security vulnerabilities.\nMake sure not to pass a hardcoded argument in a call to an optionally specified function.",
  "rule.saqt.q.ccpp.123.example.0.dangerous": "Line 3: A forbidden hardcoded value is used in the second argument while calling strcpy() function.",
  "rule.saqt.q.ccpp.123.example.0.safe": "Line 3: A forbidden hardcoded value is not found in the second argument while calling strcpy() function.",
  "rule.saqt.q.ccpp.123.name": "Hardcoded argument",
  "rule.saqt.q.ccpp.123.option.excluded_expr.description": "Excluded expression",
  "rule.saqt.q.ccpp.123.option.excluded_expr.name": "Excluded expression",
  "rule.saqt.q.ccpp.123.option.param_target_character.description": "If the option is enabled, it will check char parameters.",
  "rule.saqt.q.ccpp.123.option.param_target_character.name": "Target char parameter",
  "rule.saqt.q.ccpp.123.option.param_target_float.description": "If the option is enabled, it will check floating-point parameters.",
  "rule.saqt.q.ccpp.123.option.param_target_float.name": "Target floating-point parameter",
  "rule.saqt.q.ccpp.123.option.param_target_integer.description": "If the option is enabled, it will check integer parameters.",
  "rule.saqt.q.ccpp.123.option.param_target_integer.name": "Target integer parameter",
  "rule.saqt.q.ccpp.123.option.param_target_string.description": "If the option is enabled, it will check string parameters.",
  "rule.saqt.q.ccpp.123.option.param_target_string.name": "Target string parameter",
  "rule.saqt.q.ccpp.123.option.target_expr.description": "Target expression",
  "rule.saqt.q.ccpp.123.option.target_expr.name": "Target expression",
  "rule.saqt.q.ccpp.123.option.target_func.description": "Target function call",
  "rule.saqt.q.ccpp.123.option.target_func.name": "Target function call",
  "rule.saqt.q.ccpp.124.description": "The Hardcoded initialization value checker finds instances of initializing a variable into a hardcoded value.\nYou can optionally specify expressions subject to analysis, data types subject to analysis, and expressions excluded from analysis.\nHardcoding may expose information to the outside. If passwords, paths, or other security-sensitive elements are hardcoded, it may allow for critical security vulnerabilities.\nDo not initialize optionally specified variables into a hardcoded value.",
  "rule.saqt.q.ccpp.124.example.0.dangerous": "Line 2: A hardcoded value is used to initialize variable str.",
  "rule.saqt.q.ccpp.124.example.0.safe": "Line 2: Do not use the hardcoded value to initialize the variable str.",
  "rule.saqt.q.ccpp.124.name": "Hardcoded initialization value",
  "rule.saqt.q.ccpp.124.option.excluded_expr.description": "A regular expression for excluding target expressions.",
  "rule.saqt.q.ccpp.124.option.excluded_expr.name": "Expressions to exclude",
  "rule.saqt.q.ccpp.124.option.init_target_character.description": "Detect character initialization hard coding.",
  "rule.saqt.q.ccpp.124.option.init_target_character.name": "Hard coding character initialization",
  "rule.saqt.q.ccpp.124.option.init_target_float.description": "Detect float initialization hard coding.",
  "rule.saqt.q.ccpp.124.option.init_target_float.name": "Hard coding float initialization",
  "rule.saqt.q.ccpp.124.option.init_target_integer.description": "Detect integer initialization hard coding.",
  "rule.saqt.q.ccpp.124.option.init_target_integer.name": "Hard coding integer initialization",
  "rule.saqt.q.ccpp.124.option.init_target_string.description": "Detect string initialization hard coding.",
  "rule.saqt.q.ccpp.124.option.init_target_string.name": "Hard coding string initialization",
  "rule.saqt.q.ccpp.124.option.target_expr.description": "A regular expression for detecting target expressions.",
  "rule.saqt.q.ccpp.124.option.target_expr.name": "Target expressions",
  "rule.saqt.q.ccpp.1241.description": "The Too many parameters checker finds functions that span more lines than the limit or have too many parameters.\nFunctions that are too long or have too many parameters are hard to understand and undermine their maintainability.\nWhen defining a function, make sure the numbers of parameters and lines do not exceed the specified limits. An extremely long function must be split into multiple small functions or refactored into a shorter one.",
  "rule.saqt.q.ccpp.1241.example.0.dangerous": "Line 1: A default option specifies up to six parameters for function. Seven parameters has been declared for the function.",
  "rule.saqt.q.ccpp.1241.example.0.safe": "Line 1: Use the specified number of parameters.",
  "rule.saqt.q.ccpp.1241.name": "Too many parameters",
  "rule.saqt.q.ccpp.1241.option.max_loc_count.description": "Write a max line of code count.",
  "rule.saqt.q.ccpp.1241.option.max_loc_count.name": "Maximum lines",
  "rule.saqt.q.ccpp.1241.option.max_param_count.description": "Write a max parameter count.",
  "rule.saqt.q.ccpp.1241.option.max_param_count.name": "Max parameter count",
  "rule.saqt.q.ccpp.1242.description": "The Multiple updates of loop index checker finds loops in which the loop control variable is modified more than once in each iteration.\nIf a loop control variable is modified at different places in the loop, it is hard to understand the behavior of the loop.\nMake sure a loop control variable is modified only at one single place in the loop.",
  "rule.saqt.q.ccpp.1242.example.0.dangerous": "Line 2: A loop control variable i is modified in an expression after for statements.\nLine 4: The loop control variable i is modified again in body of for statements.",
  "rule.saqt.q.ccpp.1242.example.0.safe": "Line 2: Modify to change a loop control variable at one position.",
  "rule.saqt.q.ccpp.1242.name": "Multiple updates of loop index",
  "rule.saqt.q.ccpp.1243.description": "The Mutable condition of loop statement checker finds instances in which a complicated expression is used instead of constant to evaluate the number of iteration in for loop.\nTerminating condition of iteration in for loop is evaluated every time after the loop is executed. Thus, using a complicated expression for its condition instead of a constant, takes time to evaluate the expression, which can lower performance of the loop.\nEnsure to use the constant for condition to control the number of iteration.",
  "rule.saqt.q.ccpp.1243.example.0.dangerous": "Line 2: value.getSize() expression is used in condition. If it takes time to evaluate getSize() function, performance of the loop will be lowered.",
  "rule.saqt.q.ccpp.1243.example.0.safe": "Line 1: Evaluate a value for loop count control before running the loop.",
  "rule.saqt.q.ccpp.1243.name": "Mutable condition of loop statement",
  "rule.saqt.q.ccpp.1243.option.allow_divide.description": "If the option is enabled, you can use `/` operator in a termination expression of a for loop.",
  "rule.saqt.q.ccpp.1243.option.allow_divide.name": "Allowing / operator",
  "rule.saqt.q.ccpp.1243.option.allow_minus.description": "If the option is enabled, you can use `-` operator in a termination expression of a for loop.",
  "rule.saqt.q.ccpp.1243.option.allow_minus.name": "Allowing - operator",
  "rule.saqt.q.ccpp.1243.option.allow_multiply.description": "If the option is enabled, you can use `*` operator in a termination expression of a for loop.",
  "rule.saqt.q.ccpp.1243.option.allow_multiply.name": "Allowing * operator",
  "rule.saqt.q.ccpp.1243.option.allow_plus.description": "If the option is enabled, you can use `+` operator in a termination expression of a for loop.",
  "rule.saqt.q.ccpp.1243.option.allow_plus.name": "Allowing + operator",
  "rule.saqt.q.ccpp.1243.option.allow_remainder.description": "If the option is enabled, you can use `%` operator in a termination expression of a for loop.",
  "rule.saqt.q.ccpp.1243.option.allow_remainder.name": "Allowing % operator",
  "rule.saqt.q.ccpp.1244.description": "The Multiple entry and exit points checker finds compound statements that include more than once entry or exit point. Switch statements are exempt from this rule.\nThe checker does not count exits by exception.\nKeeping a single entry and exit point helps ensure a simpler control graph of the compound statement and more concise and straightforward code.\nMake sure each compound statement has only one entry and exit point.",
  "rule.saqt.q.ccpp.1244.example.0.dangerous": "Line 4: A break statement sets two breakpoints for for statements.\nLine 8: A label and goto statement set two entry points for while statements.",
  "rule.saqt.q.ccpp.1244.example.0.safe": "Line 2: Set one entry and one breakpoint for each compound statement.",
  "rule.saqt.q.ccpp.1244.name": "Multiple entry and exit points",
  "rule.saqt.q.ccpp.1245.description": "The Improper switch statement checker finds switch statements that do not explicitly include all possible cases.\nA switch statement must contain all possible cases. This helps reduce risks caused by an unexpected value.\nThis issue may affect the program performance or potentially lead to causing an error.\nMake sure each switch statement includes all possible cases explicitly.",
  "rule.saqt.q.ccpp.1245.example.0.dangerous": "Line 5: A case statement with non-continuous number is placed.",
  "rule.saqt.q.ccpp.1245.example.0.safe": "Line 11: Add a default to switch statements.",
  "rule.saqt.q.ccpp.1245.name": "Improper switch statement",
  "rule.saqt.q.ccpp.1246.description": "The Improper variable declaration in for statement checker finds for loops whose loop control variable is not declared within the loop but is from outside.\nA loop control variable must be declared in the loop header and should not be an object already declared outside the loop. This practice is beneficial in that the loop control variable's scope is limited within the loop.\nThis issue may affect the program performance or potentially lead to causing an error.\nBe sure to declare the loop control variable in the loop header.",
  "rule.saqt.q.ccpp.1246.example.0.dangerous": "Line 2: An externally declared idx is used as a loop control variable.",
  "rule.saqt.q.ccpp.1246.example.0.safe": "Line 2: Use a declared i for a loop control variable.",
  "rule.saqt.q.ccpp.1246.name": "Improper variable declaration in for statement",
  "rule.saqt.q.ccpp.1247.description": "The Missing suffix for integer constant checker finds instances that an uppercase suffix is not specified to a constant.\nA certain suffix is supposed to be added to each constant: suffix L to long constant, suffix U to unsigned int constant, and UL to unsigned long constant. It is recommended to specify an uppercase constant to a constant.\nUse the corresponding suffix to each integer constant.",
  "rule.saqt.q.ccpp.1247.example.0.dangerous": "Line 2: A suffix U is not appended.\nLine 3: A suffix UL is not appended.\nLine 4: A suffix L is not appended.",
  "rule.saqt.q.ccpp.1247.example.0.safe": "Line 2-4: Append suffix U, UL, or L for each.",
  "rule.saqt.q.ccpp.1247.name": "Missing suffix for integer constant",
  "rule.saqt.q.ccpp.1247.option.ignore_one.description": "One constant is ignored if selected.",
  "rule.saqt.q.ccpp.1247.option.ignore_one.name": "Ignore one constant",
  "rule.saqt.q.ccpp.1247.option.ignore_zero.description": "Zero constant is ignored if selected.",
  "rule.saqt.q.ccpp.1247.option.ignore_zero.name": "Ignore zero constant.",
  "rule.saqt.q.ccpp.1248.description": "The Missing suffix for floating point constant checker finds instances that a suffix F is not specified to a float type constant, or a suffix L is not specified to a long double constant.\nA certain suffix is supposed to be added to each constant: suffix F to float constant, and suffix L to long double constant. It is recommended to specify an uppercase constant to a constant.\nUse the corresponding suffix to each float constant.",
  "rule.saqt.q.ccpp.1248.example.0.dangerous": "Line 2: A suffix F is not appended.\nLine 3: A suffix L is not appended.",
  "rule.saqt.q.ccpp.1248.example.0.safe": "Line 2-3: Append suffix F, or L for each.",
  "rule.saqt.q.ccpp.1248.name": "Missing suffix for floating point constant",
  "rule.saqt.q.ccpp.1249.description": "The Non-const global and static variable checker finds global and static variables that are not declared const.\nGlobal and static variables are recommended to be declared const. A function taking a non-const global or static variable may cause a problem if reentered via recursion or multithreading. Global variables, in particular, often have trouble with maintainability.\nThis issue may affect the program performance or potentially lead to causing an error.\nMake sure that global and static variables are declared const.",
  "rule.saqt.q.ccpp.1249.example.0.dangerous": "Line 1: A global variable is used.",
  "rule.saqt.q.ccpp.1249.example.0.safe": "Line 1: Declare each variable as const. You can follow the singleton pattern for mutable static or global variable.",
  "rule.saqt.q.ccpp.1249.name": "Non-const global and static variable",
  "rule.saqt.q.ccpp.125.description": "The Use of forbidden number as argument checker finds calls to optionally specified functions that put a number argument in a forbidden position.\nYou can optionally specify functions subject to analysis and argument positions that should not take a number.\nInspect arguments passed to functions to prevent their misuse and conform to APIs. A misuse of an argument may cause an unexpected program behavior.\nDo not put a number-type argument in a forbidden position in a call to an optionally specified function.",
  "rule.saqt.q.ccpp.125.example.0.dangerous": "Line 3: The third argument of LB_call_WA() function is a number.",
  "rule.saqt.q.ccpp.125.example.0.safe": "Line 3: The third argument of LB_call_WA() function is not a number, but strlen() function.",
  "rule.saqt.q.ccpp.125.name": "Use of forbidden number as argument",
  "rule.saqt.q.ccpp.125.option.call_param_should_not_be_deciaml.description": "Call parameter which should not be decimal",
  "rule.saqt.q.ccpp.125.option.call_param_should_not_be_deciaml.name": "Call parameter which should not be decimal",
  "rule.saqt.q.ccpp.125.option.call_target.description": "Target function call",
  "rule.saqt.q.ccpp.125.option.call_target.name": "Target function call",
  "rule.saqt.q.ccpp.1250.description": "The Casting from floating point type to integer type checker finds casts from a real number to an integer that are not through a standard library function.\nAvoid casting a real number to an integer unless it is performed using a standard library function. It is undefined to evaluate an expression involving numbers with different arithmetic precision. However, the checker regards it safe and well-intended to use such an expression together with ceil(), floor(), or round(), which respectively rounds up, down, or off the argument.\nThis issue may affect the program performance or potentially lead to causing an error.\nUse a standard library function when converting a real number to an integer.",
  "rule.saqt.q.ccpp.1250.example.0.dangerous": "Line 3: A float is cast into a integer variable.",
  "rule.saqt.q.ccpp.1250.example.0.safe": "Line 6: Do not cast a float into a integer, or use a related function as shown as the example. Here, truncate the decimal value from floating point value.",
  "rule.saqt.q.ccpp.1250.name": "Casting from floating point type to integer type",
  "rule.saqt.q.ccpp.1251.description": "The Implicit casting of argument checker finds function calls that need to implicitly cast an argument passed in.\nWhen writing code, make sure functions are called with no need for an implicit cast of an argument passed in. When a user-specified type is implicitly cast, a temporary object is constructed and destructed, which not only incurs an unnecessary overhead but may cause unexpected side effects as well.\nThis issue may affect the program performance or potentially lead to causing an error.\nWhen writing code, make sure functions are called with no need for an implicit cast of an argument passed in.",
  "rule.saqt.q.ccpp.1251.example.0.dangerous": "Line 6: A type is implicitly converted into std:string.",
  "rule.saqt.q.ccpp.1251.example.0.safe": "Line 7: Remove the implicit conversion.",
  "rule.saqt.q.ccpp.1251.name": "Implicit casting of argument",
  "rule.saqt.q.ccpp.1251.option.allow_primitive_type.description": "If selected, allow implicit casting to a primitive type.",
  "rule.saqt.q.ccpp.1251.option.allow_primitive_type.name": "Allow implicit casting to a primitive type.",
  "rule.saqt.q.ccpp.1251.option.allow_string_conversion.description": "If selected, allow implicit casting to a string class.",
  "rule.saqt.q.ccpp.1251.option.allow_string_conversion.name": "Allow implicit casting to a string class.",
  "rule.saqt.q.ccpp.1251.option.allow_wrapping_class.description": "If selected, allow implicit casting to a struct wrapping class.",
  "rule.saqt.q.ccpp.1251.option.allow_wrapping_class.name": "Allow implicit casting to a struct wrapping class.",
  "rule.saqt.q.ccpp.1255.description": "The Use of Global Variable checker finds instances of using a global variable.\nA global variable is a variable with external linkage declared outside classes, unnamed namespaces, and functions. Using a global variable can cause trouble because it is accessible to and modifiable by any object. If any data needs to be used globally, consider using the Singleton pattern.\nDo not use a global variable.",
  "rule.saqt.q.ccpp.1255.example.0.dangerous": "Line 1: A global variable is used.",
  "rule.saqt.q.ccpp.1255.example.0.safe": "Line 1: Use a singleton class to manage global data.",
  "rule.saqt.q.ccpp.1255.name": "Use of global variable",
  "rule.saqt.q.ccpp.1256.description": "The Use of using directive checker finds a using directive instead of explicit namespace directive or using declaration.\nThe using directive expands name sets searched for names. Then, more identifiers will be searched by a compiler, which can be an unintended result.More secure options, such as using-declarations or fully qualified names, are provided by explicitly specifying name sets.\nThis issue may affect the program performance or potentially lead to causing an error.\nUse an explicit namespace directives or using declaration instead of using directives.",
  "rule.saqt.q.ccpp.1256.example.0.dangerous": "Line 3: A using directive is used.",
  "rule.saqt.q.ccpp.1256.example.0.safe": "Line 3: Use a using declaration.",
  "rule.saqt.q.ccpp.1256.name": "Use of using directive",
  "rule.saqt.q.ccpp.1257.description": "The Using statement before include statement checker finds instances that a using directive is not placed after #include in a source file.\nThe using directive is required to be placed after #include in a source file. For example, if a using directive is placed between #includes, name conflict can be found between header files.\nThis issue may affect the program performance or potentially lead to causing an error.\nWrite the using directive after #include in a source file.",
  "rule.saqt.q.ccpp.1257.example.0.dangerous": "Line 3: A using directive is used between #include directives.",
  "rule.saqt.q.ccpp.1257.example.0.safe": "Line 4: Use a using directive after #include of header files.",
  "rule.saqt.q.ccpp.1257.name": "Using statement before include statement",
  "rule.saqt.q.ccpp.1259.description": "The Use of extern checker finds instances of using extern keywords.\nDo not allow to use the extern keywords. Do not use the extern keywords where external links are implicitly used.\nDo not use the extern keywords.",
  "rule.saqt.q.ccpp.1259.example.0.dangerous": "Line 1: An extern keyword is used for an extern function.",
  "rule.saqt.q.ccpp.1259.example.0.safe": "Line 1: Do not use the extern keyword.",
  "rule.saqt.q.ccpp.1259.name": "Use of extern",
  "rule.saqt.q.ccpp.126.description": "The Use of static specifier in header file checker finds instances of applying a static qualifier to a function or variable in a header file. \nYou can optionally specify whether to allow static functions and static variables.\nStatic functions and variables included in a header file are defined independently in the header file. Such definitions are hard to track and may cause conflicts possibly leading to error.\nDo not use the static qualifier in a header file.",
  "rule.saqt.q.ccpp.126.example.0.dangerous": "Line 2: Variable a is declared as static.",
  "rule.saqt.q.ccpp.126.example.0.safe": "Line 2: Do not declare a static variable or function in a header file.",
  "rule.saqt.q.ccpp.126.name": "Use of static specifier in header file",
  "rule.saqt.q.ccpp.126.option.ignore_function.description": "Allows the use of static functions in the header file",
  "rule.saqt.q.ccpp.126.option.ignore_function.name": "Static function enabled",
  "rule.saqt.q.ccpp.126.option.ignore_variable.description": "Allows the use of static variables in the header file",
  "rule.saqt.q.ccpp.126.option.ignore_variable.name": "Static variables enabled",
  "rule.saqt.q.ccpp.1260.description": "The Use of auto checker finds instances of using auto keywords.\nDo not use the auto keywords. The auto keyword allocates memory to stack in variable declaration. Also, a variable nothing displayed works as same as the auto keyword. It is better to let compilers allocate memory than programmers using the auto or register keywords. Otherwise, the auto keywords are officially used to estimate variable types in C++11 Standard.\nThis issue may affect the program performance or potentially lead to causing an error.\nEnsure not to use the auto keywords.",
  "rule.saqt.q.ccpp.1260.example.0.dangerous": "Line 1: A auto keyword is used.",
  "rule.saqt.q.ccpp.1260.example.0.safe": "Line 1: Do not use the auto keyword.",
  "rule.saqt.q.ccpp.1260.name": "Use of auto",
  "rule.saqt.q.ccpp.1261.description": "The Use of register keyword checker finds instances of using register keywords.\nDo not use the register keywords.The register keywords are hints to load variables to processor registers, if possible. It is better to let compilers allocate memory than programmers using the auto or register keywords.\nThis issue may affect the program performance or potentially lead to causing an error.\nEnsure not to use the register keywords.",
  "rule.saqt.q.ccpp.1261.example.0.dangerous": "Line 1: A register keyword is used.",
  "rule.saqt.q.ccpp.1261.example.0.safe": "Line 1: Do not use the register keyword.",
  "rule.saqt.q.ccpp.1261.name": "Use of register keyword",
  "rule.saqt.q.ccpp.1268.description": "The Missing const qualifier checker finds code that fails to use const keywords on any possible places of pointer parameter declaration.\nIt is recommended to use the const to declare a pointer parameter if you can. Using the const keywords prevents modification to variables and makes your function interface more stable.\nDeclare the pointer parameter with the const keyword unless it is mutable.",
  "rule.saqt.q.ccpp.1268.example.0.dangerous": "Line 1: A variable p is not declared as const, though it deserves.",
  "rule.saqt.q.ccpp.1268.example.0.safe": "Line 3: Declare the variable p as const.",
  "rule.saqt.q.ccpp.1268.name": "Missing const qualifier",
  "rule.saqt.q.ccpp.1271.description": "The Use of result of assignment operation finds expressions that use the result of an assignment operation as an operand for another operation.\nAvoid using the result of an assignment directly. The assignment operator is often mistaken for the equality operator. In a conditional expression, for example, it is confusing to take the result of an assignment as an operand for a comparison operation.\nThis issue may affect the program performance or potentially lead to causing an error.\nDo not use the result of an assignment operation.",
  "rule.saqt.q.ccpp.1271.example.0.dangerous": "Line 1: A result of assigning i to j is used to compare to with.",
  "rule.saqt.q.ccpp.1271.example.0.safe": "Line 1: Do not directly use a result of assignment operation.",
  "rule.saqt.q.ccpp.1271.name": "Use of result of assignment operation",
  "rule.saqt.q.ccpp.1271.option.check_return.description": "Check return expression",
  "rule.saqt.q.ccpp.1271.option.check_return.name": "Check return expression",
  "rule.saqt.q.ccpp.1273.description": "The Mixed signed and unsigned data checker finds expressions that involve numbers with different signedness.\nDo not use both signed and unsigned numbers in the same expression. An operation on numbers with different signedness can lead to an incorrect calculation, possibly causing trouble.\nAn operation on numbers with different signedness can lead to an incorrect calculation, possibly causing trouble.\nDo not use both signed and unsigned numbers in the same expression.",
  "rule.saqt.q.ccpp.1273.example.0.dangerous": "Line 3: Signs are mixed up. Then, an unintended value is passed to x.",
  "rule.saqt.q.ccpp.1273.example.0.safe": "Line 3: Do not mix up signed and unsigned.",
  "rule.saqt.q.ccpp.1273.name": "Mixed signed and unsigned data",
  "rule.saqt.q.ccpp.1273.option.allow_constant.description": "A constant operation about all types is allowed if chosen to do so.",
  "rule.saqt.q.ccpp.1273.option.allow_constant.name": "Allow a constant operation about all types",
  "rule.saqt.q.ccpp.1273.option.ignore_assign.description": "A left operand of assign opertor will be skipped",
  "rule.saqt.q.ccpp.1273.option.ignore_assign.name": "ignore assign operator",
  "rule.saqt.q.ccpp.1274.description": "The Mixed arithmetic precision checker finds expressions that involve numbers with different arithmetic precision.\nAn arithmetic operation on numbers with different precision must be performed with care using an explicit cast.\nAn arithmetic operation on numbers with different precision can lead to an incorrect calculation, possibly causing trouble.\nDo not involve numbers with different arithmetic precision in the same expression.",
  "rule.saqt.q.ccpp.1274.example.0.dangerous": "Line 2: Arithmetic precision is mixed up.",
  "rule.saqt.q.ccpp.1274.example.0.safe": "Line 2: Do not mix up arithmetic precision, or perform explicit casting to specify intended actions.",
  "rule.saqt.q.ccpp.1274.name": "Mixed arithmetic precision",
  "rule.saqt.q.ccpp.1278.description": "The Use of default arguments for overloaded function checker finds overloaded functions that take a default argument.\nAn overloaded function cannot take a default argument. If a function is overloaded including a default argument, it may be ambiguous which function is intended when the function name is invoked.\nThis issue may affect the program performance or potentially lead to causing an error.\nDo not use a default argument in an overloaded function.",
  "rule.saqt.q.ccpp.1278.example.0.dangerous": "Line 6: A function call results in ambiguity.",
  "rule.saqt.q.ccpp.1278.example.0.safe": "Line 2: Do not use a default value on argument.",
  "rule.saqt.q.ccpp.1278.name": "Use of default arguments for overloaded function",
  "rule.saqt.q.ccpp.128.description": "The Unused user defined type on array checker finds instances of declaring a variable or function as an array type that has not been redefined.\nThe checker searches for an array declaration that is not of a data type redefined using Typedef. You can optionally specify allowable array types, whether to check members, and whether to check arguments.\nMake sure array types are redefined.",
  "rule.saqt.q.ccpp.128.example.0.dangerous": "Line 1: A declared type of global array variable a is set to default.",
  "rule.saqt.q.ccpp.128.example.0.safe": "Line 2: Use a redefined type for the array.",
  "rule.saqt.q.ccpp.128.name": "Unused user defined type on array",
  "rule.saqt.q.ccpp.128.option.allowed_array_type.description": "Allowed array type",
  "rule.saqt.q.ccpp.128.option.allowed_array_type.name": "Allowed array type",
  "rule.saqt.q.ccpp.128.option.scope_target_member.description": "If selected, the analyzer will check members.",
  "rule.saqt.q.ccpp.128.option.scope_target_member.name": "Check member",
  "rule.saqt.q.ccpp.128.option.scope_target_parameter.description": "Check parameters",
  "rule.saqt.q.ccpp.128.option.scope_target_parameter.name": "Check parameters",
  "rule.saqt.q.ccpp.1280.description": "The Uninitialized pointer after release checker finds when a pointer is not set to 0 after its memory get freed.\nYou need to set the pointer to 0 after freeing memory. This can prevent mistakes of referring invalid memories in a event of further use of the pointer.\nThis issue may affect the program performance or potentially lead to causing an error.\nSet the pointer to 0 after freeing memory.",
  "rule.saqt.q.ccpp.1280.example.0.dangerous": "Line 4: A variable is not set to zero after delete.",
  "rule.saqt.q.ccpp.1280.example.0.safe": "Line 5: Set a variable to zero after delete.",
  "rule.saqt.q.ccpp.1280.name": "Uninitialized pointer after release",
  "rule.saqt.q.ccpp.1284.description": "The Comment in macro checker finds macro definitions that include a comment.\nA comment in a macro definition can cause trouble depending on how the compiler implements the macro.\nDo not include a macro in a comment.",
  "rule.saqt.q.ccpp.1284.example.0.dangerous": "Line 1: A comment is used in a macro.",
  "rule.saqt.q.ccpp.1284.example.0.safe": "Line 1: Do not use a comment in a macro.",
  "rule.saqt.q.ccpp.1284.name": "Comment in macro",
  "rule.saqt.q.ccpp.1285.description": "The Non-blank line at end of source code checker finds instances in which source code does not end with an empty line.\nThe standard specifies that source code should end with an empty line.\nMake sure all files with source code end with an empty line.",
  "rule.saqt.q.ccpp.1285.example.0.dangerous": "Line 3: No empty line is placed at the end.",
  "rule.saqt.q.ccpp.1285.example.0.safe": "Line 4: Put an empty line at the end.",
  "rule.saqt.q.ccpp.1285.name": "Non-blank line at end of source code",
  "rule.saqt.q.ccpp.1287.description": "The Uppercase in included file name checker finds #include statements that include an uppercase letter in the directory.\nThis rule is to ensure portability between case-sensitive and case-insensitive filesystems.\nMake sure #include statements do not include an uppercase letter in the directory.",
  "rule.saqt.q.ccpp.1287.example.0.dangerous": "Line 1: A filename with upper and lowercases is referenced.",
  "rule.saqt.q.ccpp.1287.example.0.safe": "Line 1: Set lowercase for a file name before referencing.",
  "rule.saqt.q.ccpp.1287.name": "Uppercase in included file name",
  "rule.saqt.q.ccpp.1289.description": "The Improper constant definition checker finds instances of defining a macro-instead of a const-qualified object or enumerator-to get a constant object.\nAa a constant object, a const-qualified object or enumerator can be more supported by the type system at compile time.\nWhen a constant object is needed, define a const-qualified object or enumerator.",
  "rule.saqt.q.ccpp.1289.example.0.dangerous": "Line 1: A constant is defined by using #define.",
  "rule.saqt.q.ccpp.1289.example.0.safe": "Line 1: Use a const object or enumerator.",
  "rule.saqt.q.ccpp.1289.name": "Improper constant definition",
  "rule.saqt.q.ccpp.129.description": "The Use of array type checker finds instances of declaring a variable of an array type.\nYou can optionally specify the scope of checking for an array-type variable.\nDo not declare an array-type variable.",
  "rule.saqt.q.ccpp.129.example.0.dangerous": "Line 1: An argument is used to declare an array variable.",
  "rule.saqt.q.ccpp.129.example.0.safe": "Line 1: Do not use the array-type for variables forbidden to use the array.",
  "rule.saqt.q.ccpp.129.name": "Use of array type",
  "rule.saqt.q.ccpp.129.option.expand_typedef.description": "If the option is enabled, it will check even typedef variables.",
  "rule.saqt.q.ccpp.129.option.expand_typedef.name": "Target typedef variables",
  "rule.saqt.q.ccpp.129.option.scope_target_global.description": "If the option is enabled, it will check the global scope.",
  "rule.saqt.q.ccpp.129.option.scope_target_global.name": "Target global scope",
  "rule.saqt.q.ccpp.129.option.scope_target_local.description": "If the option is enabled, it will check the local scope.",
  "rule.saqt.q.ccpp.129.option.scope_target_local.name": "Target local scope",
  "rule.saqt.q.ccpp.129.option.scope_target_parameter.description": "If the option is enabled, it will check parameters.",
  "rule.saqt.q.ccpp.129.option.scope_target_parameter.name": "Target Parameter",
  "rule.saqt.q.ccpp.129.option.variable_target_const.description": "If the option is enabled, it will check const variables.",
  "rule.saqt.q.ccpp.129.option.variable_target_const.name": "Target const variables",
  "rule.saqt.q.ccpp.129.option.variable_target_non_const.description": "If the option is enabled, it will check non-const variables.",
  "rule.saqt.q.ccpp.129.option.variable_target_non_const.name": "Target non-const variables",
  "rule.saqt.q.ccpp.129.option.variable_target_signed.description": "If the option is enabled, it will check signed variables.",
  "rule.saqt.q.ccpp.129.option.variable_target_signed.name": "Check signed integer",
  "rule.saqt.q.ccpp.129.option.variable_target_unsigned.description": "If the option is enabled, it will check unsigned variables.",
  "rule.saqt.q.ccpp.129.option.variable_target_unsigned.name": "Check unsigned integer",
  "rule.saqt.q.ccpp.1290.description": "The Use of Digraph checker finds instances of using a digraph.\nDigraphs cannot be used. Occurrences of digraphs may undermine code readability.\nDo not use a digraph.",
  "rule.saqt.q.ccpp.1290.example.0.dangerous": "Line 1: A digraph is used.",
  "rule.saqt.q.ccpp.1290.example.0.safe": "Line 1: Do not use a digraph.",
  "rule.saqt.q.ccpp.1290.name": "Use of Digraph",
  "rule.saqt.q.ccpp.130.description": "The Use of forbidden type checker finds instances of declaring a variable as an optionally forbidden data type.\nYou can optionally specify forbidden qualifiers and the scope of checking for forbidden data types.\nDo not use forbidden data types.",
  "rule.saqt.q.ccpp.130.example.0.dangerous": "Line 1: The first argument for foo() function is declared as forbidden long type.",
  "rule.saqt.q.ccpp.130.example.0.safe": "Line 1: Do not use the forbidden types, but available types.Replace the long type into recognizable types such as int, int32, or int64.",
  "rule.saqt.q.ccpp.130.name": "Use of forbidden type",
  "rule.saqt.q.ccpp.130.option.expand_typedef.description": "If selected, the analyzer will check typedef types.",
  "rule.saqt.q.ccpp.130.option.expand_typedef.name": "Check typedef types",
  "rule.saqt.q.ccpp.130.option.forbidden_type.description": "Set forbidden types.",
  "rule.saqt.q.ccpp.130.option.forbidden_type.name": "Forbidden types",
  "rule.saqt.q.ccpp.130.option.ignore_const.description": "If selected, the analyzer will ignore constants.",
  "rule.saqt.q.ccpp.130.option.ignore_const.name": "Ignore constant",
  "rule.saqt.q.ccpp.130.option.scope_target_global.description": "If selected, the analyzer will check in global scope.",
  "rule.saqt.q.ccpp.130.option.scope_target_global.name": "Check global scope",
  "rule.saqt.q.ccpp.130.option.scope_target_local.description": "If selected, the analyzer will check local variables.",
  "rule.saqt.q.ccpp.130.option.scope_target_local.name": "Check local variables",
  "rule.saqt.q.ccpp.130.option.scope_target_member.description": "If selected, the analyzer will check members.",
  "rule.saqt.q.ccpp.130.option.scope_target_member.name": "Check member",
  "rule.saqt.q.ccpp.130.option.scope_target_parameter.description": "Check parameters",
  "rule.saqt.q.ccpp.130.option.scope_target_parameter.name": "Check parameters",
  "rule.saqt.q.ccpp.130.option.type_target_array.description": "If selected, the analyzer will check array types.",
  "rule.saqt.q.ccpp.130.option.type_target_array.name": "Check array types",
  "rule.saqt.q.ccpp.130.option.type_target_pointer.description": "If selected, the analyzer will check pointer types.",
  "rule.saqt.q.ccpp.130.option.type_target_pointer.name": "Check pointer types",
  "rule.saqt.q.ccpp.130.option.type_target_signed.description": "If selected, the analyzer will check signed integer.",
  "rule.saqt.q.ccpp.130.option.type_target_signed.name": "Check signed integer",
  "rule.saqt.q.ccpp.130.option.type_target_typedef.description": "If selected, the analyzer will check typedef types.",
  "rule.saqt.q.ccpp.130.option.type_target_typedef.name": "Check typedef types",
  "rule.saqt.q.ccpp.130.option.type_target_unsigned.description": "If selected, the analyzer will check unsigned integer.",
  "rule.saqt.q.ccpp.130.option.type_target_unsigned.name": "Check unsigned integer",
  "rule.saqt.q.ccpp.1305.description": "The Too high level of dereferencing checker finds expressions that involve more than two dereference operations.\nToo many dereference operations in an expression undermine code readability and cause more mistakes.\nIf more than two levels of dereferencing are needed, split the dereference chain into multiple expressions, for example, by storing an intermediate result in a temporary variable.",
  "rule.saqt.q.ccpp.1305.example.0.dangerous": "Line 2: A multi-level dereference is performed.",
  "rule.saqt.q.ccpp.1305.example.0.safe": "Line 2: A double-dereference can be performed.",
  "rule.saqt.q.ccpp.1305.name": "Too high level of dereferencing",
  "rule.saqt.q.ccpp.1306.description": "The Pointer dereference operation in macro checker finds instances in which a dereferencing operation is hidden by defining it as a macro.\nBecause pointer dereferences can easily cause errors, they need to be written as expressly as possible. This helps co-developers notice those dereferences in code and check for mistakes around them.\nDo not define pointer dereferences as macros but use them expressly.",
  "rule.saqt.q.ccpp.1306.example.0.dangerous": "Line 1: A pointer dereference operation is hidden in a macro.",
  "rule.saqt.q.ccpp.1306.example.0.safe": "Line 1: Do not use a dereference operation in a macro.",
  "rule.saqt.q.ccpp.1306.name": "Pointer dereference operation in macro",
  "rule.saqt.q.ccpp.1308.description": "The Duplicated function or variable name between files checker finds instances in which the same function or variable identifier is used across different source files.\nIf the same identifier is used globally across different source files, individual source files may be normally compiled, but subsequently an ambiguity issue will arise when they are linked together.\nMake sure all objects use different unique identifiers across all source files.",
  "rule.saqt.q.ccpp.1308.example.0.dangerous": "Line 2: A func() function is defined in 8_9a.c file.\nLine 6: Another func() function is defined in 8_9b.c file.",
  "rule.saqt.q.ccpp.1308.example.0.safe": "Line 6: Modify a function name not to be globally shared in other files.",
  "rule.saqt.q.ccpp.1308.name": "Duplicated function or variable name between files",
  "rule.saqt.q.ccpp.1309.description": "The Missing declaration of extern variable checker finds instances in which a variable is declared with the extern qualifier despite not being used in other source files.\nDeclaring a global variable with extern is meant to allow it to be called in other source files as well in the assumption that the variable is fully defined somewhere. However, if this variable is not declared in any other source file in the project, the programmer may likely have made a mistake somewhere.\nDeclare the variable without the extern qualifier, or declare it in other files that need access to it.",
  "rule.saqt.q.ccpp.1309.example.0.dangerous": "Line 2: notComp variable is declared as extern in foo.c file. However, notComp variable without extern keyword has not be declared in other files.",
  "rule.saqt.q.ccpp.1309.example.0.safe": "Line 4: Declare notComp variable in bar.c file.",
  "rule.saqt.q.ccpp.1309.name": "Missing declaration of extern variable",
  "rule.saqt.q.ccpp.131.description": "The Unused user defined type on pointer checker finds instances of declaring a variable or function as a pointer type that has not been redefined.\nThe checker searches for a pointer declaration that is not of a data type redefined using Typedef. You can optionally specify allowable pointer types, whether to check members, and whether to check arguments.\nMake sure pointer types are redefined.",
  "rule.saqt.q.ccpp.131.example.0.dangerous": "Line 1: Global variable a is not redefined.",
  "rule.saqt.q.ccpp.131.example.0.safe": "Line 2: Use a redefined type for the pointer.",
  "rule.saqt.q.ccpp.131.name": "Unused user defined type on pointer",
  "rule.saqt.q.ccpp.131.option.allowed_pointer_type.description": "Allowed pointer type name",
  "rule.saqt.q.ccpp.131.option.allowed_pointer_type.name": "Allowed pointer type name",
  "rule.saqt.q.ccpp.131.option.scope_target_member.description": "If selected, the analyzer will check members.",
  "rule.saqt.q.ccpp.131.option.scope_target_member.name": "Check member",
  "rule.saqt.q.ccpp.131.option.scope_target_parameter.description": "Check parameters",
  "rule.saqt.q.ccpp.131.option.scope_target_parameter.name": "Check parameters",
  "rule.saqt.q.ccpp.1310.description": "The Use of universal character in macro concatenation checker finds universal characters (such as Unicode) passed as arguments for macro concatenation.\nMacro concatenation must not be performed with universal characters passed in.\nMacro concatenation with a universal character passed in is undefined behavior.\nDo not pass a universal character for macro concatenation.",
  "rule.saqt.q.ccpp.1310.example.0.dangerous": "Line 1: Compilation is succeeded in MS Visual Studio 2013, but failed in GCC 4.8.1 with an error.",
  "rule.saqt.q.ccpp.1310.example.0.safe": "Line 1: Do not use a universal character in macro concatenation.",
  "rule.saqt.q.ccpp.1310.name": "Use of universal character in macro concatenation",
  "rule.saqt.q.ccpp.1312.description": "The Missing relationship between constants checker finds instances in which two or more variables are relevant to one another but their relation is not defined in an expression.\nFor relevant variables, their relation must be clear to all developers by being expressly stated.\nWhen defining a constant relevant to another one, be sure to state their relation in the defining expression.",
  "rule.saqt.q.ccpp.1312.example.0.dangerous": "Line 1: IN_STR_LEN and OUT_STR_LEN const is related, but independently defined.",
  "rule.saqt.q.ccpp.1312.example.0.safe": "Line 1: OUT_STR_LEN const is defined with an expression with IN_STR_LEN.",
  "rule.saqt.q.ccpp.1312.name": "Missing relationship between constants",
  "rule.saqt.q.ccpp.1314.description": "The Use of compound literal address in loop checker finds instances of using a compound literal inappropriately in a loop due to failure to understand how compound literals are interpreted.\nOnce a compound literal appears during program execution, its corresponding temporary object is generated. The duration of the temporary object is maintained until the enclosing block of the compound literal ends. In the case of a literal compound used within a loop, it is not that a new temporary object is generated at each iteration, but the object from the first iteration keeps being reused until the end of the loop. Using compound literals without understanding of these characteristics can lead to unintended behavior of the program or an error. Particular care is needed when a pointer to a compound literal is used because the duration of the temporary object ends immediately upon completion of the enclosing block, after which the address of the compound literal is no longer valid.\nWhen using a compound literal, it is safe to assume that its temporary object will be discarded as soon as the enclosing block ends. If a temporary object is to be used to initialize another object, you should not use a pointer to the temporary object, but an actual copy of it.",
  "rule.saqt.q.ccpp.1314.example.0.dangerous": "Line 9: As one temporary object is generated, pointers of ints array point the single temporary object. Therefore, field x is evaluated to \"MAX_INTS - 1\".\nLine 10: After the statement ends, duration of the temporary object ends as well, which makes its address invalid. Therefore, addresses in ints array are invalid.\nLine 12: Each element of ints array is dereferenced in the second for statements. Then, an undefined action occurs by dereferencing an invalid address. It is likely that memory is not yet overwritten in actual code, but, a certain value is printed out. Instead of an expected value between 0 and \"MAX_INTS - 1\", \"MAX_INTS - 1\" value is consecutively printed out.",
  "rule.saqt.q.ccpp.1314.example.0.safe": "Line 9: Copy contents of a temporary object instead of dereferencing a compound literal in a loop.",
  "rule.saqt.q.ccpp.1314.name": "Use of compound literal address in loop",
  "rule.saqt.q.ccpp.1315.description": "The Non-unique mutually visible identifier checker finds identifiers whose initial characters fail to represent a unique string different from those of any other identifiers.\nGenerally, identifiers must be unique and distinguishable only within its first 31 characters.\nIf identifiers are not unique, a compile error or unintended type confusion may occur. Because extremely long identifiers might be recognized only within a certain number of their significant initial characters depending on the compilation environment, they should be so named that the first 31 characters can represent a unique string.\nMake sure that any identifiers that can access the same scope are unique within the first 31 characters.",
  "rule.saqt.q.ccpp.1315.example.0.dangerous": "Line 1: The first 31 characters of two variable names are identical. Then, some system can handle the variables as one identifier.",
  "rule.saqt.q.ccpp.1315.example.0.safe": "Line 1: At least the first 31 characters of variable name are significant.",
  "rule.saqt.q.ccpp.1315.name": "Non-unique mutually visible identifier",
  "rule.saqt.q.ccpp.1316.description": "The Use of non-volatile variable in signal handler checker finds signal handlers that use a global variable that is not declared volatile.\nNon-volatile variables can be cached. If source code is compiled to allow for caching of variables referenced by signal handlers, the program may behave in an unintended way.\nMake sure that all global variables used by signal handlers are declared volatile.",
  "rule.saqt.q.ccpp.1316.example.0.dangerous": "Line 9: Value i is cashed, and not passed to while statements. Then, an infinite loop can occur.",
  "rule.saqt.q.ccpp.1316.example.0.safe": "Line 2: Declare a variable used by a signal handler as volatile.",
  "rule.saqt.q.ccpp.1316.name": "Use of non-volatile variable in signal handler",
  "rule.saqt.q.ccpp.1317.description": "The Use of reserved identifier checker finds identifiers named with strings that may possibly be reserved words.\nIt is recommended to avoid identifiers prefixed with an underscore (_) because they can be used internally as macro names. If names internally used by the compiler are used as identifiers, the compiler can malfunction.\nDo not use names starting with an underscore.",
  "rule.saqt.q.ccpp.1317.example.0.dangerous": "Line 1: A macro starting with underbar can be a reserved identifier.",
  "rule.saqt.q.ccpp.1317.example.0.safe": "Line 1: Do not start a macro with underbar.",
  "rule.saqt.q.ccpp.1317.name": "Use of reserved identifier",
  "rule.saqt.q.ccpp.1319.description": "The Side effect on macro argument checker finds instances in which an expression possibly having a side effect is passed as an argument to a macro.\nA side effect refers to a side modification that an expression makes to the program's memory status which leads to influencing the evaluation of other expressions.\nBecause it is unpredictable how many times a macro argument will be evaluated internally, expressions with side effects are recommended to be avoided as macro arguments. If a macro is defined to evaluate an argument with a side effect multiple times, even a single call to the macro triggers multiple occurrences of the side effect, which may lead to an unexpected result.\nUse an expression without side effects as an argument of macro.",
  "rule.saqt.q.ccpp.1319.example.0.dangerous": "Line 3: The expression will be changed as follow as a defined macro. m = (((++n) < 0) ? -(++n) : (++n)); Here, ++n expression runs multiple times as an argument of macro, thus, n becomes a triple of original number. This is not right.",
  "rule.saqt.q.ccpp.1319.example.0.safe": "Line 4: Use an expression without side effects as an argument of macro.",
  "rule.saqt.q.ccpp.1319.name": "Side effect on macro argument",
  "rule.saqt.q.ccpp.132.description": "The Unused user defined type checker finds instances of declaring a variable or function as a data type that has not been redefined. \nThe checker searches for a declaration that is not of a data type redefined using Typedef. You can optionally specify allowable data types, whether to check members, and whether to check arguments.\nMake sure data types are redefined.",
  "rule.saqt.q.ccpp.132.example.0.dangerous": "Line 1: Global variable a is not redefined.",
  "rule.saqt.q.ccpp.132.example.0.safe": "Line 2: Use a redefined type for the variable.",
  "rule.saqt.q.ccpp.132.name": "Unused user defined type",
  "rule.saqt.q.ccpp.132.option.allowed_type.description": "If selected, the analyzer will check typedef name.",
  "rule.saqt.q.ccpp.132.option.allowed_type.name": "Allowed typedef name",
  "rule.saqt.q.ccpp.132.option.scope_target_member.description": "If selected, the analyzer will check members.",
  "rule.saqt.q.ccpp.132.option.scope_target_member.name": "Check member",
  "rule.saqt.q.ccpp.132.option.scope_target_parameter.description": "Check parameters",
  "rule.saqt.q.ccpp.132.option.scope_target_parameter.name": "Check parameters",
  "rule.saqt.q.ccpp.1320.description": "The Accessing variable via incompatible pointer checker finds instances of accessing a memory location using a pointer whose type is not compatible with the object stored in the memory location.\nAccessing memory using a pointer of an incompatible type is undefined. It is left uncertain and up to the compiler, therefore, how such a statement will be interpreted. Programmers may assume, for example, that using a 32-bit integer pointer to dereference the memory location of a 32-bit floating-point variable won't cause trouble because the pointer and the value being pointed to have the same size; such dereferencing may be performed in expectation of an integer interpretation of the float variable's bits. Although most compilers indeed interpret the dereference that way, it is not defined by the official C standard and so there is no guarantee of the same behavior when it is conducted in some different environment.\nAccess to memory using a pointer must be conducted only in one of the following cases: It is fine to use a pointer of the same type as the variable stored in the memory location being accessed. A void * pointer can be used to point to any memory location although dereferencing is not possible using this pointer. Another option is to use a char * pointer, which can convert any variable to a byte array. If you need to find out a variable's bit pattern at the machine-code level, use this pointer.",
  "rule.saqt.q.ccpp.1320.example.0.dangerous": "Line 4: A float accesses to a stored memory through int* pointer. Which is an undefined behavior.",
  "rule.saqt.q.ccpp.1320.example.0.safe": "Line 4: Access to memory through compatible type of pointer.",
  "rule.saqt.q.ccpp.1320.name": "Accessing variable via incompatible pointer",
  "rule.saqt.q.ccpp.1321.description": "The Improper casting of integer checker finds instances in which a character is not cast to an unsigned integer before converted to a larger integer.\nCharacters to be interpreted as integers must be treated as unsigned because they need to be represented by ASCII codes ranging from 0 to 255. If they are cast from the char type immediately to a wider signed integer type, those represented by ASCII codes 128-255 can be cast improperly. Because those high ASCII codes have a 1 at the most significant bit (MSB) when expressed as 8-bit binary numbers, treating them as signed causes them to be interpreted as negative numbers due to a sign extension of the MSB.\nMake sure characters are cast to unsigned integers first so that they can be represented by integers from 0 to 255.",
  "rule.saqt.q.ccpp.1321.example.0.dangerous": "Line 8: With a complier that uses a char type as signed, sign extension can occur when a value pointed by c_str is assigned to variable c. If the c_str points 255, an incorrect value, -1, will be returned by converting to an int type.",
  "rule.saqt.q.ccpp.1321.example.0.safe": "Line 9: Convert the *c_str to an unsigned type before assigned to variable c.",
  "rule.saqt.q.ccpp.1321.name": "Improper casting of integer",
  "rule.saqt.q.ccpp.1322.description": "The Copying FILE Object checker finds instances of copying an object of the standard library FILE type.\nThe FILE object type is designed to be handled only by calling related library functions. Therefore, a copied FILE object does not necessarily behave identically to its original object, and if values inside a FILE object are arbitrarily manipulated, related library entities may not work properly.\nMake sure FILE objects are handled only by calling library functions as are they designed.",
  "rule.saqt.q.ccpp.1322.example.0.dangerous": "Line 2: FILE object is copied after dereferenced.",
  "rule.saqt.q.ccpp.1322.example.0.safe": "Line 2: Do not copy FILE object.",
  "rule.saqt.q.ccpp.1322.name": "Copying FILE Object",
  "rule.saqt.q.ccpp.1323.description": "The Redefined errno checker finds instances of redefining the errno variable in an individual source file.\nDeclaring errno in an individual source file triggers undefined behavior.\nInstead of declaring errno directly, include it in a standard header such as errno.h.",
  "rule.saqt.q.ccpp.1323.example.0.dangerous": "Line 1: An errno variable is overrided.",
  "rule.saqt.q.ccpp.1323.example.0.safe": "Line 1: Include a related standard header instead of overriding.",
  "rule.saqt.q.ccpp.1323.name": "Redefined errno",
  "rule.saqt.q.ccpp.1324.description": "The Parameter name in function prototype checker finds instances of naming the parameters in a prototype declaration.\nObserving this rule can prevent type errors caused by failure to protect header prototypes from misinterpretation.\nDo not name the parameters when declaring a prototype but include their types only.",
  "rule.saqt.q.ccpp.1324.example.0.dangerous": "Line 2: A prototype is changed to void update_status(int 23); after preprocessing. Then, an error occurs.",
  "rule.saqt.q.ccpp.1324.example.0.safe": "Line 1: Do not specify a parameter name for a prototype.",
  "rule.saqt.q.ccpp.1324.name": "Parameter name in function prototype",
  "rule.saqt.q.ccpp.133.description": "The Unused user defined type on member variable checker finds instances of declaring a member as a data type that has not been redefined.\nThe checker searches for a member declaration in a struct that is not of a data type redefined using Typedef. You can optionally specify allowable member types, whether to check arrays, whether to check pointers, and whether to check function pointers.\nMake sure members are declared as redefined data types.",
  "rule.saqt.q.ccpp.133.example.0.dangerous": "Line 2: Member variable a of struct st is not redefined.",
  "rule.saqt.q.ccpp.133.example.0.safe": "Line 3: Use a redefined type for the member variable of struct.",
  "rule.saqt.q.ccpp.133.name": "Unused user defined type on member variable",
  "rule.saqt.q.ccpp.133.option.allowed_member_type.description": "Allowed member type or not",
  "rule.saqt.q.ccpp.133.option.allowed_member_type.name": "Allowed member type",
  "rule.saqt.q.ccpp.133.option.check_function_ptr.description": "If selected, the analyzer will check function pointer",
  "rule.saqt.q.ccpp.133.option.check_function_ptr.name": "Check function pointer",
  "rule.saqt.q.ccpp.133.option.type_target_array.description": "If selected, the analyzer will check array",
  "rule.saqt.q.ccpp.133.option.type_target_array.name": "Check array",
  "rule.saqt.q.ccpp.133.option.type_target_pointer.description": "If selected, the analyzer will check pointer(except function pointer)",
  "rule.saqt.q.ccpp.133.option.type_target_pointer.name": "Check pointer",
  "rule.saqt.q.ccpp.1333.description": "The Specified bound of character array checker finds array declarations that include initialization to a string literal while specifying the size of the array.\nIf an array is initialized to a string literal at declaration, its size is automatically allocated as much as the string length. If the array size is explicitly specified but is not large enough to contain the string literal, the stored string may not end with 0 or the array may fail to store the whole length of the string.\nDo not specify the size of an array if it is initialized to a string.",
  "rule.saqt.q.ccpp.1333.example.0.dangerous": "Line 1: Spaces for 4 character including '\\0' is required to store a string 'abc'. However, an array size is specified to 3. Thus, there is no space for '\\0', and an abnormal string that does not end with 0 is stored.",
  "rule.saqt.q.ccpp.1333.example.0.safe": "Line 1: Do not specify an array size to string literals.",
  "rule.saqt.q.ccpp.1333.name": "Specified bound of character array",
  "rule.saqt.q.ccpp.134.description": "The Use of forbidden array type checker finds instances of declaring a local array variable as a data type that is not optionally allowed.\nThe checker searches for an array variable declaration that is not of an allowed data type. You can optionally specify allowable variable types, whether to check local variables, and whether to check arguments.\nMake sure local array variables are declared as allowed data types.",
  "rule.saqt.q.ccpp.134.example.0.dangerous": "Line 2: Line 2: Local array variable a is declared as forbidden int[] type.",
  "rule.saqt.q.ccpp.134.example.0.safe": "Line 2: Use an allowed type to declare the array variables.",
  "rule.saqt.q.ccpp.134.name": "Use of forbidden array type",
  "rule.saqt.q.ccpp.134.option.allowed_variable_type.description": "Allowed variables types",
  "rule.saqt.q.ccpp.134.option.allowed_variable_type.name": "Allowed variables types",
  "rule.saqt.q.ccpp.134.option.scope_target_local.description": "If selected, the analyzer will check local variables.",
  "rule.saqt.q.ccpp.134.option.scope_target_local.name": "Check local variables",
  "rule.saqt.q.ccpp.134.option.scope_target_parameter.description": "Check parameters",
  "rule.saqt.q.ccpp.134.option.scope_target_parameter.name": "Check parameters",
  "rule.saqt.q.ccpp.135.description": "The Use of not-allowed type checker finds instances of declaring a local variable as a data type that is not optionally allowed.\nThe checker searches for a local variable declaration that is not of an allowed base data type. You can optionally specify allowable variable types, whether to check local variables, and whether to check arguments.\nMake sure local variables are declared as allowed data types.",
  "rule.saqt.q.ccpp.135.example.0.dangerous": "Line 1: Parameter a is declared as forbidden short.",
  "rule.saqt.q.ccpp.135.example.0.safe": "Line 1: Use the allowed types only to declare the variables.",
  "rule.saqt.q.ccpp.135.name": "Use of not-allowed type",
  "rule.saqt.q.ccpp.135.option.allowed_variable_type.description": "Allowed variables types",
  "rule.saqt.q.ccpp.135.option.allowed_variable_type.name": "Allowed variables types",
  "rule.saqt.q.ccpp.135.option.scope_target_local.description": "If selected, the analyzer will check local variables.",
  "rule.saqt.q.ccpp.135.option.scope_target_local.name": "Check local variables",
  "rule.saqt.q.ccpp.135.option.scope_target_parameter.description": "Check parameters",
  "rule.saqt.q.ccpp.135.option.scope_target_parameter.name": "Check parameters",
  "rule.saqt.q.ccpp.1357.description": "The Too many execution paths checker finds functions that have too many execution paths, except for the case in which the number of paths increases due to iterations in a loop.\nToo many non-iterative execution paths in a function cause difficulty in testing and managing the function.\nMake sure that a function includes no more than 200 non-iterative execution paths.",
  "rule.saqt.q.ccpp.1357.example.0.dangerous": "Line 12: Too many execution paths are found.",
  "rule.saqt.q.ccpp.1357.example.0.safe": "Line 4: Keep the number of execution paths up to 200.",
  "rule.saqt.q.ccpp.1357.name": "Too many execution paths",
  "rule.saqt.q.ccpp.136.description": "The Use of forbidden compound type checker finds instances of declaring a compound variable as an unspecified array type.\nYou can optionally specify allowable variable types, whether to check pointer types, whether to check array types, whether to check redefined types, whether to check local variables, whether to check arguments, and whether to ignore unnamed structs/unions.\nMake sure compound-type variables are declared with a specified name.",
  "rule.saqt.q.ccpp.136.example.0.dangerous": "Line 7: Local compound variable st is declared as forbidden bad type.",
  "rule.saqt.q.ccpp.136.example.0.safe": "Line 7: Declare the local array variable st as allowed good type.",
  "rule.saqt.q.ccpp.136.name": "Use of forbidden compound type",
  "rule.saqt.q.ccpp.136.option.allowed_variable_type.description": "Allowed variables types",
  "rule.saqt.q.ccpp.136.option.allowed_variable_type.name": "Allowed variables types",
  "rule.saqt.q.ccpp.136.option.expand_typedef.description": "If selected, the analyzer will check typedef types.",
  "rule.saqt.q.ccpp.136.option.expand_typedef.name": "Check typedef types",
  "rule.saqt.q.ccpp.136.option.ignore_anonymous.description": "If selected, the analyzer will ignore unnamed structure/union.",
  "rule.saqt.q.ccpp.136.option.ignore_anonymous.name": "Ignore unnamed structure/union",
  "rule.saqt.q.ccpp.136.option.scope_target_local.description": "If selected, the analyzer will check local variables.",
  "rule.saqt.q.ccpp.136.option.scope_target_local.name": "Check local variables",
  "rule.saqt.q.ccpp.136.option.scope_target_parameter.description": "Check parameters",
  "rule.saqt.q.ccpp.136.option.scope_target_parameter.name": "Check parameters",
  "rule.saqt.q.ccpp.136.option.type_target_array.description": "If selected, the analyzer will check array types.",
  "rule.saqt.q.ccpp.136.option.type_target_array.name": "Check array types",
  "rule.saqt.q.ccpp.136.option.type_target_pointer.description": "If selected, the analyzer will check pointer types.",
  "rule.saqt.q.ccpp.136.option.type_target_pointer.name": "Check pointer types",
  "rule.saqt.q.ccpp.136.option.type_target_typedef.description": "If selected, the analyzer will check typedef types.",
  "rule.saqt.q.ccpp.136.option.type_target_typedef.name": "Check typedef types",
  "rule.saqt.q.ccpp.1360.description": "The Use of increment operator on boolean value checker finds instances of using the increment operator (++) on a boolean variable.\nDo not use the increment operator (++) on a boolean variable. Such practice is deprecated.\nDo not use the increment operator on a boolean variable. Assign it either true or false, or define and use a custom function like toggle(), set(), or clear().",
  "rule.saqt.q.ccpp.1360.example.0.dangerous": "Line 2: An increasement operator is used for a boolean variable.",
  "rule.saqt.q.ccpp.1360.example.0.safe": "Line 2: Directly assign true or false. Or define a custom function.",
  "rule.saqt.q.ccpp.1360.name": "Use of increment operator on boolean value",
  "rule.saqt.q.ccpp.1364.description": "The Casting from integer type to enumeration type checker finds instances of casting an integer to an enumerator.\nDo not cast an integer to an enumerator. It is not defined what value the cast will return if the integer does not fall within the range of enumerator values. This may lead to an overflow or result in an unpredictable output.\nIt can cause unexpected behavior.\nDo not cast an integer to an enumerator.",
  "rule.saqt.q.ccpp.1364.example.0.dangerous": "Line 4: A casting is performed on an integer which is out-of-range of enum.",
  "rule.saqt.q.ccpp.1364.example.0.safe": "Line 3: Avoid casting on an integer.",
  "rule.saqt.q.ccpp.1364.name": "Casting from integer type to enumeration type",
  "rule.saqt.q.ccpp.1368.description": "The Comparing size of container with zero checker finds instances of checking the return of the size() function against zero.\nComparing the size of a container against zero is to check if it contains any element; size(), however, can have linear time complexity depending upon the type of the container. In contrast, empty() has constant time complexity and thus its use is more preferable if the comparison is only to check if the container is empty.\nUse empty() when checking a container for being empty.",
  "rule.saqt.q.ccpp.1368.example.0.dangerous": "Line 2: A linear time complexity occurs in size() function as list container does not evaluate the number of elements in advance.",
  "rule.saqt.q.ccpp.1368.example.0.safe": "Line 2: A constant time complexity occurs in empty() function Then, the same action as comparing a result of size() to zero is performed.",
  "rule.saqt.q.ccpp.1368.name": "Comparing size of container with zero",
  "rule.saqt.q.ccpp.137.description": "The Use of forbidden pointer type checker finds instances of declaring a pointer variable as an unspecified data type.\nYou can optionally specify allowable variable types, whether to check local variables, whether to check arguments, and whether to check redefined types.\nMake sure pointer variables are declared as a specified data type.",
  "rule.saqt.q.ccpp.137.example.0.dangerous": "Line 1: Variable a is not declared as a data type specified in option.",
  "rule.saqt.q.ccpp.137.example.0.safe": "Line 1: Declare the variable a as a specified data type.",
  "rule.saqt.q.ccpp.137.name": "Use of forbidden pointer type",
  "rule.saqt.q.ccpp.137.option.allowed_variable_type.description": "Allowed variables types",
  "rule.saqt.q.ccpp.137.option.allowed_variable_type.name": "Allowed variables types",
  "rule.saqt.q.ccpp.137.option.expand_typedef.description": "If selected, the analyzer will check typedef types.",
  "rule.saqt.q.ccpp.137.option.expand_typedef.name": "Check typedef types",
  "rule.saqt.q.ccpp.137.option.scope_target_local.description": "If selected, the analyzer will check local variables.",
  "rule.saqt.q.ccpp.137.option.scope_target_local.name": "Check local variables",
  "rule.saqt.q.ccpp.137.option.scope_target_parameter.description": "Check parameters",
  "rule.saqt.q.ccpp.137.option.scope_target_parameter.name": "Check parameters",
  "rule.saqt.q.ccpp.1372.description": "The Violation of naming rule for identifier checker finds identifiers that start with the underscore symbol (_).\nIdentifiers should not start with an underscore. Identifiers that are named this way are usually those belonging to the standard library.\nDo not use an underscore as the first character of an identifier.",
  "rule.saqt.q.ccpp.1372.example.0.dangerous": "Line 1: An identifier starts with an underbar.",
  "rule.saqt.q.ccpp.1372.example.0.safe": "Line 1: Start an identifier with characters other than underbar.",
  "rule.saqt.q.ccpp.1372.name": "Violation of naming rule for identifier",
  "rule.saqt.q.ccpp.1378.description": "The Extern variable and function declaration in source file checker finds instances of declaring an extern variable or function not in an interface file.\nOnce the extern item is placed to other than the interface file, it is hard to identify its location. Then, an unexpected result may occur by complexed statements.\nEnsure to declare the extern variable or function within the interface file.",
  "rule.saqt.q.ccpp.1378.example.0.dangerous": "Line 4: An extern variable and function is defined in a source file.",
  "rule.saqt.q.ccpp.1378.example.0.safe": "Line 4: Define the extern variable and function in a header file.",
  "rule.saqt.q.ccpp.1378.name": "Extern variable and function declaration in source file",
  "rule.saqt.q.ccpp.1379.description": "The Use of magic number checker finds occurrences of a magic number or string that are directly used in code, instead of being represented by a symbolic constant.\nIf a magic number or string is used directly in code, a change to it requires a fix on every occurrence of it throughout the code. This undermines code maintainability and may cause unexpected behavior.\nUse a constant instead of a magic number or string.",
  "rule.saqt.q.ccpp.1379.example.0.dangerous": "Line 2: A magic number is used to set the size of buf array.",
  "rule.saqt.q.ccpp.1379.example.0.safe": "Line 3: Use a symbolic constant to set the size of buf array.",
  "rule.saqt.q.ccpp.1379.name": "Use of magic number",
  "rule.saqt.q.ccpp.138.description": "The Use of forbidden user defined type checker finds instances in which a variable or parameter is declared as a data type that has been redefined by typedef but the name of the redefined type is not included in the optional list.\nYou can optionally specify allowable variable types, whether to check local variables, and whether to check parameters.\nType redefinitions using typedef should take an optionally specified data type.",
  "rule.saqt.q.ccpp.138.example.0.dangerous": "Line 1: A forbidden type S64 is used to redefine.",
  "rule.saqt.q.ccpp.138.example.0.safe": "Line 1: Use the allowed type S32 to redefine.",
  "rule.saqt.q.ccpp.138.name": "Use of forbidden user defined type",
  "rule.saqt.q.ccpp.138.option.allowed_variable_type.description": "Allowed variable types",
  "rule.saqt.q.ccpp.138.option.allowed_variable_type.name": "Allowed variable types",
  "rule.saqt.q.ccpp.138.option.scope_target_local.description": "If selected, the analyzer will check local variables.",
  "rule.saqt.q.ccpp.138.option.scope_target_local.name": "Check local variables",
  "rule.saqt.q.ccpp.138.option.scope_target_parameter.description": "Check parameters",
  "rule.saqt.q.ccpp.138.option.scope_target_parameter.name": "Check parameters",
  "rule.saqt.q.ccpp.1380.description": "The Missing void keyword checker finds function declarations that have no arguments but do not include the void keyword in the argument list.\nWhen declaring a function with no arguments, you must specify \"void\" in the argument list. Without this keyword, some compilers do not give an error when the function is called with an argument passed in.\nWhen declaring a function with no arguments, specify \"void\" in the argument list.",
  "rule.saqt.q.ccpp.1380.example.0.dangerous": "Line 1: A void keyword is not specified for a function with no argument.",
  "rule.saqt.q.ccpp.1380.example.0.safe": "Line 1: A void keyword is specified for a function with no argument.",
  "rule.saqt.q.ccpp.1380.name": "Missing void keyword",
  "rule.saqt.q.ccpp.139.description": "The Missing check of array index checker finds instances in which a parameter represents an array index but its value is not validated.\nWhen handling array indexing, the possibility of a buffer overrun needs to be always considered. Attackers can cause a buffer overrun leading to a program malfunction or shutdown.\nArray index values assumed by a parameter must be validated before used.",
  "rule.saqt.q.ccpp.139.example.0.dangerous": "Line 3: An unvalidated parameter, index, is used as an index of array arr.",
  "rule.saqt.q.ccpp.139.example.0.safe": "Line 4: Validate the parameter through conditional statements to use it as the index of array arr.",
  "rule.saqt.q.ccpp.139.name": "Missing check of array index",
  "rule.saqt.q.ccpp.1391.description": "The Improper memory reallocation checker finds calls to the realloc() function in which the same variable is used both as a variable storing the return of the function and as the first argument passed to the function.\nIf failing in memory reallocation, realloc() discards previously allocated memory and returns null. Therefore, if the return of realloc() is stored to the same variable as the first argument passed to the function, the variable may be assigned null and lose the address pointing to the previously allocated memory in case of failure in memory reallocation. This may cause the memory to be leaked.\nWhen calling realloc(), you need to store its return to a different pointer variable and check the return for null. If the return is not null, it means the reallocation is successful and you can overwrite it to the variable storing the previous memory allocation.",
  "rule.saqt.q.ccpp.1391.example.0.dangerous": "Line 1: A return value of realloc() function is stored to a variable, the first argument.",
  "rule.saqt.q.ccpp.1391.example.0.safe": "Line 1: Store a return value of realloc() function to a variable other than the first argument.",
  "rule.saqt.q.ccpp.1391.name": "Improper memory reallocation",
  "rule.saqt.q.ccpp.1393.description": "The Modification of constant value checker finds code that modifies a value of const-qualified variables.\nAlthough it is syntactically impossible to assign a value to a const variable, there are some workarounds such as the use of a pointer operation to indirectly modify the variable. However, this leads to a different result from the developer's intention that is not to change the value by declaring the variable as const. Also, you can see cases where const is declared to the reference of reference type. Then, the modifier will be ignored and its value can be modified. When const is declared to the reference type itself, its value cannot be modified. So, after compiling code, this problem will not matter.\nDo not allow const variables to change their value in any way.",
  "rule.saqt.q.ccpp.1393.example.0.dangerous": "Line 7: A const object i is modified.\nLine 9: A const type is used for reference of the reference type. const will be ignored.",
  "rule.saqt.q.ccpp.1393.example.0.safe": "Line 3: Do not declare i as const to modify its value.\nLine 9: Make sure to declare const in the type of reference type. Or, do not declare the variable to const.",
  "rule.saqt.q.ccpp.1393.name": "Modification of constant value",
  "rule.saqt.q.ccpp.1394.description": "The Mismatched type in ternary operation checker finds ternary operations in which the two conditional expressions mismatch in type.\nIn a ternary operation, either of the two conditional expressions can be selected according to the program's execution flow. Therefore, the two expressions must return the same type so that the return value can be consistently used regardless which expression is selected.\nMake sure the two selectable expressions return the same static type.",
  "rule.saqt.q.ccpp.1394.example.0.dangerous": "Line 4: Types of two alternatives are different, such as int and float.",
  "rule.saqt.q.ccpp.1394.example.0.safe": "Line 4: Ensure that the types of alternatives are matched.",
  "rule.saqt.q.ccpp.1394.name": "Mismatched type in ternary operation",
  "rule.saqt.q.ccpp.1395.description": "The Insufficient allocated memory checker finds instances of allocating memory not as much as needed to store an object.\nIf allocated memory is not large enough, a buffer overflow can occur when the memory is accessed.\nAllocate memory large enough to store an object.",
  "rule.saqt.q.ccpp.1395.example.0.dangerous": "Line 6: A memory in multiple of int type is assigned to a pointer of long type. Its value is likely to be a float: handling the memory as an array with the number of len for long types.",
  "rule.saqt.q.ccpp.1395.example.0.safe": "Line 6: Use sizeof(long) instead of sizeof(int) to assign efficient amount of memory for the array.",
  "rule.saqt.q.ccpp.1395.name": "Insufficient allocated memory",
  "rule.saqt.q.ccpp.1396.description": "The Use of #pragma directive checker finds instances of using #pragma, which is a preprocessor directive used to access compiler- or platform-specific preprocessor extensions.\nUsing compiler-specific language or preprocessor extensions undermines code portability.\nDo not use #pragma statements.",
  "rule.saqt.q.ccpp.1396.example.0.dangerous": "Line 1: #pragma is used.\nLine 6 #pragma is used.",
  "rule.saqt.q.ccpp.1396.example.0.safe": "Line 1: Do not use #pragma.",
  "rule.saqt.q.ccpp.1396.name": "Use of #pragma directive",
  "rule.saqt.q.ccpp.1397.description": "The Empty statement without comment checker finds instances of using an empty statement in a non-allowed way.\nIn most cases, an empty statement is not needed and thus should not be used. However, its use is exceptionally allowed if it meets the following requirements: The empty statement is placed alone in a single line with no preceding space for indentation. The empty statement is followed by one or more separator spaces and then a trailing comment in the same line.\nUse empty statements only in a way that meets the requirements, do not use them at all.",
  "rule.saqt.q.ccpp.1397.example.0.dangerous": "Line 2: No comment is found after an empty statement.",
  "rule.saqt.q.ccpp.1397.example.0.safe": "Line 2: Put a whitespace and comment after the empty statement.",
  "rule.saqt.q.ccpp.1397.name": "Empty statement without comment",
  "rule.saqt.q.ccpp.1398.description": "The Name in standard library checker finds instances in which a custom definition in a source file uses an identifier used by the standard library.\nIn most cases, applying #undef to a standard library macro is a bad practice. Also, it is preferable to avoid reusing a macro name for a reserved word in C/C++ or a name of a standard library object or function because it can cause confusion.\nWhen naming an object or function, avoid using an identifier used by the standard library.",
  "rule.saqt.q.ccpp.1398.example.0.dangerous": "Line 1: An identifier with a name of standard library function strcmp() is included in string.h header.",
  "rule.saqt.q.ccpp.1398.example.0.safe": "Line 1: Modify the identifier with a name of standard library.",
  "rule.saqt.q.ccpp.1398.name": "Name in standard library",
  "rule.saqt.q.ccpp.1399.description": "The Use of friend function and class checker finds class declarations that use the friend keyword.\nA friend declaration increases dependency between the classes, complicates the interface, and undermines encapsulation.\nDo not use a friend declaration.",
  "rule.saqt.q.ccpp.1399.example.0.dangerous": "Line 7: friend() function is declared.\nLine 8: A friend class is declared.",
  "rule.saqt.q.ccpp.1399.example.0.safe": "Line 7: Do not declare the friend function and its class.",
  "rule.saqt.q.ccpp.1399.name": "Use of friend function and class",
  "rule.saqt.q.ccpp.140.description": "The Improper comparison of condition  checker finds if or while statements in which a comparison operation does not compare with a value of 0 or false.\nYou can optionally specify values.\nIn conditional statements, the comparison operations must be to compare with a value of 0 or true/false.",
  "rule.saqt.q.ccpp.140.example.0.dangerous": "Line 2: A value is compared to boolean with a forbidden constant 1.",
  "rule.saqt.q.ccpp.140.example.0.safe": "Line 2: Compare the value to boolean with allowed values.",
  "rule.saqt.q.ccpp.140.name": "Improper comparison of condition",
  "rule.saqt.q.ccpp.140.option.allowed_equality_value.description": "set up allowed equality comparision values with regular expression",
  "rule.saqt.q.ccpp.140.option.allowed_equality_value.name": "Allowed equality comparision value",
  "rule.saqt.q.ccpp.1400.description": "The Missing Casting to larger type checker finds comparison and arithmetic operations that are performed on integers without casting them to have an appropriate range of expression.\nIf an operation on integers is performed without casting to a type wide enough to store the resulting value, an integer overflow may occur to return an unexpected value.\nBefore performing an operation on integers, be sure to cast to a type wide enough to store the resulting value. And in the case of a comparison between integers, a cast is needed to ensure they have the same range of expression.",
  "rule.saqt.q.ccpp.1400.example.0.dangerous": "Line 6: A result of comparison will be always false when size_t type represent smaller scopes of unsigned long long type. If no integer overflow is evaluated from the left of comparison, the result is less than SIZE_MAX. A result larger than the SIZE_MAX is evaluated to a smaller value due to the integer overflow.",
  "rule.saqt.q.ccpp.1400.example.0.safe": "Line 2: Ensure to perform a correct casting before comparison or arithmetic operation.",
  "rule.saqt.q.ccpp.1400.name": "Missing Casting to larger type",
  "rule.saqt.q.ccpp.1401.description": "The Casting from void pointer type to non-void pointer type checker finds instances of casting a void pointer to another pointer.\nThe C standard allows casting a void pointer to another pointer. However, because a void pointer can point to any memory address regardless of the value stored therein, the cast can go wrong depending on the type of the value. For example, if a double-type pointer points to a memory location where an integer value is stored, it is an invalid cast.\nDo not use a void pointer unless it is unavoidable; if its use is necessary, you should thoroughly manage the type of the value stored in the memory address being pointed to.",
  "rule.saqt.q.ccpp.1401.example.0.dangerous": "Line 3: A function returns a void pointer instead of int pointer.\nLine 6: A char is implicitly cast to a void pointer, then passed to an argument.",
  "rule.saqt.q.ccpp.1401.example.0.safe": "Line 1: Do not use a void pointer.",
  "rule.saqt.q.ccpp.1401.name": "Casting from void pointer type to non-void pointer type",
  "rule.saqt.q.ccpp.1403.description": "The Missing reset of string on failure checker finds instances in which a file read function fails but the string buffer to store the function's return is not initialized.\nIf a call to the fgets() or fgetws() function fails, the destination string buffer must be initialized.\nThe C standard does not define how the fgets() or fgetws() function's destination buffer should be handled while the function failed to read a file. Therefore, unable to predict a value the buffer will take when reading file fails. As the buffer can possibly store an abnormal value, do not use its value but initialize the butter to a known value.\nMake sure to check that the file read succeed, and in case of failure, the destination buffer needs to be initialized.",
  "rule.saqt.q.ccpp.1403.example.0.dangerous": "Line 6: A buf array is not initialized into a known value.",
  "rule.saqt.q.ccpp.1403.example.0.safe": "Line 6: Initialize the buf array to represent an empty string.",
  "rule.saqt.q.ccpp.1403.name": "Missing reset of string on failure",
  "rule.saqt.q.ccpp.1405.description": "The Missing check of array length checker finds declarations of variable-length arrays (VLAs) whose length is not properly controlled.\nA variable-length array (VLA) not appropriately controlled in length can cause excessive use of stack memory.\nBe sure to declare a VLA with an appropriately controlled length.",
  "rule.saqt.q.ccpp.1405.example.0.dangerous": "Line 2: A variable-length array is declared without checking a variable value for the array size.",
  "rule.saqt.q.ccpp.1405.example.0.safe": "Line 4: Check the variable value for the array size.",
  "rule.saqt.q.ccpp.1405.name": "Missing check of array length",
  "rule.saqt.q.ccpp.1406.description": "The Use of void return type checker finds attempts at using the return of a function declared void.\nUsing the return of a void type function is undefined in the C standard.\nYou must not try using a void-type function in an expression or assign it to a variable. Generally, void functions are recommended to be invoked only in a separate call statement.",
  "rule.saqt.q.ccpp.1406.example.0.dangerous": "Line 7: A void type of value returned by function() is used.",
  "rule.saqt.q.ccpp.1406.example.0.safe": "Line 6: Modify the function() to a calling statement.",
  "rule.saqt.q.ccpp.1406.name": "Use of void return type",
  "rule.saqt.q.ccpp.1407.description": "The Ineffective statement checker finds statements that have no side effects.\nA side effect refers to a side modification that an expression makes to the program's memory status which leads to influencing the evaluation of other expressions.\nStatements with no side effects does not affect the program's execution flow even if they are removed. It is preferable to remove them as they only consume computing resources.\nRemove statements with no side effects.",
  "rule.saqt.q.ccpp.1407.example.0.dangerous": "Line 5: No efficient result is found from this line.\nLine 6: No efficient result is found from this line.",
  "rule.saqt.q.ccpp.1407.example.0.safe": "Line 4: Remove inefficient lines. Momory usage is required to be changed by running each statement.",
  "rule.saqt.q.ccpp.1407.name": "Ineffective statement",
  "rule.saqt.q.ccpp.1408.description": "The Pointer dereference operation in type definition checker finds instances in which a dereference operation is hidden by defining it as a custom type.\nBecause pointer dereferences can easily cause errors, they need to be written as expressly as possible. This helps co-developers notice those dereferences in code and check for mistakes around them.\nDo not define pointer dereferences as custom types but use them expressly.",
  "rule.saqt.q.ccpp.1408.example.0.dangerous": "Line 1: Pointer dereference is hidden in custom type declaration with typedef.",
  "rule.saqt.q.ccpp.1408.example.0.safe": "Line 1: Avoid hiding pointer dereference in custom type declaration.",
  "rule.saqt.q.ccpp.1408.name": "Pointer dereference operation in type definition",
  "rule.saqt.q.ccpp.1409.description": "The Lost of precision in integer casting checker finds instances of casting an integer to a floating-point number that can cause loss of precision due to the difference in their range of possible values.\nIf an integer is cast to a floating-point type whose range is not wide enough to accommodate all possible values, the cast may fail when the original integer value exceeds the range of the destination type. When using a Visual Studio or GCC compiler, for example, casting to a float type will discard the least significant bits if the target number being cast is larger than 2 to the power of 24.\nWhen casting an integer to a floating-point type, make sure the destination type is wide enough to accommodate all possible values. If the range of the original integer type is unknown, it is safe to use a double type instead of a float type.",
  "rule.saqt.q.ccpp.1409.example.0.dangerous": "Line 2: Casting to a float type can be performed on a value up to 2^24.\nLine 3: Casting to a float type can be performed on a value above 2^24. Then, the last digit of its binary has been lost. Thus, another casting to a int has resulted to 16777216, which is different from its source.\nLine 4: Another casting from int to float can represent a value above 2^24.Precession loss can occur based on a value of big variable.",
  "rule.saqt.q.ccpp.1409.example.0.safe": "Line 3: Use a float with enough precession to store a constant above 2^24.\nLine 4: Use a float with enough precession.",
  "rule.saqt.q.ccpp.1409.name": "Lost of precision in integer casting",
  "rule.saqt.q.ccpp.141.description": "The Missing check of debug mode checker finds instances of failure to check for debug mode before a call to a debugging function.\nYou can optionally specify a list of debugging functions and a list of debug-mode checking functions.\nA call to a debugging function must be preceded by a call to a function that checks for debug mode.",
  "rule.saqt.q.ccpp.141.example.0.dangerous": "Line 2: debug() function is called without checking for debug mode.",
  "rule.saqt.q.ccpp.141.example.0.safe": "Line 2: Call debug_check() function to check for the debug mode in conditional statements before calling the debug().",
  "rule.saqt.q.ccpp.141.name": "Missing check of debug mode",
  "rule.saqt.q.ccpp.141.option.check_function.description": "Belows are functions to check functions for debugging.",
  "rule.saqt.q.ccpp.141.option.check_function.name": "Functions to check functions for debugging",
  "rule.saqt.q.ccpp.141.option.debug_function.description": "Belows are functions for debugging.",
  "rule.saqt.q.ccpp.141.option.debug_function.name": "Functions for debugging",
  "rule.saqt.q.ccpp.1412.description": "The Use of macro as instance checker finds instances in which a standard library identifier that might have been taken as a macro name is treated as an object.\nA standard library function or variable can be declared not only as a function or variable but as a macro as well. If an identifier is used for a macro declaration, treating this identifier as an object, such as performing a reference operation on it for example, can cause unexpected behavior of the program.\nIf a standard library identifier might possibly have been declared as a macro, do not treat this as an object but use it in accordance with the standard library's guidelines.",
  "rule.saqt.q.ccpp.1412.example.0.dangerous": "Line 6: assert() function is used to get a function pointer through reference operation. However, depending on compilers, the assert() function can be defined as a macro, which causes an undefined action.",
  "rule.saqt.q.ccpp.1412.example.0.safe": "Line 9: Do not handle the assert() function as an object. To pass the assert() function in form of function pointer, define a new function with the assert().",
  "rule.saqt.q.ccpp.1412.name": "Use of macro as instance",
  "rule.saqt.q.ccpp.1417.description": "The Misuse of rename checker finds calls to the rename() function that are made without handling the possibilities of duplicate filenames.\nThe C standard allows compiler-specific definitions of consequences of calling rename(). When rename() is called on a file with an existing filename, POSIX systems replace the existing file while Windows systems cause the rename() call to fail. This difference causes a portability issue if rename() is called alone.\nUse it together with other functions to clarify what is intended with the function call. If existing functions are intended to be preserved, the rename() call needs to be preceded by an access() call to check for a duplicate filename taking into consideration use in a POSIX environment. In contrast, if existing functions are intended to be replaced, the rename() call needs to be preceded by a remove() call to remove those existing files in advance taking into consideration use in a Windows environment.",
  "rule.saqt.q.ccpp.1417.example.0.dangerous": "Line 1: POSIX environment removes existing files intended to store. On the other hand, an action to remove the files has been failed in Windows.",
  "rule.saqt.q.ccpp.1417.example.0.safe": "Line 2: Check a file to apply to POSIX.\nLine 9: Use remove() function, and remove traditional files to apply to Windows.",
  "rule.saqt.q.ccpp.1417.name": "Misuse of rename",
  "rule.saqt.q.ccpp.1417.option.is_preserved_existing_file.description": "Preserve existing destination file when set checkbox. remove existing destination file when unset checkbox.",
  "rule.saqt.q.ccpp.1417.option.is_preserved_existing_file.name": "Preserve existing destination file",
  "rule.saqt.q.ccpp.1419.description": "The Performing operation on device checker finds instances of performing operations on devices that are only appropriated for files.\nFile names on many operating systems may be used to access special files, which are actually devices. Performing operations on device files that are intended for ordinary files can result in crashes and denial-of-service attacks.\nBefore opening a file or performing certain operations on it, determine if the file is a regular file, not a special device.",
  "rule.saqt.q.ccpp.1419.example.0.dangerous": "Line 3: fopen() function is called with an unchecked string. The program can shut down abnormally by calling the fopen() function on a locked device or FIFO filename.\nLine 16: GetFileType() function is used. The program can fall into a wait state in certain cases due to the function.",
  "rule.saqt.q.ccpp.1419.example.0.safe": "Line 3: Use lstat() function to check a file state.\nLine 8: Use open() function to return a file descriptor, and take a next step based on it.\nLine 13: Use fstat() function to check a file state.\nLine 21: Put a function to check that a file path is a reserved identifier of a device. The MSDN supports an identifier list related to devices such as com1.",
  "rule.saqt.q.ccpp.1419.name": "Performing operation on device",
  "rule.saqt.q.ccpp.1420.description": "The Wrong type of error checker finds error code return functions whose return type is not declared as errno_t.\nMany existing functions that return errno are declared as returning a value of type int. Although many of the standard library headers define the type of errno_t as int, declaring the function as returning an int makes it ambiguous whether the function is to return an errno error code or another meaningful integer.\nWhen declaring an error code return function, specify its return type as errno_t.",
  "rule.saqt.q.ccpp.1420.example.0.dangerous": "Line 1: A return type of function is declared as int.\nLine 5: The function returns an errno.",
  "rule.saqt.q.ccpp.1420.example.0.safe": "Line 1: Modify the return type into errno_t.",
  "rule.saqt.q.ccpp.1420.name": "Wrong type of error",
  "rule.saqt.q.ccpp.1421.description": "The Duplicated header file name checker finds header files whose name can be considered duplicate when interpreted according to the C99 standard.\nThe C99 standard specifies how to name header file names as follows: \"The implementation shall provide unique mappings for sequences consisting of one or more nondigits or digits (6.4.2.1) followed by a period (.) and a single nondigit. The first character shall not be a digit. The implementation may ignore distinctions of alphabetical case and restrict the mapping to eight significant characters before the period.\" Failure to comply with this can cause ambiguous interpretation by C99-compatible compilers when the code is ported to other platforms.\nName header file names in compliance with the C99 standard, and make sure that each header file name is unique in your project.",
  "rule.saqt.q.ccpp.1421.example.0.dangerous": "Line 2: Pre_test.h header can be confused with above pre_test.h header.\nLine 4: When an header is identified by the first 8 characters, two headers can be considered as the same.\nLine 5: A number instead of character is used as an extension after a dot of header name.",
  "rule.saqt.q.ccpp.1421.example.0.safe": "Line 2: Name headers to be identified with different characters, not their cases.\nLine 4: Name headers to be identified by the first 8 characters.\nLine 5: Use a character instead of number as an extension.",
  "rule.saqt.q.ccpp.1421.name": "Duplicated header file name",
  "rule.saqt.q.ccpp.1421.option.allow_long_file_name.description": "Header file names longer than eight characters can have when set checkbox.",
  "rule.saqt.q.ccpp.1421.option.allow_long_file_name.name": "Allow long header file name",
  "rule.saqt.q.ccpp.1423.description": "The Improper conversion of string token checker finds instances of converting a string to an integer without using a conversion function that provides reliable error handling.\nThere are some string-to-integer conversion functions including strtol(), strtoll(), strtoul(), and strtoull(), among which you can select according to the type of the resulting value you need. These functions return an errno error code if the conversion is failed, thereby informing you of the reason for failure. If a conversion function such as sscanf() or atoi() is used instead, it is hard to be aware of conversion failure and the reason for it.\nUse strtol() or its equivalent for easy error handling.",
  "rule.saqt.q.ccpp.1423.example.0.dangerous": "Line 5: atoi() function is used to convert a string into an integer.\nLine 6: sscanf() function is used to convert a string into an integer.",
  "rule.saqt.q.ccpp.1423.example.0.safe": "Line 6: Use strtol() function to convert a string into an integer.\nLine 7: Use strtoull() function to convert a string into an integer.",
  "rule.saqt.q.ccpp.1423.name": "Improper conversion of string token",
  "rule.saqt.q.ccpp.1424.description": "The Missing exception handling for floating point errors checker finds instances of failure to handle possible errors following a floating-point operation.\nErrors during floating-point operations are often neglected and lead to undefined behavior.\nOnce a floating-point operation is performed, call a relevant error handling function such as fetestexcept() to check for floating-point errors.",
  "rule.saqt.q.ccpp.1424.example.0.dangerous": "Line 3: An error occurs on a value to store to variable due to mismatched representation scopes in types between a variable and value.\nLine 4: A division by zero occurs.",
  "rule.saqt.q.ccpp.1424.example.0.safe": "Line 1: Use feclearexcept() function to clear existing error information.\nLine 3: Use fetestexcept() function to check a floating point operation error.\nLine 5: Use feclearexcept() function to clear existing error information.\nLine 7: Use fetestexcept() function to check a floating point operation error.",
  "rule.saqt.q.ccpp.1424.name": "Missing exception handling for floating point errors",
  "rule.saqt.q.ccpp.1425.description": "The Use of pointer operation on field checker finds instances of performing an arithmetic operation such as addition on a pointer to a struct or class's member field.\nIt is dangerous to apply arithmetic operation on a pointer to a struct or class's member field in order to point to another field. This attempt is prone to pointing to a wrong location since you can neither predict how each different compiler will insert padding between fields, nor be assured that the fields members are arranged consecutively.\nMake sure that the fields of a struct or class are referenced by a direct pointer operation.",
  "rule.saqt.q.ccpp.1425.example.0.dangerous": "Line 7: A pointer addition is used for a pointer variable which references a field of struct.",
  "rule.saqt.q.ccpp.1425.example.0.safe": "Line 6: Do not use a pointer to reference a field of struct. If needed, directly reference a field name.",
  "rule.saqt.q.ccpp.1425.name": "Use of pointer operation on field",
  "rule.saqt.q.ccpp.1426.description": "The Improper file opening and creation checker finds attempts at opening a file without knowledge of whether the target file already exists or not.\nThe fopen() function is used to open an existing file or to create a new file. An imprudent call to fopen() makes it hard to find out whether the resulting file is an existing file opened or a newly created file. This may result in the program accessing an unintended file or overwriting an existing file.\nWhen calling fopen(), pass an appropriate argument to prevent an overwrite or use fopen() instead.",
  "rule.saqt.q.ccpp.1426.example.0.dangerous": "Line 3: A file is opened in w mode. You cannot identify which file you have opened when succeeding to open a file.",
  "rule.saqt.q.ccpp.1426.example.0.safe": "Line 3: Open the file in wx mode. Then, a function to open an earlier file will be failed.",
  "rule.saqt.q.ccpp.1426.name": "Improper file opening and creation",
  "rule.saqt.q.ccpp.1427.description": "The Storing returned pointer to non-const variable checker finds instances in which a pointer returned by one of certain standard library functions is stored in a mutable variable.\nThese functions include getenv(), asctime(), localeconv(), setlocale(), and strerror().\nFor example, a pointer returned by getenv() shall not be mutable, and the object being pointed to must not be modified by the program.\nIf such a returned pointer should be used several times, store it in a constant pointer variable so that the value stored in the memory location pointed to should not be modified.",
  "rule.saqt.q.ccpp.1427.example.0.dangerous": "Line 1: A return value of getenv() function is stored in a pointer.",
  "rule.saqt.q.ccpp.1427.example.0.safe": "Line 1: Use a constant pointer to store the return value of getenv().",
  "rule.saqt.q.ccpp.1427.name": "Storing returned pointer to non-const variable",
  "rule.saqt.q.ccpp.143.description": "The Variable declaration in loop checker finds instances of declaring an object in a loop.\nYou can optionally specify object types to be ignored and variable names to be ignored.\nA declaration of a local variable iterating in a for or while loop may affect memory. A local variable declaration placed in a loop can allocate many variables in memory, leading to performance degradation.\nDo not declare an object in a loop. ",
  "rule.saqt.q.ccpp.143.example.0.dangerous": "Line 3: Variable a is declared in for statement.",
  "rule.saqt.q.ccpp.143.example.0.safe": "Line 1: Declare the variable out of the loop, such as the for statement.",
  "rule.saqt.q.ccpp.143.name": "Variable declaration in loop",
  "rule.saqt.q.ccpp.143.option.ignore_type_list.description": "Set ignore types",
  "rule.saqt.q.ccpp.143.option.ignore_type_list.name": "Ignore types",
  "rule.saqt.q.ccpp.143.option.ignore_var_list.description": "Set ignore variables name",
  "rule.saqt.q.ccpp.143.option.ignore_var_list.name": "Ignore variables name",
  "rule.saqt.q.ccpp.1430.description": "The Code deletion during compiler optimization checker finds compiler optimizations that may remove code for clearing sensitive data, which may allow for exposure of sensitive data.\nSome compilers can remove code deemed unused or unneeded when building a program depending on the optimization level. An example of unexpected and unwanted compiler optimizations involves a memory overwrite designed to clear sensitive data from the memory. As the memory area is no longer accessed following the write, some compilers may consider this write code section meaningless and thus can remove it. This can lead to the sensitive data being left uncleared and exposed through memory dumps.\nMake adjustments of the compiler's optimization or take other measures to protect critical code sections from being optimized away.",
  "rule.saqt.q.ccpp.1430.example.0.dangerous": "Line 6: memset() function is used to clear data in pwd array. However, the statement can be removed in optimization.",
  "rule.saqt.q.ccpp.1430.example.0.safe": "Line 6: Disable compiler optimization to prevent important code from clearing.",
  "rule.saqt.q.ccpp.1430.name": "Code deletion during compiler optimization",
  "rule.saqt.q.ccpp.1431.description": "The Use of va_arg on indeterminated value checker finds instances in which a variadic function passes its va_list object as an argument to another function, but va_arg() is called within that function to cause the va_list to have an indeterminate value in the calling function.\nThe C standard provides a safe approach to reusing a va_list object after passing it to another function. If this approach is not followed and a variadic function passes its va_list object to another function which then invokes va_arg() and va_end(), the original function cannot take further use of the original va_list after the other function returns.\nIf the va_list object needs to be passed to another function, create a pointer to the va_list and pass that pointer instead. And if you want to traverse this object in the other function, use the va_copy() macro to make a copy of the list and traverses the copy instead.",
  "rule.saqt.q.ccpp.1431.example.0.dangerous": "Line 1: va_list object is passed by a variable argument function.\nLine 3: va_list object is used to va_arg() function. Then, the variable argument function which is called contains_zsero() cannot use a value of ap.",
  "rule.saqt.q.ccpp.1431.example.0.safe": "Line 1: Use a pointer to pass va_list object of the variable argument function between functions.\nLine 3: Copy an object pointed by va_list pointer by using va_copy() function, initialize another va_list object, then, use the object to traverse variable arguments.",
  "rule.saqt.q.ccpp.1431.name": "Use of va_arg on indeterminated value",
  "rule.saqt.q.ccpp.1432.description": "The Violation of constraints of extern inline function checker finds instances in which an extern inline function accesses an object whose scope is not as wide as the function.\nA function declared extern inline should not access static global variables or other kinds of objects whose scope is limited only to the source file they belong to. When an inline function is called, the compiler tries to insert the function's whole code at the point of the call, instead of calling it actually. And declaring a function extern means it is allowed to be used across different source files. Therefore, if an extern inline function's definition includes access to a file-scope object, the possibility of inserting the exact code of the function into another source file contradicts the function's definition itself.\nMake sure that an extern inline function does not access a static object. Any object accessed by an extern inline function should not be declared static.",
  "rule.saqt.q.ccpp.1432.example.0.dangerous": "Line 2: func() function is declared as extern inline.\nLine 3: An extern inline function accesses to a static global variable.",
  "rule.saqt.q.ccpp.1432.example.0.safe": "Line 2: Do not declare a static object to be used by an extern inline function.",
  "rule.saqt.q.ccpp.1432.name": "Violation of constraints of extern inline function",
  "rule.saqt.q.ccpp.1433.description": "The Non-standard character checker finds string literals that include a non-standard character.\nThe standard characters include alphabetical letters, numbers, ASCII special characters, space, backspace, tab, and newline.\nString literals including a non-standard character can cause issues with portability.\nMake sure that string literals include only standard characters.",
  "rule.saqt.q.ccpp.1433.example.0.dangerous": "Line 1: A non-standard character is used.",
  "rule.saqt.q.ccpp.1433.example.0.safe": "Line 1: Use standard characters only.",
  "rule.saqt.q.ccpp.1433.name": "Non-standard character",
  "rule.saqt.q.ccpp.1439.description": "The Unused Parameter checker finds unused function parameters.\nEach time a function is called, its parameters consume computing resources and stack memory even if they do nothing but exist. Especially, when a parameter is a struct or class object that cannot be stored in a pointer or integer register, each call to the function requires a copying of the object, thereby leading to greater resource consumption. Therefore, unused parameters in a function undermine performance unnecessarily.\nRemove unused parameters from function declarations.",
  "rule.saqt.q.ccpp.1439.example.0.dangerous": "Line 1: p2 parameter is found in f(), but not used.",
  "rule.saqt.q.ccpp.1439.example.0.safe": "Line 1: Remove the unused parameter.",
  "rule.saqt.q.ccpp.1439.name": "Unused Parameter",
  "rule.saqt.q.ccpp.144.description": "The Use of do-while statement checker finds do-while statements.\nUse a while statement instead of a do-while statement.",
  "rule.saqt.q.ccpp.144.example.0.dangerous": "Line 2: A do-while statement is used.",
  "rule.saqt.q.ccpp.144.example.0.safe": "Line 2: A while statement is used instead of the do-while.",
  "rule.saqt.q.ccpp.144.name": "Use of do-while statement",
  "rule.saqt.q.ccpp.1441.description": "The Backward goto Statement checker finds goto statements that jump to an earlier label.\nA complicated use of a goto statement makes it hard to understand the function's control flow. Using a goto to jump to a later label is just to skip some fragment of code and does not create a new cycle in the control-flow graph, which does not cause much confusion. Jumping to an earlier label, in contrast, brings a new unconditional cycle, making the function confusing.\nRefrain from using a goto statement. Most calculations imaginable can be implemented only using branches and loops without a goto. Even if a goto is necessary to simplify code that would be extremely complicated without it, avoid a backward goto that jumps to an earlier label.",
  "rule.saqt.q.ccpp.1441.example.0.dangerous": "Line 7: A goto statement jumps to predeclared L1 label. An infinite loop can occur in case of value above 10.",
  "rule.saqt.q.ccpp.1441.example.0.safe": "Line 7: A goto statement jumps to L2 label declared later. Then, no cycle has been generated in control flows.",
  "rule.saqt.q.ccpp.1441.name": "Backward goto Statement",
  "rule.saqt.q.ccpp.1442.description": "The Jump between Blocks checker finds goto statements that jump from one block of code into a different block.\nA jump into a different block makes the control-flow graph complicated and may undermine code integrity in the block. Typically, a code block is written to achieve a complete task in the assumption that the whole block will be run from the top down. A goto jump into the middle of a block, however, results in the code block run with the earlier lines skipped.\nUse a goto only within the same block or for purposes of escaping the current block.",
  "rule.saqt.q.ccpp.1442.example.0.dangerous": "Line 5: L1 label pointed by a goto statement is found in an unrelated block.",
  "rule.saqt.q.ccpp.1442.example.0.safe": "Line 5: A goto statement can be used to jump code by pointing a label in the same block, or escape the same block by pointing a label in a parent block.",
  "rule.saqt.q.ccpp.1442.name": "Jump between Blocks",
  "rule.saqt.q.ccpp.1444.description": "The Use of Variable-length Array in Struct checker finds structs that include a variable-length array as a member field.\nIf a struct contains a variable-length array, each object of the struct will have a different size, hence making its use difficult.\nDo not use a variable-length array as a member field in a struct. Use a fixed-length array instead; or declare a pointer, then assign a dynamically allocated array to that pointer.",
  "rule.saqt.q.ccpp.1444.example.0.dangerous": "Line 4: A variable length array is used as a member of struct.",
  "rule.saqt.q.ccpp.1444.example.0.safe": "Line 4: Use a pointer member, and add an expression to dynamically allocate an array. Then, it results the same as the variable length array.",
  "rule.saqt.q.ccpp.1444.name": "Use of Variable-length Array in Struct",
  "rule.saqt.q.ccpp.145.description": "The Use of == operator on floating point values checker finds instances of using the `==` or `!=` operator on floating-point numbers.\nComparison between floating-point numbers may not always function correctly.\nInstead of using the `==` operator, check whether the difference between two numbers falls within the error tolerance. For example, you can compare as follows:#define ERROR = 0.0001; if (fabs((0.1 + 0.2) - 0.3) <= ERROR) { ... }",
  "rule.saqt.q.ccpp.145.example.0.dangerous": "Line 2: == operation is used for variable f, and g of float type.",
  "rule.saqt.q.ccpp.145.example.0.safe": "Line 3: Do not use the == operation to compare float type values.",
  "rule.saqt.q.ccpp.145.name": "Use of == operator on floating point values",
  "rule.saqt.q.ccpp.1450.description": "The Illegible comment checker finds that a confusing string, such as /*, */, or //, is included in comments.\nEnsure that the string, such as /*, */, or //, is not included in comments. The strings, such as /*, */, or //, can be used to start or end the comments only.",
  "rule.saqt.q.ccpp.1450.example.0.dangerous": "Line 3: /* is used in comments, and lowered readability. It seems that a single comment is adding with /* */, however, the comments start from another line.",
  "rule.saqt.q.ccpp.1450.example.0.safe": "Line 3: Do not insert strings to lower readability.",
  "rule.saqt.q.ccpp.1450.name": "Illegible comment",
  "rule.saqt.q.ccpp.1450.option.check_header.description": "If the option is enabled, all comments in the header files will be checked.",
  "rule.saqt.q.ccpp.1450.option.check_header.name": "Inspect header files",
  "rule.saqt.q.ccpp.1450.option.forbidden_string_list.description": "Write a list of forbidden string in comments.<br />Example) /*,*/,//",
  "rule.saqt.q.ccpp.1450.option.forbidden_string_list.name": "Forbidden string",
  "rule.saqt.q.ccpp.1451.description": "The Different comment lengths checker finds instances that a multi line comment has different lengths.\nWhen you write the multi line comment, trim the comment lines to be aligned to a shape of square.",
  "rule.saqt.q.ccpp.1451.example.0.dangerous": "Line 2: Multi-line comments are checked by a default setting with /***...***/ denotation. Then, for readability, the length of comment lines can be checked. Here, each line has different lengths.",
  "rule.saqt.q.ccpp.1451.example.0.safe": "Line 1: Trim the comment lines to be aligned to a shape of square.",
  "rule.saqt.q.ccpp.1451.name": "Different comment lengths",
  "rule.saqt.q.ccpp.1451.option.start_end_comment.description": "Write start and end comments. Those are recognized comments which are collected by starting comments as one block comment.",
  "rule.saqt.q.ccpp.1451.option.start_end_comment.name": "Starting & end comment",
  "rule.saqt.q.ccpp.1452.description": "The Violation of format of comments checker finds instances that a single line comment is used with multiple line comment specified in option or vice versa.\nYou can optionally specify a comment type between a single line and multi line comment.\nEnsure to use the specified comment type.",
  "rule.saqt.q.ccpp.1452.example.0.dangerous": "Line 1: A single line comment with // is checked when multi-line comments is set.",
  "rule.saqt.q.ccpp.1452.example.0.safe": "Line 1: All comments are required to use '/*...*/' when multi-line comments is set.",
  "rule.saqt.q.ccpp.1452.name": "Violation of format of comments",
  "rule.saqt.q.ccpp.1452.option.use_single_comment.description": "If selected, '/*...*/' comments are detected.",
  "rule.saqt.q.ccpp.1452.option.use_single_comment.name": "Using only '//' comments.",
  "rule.saqt.q.ccpp.1453.description": "The Comment around code checker finds a comment included in the middle or top of a single line of code.\nPlace the comment at the end of the code, or to a separate line.",
  "rule.saqt.q.ccpp.1453.example.0.dangerous": "Line 5: A comment is found before counter++, which lowers readability.",
  "rule.saqt.q.ccpp.1453.example.0.safe": "Line 5: Put the comment to a separate line.",
  "rule.saqt.q.ccpp.1453.name": "Comment around code",
  "rule.saqt.q.ccpp.146.description": "The Unused user defined type on parameter checker finds instances in which a parameter in an optionally specified position is not declared as an allowed redefined data type.\nThe checker searches for a parameter that is not of a data type redefined using typedef. You can optionally specify allowable parameter types and parameter positions subject to checking.\nParameters in the optionally specified positions should be of a redefined data type.",
  "rule.saqt.q.ccpp.146.example.0.dangerous": "Line 1: The first argument of foo() function is not using a redefined type.",
  "rule.saqt.q.ccpp.146.example.0.safe": "Line 2: Use the redefined type for the specified argument.",
  "rule.saqt.q.ccpp.146.name": "Unused user defined type on parameter",
  "rule.saqt.q.ccpp.146.option.allowed_param_type.description": "Add allowed parameter type name",
  "rule.saqt.q.ccpp.146.option.allowed_param_type.name": "Allowed Parameter type name",
  "rule.saqt.q.ccpp.146.option.call_param_target.description": "Target parameter index",
  "rule.saqt.q.ccpp.146.option.call_param_target.name": "Target parameter index",
  "rule.saqt.q.ccpp.147.description": "The Returning non-constant value checker finds return statements in functions whose return value is not an optionally allowed constant.\nYou can optionally specify allowable constant values.\nHave return statements return an optionally allowed constant value.",
  "rule.saqt.q.ccpp.147.example.0.dangerous": "Line 2: A forbidden constant 2 is returned.",
  "rule.saqt.q.ccpp.147.example.0.safe": "Line 2: Return an optionally allowed constant, such as 0 or 1.",
  "rule.saqt.q.ccpp.147.name": "Returning non-constant value",
  "rule.saqt.q.ccpp.147.option.allowed_return_constant.description": "Allow to return constant if the constant satisfy below condition(Regular Expression)",
  "rule.saqt.q.ccpp.147.option.allowed_return_constant.name": "Allowed return constant",
  "rule.saqt.q.ccpp.147.option.check_constant_only.description": "Check only constant in return expression when the checkbox is checked.",
  "rule.saqt.q.ccpp.147.option.check_constant_only.name": "Check constant only",
  "rule.saqt.q.ccpp.149.description": "The Unused user defined type for return type checker finds functions whose return type is not an optionally allowed redefined data type.\nYou can optionally specify allowable data types, whether to check parameter, whether to check local scope, and whether to check global scope.\nMake sure functions' return types are optionally specified redefined data types.",
  "rule.saqt.q.ccpp.149.example.0.dangerous": "Line 1: A return value of foo() function is not using a redefined type.",
  "rule.saqt.q.ccpp.149.example.0.safe": "Line 2: Return the redefined type of the foo() function.",
  "rule.saqt.q.ccpp.149.name": "Unused user defined type for return type",
  "rule.saqt.q.ccpp.149.option.allowed_return_type.description": "Allow typedef name or not.",
  "rule.saqt.q.ccpp.149.option.allowed_return_type.name": "Allowed typedef name",
  "rule.saqt.q.ccpp.149.option.scope_target_global.description": "If selected, the analyzer will check in global scope.",
  "rule.saqt.q.ccpp.149.option.scope_target_global.name": "Target global scope",
  "rule.saqt.q.ccpp.149.option.scope_target_local.description": "If selected, the analyzer will check in local scope.",
  "rule.saqt.q.ccpp.149.option.scope_target_local.name": "Target local scope",
  "rule.saqt.q.ccpp.149.option.scope_target_parameter.description": "Check parameters",
  "rule.saqt.q.ccpp.149.option.scope_target_parameter.name": "Check parameters",
  "rule.saqt.q.ccpp.150.description": "The Use of character type checker finds char-type declarations except for declarations of char-type arrays.\nYou can optionally specify forbidden data types and scope of checking.\nDo not use optionally forbidden data types.",
  "rule.saqt.q.ccpp.150.example.0.dangerous": "Line 2: a is declared as char * type.",
  "rule.saqt.q.ccpp.150.example.0.safe": "Line 2: Declare a as char array-type.",
  "rule.saqt.q.ccpp.150.name": "Use of character type",
  "rule.saqt.q.ccpp.150.option.expand_typedef.description": "If selected, the analyzer will check typedef types.",
  "rule.saqt.q.ccpp.150.option.expand_typedef.name": "Check typedef types",
  "rule.saqt.q.ccpp.150.option.forbidden_type.description": "Set forbidden types.",
  "rule.saqt.q.ccpp.150.option.forbidden_type.name": "Forbidden types",
  "rule.saqt.q.ccpp.150.option.ignore_const.description": "If selected, the analyzer will ignore constants.",
  "rule.saqt.q.ccpp.150.option.ignore_const.name": "Ignore constant",
  "rule.saqt.q.ccpp.150.option.scope_target_global.description": "If selected, the analyzer will check in global scope.",
  "rule.saqt.q.ccpp.150.option.scope_target_global.name": "Check global scope",
  "rule.saqt.q.ccpp.150.option.scope_target_local.description": "If selected, the analyzer will check local variables.",
  "rule.saqt.q.ccpp.150.option.scope_target_local.name": "Check local variables",
  "rule.saqt.q.ccpp.150.option.scope_target_member.description": "If selected, the analyzer will check members.",
  "rule.saqt.q.ccpp.150.option.scope_target_member.name": "Check member",
  "rule.saqt.q.ccpp.150.option.scope_target_parameter.description": "Check parameters",
  "rule.saqt.q.ccpp.150.option.scope_target_parameter.name": "Check parameters",
  "rule.saqt.q.ccpp.150.option.type_target_array.description": "If selected, the analyzer will check array types.",
  "rule.saqt.q.ccpp.150.option.type_target_array.name": "Check array types",
  "rule.saqt.q.ccpp.150.option.type_target_pointer.description": "If selected, the analyzer will check pointer types.",
  "rule.saqt.q.ccpp.150.option.type_target_pointer.name": "Check pointer types",
  "rule.saqt.q.ccpp.150.option.type_target_signed.description": "If selected, the analyzer will check signed integer.",
  "rule.saqt.q.ccpp.150.option.type_target_signed.name": "Check signed integer",
  "rule.saqt.q.ccpp.150.option.type_target_typedef.description": "If selected, the analyzer will check typedef types.",
  "rule.saqt.q.ccpp.150.option.type_target_typedef.name": "Check typedef types",
  "rule.saqt.q.ccpp.150.option.type_target_unsigned.description": "If selected, the analyzer will check unsigned integer.",
  "rule.saqt.q.ccpp.150.option.type_target_unsigned.name": "Check unsigned integer",
  "rule.saqt.q.ccpp.151.description": "The Including duplicated header file checker finds instances in which duplicate header declarations are present in one file.\nYou can optionally specify files excluded from analysis.\nAvoid duplicate declarations in a header file.",
  "rule.saqt.q.ccpp.151.example.0.dangerous": "Line 2: Duplicate declaration is perform for def_win32.h.",
  "rule.saqt.q.ccpp.151.example.0.safe": "Line 1: Do not perform the duplicate declaration for the same header.",
  "rule.saqt.q.ccpp.151.name": "Including duplicated header file",
  "rule.saqt.q.ccpp.151.option.file_target_excluded.description": "Set up execluded files to analyze.",
  "rule.saqt.q.ccpp.151.option.file_target_excluded.name": "Excluded files to analyze",
  "rule.saqt.q.ccpp.152.description": "The Unused static variable checker finds static variables that are never used.\nUnused variables remain as logical errors in the program. Logical errors undermine source code readability and maintainability. Therefore, take care not to leave unused variables in the code.\nDo not declare unused static variables.",
  "rule.saqt.q.ccpp.152.example.0.dangerous": "Line 1: A static variable a is declared, but not used.",
  "rule.saqt.q.ccpp.152.example.0.safe": "Line 1: Remove the unused static variable.",
  "rule.saqt.q.ccpp.152.name": "Unused static variable",
  "rule.saqt.q.ccpp.153.description": "The Use of bit field type checker finds declarations of member variables that are of a bit-field type.\nBecause bit fields have certain implementation-defined properties, using them can pose issues.\nDo not use a bit-field type.",
  "rule.saqt.q.ccpp.153.example.0.dangerous": "Line 2: A bit-field type is declared for member variable a.",
  "rule.saqt.q.ccpp.153.example.0.safe": "Line 2: Do not declare the bit field type for the member variable, such as struct.",
  "rule.saqt.q.ccpp.153.name": "Use of bit field type",
  "rule.saqt.q.ccpp.154.description": "The Use of float type checker finds instances of declaring a floating-point type variable.\nYou can optionally specify forbidden data types and scope of checking.\nDo not use optionally forbidden data types.",
  "rule.saqt.q.ccpp.154.example.0.dangerous": "Line 1: A parameter variable flag is declared as float type.",
  "rule.saqt.q.ccpp.154.example.0.safe": "Line 1: Do not declare the forbidden type of parameter variable.",
  "rule.saqt.q.ccpp.154.name": "Use of float type",
  "rule.saqt.q.ccpp.154.option.expand_typedef.description": "If selected, the analyzer will check typedef types.",
  "rule.saqt.q.ccpp.154.option.expand_typedef.name": "Check typedef types",
  "rule.saqt.q.ccpp.154.option.forbidden_type.description": "Set forbidden types.",
  "rule.saqt.q.ccpp.154.option.forbidden_type.name": "Forbidden types",
  "rule.saqt.q.ccpp.154.option.ignore_const.description": "If selected, the analyzer will ignore constants.",
  "rule.saqt.q.ccpp.154.option.ignore_const.name": "Ignore constant",
  "rule.saqt.q.ccpp.154.option.scope_target_global.description": "If selected, the analyzer will check in global scope.",
  "rule.saqt.q.ccpp.154.option.scope_target_global.name": "Check global scope",
  "rule.saqt.q.ccpp.154.option.scope_target_local.description": "If selected, the analyzer will check local variables.",
  "rule.saqt.q.ccpp.154.option.scope_target_local.name": "Check local variables",
  "rule.saqt.q.ccpp.154.option.scope_target_member.description": "If selected, the analyzer will check members.",
  "rule.saqt.q.ccpp.154.option.scope_target_member.name": "Check member",
  "rule.saqt.q.ccpp.154.option.scope_target_parameter.description": "Check parameters",
  "rule.saqt.q.ccpp.154.option.scope_target_parameter.name": "Check parameters",
  "rule.saqt.q.ccpp.154.option.type_target_array.description": "If selected, the analyzer will check array types.",
  "rule.saqt.q.ccpp.154.option.type_target_array.name": "Check array types",
  "rule.saqt.q.ccpp.154.option.type_target_pointer.description": "If selected, the analyzer will check pointer types.",
  "rule.saqt.q.ccpp.154.option.type_target_pointer.name": "Check pointer types",
  "rule.saqt.q.ccpp.154.option.type_target_signed.description": "If selected, the analyzer will check signed integer.",
  "rule.saqt.q.ccpp.154.option.type_target_signed.name": "Check signed integer",
  "rule.saqt.q.ccpp.154.option.type_target_typedef.description": "If selected, the analyzer will check typedef types.",
  "rule.saqt.q.ccpp.154.option.type_target_typedef.name": "Check typedef types",
  "rule.saqt.q.ccpp.154.option.type_target_unsigned.description": "If selected, the analyzer will check unsigned integer.",
  "rule.saqt.q.ccpp.154.option.type_target_unsigned.name": "Check unsigned integer",
  "rule.saqt.q.ccpp.155.description": "The Use of extern or static specifier checker finds variable and function declarations that use the extren or static keyword.\nYou can optionally specify whether to check for extren, whether to check for static, and scope of checking.\nDo not use the extren or static keywords in the optionally specified scope.",
  "rule.saqt.q.ccpp.155.example.0.dangerous": "Line 1: static keyword is used to define a function.",
  "rule.saqt.q.ccpp.155.example.0.safe": "Line 1: Declare a normal type of function.",
  "rule.saqt.q.ccpp.155.name": "Use of extern or static specifier",
  "rule.saqt.q.ccpp.155.option.check_extern.description": "If the option is enabled, it will check extern variables or functions.",
  "rule.saqt.q.ccpp.155.option.check_extern.name": "Analyze global variables or functions",
  "rule.saqt.q.ccpp.155.option.check_static.description": "If the option is enabled, it will check static variables or functions.",
  "rule.saqt.q.ccpp.155.option.check_static.name": "Analyze static variables or functions",
  "rule.saqt.q.ccpp.155.option.scope_target_global.description": "If selected, the analyzer will check in global scope.",
  "rule.saqt.q.ccpp.155.option.scope_target_global.name": "Analyze in global scope",
  "rule.saqt.q.ccpp.155.option.scope_target_local.description": "If the option is enabled, the analyzer will check in local scope.",
  "rule.saqt.q.ccpp.155.option.scope_target_local.name": "Analyze in local scope",
  "rule.saqt.q.ccpp.156.description": "The Use of forbidden qualifier checker variable declarations that use an optionally forbidden qualifier.\nYou can optionally specify forbidden qualifiers and scope of checking.\nDo not use optionally forbidden qualifiers.",
  "rule.saqt.q.ccpp.156.example.0.dangerous": "Line 2: A forbidden modifier is used.",
  "rule.saqt.q.ccpp.156.example.0.safe": "Line 2: Declare a general variable without the forbidden modifier.",
  "rule.saqt.q.ccpp.156.name": "Use of forbidden qualifier",
  "rule.saqt.q.ccpp.156.option.forbidden_qualifiers.description": "Set up forbidden qualifiers. If you want set up multiple qualifier, use comma(,).<br /> Ex) const, volatile",
  "rule.saqt.q.ccpp.156.option.forbidden_qualifiers.name": "Forbidden qualifier",
  "rule.saqt.q.ccpp.156.option.scope_target_global.description": "If the option is enabled, global variables will be checked.",
  "rule.saqt.q.ccpp.156.option.scope_target_global.name": "Check global variable",
  "rule.saqt.q.ccpp.156.option.scope_target_local.description": "If the option is enabled, local variables will be checked.",
  "rule.saqt.q.ccpp.156.option.scope_target_local.name": "Check local variable",
  "rule.saqt.q.ccpp.156.option.scope_target_parameter.description": "If selected, parameters will be checked.",
  "rule.saqt.q.ccpp.156.option.scope_target_parameter.name": "Check parameter",
  "rule.saqt.q.ccpp.157.description": "The Too many functions checker finds instances in which the number of function definitions exceed the optionally specified per-file count.\nYou can optionally the maximum allowed number of function definitions per file.\nDo not define more functions than the optionally specified count.",
  "rule.saqt.q.ccpp.157.example.0.dangerous": "Line 9: Functions are defined more than optionally specified count.",
  "rule.saqt.q.ccpp.157.example.0.safe": "Line 4: Define the optionally specified count of functions within a file.",
  "rule.saqt.q.ccpp.157.name": "Too many functions",
  "rule.saqt.q.ccpp.157.option.maximum_func.description": "Write maximum functions count in a file.",
  "rule.saqt.q.ccpp.157.option.maximum_func.name": "Maximum functions in a file.",
  "rule.saqt.q.ccpp.1572.description": "The Improper file input and output checker finds instances of reading and writing the same file alternately without intermediate adjustments between the read and write operations, such as buffer flushing or cursor relocation.\nOn files open for update, both input and output operations are allowed. However, an input operation should not be immediately followed by an output operation, and vice versa. Because it is hard to control where the cursor points to in the file, such consecutive read and write operations can damage the file's integrity or cause an attempt at reading at the end of the file (EOF). Also, a read immediately following a write can occur before the buffer is written to the file, possibly leading to an unpredictable result.\nOnce a write is done, the buffer shall be flushed (fflush) before it is followed by a read; and before a switch between a read and a write in either direction, the buffer shall be repositioned (fseek, etc.).",
  "rule.saqt.q.ccpp.1572.example.0.dangerous": "Line 19: fwrite() function is used to write on a file.\nLine 22: fwrite() function is used to read on a file without clearing buffers.",
  "rule.saqt.q.ccpp.1572.example.0.safe": "Line 21: Call fseek() function between reading and writing to move a file position. Then, you can avoid a problem with the unexpected EOF.",
  "rule.saqt.q.ccpp.1572.name": "Improper file input and output",
  "rule.saqt.q.ccpp.158.description": "The Missing definition of declared function checker finds instances in which a function is declared but remains not defined in a file.\nYou can optionally specify whether to check extren functions.\nA function's declaration must be followed by its definition. Undefined functions cannot be used, thus making the code less readable and maintainable.\nMake sure that declared functions are subsequently defined.",
  "rule.saqt.q.ccpp.158.example.0.dangerous": "Line 1: A declared foo() function is defined.",
  "rule.saqt.q.ccpp.158.example.0.safe": "Line 2: Define the declared function within the same file.",
  "rule.saqt.q.ccpp.158.name": "Missing definition of declared function",
  "rule.saqt.q.ccpp.158.option.include_extern.description": "Analyze extern functions if a checkbox below is checked.",
  "rule.saqt.q.ccpp.158.option.include_extern.name": "Check extern functions",
  "rule.saqt.q.ccpp.1587.description": "The Use of bitwise operation on boolean type checker finds bitwise operations performed on a boolean value.\nSome coding references such as MISRA-C adopt 'boolean by enforcement', and C90, which has no explicit boolean data type, also allows applying this rule by redefining a boolean-like type. The checker regards redefined types with a case-insensitive substring of 'bool' included in their name as boolean types.\nBoolean types are designed to indicate whether the value is true or false, regardless of their bitwise representation. Therefore, instead of a bitwise operation, which is affected by internal implementation, it is recommended to use a logical operation, which evaluates to true or false.\nUse a logical operation instead of a bitwise operation on boolean values.",
  "rule.saqt.q.ccpp.1587.example.0.dangerous": "Line 6: A bitwise operation is performed between booleans in C90 where bool_t is considered as boolean.",
  "rule.saqt.q.ccpp.1587.example.0.safe": "Line 6: Do not perform a bitwise operation on a boolean.",
  "rule.saqt.q.ccpp.1587.name": "Use of bitwise operation on boolean type",
  "rule.saqt.q.ccpp.159.description": "The Multiple declarations of different types in single line checker finds instances of declaring different data types on the same line.\nThe checker reports an error if variables of different data types (pointer and base types) are declared on the same line.\nInspect arguments passed to functions to prevent their misuse and conform to APIs. A misuse of an argument may cause an unexpected program behavior.\nDo not declare different data types on the same line.",
  "rule.saqt.q.ccpp.159.example.0.dangerous": "Line 1: Both pCh and pChNew is respectively declared as char * type and char type.",
  "rule.saqt.q.ccpp.159.example.0.safe": "Line 1: If both are intended to declared as char *, clarify that they are pointer types.",
  "rule.saqt.q.ccpp.159.name": "Multiple declarations of different types in single line",
  "rule.saqt.q.ccpp.160.description": "The Including forbidden header file checker finds instances in which an optionally forbidden header file is included.\nYou can optionally specify forbidden header files.\nDo not use optionally forbidden header files.",
  "rule.saqt.q.ccpp.160.example.0.dangerous": "Line 1: A forbidden header file MIS14_A.h is included.",
  "rule.saqt.q.ccpp.160.example.0.safe": "Line 1: Do not use the forbidden header file.",
  "rule.saqt.q.ccpp.160.name": "Including forbidden header file",
  "rule.saqt.q.ccpp.160.option.forbidden_header.description": "Set up forbidden headers",
  "rule.saqt.q.ccpp.160.option.forbidden_header.name": "Forbidden headers",
  "rule.saqt.q.ccpp.1600.description": "The Exposure of structure of type checker finds header files in which the members of an object such as a struct are fully visible.\nAbstract data types are not restricted to object-oriented languages such as C++ and Java. They should be created and used in C language programs as well. Before writing a program, it is recommended to well decide which information is to be publicly declared in headers and which information is to be hidden in individual source files.\nAs for structs, it is preferable to leave only their prototype declarations in header files and hide their detailed implementations in individual source files.",
  "rule.saqt.q.ccpp.1600.example.0.dangerous": "Line 2: Inner members of string_mx struct is configured in string_m.h header file. Inner structure has been exposed to source files with the header.",
  "rule.saqt.q.ccpp.1600.example.0.safe": "Line 2: Declare a prototype only for structure abstraction.",
  "rule.saqt.q.ccpp.1600.name": "Exposure of structure of type",
  "rule.saqt.q.ccpp.1601.description": "The Returning null array checker finds functions that contain both a statement that returns an array object and a statement that returns null.\nA function that returns null instead of an empty array can expose vulnerabilities when used in a client code that cannot handle null properly. This can result in an abnormal termination of the program.\nIf a function defined to return an array does not need to return an array of specific values in some context, it is recommended to return an empty array instead of null.",
  "rule.saqt.q.ccpp.1601.example.0.dangerous": "Line 31: A null is returned instead of an empty array.",
  "rule.saqt.q.ccpp.1601.example.0.safe": "Line 31: Return an empty array instead of a null.",
  "rule.saqt.q.ccpp.1601.name": "Returning null array",
  "rule.saqt.q.ccpp.1602.description": "The Assignment of local address to upper scope checker finds instances of assigning the address of a variable at a lower level of scope to a variable at a higher level.\nThe address of a local variable is no longer valid once the function ends, even if it is assigned to a higher-level variable.\nDo not assign the address of a local variable to a variable at a higher level of scope.",
  "rule.saqt.q.ccpp.1602.example.0.dangerous": "Line 6: An address of local variable a is assigned to a global variable global_ptr.",
  "rule.saqt.q.ccpp.1602.example.0.safe": "Line 6: Do not assign a local variable address to a variable of parent scope.",
  "rule.saqt.q.ccpp.1602.name": "Assignment of local address to upper scope",
  "rule.saqt.q.ccpp.1603.description": "The Inappropriate including method of file checker finds instances in which a standard library header is not included using <> or a non-standard library header is not included using \"\".\nUsing the pair of \"\" or <> tells the compiler where to search for the header file first. Typically, <> instructs the compiler to first search where the standard library is stored under the shared directory, while \"\" directs the compiler to first look into the present directory containing the source file or the project directories. Therefore, these two symbol pairs need to be distinguished from one another.\nInclude standard library headers using <> and other headers using \"\".",
  "rule.saqt.q.ccpp.1603.example.0.dangerous": "Line 1: A standard library header stdio.h is included with quotation marks.",
  "rule.saqt.q.ccpp.1603.example.0.safe": "Line 1: Use angle brackets instead of question marks to include a standard library header stdio.h.",
  "rule.saqt.q.ccpp.1603.name": "Inappropriate including method of file",
  "rule.saqt.q.ccpp.1603.option.c_library.description": "Set C standard libraries.",
  "rule.saqt.q.ccpp.1603.option.c_library.name": "Standard libraries for C",
  "rule.saqt.q.ccpp.1603.option.cpp_library.description": "Set C++ standard libraries",
  "rule.saqt.q.ccpp.1603.option.cpp_library.name": "Standard libraries for C++",
  "rule.saqt.q.ccpp.1604.description": "The Executable statement before first case statement checker finds executable code written in a switch statement above the first case label.\nCode written in a switch statement above the first case label is dead code that can never be reached.\nIn a switch block must come a case label at the beginning.",
  "rule.saqt.q.ccpp.1604.example.0.dangerous": "Line 3: An executable statement is required before the first case label.",
  "rule.saqt.q.ccpp.1604.example.0.safe": "Line 3: No executable statement is required before the first cast label.",
  "rule.saqt.q.ccpp.1604.name": "Executable statement before first case statement",
  "rule.saqt.q.ccpp.161.description": "The Use of absolute path for inclusion checker finds instances in which a header file is included with an absolute path.\nHeader files must not be included with an absolute path.\nNever use an absolute path when including a header file.",
  "rule.saqt.q.ccpp.161.example.0.dangerous": "Line 1: A header file is included with an absolute path.",
  "rule.saqt.q.ccpp.161.example.0.safe": "Line 1: Do not include the header file with the absolute path.",
  "rule.saqt.q.ccpp.161.name": "Use of absolute path for inclusion",
  "rule.saqt.q.ccpp.162.description": "The Missing header file checker finds instances in which an optionally specified necessary header file is not included.\nThe checker searcher for a missing inclusion of a specified header file.\nMake sure optionally specified necessary header files are included.",
  "rule.saqt.q.ccpp.162.example.0.dangerous": "Line 1: A required header file is included.",
  "rule.saqt.q.ccpp.162.example.0.safe": "Line 1: Include the header file defined as required.",
  "rule.saqt.q.ccpp.162.name": "Missing header file",
  "rule.saqt.q.ccpp.162.option.check_all_missing_only.description": "Check all missing only",
  "rule.saqt.q.ccpp.162.option.check_all_missing_only.name": "Check all missing only",
  "rule.saqt.q.ccpp.162.option.required_header.description": "Set headers required",
  "rule.saqt.q.ccpp.162.option.required_header.name": "Header required",
  "rule.saqt.q.ccpp.163.description": "The Improper structure alignment checker finds structs that have a size not multiple of the defined alignment size.\nYou can optionally specify whether to use alignment, alignment size, and the size of each data type.\nMake sure optionally specified structs have a size multiple of the defined alignment size.",
  "rule.saqt.q.ccpp.163.example.0.dangerous": "Line 1: Size (5) of a defined struct is not matched with a defined alignment (4).",
  "rule.saqt.q.ccpp.163.example.0.safe": "Line 1: Define the struct size with a multiple of the alignment.",
  "rule.saqt.q.ccpp.163.name": "Improper structure alignment",
  "rule.saqt.q.ccpp.163.option.alignment_size.description": "Set up alignment size",
  "rule.saqt.q.ccpp.163.option.alignment_size.name": "alignment size",
  "rule.saqt.q.ccpp.163.option.char_size.description": "Set up char type size.",
  "rule.saqt.q.ccpp.163.option.char_size.name": "char type size",
  "rule.saqt.q.ccpp.163.option.float_size.description": "Set up float type size.",
  "rule.saqt.q.ccpp.163.option.float_size.name": "float type size",
  "rule.saqt.q.ccpp.163.option.int_size.description": "Set up int type size.",
  "rule.saqt.q.ccpp.163.option.int_size.name": "int type size",
  "rule.saqt.q.ccpp.163.option.short_size.description": "Set up short type size.",
  "rule.saqt.q.ccpp.163.option.short_size.name": "short type size",
  "rule.saqt.q.ccpp.163.option.use_alignment.description": "If selected, alignment may be allowed.",
  "rule.saqt.q.ccpp.163.option.use_alignment.name": "Use alignment",
  "rule.saqt.q.ccpp.164.description": "The Padded structure checker finds struct definitions that include padding bits.\nYou can optionally specify whether to use alignment, alignment size, and the size of each data type.\nWhen defining a struct, the padding must be minimized.",
  "rule.saqt.q.ccpp.164.example.0.dangerous": "Line 3: A padding bit is found in a struct.A short and an int variable declaration has been executed in this order, thus, 2 bit padding occurs after a declaration.",
  "rule.saqt.q.ccpp.164.example.0.safe": "Line 3: Declare the short variables first, no padding occurs.",
  "rule.saqt.q.ccpp.164.name": "Padded structure",
  "rule.saqt.q.ccpp.164.option.alignment_size.description": "Set up alignment size",
  "rule.saqt.q.ccpp.164.option.alignment_size.name": "alignment size",
  "rule.saqt.q.ccpp.164.option.char_size.description": "Set up char type size.",
  "rule.saqt.q.ccpp.164.option.char_size.name": "char type size",
  "rule.saqt.q.ccpp.164.option.float_size.description": "Set up float type size.",
  "rule.saqt.q.ccpp.164.option.float_size.name": "float type size",
  "rule.saqt.q.ccpp.164.option.int_size.description": "Set up int type size.",
  "rule.saqt.q.ccpp.164.option.int_size.name": "int type size",
  "rule.saqt.q.ccpp.164.option.short_size.description": "Set up short type size.",
  "rule.saqt.q.ccpp.164.option.short_size.name": "short type size",
  "rule.saqt.q.ccpp.164.option.use_alignment.description": "If selected, alignment may be allowed.",
  "rule.saqt.q.ccpp.164.option.use_alignment.name": "Use alignment",
  "rule.saqt.q.ccpp.165.description": "The Too big structure checker finds struct definitions whose size exceeds the optionally specified maximum struct size.\nYou can optionally specify maximum struct size, whether to use alignment, alignment size, and the size of each data type.\nWhen defining a struct, make sure its size does not exceed the optionally specified maximum struct size. ",
  "rule.saqt.q.ccpp.165.example.0.dangerous": "Line 1: Size (12) of a defined struct is exceeding an optionally specified size (10).",
  "rule.saqt.q.ccpp.165.example.0.safe": "Line 1: Define the struct size to comply with the specified size.",
  "rule.saqt.q.ccpp.165.name": "Too big structure",
  "rule.saqt.q.ccpp.165.option.alignment_size.description": "Set up alignment size",
  "rule.saqt.q.ccpp.165.option.alignment_size.name": "alignment size",
  "rule.saqt.q.ccpp.165.option.char_size.description": "Set up char type size.",
  "rule.saqt.q.ccpp.165.option.char_size.name": "char type size",
  "rule.saqt.q.ccpp.165.option.float_size.description": "Set up float type size.",
  "rule.saqt.q.ccpp.165.option.float_size.name": "float type size",
  "rule.saqt.q.ccpp.165.option.int_size.description": "Set up int type size.",
  "rule.saqt.q.ccpp.165.option.int_size.name": "int type size",
  "rule.saqt.q.ccpp.165.option.max_size.description": "Set up maximum size of a structure.",
  "rule.saqt.q.ccpp.165.option.max_size.name": "Maximum size",
  "rule.saqt.q.ccpp.165.option.short_size.description": "Set up short type size.",
  "rule.saqt.q.ccpp.165.option.short_size.name": "short type size",
  "rule.saqt.q.ccpp.165.option.use_alignment.description": "If selected, alignment may be allowed.",
  "rule.saqt.q.ccpp.165.option.use_alignment.name": "Use alignment",
  "rule.saqt.q.ccpp.1651.description": "The Unreachable case statement checker finds unreachable case labels in switch statements.\nUnreachable case labels may have likely been written by mistake. Their presence also undermines the readability of code.\nRemove unreachable case labels.",
  "rule.saqt.q.ccpp.1651.example.0.dangerous": "Line 12: A case label of -1 is found in switch statements with condition of an unsigned int value. An unreachable code occurs as the unsigned value cannot be -1.",
  "rule.saqt.q.ccpp.1651.example.0.safe": "Line 12: Remove the case.",
  "rule.saqt.q.ccpp.1651.name": "Unreachable case statement",
  "rule.saqt.q.ccpp.1654.description": "The Mismatched number of variable arguments checker finds instances in which the variable arguments taken by a format string function and the corresponding format specifiers are not equal in number.\nA format string function takes format specifiers such as \"%s\" in its format string and is passed with variable arguments that are to substitute for those specifiers.\nIf the number of format specifiers and the number of variable arguments are not equal, abnormal behavior may occur.\nWhen calling a function that takes variable arguments, make sure that it is passed with the same number of arguments as the number of format specifiers therein.",
  "rule.saqt.q.ccpp.1654.example.0.dangerous": "Line 3: Three conversion indicators are found in printf() function with one argument.",
  "rule.saqt.q.ccpp.1654.example.0.safe": "Line 3: Ensure that the number of conversion indicators and arguments are matched.",
  "rule.saqt.q.ccpp.1654.name": "Mismatched number of variable arguments",
  "rule.saqt.q.ccpp.1654.option.targets.description": "Describe target functions and index of conversion specifiation. The index starts with zero. The format should be <the name of target function>,<index>. For example printf() has a conversion specification at index 0.",
  "rule.saqt.q.ccpp.1654.option.targets.name": "Target function to analyze",
  "rule.saqt.q.ccpp.166.description": "The Use of remainder operation checker finds modulo operations (%).\nYou can optionally specify whether to apply an exception in case the modulo operation is preceded by a division operation performed on the same operands.\nDo not use modulo operations.",
  "rule.saqt.q.ccpp.166.example.0.dangerous": "Line 4: A modulo operation is used.",
  "rule.saqt.q.ccpp.166.example.0.safe": "Line 4: Perform the modulo by a division with the same statement.\nLine 5: Perform the modulo operation after the division.",
  "rule.saqt.q.ccpp.166.name": "Use of remainder operation",
  "rule.saqt.q.ccpp.166.option.exclude_follow_by_same_division.description": "Exclude the expression that there exists a division expression with same operands of the modular expression before the expression.<br />Example : v1 = a / b; v2 = a % b;",
  "rule.saqt.q.ccpp.166.option.exclude_follow_by_same_division.name": "Exceptional case of modular operation",
  "rule.saqt.q.ccpp.167.description": "The Dividing on signed value checker finds division operations whose dividend or divisor is of a signed integer type.\nFor a division operation, both the dividend and divisor must be of an unsigned integer type.",
  "rule.saqt.q.ccpp.167.example.0.dangerous": "Line 4: The expression is divided with a signed integer i.",
  "rule.saqt.q.ccpp.167.example.0.safe": "Line 4: Divide with unsigned integer variables only.",
  "rule.saqt.q.ccpp.167.name": "Dividing on signed value",
  "rule.saqt.q.ccpp.168.description": "The Missing comparison of return value checker finds if, while, and for statements in which a test expression calls an integer-returning function as an operand but without a comparison operator.\nIn a branch or loop statement, if a function's return value is not or improperly compared with an integer, the program may behave unexpectedly.\nIf a function returning an integer type is called as an operand in a test expression of a conditional statement, a comparison operator also must be called in the expression.",
  "rule.saqt.q.ccpp.168.example.0.dangerous": "Line 3: 0 is returned by foo() function.\nLine 5: 1 is returned by foo() function.\nLine 7: -1 is returned by foo() function.\nLine 8: A return value of foo() is not compared in foo2(). This may result in an unexpected behavior.",
  "rule.saqt.q.ccpp.168.example.0.safe": "Line 8: Compare the return value with a correct value.",
  "rule.saqt.q.ccpp.168.name": "Missing comparison of return value",
  "rule.saqt.q.ccpp.169.description": "The Mismatched operand types checker finds using an assignment (=) or comparison operator on operands of different integer types.\nYou can optionally specify whether to analyze hexadecimal constants.\nComparison of different integer types requires a cast. Since an incorrect cast results in the comparison operation returning a wrong value, a correct cast must be performed in the comparison operation.\nWhen performing a comparison or assignment operation on integers, make sure the operands are of the same type.",
  "rule.saqt.q.ccpp.169.example.0.dangerous": "Line 3: The right-hand integer of comparison operation is casted.",
  "rule.saqt.q.ccpp.169.example.0.safe": "Line 3: Perform a cast on the left-hand operand for comparison operation.",
  "rule.saqt.q.ccpp.169.name": "Mismatched operand types",
  "rule.saqt.q.ccpp.169.option.ignore_hexadecimal_const.description": "If selected, the analyzer ignore hexadecimal constants.",
  "rule.saqt.q.ccpp.169.option.ignore_hexadecimal_const.name": "Ignore hexadecimal constants",
  "rule.saqt.q.ccpp.1691.description": "The Conflicting storage class checker finds instances in which the same function or object has both external and static linkage.\nA function having both external and static linkage is undefined. Such code may output different results depending on compilers and thus is unpredictable.\nMake sure one single function or object has one single storage class.",
  "rule.saqt.q.ccpp.1691.example.0.dangerous": "Line 1: foo() function is declared with an external link.\nLine 2: Number variable is declared with an external link.\nLine 4: Number variable is defined as static. Then, the variable is different from declaration of Line 2.\nLine 5: foo() function is defined with a static link. Then, the variable is different from declaration of Line 1.",
  "rule.saqt.q.ccpp.1691.example.0.safe": "Line 4: Define the number variable to use a storage class as declared.\nLine 5: Define the foo() function to use a storage class as declared.",
  "rule.saqt.q.ccpp.1691.name": "Conflicting storage class",
  "rule.saqt.q.ccpp.1692.description": "The Uninitialized pointer as read-only parameter checker finds instances of passing a pointer to an uninitialized variable to a const-qualified parameter.\nOnce a pointer is passed to a const-qualified parameter, the pointed-to variable cannot change its value in the function. If this variable is not yet initialized, it will cause program malfunctions and this situation is not likely to be intended by the developer.\nBefore passing a pointer to an immutable parameter, be sure to initialize the pointed-to variable to a suitable value.",
  "rule.saqt.q.ccpp.1692.example.0.dangerous": "Line 6: An uninitialized value, y2, is passed to a read-only argument of call_uinit_foo() function.",
  "rule.saqt.q.ccpp.1692.example.0.safe": "Line 7: Initialize a value sent to the function as a read-only argument.",
  "rule.saqt.q.ccpp.1692.name": "Uninitialized pointer as read-only parameter",
  "rule.saqt.q.ccpp.171.description": "The Inconsistent global variable declaration checker finds instances of failure to use the extern keyword when an already declared global variable's name is reused.\nIf identically named global variables are used across multiple files, they will override the same memory area. This may result in an unexpected program behavior.\nIf you need to reuse a variable that has been declared global in another file, use the extern keyword.",
  "rule.saqt.q.ccpp.171.example.0.dangerous": "Line 2: A variable with the same name as a global variable declared on Line 9 in sum.c file is declared as another type.",
  "rule.saqt.q.ccpp.171.example.0.safe": "Line 2: Use a global variable in multiple files as the same type with extern modifier in headers.",
  "rule.saqt.q.ccpp.171.name": "Inconsistent global variable declaration",
  "rule.saqt.q.ccpp.173.description": "The Mismatched character type checker finds instance of failure to pass the correct data types of char and wchar_t to str handling functions (e.g., strncpy) and wcs handling functions (e.g., wcsncpy), respectively.\nThe checker reports a defect if a function such as strncpy() that handles narrow character strings receives any argument that is not of a type from char *, or a function such as wcsncpy() that handles wide character strings receives any argument that is not of a type from wchar_t *. You can optionally specify string functions and wide string functions subject to checking. \nIt is an undefined behavior to pass a narrow string to wcsncpy() or pass a wide string to strncpy(). Also, wide strings may be terminated with a null wide character and contain nulls between the characters that make them up. Therefore, passing a null-terminated wide character to strncpy() may result a wrong value returned.\nDo not mix up the char and wchar_t types when passing arguments to an str- or wcs-handling function.",
  "rule.saqt.q.ccpp.173.example.0.dangerous": "Line 2: A string array is defined as wchar_t type.\nLine 4: A different type of strncpy() function is used to copy wchar_t type strings.\nLine 8: A string array is defined as wchar_t type.\nLine 9: A different type of function is used.",
  "rule.saqt.q.ccpp.173.example.0.safe": "Line 4: Use wcsncpy() function for wchar_t type.\nLine 9: Use strncpy() function for char type.",
  "rule.saqt.q.ccpp.173.name": "Mismatched character type",
  "rule.saqt.q.ccpp.173.option.str_function.description": "Set up functions for string.",
  "rule.saqt.q.ccpp.173.option.str_function.name": "Functions for string",
  "rule.saqt.q.ccpp.173.option.wcs_function.description": "Set up functions for wide-character string.",
  "rule.saqt.q.ccpp.173.option.wcs_function.name": "Functions for wide-character string",
  "rule.saqt.q.ccpp.174.description": "The Mismatched reallocated type checker finds instances of assigning the return of a realloc() call in which the first argument of the function and the assignee variable (left-hand operand to point to the allocated memory) have different struct types.\nThe checker searches for an assignment performed on the return of a realloc() call wherein the first argument in the call is of a different type from that of the left-hand operand.\nWhen reallocating memory to a struct object, if the object passed to realloc() and the left-hand operand differ in data type, the members of the struct may be incorrectly initialized. This may result in an unexpected program behavior.\nEnsure data type match when calling realloc().",
  "rule.saqt.q.ccpp.174.example.0.dangerous": "Line 15: Struct value of Exam1 type is copied to Exam2 through realloc() function. This may cause invalid initialization on struct members.",
  "rule.saqt.q.ccpp.174.example.0.safe": "Line 13: To allocate memory to the struct through the realloc(), use structs of the same type.",
  "rule.saqt.q.ccpp.174.name": "Mismatched reallocated type",
  "rule.saqt.q.ccpp.180.description": "The Missing break statement in case statement checker finds case statements that do not end with a break statement.\nInstead of a break, you can use a return, continue, or goto.\nIf a break statement is missing in a switch statement, an unintended case can be executed, causing an unexpected program behavior or error.\nMake sure each case statement contains a break, goto, continue, or return.",
  "rule.saqt.q.ccpp.180.example.0.dangerous": "Line 6: When case statements do not include a break, the next case statement is executed. Thus, when a = 2, case 2 and case 3 are executed.",
  "rule.saqt.q.ccpp.180.example.0.safe": "Line 6: Add a break to the case statements in consideration of a program flow.",
  "rule.saqt.q.ccpp.180.name": "Missing break statement in case statement",
  "rule.saqt.q.ccpp.1835.description": "The Use of multidimensional array checker finds arrays whose dimensions exceed the optionally specified dimension level.\nYou can optionally specify the maximum allowed number of array dimensions.\nHigh-dimensional arrays undermine code maintainability and readability.\nDo not use high-dimensional arrays.",
  "rule.saqt.q.ccpp.1835.example.0.dangerous": "Line 1: A two-dimensional array is used.",
  "rule.saqt.q.ccpp.1835.example.0.safe": "Line 1: Use an one-dimensional array.",
  "rule.saqt.q.ccpp.1835.name": "Use of multidimensional array",
  "rule.saqt.q.ccpp.1835.option.threshold.description": "Set array level to be forbidden. If you set \"2\", the analyzer will detect defects when it meet arrays over two level.",
  "rule.saqt.q.ccpp.1835.option.threshold.name": "Array level to be forbidden.",
  "rule.saqt.q.ccpp.1836.description": "The Declaration at middle of block checker finds instances of declaring a variable in the middle of a block, instead of in the beginning lines.\nAs an exception, labels and empty statements can precede variable declarations. You can optionally set whether to support Proframe and specify variable names exempt from checking.\nOld C compilers cause errors if variable declarations are not placed at the top of a block. Although most of the modern compilers are not affected by where variables are declared in a block, it is still preferable to put those declarations in the beginning part of the block to ensure good code portability.\nPlace variable declarations at the top of the code block.",
  "rule.saqt.q.ccpp.1836.example.0.dangerous": "Line 2: A variable x is declared at the start of function block.\nLine 4: A variable y is declared at the start of if statement block.\nLine 6: A variable z is declared after if statements.",
  "rule.saqt.q.ccpp.1836.example.0.safe": "Line 3: Declare variable z at the start of function block.",
  "rule.saqt.q.ccpp.1836.name": "Declaration at middle of block",
  "rule.saqt.q.ccpp.1836.option.ignore_var_name.description": "If selected, The analyzer will ignore declaration statement which match the names.",
  "rule.saqt.q.ccpp.1836.option.ignore_var_name.name": "Variable name to ignore",
  "rule.saqt.q.ccpp.1836.option.support_proframe.description": "If the option is enabled, more accurate analyses for proframe can be expected.",
  "rule.saqt.q.ccpp.1836.option.support_proframe.name": "Proframe assistance",
  "rule.saqt.q.ccpp.1837.description": "The Use of function in condition of if statement checker finds conditional statements that include a function other than those optionally specified.\nYou can optionally specify functions that can be used in a conditional statement.\nCalling a function within a conditional statement undermines code readability.\nDo not use functions in a conditional statement.",
  "rule.saqt.q.ccpp.1837.example.0.dangerous": "Line 1: A function call is used in if conditional statements.",
  "rule.saqt.q.ccpp.1837.example.0.safe": "Line 1: Break out the function call from if statements.",
  "rule.saqt.q.ccpp.1837.name": "Use of function in condition of if statement",
  "rule.saqt.q.ccpp.1837.option.ignore_function_list.description": "Input the allowed functions in the if statement using regex expression.",
  "rule.saqt.q.ccpp.1837.option.ignore_function_list.name": "Allowed function list.",
  "rule.saqt.q.ccpp.1840.description": "The String comparison via == and != operators checker finds instances of using a direct comparison operator (== or !=) to compare strings.\nA direct comparison operator (e.g. == or !=) should not be used to compare strings.\nVariables that store strings have addresses. Such direct comparison is performed on those addresses, not their values, hence always evaluating to false.\nTo compare strings, use a string comparison function instead.",
  "rule.saqt.q.ccpp.1840.example.0.dangerous": "Line 3: Comparison is performed between string variables. This is always evaluated to false.",
  "rule.saqt.q.ccpp.1840.example.0.safe": "Line 4: Use strcpy() or strncpy() in C, and compare() of string in C++.",
  "rule.saqt.q.ccpp.1840.name": "String comparison via == and != operators",
  "rule.saqt.q.ccpp.185.description": "The Assignment of character type to integer type checker finds instances of converting an int type to a char type.\nConversion from int to char discards values out of the range of the char type.\nIf a value of a 4-byte int type is stored into a variable of a 1-byte char type, some bits are cut off from the value, possibly resulting in a different value from the original one. This may lead to a malfunction or buffer overrun.\nDo not convert int types to char types; such conversion may cut off unstorable bits.",
  "rule.saqt.q.ccpp.185.example.0.dangerous": "Line 3: A int type variable or value is specified to a 1 byte char type variable, which can be caused by an overflow.",
  "rule.saqt.q.ccpp.185.example.0.safe": "Line 2: Modify the variable into an accurate int type.",
  "rule.saqt.q.ccpp.185.name": "Assignment of character type to integer type",
  "rule.saqt.q.ccpp.185.option.unsigned_signed_char_as_int.description": "Unsigned char, signed char as integer",
  "rule.saqt.q.ccpp.185.option.unsigned_signed_char_as_int.name": "Unsigned char, signed char as integer",
  "rule.saqt.q.ccpp.187.description": "The Non-decimal integer constant checker finds instances of integer constants that are defined of a non-decimal numeral system.\nIt is risky to define an integer constant of a positional system such as octal or hexadecimal because the result may vary with the executing system.\nOctal and hexadecimal representations are used for bitwise operations. However, failure to count the number of bits may lead to an unexpected operation. For example, if a total of 32 bits are represented in a hexadecimal variable but the variable's actual type is 64 bits wide, an operation on it will produce an unexpected output. It may also result in a buffer overrun.\nIntegers must be represented in decimal.",
  "rule.saqt.q.ccpp.187.example.0.dangerous": "Line 1: A variable is defined as a 32 bit hexadecimal representation.\nLine 3: If an unsigned long type is 64 bit, then mask is assigned with 0x00000000FFFFFFFF. This causes an unexpected result.",
  "rule.saqt.q.ccpp.187.example.0.safe": "Line 1: Use -1 instead of 0xFFFFFFFF, which is more compatible.",
  "rule.saqt.q.ccpp.187.name": "Non-decimal integer constant",
  "rule.saqt.q.ccpp.1889.description": "The Accessing local variable address checker finds instances in which the address of a local variable is referenced from outside the function.\nIf a parameter is passed by reference into a function and the reference or pointer points to the address of a local variable therein, the reference is no longer valid once the function ends, triggering this issue.\nThis issue may allow for unintended behavior or termination of the program.\nDo not assign a local variable's address to an external pointer.",
  "rule.saqt.q.ccpp.1889.example.0.dangerous": "Line 4: An address of local variable y is pointed by a pointer of argument x.",
  "rule.saqt.q.ccpp.1889.example.0.safe": "Line 3: Use an address dynamically assigned to a heap instead of stack for an externally passed argument.",
  "rule.saqt.q.ccpp.1889.name": "Accessing local variable address",
  "rule.saqt.q.ccpp.189.description": "The Mismatched number of arguments checker finds instances in which the number of parameters defined in a function and the number of arguments passed in a call to the function are different. \n.\nThe GCC compilers usually report an error when the number of arguments passed in a call differs from the defined number. However, some other compilers do not support checking for argument count and thus will fail to find this sort of error. Passing a wrong number of arguments may cause an unexpected program behavior.\nMake sure the parameters defined and the arguments passed match in number. ",
  "rule.saqt.q.ccpp.189.example.0.dangerous": "Line 1: One argument is defined in foo() function.\nLine 5: Two arguments are used to call the foo().",
  "rule.saqt.q.ccpp.189.example.0.safe": "Line 5: Use the number of arguments to call the function as much as defined.",
  "rule.saqt.q.ccpp.189.name": "Mismatched number of arguments",
  "rule.saqt.q.ccpp.190.description": "The Reused tokenized string checker finds instances in which the first argument passed in a call to the strtok() function is reused.\nThe strtok() function is used to split a string into words. In a call to strtok(), the token in the source string is replaced with a null.\nSince strtok() changes part of the source string, using a string that has ever been passed to the function may cause an unexpected result. This issue arises because strtok() does not behave in a straightforward way.\nDo not reuse a variable that has ever been passed as the first argument for strtok(). If it needs to be reused, pass a copy of the source text to strtok().",
  "rule.saqt.q.ccpp.190.example.0.dangerous": "Line 1: A string is entered to split a token.\nLine 3: \"-\" is used as a separator of the token. But, a source command has been changed.\nLine 8: A command different from the source is printed.",
  "rule.saqt.q.ccpp.190.example.0.safe": "Line 5: If the source string needs to be reused, do not use the source, but a temporary buffer string as an argument of strtok().",
  "rule.saqt.q.ccpp.190.name": "Reused tokenized string",
  "rule.saqt.q.ccpp.191.description": "The Symbolic link race condition checker finds instances of accessing a file in reliance solely on the return from a call to lstat() on it.\nAlthough lstat() serves to determine the symlink status of a file, its determination based on the path of the file may be inaccurate. It is because if a file is manipulated after checked for symlink status, a subsequent call to open() on it can lead to an unintended action. Therefore, you should call open() first to secure the file and then call fstat() to get accurate information from the file before determining subsequent actions.\nDo not rely solely on lstat(). Call lstat() to check a file's status, call open() to open the file, and then check if a call to fstat() returns the same result as the earlier call to lstat().",
  "rule.saqt.q.ccpp.191.example.0.dangerous": "Line 6: File information is saved in lstat_info struct.\nLine 9: A non-symbolic file is opened.\nLine 15: A TOCTOU race condition is occurring by modifying the file without checking its states.",
  "rule.saqt.q.ccpp.191.example.0.safe": "Line 7: Call lstat() with the file name.\nLine 10: Open the file with open() function.\nLine 14: Open the file states with fstat() function.\nLine 17: Modify the file after matching it with link information from the lstat() function.",
  "rule.saqt.q.ccpp.191.name": "Symbolic link race condition",
  "rule.saqt.q.ccpp.1914.description": "The Direct assignment of physical address to function pointer checker finds instances of directly assigning an address value to a function pointer.\nDo not directly assign an address value to a function pointer. The same function may not always be found at the same memory address.\nThis could lead to a crash, or an attacker may alter the memory at the expected address, leading to arbitrary code execution.\nDo not directly assign an address value to a function pointer.",
  "rule.saqt.q.ccpp.1914.example.0.dangerous": "Line 1: A hardware address is entered to a function pointer.",
  "rule.saqt.q.ccpp.1914.example.0.safe": "Line 6: Do not enter the hardware address to the function pointer. Use a declared function name to assign a function address.",
  "rule.saqt.q.ccpp.1914.name": "Direct assignment of physical address to function pointer",
  "rule.saqt.q.ccpp.193.description": "The Asynchronous thread termination checker finds pthreads calls in which the cancellation type is set to PTHREAD_CANCEL_ASYNCHRONOUS.\nIf a thread is asynchronously terminated, a program crash, resource leak, or other unexpected behaviors may occur.\nIn pthreads calls, do not set the cancellation type to PTHREAD_CANCEL_ASYNCHRONOUS.",
  "rule.saqt.q.ccpp.193.example.0.dangerous": "Line 5: PTHREAD_CANCEL_ASYNCHRONOUS is used to specify pthread cancel type.\nLine 11: Multiple threads are executed by a loop, and not terminated before pthread_setcanceltype() function is called.",
  "rule.saqt.q.ccpp.193.example.0.safe": "Line 3: Do not use PTHREAD_CANCEL_ASYNCHRONOUS to fix a race condition with pthread_mutex_lock and pthread_mutex_unlock, then terminate the pthread.",
  "rule.saqt.q.ccpp.193.name": "Asynchronous thread termination",
  "rule.saqt.q.ccpp.193.option.pthread_cancel_type.description": "Write a actual value for PTHREAD_CALCEL_TYPE macro",
  "rule.saqt.q.ccpp.193.option.pthread_cancel_type.name": "Actual value for PTHREAD_CALCEL_TYPE macro",
  "rule.saqt.q.ccpp.194.description": "The Assigning instead of comparing checker finds code that performs assignment operation instead of comparison to calculate conditions.\nThis occurs when an assignment operator, such as `=`, is unexpectedly used instead of a comparison operator, such as `==`. Once the code is written this way, such mistakes are not easy to locate although the program behaves unintendedly.\nDo not use an assignment operator with comparison operators.",
  "rule.saqt.q.ccpp.194.example.0.dangerous": "Line 2: A null is supposed to be compared with a, but actually assigned to a.",
  "rule.saqt.q.ccpp.194.example.0.safe": "Line 2: Use a comparison operator for conditional statements.",
  "rule.saqt.q.ccpp.194.name": "Assigning instead of comparing",
  "rule.saqt.q.ccpp.195.description": "The Assigning instead of comparing checker finds instances of using a comparison operation in a place where an assignment operation is supposed to be.\nThe checker reports for a comparison operator, such as `==`, misplaced instead of an assignment operator, such as `=`.\nUsing a wrong operator may lead to an unexpected control flow of the program.\nDo not use a comparison operator in a place of an assignment operator.",
  "rule.saqt.q.ccpp.195.example.0.dangerous": "Line 3: 5 is supposed to be assigned to variable a, but actually compared with it.",
  "rule.saqt.q.ccpp.195.example.0.safe": "Line 3: Use the intended operator.",
  "rule.saqt.q.ccpp.195.name": "Assigning instead of comparing",
  "rule.saqt.q.ccpp.1951.description": "The Non-virtual pure function checker finds instances that a pure function is not declared as virtual.\nUnless a pure function is declared as virtual, it cannot be compiled.\nThus, an compilation error occurs.\nDeclare the pure function as virtual.",
  "rule.saqt.q.ccpp.1951.example.0.dangerous": "Line 5: A pure virtual function is not declared as virtual. This is incorrect in C++.",
  "rule.saqt.q.ccpp.1951.example.0.safe": "Line 5: Unless a pure function is declared as virtual,",
  "rule.saqt.q.ccpp.1951.name": "Non-virtual pure function",
  "rule.saqt.q.ccpp.1952.description": "The Improper initialization of pure virtual function checker finds instances that a pure virtual function is not initialize to zero.\nUnless the pure virtual function must be initialized to zero, it cannot be compiled.\nThus, an compilation error occurs.\nEnsure to initialize the pure virtual function to zero.",
  "rule.saqt.q.ccpp.1952.example.0.dangerous": "Line 5: It seems to declare a pure virtual function, but incorrect.",
  "rule.saqt.q.ccpp.1952.example.0.safe": "Line 5: Append '= 0' to declare a pure virtual function.",
  "rule.saqt.q.ccpp.1952.name": "Improper initialization of pure virtual function",
  "rule.saqt.q.ccpp.196.description": "The Mismatched types of function definition and declaration checker finds mismatches in type name between a function declaration and its definition.\nIn C/C++ programming, even if a function's declaration and definition are of differently named types, the two types may be compatible with one another. However, it is typically an undefined behavior to declare and define a function with different types. Such code may output different results depending on compilers and thus is unpredictable.\nA function must be declared and defined with the same type.",
  "rule.saqt.q.ccpp.196.example.0.dangerous": "Line 3: Argument types between definition and declaration are not identical; int and SINT32.",
  "rule.saqt.q.ccpp.196.example.0.safe": "Line 3: Use an identical type name in definition and declaration.",
  "rule.saqt.q.ccpp.196.name": "Mismatched types of function definition and declaration",
  "rule.saqt.q.ccpp.198.description": "The Inadequate value of argument of memcpy checker finds instances in which a call to sizeof() on a pointer or compound expression is passed to a function such as memcpy().\nYou can optionally specify which functions and argument positions are to be checked. \nProgrammers often pass a pointer to sizeof() in expectation of getting the pointer's type size, but it returns the pointer's size. And passing a compound expression to sizeof() may result in an unexpected value or an error. It is because the result of a call to sizeof is evaluated at compile time while a compound expression with variables evaluates at runtime.|\nIf a sizeof() call is to be passed to a function such as memcpy(), do not put a pointer or compound expression in sizeof().",
  "rule.saqt.q.ccpp.198.example.0.dangerous": "Line 5: A pointer variable is used as an argument of sizeof operation.\nLine 6: An expression is used as an argument of sizeof operation.",
  "rule.saqt.q.ccpp.198.example.0.safe": "Line 5: Use the variable as the argument of sizeof().\nLine 6: Use the expression out of the sizeof().",
  "rule.saqt.q.ccpp.198.name": "Inadequate value of argument of memcpy",
  "rule.saqt.q.ccpp.198.option.call_param_target_in_function.description": "Target function and parameter index",
  "rule.saqt.q.ccpp.198.option.call_param_target_in_function.name": "Target function and parameter index",
  "rule.saqt.q.ccpp.200.description": "The Redundant name checker finds instances in which a local variable and a static variable are given the same name.\nIf a local variable and a static variable use the same name, the local variable may remain unused and only the static variable is used, causing confusion to the program. In addition, this practice undermines code readability.\nTake care not to give the same name to local and static variables.",
  "rule.saqt.q.ccpp.200.example.0.dangerous": "Line 3: A local variable is declared with the identical name of a static variable.",
  "rule.saqt.q.ccpp.200.example.0.safe": "Line 3: Rename the local or the static variable with another name.",
  "rule.saqt.q.ccpp.200.name": "Redundant name",
  "rule.saqt.q.ccpp.201.description": "The Missing return type checker finds functions with an undefined return type.\nThe checker reports for a missing definition of a function's return type. GCC compilers regard a function's undefined return type as int. However, it is recommended to explicitly define functions' return types.\nMake sure the return type is defined in each function definition.",
  "rule.saqt.q.ccpp.201.example.0.dangerous": "Line 1: A function is considered with int return type in GCC. But, a float type is returned.",
  "rule.saqt.q.ccpp.201.example.0.safe": "Line 1: Explicitly define the return type of the function.",
  "rule.saqt.q.ccpp.201.name": "Missing return type",
  "rule.saqt.q.ccpp.2010.description": "The Empty while Statement checker finds while statements that contain no body code.\nA while statement with no body block is not meaningful. Furthermore, if its conditional expression is true, it can fall into an infinite loop.\nDo not leave a while statement empty.",
  "rule.saqt.q.ccpp.2010.example.0.dangerous": "Line 3: Body of while statements is empty.",
  "rule.saqt.q.ccpp.2010.example.0.safe": "Line 4: Do not empty the body of while statements.",
  "rule.saqt.q.ccpp.2010.name": "Empty while Statement",
  "rule.saqt.q.ccpp.2011.description": "The Use of Hexadecimal Escape Sequence checker finds expressions that use an hexadecimal escape sequence.\nA backslash followed by three digits from 0 through 7 is considered an hexadecimal escape sequence.\nHandling hexadecimal escape sequences is an implementation-defined behavior, which can be implemented differently depending on the compiler. For example, an hexadecimal escape sequence can, depending on the following numerical digits, be expressed either as a single hexadecimal number or as an hexadecimal number followed by a decimal integer. Unaware of this possibility, developers may use an incorrect constant value.\nDo not use hexadecimal escape sequences.",
  "rule.saqt.q.ccpp.2011.example.0.dangerous": "Line 3: An hexadecimal escape sequences is used.",
  "rule.saqt.q.ccpp.2011.example.0.safe": "Line 3: Do not use the hexadecimal escape sequences.",
  "rule.saqt.q.ccpp.2011.name": "Use of Hexadecimal Escape Sequence",
  "rule.saqt.q.ccpp.204.description": "The Trailing semicolon at macro definition checker finds macro definitions whose replacement text ends with a semicolon.\nYou can optionally specify the names of the functions to be excluded from analysis.\nA semicolon is unnecessary at the end of a macro definition. A carelessly put semicolon at the end of a macro definition may unintentionally alter the program's flow. Because a semicolon may be unnecessary where a macro is invoked, semicolons must be eliminated in macro definitions.\nDo not put a semicolon at the end of a macro definition. ",
  "rule.saqt.q.ccpp.204.example.0.dangerous": "Line 1: A defined macro ADD is ended with a semicolon.",
  "rule.saqt.q.ccpp.204.example.0.safe": "Line 1: Do not end the macro ADD with the semicolon.",
  "rule.saqt.q.ccpp.204.name": "Trailing semicolon at macro definition",
  "rule.saqt.q.ccpp.204.option.exclude_macro.description": "Setup macros excluded",
  "rule.saqt.q.ccpp.204.option.exclude_macro.name": "Macro excluded",
  "rule.saqt.q.ccpp.205.description": "The Use of improper macro checker finds macros that include misplaced parentheses in their expressions or that are used like functions.\nThe checker finds macro declarations in which a constant or parameter is not parenthesized or an assignment statement or a function call occurs.\nAlthough macros behave in the same way as functions, they differ semantically. For example, an operation on two function-like macros may result in an unexpected behavior. Therefore, instead of using a macro like a function, change the macro to an inline or static function.\nA macro declaration should properly parenthesize constants and parameters therein and must not contain an assignment statement or a function call.",
  "rule.saqt.q.ccpp.205.example.0.dangerous": "Line 1: A macro and function is defined together.\nLine 1: A macro is not enclosed with parentheses.\nLine 4: If the macro is applied, then this line is evaluated into (((24+(a))*(a))*(a)). This will produce an unexpected output.",
  "rule.saqt.q.ccpp.205.example.0.safe": "Line 1: Replace the macro with inline() function.\nLine 6: Add parentheses in order to use a macro.",
  "rule.saqt.q.ccpp.205.name": "Use of improper macro",
  "rule.saqt.q.ccpp.206.description": "The Replacing secure function checker finds macro declarations that use the name of a forbidden function.\nForbidden functions include: asctime(), asctime_s(), atof(), strtod(), atoi(), strtol(), atol(), strtol(), atoll(), strtoll(), ctime(), ctime_s(), gets(), gets_s(), fopen(), fmemopen|open_memstream(), fopen_s(), freopen(), freopen_s(), rewind(), fseek(), setbuf(), vsetbuf(), strtok(), strtok_r(), strtok_s(), vsprintf(), vsnprintf(), strcpy(), strcpy_s(), strcat(), and strcat_s(). \nIf a macro contains a call to a forbidden function, it is no use to define it with a safe function name. It has potential risks leading to errors such as a buffer overrun. Naming a macro after a forbidden function also poses a vulnerability. It is because an implementation of the forbidden function can invoke insecure standard functions.\nAvoid the name of a forbidden function when declaring a macro.",
  "rule.saqt.q.ccpp.206.example.0.dangerous": "Line 1: vsnprintf() and vsprintf() functions are forbidden to use as a macro name.",
  "rule.saqt.q.ccpp.206.example.0.safe": "Line 1: Redefine a function between ifdef and endif not to use a function forbidden or unsupported by the system.",
  "rule.saqt.q.ccpp.206.name": "Replacing secure function",
  "rule.saqt.q.ccpp.208.description": "The Unbracketed macro including multiple statements checker finds macro definitions that span multiple lines but are not encompassed by a do-while statement.\nMacros whose definition is not enclosed in braces can unexpectedly behave when executed. If a macro with an unbraced multiline definition is placed in an unbraced if statement, only part of the macro will be executed.\nMacro definitions containing multiple statements must be encompassed by a do-while statement.",
  "rule.saqt.q.ccpp.208.example.0.dangerous": "Line 6: Macro CAL() is containing two lines. But, only Line 2 (X=X+Y) is included in if statements.",
  "rule.saqt.q.ccpp.208.example.0.safe": "Line 1: Enclose the macro of multiple statements with do-while statements.",
  "rule.saqt.q.ccpp.208.name": "Unbracketed macro including multiple statements",
  "rule.saqt.q.ccpp.209.description": "The Duplicated macro checker finds duplicate declarations of macros.\nKeep avoiding duplicate declarations of macros.",
  "rule.saqt.q.ccpp.209.example.0.dangerous": "Line 1: A macro size is declared.\nLine 4: Duplicate declaration is found for the same macro.",
  "rule.saqt.q.ccpp.209.example.0.safe": "Line 1: Declare the macro only once.",
  "rule.saqt.q.ccpp.209.name": "Duplicated macro",
  "rule.saqt.q.ccpp.209.option.exclude_macro.description": "Setup macros excluded",
  "rule.saqt.q.ccpp.209.option.exclude_macro.name": "Macro excluded",
  "rule.saqt.q.ccpp.211.description": "Incorrect byte orders checker detects code that does not use ntohl() to convert data received by the function recv() or does not use htonl() to covert data sent by the function send().\nDifferent system structures use different byte orders, such as little endian or big endian. When transferring data between different systems, the byte order must be considered. htonl(), htons(), ntohl(), and ntohs() match the network byte order to the host byte order. Failure to match the byte order can lead to inaccurate results.\nMake sure to use the alignment functions appropriately to ensure that data is sent using the correct byte order.",
  "rule.saqt.q.ccpp.211.example.0.dangerous": "Line 3: num data is received by recv().\nLine 7: num data is used with its byte order unchanged.",
  "rule.saqt.q.ccpp.211.example.0.safe": "Line 6: Convert the data received by recv() by using ntohl().",
  "rule.saqt.q.ccpp.211.name": "Incorrect byte orders",
  "rule.saqt.q.ccpp.212.description": "The Locking already locked resource checker finds attempts to lock an already locked resource.\nA lock is used to prevent an important resource from being used by multiple users simultaneously. If a resource is locked multiple times, the same number of unlocks are required to release it. Remaining locks on important resources keep them unavailable, thus possibly making users keep waiting for those resources. This may result in performance degradation and an unexpected behavior.\nWhen locking a resource, check whether it is already locked.",
  "rule.saqt.q.ccpp.212.example.0.dangerous": "Line 8: A mutex is locked.\nLine 11: The locked mutex is locked again, which causes an error.",
  "rule.saqt.q.ccpp.212.example.0.safe": "Line 10: Ensure to unlock a mutex before locking.",
  "rule.saqt.q.ccpp.212.name": "Locking already locked resource",
  "rule.saqt.q.ccpp.213.description": "The Double unlocked resource checker finds attempts to unlock an already unlocked resource.\nA lock is used to prevent an important resource from being used by multiple users simultaneously. Redundant unlocks cause an overhead that inspect an already available resource. This may result in a program crash or other unexpected behaviors.\nMake sure already unlocked resources are not unlocked again. ",
  "rule.saqt.q.ccpp.213.example.0.dangerous": "Line 9: pthread_mutex_unlock() is found to unlock a mutex in if statements.\nLine 11: Another unlocking is performed, which causes an error.",
  "rule.saqt.q.ccpp.213.example.0.safe": "Line 10: Ensure not to perform double unlocks on the same mutex.",
  "rule.saqt.q.ccpp.213.name": "Double unlocked resource",
  "rule.saqt.q.ccpp.219.description": "The Trylocking already locked resource checker finds calls to pthread_mutex_trylock() targeted at an already locked resource.\nA lock is used to prevent an important resource from being used by multiple users simultaneously. But attempts of trylock on an already locked resource fail.\nBefore a locked resource is locked by pthread_mutex_trylock(), it must be unlocked by pthread_mutex_unlock().",
  "rule.saqt.q.ccpp.219.example.0.dangerous": "Line 8: A mutex is locked.\nLine 11: pthread_mutex_trylock() is trying to lock the locked mutex, then returning EBUSY.",
  "rule.saqt.q.ccpp.219.example.0.safe": "Line 13: Use trylock for an unlocked mutex.Modify the pthread_mutex_trylock() to lock resources unless it does not return EBUSY.",
  "rule.saqt.q.ccpp.219.name": "Trylocking already locked resource",
  "rule.saqt.q.ccpp.220.description": "The Inadequate value of file descriptor checker finds calls to file- and socket-handling functions that pass a negative number.\nThe checker searches calls to the following functions:__fxstat(), _dup(), _dup2(), _fdopen(), _fstat(), _fstat32(), _fstat32i64(), _fstat64(), _fstat64i32(), _fstati64(), _lseek(), _lseeki64(), _read(), _wfdopen(), _write(), accept(), bind(), close(), closesocket(), connect(), dup(), dup2(), fcntl(), fdopen(), fpathconf(), fstat(), fstatfs(), fsync(), ftruncate(), ioctl(), ioctlsocket(), listen(), lseek(), read(), readv(), recv(), recvfrom(), recvmsg(), send(), sendmsg(), unlinkat(), write(), writev().\nIf a file or socket function is passed with a negative number as its descriptor, the program may behave in an unexpected way.\nFile or socket functions should not be passed with a negative number. ",
  "rule.saqt.q.ccpp.220.example.0.dangerous": "Line 4: -1 can be returned if code fails to call open() function.\nLine 5: An error occurs if argument fd used to call write() is a negative.",
  "rule.saqt.q.ccpp.220.example.0.safe": "Line 3: Check that return values of the open() is a negative.",
  "rule.saqt.q.ccpp.220.name": "Inadequate value of file descriptor",
  "rule.saqt.q.ccpp.221.description": "The Too large stack size checker finds instances of allocating an oversized buffer on the stack.\nBuffers larger than the specified size can cause a stack overflow.\nMake sure buffers allocated on the stack are no larger than 65535 bytes.",
  "rule.saqt.q.ccpp.221.example.0.dangerous": "Line 2: The size of an array exceeds the specified size, 65535.",
  "rule.saqt.q.ccpp.221.example.0.safe": "Line 2: Set the size less than the specified bytes.",
  "rule.saqt.q.ccpp.221.name": "Too large stack size",
  "rule.saqt.q.ccpp.221.option.max_stack_variable_size.description": "Specify the maximum size of the stack variable.",
  "rule.saqt.q.ccpp.221.option.max_stack_variable_size.name": "Maximum size of the stack variable",
  "rule.saqt.q.ccpp.222.description": "The Ineffective function call checker finds instances in which a function call does not affect the flow of the program at all.\nYou can optionally specify struct names excluded from analysis. \nIn a call to a function such as memset(), if the length argument assumes another value than a length by the programmer's mistake, the function cannot work as expected. Therefore, argument values must be in accordance with the function definition.\nMake sure that functions are called with correct argument values.",
  "rule.saqt.q.ccpp.222.example.0.dangerous": "Line 3: An argument to set the length in memset() function is specified as '\\0'. This value has been changed into '10'.",
  "rule.saqt.q.ccpp.222.example.0.safe": "Line 3: Specify the argument to set the length.",
  "rule.saqt.q.ccpp.222.name": "Ineffective function call",
  "rule.saqt.q.ccpp.222.option.excluded_structure.description": "Write a list of excluded structure names.",
  "rule.saqt.q.ccpp.222.option.excluded_structure.name": "List of excluded structure names",
  "rule.saqt.q.ccpp.2280.description": "The Assignment of Local Variable Address to Wide-scoped Variable checker find that expressions assign local variable addresses to variables at wide scope.\nThe variable at wide scope indicates a global variable, and others.\nLocal variables are not valid when their functions get terminated. However, even then, variables at wide scope may use the local variables. Then, the program may behave unexpectedly.\nDo not assign local variables to variables at wide scopes.",
  "rule.saqt.q.ccpp.2280.example.0.dangerous": "Line 1: A pointer global variable is declared.\nLine 5: The address of a local variable is assigned to a pointer global variable.",
  "rule.saqt.q.ccpp.2280.example.0.safe": "Line 2: Declare the pointer local variable.\nLine 4: Assign the address value of local variable to the pointer local variable.",
  "rule.saqt.q.ccpp.2280.name": "Assignment of Local Variable Address to Wide-scoped Variable",
  "rule.saqt.q.ccpp.2353.description": "The String Allocation to Invalid Type checker finds instances that a string is allocated to an object other than const char pointer.\nAn undefined action can occur by changing a string literal. For example, some implementation can store the string literal to read-only memory. However, an exception or conflict can occur by changing the string literal.\nEnsure to allocate a string to const char pointer only.",
  "rule.saqt.q.ccpp.2353.example.0.dangerous": "Line 3: A string is initialized to a char pointer.\nLine 6: A string is assigned to a char pointer.\nLine 18: A string argument calls a function of char pointer.\nLine 24: A return type is a char pointer: a string is used for return value.",
  "rule.saqt.q.ccpp.2353.example.0.safe": "Line 3: Initialize a string to a const char pointer.\nLine 6: Assign a string to a const char pointer.\nLine 18: Use a string argument to call a function of const char pointer.\nLine 24: A return type is a const char pointer: use a string for return value.",
  "rule.saqt.q.ccpp.2353.name": "String Allocation to Invalid Type",
  "rule.saqt.q.ccpp.2382.description": "The Changed loop control variable in condition or increment or decrement clause checker finds for loops in which a loop control variable is changed in the condition or increment clause.\nA loop control variable herein refers to a variable present in a for loop's control section, other than the loop counter. This variable should not be initialized in the initialization clause and must stay unchanged in the increment clause.\nIf a loop control variable changes in the increment or condition clause, it undermines code readability and makes it hard to predict the result of the code.\nTake care not to have loop control variables changed in the increment or condition clause.",
  "rule.saqt.q.ccpp.2382.example.0.dangerous": "Line 14: A loop control variable, bool_a, can be changed.",
  "rule.saqt.q.ccpp.2382.example.0.safe": "Line 14: Ensure that the loop control variable is not changed by condition or increase/decrease statements.",
  "rule.saqt.q.ccpp.2382.name": "Changed loop control variable in condition or increment or decrement clause",
  "rule.saqt.q.ccpp.2383.description": "The Non-boolean Loop Control Variable checker finds instances in which a loop control variable is changed in the body block of the loop but is not a boolean type.\nA loop control variable herein refers to a variable present in a for loop's control section, other than the loop counter. This variable should not be initialized in the initialization clause and must stay unchanged in the increment clause.\nA loop control variable is typically used to terminate the loop earlier. Therefore, if the loop control variable is a boolean type, its purpose can be more easily understood.\nBe sure to declare loop control variables as a boolean type.",
  "rule.saqt.q.ccpp.2383.example.0.dangerous": "Line 10: A value is assigned to a loop control variable u8a included in a loop. The variable is not boolean.",
  "rule.saqt.q.ccpp.2383.example.0.safe": "Line 10: Convert the loop control variable u8a to boolean, then, assign a value.",
  "rule.saqt.q.ccpp.2383.name": "Non-boolean Loop Control Variable",
  "rule.saqt.q.ccpp.2384.description": "The Use of continue in Unusually-formed for Loop checker finds instances of using a continue statement in a for loop which is not well formed.\nAn unusually-formed for loop herein refers to a loop subject to either of the following cases: The loop counter is a non-integer type or there are more than once loop counter used. A loop control variable other than the loop counter is not of the Boolean type.\nMisused continue statement in an unusually-formed for loop can cause an unintended control flow. This may lead to an infinite loop, terminating the process.\nDo not use a continue in a for loop unless it is well formed. Modify the source code to ensure the for loop behaves as intended without a continue.",
  "rule.saqt.q.ccpp.2384.example.0.dangerous": "Line 5: A continue statement is used in unstructured for statements.",
  "rule.saqt.q.ccpp.2384.example.0.safe": "Line 5: Do not use a continue in a for loop unless it is well formed.",
  "rule.saqt.q.ccpp.2384.name": "Use of continue in Unusually-formed for Loop",
  "rule.saqt.q.ccpp.2385.description": "The Internal-Linkage Function without Static Storage Class checker finds instances in which a function is declared with internal linkage but later defined without applying the static storage class specifier to its redeclaration.\nA function declared with the static storage class specifier already has internal linkage. If the same specifier is not applied to the function's redeclaration when it is defined, it may cause confusion to developers.\nIf a function has internal linkage, then all redeclarations need to include the static storage class specifier.",
  "rule.saqt.q.ccpp.2385.example.0.dangerous": "Line 1: A function is declared to include a static storage class.\nLine 5: A static storage class is not specified in function redeclaration.",
  "rule.saqt.q.ccpp.2385.example.0.safe": "Line 5: Specify a static storage class in function redeclaration.",
  "rule.saqt.q.ccpp.2385.name": "Internal-Linkage Function without Static Storage Class",
  "rule.saqt.q.ccpp.2386.description": "The Missing Catch for Explicitly Thrown Exception checker finds instances in which an exception explicitly thrown in code does not have a handler of a compatible type in all call paths that could lead to that point.\nIf a program throws an unhandled exception, it terminates in an implementation-defined manner. In particular, it is implementation-defined whether the call stack is unwound before termination, so the destructors of any automatic objects may or may not be invoked.\nMake sure the program catches all exceptions that it is expected to throw.",
  "rule.saqt.q.ccpp.2386.example.0.dangerous": "Line 11: MISRA_15_3_4___A() is thrown.\nLine 15: MISRA_15_3_4___B() is thrown.This cannot be handled by catch statements.\nLine 18: MISRA_15_3_4___A() is handled by the catch statements.",
  "rule.saqt.q.ccpp.2386.example.0.safe": "Line 22: Add catch statements to handle the MISRA_15_3_4___B().",
  "rule.saqt.q.ccpp.2386.name": "Missing Catch for Explicitly Thrown Exception",
  "rule.saqt.q.ccpp.2387.description": "The Non-const Handle Returned to Class Data checker finds instances in which a member function returns a non-const handle to class data.\nBy implementing class interfaces with member functions, the implementation retains more control over how the object state can be modified and helps to allow a class to be maintained without affecting clients. Returning a handle to class data allows for clients to modify the state of the object without using any interfaces.\nDo not define a member function to return a non-const handle to class data.",
  "rule.saqt.q.ccpp.2387.example.0.dangerous": "Line 6: A member variable a is returned by a member function of class.\nLine 10: A member variable a is declared in a class.",
  "rule.saqt.q.ccpp.2387.example.0.safe": "Line 6: Remove a code to return a member variable from a member function of class.",
  "rule.saqt.q.ccpp.2387.name": "Non-const Handle Returned to Class Data",
  "rule.saqt.q.ccpp.2388.description": "The Token Mismatch in Redeclaration checker finds instances that a type of object, return type, or parameter is not token-identical in declaration and redeclaration.\nDespite of compatible types of redeclaration, Redeclaration does not specify exact declaration for a type of nonidentical token.\nEnsure to redeclare the token specified in declaration.",
  "rule.saqt.q.ccpp.2388.example.0.dangerous": "Line 2: A variable is declared as int.\nLine 3: A variable is declared as int.\nLine 9: A parameter of function is declared as signed int.\nLine 10: A parameter of function is declared as int.",
  "rule.saqt.q.ccpp.2388.example.0.safe": "Line 3: Override the variable to be the same type of a predeclared variable.\nLine 9: Override the parameter to be the same type of a predeclared parameter.",
  "rule.saqt.q.ccpp.2388.name": "Token Mismatch in Redeclaration",
  "rule.saqt.q.ccpp.2390.description": "The Misuse of unsigned int-type Suffix checker finds instances that a suffix U is not specified for an integer literal of unsigned int type.\nSpecify the suffix U for the unsigned integer literal.",
  "rule.saqt.q.ccpp.2390.example.0.dangerous": "Line 19: A hexadecimal number, 0x8000, of unsigned int type is used as an argument in a function call.\nLine 20: A hexadecimal number, 0x8000, of unsigned int type is used in an expression.",
  "rule.saqt.q.ccpp.2390.example.0.safe": "Line 19: Append a suffix U at the end of 0x8000.\nLine 20: Append a suffix U at the end of 0x8000.",
  "rule.saqt.q.ccpp.2390.name": "Misuse of unsigned int-type Suffix",
  "rule.saqt.q.ccpp.2392.description": "The Missing Termination of Case checker finds switch statements in which a non-empty case clause is not terminated with a throw or break statement.\nIn a switch statement, the last case and default blocks must be terminated with a break or throw.",
  "rule.saqt.q.ccpp.2392.example.0.dangerous": "Line 18: A break is not added for a case statement.\nLine 21: A break is not added for a default statement.",
  "rule.saqt.q.ccpp.2392.example.0.safe": "Line 20: Add a break to the case statement.\nLine 22: Add a break to the case statement.",
  "rule.saqt.q.ccpp.2392.name": "Missing Termination of Case",
  "rule.saqt.q.ccpp.249.description": "The Infinite loop checker finds loops that may potentially execute an infinite number of iterations. \nThe checker determines there can possibly be an infinite loop if: - An intentional infinite loop is used without a break or return statement to exit the loop. You can optionally set the checker not to raise the alarm for this case.- In a for loop, the condition section is empty. When using a for loop, it is recommended to add an exit condition to the condition section. You can optionally set the checker not to raise the alarm for this case.- In a for loop, the loop counter's value is modified within the loop block. In a for loop, it is recommended to let the loop counter count only in the increment section. You can optionally set the checker not to raise the alarm for this case.- A loop counter of a base type such as int is compared for equality (==) or inequality (!=) and does not constantly increment or decrement at each iteration. - A loop counter of a base type such as int increments or decrements in the direction opposite to the loop limit value. - The value of a loop counter remains unchanged in the loop. \nIf an action such as memory allocation is repeated infinitely, the program will be forcibly terminated, possibly damaging the system.\nDo not write code that may fall into an infinite loop. An infinite loop continuously consumes resources while keeping the program running.",
  "rule.saqt.q.ccpp.249.example.0.dangerous": "Line 1: i is compared for inequality (!=) with 10 and does not constantly increase at each iteration.\nLine 4: A value of ptr is remaining unchanged in a loop.\nLine 7: A value of i has a lower bound, but increases. Thus, the loop has never been executed or infinitely repeated.",
  "rule.saqt.q.ccpp.249.example.0.safe": "Line 1: Use comparison operation, such as <, >, <=, and >=, on i.\nLine 4: Modify the value of ptr to be unchanged in the loop.\nLine 7: Modify the bound and increment/decrement.",
  "rule.saqt.q.ccpp.249.name": "Infinite loop",
  "rule.saqt.q.ccpp.249.option.ignore_assigned_in_for_body.description": "The issue of loop counter changing inside the for loop block is ignored if chosen to do so.",
  "rule.saqt.q.ccpp.249.option.ignore_assigned_in_for_body.name": "Ignore issues of loop counter changing inside the for loop block.",
  "rule.saqt.q.ccpp.249.option.ignore_empty_condition_in_for.description": "The issue of empty conditions of for loop is ignored if chosen to do so.",
  "rule.saqt.q.ccpp.249.option.ignore_empty_condition_in_for.name": "Ignore issues of empty conditions of for loop.",
  "rule.saqt.q.ccpp.249.option.ignore_while_true_idiom.description": "If the option is enabled, intentional infinite loop like for(;;) or while(1) will be ignored.",
  "rule.saqt.q.ccpp.249.option.ignore_while_true_idiom.name": "Ignore issues about intentional infinite loop",
  "rule.saqt.q.ccpp.250.description": "The Misuse of socket checker finds instances of misusing a socket-related function.\nSocket-related functions must be called only in some appropriate states, and the checker reports for calls made to those functions in an improper state. A call to a socket function in an improper state may cause an unexpected result.\nMake sure socket-related functions are called in an appropriate sequence.",
  "rule.saqt.q.ccpp.250.example.0.dangerous": "Line 2: A socket file descriptor 'server_sockfd' is initialized to 0.\nLine 9: An uninitialized 'server_sockfd' is used.",
  "rule.saqt.q.ccpp.250.example.0.safe": "Line 5: Initialize the socket file descriptor though socket() function to bind.",
  "rule.saqt.q.ccpp.250.name": "Misuse of socket",
  "rule.saqt.q.ccpp.257.description": "The Use of forbidden function checker finds calls to a forbidden function.\nYou can optionally specify functions that should not be called.\nA project may have to prohibit calling certain functions for some reasons: 1) code needs to be consistent throughout the project; 2) those functions have become obsolete and now better approaches are available; or 3) those functions have fundamental defects.\nDo not call forbidden functions. Unless the intended behavior itself is prohibited, you need to consider implementing the same behavior by other means.",
  "rule.saqt.q.ccpp.257.example.0.dangerous": "Line 2: Assume that forbidden() function is forbidden here.",
  "rule.saqt.q.ccpp.257.example.0.safe": "Line 2: Use other function instead of the forbidden one.",
  "rule.saqt.q.ccpp.257.name": "Use of forbidden function",
  "rule.saqt.q.ccpp.257.option.forbidden_function.description": "Write the name of the forbidden function.<br />Example) forbidden",
  "rule.saqt.q.ccpp.257.option.forbidden_function.name": "Name of the function to forbid",
  "rule.saqt.q.ccpp.262.description": "The Comparing function pointer instead of return value checker finds instances in which a function is pointed to where it is to be called.\nIf a function name is not followed by a list of arguments, the name becomes a pointer to the function. Do not be confused between a function pointer and a function call.",
  "rule.saqt.q.ccpp.262.example.0.dangerous": "Line 8: A return value of function is not compared, only function pointers is.",
  "rule.saqt.q.ccpp.262.example.0.safe": "Line 8: Modify to compare the return value of function.",
  "rule.saqt.q.ccpp.262.name": "Comparing function pointer instead of return value",
  "rule.saqt.q.ccpp.2738.description": "The Adjustment of Pointer Size for Pointer Operation checker finds instances of manually adjusting a pointer's size in order to perform an operation on the pointer.\nWhen an operation is performed on a pointer, its size is automatically adjusted to match the type of the object being pointed to. Manual adjustments of the pointer size, therefore, are merely redundant and rather improper.\nDo not manually adjust pointer size.",
  "rule.saqt.q.ccpp.2738.example.0.dangerous": "Line 3: A pointer operation is performed on pointer buf by using sizeof operator.",
  "rule.saqt.q.ccpp.2738.example.0.safe": "Line 3: Use a unscaled value in pointer operation.",
  "rule.saqt.q.ccpp.2738.name": "Adjustment of Pointer Size for Pointer Operation",
  "rule.saqt.q.ccpp.274.description": "The Function definition within header file checker finds header files that contain a function definition.\nDo not define a function in a header file.",
  "rule.saqt.q.ccpp.274.example.0.dangerous": "Line 2: A function is defined in a header file.",
  "rule.saqt.q.ccpp.274.example.0.safe": "Line 5: Declare the function in the header file, and define it in a source file.",
  "rule.saqt.q.ccpp.274.name": "Function definition within header file",
  "rule.saqt.q.ccpp.2763.description": "The Unfreed Memory after Use of tss_create() checker finds instances in which an allocated thread-specific storage remains unfreed.\nAn unfreed thread-specific storage can cause a memory leak.\nOnce a thread-specific storage is allocated by the tss_create() function, it must be freed after its use.",
  "rule.saqt.q.ccpp.2763.example.0.dangerous": "Line 11: An unfreed memory is returned.\nLine 21: get_data() function is called. A memory leak can occur.\nLine 41: get_data() function is called by add_data(). A memory leak can occur.",
  "rule.saqt.q.ccpp.2763.example.0.safe": "Line 10: Define a destructor function. A memory will be freed within a function.\nLine 18: The destructor is called by the second argument of tss_create(). A allocated memory is freed.",
  "rule.saqt.q.ccpp.2763.name": "Unfreed Memory after Use of tss_create()",
  "rule.saqt.q.ccpp.2766.description": "The Pointing to Atomic Variable Twice in Single Expression checker finds instances of referencing an atomic variable twice in the same expression.\nIf the same atomic variable appears twice in an expression, then two atomic reads, or an atomic read and an atomic write, are required. Such a pair of atomic operations is not thread-safe, as another thread can modify the atomic variable between the two operations. Consequently, an atomic variable must not be referenced twice in the same expression.\nDo not refer an atomic variable twice in the same expression.",
  "rule.saqt.q.ccpp.2766.example.0.dangerous": "Line 12: The atomic variable is referenced multiple times.",
  "rule.saqt.q.ccpp.2766.example.0.safe": "Line 15: Use atomic_compare_exchange_weak() to ensure that the atomic variable have a correct value.",
  "rule.saqt.q.ccpp.2766.name": "Reference to Atomic Variable Twice in Expression",
  "rule.saqt.q.ccpp.2767.description": "The Failure of atomic_compare_exchange_weak() checker finds calls to the atomic_compare_exchange_weak() function that are not wrapped in a loop.\nThe atomic_compare_exchange_weak() function attempts to set an atomic variable to a new value but only if it currently possesses a known old value. If not wrapped in a loop, a call to this function may fail spuriously.\nMake sure atomic_compare_exchange_weak() is called only within a loop.",
  "rule.saqt.q.ccpp.2767.example.0.dangerous": "Line 19: atomic_compare_exchange_weak() function are not called within a loop.",
  "rule.saqt.q.ccpp.2767.example.0.safe": "Line 27: Ensure that atomic_compare_exchange_weak() is called within a loop.",
  "rule.saqt.q.ccpp.2767.name": "Failure of atomic_compare_exchange_weak()",
  "rule.saqt.q.ccpp.2768.description": "The Conflicting Storage Classes checker finds instances in which the declaration and definition of the same function or object use different conflicting storage classes.\nIt is undefined that a function or object is declared and defined with respectively different storage classes. Such code may output different results depending on compilers and thus is unpredictable.\nMake sure that any function and object is declared and defined with the same storage class.",
  "rule.saqt.q.ccpp.2768.example.0.dangerous": "Line 8: A static link defined on Line 2 is overrided to a generic variable. A storage class is conflicted.\nLine 11: A static link declared on Line 5 is defined to a generic variable. A storage class is conflicted.",
  "rule.saqt.q.ccpp.2768.example.0.safe": "Line 1: Ensure that a storage class of function or object does not cause conflicts.",
  "rule.saqt.q.ccpp.2768.name": "Conflicting Storage Classes",
  "rule.saqt.q.ccpp.2769.description": "The Unused return of standard libraries checker finds expressions that do not use the return of a standard library function.\nYou cannot assume that calls to standard library functions will always be successful. If code is written based on the success of a call to a standard library function but it is actually failed, various issues can arise.\nBe sure to check the return of standard library functions and handle their failures.",
  "rule.saqt.q.ccpp.2769.example.0.dangerous": "Line 9: A return value of setlocale() function is not checked.",
  "rule.saqt.q.ccpp.2769.example.0.safe": "Line 9: Ensure to check the return value of setlocale() function.",
  "rule.saqt.q.ccpp.2769.name": "Unused return of standard libraries",
  "rule.saqt.q.ccpp.2770.description": "The Incorrect Vararg Type checker finds calls to the va_arg() function made with an argument of an incorrect type.\nThe type passed to va_arg() must be correct. For example, if an integer type is passed to va_arg() but it is smaller than int, an integer promotion may occur, altering the value.\nIt is recommended to pass the int type to va_arg() so that issues such as integer promotions can be effectively prevented.",
  "rule.saqt.q.ccpp.2770.example.0.dangerous": "Line 8: An unsigned char type is passed to va_arg macro.",
  "rule.saqt.q.ccpp.2770.example.0.safe": "Line 8: Use an int type for va_arg macro to avoid an error such as integer promotion.",
  "rule.saqt.q.ccpp.2770.name": "Incorrect Vararg Type",
  "rule.saqt.q.ccpp.2771.description": "The Comparison on Floating-point Objects checker finds instances of performing a memory comparison on floating-point objects.\nIf structs contain a floating-point object, a memory comparison performed to check for their equality may not be enough to ensure the code behaves as intended.Factors like a floating-point error can cause an unexpected result.\nDo not perform a memory comparison on floating-point objects. Use a function such as memcmp() instead.",
  "rule.saqt.q.ccpp.2771.example.0.dangerous": "Line 14: A memory comparison operation is performed on a float type.",
  "rule.saqt.q.ccpp.2771.example.0.safe": "Line 14: Use memcmp() or another function instead of the memory comparison operation.",
  "rule.saqt.q.ccpp.2771.name": "Comparison on Floating-point Objects",
  "rule.saqt.q.ccpp.2772.description": "The Use of Incorrect Integer Precision checker finds instances of using an incorrect integer precision.\nInteger types in C have both a size and a precision. If the sizeof operator is used to compute the precision of an integer type, it may result in too large a value, which can then lead to unintended behavior.\nUse correct integer precisions.",
  "rule.saqt.q.ccpp.2772.example.0.dangerous": "Line 4: A sizeof is used to measure integer precision.",
  "rule.saqt.q.ccpp.2772.example.0.safe": "Line 7: Measure integer precision without sizeof.",
  "rule.saqt.q.ccpp.2772.name": "Use of Incorrect Integer Precision",
  "rule.saqt.q.ccpp.2773.description": "The Manipulation of Another Thread's Mutex checker finds instances of unlocking or destroying another thread's mutex.\nThis issue may affect the program performance or potentially lead to causing an error.\nDo not unlock or destroy another thread's mutex.",
  "rule.saqt.q.ccpp.2773.example.0.dangerous": "Line 6: A mutex of another thread is destroyed.",
  "rule.saqt.q.ccpp.2773.example.0.safe": "Line 8: Destroy the mutex after other threads end.",
  "rule.saqt.q.ccpp.2773.name": "Manipulation of Another Thread's Mutex",
  "rule.saqt.q.ccpp.2774.description": "The Local Variable Shared between Threads checker finds instances in which a thread-local variable is accessed by another POSIX thread.\nAccessing the stack or thread-local variables of a thread from another thread can cause invalid memory accesses.\nThis issue may affect the program performance or potentially lead to causing an error.\nTo allow data sharing between threads, use allocated memory or static variables.",
  "rule.saqt.q.ccpp.2774.example.0.dangerous": "Line 16: Local variable val is shared.",
  "rule.saqt.q.ccpp.2774.example.0.safe": "Line 16: Share the allocated memory.",
  "rule.saqt.q.ccpp.2774.name": "Local Variable Shared between Threads",
  "rule.saqt.q.ccpp.2775.description": "The Violation of naming rule for enum type checker finds enumerator names that include a character other than an uppercase letter or an underscore (_).\nMake sure enumerators are named only with uppercase letters and underscores.",
  "rule.saqt.q.ccpp.2775.example.0.dangerous": "Line 2: Lowercases are used to define an enum.",
  "rule.saqt.q.ccpp.2775.example.0.safe": "Line 2: Use uppercases to define an enum.",
  "rule.saqt.q.ccpp.2775.name": "Violation of naming rule for enumeration type",
  "rule.saqt.q.ccpp.2785.description": "The Violation of Operator Spacing Rule checker finds instances in which an operator and its operand are not separated by a space.\nPut a whitespace between an operator and its operand.",
  "rule.saqt.q.ccpp.2785.example.0.dangerous": "Line 2: No whitespace is found between + operator and operands on both sides.\nLine 5: No whitespace is found between + operator and a operand on the left side.\nLine 6: No whitespace is found between + operator and operands on the right side.\nLine 7: No whitespace is found between + operator and its operands.",
  "rule.saqt.q.ccpp.2785.example.0.safe": "Line 1: Add a whitespace between operator and its operands.",
  "rule.saqt.q.ccpp.2785.name": "Violation of Operator Spacing Rule",
  "rule.saqt.q.ccpp.2786.description": "The Use of constexpr in switch checker finds instances of using constexpr in a switch or case statement.\nPart of the modern C++ standard, constexpr indicates that the value, or return value, is constant and, where possible, is computed at compile time. However, if the compiler does not support C++11 or higher, it is highly likely to fail to parse this specifier normally. This rule, therefore, forbids the use of constexpr in a switch statement.\nDo not use constexpr in a switch statement. Use a pre-computed constant instead.",
  "rule.saqt.q.ccpp.2786.example.0.dangerous": "Line 6: A function returning constexpr is used in a switch statement. The function is evaluated at compile time, but, cannot be compiled by old compilers.",
  "rule.saqt.q.ccpp.2786.example.0.safe": "Line 6: Do not use constexpr in a switch statement. Instead, use an evaluated constant.",
  "rule.saqt.q.ccpp.2786.name": "Use of constexpr in switch",
  "rule.saqt.q.ccpp.2787.description": "The Range Error in Math Function checker finds domain and range errors in math functions.\nA domain error occurs if an input argument is outside the domain over which the mathematical function is defined. A range error occurs if the mathematical result of the function cannot be represented in an object of the specified type, due to extreme magnitude.\nIn both cases, the function will return some value, but the value returned is not the correct result of the computation. This can cause issues.\nCheck the range of the input value before using a math function, then check the range of the output value.",
  "rule.saqt.q.ccpp.2787.example.0.dangerous": "Line 3: An argument of sqrt() function can be a negative.",
  "rule.saqt.q.ccpp.2787.example.0.safe": "Line 4: Use a scope check to avoid domain errors.",
  "rule.saqt.q.ccpp.2787.name": "Range Error in Math Function",
  "rule.saqt.q.ccpp.2788.description": "The Destruction of Locked Mutex checker finds expressions that destroy a mutex while it is locked.\nMutexes are used to protect shared data structures being concurrently accessed.\nIf a mutex is destroyed while a thread is blocked waiting for that mutex, critical sections and shared data are no longer protected.\nMake sure mutexes are not destroyed while they are locked.",
  "rule.saqt.q.ccpp.2788.example.0.dangerous": "Line 22: A mutex can be destroyed before unlocked by another thread.",
  "rule.saqt.q.ccpp.2788.example.0.safe": "Line 33: Combine a thread, then destroy the mutex to remove a race condition.",
  "rule.saqt.q.ccpp.2788.name": "Destruction of Locked Mutex",
  "rule.saqt.q.ccpp.2790.description": "The Shared Object with Expired Storage Duration checker finds instances in which an object shared between threads has a shorter storage duration than the threads' lifetimes.\nObjects with a short storage duration can include thread-local variables.\nDepending on the execution order, a child thread might reference a variable after the variable's lifetime in the parent thread. This would cause the child thread to access an invalid memory location. Accessing a thread-local variable of one thread from another thread is implementation-defined.\nInstead of a thread-local variable, which has a short storage duration, use a static object, which persists until the program terminates.",
  "rule.saqt.q.ccpp.2790.example.0.dangerous": "Line 9: A local variable is passed to an argument of thread.",
  "rule.saqt.q.ccpp.2790.example.0.safe": "Line 9: Pass a static variable instead of local.",
  "rule.saqt.q.ccpp.2790.name": "Shared Object with Expired Storage Duration",
  "rule.saqt.q.ccpp.2791.description": "The Occurrence of Deadlock checker finds instances of failure to avoid deadlock by locking mutexes in the predefined order.\nSometimes, when locking mutexes, multiple threads hold each other's lock, and the program consequently deadlocks.\nIf mutexes are not locked in the predefined order, deadlock may occur. The deadlock prevents multiple threads from progressing, halting program execution.\nTo prevent deadlock, be sure to lock mutexes in the correct order.",
  "rule.saqt.q.ccpp.2791.example.0.dangerous": "Line 24: This locks a mutex.\nLine 29: A deadlock can occur due to mutex lock orders. For details, see CON35-C case of CERT.",
  "rule.saqt.q.ccpp.2791.example.0.safe": "Line 33: Avoid the deadlock by locking mutex in a predefined order.",
  "rule.saqt.q.ccpp.2791.name": "Occurrence of Deadlock",
  "rule.saqt.q.ccpp.2792.description": "The Misuse of Condition Variable checker finds instances of using condition variables incorrectly, thereby undermining thread safety and liveness.\nMisuse of condition variables refers to an inappropriate invocation of the cnd_wait() function, which is typically used to unblock a thread.\nMisuse of condition variables can result in indefinite blocking.\nMake sure each thread uses a unique condition variable. Alternatively, you can use cnd_broadcast() instead of cnd_signal().",
  "rule.saqt.q.ccpp.2792.example.0.dangerous": "Line 17: An indefinite block can occur in a specific scenario. For details, see CON38-C case of CERT.",
  "rule.saqt.q.ccpp.2792.example.0.safe": "Line 2: Use a unique condition variable for each thread.\nLine 21: Use a unique condition variable for each thread.",
  "rule.saqt.q.ccpp.2792.name": "Misuse of Condition Variable",
  "rule.saqt.q.ccpp.2805.description": "The Use of volatile Qualifier for Reference Type checker finds code that uses a volatile qualifier for reference type.\nThis can cause an undefined behavior, store an unexpected result, and compromise data integrity.\nDo not use a volatile qualifier for a reference type.",
  "rule.saqt.q.ccpp.2805.example.0.dangerous": "Line 3: A volatile qualifier is used for a reference type.",
  "rule.saqt.q.ccpp.2805.example.0.safe": "Line 3: Do not use a reference type due to the volatile qualifier.",
  "rule.saqt.q.ccpp.2805.name": "Use of volatile Qualifier for Reference Type",
  "rule.saqt.q.ccpp.2807.description": "The Array with Polymorphism checker finds code that assigns static pointer types to dynamic type objects.\nAn undefined behavior can occur by removing an array through invalid type of pointer.\nEnsure to use an object with declared type while assigning it to an array. If you need to assign an inherited class of declared object, convert the declared type into an inherited type.",
  "rule.saqt.q.ccpp.2807.example.0.dangerous": "Line 17: A derived type array is assigned to base type pointer b.\nLine 18: A derived2 type array is assigned to base2 type pointer a.",
  "rule.saqt.q.ccpp.2807.example.0.safe": "Line 17: Assign a base type array to the base type pointer b.\nLine 18: Assign a base2 type array to the base2 type pointer a.",
  "rule.saqt.q.ccpp.2807.name": "Array with Polymorphism",
  "rule.saqt.q.ccpp.2808.description": "The Increase/Decrease Iterator by more than One checker finds increase/decrease operation on iterators by more than one.\nA pointer can point an address for the last index of an array. An iterator can point an address for the last element as well.\nIf increasement or decreasement of a pointer or iterator results out-of-range numbers of its container, this may occur a runtime error or undefined behavior.\nDo not use an expression of integer type to increase or decrease by 2 or more.",
  "rule.saqt.q.ccpp.2808.example.0.dangerous": "Line 5: Iterator i is increased by 2 in a for statement.",
  "rule.saqt.q.ccpp.2808.example.0.safe": "Line 5: Increase the iterator i by 1 in the for statement.",
  "rule.saqt.q.ccpp.2808.name": "Increase/Decrease Iterator by more than One",
  "rule.saqt.q.ccpp.2809.description": "The Call to mutex_unlock() Function without Exception Handling checker finds calls to mutex_unlock() functions without exception handling.\nBecause a mutex remains locked while an exception occurs. Then, the program may behave unexpectedly.\nMake the mutex to be unlocked for the exception when accessing to a shared resource. For example, use mutex_unlock() function in exception handling statements such as a catch.",
  "rule.saqt.q.ccpp.2809.example.0.dangerous": "Line 3: A mutex_lock() function is called.\nLine 5: The mutex_lock() function is called without exception handling.",
  "rule.saqt.q.ccpp.2809.example.0.safe": "Line 3: A mutex_lock() function is called.\nLine 7: Call mutex_unlock() function to unlock the mutex in case of exception.",
  "rule.saqt.q.ccpp.2809.name": "Call to mutex_unlock() Function without Exception Handling",
  "rule.saqt.q.ccpp.2810.description": "The Use of Maximum Buffer Size Checker finds code that uses a buffer size smaller than the maximum size of path specified in checker option.\nThis checker finds a buffer size smaller than MAX_PATH in a call to realpath(), readlink(), or PathAppend(). You can optionally specify the minimum size of the buffer.\nA buffer overflow can occur by passing improper size of buffer to path manipulation function.\nEnsure to set the buffer size to specified MAX_PATH or greater.",
  "rule.saqt.q.ccpp.2810.example.0.dangerous": "Line 3: The size of temp array is set to 255.\nLine 5: The size of temp, the first argument of PathAppend() function, is smaller than MAX_PATH, leading to a buffer overflow.\nLine 6: The size of temp, the second argument of realpath() function, is smaller than MAX_PATH, leading to a buffer overflow.\nLine 7: The size of temp, the second argument of readlink() function, is smaller than MAX_PATH, leading to a buffer overflow.",
  "rule.saqt.q.ccpp.2810.example.0.safe": "Line 3: The size of temp array is set to 256.\nLine 5: Set the size of temp, the first argument of PathAppend() function, to MAX_PATH.\nLine 6: Set the size of temp, the second argument of realpath() function, to MAX_PATH.\nLine 7: Set the size of temp, the second argument of readlink() function, to MAX_PATH.",
  "rule.saqt.q.ccpp.2810.name": "Use of Maximum Buffer Size",
  "rule.saqt.q.ccpp.2810.option.min_array_variable_size.description": "Enter the minimum size of the array that comes with the factor.",
  "rule.saqt.q.ccpp.2810.option.min_array_variable_size.name": "Minimum array size",
  "rule.saqt.q.ccpp.3011.description": "The Use of Decrement Operator on Boolean checker finds code that performs decrement operation with `--` operator on a boolean variable.\nDo not use the decrement operator `--` on a boolean variable. Such practice is deprecated.\nDo not use the decrement operator on a boolean variable. Assign it either true or false, or define and use a custom function like toggle(), set(), or clear().",
  "rule.saqt.q.ccpp.3011.example.0.dangerous": "Line 2: An decrement operator is used for a boolean variable.",
  "rule.saqt.q.ccpp.3011.example.0.safe": "Line 2: Directly assign true or false. Or define a custom function.",
  "rule.saqt.q.ccpp.3011.name": "Use of Decrement Operator on Boolean",
  "rule.saqt.q.ccpp.345.description": "The Missing initialization of local variable checker finds local variables that are not initialized at declaration.\nAn uninitialized local variable causes runtime errors and leads to critical issues. Although declaration is performed without initialization, if a variable is initialized before being used, this poses no vulnerability. Therefore, the initialization can be missed in complexed control flows, it is recommended to initialize all local variables at declaration.\nInitialize all local variables at their declaration.",
  "rule.saqt.q.ccpp.345.example.0.dangerous": "Line 2: An uninitialized local variable is declared.",
  "rule.saqt.q.ccpp.345.example.0.safe": "Line 2: Initialize the local variable at its declaration.",
  "rule.saqt.q.ccpp.345.name": "Missing initialization of local variable",
  "rule.saqt.q.ccpp.345.option.ignored_variable_name.description": "Write variables to exclude from analysis.",
  "rule.saqt.q.ccpp.345.option.ignored_variable_name.name": "Variables to exclude from analysis",
  "rule.saqt.q.ccpp.345.option.skip_array_check.description": "Skip array initialization checking",
  "rule.saqt.q.ccpp.345.option.skip_array_check.name": "Skip array initialization checking",
  "rule.saqt.q.ccpp.348.description": "The Missing #define in header file checker finds header files that do not have include guards at top and bottom. \nInclude guards are preprocessor directives that enclose a header file to prevent duplicates of globally used declarations. \nWithout include guards enclosing, a duplicate declaration may occur, causing a compile error.\nEnclose header files with preprocessor directives.",
  "rule.saqt.q.ccpp.348.example.0.dangerous": "Line 2: #define statement is not found. An incomplete include guard can cause duplicate header files.",
  "rule.saqt.q.ccpp.348.example.0.safe": "Line 1: Use an include guard at the start and end of a header file.",
  "rule.saqt.q.ccpp.348.name": "Missing #define in header file",
  "rule.saqt.q.ccpp.348.option.ignored_path.description": "Write the name of the path to exclude from analysis.",
  "rule.saqt.q.ccpp.348.option.ignored_path.name": "Name of the path to exclude from analysis",
  "rule.saqt.q.ccpp.385.description": "The Unreachable code in string comparison checker finds chained conditionals with string comparison that include a never reachable branch.\nUnreachable code blocks are useless in controlling the flow of the program and merely makes the code less readable and maintainable. They need to be fixed also for program optimization.\nAn unreachable branch in a chained conditional with string comparison signifies a high probability of an incorrect comparison expression in the conditional. Check the comparison expressions and fix them so that no branches may be unreachable.",
  "rule.saqt.q.ccpp.385.example.0.dangerous": "Line 1: The size of 2 of str+2 is compared to string \"CD.\"\nLine 4: The size of 5 of str is compared to string \"ABCDE.\" This condition is always satisfied in Line 1, so unreachable.",
  "rule.saqt.q.ccpp.385.example.0.safe": "Line 4: Modify the statement to be reachable.",
  "rule.saqt.q.ccpp.385.name": "Unreachable code due to string comparison",
  "rule.saqt.q.ccpp.387.description": "The Remainder operation on negative value checker finds modulo operations performed on a negative number.\nA modulo operation on a negative number is an implementation-defined behavior, which can possibly return different values depending on the compiler.\nMake sure modulo operations are performed only on positive numbers. To this end, check the operands for being greater than zero, or declare their type as unsigned.",
  "rule.saqt.q.ccpp.387.example.0.dangerous": "Line 3: A modular operation is performed on size. The size can be a negative.",
  "rule.saqt.q.ccpp.387.example.0.safe": "Line 1: Modify the size into unsigned type to filter out negative numbers.",
  "rule.saqt.q.ccpp.387.name": "Remainder operation on negative value",
  "rule.saqt.q.ccpp.388.description": "The Assignment of negative value to unsigned type checker finds expressions that can convert a negative number to an unsigned variable.\nA conversion to a large numeric type can cause a change from a negative number to a large positive number. Especially, copying a negative number to an unsigned variable may cause an unexpected sign extension, thereby resulting in an extremely huge number.\nWhen performing an assignment between objects with different signedness, be sure to set proper conditions not to allow conversion from a negative number to a huge positive number. ",
  "rule.saqt.q.ccpp.388.example.0.dangerous": "Line 6: s is compared to 256.\nLine 7: s is assigned to sz. If s is smaller than 0, unsigned type of sz can be turned into a positive value greater than normal.",
  "rule.saqt.q.ccpp.388.example.0.safe": "Line 6: Add a statement to compare s to 0.",
  "rule.saqt.q.ccpp.388.name": "Assignment of negative value to unsigned type",
  "rule.saqt.q.ccpp.42.description": "The Division by zero checker finds instances of division by zero.\nAs the division operation is not defined with a zero divisor, an attempt of division by zero may cause an exception at the CPU level. This may lead to an abnormal shutdown of the program or denial of service (DoS).\nFor any division operations, check if the second operand may possibly be assigned a 0. If the value range of the second operand is not determinable, it is recommended to add a code checking the divisor for zero.",
  "rule.saqt.q.ccpp.42.example.0.dangerous": "Line 5: If i argument of func() is larger than 10, a return of random function is assigned to variable a.\nLine 8: If Line 4 is not executed, then divisor a can be 0.",
  "rule.saqt.q.ccpp.42.example.0.safe": "Line 8: Check that the divisor is more than 0 to avoid division by zero error.",
  "rule.saqt.q.ccpp.42.name": "Division by zero",
  "rule.saqt.q.ccpp.43.description": "The Missing check on division by zero checker finds instances in which a function argument or return to be used for a divisor is once checked for zero but later used again with no zero check.\nAs the division operation is not defined with a zero divisor, an attempt of division by zero may cause an exception at the CPU level. This may lead to an abnormal shutdown of the program or denial of service (DoS).\nFor any division operations, check if the second operand may possibly be assigned a 0. If the value range of the second operand is not determinable, it is recommended to add a code checking the divisor for zero. It is not ensured in most cases that a value passed in as a function argument or returned from another function is not zero. Therefore, it is recommended to check the divisor for zero before performing division.",
  "rule.saqt.q.ccpp.43.example.0.dangerous": "Line 5: An argument i of func() is checked for zero.\nLine 9: A possible zero i is used as a divisor.",
  "rule.saqt.q.ccpp.43.example.0.safe": "Line 7: Check the divisor for zero while dividing an integer.",
  "rule.saqt.q.ccpp.43.name": "Missing check on division by zero",
  "rule.saqt.q.ccpp.45.description": "The Returning local variable address checker finds instances of returning a local variable's address.\nReturning a local variable's address often causes an unexpected program behavior.\nWhen returning a buffer, it must not be an array allocated on the stack but a dynamically allocated buffer on the heap.",
  "rule.saqt.q.ccpp.45.example.0.dangerous": "Line 2: arr is a local variable of test function.\nLine 6: An address of local variable arr is returned, which causes an error.",
  "rule.saqt.q.ccpp.45.example.0.safe": "Line 2: Dynamically assign the arr.\nLine 6: Return a buffer allocated to heap memory area.",
  "rule.saqt.q.ccpp.45.name": "Returning local variable address",
  "rule.saqt.q.ccpp.46.description": "The Releasing memory in stack checker finds instances of freeing memory allocated on the stack rather than the heap.\nThese instances occur mainly when a local variable's address is freed.\nAn attempt to free a memory address on the stack may cause an abnormal shutdown of the program.\nYou must free memory allocated on the heap, not on the stack.",
  "rule.saqt.q.ccpp.46.example.0.dangerous": "Line 1: A local variable arr is declared.\nLine 2: The arr is tried to deallocate, but allocated to stack areas, which causes an error.",
  "rule.saqt.q.ccpp.46.example.0.safe": "Line 1: Dynamically assign the arr.\nLine 2: arr is allocated to heap area, then normally freed.",
  "rule.saqt.q.ccpp.46.name": "Releasing memory in stack",
  "rule.saqt.q.ccpp.48.description": "The Missing return statement checker finds non-void functions that do not include a return statement.\nThis may cause an unexpected program behavior.\nAll non-void functions must include a return statement.",
  "rule.saqt.q.ccpp.48.example.0.dangerous": "Line 1: A return type of function is not a void.\nLine 3: A return statement of the function is not written before the function ends, which causes an error.",
  "rule.saqt.q.ccpp.48.example.0.safe": "Line 3: Add a return statement before ending the function of non-void return types.",
  "rule.saqt.q.ccpp.48.name": "Missing return statement",
  "rule.saqt.q.ccpp.52.description": "The Overlapped memory region checker finds instances in which a function receives arguments pointing to an overlapping memory area.\nThe memccpy(), memcpy(), strcpy(), and strncpy() functions may receive arguments with an overlapping memory area. \nBeing C standard library functions, memccpy(), memcpy(), strcpy(), and strncpy() copy memory from a source object referenced by a restrict-qualified pointer to a destination object that is also referenced by a restrict-qualified pointer. If the arguments of these functions use an overlapping memory area, data corruption or memory conflicts may occur.\nWhen using a C standard library function that copies memory from a source object referenced by a restrict-qualified pointer to a destination object referenced by a restrict-qualified pointer, the passed arguments must not share a memory area. ",
  "rule.saqt.q.ccpp.52.example.0.dangerous": "Line 3: String pointer p is assigned to pt1.\nLine 5: Same memory areas as pt1 are allocated to pt2.\nLine 6: A 4-size string of pt1 is tried to be copied to pt2, which causes an error due to using same memory areas.",
  "rule.saqt.q.ccpp.52.example.0.safe": "Line 6: Use memmove function to avoid overlapping between memories when copying memories or strings.",
  "rule.saqt.q.ccpp.52.name": "Overlapped memory region",
  "rule.saqt.q.ccpp.60.description": "The Shifting which exceeds bit width checker finds instances of a shift operator (>> or <<) requiring a larger shift than the bit size of the target type.\nThis may cause an error during the execution of the program, leading to an unexpected result. It also, as a secondary consequence, may cause buffer overflow or underflow allowing for security vulnerabilities.\nAvoid a shift operation larger than the size of the target type.",
  "rule.saqt.q.ccpp.60.example.0.dangerous": "Line 3: An unsigned char type value is shifted by 8 bits. Because size of unsigned char is 8 bits, this shift is larger than the size.",
  "rule.saqt.q.ccpp.60.example.0.safe": "Line 3: Fix the problem in consideration of variable type's ranges for bit shift.",
  "rule.saqt.q.ccpp.60.name": "Shifting which exceeds bit width",
  "rule.saqt.q.ccpp.61.description": "The Shifting on negative value checker finds instances of applying a shift operator (>> or <<) to a negative number.\nThis may cause an error during the execution of the program, leading to an unexpected result. It also, as a secondary consequence, may cause buffer overflow or underflow allowing for security vulnerabilities.\nDo not perform a shift operation on a negative number.",
  "rule.saqt.q.ccpp.61.example.0.dangerous": "Line 4: Int type variable a is left shifted into negative, which causes an error.",
  "rule.saqt.q.ccpp.61.example.0.safe": "Line 4: Perform bit shift as much as positive integer in consideration of variable type's ranges.",
  "rule.saqt.q.ccpp.61.name": "Shifting on negative value",
  "rule.saqt.q.ccpp.66.description": "The Inadequate value of length argument checker finds instances in which a length argument being passed to a function is a negative number or too large.\nThe following functions are subject to the detection of this checker: alloca(), bcopy(), calloc(), malloc(), memccpy(), memcpy(), realloc(), and strncpy(). The checker reports a defect when the allocation size argument passed to a memory allocation function is not of unsigned int or is an unverified external input evaluated by addition or subtraction.\nIf the argument value is a negative number or out of range of the data type, it is cast, resulting in an unexpected memory address request to the system. This can allow for security vulnerabilities exploited by attackers to access the program and gain control of the program flow.\nTake care that a function's length argument may not take a value negative or larger than the size of the data type. ",
  "rule.saqt.q.ccpp.66.example.0.dangerous": "Line 2: n is initialized into a negative value.\nLine 3: An error is detected for an argument of malloc() function can be negative or out of range.",
  "rule.saqt.q.ccpp.66.example.0.safe": "Line 2: Check the parameter n value.\nLine 3: Set an length argument by considering its range. It is recommended to accept external inputs at specified scopes to set the length.",
  "rule.saqt.q.ccpp.66.name": "Inadequate value of length argument",
  "rule.saqt.q.ccpp.66.option.max_decision_point_number.description": "Set a threshold of the maximum size for memory allocation",
  "rule.saqt.q.ccpp.66.option.max_decision_point_number.name": "Maximum size of memory allocation",
  "rule.saqt.q.ccpp.68.description": "The Redundant condition checker finds conditional expressions that are always or never satisfied.\nIt is unnecessary to encounter a condition that always evaluates to true or false. An ever-true condition is unnecessary because it will always be executed; an ever-false condition is also unnecessary because it will never be. These unnecessary codes are just confusing the program flow and waste memories.\nIf the detected conditional expressions are miswritten by mistake, fix them. Or, some conditional expressions might have been written correctly as intended although their consequents are actually always or never executed. In this case, delete the conditional expressions or the whole of the relevant conditional blocks.",
  "rule.saqt.q.ccpp.68.example.0.dangerous": "Line 8: 1 is returned by foo() function, and assigned to variable x.\nLine 9: 0 is returned by foo2() function, and assigned to variable y.\nLine 10: x is 1, y is 0; the statements always return true.",
  "rule.saqt.q.ccpp.68.example.0.safe": "Line 10: Remove the unnecessary conditional expressions and replace them with normal code.",
  "rule.saqt.q.ccpp.68.name": "Redundant condition",
  "rule.saqt.q.ccpp.70.description": "The Unreachable code Checker finds a code block that is unreachable in any case.\nIf the removal of a statement does not affect the program output, that piece of code is unnecessary (redundant code). Whether the statement is written on purpose is not clear to code reviewers.\nUnreachable code blocks are useless in controlling the flow of the program and merely makes the code less readable and maintainable. They need to be fixed also for program optimization.\nRemove the unreachable code blocks.",
  "rule.saqt.q.ccpp.70.example.0.dangerous": "Line 2: x=1 is set.\nLine 3: break; is executed and terminated because x=1 in the switch-case statement.\nLine 6: printf() function is not executed.",
  "rule.saqt.q.ccpp.70.example.0.safe": "Line 5: Modify the source code to make the printf() function work according to the switch-case condition.",
  "rule.saqt.q.ccpp.70.name": "Unreachable code",
  "rule.saqt.q.ccpp.71.description": "The Unused value checker finds variables that are assigned a value but never used in any executable paths while assuming that value.\nIf the removal of a statement does not affect the program output, that piece of code is unnecessary (redundant code). Whether the statement is written on purpose is not clear to code reviewers.\nUnused variables remain as logical errors in the program. Logical errors make the source code less readable and maintainable. Therefore, take care not to leave unused variables in the code.\nRemove the unused variables.",
  "rule.saqt.q.ccpp.71.example.0.dangerous": "Line 2: Variable a is initialized into 2.\nLine 4: Value a is reassigned, but not used.",
  "rule.saqt.q.ccpp.71.example.0.safe": "Line 9: Return the variable a. Modify to use the variable a.",
  "rule.saqt.q.ccpp.71.name": "Unused value",
  "rule.saqt.q.ccpp.73.description": "The Dangerous casting of function pointer checker finds instances in which a function pointer is cast to have a conflicting signature or a different return type.\nThe checker also detects casts from a function pointer with variable-length arguments to a function pointer having a changed argument or return type.\nThe compiler does not check for errors when a function and a pointer to it have different signatures. However, this may cause an unexpected program behavior.\nWhen casting a function pointer, make sure the signature and type are not changed.",
  "rule.saqt.q.ccpp.73.example.0.dangerous": "Line 5: A function pointer fp_foo2 is declared as int type.\nLine 7: A return function foo1 of char type is casted to int type.",
  "rule.saqt.q.ccpp.73.example.0.safe": "Line 5: Declare the function pointer fp_foo2 as char type.",
  "rule.saqt.q.ccpp.73.name": "Dangerous casting of function pointer",
  "rule.saqt.q.ccpp.7305.description": "It is not recommended to use commenting to exclude specific parts of source code from compilation. Disabling code sections with block comments (/* … */) is risky. Since the C language does not support nested comments, if there are already comments within that code section, the overall comment effect can be altered, causing unintended code to be compiled.  \nIf you want to exclude specific source code from compilation, you should use conditional compilation directives (#if, #ifdef) instead of comments.",
  "rule.saqt.q.ccpp.7305.example.0.dangerous": "Line 1: The source code is commented out and excluded from compilation.",
  "rule.saqt.q.ccpp.7305.example.0.safe": "Line 1: Source code that should not be compiled must be excluded using conditional compilation directives.",
  "rule.saqt.q.ccpp.7305.name": "Commented-out code",
  "rule.saqt.q.ccpp.7306.description": "Floating-point operations can produce special values such as NaN (Not a Number) or Infinity in mathematically undefined situations like overflow, division by zero, or the square root of a negative number. These values propagate through the program without causing runtime errors, so failing to detect and handle them can lead to unexpected results or critical failures.\n\nTherefore, to prevent this, passing inappropriate values to mathematical functions that may generate NaN or Infinity is prohibited. Such patterns can cause incorrect calculation results.\nAvoid patterns and expressions that may produce NaN or Infinity values, and write code to ensure that errors cannot occur.",
  "rule.saqt.q.ccpp.7306.example.0.dangerous": "Line 1: A value greater than 1.0 was passed to the asin function. This value is calculated as NaN.\nLine 2: A negative value was passed as the second argument to the pow function. This value is calculated as Inf.",
  "rule.saqt.q.ccpp.7306.example.0.safe": "Line 1: Valid range values must be passed to the asin function to prevent NaN from occurring.\nLine 2: Valid range values must be passed to the pow function to prevent Inf from occurring.",
  "rule.saqt.q.ccpp.7306.name": "Improper floating-point operation",
  "rule.saqt.q.ccpp.7307.description": "To enhance program stability and analyzability, dynamic thread creation should be avoided and thread creation points must be restricted. If threads are created at arbitrary locations during runtime, the number of executing threads becomes uncertain, making program behavior unpredictable.\n\nIn particular, safety-critical systems commonly address this issue by using a static thread pool. A static thread pool fixes the number and timing of thread creation at the program startup phase, making program behavior predictable. Therefore, thread creation must be enforced to occur only at well-defined points.\n\nThread creation should be performed only within functions clearly designated at program startup, such as the main function. Thread creation functions must not be called from other thread entry functions or arbitrary locations.",
  "rule.saqt.q.ccpp.7307.example.0.dangerous": "Line 5: The thread creation function was called from a function other than the main function.",
  "rule.saqt.q.ccpp.7307.example.0.safe": "Line 5: You need to call the thread creation function in the main function.",
  "rule.saqt.q.ccpp.7307.name": "Dynamic thread creation",
  "rule.saqt.q.ccpp.7308.description": "A mutex that protects access to shared resources between threads must be explicitly released by the thread that acquired the lock. If a thread terminates without releasing the lock, the mutex remains permanently locked, potentially blocking the execution of other threads.\n\nThis situation is analogous to a memory leak, resulting in a mutex lock leak that causes loss of access rights to shared resources. Therefore, the mutex acquired must be released on all execution paths to ensure program stability. After a mutex lock is called within a function, all possible execution paths before thread termination must release the lock. In other words, locking and unlocking should be paired to guarantee that only the thread that acquired the lock calls the unlock.",
  "rule.saqt.q.ccpp.7308.example.0.dangerous": "Line 3: Mutex locked.\nLine 8: Mutex unlock is missing when the if statement condition is false.",
  "rule.saqt.q.ccpp.7308.example.0.safe": "Line 8: Ensure that the mutex is unlocked in all control flows.",
  "rule.saqt.q.ccpp.7308.name": "Mutex lock leak",
  "rule.saqt.q.ccpp.7309.description": "C does not support nested comments within comments. Therefore, if a block comment `/* … */` contains another comment start sequence (`/*` or `//`), it is likely an unintentional mistake. Such errors can cause the comment to be improperly terminated if the closing `*/` is missing, leading to unexpected errors.\n\nThis can result in unintended code blocks being commented out or the program's behavior being fundamentally altered, which is a serious issue. To prevent this risk, using comment start sequences inside comments is prohibited. If a comment contains strings like `/*` or `//`, it is likely a simple mistake and should be removed or corrected properly. However, if the intention was to exclude code from compilation, the correct approach is to use conditional compilation directives instead of block comments `/* … */` to clearly express that intent.",
  "rule.saqt.q.ccpp.7309.example.0.dangerous": "Line 1: The end of the block comment (*/) is missing.\nLine 4: Due to the missing */ in line 1, the comment start string inside the comment was used. This caused the function on line 3 to be unintentionally commented out.",
  "rule.saqt.q.ccpp.7309.example.0.safe": "Line 4: Block comments must be properly structured to avoid nested comment start strings within the comment.",
  "rule.saqt.q.ccpp.7309.name": "Comment start character inside a comment",
  "rule.saqt.q.ccpp.7312.description": "When an identifier declared in an outer scope has the same name as an identifier declared in an inner scope, scope hiding occurs. Although this is not a syntactical error, it prevents access to the outer scope's identifier from within the inner scope. If function parameters, local variables, or identifiers declared within nested blocks have name conflicts due to scope hiding, it can cause confusion for developers and lead to unintended logical errors.\n\nTherefore, to improve code readability and maintainability and to prevent developer mistakes, identifiers in inner scopes should be clearly distinguished from those in outer scopes. When declaring an identifier in an inner scope, ensure its name differs from any identifier already existing in the outer scope.",
  "rule.saqt.q.ccpp.7312.example.0.dangerous": "Line 1: This is an identifier in an outer scope whose name is shadowed.\nLine 3: A variable with the same name as in line 1 is declared in the inner scope, shadowing the outer scope identifier.",
  "rule.saqt.q.ccpp.7312.example.0.safe": "Line 3: You must declare the variable with a different name to avoid shadowing an identifier declared in an outer scope.",
  "rule.saqt.q.ccpp.7312.name": "Shadowing of outer scope identifier",
  "rule.saqt.q.ccpp.7314.description": "Integer constant macros are macros used to generate integer constants with specific sizes and signedness. For example, there are forms like `INT32_C`. For these macros to work as intended, their arguments must follow the specific formats specified by the C standard. If the argument's format is incorrect or its value exceeds the range designated by the macro, undefined behavior occurs.\n\nSuch issues can lead to unexpected constant values, runtime errors, or portability problems. Therefore, the arguments of integer constant macros must strictly adhere to the specified format and value range.\n\nTo use integer constant macros correctly, the macro arguments should be pure integer literals without suffixes, and their values must not exceed the range of the type indicated by the macro name. For example, avoid expressions like `10UL` with suffixes, floating-point literals like `10.0`, or unary operator expressions like `-2`.",
  "rule.saqt.q.ccpp.7314.example.0.dangerous": "Line 1: An unnecessary suffix was used in the argument of the integer constant macro.\nLine 2: A floating-point value was used in the argument of the integer constant macro.\nLine 3: A unary operator was used in the argument of the integer constant macro.",
  "rule.saqt.q.ccpp.7314.example.0.safe": "Lines 1-3: Integer constant macro arguments must be used in the correct format.",
  "rule.saqt.q.ccpp.7314.name": "Integer constant macro argument type error",
  "rule.saqt.q.ccpp.7315.description": "Small integer constant macros (such as INT8_C, UINT16_C) can be unintentionally promoted to different types due to C language's integer promotion rules. The C standard specifies that the arguments of these macros may be promoted to int, often resulting in constants of type int rather than the expected 8-bit or 16-bit types. Such type mismatches can cause unexpected behavior when using features like _Generic.\n\nTherefore, writing code without using small integer constant macros helps avoid type-related issues caused by integer promotion and makes code behavior clearer and more predictable. Avoid using small integer constant macros for types smaller than int. Instead, use explicit type casts or plain integer literals to ensure the compiler treats them as the intended types.",
  "rule.saqt.q.ccpp.7315.example.0.dangerous": "Line 1: Used forbidden small integer constant macro UINT8_C.\nLine 2: Used forbidden small integer constant macro INT16_C.",
  "rule.saqt.q.ccpp.7315.example.0.safe": "Line 1-2: Use type casts or standard integer literals instead of forbidden small integer constant macros.",
  "rule.saqt.q.ccpp.7315.name": "Avoid using small integer constant macros",
  "rule.saqt.q.ccpp.7316.description": "alignas is a specifier in C language that explicitly enforces an object to be aligned to a specific byte boundary when allocated in memory. When a single global object is declared or defined as extern across multiple files, all declarations of that object must have the same alignment value. If the alignment specifiers differ, the linker cannot correctly determine the object's location, resulting in undefined behavior.\n\nSuch alignment mismatches cause linker errors or portability issues leading to unexpected memory access problems. Therefore, declarations and definitions of a global object must not mix integer and type forms of alignas, such as alignas(4) and alignas(int), even if the values are effectively the same. Also, mixing typedef-redefined type names is prohibited. These conditions ensure consistency by specifying the same alignas value.\n\nAll declarations and definitions referencing the same global object must match the alignas specifier. If alignas is used in one place, all other declarations and definitions must use the identical alignas value or type. For example, if a header declares `extern alignas(16) int32_t a;`, then all source files including that header must also specify `alignas(16)` in their declarations and definitions.",
  "rule.saqt.q.ccpp.7316.example.0.dangerous": "Line 6: The alignas alignment value of the global variable differs from the previous declaration on line 2.\nLine 7: The alignas declared type of the global variable differs from the previous declaration on line 3.",
  "rule.saqt.q.ccpp.7316.example.0.safe": "Line 6: The alignas alignment value of the global variable must match the previous declaration.\nLine 7: The alignas declared type of the global variable must match the previous declaration.",
  "rule.saqt.q.ccpp.7316.name": "Object sorting declaration mismatch",
  "rule.saqt.q.ccpp.7317.description": "alignas is a specifier in the C language that explicitly directs an object to be aligned to a specific byte boundary when allocated in memory. The alignas specifier can take either a number or a type as an argument to specify the alignment. It is also possible to pass the number 0 as an argument. However, using alignas(0) is treated the same as having no explicit alignment specification, making it an unnecessary declaration. Such unnecessary specifications obscure the intent of the code. If alignment is important for an object, a clear non-zero value like alignas(16) should be used. Conversely, if alignment is not important, the alignas declaration should be omitted entirely instead of using alignas(0). This confusion can lead to unexpected behavior during maintenance. To resolve unnecessary alignment specifications, remove alignas(0) declarations or complex expressions that evaluate to 0. If a specific alignment is required, specify a clear non-zero value such as alignas(4) to clarify the code’s intent.",
  "rule.saqt.q.ccpp.7317.example.0.dangerous": "Line 1: alignas is explicitly specified as 0.\nLine 2: alignas is specified as 0 on a platform where long and int have the same size.",
  "rule.saqt.q.ccpp.7317.example.0.safe": "Line 1-2: When a specific alignment of an object is required, a non-zero value must be passed to alignas.",
  "rule.saqt.q.ccpp.7317.name": "Unnecessary object sorting specified",
  "rule.saqt.q.ccpp.7318.description": "alignas is a specifier in C that explicitly directs an object to be aligned to a specific byte boundary when allocated in memory. The C standard allows multiple alignas specifiers in a single object declaration. In such cases, the compiler selects the strictest alignment requirement among the specified values.\n\nHowever, this approach can obscure the code’s intent and cause developer confusion. When two or more alignas specifiers are listed, it is not intuitive which alignment value will ultimately apply, and it may be considered unnecessary redundancy.  \nMultiple alignas declarations scattered across a single object declaration should be consolidated into a single strictest value. If multiple conditions exist, they should be combined into one expression that calculates the final alignment value considering all conditions.",
  "rule.saqt.q.ccpp.7318.example.0.dangerous": "Line 1: The alignas specifier was used more than once in a single variable declaration.",
  "rule.saqt.q.ccpp.7318.example.0.safe": "Line 1: It is recommended to specify a single strictest value for the alignas specifier per variable declaration.",
  "rule.saqt.q.ccpp.7318.name": "Multi-criteria Object Sorting",
  "rule.saqt.q.ccpp.7319.description": "Atomic objects are special variables used to safely share data in multithreaded environments. These objects must be properly initialized before access. Accessing an atomic object without initialization or initializing it using a regular assignment operator instead of the standard library's provided initialization methods results in undefined behavior, preventing the atomic object from fulfilling its primary purpose of avoiding resource contention.\n\nAll atomic objects must be initialized correctly before access. There are two correct methods: first, initializing at the point of declaration, and second, calling the designated initialization functions provided by the standard library. Initialization using a regular assignment operator does not guarantee internal state initialization and is therefore not considered a proper initialization method.",
  "rule.saqt.q.ccpp.7319.example.0.dangerous": "Line 3: Declared an atomic object without initialization.\nLine 4: Used an atomic object before proper initialization.",
  "rule.saqt.q.ccpp.7319.example.0.safe": "Line 6: Must be used only after properly initializing the atomic object.",
  "rule.saqt.q.ccpp.7319.name": "Uninitialized atomic object",
  "rule.saqt.q.ccpp.7320.description": "The C language allows assigning the value of an expression to an object of a narrower essential type or to an object of a different essential type. However, such implicit conversions can lead to unintended consequences such as value, sign, or precision loss.\n\nTherefore, to prevent these potential issues, it is necessary to apply an essential type model. Here, an essential type refers to a type category classified according to the fundamental properties of C types (sign, size, floating-point status, etc.). Examples include unsigned integers or essentially char types. This model checks whether the type of the assigned expression matches the type of the receiving object.\n\nFor practical coding, some exceptions are made and excluded from checks. For example, when the value of a signed integer constant expression can be represented by the essential unsigned type of the assignment target. This allows the compiler to verify the constant value at compile time to ensure safety.\n\nIf the type of the assigned expression differs from the type of the receiving object, explicit casting must be used to align the essential type of the assigned expression with that of the receiving object. This clearly indicates the developer’s intended type conversion and prevents the compiler from relying on implicit conversions. Additionally, assignments between different essential type categories should generally be avoided.",
  "rule.saqt.q.ccpp.7320.example.0.dangerous": "Line 1: Assigned an unsigned integer type expression to an intrinsic character object of a different intrinsic type.\nLine 3: Assigned a 32-bit integer type expression to a narrower 8-bit integer type object.\nLine 6: Assigned a signed integer type expression to an unsigned integer type expression.",
  "rule.saqt.q.ccpp.7320.example.0.safe": "Line 1: The expression on the right-hand side must use an expression corresponding to the fundamental type. Alternatively, explicit casting can be used.\nLine 3: The type of the left-hand side must be changed to have a width sufficient to represent the integer constant value on the right-hand side. Alternatively, explicit casting can be used.\nLine 6: The expression on the right-hand side must be explicitly cast to indicate the intended expression.",
  "rule.saqt.q.ccpp.7320.name": "Assignment due to inappropriate implicit type conversion",
  "rule.saqt.q.ccpp.7321.description": "The C language allows the two operands of an operator to have different essential type categories when the usual arithmetic conversions are performed. However, such implicit conversions can lead to unintended results such as value, sign, or precision loss.\n\nTherefore, to prevent these potential issues, it is necessary to check whether the two operands of a binary operator belong to the same essential type category. Here, an essential type refers to a type category classified based on the fundamental nature of the C type (sign, size, floating-point status, etc.). Examples include unsigned integers or essentially character types. This model checks whether the operands of arithmetic operations belong to essentially the same type category.\n\nFor practical coding, some cases are excepted and excluded from this check. For example, when `char` types and integer types are used with `+` or `-` operators. This is because the compiler can understand the intent of the expression and safely perform the conversion.  \nIf the two operands of an operator belong to different essential type categories, explicit casting must be used to align the essential types on both sides. This clearly indicates the developer’s intended type conversion and avoids relying on the compiler’s implicit conversions.  \nExcept for cases explicitly excepted in the rules, such as operations between `char` and integer types with `+` or `-`, operations between different essential type categories should be avoided.",
  "rule.saqt.q.ccpp.7321.example.0.dangerous": "Line 5: Used operands with different intrinsic types for the / operation.\nLine 6: Used operands with different signs for the * operation.",
  "rule.saqt.q.ccpp.7321.example.0.safe": "Line 5: Operand types must be matched using explicit casting.\nLine 6: Operand types should be changed to match the sign, or explicit casting can be used as in line 5.",
  "rule.saqt.q.ccpp.7321.name": "Operation due to improper implicit type conversion",
  "rule.saqt.q.ccpp.7322.description": "In C language, declaring an array of a specific size as a function parameter is actually treated as a pointer. As a result, the compiler does not know the actual size of the array passed as an argument, and it does not generate an error even if an array smaller than the intended size is passed.\n\nWhen a developer specifies an array parameter with a certain size, it may imply an expectation that the argument contains a valid memory space at least as large as that size. Therefore, this situation can lead to issues such as buffer overflow, where memory boundaries are exceeded inside the function, causing unexpected program behavior or security vulnerabilities.\n\nIt is necessary to verify that the array argument passed during the function call contains at least as many elements as specified in the function prototype. If the argument is smaller, either modify the code to use an array of the correct size matching the function prototype, or redefine the function to omit explicit array size in the parameter and pass the size as a separate argument.",
  "rule.saqt.q.ccpp.7322.example.0.dangerous": "Line 6: An array smaller than the size specified in the function parameter was passed as an argument.",
  "rule.saqt.q.ccpp.7322.example.0.safe": "Line 6: The array passed as an argument must be equal to or larger than the array size specified in the minimum function parameter.",
  "rule.saqt.q.ccpp.7322.name": "Function parameter array overflow",
  "rule.saqt.q.ccpp.7323.description": "Functions with return values generally convey important information about the result of the call. However, calling such functions without using their return values can hide potential bugs. For example, ignoring a null pointer returned by a memory allocation function failure can lead to serious issues like null pointer dereference later in the code. This rule enforces the use of return values to prevent such risks and clarify the code's intent.\nWhen calling a function with a return value, the return value must always be used. If the return value is intentionally unused, it should be explicitly cast to void to clearly indicate that intent.",
  "rule.saqt.q.ccpp.7323.example.0.dangerous": "Line 6: The return value of a function with a return value was not used.",
  "rule.saqt.q.ccpp.7323.example.0.safe": "Line 6: Use void casting to explicitly indicate that the return value will not be used, or explicitly use the return value as in line 5.",
  "rule.saqt.q.ccpp.7323.name": "Function return value unused",
  "rule.saqt.q.ccpp.7325.description": "The _Noreturn function specifier indicates that the function never returns control to the caller. According to the C standard, a non-returning function cannot have a return value and must have a void return type. Declaring a _Noreturn function with a return type other than void may cause undefined behavior.  \nAll functions declared with _Noreturn must be modified to use a void return type. This applies to both the function declaration and definition.",
  "rule.saqt.q.ccpp.7325.example.0.dangerous": "Line 1: The return type of a function declared with _Noreturn is not declared as void.",
  "rule.saqt.q.ccpp.7325.example.0.safe": "The return type of a function declared with _Noreturn must be declared as void.",
  "rule.saqt.q.ccpp.7325.name": "Incorrect return type used in a function declared with _Noreturn",
  "rule.saqt.q.ccpp.7327.description": "Conditional compilation directives such as #if, #ifdef, and #ifndef must be terminated with a corresponding conditional compilation end directive like #endif within the same file where they start. Distributing conditional compilation blocks across multiple files reduces code readability and increases the risk of unexpected errors during maintenance.\nIf the file where the #if, #ifdef, or #ifndef directive starts differs from the file containing the conditional compilation end directive, the entire conditional compilation block should be moved into a single file. If necessary, create a new header file and use #include to incorporate it.",
  "rule.saqt.q.ccpp.7327.example.0.dangerous": "Line 2: The #if directive has started, but there is no corresponding conditional compilation end directive in the current file.",
  "rule.saqt.q.ccpp.7327.example.0.safe": "Line 4: You must write the correct conditional compilation termination directive corresponding to line 2 within the same file.",
  "rule.saqt.q.ccpp.7327.name": "Conditional compilation directive mismatch within file",
  "rule.saqt.q.ccpp.7328.description": "The `memcmp` function compares a specified number of bytes in memory blocks, so it should not be used to compare null-terminated strings. `memcmp` treats the null terminator `\\0` as a regular byte, including bytes beyond `\\0` in the comparison range. \nIf the actual length of the strings being compared is shorter than the third argument of `memcmp`, the comparison result may vary depending on the contents of the memory area after the null terminator. This can lead to unexpected behavior, causing `memcmp` to determine that logically identical strings are different. \nWhen comparing null-terminated strings, you should use `strcmp` or `strncmp` instead of `memcmp`. If you must use `memcmp`, you should use the actual length of the string obtained with the `strlen()` function as the third argument.",
  "rule.saqt.q.ccpp.7328.example.0.dangerous": "Line 3: A null-terminated string is stored in the buffer using `strcpy`.  \nLine 4: A null-terminated string is used for the second argument of `memcmp`.",
  "rule.saqt.q.ccpp.7328.example.0.safe": "Line 4: To compare null-terminated strings, you should use functions like `strcmp` instead of `memcmp`.",
  "rule.saqt.q.ccpp.7328.name": "Comparison of null-terminated strings using memcmp",
  "rule.saqt.q.ccpp.7329.description": "The C11 standard thread library's mtx_timedlock() function must only be used with mutex objects that support timeout functionality. This function must be called on mutex objects initialized with the mtx_timed or mtx_timed | mtx_recursive attributes. Using this function on a mutex object that does not support timeouts results in undefined behavior.  \nMutex objects passed to mtx_timedlock() must be initialized with the mtx_timed or mtx_timed | mtx_recursive attributes.",
  "rule.saqt.q.ccpp.7329.example.0.dangerous": "Line 4: Initialized a mutex in a form that does not support timeout functionality.\nLine 11: Passed a mutex that does not support timeout functionality to mtx_timedlock().",
  "rule.saqt.q.ccpp.7329.example.0.safe": "Line 4: Initialized the mutex with timeout support.  \nLine 11: You must pass a mutex that supports timeout to mtx_timedlock().",
  "rule.saqt.q.ccpp.7329.name": "Timeout mutex unsupported object usage",
  "rule.saqt.q.ccpp.7330.description": "Objects from the C11 standard thread library such as thrd_t, mtx_t, cnd_t, and tss_t must only be accessed through the designated standard library functions. These objects represent unique resources like threads, mutexes, and condition variables, and directly manipulating these resources results in undefined behavior. For example, directly copying a mutex or comparing thread identifiers using the == operator is not allowed.\n\nTherefore, it is necessary to protect the internal structure of these objects to maintain thread-related code safety. Always use the appropriate standard library functions when accessing thread-related objects.",
  "rule.saqt.q.ccpp.7330.example.0.dangerous": "Line 5: Compared thread-related objects using the == operator.",
  "rule.saqt.q.ccpp.7330.example.0.safe": "Line 5: Thread-related objects must be created only through proper standard library functions.",
  "rule.saqt.q.ccpp.7330.name": "Improper access to thread-related objects",
  "rule.saqt.q.ccpp.7331.description": "Thread synchronization objects such as mutexes and condition variables must be initialized using the `mtx_init()` or `cnd_init()` functions before use. Using uninitialized synchronization objects results in undefined behavior, which can lead to serious issues like race conditions.\n\nTherefore, it is crucial to explicitly initialize all related objects before any thread is created and accesses the synchronization objects. All global or shared thread synchronization objects accessible by threads must be initialized prior to thread creation. The safest approach is to initialize all mutexes and condition variables at the program's entry point, such as in the `main()` function, before calling functions like `thrd_create()`.",
  "rule.saqt.q.ccpp.7331.example.0.dangerous": "Line 6: Thread synchronization object was initialized outside of the main function.\nLine 12: Thread synchronization object was initialized after the thread creation function was called.",
  "rule.saqt.q.ccpp.7331.example.0.safe": "Lines 10-11: All thread synchronization objects must be initialized before the thread creation function is called in the main function.",
  "rule.saqt.q.ccpp.7331.name": "Improper initialization location of thread synchronization object",
  "rule.saqt.q.ccpp.7332.description": "A single condition variable must be associated with only one mutex object. If the same condition variable is used with different mutexes across multiple threads, calling `cnd_signal()` or `cnd_broadcast()` results in undefined behavior, where it is unpredictable which mutex will be unlocked. This makes the program's behavior nondeterministic and significantly complicates debugging.\nEach condition variable must be paired with exactly one mutex. If you need to wait for state changes on multiple mutexes, create and use separate condition variables for each mutex.",
  "rule.saqt.q.ccpp.7332.example.0.dangerous": "Line 7: Condition variable Cnd is associated with mutex Ra.\nLine 14: Condition variable Cnd is associated with mutex Rb and used with two or more mutexes.",
  "rule.saqt.q.ccpp.7332.example.0.safe": "Line 8, 15: Each mutex must be associated with a different condition variable.",
  "rule.saqt.q.ccpp.7332.name": "Condition Variable and Mutex Multiple Locking",
  "rule.saqt.q.ccpp.7333.description": "Thread-specific storage objects must be created using the `tss_create()` function before being accessed by any thread. If a thread-specific storage object is created after the thread has already started executing, the thread may access an uninitialized object, causing undefined behavior.\n\nTherefore, all thread-specific storage pointers should be created in advance at the program's entry point. Thread-specific storage objects must be explicitly created via `tss_create()` before the corresponding thread is created. The safest approach is to create all thread-specific storage objects at the program's start, such as in the `main()` function, before calling thread creation functions like `thrd_create()`.",
  "rule.saqt.q.ccpp.7333.example.0.dangerous": "Line 6: Created thread-local storage object outside of the main function.\nLine 12: Created thread-local storage object after the thread creation function was called.",
  "rule.saqt.q.ccpp.7333.example.0.safe": "Line 10-11: All thread-local storage objects must be created before the thread creation function is called in the main function.",
  "rule.saqt.q.ccpp.7333.name": "Improper initialization location of thread-local storage",
  "rule.saqt.q.ccpp.7334.description": "The generic selection expression uses the _Generic keyword and was designed in the C11 standard to query the type of macro arguments at compile time. Such generic selection expressions must be used only within function-like macros. Using _Generic directly causes the compiler to perform unnecessary queries on local variables whose types are already known, which can obscure the code’s intent and lead to unnecessary confusion.  \nThe _Generic keyword must be included inside the body of a function-like macro to query the macro argument’s type. This usage aligns with the design intent of _Generic and enhances code clarity and reusability.",
  "rule.saqt.q.ccpp.7334.example.0.dangerous": "Line 2: The _Generic keyword was used directly in the source code.",
  "rule.saqt.q.ccpp.7334.example.0.safe": "Line 1: The _Generic keyword should be placed in the function name macro body and used according to the design intent.",
  "rule.saqt.q.ccpp.7334.name": "_Use _Generic directly",
  "rule.saqt.q.ccpp.7351.description": "Bit fields cannot be declared as members of a union. The exact bit positions occupied by bit fields in memory are implementation-defined. Therefore, if bit fields and other members are declared together in a union, it is unpredictable how the bit fields will overlap with the other members. This causes non-deterministic behavior when performing type punning, which involves accessing the same memory region as different types.\n\nIf type punning is not intended, using unions with bit fields is meaningless as it does not save memory space.\n\nAvoid declaring bit fields directly as union members. If bit fields must be used alongside other members, declare the bit fields as members of a struct within the union to eliminate ambiguity.",
  "rule.saqt.q.ccpp.7351.example.0.dangerous": "Line 2: Declared a union member as a bit field.",
  "rule.saqt.q.ccpp.7351.example.0.safe": "Line 3: Members of a union should not be declared directly as bit fields; instead, they must be declared as members of a struct type used within the union.",
  "rule.saqt.q.ccpp.7351.name": "Bit field declaration within a union",
  "rule.saqt.q.ccpp.7352.description": "The type of an integer constant can vary depending on the size of the value, numeral system, and the size of integer types supported by the compiler, which can cause confusion. In particular, hexadecimal constants without the suffix (U, u) may be interpreted as either signed or unsigned types depending on the compiler environment. This can compromise code portability and reliability. Therefore, all integer constants that are represented as unsigned types must explicitly include the U suffix to clearly indicate the developer's intent.\n\nHowever, the signedness and range of integer constants can vary depending on the operating system environment. Thus, two cases are detected: when a decimal constant exceeds the 32-bit signed integer range but lacks a U suffix, and when a hexadecimal constant exceeds the 16-bit signed integer range but lacks a U suffix.\n\nAll integer constants that can be interpreted as unsigned types must have a U suffix added. The case of the letter U (uppercase or lowercase) does not matter.",
  "rule.saqt.q.ccpp.7352.example.0.dangerous": "Line 2: The hexadecimal integer constant, which is considered a 16-bit unsigned type depending on the environment, is missing the U suffix.",
  "rule.saqt.q.ccpp.7352.example.0.safe": "Line 2: Hexadecimal integer constants considered as 16-bit unsigned types must have a U suffix.",
  "rule.saqt.q.ccpp.7352.name": "Unsigned integer constant suffix missing",
  "rule.saqt.q.ccpp.7373.description": "In C language, explicit type casting can convert the value of an expression to a different type. However, such conversions may cause misleading behavior when converting between different essential type categories. For example, converting a floating-point value to an integer type, or converting an integer value to an enumeration or boolean type, can result in calculations that differ from the developer's intent or lead to unexpected outcomes.\n\nTherefore, to improve code clarity and predictability and to prevent unintended data loss, these conversions should be restricted. Explicit casts between problematic essential type categories should be avoided. In particular, boolean types should not be converted to or from any other type, values of any type should not be converted to enumeration types, and conversions from essential floating-point types to essential character types should be avoided.",
  "rule.saqt.q.ccpp.7373.example.0.dangerous": "Line 4: Converted signed integer to intrinsic boolean type.\nLine 5: Converted floating-point number to intrinsic character type.\nLine 6: Converted signed integer to intrinsic enumeration type.",
  "rule.saqt.q.ccpp.7373.example.0.safe": "Line 3: Only the allowed numbers 0 or 1 should be used when converting signed integers to intrinsic boolean types.  \nLine 4: Allowed conversions, such as between unsigned and signed integers, must be used.  \nLine 5: All intrinsic types cannot be converted to enumeration types, so only values matching the enumeration type should be used.",
  "rule.saqt.q.ccpp.7373.name": "Improper intrinsic type conversion",
  "rule.saqt.q.ccpp.7374.description": "A function pointer in C is a pointer that holds the memory address of a function. Converting a function pointer to a different type or to a function pointer with a different signature causes undefined behavior according to the C standard, which can lead to unexpected program crashes or malfunctions.  \nTo avoid potential errors related to function pointer conversions, adhere to the following guidelines: function pointers must only be assigned to function pointers of the same type. Avoid converting to other function pointer types even if the function signatures match, as this can still be an incorrect assignment. Additionally, you cannot convert object pointers, integers, or other types to function pointers. The only exception is assigning a null pointer value to a function pointer.",
  "rule.saqt.q.ccpp.7374.example.0.dangerous": "Line 7: Explicitly cast an int type object pointer to a function pointer.  \nLine 8: Converted a function identifier to a function pointer with an incompatible function signature.",
  "rule.saqt.q.ccpp.7374.example.0.safe": "Line 6: Only null pointer constants are allowed to be converted to function pointers.\nLine 7: Function identifiers must be assigned only to function pointers with the same function signature.",
  "rule.saqt.q.ccpp.7374.name": "Improper function pointer cast",
  "rule.saqt.q.ccpp.7389.description": "In C, qualifiers, such as const, volatile, restrict, and _Atomic, specify properties of variables or return types. However, the C standard does not allow applying these qualifiers directly to the function type itself.  \nFor example, defining a function type using typedef and then applying qualifiers to that type results in undefined behavior. This issue is distinct from qualifying the function's return type or qualifying the function pointer itself, so a clear distinction is necessary.  \nQualifiers must not be applied directly to function types. If you want to qualify the return type or the function pointer, the qualifiers should be specified at the correct position within the typedef definition.",
  "rule.saqt.q.ccpp.7389.example.0.dangerous": "Line 2: Applied the const qualifier directly to the function type.",
  "rule.saqt.q.ccpp.7389.example.0.safe": "Line 2-3: Instead of applying the const qualifier directly to the function type, it should be applied to the pointer to the function or the function's return type, depending on the use case.",
  "rule.saqt.q.ccpp.7389.name": "Do not use qualifiers on function types",
  "rule.saqt.q.ccpp.7390.description": "In C, when a function returns a value or a specific operation produces a temporary result, that result becomes a temporary object with a temporary lifetime. For example, if a struct or union contains an array as a member, the array member of this temporary object also has a temporary lifetime.\n\nWhen an array-to-pointer conversion occurs on such a temporary object's array, the resulting pointer becomes a dangling pointer that is no longer valid once the temporary object's lifetime ends. Attempting to access memory or modify values through this dangling pointer causes undefined behavior, leading to unpredictable results.\n\nYou should not use pointer conversions on array members of temporary struct or union objects. To avoid this issue, it is recommended to assign the temporary object to a named local variable and then safely access it.",
  "rule.saqt.q.ccpp.7390.example.0.dangerous": "Line 9: A pointer cast occurs on the array of temporary objects returned by the getS1() function, resulting in a dangling pointer assignment.\nLine 10: The array member of the temporary object returned by the getS1() function was used as a modifiable lvalue.",
  "rule.saqt.q.ccpp.7390.example.0.safe": "Line 9: The temporary object returned by the getS1() function should be assigned to a local variable to ensure proper lifetime.\nLine 10-11: Since temp is no longer a temporary object, temp.array can be used safely.",
  "rule.saqt.q.ccpp.7390.name": "Prohibit pointer conversion of temporary object arrays",
  "rule.saqt.q.ccpp.7413.description": "To ensure program stability and predictability, thread lifecycle management must be performed exactly once.\n\nHere, lifecycle management refers to waiting for a created thread to finish using the thread management API (Join) or detaching it to release system resources (Detach).\n\nIf a thread has already terminated or been detached and is no longer valid, attempting to terminate or detach it again causes resource management confusion and results in undefined behavior. This can lead to program crashes or memory corruption.  \nEvery thread must have its lifecycle completed by calling the termination or detach function exactly once after creation.\n\nIt is recommended to clearly track the validity of thread objects and use control logic to prevent subsequent related function calls on thread objects that have already been used.",
  "rule.saqt.q.ccpp.7413.example.0.dangerous": "Line 8: The thread object was set to wait for termination.\nLine 9: The thread object that was already set to wait for termination was processed again.",
  "rule.saqt.q.ccpp.7413.example.0.safe": "Line 9, 11: The lifecycle management of thread objects within the control flow must be executed logically only once.",
  "rule.saqt.q.ccpp.7413.name": "Duplicate processing of already handled threads",
  "rule.saqt.q.ccpp.7414.description": "Threads, mutexes, condition variables, thread-specific storage, and other thread and synchronization objects used in the C11 standard thread library must not have automatic or thread storage duration.\n\nIf such objects have automatic or thread storage duration, they will be destroyed when the function call ends or when the thread terminates.\n\nIf another thread accesses the object outside its lifetime in this case, undefined behavior may occur.\n\nThread and synchronization objects must have static or dynamic storage duration.\n\nIn other words, do not declare them as local variables within functions; instead, declare them as global or static variables, or allocate them on the heap using dynamic allocation functions.",
  "rule.saqt.q.ccpp.7414.example.0.dangerous": "Line 4: The synchronization object passed to the synchronization creation function is declared as a local variable with automatic storage duration.\nLine 7: The thread object passed to the thread creation function is declared as a local variable with automatic storage duration.",
  "rule.saqt.q.ccpp.7414.example.0.safe": "Line 1, 7: Thread and synchronization objects must have static or dynamic storage duration.",
  "rule.saqt.q.ccpp.7414.name": "Inappropriate thread and synchronization object lifetime",
  "rule.saqt.q.ccpp.7426.description": "Octal escape sequences, hexadecimal escape sequences, or universal character names used within strings must be explicitly terminated.\n\nThis is because characters following an escape sequence may be mistakenly interpreted as part of the sequence or cause the string to be parsed incorrectly, resulting in incorrect output.\n\nFor example, `\\x1g` may have been intended to represent a specific hexadecimal escape value, but since it does not actually exist, it is interpreted as two characters: `\\x1` and `g`.\n\nThe valid lengths for escape sequences are as follows:\nOctal escape sequences consist of a backslash followed by 1 to 3 digits; hexadecimal escape sequences consist of `\\x` followed by 1 to 4 hexadecimal digits. Universal character names consist of `\\u` followed by 4 hexadecimal digits or `\\U` followed by 8 hexadecimal digits.\n\nIf other characters follow the sequence, it may indicate an incorrect character input. To improve code clarity, such ambiguities should be removed and correct escape sequences should be written.\nOctal escape sequences, hexadecimal escape sequences, or universal character names must be explicitly terminated so that subsequent characters cannot be mistaken as part of the sequence.\n\nThe methods to terminate are as follows: first, end the escape sequence by closing the string literal; second, separate the character following the escape sequence by using adjacent string literals; third, place another escape sequence immediately after the first to terminate the preceding sequence.",
  "rule.saqt.q.ccpp.7426.example.0.dangerous": "Line 1-3: The escape sequence within the string is not properly terminated.",
  "rule.saqt.q.ccpp.7426.example.0.safe": "Line 1: You must carefully construct the correct escape sequence and terminate it with a string literal.  \nLine 2: Use adjacent string literals to clearly terminate the sequence and separate new characters.  \nLine 3: Place a different escape sequence to explicitly terminate the preceding sequence.",
  "rule.saqt.q.ccpp.7426.name": "Unterminated escape sequence in string",
  "rule.saqt.q.ccpp.7427.description": "Integer constants determined as long long type should not use a single L suffix. This applies to both signed and unsigned integer constants.\n\nA lone L suffix can create ambiguity about whether the constant is intended as long or long long type. Especially when using large values exceeding the range of long, a single L does not explicitly indicate long long type, making the code's intent unclear.\nIf the value of an integer constant is determined as long long type in the current environment, the LL suffix should be used. The case of the suffix letters is not significant.",
  "rule.saqt.q.ccpp.7427.example.0.dangerous": "Line 1-2: The size of the integer constant value falls within the range of the long long type, but only the L suffix was used.",
  "rule.saqt.q.ccpp.7427.example.0.safe": "Line 1: The LL suffix must be used to specify the long long type according to the size of the integer constant value.  \nLine 2: Alternatively, the L suffix should be removed to allow the type to be automatically determined according to C++'s default type deduction rules.",
  "rule.saqt.q.ccpp.7427.name": "Use the suffix L alone for long long integer constants",
  "rule.saqt.q.ccpp.7432.description": "All local variables not declared with const or constexpr having static storage duration can be risky.\n\nMutable local variables with static storage duration create hidden temporal coupling by retaining state from previous calls each time the function is invoked. This not only makes the code harder to understand and test but can also cause data races in concurrent programs, leading to undefined behavior.\n\nAvoid using mutable local variables with static storage duration. Any state that needs to be preserved should be explicitly passed through function parameters or return values.\n\nHowever, if the value does not change, combining const or constexpr with static storage duration is permitted.",
  "rule.saqt.q.ccpp.7432.example.0.dangerous": "Line 2-3: The static keyword is used with modifiable local variables to give them static storage duration.",
  "rule.saqt.q.ccpp.7432.example.0.safe": "Line 2-3: Remove the static storage duration of the local variable, or declare it as const or constexpr to make it immutable.",
  "rule.saqt.q.ccpp.7432.name": "Use static retention period regional variable",
  "rule.saqt.q.ccpp.7435.description": "Using all global variables and static class fields not declared as const or constexpr can be risky.\n\nHere, global variables refer to variables declared in the global scope as well as those declared in anonymous namespaces. Additionally, static class fields are considered global variables because they require initialization in the global scope for actual use.\n\nGlobal variables can be accessed and modified from anywhere in the program, leading to uncontrollable interactions between functions, which increases the risk of undefined behavior due to data races in concurrent programs.\n\nFurthermore, even if declared as const, using dynamic initialization introduces separate risks. This is known as the static initialization order fiasco, where accessing another global variable that has not yet been initialized during the initialization of one global variable can cause issues.\n\nAvoid using all global variables and static class fields not declared as const or constexpr. Minimize the need for global state, and if unavoidable, limit usage to constants whenever possible.\n\nEven if a global variable is declared as const but uses dynamic initialization, it should not be used. In such cases, static initialization must be used so that initialization occurs at compile time.",
  "rule.saqt.q.ccpp.7435.example.0.dangerous": "Line 2: A global variable was declared without const or constexpr.\nLine 5: A global variable was declared as const but initialized through dynamic initialization.\nLine 13: A class static field considered as a global variable was declared without const or constexpr.",
  "rule.saqt.q.ccpp.7435.example.0.safe": "Line 1: Global variables must be declared using const or constexpr.\nLine 5: Global variables must be initialized at compile time.\nLine 10: Class static fields considered as global variables must be declared using const or constexpr.",
  "rule.saqt.q.ccpp.7435.name": "Use of uncontrollable global variable",
  "rule.saqt.q.ccpp.7471.description": "The asm declaration is a feature used to directly insert assembly instructions within C++ source code.\n\nHowever, how the strings inside this declaration are interpreted and executed is entirely implementation-defined by the compiler and platform. This severely impairs code portability and creates code that is strongly dependent on specific hardware architectures or compilers.\n\nAdditionally, such code is likely to interfere with compiler optimizations or cause unexpected behavior.\nThe asm declaration should be removed from the code. If hardware control or specific instruction usage is required, built-in functions implementing assembly features provided by most modern compilers or functionalities from the C++ standard library should be used.",
  "rule.saqt.q.ccpp.7471.example.0.dangerous": "Line 5: Assembly code was written directly using an asm declaration.",
  "rule.saqt.q.ccpp.7471.example.0.safe": "Line 5: Assembly code should not be used; if absolutely necessary, built-in functions implementing assembly features provided by each compiler must be used.",
  "rule.saqt.q.ccpp.7471.name": "Direct Use of Assembly Code via asm Declaration",
  "rule.saqt.q.ccpp.7480.description": "The #undef directive should only be used to undefine macros previously defined within the same file.\n\nAttempting to undefine a macro not defined in the current file indicates an attempt to undefine a macro from an external header or a non-existent macro. Undefining external macros is prohibited as it can compromise system consistency and break the behavior of standard libraries.\n\nTo use #undef, the corresponding #define for that macro must exist at the top of the same file.\n\nIf the goal is to avoid macro conflicts with external headers, instead of using #undef, rename the macro in the current file or use namespaces to prevent collisions. Otherwise, unnecessary macro undefinitions should be avoided.",
  "rule.saqt.q.ccpp.7480.example.0.dangerous": "Line 3: Attempted to #undef a macro that is not defined in the current file.",
  "rule.saqt.q.ccpp.7480.example.0.safe": "Line 10: When using #undef, only macros defined in the current file should be undefined. Avoid unnecessary macro undefinitions.",
  "rule.saqt.q.ccpp.7480.name": "Undefine macro not defined in the current file",
  "rule.saqt.q.ccpp.7481.description": "A macro whose parameters are used both as ordinary tokens and as operands of preprocessing operators (#, ##) in its definition is called a mixed-use macro.\n\nWhen calling such a macro, you must not pass another macro as an argument. This is because the parts with operators applied are prevented from expanding, while the ordinary token parts expand, causing expansion mismatches that refer to different values.\n\nWhen calling a mixed-use macro, you should pass fixed values or variable names as arguments, not macros.\n\nIf you need to pass a macro as an argument, modify the code to call a helper macro that expands the argument first, rather than calling the mixed-use macro directly.",
  "rule.saqt.q.ccpp.7481.example.0.dangerous": "Line 1: Defined a mixed-use macro.\nLine 2: Defined a regular macro.\nLine 8: Another macro is passed as an argument to the mixed-use macro, posing a risk of expansion mismatch.",
  "rule.saqt.q.ccpp.7481.example.0.safe": "Line 9: Do not pass regular macros directly as arguments to mixed-use macros.\nLine 10: Alternatively, you can structure macros by creating helper macros to avoid directly using mixed-use macros.",
  "rule.saqt.q.ccpp.7481.name": "Passing macro arguments to mixed-use macros",
  "rule.saqt.q.ccpp.7486.description": "errno is a global variable used by C++ standard library functions to indicate error states by setting a non-zero value. Since errno is global, developers can modify it directly, but doing so may cause conflicts or overwrites with library function error reporting, leading to state management issues.\n\nTherefore, it is recommended not to assign arbitrary values to errno in user code to report errors. Instead of using the global errno, user code should employ safer error handling mechanisms provided by C++, such as exception handling or std::optional.\n\nHowever, it is acceptable to assign the integer value 0 to errno to initialize or clear the error state.",
  "rule.saqt.q.ccpp.7486.example.0.dangerous": "Line 8, 10: Assigned a non-zero integer value to errno.\nLine 13: Assigned a non-zero integer value to errno. The value pointed to by success is 0 but it is a non-integer variable.",
  "rule.saqt.q.ccpp.7486.example.0.safe": "Line 8, 10: Directly assigning a value to errno by the user should only be done when initializing the error by assigning 0.",
  "rule.saqt.q.ccpp.7486.name": "Assign a non-zero value to errno",
  "rule.saqt.q.ccpp.80.description": "The Violation of format of general comments checker finds general comments that violate their format.\nThe checker checks if general comments conform to the specified general comment format.\nWrite general comments in accordance with the specified format. Comments declared with //// must be changed to those with //.",
  "rule.saqt.q.ccpp.80.example.0.dangerous": "Line 2: //// is used to add comments.",
  "rule.saqt.q.ccpp.80.example.0.safe": "Line 2: Use // to add comments.",
  "rule.saqt.q.ccpp.80.name": "Violation of format of general comments",
  "rule.saqt.q.ccpp.80.option.GeneralComment.description": "Define the general comment template.",
  "rule.saqt.q.ccpp.80.option.GeneralComment.name": "General comment template",
  "rule.saqt.q.ccpp.82.description": "The Use of label statement checker finds instances of using a label statement. \nA goto statement may cause an unexpected program behavior. A label statement is usually paired with a goto statement.\nDo not use a label statement. ",
  "rule.saqt.q.ccpp.82.example.0.dangerous": "Line 2: A label is used.",
  "rule.saqt.q.ccpp.82.example.0.safe": "Line 2: Remove the label.",
  "rule.saqt.q.ccpp.82.name": "Use of label statement",
  "rule.saqt.q.ccpp.98.description": "The Use of forbidden function in loop checker finds instances of using a function optionally specified not to be used in a loop.\nYou can optionally specify functions forbidden in specific types of loops.\nMemory generation in a loop may cause the loss of the memory entry point, leading to memory leaks as well as performance degradation and slowdown.\nDo not use optionally forbidden functions in a loop.",
  "rule.saqt.q.ccpp.98.example.0.dangerous": "Line 4: malloc() function is called in for statement.",
  "rule.saqt.q.ccpp.98.example.0.safe": "Line 3: Use the malloc() out of the loop statement. Memory generation in a loop may cause the loss of the memory entry point, leading to memory leaks as well as performance degradation and slowdown. Modify the loop to use existing resources again.",
  "rule.saqt.q.ccpp.98.name": "Use of forbidden function in loop",
  "rule.saqt.q.ccpp.98.option.target_functions.description": "Set up forbidden functions",
  "rule.saqt.q.ccpp.98.option.target_functions.name": "Forbidden function",
  "rule.saqt.q.cpp.100.description": "The Use of forbidden argument checker finds instances of using a forbidden argument in a call to an optionally specified function.\nYou can optionally specify files excluded from analysis, functions subject to analysis, functions excluded from analysis, callee functions, and forbidden argument names.\nInspect arguments passed to functions to prevent their misuse and conform to APIs. A misuse of an argument may cause an unexpected program behavior.\nDo not use optionally forbidden arguments.",
  "rule.saqt.q.cpp.100.example.0.dangerous": "Line 5: A subject to analysis, Func() function, is defined.\nLine 6: A subject to analysis, memcpy_API01() function, is called. This is caught by the checker due to API01_COUNTER argument.",
  "rule.saqt.q.cpp.100.example.0.safe": "Line 5: A subject to analysis, Func() function, is defined.\nLine 6: A subject to analysis, memcpy_API01() function, is called. This is not caught by the checker due to \"test\" argument instead of the API01_COUNTER.",
  "rule.saqt.q.cpp.100.name": "Use of forbidden argument",
  "rule.saqt.q.cpp.100.option.call_param_should_not_be_name.description": "Forbidden parameters",
  "rule.saqt.q.cpp.100.option.call_param_should_not_be_name.name": "Forbidden parameters",
  "rule.saqt.q.cpp.100.option.call_target.description": "Target function call",
  "rule.saqt.q.cpp.100.option.call_target.name": "Target function call",
  "rule.saqt.q.cpp.100.option.file_target_excluded.description": "Files to be excluded",
  "rule.saqt.q.cpp.100.option.file_target_excluded.name": "Files to be excluded",
  "rule.saqt.q.cpp.100.option.function_target.description": "Set target functions with regular expressions",
  "rule.saqt.q.cpp.100.option.function_target.name": "Target functions",
  "rule.saqt.q.cpp.100.option.function_target_excluded.description": "Set up functions to be excluded from analyzing.",
  "rule.saqt.q.cpp.100.option.function_target_excluded.name": "Functions to be excluded",
  "rule.saqt.q.cpp.101.description": "The Improper value on sting argument checker finds calls to optionally specified functions with a non-string value passed to a specific argument position.\nYou can optionally specify files excluded from analysis, functions subject to analysis, functions excluded from analysis, callee functions, and string argument positions.\nInspect arguments passed to functions to prevent their misuse and conform to APIs. A misuse of an argument may cause an unexpected program behavior.\nMake sure arguments at the optionally specified positions are strings.",
  "rule.saqt.q.cpp.101.example.0.dangerous": "Line 3: A subject to analysis, Func() function, is defined.\nLine 4: A subject to analysis, memcpy_API02() function, is called. The second argument is not a string, but variable y.",
  "rule.saqt.q.cpp.101.example.0.safe": "Line 3: A subject to analysis, Func() function, is defined.\nLine 4: A subject to analysis, memcpy_API02() function, is called. The second argument is a string, this is not detected.",
  "rule.saqt.q.cpp.101.name": "Improper value on sting argument",
  "rule.saqt.q.cpp.101.option.call_param_should_be_string.description": "Parameter which should be place string in calling function",
  "rule.saqt.q.cpp.101.option.call_param_should_be_string.name": "Parameter which should be place string in calling function",
  "rule.saqt.q.cpp.101.option.call_target.description": "Target function call",
  "rule.saqt.q.cpp.101.option.call_target.name": "Target function call",
  "rule.saqt.q.cpp.101.option.file_target_excluded.description": "Files to be excluded",
  "rule.saqt.q.cpp.101.option.file_target_excluded.name": "Files to be excluded",
  "rule.saqt.q.cpp.101.option.function_target.description": "Set up functions to be analyzed.",
  "rule.saqt.q.cpp.101.option.function_target.name": "Target functions",
  "rule.saqt.q.cpp.101.option.function_target_excluded.description": "Set up functions to be excluded from analyzing.",
  "rule.saqt.q.cpp.101.option.function_target_excluded.name": "Functions to be excluded",
  "rule.saqt.q.cpp.102.description": "The Use of unspecified argument checker finds calls to optionally specified functions without the optionally specified arguments passed to their specific positions.\nYou can optionally specify files excluded from analysis, functions subject to analysis, functions excluded from analysis, callee functions, argument positions, and argument names.\nInspect arguments passed to functions to prevent their misuse and conform to APIs. A misuse of an argument may cause an unexpected program behavior.\nMake sure optionally specified arguments are passed to their specific positions. ",
  "rule.saqt.q.cpp.102.example.0.dangerous": "Line 4: A subject to analysis, Func() function, is defined.\nLine 5: memcpy_API03() function is called. The second argument is not optionally specified.",
  "rule.saqt.q.cpp.102.example.0.safe": "Line 4: A subject to analysis, Func() function, is defined.\nLine 5: memcpy_API03() function is called. The second argument has been optionally specified.",
  "rule.saqt.q.cpp.102.name": "Use of unspecified argument",
  "rule.saqt.q.cpp.102.option.call_param_should_be_name.description": "Required call parameters",
  "rule.saqt.q.cpp.102.option.call_param_should_be_name.name": "Required call parameters",
  "rule.saqt.q.cpp.102.option.call_target.description": "Target function call",
  "rule.saqt.q.cpp.102.option.call_target.name": "Target function call",
  "rule.saqt.q.cpp.102.option.file_target_excluded.description": "Files to be excluded",
  "rule.saqt.q.cpp.102.option.file_target_excluded.name": "Files to be excluded",
  "rule.saqt.q.cpp.102.option.function_target.description": "Set up functions to be analyzed.",
  "rule.saqt.q.cpp.102.option.function_target.name": "Target functions",
  "rule.saqt.q.cpp.102.option.function_target_excluded.description": "Set up functions to be excluded from analyzing.",
  "rule.saqt.q.cpp.102.option.function_target_excluded.name": "Functions to be excluded",
  "rule.saqt.q.cpp.103.description": "The Inadequate variable arguments checker finds calls to optionally specified functions in which the argument in the designated position is not an integer constant or its value differs from the number of subsequent arguments.\nYou can optionally specify files excluded from analysis, functions subject to analysis, functions excluded from analysis, callee functions, integer argument position, and number of subsequent arguments. \nThe arguments passed to functions need to be inspected to prevent their misuse and conform to APIs. A misuse of an argument may cause an unexpected program behavior.\nMake sure an integer constant is passed to the optionally specified position and is followed by as many arguments as the value of the integer argument.",
  "rule.saqt.q.cpp.103.example.0.dangerous": "Line 2: A subject to analysis, Func() function, is defined.\nLine 4: Fun_API04_call() function is called. Two argument are found at the end of the first argument.",
  "rule.saqt.q.cpp.103.example.0.safe": "Line 2: A subject to analysis, Func() function, is defined.\nLine 4: Fun_API04_call() function is called. One argument has been found at the end of the first argument.",
  "rule.saqt.q.cpp.103.name": "Inadequate variable arguments",
  "rule.saqt.q.cpp.103.option.call_param_should_be_deciaml.description": "Call parameter which should not be decimal",
  "rule.saqt.q.cpp.103.option.call_param_should_be_deciaml.name": "Call parameter which should not be decimal",
  "rule.saqt.q.cpp.103.option.call_param_value_equal_next_param_count.description": "Parameter index which represent various arguments' number",
  "rule.saqt.q.cpp.103.option.call_param_value_equal_next_param_count.name": "Parameter index which represent various arguments' number",
  "rule.saqt.q.cpp.103.option.call_target.description": "Target function call",
  "rule.saqt.q.cpp.103.option.call_target.name": "Target function call",
  "rule.saqt.q.cpp.103.option.file_target_excluded.description": "Files to be excluded",
  "rule.saqt.q.cpp.103.option.file_target_excluded.name": "Files to be excluded",
  "rule.saqt.q.cpp.103.option.function_target.description": "Set target functions with regular expressions",
  "rule.saqt.q.cpp.103.option.function_target.name": "Target functions",
  "rule.saqt.q.cpp.103.option.function_target_excluded.description": "Set up functions to be excluded from analyzing.",
  "rule.saqt.q.cpp.103.option.function_target_excluded.name": "Functions to be excluded",
  "rule.saqt.q.cpp.1035.description": "The Implicit casting of float checker finds expressions that implicitly cast the value of a complex float expression to a larger float type.\nAn implicit cast to a larger or smaller type of the same kind may be an unintended result. It is because, unlike an explicit cast, an implicit cast can possibly be an action the developer is not aware of. In this case, the cast may alter the original value.\nA type cast must be explicit.",
  "rule.saqt.q.cpp.1035.example.0.dangerous": "Line 4: A value of a complex float expression is implicitly casted to a larger float type.",
  "rule.saqt.q.cpp.1035.example.0.safe": "Line 4: Explicitly cast the value of the complex float expression to a larger float type.",
  "rule.saqt.q.cpp.1035.name": "Implicit casting of float",
  "rule.saqt.q.cpp.1036.description": "The Unencapsulated assembly language checker finds inline assembly codes that are not separated into individual functions.\nIf possible, inline assemblers needs to be restricted because they can compromise code compatibility.\nIf an inline assembler is necessary, encapsulate the assembly inserts into specific functions.",
  "rule.saqt.q.cpp.1036.example.0.dangerous": "Line 3: An inline assembler is not abstracted.",
  "rule.saqt.q.cpp.1036.example.0.safe": "Line 1: Encapsulate the inline assembler to a function.",
  "rule.saqt.q.cpp.1036.name": "Unencapsulated assembly language",
  "rule.saqt.q.cpp.1036.option.allow_asm_macro.description": "Allow asm macro when set checkbox.",
  "rule.saqt.q.cpp.1036.option.allow_asm_macro.name": "Allow asm macro",
  "rule.saqt.q.cpp.1039.description": "The Identifier with Over 31 Characters checker finds instances in which an identifier representing an entity of a certain type is longer than 31 characters.\nThe checker performs checks on the identifiers of tags, variables, types, fields, and macros.\nThe ISO standard provides that identifiers must be uniquely identified by the first 31 characters to ensure code compatibility. This means that identifiers with over 31 characters can cause a compatibility issue when the source code is compiled in a different environment.\nName identifiers with a maximum of 31 characters.",
  "rule.saqt.q.cpp.1039.example.0.dangerous": "Line 1: A struct tag name exceeds 31 characters.\nLine 3: A struct field name exceeds 31 characters.\nLine 7: A typedef name exceeds 31 characters.\nLine 11: A local variable name exceeds 31 characters.",
  "rule.saqt.q.cpp.1039.example.0.safe": "Line 1: Rename the struct tag with 31 or less characters.\nLine 3: Rename the struct field with 31 or less characters.\nLine 7: Rename the typedef name with 31 or less characters.\nLine 11: Rename the local variable with 31 or less characters.",
  "rule.saqt.q.cpp.1039.name": "Identifier with Over 31 Characters",
  "rule.saqt.q.cpp.1044.description": "The Duplicated name in namespace checker finds instances in which identifiers belonging to different namespaces share the same name.\nIdentifiers in different namespaces do not override one another even if they are named identically. Nevertheless, this checker searches for identically named identifiers regardless which namespaces they belong to. But the names of struct and struct fields are excluded from checking.\nIdentifiers for other entities must not share the same name even if they belong to different namespaces.",
  "rule.saqt.q.cpp.1044.example.0.dangerous": "Line 2: A struct named sourceTest is declared.\nLine 8: A struct named sourceTest is declared. This name is used as a name of struct in Line 2.",
  "rule.saqt.q.cpp.1044.example.0.safe": "Line 8: Do not use identifiers in different namespaces to name them.",
  "rule.saqt.q.cpp.1044.name": "Duplicated name in namespace",
  "rule.saqt.q.cpp.1046.description": "The Assignment of improper type checker finds assignment expressions whose assigned value and assignee variable have different types.\nThe issue occurs while performing assignment operation for basic types in the following situations: \nThe signs of both sides are different, and assigned value is mutable.\nAn integer type is used on the left side, and a float type is used on the right side.\nThe basic type of the left side is smaller than the right side. Yet, integer constants are excluded from the check because type checking can be differed by compiler. \nAn integer is assigned to boolean type instead of true or false.\nAssignment to a different type can result in assigning an unintended value. This can cause issues that are not easily identifiable.\nMake sure the assigned value and assignee variable have the same type. Change the type of the assignee variable, or adjust the suffix of the assigned value to match it to the assignee type.",
  "rule.saqt.q.cpp.1046.example.0.dangerous": "Line 5: The signs of both sides are different, and assigned value is mutable.\nLine 6: An integer type is used on the left side, and a float type is used on the right side.\nLine 7: The basic type of the left side is smaller than the right side.\nLine 8: An integer is assigned to boolean type instead of true or false.",
  "rule.saqt.q.cpp.1046.example.0.safe": "Line 5: Perform explicit type casting for the value.\nLine 6: Assign an integer for the integer type.\nLine 7: Make sure that the basic type of the left side is bigger than the right side.\nLine 8: Assign true or false to the boolean type.",
  "rule.saqt.q.cpp.1046.name": "Assignment of improper type",
  "rule.saqt.q.cpp.1047.description": "The Replaced character type variable checker finds instances of assigning or comparing a number to a variable of the plain char type with no signedness specification.\nThe plain char type can behave like either the unsigned or signed char type depending on the compiler. The use of a number for a plain char variable can produce different values by compiler. Therefore, it is recommended to use a character value for the plain char type, and use a numeric value for the unsigned or signed char type.\nDo not use a numeric value for the plaint char type.",
  "rule.saqt.q.cpp.1047.example.0.dangerous": "Line 1: A parameter foo is defined as plain char type.\nLine 10: An integer constant, 111, is used instead of char, and compared with the foo of plain char type.",
  "rule.saqt.q.cpp.1047.example.0.safe": "Line 3: If a variable of plain char type is verified in conditional statement of switch, use normal characters only for case statements.",
  "rule.saqt.q.cpp.1047.name": "Replaced character type variable",
  "rule.saqt.q.cpp.1048.description": "The Character value as operand of operation checker finds instances of using a arithmetic operator to a variable of the plain char type with no signedness specification.\nThe plain char type can behave like either the unsigned or signed char type depending on the compiler. The use of a number for a plain char variable can produce different values by compiler. Therefore, it is recommended to use a character value for the plain char type, and use a numeric value for the unsigned or signed char type.\nDo not use a arithmetic operator for the plaint char type.",
  "rule.saqt.q.cpp.1048.example.0.dangerous": "Line 2: foo variable is defined as a plain char type.\nLine 3: The foo variable is used as an operand of arithmetic operation.",
  "rule.saqt.q.cpp.1048.example.0.safe": "Line 3: Do not use an arithmetic operator on the variable of the plain char type.",
  "rule.saqt.q.cpp.1048.name": "Character value as operand of operation",
  "rule.saqt.q.cpp.1049.description": "The Missing explicit casting checker finds instances in which an implicit cast is caused by type mismatch between the two sides of an assignment operation.\nAssignment with a larger type on the left-hand side is not subject to the checking; the checker reports only for those assignments that may alter the value.\nIf the operands on the two sides of the assignment operator are of different types, it can result in assigning an unintended value. This can cause issues that are not easily identifiable.\nWhen assigning, use an explicit cast to match the types of the operands on the two sides. Even if a value change caused by a cast is implemented on purpose, the use of an explicit cast can help clarify such an intention.",
  "rule.saqt.q.cpp.1049.example.0.dangerous": "Line 1: A parameter u32a of uint32_t type is declared.\nLine 2: A variable u16a of uint16_t type is initialized into u32a. This leads to an implicit casting, a type on the left gets smaller than the type on the right.",
  "rule.saqt.q.cpp.1049.example.0.safe": "Line 2: Explicitly cast a value on the right to assign.",
  "rule.saqt.q.cpp.1049.name": "Missing explicit casting",
  "rule.saqt.q.cpp.105.description": "The Unused wrapper function function checker finds calls to optionally designated functions that are not passed as arguments to an optionally specified function.\nYou can optionally specify callee functions and functions to pass as arguments.\nInspect arguments passed to functions to prevent their misuse and conform to APIs. A misuse of an argument may cause an unexpected program behavior.\nMake sure optionally designated functions are used only as arguments for specified functions. ",
  "rule.saqt.q.cpp.105.example.0.dangerous": "Line 4: API06_NEED_WRAPPER() function is not used as an argument of API06_WRAPPER().",
  "rule.saqt.q.cpp.105.example.0.safe": "Line 4: API06_NEED_WRAPPER() function is used as an argument of API06_WRAPPER().",
  "rule.saqt.q.cpp.105.name": "Unused wrapper function",
  "rule.saqt.q.cpp.105.option.call_should_be_used_parameter.description": "Required parameter variable and index",
  "rule.saqt.q.cpp.105.option.call_should_be_used_parameter.name": "Required parameter variable and index",
  "rule.saqt.q.cpp.105.option.call_target.description": "Target function call",
  "rule.saqt.q.cpp.105.option.call_target.name": "Target function call",
  "rule.saqt.q.cpp.1050.description": "The Replaced signed character type variable checker finds instances of assigning or comparing a character to a variable of the unsigned char or signed char type.\nThe plain char type can behave like either the unsigned or signed char type depending on the compiler. The use of a number for a plain char variable can produce different values by compiler. Therefore, it is recommended to use a character value for the plain char type, and use a numeric value for the unsigned or signed char type.\nDo not use a character for the signed char type.",
  "rule.saqt.q.cpp.1050.example.0.dangerous": "Line 1: A parameter ch is defined as a unsigned char type.\nLine 4: A numeric value is replaced by character 'a'. Then, is has been compared to the parameter ch of unsigned char type.",
  "rule.saqt.q.cpp.1050.example.0.safe": "Line 3: If a variable of signed char type is verified in conditional statement of switch, use numeric values only for case statements.",
  "rule.saqt.q.cpp.1050.name": "Replaced signed character type variable",
  "rule.saqt.q.cpp.1051.description": "The Direct use of primitive type checker finds statements that do not declared typedef on basic types, such as int or float.\nDo not use the basic types as they are. Ensure to declare them as typedef to specify storage size.",
  "rule.saqt.q.cpp.1051.example.0.dangerous": "Line 2: A variable is declared by using a default type, int.",
  "rule.saqt.q.cpp.1051.example.0.safe": "Line 1: Specify storage size of default type, and declare as a typedef.",
  "rule.saqt.q.cpp.1051.name": "Direct use of primitive type",
  "rule.saqt.q.cpp.1053.description": "The Improper type of bit field checker finds instances of declaring a bit field as a different type than unsigned int or signed int.\nA numeric type other than unsigned int or signed int is not suitable for bit fields because of compatibility issues. Furthermore, plain int with no signedness specification is defined differently depending on the compiler. Therefore, the explicit use of the signed int type is the best approach.\nDeclare bit fields only as unsigned or signed int.",
  "rule.saqt.q.cpp.1053.example.0.dangerous": "Line 3: A long type is used for a bitfield.\nLine 4: A short type is used for a bitfield.",
  "rule.saqt.q.cpp.1053.example.0.safe": "Line 1: Use unsigned int or signed int type for a bitfield.",
  "rule.saqt.q.cpp.1053.name": "Improper type of bit field",
  "rule.saqt.q.cpp.1054.description": "The Too small signed integer type checker finds declarations of signed bit fields with a size of 1 bit.\nIn the C99 standard, a 1 bit-wide signed bit field is considered to have only the sign bit and no value bit. If the value bit is fixed at 0, such a bit field cannot represent a meaningful value.\nMake sure that signed bit fields are declared with a size of at least two bits. If a bit field must be 1 bit long, declare it as an unsigned.",
  "rule.saqt.q.cpp.1054.example.0.dangerous": "Line 2: The size of signed type bitfield is set to 1 bit.",
  "rule.saqt.q.cpp.1054.example.0.safe": "Line 2: Set the size of signed type bitfield at least to 2 bits.",
  "rule.saqt.q.cpp.1054.name": "Too small signed integer type",
  "rule.saqt.q.cpp.1055.description": "The Use of Octal Number checker finds expressions that use an octal number.\nA constant starting with a 0 is considered an octal number.\nIn source code, octal numbers are often unintendedly used when the developer appends preceding zeros to ensure a certain number of digits. Unaware of this possibility, developers may use an incorrect constant value.\nTake care not to use an octal number when writing a constant in code.",
  "rule.saqt.q.cpp.1055.example.0.dangerous": "Line 3: A decimal const, 2719, is assigned.\nLine 4: A decimal const, 4435, is assigned.\nLine 5: A const, 0042, is assigned for readability. However, 0042 is an octal constant, 34 in decimal has been assigned.",
  "rule.saqt.q.cpp.1055.example.0.safe": "Line 5: Use a decimal constant.",
  "rule.saqt.q.cpp.1055.name": "Use of Octal Number",
  "rule.saqt.q.cpp.1056.description": "The Suspicious octal escape sequence checker finds expressions that use an octal escape sequence.\nA backslash followed by three digits from 0 through 7 is considered an octal escape sequence.\nHandling octal escape sequences is an implementation-defined behavior, which can be implemented differently depending on the compiler. For example, an octal escape sequence can, depending on the following numerical digits, be expressed either as a single octal number or as an octal number followed by a decimal integer. Unaware of this possibility, developers may use an incorrect constant value.\nDo not use octal escape sequences.",
  "rule.saqt.q.cpp.1056.example.0.dangerous": "Line 3: An hexadecimal escape sequence is used.",
  "rule.saqt.q.cpp.1056.example.0.safe": "Line 3: Do not use an octal escape sequence.",
  "rule.saqt.q.cpp.1056.name": "Suspicious octal escape sequence",
  "rule.saqt.q.cpp.1057.description": "The Function declaration in function checker finds instances of declaring a file not in file scope but within another function.\nA function declaration within another function is an undefined action. Such code may output different results depending on compilers and thus is unpredictable.\nMake sure functions are declared in file scope.",
  "rule.saqt.q.cpp.1057.example.0.dangerous": "Line 4: bar() function is declared within foo() function.",
  "rule.saqt.q.cpp.1057.example.0.safe": "Line 1: Make sure functions are declared in file scope.",
  "rule.saqt.q.cpp.1057.name": "Function declaration in function",
  "rule.saqt.q.cpp.1058.description": "The Unnecessary global variable checker finds instances in which a global variable is accessed only in one function.\nA variable accessed only in one function does not have to be global. Define variables in the minimum block scope possible to reduce the possibility that they are used elsewhere accidentally.\nVariables used only in a single function need to be declared local.",
  "rule.saqt.q.cpp.1058.example.0.dangerous": "Line 3: A global variable g_c is declared.\nLine 17: A global variable g_c is used. This variable has been used by main() function only.",
  "rule.saqt.q.cpp.1058.example.0.safe": "Line 16: Modify the global variable g_c into a local variable of main() function.",
  "rule.saqt.q.cpp.1058.name": "Unnecessary global variable",
  "rule.saqt.q.cpp.1059.description": "The Duplicated external object or function checker finds extern objects and functions declared in multiple header files.\nIf an identifier is defined multiple times in different translation units, or is never defined, link errors and various other issues can arise.\nDeclare each extern object and function only once in one header file.",
  "rule.saqt.q.cpp.1059.example.0.dangerous": "Line 2: calc() is delcared as extern in foo.h header file.\nLine 4: calc() is delcared as extern in bar.h header file.",
  "rule.saqt.q.cpp.1059.example.0.safe": "Line 4: Change a function name declared as extern in bar.h header file.",
  "rule.saqt.q.cpp.1059.name": "Duplicated external object or function",
  "rule.saqt.q.cpp.106.description": "The Violation of rule of argument usage after function call checker finds instances of using a specific argument after a specific function is called.\nYou can optionally specify callee functions and forbidden arguments.\nInspect arguments passed to functions to prevent their misuse and conform to APIs. A misuse of an argument may cause an unexpected program behavior.\nMake sure forbidden values, strings, and parameter names are not passed as arguments after an optionally specified function is called. ",
  "rule.saqt.q.cpp.106.example.0.dangerous": "Line 6: API07_FUNC() function is called.\nLine 7: API07_TARGET_NAME is used as an argument of output().",
  "rule.saqt.q.cpp.106.example.0.safe": "Line 6: API07_FUNC() function is called.\nLine 7: \"test\" is used as an argument of output().",
  "rule.saqt.q.cpp.106.name": "Violation of rule of argument usage after function call",
  "rule.saqt.q.cpp.106.option.call_param_should_not_be_name.description": "Forbidden parameters",
  "rule.saqt.q.cpp.106.option.call_param_should_not_be_name.name": "Forbidden parameters",
  "rule.saqt.q.cpp.106.option.function_target_begin_call_function.description": "Target functions begin call",
  "rule.saqt.q.cpp.106.option.function_target_begin_call_function.name": "Target functions begin call",
  "rule.saqt.q.cpp.1060.description": "The Non-static object or function without external reference checker detects objects and functions that do not need to be accessed externally and are declared extern to the file scope.\nIt is recommended that global objects that do not need to be accessed externally be declared statically and hidden inside a single translation unit. This prevents unnecessary conflicts with global objects and functions in other files.\nFile-scoped objects or functions that are used only in one file should be declared statically.",
  "rule.saqt.q.cpp.1060.example.0.dangerous": "Line 2: A wrong variable is declared as extern. This variable has been used by foo.c file only.",
  "rule.saqt.q.cpp.1060.example.0.safe": "Line 2: Declare the wrong variable as static, while the static keyword is omittable.",
  "rule.saqt.q.cpp.1060.name": "Non-static object or function without external reference",
  "rule.saqt.q.cpp.1061.description": "The Missing curly brace in array initialization checker finds instances of brace initialization in which the struct or array object is assigned a differently nested set of elements.\nWhen a struct or array is initialized, pairs of braces are used to enclose the assigned initial elements. To initialize a nested object, the assigned initial set of elements must be brace-nested identically to the assignee object. If a differently nested element set is assigned, the initialization result may differ by compiler.\nUnless a strut or array object is to be initialized to 0, be sure the initial element set has the same brace-nesting structure as the initialized object.",
  "rule.saqt.q.cpp.1061.example.0.dangerous": "Line 12: foo2() function is initialized with braces. Braces to enclose the first and second elements is omitted.",
  "rule.saqt.q.cpp.1061.example.0.safe": "Line 12: Perform brace initialization for an array or struct.",
  "rule.saqt.q.cpp.1061.name": "Missing curly brace in array initialization",
  "rule.saqt.q.cpp.1062.description": "The Insufficient initialization value checker finds struct/array definitions in which the struct/array object is assigned an initial set of elements that are smaller in number than the struct/array size.\nIn case of brace initialization with an small set of elements, the elements out of range are basically initialized to 0. However, the developer may have not intended this action. If this is not an intended result, the program may behave unexpectedly.\nWhen initializing a struct or array, be sure the assigned initial value set has the same number of elements as the size of the initialized object.",
  "rule.saqt.q.cpp.1062.example.0.dangerous": "Line 2: An array with size of 3 is initialized with braces. However, it has two initialization element.",
  "rule.saqt.q.cpp.1062.example.0.safe": "Line 2: The number of elements in brace initialization must match the size of array.",
  "rule.saqt.q.cpp.1062.name": "Insufficient initialization value",
  "rule.saqt.q.cpp.1064.description": "The Partially initialized enumeration list checker finds enumeration assignment statements that assign values only to part of the enumerators.\nIf an enumeration is not assigned values, the first enumerator assumes a value of zero and each enumerator succeeding is incremented by one. If only a particular enumerator is assigned a value, it takes the assigned value and each subsequent enumerator is incremented by one from it. If only some enumerators of an enumeration are assigned values, it may be confusing what value is assumed by each enumerator. Furthermore, some enumerators can have the same value. This results in an wanted behavior of the program.\nEither do not assign to any enumerator, or assign to all enumerators.",
  "rule.saqt.q.cpp.1064.example.0.dangerous": "Line 3: 432 is assigned to element melon of enum list.\nLine 4: 2 is assigned to element orange of enum list.\nLine 5: A value of strawberry of enum list is initialized into 3 by a compiler. However, the value has overlapped with one in element melon.",
  "rule.saqt.q.cpp.1064.example.0.safe": "Line 2: Do not initialize all elements of enum list.",
  "rule.saqt.q.cpp.1064.name": "Partially initialized enumeration list",
  "rule.saqt.q.cpp.1064.option.allow_enum_assign.description": "Enumeration allows to assign a different enumeration.",
  "rule.saqt.q.cpp.1064.option.allow_enum_assign.name": "Enumeration assign allowed",
  "rule.saqt.q.cpp.1065.description": "The Implicit casting of integer checker finds expressions that implicitly cast an integer value to a larger integer type.\nAn implicit cast to a larger or smaller type of the same kind may be an unintended result. It is because, unlike an explicit cast, an implicit cast can possibly be an action the developer is not aware of. In this case, the cast may alter the original value.\nA type cast must be explicit.",
  "rule.saqt.q.cpp.1065.example.0.dangerous": "Line 6: An argumnet foo is implicitly cast into int32_t type in use_int32() call.",
  "rule.saqt.q.cpp.1065.example.0.safe": "Line 6: Explicitly cast foo argument.",
  "rule.saqt.q.cpp.1065.name": "Implicit casting of integer",
  "rule.saqt.q.cpp.1066.description": "The Implicit upcasting of integer checker finds expressions that implicitly cast the value of a complex float expression to a larger float type.\nAn implicit cast to a larger or smaller type of the same kind may be an unintended result. It is because, unlike an explicit cast, an implicit cast can possibly be an action the developer is not aware of. In this case, the cast may alter the original value.\nA type cast must be explicit.",
  "rule.saqt.q.cpp.1066.example.0.dangerous": "Line 5: A complex const expression is implicitly casted to a larger const type.",
  "rule.saqt.q.cpp.1066.example.0.safe": "Line 4: Explicitly cast the value of the complex const expression to a larger const type.",
  "rule.saqt.q.cpp.1066.name": "Implicit upcasting of integer",
  "rule.saqt.q.cpp.1067.description": "The Implicit downcasting of integer checker finds expressions that implicitly cast the value of a complex integer expression to a small integer type.\nAn implicit cast to a larger or smaller type of the same kind may be an unintended result. It is because, unlike an explicit cast, an implicit cast can possibly be an action the developer is not aware of. In this case, the cast may alter the original value.\nA type cast must be explicit.",
  "rule.saqt.q.cpp.1067.example.0.dangerous": "Line 5: A complex const expression is implicitly casted to a smaller const type.",
  "rule.saqt.q.cpp.1067.example.0.safe": "Line 5: Explicitly cast the value of the complex const expression to a smaller const type.",
  "rule.saqt.q.cpp.1067.name": "Implicit downcasting of integer",
  "rule.saqt.q.cpp.1068.description": "The Mismatched return types of definition and declaration checker finds functions that return an expression of another type than their declared type.\nReturning a different type from the declared type may be an unintended action. This causes an implicit cast that may alter the resultant value.\nCast the returned type to the declared type, or adjust it to match the declared type.",
  "rule.saqt.q.cpp.1068.example.0.dangerous": "Line 2: A float type is returned. However, it has not matched with a return type of foo() function, int32_t.\nLine 7: A double type is returned. However, it has not matched with a return type of bar() function, float.",
  "rule.saqt.q.cpp.1068.example.0.safe": "Line 2: Return a const type to match the return type of function, int32_t.\nLine 7: Append suffix F to match the return type of function, float.",
  "rule.saqt.q.cpp.1068.name": "Mismatched return types of definition and declaration",
  "rule.saqt.q.cpp.1068.option.strict_suffix.description": "A function which returns 32bit floating point type should be add a suffix 'F' on platform that has 32bit 'float' type and 64bit 'double' type.",
  "rule.saqt.q.cpp.1068.option.strict_suffix.name": "Essential suffix 'F'",
  "rule.saqt.q.cpp.1069.description": "The Use of forbidden macro checker finds macros that are not declared in the correct manner.\nThe entities allowed in macro declarations include braced initializers, constants, strings, parenthesized expressions, type qualifiers, storage class specifiers, and do-while(0) loops.\nIf used correctly, macros can be a useful feature. However, the code in a macro is not actually executed as can it be observed. Therefore, a careless use of macros can cause various problems.\nDo not declare or use a macro using a disallowed entity.",
  "rule.saqt.q.cpp.1069.example.0.dangerous": "Line 1: #define macro is used to define types.",
  "rule.saqt.q.cpp.1069.example.0.safe": "Line 1: Use typedef to define types.",
  "rule.saqt.q.cpp.1069.name": "Use of forbidden macro",
  "rule.saqt.q.cpp.1070.description": "The Implicit casting of float checker finds expressions that implicitly cast a float value to a larger float type.\nAn implicit cast to a larger or smaller type of the same kind may be an unintended result. It is because, unlike an explicit cast, an implicit cast can possibly be an action the developer is not aware of. In this case, the cast may alter the original value.\nA type cast must be explicit.",
  "rule.saqt.q.cpp.1070.example.0.dangerous": "Line 6: An argumnet f32a is implicitly cast into float64_t type in use_f64() call.",
  "rule.saqt.q.cpp.1070.example.0.safe": "Line 5: Explicitly cast an argument f32a.",
  "rule.saqt.q.cpp.1070.name": "Implicit casting of float",
  "rule.saqt.q.cpp.1071.description": "The Implicit downcasting of integer checker finds expressions that implicitly cast the value of a complex integer expression to a small integer type.\nAn implicit cast to a larger or smaller type of the same kind may be an unintended result. It is because, unlike an explicit cast, an implicit cast can possibly be an action the developer is not aware of. In this case, the cast may alter the original value.\nA type cast must be explicit.",
  "rule.saqt.q.cpp.1071.example.0.dangerous": "Line 5: A complex float expression is implicitly casted to a smaller float type.",
  "rule.saqt.q.cpp.1071.example.0.safe": "Line 5: Explicitly cast the value of the complex float expression to a smaller float type.",
  "rule.saqt.q.cpp.1071.name": "Implicit downcasting of float",
  "rule.saqt.q.cpp.1072.description": "The Casting integer to larger type checker finds expressions that implicitly cast the value of a compound integral expression to a larger integer type.\nFor some processors, casting the result of a compound expression can produce an unexpected value. This may lead to processing a value from wrong bits.\nAll integers making up a compound integral expression need to be of the same integer type. If conversion to another type is needed, assign the compound expression result first and then cast the assignee.",
  "rule.saqt.q.cpp.1072.example.0.dangerous": "Line 2: uint16_t type in complex expression is cast into to a larger integer type, uint32_t.",
  "rule.saqt.q.cpp.1072.example.0.safe": "Line 2: Store uint16_t type in complex expression in the same type object.\nLine 3: Perform casting on unary operation when a larger int type is required.",
  "rule.saqt.q.cpp.1072.name": "Casting integer to larger type",
  "rule.saqt.q.cpp.1073.description": "The Conversion between signed and unsigned data checker finds compound expressions that cast between signed and unsigned integer types.\nFor some processors, casting the result of a compound expression can produce an unexpected value. This may lead to processing a value from wrong bits.\nAll integers making up a compound expression need to be of the same signedness.",
  "rule.saqt.q.cpp.1073.example.0.dangerous": "Line 2: A signed int of complex expression is cast into unsigned int type.",
  "rule.saqt.q.cpp.1073.example.0.safe": "Line 2: Keep signed or unsigned type in complex expression.",
  "rule.saqt.q.cpp.1073.name": "Conversion between signed and unsigned data",
  "rule.saqt.q.cpp.1074.description": "The Casting float to larger type checker finds expressions that implicitly cast the value of a complex float expression to a larger float type.\nFor some processors, casting the result of a compound expression can produce an unexpected value. This may lead to processing a value from wrong bits.\nAll float types making up a compound float expression need to be of the same float type. If conversion to another type is needed, assign the compound expression result first and then cast the assignee.",
  "rule.saqt.q.cpp.1074.example.0.dangerous": "Line 2: float32_t type in complex expression is cast into to a larger float type, float64_t.",
  "rule.saqt.q.cpp.1074.example.0.safe": "Line 2: Store uint16_t type in complex expression in the same type object.\nLine 3: Perform casting on unary operation when a larger float type is required.",
  "rule.saqt.q.cpp.1074.name": "Casting float to larger type",
  "rule.saqt.q.cpp.1075.description": "The Missing casting for result of bitwise operation checker finds instances in which a bitwise operation is performed on an unsigned char or unsigned short in an assignment statement but the result is not immediately cast to the type of the assignee.\nThe bitwise operators include ~, <<, and >>.\nA bitwise operation on an unsigned char or unsigned short may result in an integral promotion. So, failure of an immediate cast to the final return type may result in an unexpected value.\nMake sure that a bitwise operation on an unsigned char or unsigned short is immediately followed by a cast to the final type.",
  "rule.saqt.q.cpp.1075.example.0.dangerous": "Line 4: A bitwise operation is performed on port variable. However, casting is not performed.",
  "rule.saqt.q.cpp.1075.example.0.safe": "Line 4: Perform a bitwise operation on port variable, and then casting into unsigned short type.",
  "rule.saqt.q.cpp.1075.name": "Missing casting for result of bitwise operation",
  "rule.saqt.q.cpp.1076.description": "The Casting from pointer type to integer type checker finds expressions that cast a pointer type to an integer type.\nThe size of integer that is required when a pointer is converted to an integer is implementation-defined, which can possibly have different values depending on the compiler. Casting between a pointer and an integer type should be avoided where possible, but may be unavoidable when addressing memory mapped registers or other hardware specific features.\nDo not cast pointer types into integer.",
  "rule.saqt.q.cpp.1076.example.0.dangerous": "Line 4: A pointer type is cast into int.",
  "rule.saqt.q.cpp.1076.example.0.safe": "Line 4: Do not perform casting on a pointer into int.",
  "rule.saqt.q.cpp.1076.name": "Casting from pointer type to integer type",
  "rule.saqt.q.cpp.1077.description": "The Casting from integer type to pointer type checker finds expressions that cast an integer type to a pointer type.\nGenerally, a cast from an integer or void pointer to a pointer pointing to a type can cause undefined behavior. Therefore, such a cast must not be performed so long as possible.\nDo not cast an integer type to a pointer type.",
  "rule.saqt.q.cpp.1077.example.0.dangerous": "Line 2: An int type is cast into pointer.",
  "rule.saqt.q.cpp.1077.example.0.safe": "Line 2: Do not perform casting on an int type into pointer.",
  "rule.saqt.q.cpp.1077.name": "Casting from integer type to pointer type",
  "rule.saqt.q.cpp.1078.description": "The Casting to pointer type checker finds expressions that cast a general or pointer type to another pointer type.\nGenerally, a cast from a general or pointer type to another type causes a lot of issues at runtime. Therefore, such a cast must not be performed so long as possible.\nDo not cast a general or pointer type to another pointer type.",
  "rule.saqt.q.cpp.1078.example.0.dangerous": "Line 5: long* type is cast into short*.",
  "rule.saqt.q.cpp.1078.example.0.safe": "Line 5: Do not perform casting on object into other pointer.",
  "rule.saqt.q.cpp.1078.name": "Casting to pointer type",
  "rule.saqt.q.cpp.108.description": "The Use of forbidden string as argument checker finds calls to optionally specified functions that pass a string value to the designated argument position.\nYou can optionally specify files excluded from analysis, functions subject to analysis, functions excluded from analysis, callee functions, and string argument positions.\nInspect arguments passed to functions to prevent their misuse and conform to APIs. A misuse of an argument may cause an unexpected program behavior.\nMake sure strings are not passed to optionally specified argument positions.",
  "rule.saqt.q.cpp.108.example.0.dangerous": "Line 3: A subject to analysis, Func() function, is defined.\nLine 4: The second argument of memcpy_API09() function is a string.",
  "rule.saqt.q.cpp.108.example.0.safe": "Line 3: A subject to analysis, Func() function, is defined.\nLine 4: The second argument of memcpy_API09() function is a const.",
  "rule.saqt.q.cpp.108.name": "Use of forbidden string as argument",
  "rule.saqt.q.cpp.108.option.call_param_should_not_be_string.description": "Call parameter which should not be string",
  "rule.saqt.q.cpp.108.option.call_param_should_not_be_string.name": "Call parameter which should not be string",
  "rule.saqt.q.cpp.108.option.call_target.description": "Target function call",
  "rule.saqt.q.cpp.108.option.call_target.name": "Target function call",
  "rule.saqt.q.cpp.108.option.file_target_excluded.description": "Files to be excluded",
  "rule.saqt.q.cpp.108.option.file_target_excluded.name": "Files to be excluded",
  "rule.saqt.q.cpp.108.option.function_target.description": "Set target functions with regular expressions",
  "rule.saqt.q.cpp.108.option.function_target.name": "Target functions",
  "rule.saqt.q.cpp.108.option.function_target_excluded.description": "Set up functions to be excluded from analyzing.",
  "rule.saqt.q.cpp.108.option.function_target_excluded.name": "Functions to be excluded",
  "rule.saqt.q.cpp.1081.description": "The Ambiguous order of priority of expressions checker finds compound expressions that do not use parentheses but rely solely on the predefined operator precedence rules.\nOperator precedence is quite confusing in C/C++, so reliance upon it may lead easily to mistakes. Operators behave according to their precedence, but the developer may have intended somewhat differently. Such a practice, therefore, may end up with an unwanted result.\nWhen constructing a compound expression with operators of different precedence, use parentheses to explicitly set their precedence.",
  "rule.saqt.q.cpp.1081.example.0.dangerous": "Line 3: Expressions are ordered by operator precedence.",
  "rule.saqt.q.cpp.1081.example.0.safe": "Line 3: Add parentheses to a * b operation, even a correct answer can be guaranteed by operator precedence.",
  "rule.saqt.q.cpp.1081.name": "Ambiguous order of priority of expressions",
  "rule.saqt.q.cpp.1082.description": "The SSide effect on expression checker finds expressions that cause side effects internally.\nA side effect refers to a modification that an expression makes to memory values. An ordinary alignment operation is not a mere expression but a complete expression statement; in this case, no problem arises with side effects. The checker rather reports when a side effect occurs on the right-hand side of an assignment or in the condition expression of a conditional.\nA side effect in an expression can make different results depending on the order of the comprising operations. Because regular operators have precedence, they may not cause a significant issue. However, there are some operators with no precedence defined; for example, the order of evaluating arguments passed in a function is not defined. If these arguments have a side effect, their evaluation can produce different results depending on the compiler.\nAvoid expressions with a side effect.",
  "rule.saqt.q.cpp.1082.example.0.dangerous": "Line 5: A side-effect occurs by x variable.The variable x is used as an index of arr array, thus, results can be varied by operating orders of its compiler.",
  "rule.saqt.q.cpp.1082.example.0.safe": "Line 5: Break expression to apply ++ operator on variable x into two.\nLine 6: Avoid expressions with side effects.",
  "rule.saqt.q.cpp.1082.name": "Side effect on expression",
  "rule.saqt.q.cpp.1083.description": "The Side effect on function call checker finds an expression with side effects during function call.\nA side effect refers to a modification that an expression makes to memory values.\nA side effect in an expression can make different results depending on the order of the comprising operations. Because regular operators have precedence, they may not cause a significant issue. However, there are some operators with no precedence defined; for example, the order of evaluating arguments passed in a function is not defined. If these arguments have a side effect, their evaluation can produce different results depending on the compiler.\nAvoid function calls with side effects.",
  "rule.saqt.q.cpp.1083.example.0.dangerous": "Line 5: Side effects is caused by func() function call. Entire expressions will cause side effects 3 times. Their results can be varied by operating orders of compilers.",
  "rule.saqt.q.cpp.1083.example.0.safe": "Line 5: Avoid function calls with side effects.\nLine 6: Avoid function calls with side effects.",
  "rule.saqt.q.cpp.1083.name": "Side effect on function call",
  "rule.saqt.q.cpp.1084.description": "The Side effect on parameter checker finds an expression with side effects on an argument during function call.\nA side effect refers to a modification that an expression makes to memory values.\nA side effect in an expression can make different results depending on the order of the comprising operations. Because regular operators have precedence, they may not cause a significant issue. However, there are some operators with no precedence defined; for example, the order of evaluating arguments passed in a function is not defined. If these arguments have a side effect, their evaluation can produce different results depending on the compiler.\nAvoid arguments of function calls with side effects.",
  "rule.saqt.q.cpp.1084.example.0.dangerous": "Line 4: Side-effects are caused by foo variable in someFunc() function call. Operation orders of arguments can be varied by compilers.",
  "rule.saqt.q.cpp.1084.example.0.safe": "Line 4: Avoid arguments of function calls with side effects.",
  "rule.saqt.q.cpp.1084.name": "Side effect on parameter",
  "rule.saqt.q.cpp.1085.description": "The Assignment in operands checker finds instances of including an assignment operation in an expression.\nThis includes the following occasions: The right-hand side of an assignment statement contains another assignment operation. A condition expression contains an assignment operation.\nSuch expressions may be written by mistake; or even if on purpose, they can cause side effects. In the condition expression of a loop or conditional, in particular, an assignment often comes by mistake in the place of a comparison; as such a misconstructed expression always evaluates to true, issues arise.\nDo not include an assignment operation in an expression. The checker, however, does not report for standalone assignment statements. Its checks apply only if an assignment operation is found on the right-hand side of another assignment or in a non-statement expression such as a condition expression.",
  "rule.saqt.q.cpp.1085.example.0.dangerous": "Line 3: Another assignment is performed in the right side of assignment.Because of bool type variable, a, the assignment can be misused of comparison.\nLine 4: Assignment is performed in initialization of variable y.",
  "rule.saqt.q.cpp.1085.example.0.safe": "Line 3: Perform a comparison.\nLine 4: Separate the assignment of 5 to x variable.\nLine 5: Assign variable x to initialization of variable y.",
  "rule.saqt.q.cpp.1085.name": "Assignment in operands",
  "rule.saqt.q.cpp.1086.description": "The Use of volatile type variable in complex expression checker finds complex expressions in which the same volatile-qualified variable occurs more than once.\nThe volatile qualifier tells that its qualified object may be modified from the outside. A volatile variable can assume different values during the evaluation of an expression with it. This can cause an unexpected result.\nBe sure a volatile variable does not occur more than once in a compound expression.",
  "rule.saqt.q.cpp.1086.example.0.dangerous": "Line 4: Variable v with volatile qualifier is used twice in a single expression.",
  "rule.saqt.q.cpp.1086.example.0.safe": "Line 4: Store the variable v with volatile qualifier in bar. A volatile variable can be used once in a single expression.",
  "rule.saqt.q.cpp.1086.name": "Use of volatile type variable in complex expression",
  "rule.saqt.q.cpp.1087.description": "The Side effect on size examination checker finds calls to sizeof in which their operand have side effects.\nAdditionally, the checker finds calls in decltype with similar issues that are detected in the sizeof functions.\nAn expression used as the operand of sizeof is not evaluated. Therefore, applying sizeof to an expression with a side effect can cause an unexpected result.\nBe sure that the sizeof operator is not used on expressions that contain side effects.",
  "rule.saqt.q.cpp.1087.example.0.dangerous": "Line 4: Side-effects is caused by sizeof operand.",
  "rule.saqt.q.cpp.1087.example.0.safe": "Line 4: Separate y++ operation from operations.\nLine 5: Do not use expressions with side effects on sizeof operand.",
  "rule.saqt.q.cpp.1087.name": "Side effect on size examination",
  "rule.saqt.q.cpp.1088.description": "The Side effect on function call in wrong order checker finds expressions in which the right-hand side of a logical operator contains a call to a function.\nA function call on the right-hand side of a logical operator, such as && or ||, can cause a side effect. This may affect the evaluation on the left-hand side. Accordingly, an unintended result may occur.\nDo not call a function on the right-hand side of a logical operator.",
  "rule.saqt.q.cpp.1088.example.0.dangerous": "Line 7: test1() function is called in the right side of operator.Then, side-effects can be occur to change bar value.",
  "rule.saqt.q.cpp.1088.example.0.safe": "Line 7: Separate the function call from expressions.\nLine 8: Do not use functions with side-effects on the right side of operator.",
  "rule.saqt.q.cpp.1088.name": "Side effect on function call in wrong order",
  "rule.saqt.q.cpp.1089.description": "The Side effect on logical operation checker finds expressions in which the right-hand side of a logical operator contains an operator with a side effect.\nDepending on the left-hand operand, a logical operator can perform a short-circuit evaluation in C/C++, thereby skipping the expression on the right-hand side. Therefore, if the right-hand expression is written in the expectation that the side effects therein will always be executed, the logical operation may end up with an unintended result.\nDo not use a operator with side effects on the right-hand side of a logical operator.",
  "rule.saqt.q.cpp.1089.example.0.dangerous": "Line 4: A side-effect occurs on the right of operator.",
  "rule.saqt.q.cpp.1089.example.0.safe": "Line 5: Separate the right side of operator from the expression.\nLine 6: Separate an expression with side effects from expressions. And avoid to use the expression with side effects on the right side of operator.",
  "rule.saqt.q.cpp.1089.name": "Side effect on logical operation",
  "rule.saqt.q.cpp.109.description": "The Missing specified argument in function checker finds calls to optionally specified functions that do not pass a function of a specific data type to the designated argument position.\nYou can optionally specify files excluded from analysis, functions subject to analysis, functions excluded from analysis, callee functions, function-type argument positions, and function names.\nInspect arguments passed to functions to prevent their misuse and conform to APIs. A misuse of an argument may cause an unexpected program behavior.\nWhen calling an optionally specified function, make sure calls to a designated function is passed to the specified argument position.",
  "rule.saqt.q.cpp.109.example.0.dangerous": "Line 3: A subject to analysis, Func() function, is defined.\nLine 4: PFM_ERR_API10() function is called. The second argument is not optionally specified function.",
  "rule.saqt.q.cpp.109.example.0.safe": "Line 3: A subject to analysis, Func() function, is defined.\nLine 4: PFM_ERR_API10() function is called. The second argument has been optionally specified function, PfmNumber_API10().",
  "rule.saqt.q.cpp.109.name": "Missing specified argument in function",
  "rule.saqt.q.cpp.109.option.call_param_should_be_call.description": "Set up required call parameters",
  "rule.saqt.q.cpp.109.option.call_param_should_be_call.name": "Required call parameters",
  "rule.saqt.q.cpp.109.option.call_target.description": "Target function call",
  "rule.saqt.q.cpp.109.option.call_target.name": "Target function call",
  "rule.saqt.q.cpp.109.option.file_target_excluded.description": "Files to be excluded",
  "rule.saqt.q.cpp.109.option.file_target_excluded.name": "Files to be excluded",
  "rule.saqt.q.cpp.109.option.function_target.description": "Set target functions with regular expressions",
  "rule.saqt.q.cpp.109.option.function_target.name": "Target functions",
  "rule.saqt.q.cpp.109.option.function_target_excluded.description": "Set up functions to be excluded from analyzing.",
  "rule.saqt.q.cpp.109.option.function_target_excluded.name": "Functions to be excluded",
  "rule.saqt.q.cpp.1090.description": "The Opening already opened file checker finds instances of attempting to open an opened file.\nThis can cause issues when you try to open the opened file.\nMake sure not to open the opened file again.",
  "rule.saqt.q.cpp.1090.example.0.dangerous": "Line 3: A opened file is attempted to be opened again.",
  "rule.saqt.q.cpp.1090.example.0.safe": "Line 2: Do not open the opened file again.",
  "rule.saqt.q.cpp.1090.name": "Opening already opened file",
  "rule.saqt.q.cpp.1093.description": "The Improper deallocation of array checker finds instances in which the delete[] operator is used to deallocate an array but with an index specified.\nIt is a non-standard practice to specify an index when using the delete[] operator to deallocate an array. Although this does not cause a critical error, it is recommended to comply with the coding standards.\nDo not specify an index when using the delete[] operator to deallocate an array.",
  "rule.saqt.q.cpp.1093.example.0.dangerous": "Line 3: An index is specified by deallocating arr array with delete.",
  "rule.saqt.q.cpp.1093.example.0.safe": "Line 3: Deallocate the array without index specified.",
  "rule.saqt.q.cpp.1093.name": "Improper deallocation of array",
  "rule.saqt.q.cpp.1094.description": "The Use of void parameter type checker finds declarations of functions that include a void-type parameter.\nUse of the void type as a parameter type is a non-standard practice. Although this does not cause a critical error, it is recommended to comply with the coding standards.\nDo not use the void type as a parameter type.",
  "rule.saqt.q.cpp.1094.example.0.dangerous": "Line 1: Parameter a is declared as void.",
  "rule.saqt.q.cpp.1094.example.0.safe": "Line 1: Do not use void type on a parameter.",
  "rule.saqt.q.cpp.1094.name": "Use of void parameter type",
  "rule.saqt.q.cpp.1097.description": "The Accessing volatile variable in logical operation checker finds expressions in which the right-hand side of a logical operator contains a volatile-qualified variable.\nLogical operators evaluate operands from left to right. If a volatile-qualified variable is present on the right-hand side and its value is dependent on the left-hand operand, an unintended program behavior may occur.\nDo not use a volatile variable on the right-hand side of a logical operator.",
  "rule.saqt.q.cpp.1097.example.0.dangerous": "Line 3: Variable var with volatile qualifier is used on the right side of operator.",
  "rule.saqt.q.cpp.1097.example.0.safe": "Line 3: Do not use a volatile variable on the right-hand side of a logical operator.",
  "rule.saqt.q.cpp.1097.name": "Accessing volatile variable in logical operation",
  "rule.saqt.q.cpp.1099.description": "The Bitwise operation on signed value checker finds expressions in which a signed integer object is used as an operand of a bitwise operator.\nA bitwise operation on a signed integer variable may result in an unintended value because of the sign bit.\nMake sure that bitwise operations are performed on an unsigned integer object.",
  "rule.saqt.q.cpp.1099.example.0.dangerous": "Line 4: x variable of signed int type is used for bitwise operation.",
  "rule.saqt.q.cpp.1099.example.0.safe": "Line 4: Use unsigned int type for the operand of the bitwise operation.",
  "rule.saqt.q.cpp.1099.name": "Bitwise operation on signed value",
  "rule.saqt.q.cpp.1100.description": "The Shifting on signed value checker finds expressions in which a signed integer object is used as an operand of a bitwise operator.\nA shift operation on a signed integer variable may result in an unintended value because of the sign bit.\nMake sure that shift operations are performed on an unsigned integer object.",
  "rule.saqt.q.cpp.1100.example.0.dangerous": "Line 4: x variable of signed int type is used for shift operation.",
  "rule.saqt.q.cpp.1100.example.0.safe": "Line 4: Use unsigned int type for the operand of the shift operation.",
  "rule.saqt.q.cpp.1100.name": "Shifting on signed value",
  "rule.saqt.q.cpp.1101.description": "The Negative operation on unsigned value checker finds expressions that use the unary minus operator on an unsigned integer variable.\nAn unsigned integer variable cannot assume a negative number. Using the unary minus operator on an unsigned integer variable is, therefore, a meaningless action. However, some compilers implicitly cast the result of such an operation, leading to an unexpected behavior.\nDo not use the unary minus operator on an unsigned integer variable.",
  "rule.saqt.q.cpp.1101.example.0.dangerous": "Line 3: An unary minus operator is used on an unsigned integer type x variable.",
  "rule.saqt.q.cpp.1101.example.0.safe": "Line 3: Modify the type of x variable into integer type.",
  "rule.saqt.q.cpp.1101.name": "Negative operation on unsigned value",
  "rule.saqt.q.cpp.1102.description": "The Use of comma operator checker finds expressions that perform comma operations.\nThe checker does not report arguments of function calls with a comma.\nDo not use the comma operators.",
  "rule.saqt.q.cpp.1102.example.0.dangerous": "Line 4: A comma operator is used.",
  "rule.saqt.q.cpp.1102.example.0.safe": "Line 4: Detach expressions without the comma operator.\nLine 5: Detach expressions without the comma operator.",
  "rule.saqt.q.cpp.1102.name": "Use of comma operator",
  "rule.saqt.q.cpp.1103.description": "The Use of bit representation on floating point value checker finds casts or declarations that include a bitwise access to a value declared as a real number.\nBitwise access to a real-number value is a dangerous action. It is because the memory format varies with the compiler, possibly causing an unexpected result.\nAvoid bitwise access to a real-number value. To do so, you can cast the real number to a bitwise-accessible type, or avoid mix it up with an integer type in a union.",
  "rule.saqt.q.cpp.1103.example.0.dangerous": "Line 3: A float type variable is casted into reference variable of unsigned integer type. Then, the value can be used as a reference in bitwise operations.\nLine 6: Both float and unsigned int types are used in a union. Then, both can be used as a reference in bitwise operations by assigning real numbers and using integer types.",
  "rule.saqt.q.cpp.1103.example.0.safe": "Line 3: Assign the float type variable as a value, not a reference.\nLine 6: Do not use both float and int types together in a union.",
  "rule.saqt.q.cpp.1103.name": "Use of bit representation on floating point value",
  "rule.saqt.q.cpp.1104.description": "The Implicit comparison expression checker finds instances of comparing a boolean variable implicitly in a context such as a condition expression.\nImplicit comparison refers to an attempt to check a simple variable for zero or null without using a comparison expression.\nIf you habitually compare a boolean variable implicitly, you may make a mistake when handling a comparison expression that does not always evaluate to 1 or 0. Not every condition expression works that way; a string comparison function, for example, returns 0 when evaluating to true and returns a positive or negative number when evaluating to false. In this case, implicit comparison may cause an unintended result.\nIf a condition expression ends with a boolean value, be sure to use an explicit comparison.",
  "rule.saqt.q.cpp.1104.example.0.dangerous": "Line 2: A condition expression of if statements is not a boolean.",
  "rule.saqt.q.cpp.1104.example.0.safe": "Line 2: Use a comparison operation to modify the condition expression into a boolean.",
  "rule.saqt.q.cpp.1104.name": "Implicit comparison expression",
  "rule.saqt.q.cpp.1105.description": "The Use of float type as loop index checker finds instances of using a float-point variable as a loop counter.\nIf a loop counter assumes a floating-point number, arithmetic operations on the counter value may produce a small amount of roundoff error; as these errors are accumulated in iterations, the cumulative rounding error may become a significant value unexpectedly affecting the count of iterations.\nMake sure loop counters assume an integer variable.",
  "rule.saqt.q.cpp.1105.example.0.dangerous": "Line 2: A float type variable is used as a loop counter.",
  "rule.saqt.q.cpp.1105.example.0.safe": "Line 2: Do not use the float type variable as the loop counter.\nLine 3: Iterative handling of the float type variable needs to be separated into individual one.",
  "rule.saqt.q.cpp.1105.name": "Use of float type as loop index",
  "rule.saqt.q.cpp.1106.description": "The Missing update of loop index checker finds for loops that do not have an increment or decrement operation in the increment section.\nA for loop without an increment/decrement operation on its loop counter may have been written incorrectly. Such a loop often increments or decrements the loop counter elsewhere in the block; this practice, however, is prone to cause an infinite loop when a minor modification or mistake is made.\nMake sure for loops have an increment/decrement operation on their loop counter in the increment section.",
  "rule.saqt.q.cpp.1106.example.0.dangerous": "Line 3: Counter variable i of loop is not increased/decreased in increment section of for statements.",
  "rule.saqt.q.cpp.1106.example.0.safe": "Line 3: Use an increment/decrement operator on the counter variable i in increment section of for statements.",
  "rule.saqt.q.cpp.1106.name": "Missing update of loop index",
  "rule.saqt.q.cpp.1107.description": "The Missing condition of loop statement checker finds for loops that do not have a comparison operation in the evaluation section.\nA for loop without a comparison operation on its loop counter may have been written incorrectly. Such a loop often performs comparison on the loop counter in the block instead; this practice, however, is prone to causing an infinite loop when a minor modification or mistake is made.\nMake sure that for loops have a comparison operation on their loop counter in the evaluation section.",
  "rule.saqt.q.cpp.1107.example.0.dangerous": "Line 1: A variable i of a loop counter is not evaluated.\nLine 7: No comparison operation is found for the loop counter.",
  "rule.saqt.q.cpp.1107.example.0.safe": "Line 1: Perform a comparison operation for a variable i of a loop counter.\nLine 7: Add a comparison operation for a variable i of a loop counter.",
  "rule.saqt.q.cpp.1107.name": "Missing condition of loop statement",
  "rule.saqt.q.cpp.1108.description": "The Modification of variable except loop index in loop checker finds for loops that perform an increment/decrement operation on a variable other than the loop counter in the increment section.\nA for loop that increments or decrements a non-loop counter variable in the increment section may have been written incorrectly. It is likely that some other variable is incremented or decremented by mistake instead of the loop counter, which may fall into an infinite loop. Even if such use is on purpose, this practice is not recommended because of poor readability.\nMake sure that only the loop counter is incremented or decremented in the increment section of a for loop.",
  "rule.saqt.q.cpp.1108.example.0.dangerous": "Line 3: A value of variable var is increased as well as loop counter i.",
  "rule.saqt.q.cpp.1108.example.0.safe": "Line 3: Do not change variable values other than the loop counter.",
  "rule.saqt.q.cpp.1108.name": "Modification of variable except loop index in loop",
  "rule.saqt.q.cpp.1109.description": "The Multiple initializations in loop checker finds for loops that initialize a variable other than the loop counter in the initialization section.\nA for loop that initializes a non-loop counter variable in the initialization section may have been written incorrectly. It is likely that some other variable is initialized by mistake instead of the loop counter, which may fall into an infinite loop. Even if such use is on purpose, this practice is not recommended because of poor readability.\nMake sure that only the loop counter is initialized in the initialization section of a for loop.",
  "rule.saqt.q.cpp.1109.example.0.dangerous": "Line 4: Variable var is initialized as well as loop counter i.",
  "rule.saqt.q.cpp.1109.example.0.safe": "Line 3: Do not initialize variable values other than the loop counter.",
  "rule.saqt.q.cpp.1109.name": "Multiple initializations in loop",
  "rule.saqt.q.cpp.111.description": "The Missing specified argument checker finds calls to optionally specified callee functions in which a specific function passed to the designated parameter of the callee function takes a different argument from the argument passed to another designated parameter of the callee function itself.\nYou can optionally specify files excluded from analysis, functions subject to analysis, functions excluded from analysis, callee functions, argument position of the callee function to be compared, argument position of the callee function that takes a function call, name of the function passed to the callee function, argument position of the argument function to be compared, and comparison mode settings.\nInspect arguments passed to functions to prevent their misuse and conform to APIs. A misuse of an argument may cause an unexpected program behavior. \nMake sure that an optionally specified function and a designated argument function passed to it take the same argument.",
  "rule.saqt.q.cpp.111.example.0.dangerous": "Line 3: A subject to analysis, Func() function, is defined.\nLine 4: memcpy_API12() function is called. The third argument, an argument of strlen_API12() is not identical with the first argument of memcpy_API12().",
  "rule.saqt.q.cpp.111.example.0.safe": "Line 3: A subject to analysis, Func() function, is defined.\nLine 4: memcpy_API12() function is called. The third argument, an argument of strlen_API12() is identical with the first argument of memcpy_API12().",
  "rule.saqt.q.cpp.111.name": "Missing specified argument",
  "rule.saqt.q.cpp.111.option.call_target.description": "Target function call",
  "rule.saqt.q.cpp.111.option.call_target.name": "Target function call",
  "rule.saqt.q.cpp.111.option.call_target_call_param.description": "Parameter index which is place function call",
  "rule.saqt.q.cpp.111.option.call_target_call_param.name": "Parameter index which is place function call",
  "rule.saqt.q.cpp.111.option.call_target_compare_param.description": "Parameter that calling function's comparision",
  "rule.saqt.q.cpp.111.option.call_target_compare_param.name": "Parameter that calling function's comparision",
  "rule.saqt.q.cpp.111.option.call_target_param_call.description": "Function name which should be called as parameter",
  "rule.saqt.q.cpp.111.option.call_target_param_call.name": "Function name which should be called as parameter",
  "rule.saqt.q.cpp.111.option.call_target_param_compare_mode.description": "decimal : decimal constant .string : string constant .variable: variable",
  "rule.saqt.q.cpp.111.option.call_target_param_compare_mode.name": "Comparison mode",
  "rule.saqt.q.cpp.111.option.call_target_param_compare_param.description": "Call target parameter compare parameter",
  "rule.saqt.q.cpp.111.option.call_target_param_compare_param.name": "Call target parameter compare parameter",
  "rule.saqt.q.cpp.111.option.file_target_excluded.description": "Set up files to be excluded from analyzing.",
  "rule.saqt.q.cpp.111.option.file_target_excluded.name": "Files to be excluded",
  "rule.saqt.q.cpp.111.option.function_target.description": "Set target functions with regular expressions",
  "rule.saqt.q.cpp.111.option.function_target.name": "Target functions",
  "rule.saqt.q.cpp.111.option.function_target_excluded.description": "Set up functions to be excluded from analyzing.",
  "rule.saqt.q.cpp.111.option.function_target_excluded.name": "Functions to be excluded",
  "rule.saqt.q.cpp.1110.description": "The Update of loop index in loop checker finds expressions that make a modification to the loop counter inside the body of a for loop instead of the increment section.\nA for loop that increments or decrements the loop counter inside the body may have been written incorrectly. An improperly designed control flow can lead to an infinite loop. Even if such use is on purpose, this practice is not recommended because of poor readability.\nMake sure for loops do not include counter increment inside the body block. The loop counter must change only in the increment section.",
  "rule.saqt.q.cpp.1110.example.0.dangerous": "Line 4: Counter variable a of loop is changed in for statements.\nLine 5: Counter variable a of loop is changed in for statements.",
  "rule.saqt.q.cpp.1110.example.0.safe": "Line 3: Change a loop counter only in increasement/decreasement of for statements.",
  "rule.saqt.q.cpp.1110.name": "Update of loop index in loop",
  "rule.saqt.q.cpp.1113.description": "The Use of boolean expression in condition of switch statement checker finds switch statements whose control expression is a boolean expression, instead of an ordinary variable.\nA boolean expression evaluates to either true or false. In this case, the use of a switch statement is not a necessary choice.\nAvoid boolean evaluation in the control section of a switch statement. For boolean evaluation, use an if statement, instead of a switch statement.",
  "rule.saqt.q.cpp.1113.example.0.dangerous": "Line 2: A boolean value is used for a condition of switch statements.",
  "rule.saqt.q.cpp.1113.example.0.safe": "Line 2: Avoid boolean evaluation in the control section of a switch statement.",
  "rule.saqt.q.cpp.1113.name": "Use of boolean expression in condition of switch statement",
  "rule.saqt.q.cpp.1114.description": "The Empty switch statement checker finds switch statements that include no case and default blocks.\nA switch statement must include at least one case block.",
  "rule.saqt.q.cpp.1114.example.0.dangerous": "Line 2: No case clause is placed in switch statements.",
  "rule.saqt.q.cpp.1114.example.0.safe": "Line 2: Place at least one case clause in switch statements.",
  "rule.saqt.q.cpp.1114.name": "Empty switch statement",
  "rule.saqt.q.cpp.1115.description": "The Variable arguments in function checker finds instances of allowing a variable number of arguments to be taken.\nCertain functions usefully take a variable number of arguments. Variable-length arguments are, however, not validated for type by the compiler, thus leaving a possibility of program malfunctions. For a stability-critical program, in particular, the use of variable-length arguments may pose a big risk. Do not use them in such a case.\nDo not define a function that takes a variable number of arguments.",
  "rule.saqt.q.cpp.1115.example.0.dangerous": "Line 2: A variable number of arguments is used for function declaration.",
  "rule.saqt.q.cpp.1115.example.0.safe": "Line 2: Do not define a function that takes a variable number of arguments.",
  "rule.saqt.q.cpp.1115.name": "Variable arguments in function",
  "rule.saqt.q.cpp.1116.description": "The Improper declaration of read-only parameter checker finds instances in which a class-type parameter is declared not as a const reference.\nParameters of non-class primitive types need to be passed as values.\nGiven data types' typical sizes and usability, it is ideal that parameters of class types are passed as const references, and parameters of primitive types are as values. Passing a class-type parameter as a value incurs an unnecessary copy operation cost, and passing it as a pointer may be problematic considering the possibility of passing a null pointer. This, therefore, may lead to an invalid access causing a runtime error.\nBe sure that parameters of class types are passed as const references.",
  "rule.saqt.q.cpp.1116.example.0.dangerous": "Line 4: A parameter of class type is sent as a value.",
  "rule.saqt.q.cpp.1116.example.0.safe": "Line 4: Send the class in constant reference type.",
  "rule.saqt.q.cpp.1116.name": "Improper declaration of read-only parameter",
  "rule.saqt.q.cpp.1117.description": "The Direct use of function identifier checker finds instances of using a function identifier in a noncompliant way.\nTo use a function identifier correctly, it must be used as an operand of the & operator or followed by a parenthesized list of arguments. In other words, function identifiers must be used to point to their function address or to call their function.\nA noncompliant use of a function identifier usually happens by mistake in an attempt at calling the function. This may cause an unexpected issue.\nUse a function identifier only as either a pointer to or a call to its function.",
  "rule.saqt.q.cpp.1117.example.0.dangerous": "Line 3: foo() function is used as a normal function.\nLine 13: MISRA2008_8_4_4___f1() function is used without & operator.\nLine 17: MISRA2008_8_4_4___f1() function is used without & operator.",
  "rule.saqt.q.cpp.1117.example.0.safe": "Line 3: The foo() is used as a called function.\nLine 13: Use the MISRA2008_8_4_4___f1() function as an operand of & operator. This results in accessing to a function pointer.\nLine 17: Use the MISRA2008_8_4_4___f1() function as an operand of & operator. This results in accessing to a function pointer.",
  "rule.saqt.q.cpp.1117.name": "Direct use of function identifier",
  "rule.saqt.q.cpp.1118.description": "The Arithmetic operation on general pointer checker finds expressions that perform a pointer operation on a non-array pointer object.\nA pointer operation on a non-array pointer object does not guarantee pointing to a valid address, thus posing a risk of accessing an invalid memory location.\nMake sure a pointer operation is performed only on an array object or on a pointer to an array object.",
  "rule.saqt.q.cpp.1118.example.0.dangerous": "Line 2: A pointer operation is performed on a non-array pointer object.",
  "rule.saqt.q.cpp.1118.example.0.safe": "Line 3: Perform the pointer operation on a pointer to an array.",
  "rule.saqt.q.cpp.1118.name": "Arithmetic operation on general pointer",
  "rule.saqt.q.cpp.1119.description": "The Subtraction of pointers of different objects checker finds pointer subtraction between arrays with different elements.\nA pointer subtraction between arrays with different elements returns an unpredictable result. As pointers point to different addresses at each runtime, so does a subtraction between different arrays return a different result each time. This can cause an unexpected result.\nDo not perform a pointer subtraction on arrays with different elements.",
  "rule.saqt.q.cpp.1119.example.0.dangerous": "Line 7: Variables p1 and p2 are subtracted. But the two pointers are pointing to different arrays.",
  "rule.saqt.q.cpp.1119.example.0.safe": "Line 7: Perform the pointer subtraction on the same array.",
  "rule.saqt.q.cpp.1119.name": "Subtraction of pointers of different objects",
  "rule.saqt.q.cpp.112.description": "The Use of literal as argument checker finds calls to optionally specified functions that put a literal or string argument in a forbidden position.\nYou can optionally specify files excluded from analysis, functions subject to analysis, argument positions that should not take a number, and argument positions that should not take a string.\nInspect arguments passed to functions to prevent their misuse and conform to APIs. A misuse of an argument may cause an unexpected program behavior.\nWhen calling an optionally specified function, avoid putting number- and string-type arguments in their respective forbidden positions.",
  "rule.saqt.q.cpp.112.example.0.dangerous": "Line 3: Suppose that memset_API13() is optionally subject to analysis. A string has been included in arguments of the memset_API13().",
  "rule.saqt.q.cpp.112.example.0.safe": "Line 3: Suppose that memset_API13() is optionally subject to analysis. A character has been included in arguments of the memset_API13().",
  "rule.saqt.q.cpp.112.name": "Use of literal as argument",
  "rule.saqt.q.cpp.112.option.call_param_should_not_be_deciaml.description": "Set up call parameters which should not place decimal.",
  "rule.saqt.q.cpp.112.option.call_param_should_not_be_deciaml.name": "Call parameters which should not place decimal",
  "rule.saqt.q.cpp.112.option.call_param_should_not_be_string.description": "Set up call parameters which should not place string.",
  "rule.saqt.q.cpp.112.option.call_param_should_not_be_string.name": "Call parameters which should not place string",
  "rule.saqt.q.cpp.112.option.call_target.description": "Target function call",
  "rule.saqt.q.cpp.112.option.call_target.name": "Target function call",
  "rule.saqt.q.cpp.112.option.file_target_excluded.description": "Files to be excluded",
  "rule.saqt.q.cpp.112.option.file_target_excluded.name": "Files to be excluded",
  "rule.saqt.q.cpp.1120.description": "The Comparison between pointers of different objects checker finds comparison operations between arrays with different elements.\nComparison operations subject to this checking are those with the <, <=, >, >=, or == operator.\nA comparison between arrays with different elements returns an unpredictable result. As pointers point to different addresses at each runtime, so does a comparison between different arrays return a different result each time. This might get unpredictable results.\nDo not perform a comparison operation on arrays with different elements.",
  "rule.saqt.q.cpp.1120.example.0.dangerous": "Line 6: Variables p1 and p2 are compared. Two pointers respectively point different arrays.",
  "rule.saqt.q.cpp.1120.example.0.safe": "Line 6: Perform the pointer comparison on the same array.",
  "rule.saqt.q.cpp.1120.name": "Comparison between pointers of different objects",
  "rule.saqt.q.cpp.1121.description": "The Array indexing on pointer type variable checker finds expressions that perform an array access operation on a non-array pointer object.\nAn array access operation on a non-array pointer object does not guarantee pointing to a valid address, thus posing a risk of accessing an invalid memory location.\nMake sure an array access operation is performed only on an array object or on a pointer to an array object.",
  "rule.saqt.q.cpp.1121.example.0.dangerous": "Line 3: An array access operator is used on pointer variable param.\nLine 4: An array access operator is used on pointer variable param.",
  "rule.saqt.q.cpp.1121.example.0.safe": "Line 3: Use the array access operator on array type variable only.",
  "rule.saqt.q.cpp.1121.name": "Array indexing on pointer type variable",
  "rule.saqt.q.cpp.1121.option.ignore_parameter.description": "Ignore parameter variables.",
  "rule.saqt.q.cpp.1121.option.ignore_parameter.name": "Ignore parameter variables.",
  "rule.saqt.q.cpp.1123.description": "The Assignment between objects from overlapped memory region checker finds expression evaluations that include an assignment between two objects having a mutually overlapping memory area.\nSpecifically, the checker searches for a call to a string function in which the origin and destination objects overlap in memory.\nAn assignment operation between two objects overlapping in memory is an undefined action. Such code may output different results depending on compilers and thus is unpredictable.\nAvoid a function call on objects overlapping in memory.",
  "rule.saqt.q.cpp.1123.example.0.dangerous": "Line 3: Variable str is copied to str variable of char type.",
  "rule.saqt.q.cpp.1123.example.0.safe": "Line 4: Do not specify overlapping memory areas on origin and destination objects.",
  "rule.saqt.q.cpp.1123.name": "Assignment between objects from overlapped memory region",
  "rule.saqt.q.cpp.1124.description": "The Assignment to overlapping storage checker finds expression evaluations that include an assignment between two union fields having a mutually overlapping memory area.\nAn assignment operation between two objects overlapping in memory is an undefined action. Such code may output different results depending on compilers and thus is unpredictable.\nDo not perform assignment between fields of the same union.",
  "rule.saqt.q.cpp.1124.example.0.dangerous": "Line 7: Field b is assigned to field a of union ut1. The overlapped memory area is assigned to two fields.",
  "rule.saqt.q.cpp.1124.example.0.safe": "Line 7: Do not perform assignment between fields of the same union.",
  "rule.saqt.q.cpp.1124.name": "Assignment to overlapping storage",
  "rule.saqt.q.cpp.1125.description": "The Use of forbidden standard library functions checker finds calls to standard library functions that are forbidden.\nThe forbidden functions include abort(), exit(), getenv(), and system() that are defined in stdlib.h.\nAmong the C standard library functions, some belonging to stdlib.h have many flaws and are prone to cause an error. It is recommended to use some alternative library functions.\nDo not use a forbidden standard library function.",
  "rule.saqt.q.cpp.1125.example.0.dangerous": "Line 3: A forbidden exit() function is used.",
  "rule.saqt.q.cpp.1125.example.0.safe": "Line 2: Do not call a forbidden function.",
  "rule.saqt.q.cpp.1125.name": "Use of forbidden standard library functions",
  "rule.saqt.q.cpp.1125.option.check_misra_2004.description": "\"abort\", \"exit\", \"getenv\", \"system\" functions will be include in analysis.",
  "rule.saqt.q.cpp.1125.option.check_misra_2004.name": "Target function name",
  "rule.saqt.q.cpp.1125.option.check_misra_2012.description": "\"qsort\", \"bsearch\" functions will be include in analysis.",
  "rule.saqt.q.cpp.1125.option.check_misra_2012.name": "Target function name",
  "rule.saqt.q.cpp.1126.description": "The Use of forbidden time functions checker finds preprocessor directives that include a time library header.\nUnlike other checkers for forbidden functions, this checker prohibits including a header file itself. The forbidden time library is time.h.\nCertain functions in the time library have unspecified behaviors. Although the compiler provides their implementation, their specifications are not documented. They can often behave not as indented.\nDo not use a forbidden time library function.",
  "rule.saqt.q.cpp.1126.example.0.dangerous": "Line 2: time.h header file is included.",
  "rule.saqt.q.cpp.1126.example.0.safe": "Line 2: Do not include the time.h header file.",
  "rule.saqt.q.cpp.1126.name": "Use of forbidden time functions",
  "rule.saqt.q.cpp.1127.description": "The Use of break statement at outside of switch statement checker finds instances of using a break statement not in a switch statement.\nOther than in a switch statement, a break statement can also be used to escape a loop midway. In this case, however, the control flow becomes complicated and less readable.\nUse a break statement only within a switch statement. If a break is necessary elsewhere, rephrase the condition expression to enable escaping the control flow without a break statement.",
  "rule.saqt.q.cpp.1127.example.0.dangerous": "Line 4: A break is used to exit a while loop.",
  "rule.saqt.q.cpp.1127.example.0.safe": "Line 2: Do not use the break in the while loop.",
  "rule.saqt.q.cpp.1127.name": "Use of break statement at outside of switch statement",
  "rule.saqt.q.cpp.1128.description": "The Non-const function pointer checker finds instances of declaring a function pointer without using the const qualifier.\nA non-const qualified function pointer can occasionally modify the function it points to. In this case, tracking the program flow becomes challenging and an unexpected result often occurs.\nUse the const qualifier when declaring a function pointer.",
  "rule.saqt.q.cpp.1128.example.0.dangerous": "Line 6: A function pointer, variable fp1, is declared without const.",
  "rule.saqt.q.cpp.1128.example.0.safe": "Line 6: Declare the function pointer with constant.",
  "rule.saqt.q.cpp.1128.name": "Non-const function pointer",
  "rule.saqt.q.cpp.113.description": "The Use of variable as argument checker finds calls to optionally specified functions that put a variable argument in a forbidden position.\nYou can optionally specify files excluded from analysis, functions subject to analysis, and argument positions that should not take a variable. \nInspect arguments passed to functions to prevent their misuse and conform to APIs. A misuse of an argument may cause an unexpected program behavior.\nDo not put a variable argument in the optionally forbidden positions.",
  "rule.saqt.q.cpp.113.example.0.dangerous": "Line 3: memcpy_API14() function is called. The first argument of the function is a variable.",
  "rule.saqt.q.cpp.113.example.0.safe": "Line 3: memcpy_API14() function is called. The first argument is a string, this is not detected.",
  "rule.saqt.q.cpp.113.name": "Use of variable as argument",
  "rule.saqt.q.cpp.113.option.call_param_should_not_be_variable.description": "Call parameter which should not be name",
  "rule.saqt.q.cpp.113.option.call_param_should_not_be_variable.name": "Call parameter which should not be name",
  "rule.saqt.q.cpp.113.option.call_target.description": "Target function call",
  "rule.saqt.q.cpp.113.option.call_target.name": "Target function call",
  "rule.saqt.q.cpp.113.option.file_target_excluded.description": "Files to be excluded",
  "rule.saqt.q.cpp.113.option.file_target_excluded.name": "Files to be excluded",
  "rule.saqt.q.cpp.1130.description": "The Anonymous field in structure and union checker finds instances of declaring an unnamed field in a struct or union.\nAn unnamed struct or union field can by no means be accessed. Unless for a special purpose, such a declaration needs to be avoided.\nWhen declaring a field in a struct or union, be sure to give a name to it.",
  "rule.saqt.q.cpp.1130.example.0.dangerous": "Line 4: An unnamed bitwise field is declared.\nLine 6: An unnamed struct field is declared.",
  "rule.saqt.q.cpp.1130.example.0.safe": "Line 1: Declare the struct with all fields named.",
  "rule.saqt.q.cpp.1130.name": "Anonymous field in structure and union",
  "rule.saqt.q.cpp.1131.description": "The Redefinition of pointer type checker finds instances of using typedef to declare a pointer type other than a function pointer.\nA pointer type declared with typedef changes the way the const qualifier works. This can make a const-qualified object mutable.\nDo not declare a pointer type with typedef.",
  "rule.saqt.q.cpp.1131.example.0.dangerous": "Line 5: A pointer is declared as typedef.\nLine 7: A parameter value with const qualifier is mutable.",
  "rule.saqt.q.cpp.1131.example.0.safe": "Line 7: The parameter value with const qualifier is declared as typedef. Thus, the value is immutable.",
  "rule.saqt.q.cpp.1131.name": "Redefinition of pointer type",
  "rule.saqt.q.cpp.1133.description": "The Lowercase suffix for long checker finds expressions that include a long-type constant suffixed with a lowercase \"L.\"\nUse of the long-type suffix \"L\" in lower case can cause confusion with the number 1 in some fonts.\nBe sure to use an uppercase \"L\" when suffixing a long-type constant with it.",
  "rule.saqt.q.cpp.1133.example.0.dangerous": "Line 1: A long-type constant 111 uses a suffix of lower case \"L\".",
  "rule.saqt.q.cpp.1133.example.0.safe": "Line 1: Use an uppercase \"L\" for a suffix of long-type constant.",
  "rule.saqt.q.cpp.1133.name": "Lowercase suffix for long",
  "rule.saqt.q.cpp.1134.description": "The Improper declaration of flexible array member checker finds syntactically incorrect declarations of variable-length arrays.\nVariable length arrays is a feature where the array length is not specified at compile time but determined at runtime. If a variable-length array is given a length specification like [1], it is a violation of syntax.\nIn C99, declaring a variable-length array with a length specification of 1 is an undefined action. Such code may output different results depending on compilers and thus is unpredictable.\nWhen using a variable-length array, do not specify its length.",
  "rule.saqt.q.cpp.1134.example.0.dangerous": "Line 4: A variable-length array is declared in a construct. Yet, its array length has been specified as 1.",
  "rule.saqt.q.cpp.1134.example.0.safe": "Line 4: Do not specify the array length for the variable-length array.",
  "rule.saqt.q.cpp.1134.name": "Improper declaration of flexible array member",
  "rule.saqt.q.cpp.1135.description": "The Use of structure as argument of memcmp checker finds instances of calling the memcmp() function with struct objects as operands.\nA struct declaration may have padding bits between fields. As these padding bits are basically not assigned values, they can cause an unexpected result in a bytewise comparison.\nWhen comparing objects of a struct, do not use memcmp() but conduct direct comparison between their fields.",
  "rule.saqt.q.cpp.1135.example.0.dangerous": "Line 8: A struct is used as an argument of memcmp().",
  "rule.saqt.q.cpp.1135.example.0.safe": "Line 8: Do not use the struct as the argument of memcmp(). Instead, use a comparison between fields of the struct.",
  "rule.saqt.q.cpp.1135.name": "Use of structure as argument of memcmp",
  "rule.saqt.q.cpp.1136.description": "The Assumed constant value checker finds instances of assuming the value of an already named constant in an expression. \nDo not assume the value of a named constant such as BUFSIZ in an expression.\nA typical named constant is BUFSIZ, which is defined in the stdio.h header file. Its value is 512 by default.\nIn case it is assigned another value, an unexpected problem may occur.\nDo not assume the value of a named constant.",
  "rule.saqt.q.cpp.1136.example.0.dangerous": "Line 3: Assuming BUFSIZE is 512, 2 is shifted 9 times (2 ^ 9).",
  "rule.saqt.q.cpp.1136.example.0.safe": "Line 3: Use the named constant.",
  "rule.saqt.q.cpp.1136.name": "Assumed constant value",
  "rule.saqt.q.cpp.1137.description": "The Improper association of operators checker finds expressions that have a multiple number of consecutive comparison symbols without logical operators and parentheses separating those symbols from one another.\nAn expression with consecutive uses of comparison operators may have likely been written incorrectly. If comparison operators occur consecutively, the first comparison evaluates to a boolean value, which then is used as an operand in the next comparison operation. This may cause an unexpected issue.\nIf multiple uses of comparison operators are needed, use logical operators and parentheses to separate the comparison signs from one another.",
  "rule.saqt.q.cpp.1137.example.0.dangerous": "Line 5: < operators are used at multiple times. This may cause an unexpected issue.\nLine 8: == operators are used at multiple times. This may cause an unexpected issue.",
  "rule.saqt.q.cpp.1137.example.0.safe": "Line 5: Detach the < operator and logic operator with parenthesis.\nLine 8: Detach the == operator and logic operator with parenthesis.",
  "rule.saqt.q.cpp.1137.name": "Improper association of operators",
  "rule.saqt.q.cpp.1138.description": "The Semicolon on same line with statement checker finds semicolons put on the same line as the condition of an if, for, or while statement.\nA semicolon that comes on the same line as the condition of an if, for, or while statement may have been inserted by mistake. Upon completion of testing in the condition section, such a statement typically proceeds to the body block. An intervening semicolon, however, terminates the statement without executing the body block. This situation is hardly intended by developers. In the case of a single-line conditional statement, a semicolon subsequent to the body block can normally come on the same line as the condition; however, it is recommended to separate the condition and body into different lines to ensure better readability and prevent mistakes.\nDo not put a semicolon on the same line as the condition of an if, for, or while statement.",
  "rule.saqt.q.cpp.1138.example.0.dangerous": "Line 1: A semicolon is used at the end of if statements. Text after the semicolon has been executed.",
  "rule.saqt.q.cpp.1138.example.0.safe": "Line 1: Remove the semicolon from the line including if statements.",
  "rule.saqt.q.cpp.1138.name": "Semicolon on same line with statement",
  "rule.saqt.q.cpp.1139.description": "The Accessing volatile object through non-volatile reference checker finds expressions in which a non-volatile qualified variable points to a volatile variable.\nIt is an undefined action that a non-volatile variable points to a volatile variable. Such code may output different results depending on compilers and thus is unpredictable.\nMake sure that a volatile variable is pointed to by a volatile variable.",
  "rule.saqt.q.cpp.1139.example.0.dangerous": "Line 7: A non-volatile variable, ip address is assigned to a volatile variable, ipp.Then, the volatile variable can be accessed through the non-volatile variable.\nLine 8: A non-volatile variable, ip address is assigned to a volatile variable, ipp.Then, the volatile variable can be accessed through the non-volatile variable.",
  "rule.saqt.q.cpp.1139.example.0.safe": "Line 6: Make sure that a volatile variable is pointed to by a volatile variable.",
  "rule.saqt.q.cpp.1139.name": "Accessing volatile object through non-volatile reference",
  "rule.saqt.q.cpp.114.description": "The Use of non-variable argument checker finds calls to optionally specified functions that put a non-variable argument in a designated position.\nYou can optionally specify files excluded from analysis, functions subject to analysis, and argument positions that should take a variable.\nInspect arguments passed to functions to prevent their misuse and conform to APIs. A misuse of an argument may cause an unexpected program behavior.\nMake sure variable arguments are put in the optionally designated positions.",
  "rule.saqt.q.cpp.114.example.0.dangerous": "Line 3: memcpy_API15() function is called. The first argument of the function is a string.",
  "rule.saqt.q.cpp.114.example.0.safe": "Line 3: memcpy_API15() function is called. The first argument is a variable, this is not detected.",
  "rule.saqt.q.cpp.114.name": "Use of non-variable argument",
  "rule.saqt.q.cpp.114.option.call_param_should_be_variable.description": "Required parameter variable and index",
  "rule.saqt.q.cpp.114.option.call_param_should_be_variable.name": "Required parameter variable and index",
  "rule.saqt.q.cpp.114.option.call_target.description": "Target function call",
  "rule.saqt.q.cpp.114.option.call_target.name": "Target function call",
  "rule.saqt.q.cpp.114.option.file_target_excluded.description": "Set up files to be excluded from analyzing.",
  "rule.saqt.q.cpp.114.option.file_target_excluded.name": "Files to be excluded",
  "rule.saqt.q.cpp.1140.description": "The Modification to Temporary Object checker finds expressions that result in a modification to an object with temporary lifetime.\nAny attempt to modify an object with temporary lifetime results in undefined behavior. Such code may output different results depending on compilers and thus is unpredictable.\nDo not modify an object with temporary lifetime. If a modification is necessary, assign its value to a regular variable, then make the modification to that variable.",
  "rule.saqt.q.cpp.1140.example.0.dangerous": "Line 8: A temporary object value is modified with a return value of get_x() function.",
  "rule.saqt.q.cpp.1140.example.0.safe": "Line 8: Store the return value of get_x() to a variable, then modify it.",
  "rule.saqt.q.cpp.1140.name": "Modification to Temporary Object",
  "rule.saqt.q.cpp.1141.description": "The Missing error handling for input function checker finds instances of failure to handle errors when converting character data using an input function.\nInput functions refer to those like scanf().\nInput functions can be used to convert character data to numbers. However, there is no guarantee that such functions will produce a proper return as intended. Unless all possible inputs are handled, therefore, abnormal behavior may occur.\nWhen using an input function to convert character data, be sure to handle all possible inputs. Such error handling needs to include a check on the errno in particular.",
  "rule.saqt.q.cpp.1141.example.0.dangerous": "Line 2: scanf() function is used to convert char data into a number. However, error handling is missed.",
  "rule.saqt.q.cpp.1141.example.0.safe": "Line 6: Perform errno check in case of failing scanf().",
  "rule.saqt.q.cpp.1141.name": "Missing error handling for input function",
  "rule.saqt.q.cpp.1142.description": "The Shift and arithmetic operations in single expression checker finds expressions that perform both bitwise and arithmetic operations on the same variable.\nA bitwise operation can produce a different result depending on the base type of the operand integer. This is implementation-defined behavior, which can cause different results varying with the compiler and possibly affect subsequent arithmetic operations. This practice also undermines code readability.\nDo not perform both bitwise and arithmetic operations concurrently on the same variable.",
  "rule.saqt.q.cpp.1142.example.0.dangerous": "Line 2: Arithmetic operation is performed again after a bitwise operation on variable x.",
  "rule.saqt.q.cpp.1142.example.0.safe": "Line 2: Do not perform a bitwise and arithmetic operations on the same data.",
  "rule.saqt.q.cpp.1142.name": "Shift and arithmetic operations in single expression",
  "rule.saqt.q.cpp.1143.description": "The Assumed signed integer representation checker finds instances of constructing a wrong expression in the assumption of a specific representation of signed integers.\nThe signed representation of integers defers depending on the compiler. An expression based on a specific signed representation may lead to unintended behavior.\nDo not assume a specific representation of signed integers. One example of this practice is to use 0x1 or a bitwise operation for a parity evaluation in the assumption of ones' complement.",
  "rule.saqt.q.cpp.1143.example.0.dangerous": "Line 3: A bitwise operation of 0x1 is performed on value variable. This assumes that a compiler shows a signed integer into a complement of 1.",
  "rule.saqt.q.cpp.1143.example.0.safe": "Line 3: Ensure that code does not depend on representation of signed integer on a certain compiler.",
  "rule.saqt.q.cpp.1143.name": "Assumed signed integer representation",
  "rule.saqt.q.cpp.1145.description": "The Missing casting of floating point return value checker finds instances in which a function is declared to return a real number but does not actually cast the return value to the real number type.\nReturning the result of an expression without casting it to a real number may cause a precision issue. In this case, the function's return value may slightly differs depending on the compilation environment. This hardly could be what the developer expected.\nWhen defining a function returning a real number, be sure to explicitly cast the return value.",
  "rule.saqt.q.cpp.1145.example.0.dangerous": "Line 2: A return value is returned without explicit casting. Its return type is float.",
  "rule.saqt.q.cpp.1145.example.0.safe": "Line 2: Perform an explicit casting on the return value of float type, then return it.",
  "rule.saqt.q.cpp.1145.name": "Missing casting of floating point return value",
  "rule.saqt.q.cpp.1146.description": "The Non-const string pointer checker finds instances of declaring pointers to string constants without using const qualifiers.\nModifying string constants is an undefined action. Such code may output different results depending on compilers and thus is unpredictable.\nEnsure to declare string constants as const.",
  "rule.saqt.q.cpp.1146.example.0.dangerous": "Line 1: A pointer to string constant is not declared as const.",
  "rule.saqt.q.cpp.1146.example.0.safe": "Line 1: Declare the pointer to string constant as const.",
  "rule.saqt.q.cpp.1146.name": "Non-const string pointer",
  "rule.saqt.q.cpp.1147.description": "The Concatenation of different type strings checker finds expressions that concatenate a wide-character string and a regular string.\nConcatenation of a wide-character string with a regular string is undefined behavior. Such code may output different results depending on compilers and thus is unpredictable.\nDo not concatenate a wide-character string and a regular string.",
  "rule.saqt.q.cpp.1147.example.0.dangerous": "Line 1: A wide-character string is concatenated with a narrow string.",
  "rule.saqt.q.cpp.1147.example.0.safe": "Line 1: Concatenate wide-character strings to wide-character strings, and narrow strings to narrow strings.",
  "rule.saqt.q.cpp.1147.name": "Concatenation of different type strings",
  "rule.saqt.q.cpp.1148.description": "The Modification of string literal checker finds expressions that modify a string literal.\nModifying a string literal is undefined behavior. Such code may output different results depending on compilers and thus is unpredictable.\nDo not modify a string literal after its declaration. If a string needs to be modified later, declare it as something else like an array, instead of a string literal.",
  "rule.saqt.q.cpp.1148.example.0.dangerous": "Line 2: A string literal is modified.",
  "rule.saqt.q.cpp.1148.example.0.safe": "Line 1: Declare a string as an array instead of literal in case of modification.",
  "rule.saqt.q.cpp.1148.name": "Modification of string literal",
  "rule.saqt.q.cpp.1149.description": "The Missing casting after memory allocation checker finds instances of using the result of a memory allocation function without casting it to the allocated type.\nMemory allocation functions refer to those like malloc().\nIt is undefined to use the result of a memory allocation without casting it. Such code may output different results depending on compilers and thus is unpredictable.\nBe sure to cast the result of a memory allocation before using it.",
  "rule.saqt.q.cpp.1149.example.0.dangerous": "Line 14: A value to allocate memory is not cast into allocated type after malloc() function call.",
  "rule.saqt.q.cpp.1149.example.0.safe": "Line 14: Perform casting on a value to allocate memory into allocated type after malloc() function call.",
  "rule.saqt.q.cpp.1149.name": "Missing casting after memory allocation",
  "rule.saqt.q.cpp.115.description": "The Hardcoded data Checker detects code that hardcodes one of the variables specified in the option.\nYou can specify in the option whether to analyze formulas, whether to exclude formulas from analysis, whether to check for hardcoding of integers, whether to check for hardcoding of floats, whether to check for hardcoding of characters, whether to check for hardcoding of strings, whether to check for hardcoding of constants, whether to check for hardcoding of non-constants, whether to check for hardcoding of conditional statements, whether to check for hardcoding of assignment statements, whether to check for hardcoding of calls, and whether to check for hardcoding of return statements.\nHardcoding is an element that exposes information to the outside world. Writing security-critical elements, such as passwords and paths, in hardcoded form can lead to significant security vulnerabilities.\nDepending on the options specified, prevent source code from being hardcoded.",
  "rule.saqt.q.cpp.115.example.0.dangerous": "Line 3: A forbidden hardcoding is used in a string.",
  "rule.saqt.q.cpp.115.example.0.safe": "Line 3: Return the value of get_value() function instead of the hardcoded string.",
  "rule.saqt.q.cpp.115.name": "Hardcoded data",
  "rule.saqt.q.cpp.115.option.excluded_expr.description": "A regular expression for excluding target expressions.",
  "rule.saqt.q.cpp.115.option.excluded_expr.name": "Expressions to exclude",
  "rule.saqt.q.cpp.115.option.hard_coding_target_assignment.description": "Detect assignment hard coding.",
  "rule.saqt.q.cpp.115.option.hard_coding_target_assignment.name": "Hard coding assignment statement",
  "rule.saqt.q.cpp.115.option.hard_coding_target_call.description": "Detect call hard coding.",
  "rule.saqt.q.cpp.115.option.hard_coding_target_call.name": "Hard coding call",
  "rule.saqt.q.cpp.115.option.hard_coding_target_character.description": "Detect character hard coding.",
  "rule.saqt.q.cpp.115.option.hard_coding_target_character.name": "Hard coding character",
  "rule.saqt.q.cpp.115.option.hard_coding_target_conditional.description": "Detect conditional statement hard coding.",
  "rule.saqt.q.cpp.115.option.hard_coding_target_conditional.name": "Hard coding conditional statement",
  "rule.saqt.q.cpp.115.option.hard_coding_target_const.description": "Detect const hard coding.",
  "rule.saqt.q.cpp.115.option.hard_coding_target_const.name": "Hard coding const",
  "rule.saqt.q.cpp.115.option.hard_coding_target_float.description": "Detect float hard coding.",
  "rule.saqt.q.cpp.115.option.hard_coding_target_float.name": "Hard coding float",
  "rule.saqt.q.cpp.115.option.hard_coding_target_integer.description": "Detect integer hard coding.",
  "rule.saqt.q.cpp.115.option.hard_coding_target_integer.name": "Hard coding integer",
  "rule.saqt.q.cpp.115.option.hard_coding_target_non_const.description": "Detect non-const hard coding.",
  "rule.saqt.q.cpp.115.option.hard_coding_target_non_const.name": "Hard coding non-const",
  "rule.saqt.q.cpp.115.option.hard_coding_target_return.description": "Detect return expression hard coding.",
  "rule.saqt.q.cpp.115.option.hard_coding_target_return.name": "Hard coding return expression",
  "rule.saqt.q.cpp.115.option.hard_coding_target_string.description": "Detect string hard coding.",
  "rule.saqt.q.cpp.115.option.hard_coding_target_string.name": "Hard coding string",
  "rule.saqt.q.cpp.115.option.target_expr.description": "A regular expression for detecting target expressions.",
  "rule.saqt.q.cpp.115.option.target_expr.name": "Target expressions",
  "rule.saqt.q.cpp.1150.description": "The Static allocation or copying with variable length member array checker finds structs that contain a flexible array member but are not dynamically created.\nA flexible array field that is static does not actually assume a value and is allocated on the stack. It is undefined to treat this field like a regular array. Such code may output different results depending on compilers and thus is unpredictable.\nMake sure that structs having a flexible array field are dynamically created. Because flexible array fields have no specified size, they must be allocated memory dynamically as required.",
  "rule.saqt.q.cpp.1150.example.0.dangerous": "Line 7: A struct with variable-length fields is not dynamically generated.\nLine 12: A variable-length field is accessed.",
  "rule.saqt.q.cpp.1150.example.0.safe": "Line 7: Declare the struct with variable-length fields as pointer.\nLine 10: Dynamically assign the size of a struct as much as needed.\nLine 18: Access to the variable-length field after dynamic assignment.",
  "rule.saqt.q.cpp.1150.name": "Static allocation or copying with variable length member array",
  "rule.saqt.q.cpp.1153.description": "The Insecure transmission of binary data between systems checker finds problematic transfers of binary data made across multiple, heterogeneous systems.\nIssues may arise when binary data transfers are made across heterogeneous systems using a function, like fread() or fwrite(), which does not guarantee data integrity.\nIt is risky to use a poorly portable function across different system. It is never guaranteed that transfers of scalar data types such as integers, let alone aggregate types such as arrays or structs, will preserve the representation or value of the data. Implementations may differ in struct padding, floating-point model, number of bits per byte, endianness, and other attributes that cause binary data formats to be incompatible.\nFor data transfers between heterogeneous systems, use either a text representation or a special library that ensures data integrity.",
  "rule.saqt.q.cpp.1153.example.0.dangerous": "Line 9: A struc myData is loaded from file. The struc data can be represented differently in other systems.",
  "rule.saqt.q.cpp.1153.example.0.safe": "Line 11: Load data with a string buffer.\nLine 14: Store string data in a struct field.\nLine 15: Load data with a string buffer.\nLine 18: Store string data to a number field of struct.",
  "rule.saqt.q.cpp.1153.name": "Insecure transmission of binary data between systems",
  "rule.saqt.q.cpp.1154.description": "The Wrong file open mode checker finds calls to fopen() made with an invalid mode argument passed in.\nIt is not certain how an invalid mode argument will be handled, leading to unintended behavior.\nWhen opening a file using fopen(), be sure to use a valid mode.",
  "rule.saqt.q.cpp.1154.example.0.dangerous": "Line 1: 'c' is an invalid mode.",
  "rule.saqt.q.cpp.1154.example.0.safe": "Line 1: Use a valid mode.",
  "rule.saqt.q.cpp.1154.name": "Wrong file open mode",
  "rule.saqt.q.cpp.1155.description": "The Multiple use of ungetc checker finds instances of multiple calls to the ungetc() function.\nThe functions subject to this rule include both ungetc() and ungetwc().\nThe ungetc() function takes a single character and shoves it back onto an input stream. However, multiple calls to ungetc() on the same stream will be problematic because the intervening file-positioning function discards any data pushed by ungetc(). Accordingly, an unintended result may occur.\nIf more than one character needs to be pushed by ungetc(), then fgetpos() and fsetpos() should be used before and after reading the data instead of pushing it back with ungetc().",
  "rule.saqt.q.cpp.1155.example.0.dangerous": "Line 12: The second character is loaded in a single stream.",
  "rule.saqt.q.cpp.1155.example.0.safe": "Line 10: Use fgetpos() and fsetpos() functions for before and after loading data, instead of ungetc().",
  "rule.saqt.q.cpp.1155.name": "Multiple use of ungetc",
  "rule.saqt.q.cpp.1156.description": "The Inadequate value of argument of fsetpos checker finds calls to fsetpos() that are not passed with the return of fgetpos().\nOnly the return value of an fgetpos() call is a valid argument to fsetpos(). Invoking the fsetpos() function with any other values is undefined.Misuse of the fsetpos() function can result in the file position indicator pointing to an unintended location in the file.\nBe sure to pass the return of a fgetpos() call in any call to fsetpos().",
  "rule.saqt.q.cpp.1156.example.0.dangerous": "Line 8: An offset is not returned by fgetpos(), but used for an argument of fgetpos().",
  "rule.saqt.q.cpp.1156.example.0.safe": "Line 6: Call fgetpos() function, then store its return value.\nLine 9: Pass the return value for an argument of fsetpos().",
  "rule.saqt.q.cpp.1156.name": "Inadequate value of argument of fsetpos",
  "rule.saqt.q.cpp.1159.description": "The Use of errno to check for FILE stream errors checker finds instances of using errno to check for FILE stream errors.\nChecking errno after multiple calls to library functions can lead to spurious error reporting, possibly resulting in incorrect program operation.\nUse ferror(), instead of errno, to check for FILE stream errors.",
  "rule.saqt.q.cpp.1159.example.0.dangerous": "Line 5: A standardized printf() function is used at multi-times.\nLine 6: An error pointed by errno directive is resulted by printf() call in Line 5.",
  "rule.saqt.q.cpp.1159.example.0.safe": "Line 5: Use ferror() function instead of errno directives to handle errors in multiple calls of standardized functions.",
  "rule.saqt.q.cpp.1159.name": "Use of errno to check for FILE stream errors",
  "rule.saqt.q.cpp.116.description": "The Missing required qualifier on pointer parameter checker finds instances of failure to apply a designated qualifier to a pointer-type parameter declaration in a function.\nYou can optionally specify files excluded from analysis, functions subject to analysis, functions excluded from analysis, pointer-type parameter positions, and qualifiers to be used on pointer-type parameters.\nIf a qualifier is not applied to a pointer-type parameter, the value may be altered unexpectedly.\nOptionally specified pointer-type parameters of functions should be declared with a designated qualifier prefixed.",
  "rule.saqt.q.cpp.116.example.0.dangerous": "Line 1: A char pointer is received as a parameter, this is detected.",
  "rule.saqt.q.cpp.116.example.0.safe": "Line 1: A char pointer of const type is received as parameter, this is not detected.",
  "rule.saqt.q.cpp.116.name": "Missing required qualifier on pointer parameter",
  "rule.saqt.q.cpp.116.option.file_target_excluded.description": "Files to be excluded",
  "rule.saqt.q.cpp.116.option.file_target_excluded.name": "Files to be excluded",
  "rule.saqt.q.cpp.116.option.function_target.description": "Set target functions with regular expressions",
  "rule.saqt.q.cpp.116.option.function_target.name": "Target functions",
  "rule.saqt.q.cpp.116.option.function_target_excluded.description": "Set up functions to be excluded from analyzing.",
  "rule.saqt.q.cpp.116.option.function_target_excluded.name": "Functions to be excluded",
  "rule.saqt.q.cpp.116.option.parameter_should_have_qualifiers.description": "Set up qualifier which should be used. If you want multiple qualifiers, use comma(,).<br /> example) const, volatile",
  "rule.saqt.q.cpp.116.option.parameter_should_have_qualifiers.name": "Required qualifier",
  "rule.saqt.q.cpp.116.option.parameter_target_type_is_pointer.description": "Set up parameter index which type is pointer.\nExample) Format [param index]:[data]\nparam index - All index : 0\nParticular index (Multiple) : 1,2",
  "rule.saqt.q.cpp.116.option.parameter_target_type_is_pointer.name": "Pointer Type parameter",
  "rule.saqt.q.cpp.1161.description": "The Improper exit method checker finds calls to inappropriate termination functions.\nThe proper way to terminate is calling the exit() function. Calls to other termination functions such as abort() and _Exit() are inappropriate.\nWhen abort() or _Exit() is called, it is implementation-defined whether or not temporary files are removed. It is not guaranteed, therefore, how files will be handled after being opened by fopen().\nIf fopen() is ever called, use exit() for termination.",
  "rule.saqt.q.cpp.1161.example.0.dangerous": "Line 9: abort() function is called with file stream opened. In this case, the file cannot be properly closed.",
  "rule.saqt.q.cpp.1161.example.0.safe": "Line 9: Use exit() function instead of abort(). In this case, the file cannot be handled.",
  "rule.saqt.q.cpp.1161.name": "Improper exit method",
  "rule.saqt.q.cpp.1164.description": "The Uninitialized errno checker finds instances of failure to initialize errno to zero before using it to call an error indication function.\nSome error indication functions that use errno are not guaranteed to set the errno value. Therefore, they may handle an errno value returned from a previous call to another function.\nBe sure to initialize errno to zero before calling an error indication function that uses it.",
  "rule.saqt.q.cpp.1164.example.0.dangerous": "Line 5: errno is set by strtoul() function when an error occurred. However, when an error has not occurred errno cannot be a zero due to earlier value.\nLine 6: errno can be set by other strtoul() function called before strtoul(). In this case, an invalid control flow has been included.",
  "rule.saqt.q.cpp.1164.example.0.safe": "Line 5: Specify errno to zero before a strtoul() function call.",
  "rule.saqt.q.cpp.1164.name": "Uninitialized errno",
  "rule.saqt.q.cpp.1165.description": "The Direct use of variable of type time_t checker finds expressions that directly manipulate a time_t variable.\nBasically, time_t is an integer type. Directly manipulating a variable with this type is, therefore, an arithmetic operation on it. However, the way time is encoded within this arithmetic type by the function time() is unspecified. This means there is no safe way to manually perform arithmetic on the type.\nDo not directly manipulate a time_t variable by performing arithmetic on it. It is preferable to properly use a time-related function instead.",
  "rule.saqt.q.cpp.1165.example.0.dangerous": "Line 6: A value of adding start and seconds_to_work variables is compared to a return value of time(). However, due to undefined encoding, it cannot guarantee that the seconds_to_work variable adds time.",
  "rule.saqt.q.cpp.1165.example.0.safe": "Line 7: Use difftime() function to evaluate time gap.",
  "rule.saqt.q.cpp.1165.name": "Direct use of variable of type time_t",
  "rule.saqt.q.cpp.1166.description": "The Improper assert statement checker finds expressions that use assert() for an inappropriate diagnostic test.\nAn inappropriate diagnostic test refers to an assertion that allows for a runtime error or a denial-of-service attack.\nassert() does nothing in release mode. An inappropriate diagnostic test, therefore, can possibly lead to a runtime error or a denial-of-service attack.\nDo not use assert() for the purpose of testing for critical errors. It is preferable to handle those errors explicitly using an if statement and error handlers.",
  "rule.saqt.q.cpp.1166.example.0.dangerous": "Line 6: assert is used to check that memory allocation is succeeded. However, this line will be erased in release mode. Therefore, this can be exposed by runtime error or DoS attacks.",
  "rule.saqt.q.cpp.1166.example.0.safe": "Line 8: Use conditional statements instead of assert to check memory allocation.",
  "rule.saqt.q.cpp.1166.name": "Improper assert statement",
  "rule.saqt.q.cpp.1167.description": "The Too complex switch statement checker finds switch statements in which a for loop or if conditional starts in one case label and its body block spans the next case label(s).\nThe intermixing of a switch statement and another statement having a body creates a very confusing control flow. Even if the developer intended such behavior, it is not desirable in terms of code readability.\nDo not intermix a switch statement and another statement having a body.",
  "rule.saqt.q.cpp.1167.example.0.dangerous": "Line 3: Duplicate statements are found. Values variable j returns for variable i are: 12 for 1, 12 for 2, 11 for 3, and 0 for others.\nLine 4: Case statement is placed for value 1.\nLine 5: An entry point is used in a loop.\nLine 6: Body of loop and case statements is duplicated for value 2.",
  "rule.saqt.q.cpp.1167.example.0.safe": "Line 3: Do not use duplicate statements for switch and other statements.",
  "rule.saqt.q.cpp.1167.name": "Too complex switch statement",
  "rule.saqt.q.cpp.117.description": "The Use of forbidden qualifier on pointer parameter checker finds instances of applying a forbidden qualifier to a pointer-type parameter declaration in a function.\nYou can optionally specify files excluded from analysis, functions subject to analysis, functions excluded from analysis, pointer-type parameter positions, and forbidden qualifiers for pointer-type parameters.\nTo prevent API misuses, the checker searches for functions that should not use specified qualifiers.\nOptionally specified pointer-type parameters of functions should not be declared with a forbidden qualifier prefixed.",
  "rule.saqt.q.cpp.117.example.0.dangerous": "Line 1: A char pointer of const type is received as a parameter, this is detected.",
  "rule.saqt.q.cpp.117.example.0.safe": "Line 1: A char pointer is received as parameter, this is not detected.",
  "rule.saqt.q.cpp.117.name": "Use of forbidden qualifier on pointer parameter",
  "rule.saqt.q.cpp.117.option.file_target_excluded.description": "Files to be excluded",
  "rule.saqt.q.cpp.117.option.file_target_excluded.name": "Files to be excluded",
  "rule.saqt.q.cpp.117.option.function_target.description": "Set target functions with regular expressions",
  "rule.saqt.q.cpp.117.option.function_target.name": "Target functions",
  "rule.saqt.q.cpp.117.option.function_target_excluded.description": "Set up functions to be excluded from analyzing.",
  "rule.saqt.q.cpp.117.option.function_target_excluded.name": "Functions to be excluded",
  "rule.saqt.q.cpp.117.option.parameter_should_not_have_qualifiers.description": "Set up forbidden qualifiers. If you want set up multiple qualifier, use comma(,).<br /> example) const, volatile",
  "rule.saqt.q.cpp.117.option.parameter_should_not_have_qualifiers.name": "Forbidden qualifier",
  "rule.saqt.q.cpp.117.option.parameter_target_type_is_pointer.description": "Set up parameter index which type is pointer.\nExample) Format [param index]:[data]\nparam index - All index : 0\nParticular index (Multiple) : 1,2",
  "rule.saqt.q.cpp.117.option.parameter_target_type_is_pointer.name": "Pointer Type parameter",
  "rule.saqt.q.cpp.1174.description": "The Blocking while holding POSIX lock checker finds instances of performing an operation that can block while holding a POSIX lock.\nIf a lock is being held and an operation that can block is performed, it can degrade the performance of the system or cause a deadlock to occur.\nNever perform operations that can block while holding a POSIX lock.",
  "rule.saqt.q.cpp.1174.example.0.dangerous": "Line 7: A mutex is blocked.\nLine 10: recv() is blocked until it gets data through a socket. Then, other locked threads get blocked.\nLine 13: The mutex is freed. However, a function blocked on Line 10 is called.",
  "rule.saqt.q.cpp.1174.example.0.safe": "Line 6: Call recv() function before locked. Do not perform an operation that can block wile holding a lock.",
  "rule.saqt.q.cpp.1174.name": "Blocking while holding POSIX lock",
  "rule.saqt.q.cpp.1178.description": "The Missing curly brace in switch statement checker finds switch statements whose body is not wrapped by braces.\nBe sure to wrap the body of a switch statement with braces.",
  "rule.saqt.q.cpp.1178.example.0.dangerous": "Line 2: Body of switch statements is not enclosed with braces.",
  "rule.saqt.q.cpp.1178.example.0.safe": "Line 2: Enclose the body of switch statements with braces.",
  "rule.saqt.q.cpp.1178.name": "Missing curly brace in switch statement",
  "rule.saqt.q.cpp.1179.description": "The Missing curly brace in if-else statement checker finds if-elseif-else statements whose condition blocks are not wrapped by braces.\nIn an if statement, be sure to wrap each of the if, elseif, and else blocks with braces.",
  "rule.saqt.q.cpp.1179.example.0.dangerous": "Line 7: Body of else statements is not enclosed with braces.",
  "rule.saqt.q.cpp.1179.example.0.safe": "Line 7: Enclose the body of else statements with braces.",
  "rule.saqt.q.cpp.1179.name": "Missing curly brace in if-else statement",
  "rule.saqt.q.cpp.118.description": "The Use of invalid error code checker finds calls to optionally specified functions in which the argument put in a designated position fails to include the string specified for it.\nYou can optionally specify files excluded from analysis, functions subject to analysis, functions excluded from analysis, callee functions subject to checking, and string argument positions and patterns.\nWhen calling an optionally configured function, make sure arguments include their specified strings.",
  "rule.saqt.q.cpp.118.example.0.dangerous": "Line 2: A subject to analysis, Func() function, is defined.\nLine 3: SET_ERR_API19() function is called. A sting of the first argument is not started with ERR00.",
  "rule.saqt.q.cpp.118.example.0.safe": "Line 2: A subject to analysis, Func() function, is defined.\nLine 3: SET_ERR_API19() function is called. A string of the first argument has been started with ERR00.",
  "rule.saqt.q.cpp.118.name": "Use of invalid error code",
  "rule.saqt.q.cpp.118.option.call_param_should_be_string.description": "Parameter which should be place string in calling function",
  "rule.saqt.q.cpp.118.option.call_param_should_be_string.name": "Parameter which should be place string in calling function",
  "rule.saqt.q.cpp.118.option.call_target.description": "Target function call",
  "rule.saqt.q.cpp.118.option.call_target.name": "Target function call",
  "rule.saqt.q.cpp.118.option.file_target_excluded.description": "Files to be excluded",
  "rule.saqt.q.cpp.118.option.file_target_excluded.name": "Files to be excluded",
  "rule.saqt.q.cpp.118.option.function_target.description": "Set up functions to be analyzed.",
  "rule.saqt.q.cpp.118.option.function_target.name": "Target functions",
  "rule.saqt.q.cpp.118.option.function_target_excluded.description": "Set up functions to be excluded from analyzing.",
  "rule.saqt.q.cpp.118.option.function_target_excluded.name": "Functions to be excluded",
  "rule.saqt.q.cpp.1183.description": "The Incomplete structure and union type checker finds structs and unions that are of an incomplete type.\nAn incomplete type refers to a struct or union containing a field of an undefined type, thus left in an uncertain state.\nGenerally, a declaration of such a type is detected as an error at compile-time. Some old or noncompliant compilers, however, can allow for this type declaration. This may cause an unexpected issue.\nMake sure structs and unions are declared to have a complete type.",
  "rule.saqt.q.cpp.1183.example.0.dangerous": "Line 6: Struct B is not defined.",
  "rule.saqt.q.cpp.1183.example.0.safe": "Line 4: Struct B is defined.\nLine 7: Use a struct and union in a perfect type.",
  "rule.saqt.q.cpp.1183.name": "Incomplete structure and union type",
  "rule.saqt.q.cpp.1184.description": "The Use of Union checker finds declarations of unions.\nUsing a union can cause a potentially wrong pointer reference due to the nature of unions. Unions can be used to reduce memory consumption by allowing access to a common location by different data types. Despite this benefit from the use of unions, the checker forbids it in order to prevent program errors caused by an invalid pointer reference.\nDo not use a union. Instead, use structs even if they are less efficient in terms of performance.",
  "rule.saqt.q.cpp.1184.example.0.dangerous": "Line 1: A union is declared.",
  "rule.saqt.q.cpp.1184.example.0.safe": "Line 1: Use a struct instead of Union",
  "rule.saqt.q.cpp.1184.name": "Use of Union",
  "rule.saqt.q.cpp.1186.description": "The Non-standard character in include statement checker finds #include preprocessor statements that are passed with a filename including non-standard characters.\nNon-standard characters contained in an #include filename can lead to failure to read the file depending on the compilation environment.\nMake sure filenames to be included by #include contain only standard characters.",
  "rule.saqt.q.cpp.1186.example.0.dangerous": "Line 1: A non-standard character is used for a file of #include directive.",
  "rule.saqt.q.cpp.1186.example.0.safe": "Line 1: Use standard characters only for a file of #include directive.",
  "rule.saqt.q.cpp.1186.name": "Non-standard character in include statement",
  "rule.saqt.q.cpp.1187.description": "The Violation of format of included file name checker finds instances in which the filename in an #include preprocessor statement is not written in the specified format.\nThe #include preprocessor directive must be used in the format of either #include \"filename\" or #include <filename>.\nSome noncompliant compilers allow including a filename in #include in some other format. However, such noncompliant #include formats will cause an error when compiled by a compliant compiler.\nMake sure that the filename in an #include statement complies with the specified format.",
  "rule.saqt.q.cpp.1187.example.0.dangerous": "Line 1: A #include directive does not follow a specified rule.\nLine 2: A #include directive does not follow a specified rule.",
  "rule.saqt.q.cpp.1187.example.0.safe": "Line 1: Enclose a filed name included in #include directive with double quotes or angle brackets.",
  "rule.saqt.q.cpp.1187.name": "Violation of format of included file name",
  "rule.saqt.q.cpp.1188.description": "The Defined or undefined macro in block checker finds instances of using the #define or #undef preprocessor directive within a function block.\nBe sure to use #define and #undef always outside a function block.",
  "rule.saqt.q.cpp.1188.example.0.dangerous": "Line 3: A #define directive is used in a function block.\nLine 5: A #undef directive is used in a function block.",
  "rule.saqt.q.cpp.1188.example.0.safe": "Line 1: Use #define or #undef directive out of a file block.",
  "rule.saqt.q.cpp.1188.name": "Defined or undefined macro in block",
  "rule.saqt.q.cpp.1189.description": "The Use of #undef directive checker finds instances of using the #undef preprocessor directive.\nIf a header file containing an #undef statement is included, this may alter the value of a macro variable defined earlier using #define in another header file. This may cause an error whose cause is not easily identifiable.\nDo not use #undef unless it is unavoidable.",
  "rule.saqt.q.cpp.1189.example.0.dangerous": "Line 1: A #undef directive is used.",
  "rule.saqt.q.cpp.1189.example.0.safe": "Line 1: Do not use the #undef directive.",
  "rule.saqt.q.cpp.1189.name": "Use of #undef directive",
  "rule.saqt.q.cpp.119.description": "The Missing call of initialization function on error checker finds instances of failure to call an initialization function prior to the return of an optionally specified.\nYou can optionally specify an error value to be checked for in a conditional statement, an error value to be returned, and an initialization function.\nWhen a statement regarding an optionally specified \"error value to be checked for in a conditional statement\" is executed, a designated initialization function must be called before an error is returned.",
  "rule.saqt.q.cpp.119.example.0.dangerous": "Line 6: RC_NRM is used in conditional statements.\nLine 7: RC_ERR is returned. An initialization function is not called, this is detected.",
  "rule.saqt.q.cpp.119.example.0.safe": "Line 6: RC_NRM is used in conditional statements.\nLine 7: An initialization function pfmInitError() is called before RC_ERR is returned.",
  "rule.saqt.q.cpp.119.name": "Missing call of initialization function on error",
  "rule.saqt.q.cpp.119.option.cond_error.description": "Set up an error values that are compared in conditional statement.",
  "rule.saqt.q.cpp.119.option.cond_error.name": "Error values that are compared in conditional statement",
  "rule.saqt.q.cpp.119.option.init_function.description": "Set up functions for initialization.",
  "rule.saqt.q.cpp.119.option.init_function.name": "Functions for initialization",
  "rule.saqt.q.cpp.119.option.return_error.description": "Set up return error value",
  "rule.saqt.q.cpp.119.option.return_error.name": "Return error value",
  "rule.saqt.q.cpp.1190.description": "The Function-like macro checker finds instances of defining a macro function.\nA macro function refers to a function-like macro defined using the #define preprocessor directive.\nA macro function does not guarantee type stability. And it can sometimes cause an unexpected result unless special care is taken such as operator precedence.\nDo not use macro functions. If regular functions need to be avoided for performance reasons, use inline functions instead.",
  "rule.saqt.q.cpp.1190.example.0.dangerous": "Line 1: A macro function is declared.",
  "rule.saqt.q.cpp.1190.example.0.safe": "Line 1: Define and use an inline function with the same behavior instead of the macro.",
  "rule.saqt.q.cpp.1190.name": "Function-like macro",
  "rule.saqt.q.cpp.1191.description": "The Mismatched number of arguments of macro checker finds instances of calling a macro function with fewer arguments passed in than declared.\nA macro function refers to a function-like macro defined using the #define preprocessor directive.\nIn a macro function call, it is undefined behavior to pass arguments whose number is not the same as the number of arguments declared. Such code may output different results depending on compilers and thus is unpredictable.\nWhen calling a macro function, make sure that the number of arguments passed in matches the number of arguments declared.",
  "rule.saqt.q.cpp.1191.example.0.dangerous": "Line 1: MY_MACRO macro is declared with two parameters.\nLine 4: MY_MACRO macro is used. However, only one argument has been passed.",
  "rule.saqt.q.cpp.1191.example.0.safe": "Line 4: Pass two arguments for the two parameters declared on Line 1.",
  "rule.saqt.q.cpp.1191.name": "Mismatched number of arguments of macro",
  "rule.saqt.q.cpp.1192.description": "The Preprocess statement in macro checker finds instances in which a preprocessor statement is passed as an argument to a macro function.\nA macro function refers to a function-like macro defined using the #define preprocessor directive.\nIt is undefined that a macro function takes one or more preprocessor statements as arguments. Such code may output different results depending on compilers and thus is unpredictable.\nBe sure to pass no preprocessor statements in a call to a macro function.",
  "rule.saqt.q.cpp.1192.example.0.dangerous": "Line 3: A macro is used on multi-lines.\nLine 4: A preprocessor statement is used between arguments of macro.",
  "rule.saqt.q.cpp.1192.example.0.safe": "Line 4: Do not place a preprocessor between arguments of macro.",
  "rule.saqt.q.cpp.1192.name": "Preprocess statement in macro",
  "rule.saqt.q.cpp.1193.description": "The Missing parentheses around macro argument checker finds failure to parenthesize an argument when declaring a function-like macro, except for when they are used in a # or ## operation.\nA macro function refers to a function-like macro defined using the #define preprocessor directive.\nIf arguments are not parenthesized, operations can be performed in different orders depending on the expressions passed through those arguments. Accordingly, an unintended result may occur.\nMake sure that arguments are always parenthesized in macro declarations.",
  "rule.saqt.q.cpp.1193.example.0.dangerous": "Line 1: An argument of macro is not enclosed with parentheses.\nLine 2: An argument of macro is not enclosed with parentheses.",
  "rule.saqt.q.cpp.1193.example.0.safe": "Line 1: Enclose each argument of macro with parentheses.",
  "rule.saqt.q.cpp.1193.name": "Missing parentheses around macro argument",
  "rule.saqt.q.cpp.1194.description": "The Undefined identifier checker finds instances of using an undefined identifier in an #ifdef, #ifndef, or #defined statement.\nMacro identifiers used in an #ifdef, #ifndef, or #defined statement are regarded to assume a zero value. This may likely be unexpected behavior.\nMake sure all macro identifiers are defined in advance before used in a preprocessor statement.",
  "rule.saqt.q.cpp.1194.example.0.dangerous": "Line 1: A macro identifier, FLAG, is compared in if statement. The macro is not defined, thus evaluated to zero.",
  "rule.saqt.q.cpp.1194.example.0.safe": "Line 1: Explicitly define a macro identifier, FLAG, before using in if statement.",
  "rule.saqt.q.cpp.1194.name": "Undefined identifier",
  "rule.saqt.q.cpp.1195.description": "The Multiple # or ## operation checker finds macro definitions that use the # and ## operators more than once.\nPrecedence with the # and ## operators is undefined. Although the compiler provides their implementation, their specifications are not documented. They can often behave not as indented.\nDo not use the # and ## operators more than once in a macro definition.",
  "rule.saqt.q.cpp.1195.example.0.dangerous": "Line 1: # or ## operator is used twice and more in macro definition.\nLine 2: # or ## operator is used twice and more in macro definition.\nLine 3: # or ## operator is used twice and more in macro definition.",
  "rule.saqt.q.cpp.1195.example.0.safe": "Line 1: Use # or ## operator once in macro definition.\nLine 2: Use # or ## operator once in macro definition.\nLine 3: Use # or ## operator once in macro definition.",
  "rule.saqt.q.cpp.1195.name": "Multiple # or ## operation",
  "rule.saqt.q.cpp.1196.description": "The Use of # or ## operator checker finds macro definitions that use the # or ## operator.\nUsing the # or ## operator without proper understanding of how macro replacement works can lead to incorrect source code, possibly causing an unexpected result.\nDo not use the # or ## operator in a macro definition.",
  "rule.saqt.q.cpp.1196.example.0.dangerous": "Line 1: # or ## operator is used in macro definition.",
  "rule.saqt.q.cpp.1196.example.0.safe": "Line 1: Do not use # or ## operator in macro definition.",
  "rule.saqt.q.cpp.1196.name": "Use of # or ## operator",
  "rule.saqt.q.cpp.1197.description": "The Non-standard format of preprocess statement checker finds instances of using the #defined preprocessor operator not in compliance with the syntactical rules.\nThe standard formats of using the #defined preprocessor operator include \"#defined (identifier)\" and \"#defined identifier.\"\nUsing this operator in some other format is undefined. Such code may output different results depending on compilers and thus is unpredictable.\nMake sure the #defined preprocessor operator is used in the specified format.",
  "rule.saqt.q.cpp.1197.example.0.dangerous": "Line 1: '15' is added to an identifier TEXT4.\nLine 4: An expression is used instead of an identifier.\nLine 7: A #defined directive is specified as a macro.",
  "rule.saqt.q.cpp.1197.example.0.safe": "Line 1: Write a #defined directive as specified.",
  "rule.saqt.q.cpp.1197.name": "Non-standard format of preprocess statement",
  "rule.saqt.q.cpp.1198.description": "The Extra character after preprocess statement checker finds instances in which a preprocessor statements is written normally but then followed by extra characters other than a space.\nExtra trailing non-space characters subsequent to a preprocessor statement are supposed to be ignored. However, not every compiler complies with this standard ISO rule. In some cases, unexpected behavior may occur.\nDo not add extra non-space characters after a preprocessor statement.",
  "rule.saqt.q.cpp.1198.example.0.dangerous": "Line 1: A non-white-space character is entered at the end of a preprocessing statement.\nLine 2: A non-white-space character is entered at the end of a preprocessing statement.",
  "rule.saqt.q.cpp.1198.example.0.safe": "Line 1: Do not use a character but a whitespace after a preprocessing directive.\nLine 2: Do not use a character but a whitespace after a preprocessing directive.",
  "rule.saqt.q.cpp.1198.name": "Extra character after preprocess statement",
  "rule.saqt.q.cpp.1199.description": "The Trailing semicolon at preprocess statement checker finds instances in which a preprocessor statements is written normally but then ends with a semicolon.\nExtra trailing non-space characters subsequent to a preprocessor statement are supposed to be ignored. However, not every compiler complies with this standard ISO rule. In some cases, unexpected behavior may occur.\nDo not add semicolons at the end of preprocessing statements.",
  "rule.saqt.q.cpp.1199.example.0.dangerous": "Line 1: A semicolon is entered at the end of a preprocessing statement.\nLine 2: A semicolon is entered at the end of a preprocessing statement.",
  "rule.saqt.q.cpp.1199.example.0.safe": "Line 1: Do not use a semicolon after a preprocessor directive.\nLine 2: Do not use a semicolon after a preprocessor directive.",
  "rule.saqt.q.cpp.1199.name": "Trailing semicolon at preprocess statement",
  "rule.saqt.q.cpp.120.description": "The Improper return value on error checker finds instances that the return statement does not follow after the function specified in the option has been called.\nYou can optionally specify files excluded from analysis, functions subject to analysis, functions excluded from analysis, and callee functions subject to checking.\nMake sure optionally specified functions are explicitly followed by a return statement.",
  "rule.saqt.q.cpp.120.example.0.dangerous": "Line 2: A subject to analysis, Func() function, is defined.\nLine 3: A return statement of Func() is found after SET_ERR_API21() function call.",
  "rule.saqt.q.cpp.120.example.0.safe": "Line 2: A subject to analysis, Func() function, is defined.\nLine 3: SET_ERR_API21() function is called. This is not an error because of a return statement.",
  "rule.saqt.q.cpp.120.name": "Improper return value on error",
  "rule.saqt.q.cpp.120.option.call_target.description": "Target function call",
  "rule.saqt.q.cpp.120.option.call_target.name": "Target function call",
  "rule.saqt.q.cpp.120.option.file_target_excluded.description": "Files to be excluded",
  "rule.saqt.q.cpp.120.option.file_target_excluded.name": "Files to be excluded",
  "rule.saqt.q.cpp.120.option.function_target.description": "Set up functions to be analyzed.",
  "rule.saqt.q.cpp.120.option.function_target.name": "Target functions",
  "rule.saqt.q.cpp.120.option.function_target_excluded.description": "Set up functions to be excluded from analyzing.",
  "rule.saqt.q.cpp.120.option.function_target_excluded.name": "Functions to be excluded",
  "rule.saqt.q.cpp.1200.description": "The Dynamic memory allocation checker finds expression uses dynamic allocation.\nIt is common to use dynamic allocation in C/C++. However, sometimes a program is required to execute in an extremely limited memory for embedded environment. Then, it can be dagerous to use the dynamic allocation. Which applies to industries required stable actions, such as car, aviation, atomic energy, etc.\nDo not perform the dynamic allocation.",
  "rule.saqt.q.cpp.1200.example.0.dangerous": "Line 2: Dynamic allocation is used to call malloc() function.",
  "rule.saqt.q.cpp.1200.example.0.safe": "Line 1: Use a local variable.",
  "rule.saqt.q.cpp.1200.name": "Dynamic memory allocation",
  "rule.saqt.q.cpp.1201.description": "The Use of errno checker finds errno directives.\nThe errno directives are technically useful, but a ill-defined feature of C++ by ISO/IEC14882 : 2003 [1]. An error can or cannot be represented on non-zero. Thus, it is not recommended to use the errno directives.\nDo not use the errno directives.",
  "rule.saqt.q.cpp.1201.example.0.dangerous": "Line 5: errno is used to check errors.",
  "rule.saqt.q.cpp.1201.example.0.safe": "Line 5: It is recommended to check return values or parameter inputs.",
  "rule.saqt.q.cpp.1201.name": "Use of errno",
  "rule.saqt.q.cpp.1202.description": "The Use of offsetof Macro checker finds instances of using a offsetof macro.\nDo not use the offsetof macro included in C++ Standard library stddef.h. An undefined action can occur by using the offsetof macro in non-standard-layout class. Thus, it is not recommended to use the offsetof macro. A standard-layout type indicates a type with C layout, and features as belows: 1. Does not contain a virtual function or virtual base class. 2. Non-static data member has an identical access control. 3. Every non-static data members is standard-layout. 4. Every base class is standard-layout. 5. Does not contain identical type of data of base class for the first non-static member. 6. Does not contain a reference member. 7. Does not contain a non-static data for at least one base class or both derived and base class. To check a standard-layout type, use std::is_standard_layout in <type_traits>.\nDo not use the offsetof macro.",
  "rule.saqt.q.cpp.1202.example.0.dangerous": "Line 10: offsetof macro is used.",
  "rule.saqt.q.cpp.1202.example.0.safe": "Line 10: Do not use the offsetof macro. Use other function, if needed.",
  "rule.saqt.q.cpp.1202.name": "Use of offsetof Macro",
  "rule.saqt.q.cpp.1203.description": "The Use of setjmp checker finds expressions with setjmp macros.\nIt is hard to find excution flows when the setjmp macros are included.\nDo not use setjmp macros. It is recommended to configure control flows that do not require jump statements.",
  "rule.saqt.q.cpp.1203.example.0.dangerous": "Line 3: setjmp macro is used.",
  "rule.saqt.q.cpp.1203.example.0.safe": "Line 1: Do not use the setjmp macro. Ensure that a jump statement is not required for control flows.",
  "rule.saqt.q.cpp.1203.name": "Use of setjmp",
  "rule.saqt.q.cpp.1204.description": "The Use of longjmp Function checker finds instances of using longjmp() function.\nIt is hard to find excution flows when the longjmp() functions are included.\nDo not use the longjmp() function. It is recommended to configure control flows that do not require jump statements.",
  "rule.saqt.q.cpp.1204.example.0.dangerous": "Line 12: longjmp() function is used.",
  "rule.saqt.q.cpp.1204.example.0.safe": "Line 1: Do not use the longjmp() function. Configure a control flow that does not require a jump statement.",
  "rule.saqt.q.cpp.1204.name": "Use of longjmp",
  "rule.saqt.q.cpp.1205.description": "The Use of Signal Handling checker finds instances of using the signal handling specified in the signal.h header.\nThe signal handling specified in signal.h should not be used. Signal handling is platform-specific and may cause undefined behavior.\nDo not use the signal handling specified in signal.h.",
  "rule.saqt.q.cpp.1205.example.0.dangerous": "Line 1: signal.h header file is included.",
  "rule.saqt.q.cpp.1205.example.0.safe": "Line 1: Do not use signal handling of signal.h.",
  "rule.saqt.q.cpp.1205.name": "Use of Signal Handling",
  "rule.saqt.q.cpp.1206.description": "The Use of stdio checker finds instances of using stdio.h.\nDo not use the stdio.h of C standard library, as it has a number of defects and prone to raise errors. It is recommended to use some alternative libraries.\nDo not use the stdio.h header.",
  "rule.saqt.q.cpp.1206.example.0.dangerous": "Line 1: stdio.h is included.",
  "rule.saqt.q.cpp.1206.example.0.safe": "Line 1: Do not include the stdio.h.",
  "rule.saqt.q.cpp.1206.name": "Use of stdio",
  "rule.saqt.q.cpp.1207.description": "The Use of Wide String checker finds instances of using a wide string.\nDo not use a wide string.",
  "rule.saqt.q.cpp.1207.example.0.dangerous": "Line 1: 'Fred' is used in a wide-character string.",
  "rule.saqt.q.cpp.1207.example.0.safe": "Line 1: Do not use a wide-character string.",
  "rule.saqt.q.cpp.1207.name": "Use of Wide String",
  "rule.saqt.q.cpp.1209.description": "The Returning in function of void return type checker finds instances in which a void function returns a value.\nA return statement in a void function is an unnecessary computation that wastes resources, and some compilers report a compile error for this.\nDo not include a return statement in a void function.",
  "rule.saqt.q.cpp.1209.example.0.dangerous": "Line 4: A void function returns an expression 'x+1.'",
  "rule.saqt.q.cpp.1209.example.0.safe": "Line 4: A void function cannot return an expression.",
  "rule.saqt.q.cpp.1209.name": "Returning in function of void return type",
  "rule.saqt.q.cpp.1210.description": "The Arithmetic Operation on Pointer checker finds instances of performing an arithmetic operation on a pointer.\nAn invalid pointer operation can cause some issues like a runtime error.\nDo not use arithmetic operations on pointers.",
  "rule.saqt.q.cpp.1210.example.0.dangerous": "Line 4: An operation is performed on a pointer.",
  "rule.saqt.q.cpp.1210.example.0.safe": "Line 4: Do not perform a pointer operation.",
  "rule.saqt.q.cpp.1210.name": "Arithmetic Operation on Pointer",
  "rule.saqt.q.cpp.1211.description": "The Use of setlocale checker finds instances of calling setlocale() function from locale.h library.\nDo not use the setlocale() function.",
  "rule.saqt.q.cpp.1211.example.0.dangerous": "Line 3: setlocale() function from locale.h library is used.",
  "rule.saqt.q.cpp.1211.example.0.safe": "Line 3: Do not use the setlocale().",
  "rule.saqt.q.cpp.1211.name": "Use of setlocale",
  "rule.saqt.q.cpp.1213.description": "The Signal Handler's Access to Shared Object checker finds instances in which a signal function accesses a shared object.\nA signal handler's access to a shared object can cause a race condition. For portability's sake, signal handlers must get, set, or return a volatile sig_atomic_t variable. Or use lock-free programming for atomic access. Please see the CERT page for details.\nMake sure signal handlers do not access shared objects.",
  "rule.saqt.q.cpp.1213.example.0.dangerous": "Line 4: err_msg is updated to leave a message for passing SIGINT signal. However, an undefined action can occur by generating SIGINT before allocating an action.",
  "rule.saqt.q.cpp.1213.example.0.safe": "Line 2: For portability's sake, signal handlers must get, set, or return a volatile sig_atomic_t variable. Or use lock-free programming for atomic access. Please see the CERT page for details.",
  "rule.saqt.q.cpp.1213.name": "Signal Handler's Access to Shared Object",
  "rule.saqt.q.cpp.1215.description": "The Returning signal handlers checker finds instances of implicitly or explicitly returning from a computational exception signal handler.\nA signal handler function for critical errors, such as SIGSEGV, SIGILL, or SIGFPE, needs to invoke a termination function rather than return a value.\nYou must not ignore signals generated from the critical errors such as segmentation faults (SIGSEGV), illegal instruction (SIGILL), and arithmetic exceptions (SIGFPE). In case of a signal from one of these handlers, you must handle it appropriately and then terminate the program.\nThe only portably safe way to leave a SIGSEGV, SIGILL, or SIGFPE handler is to invoke abort(), quick_exit(), or _Exit() and terminate the program.",
  "rule.saqt.q.cpp.1215.example.0.dangerous": "Line 7: A value is implicitly returned by a signal handler without specific termination code.\nLine 15: A SIGFPE signal occurs when denom value is zero. Then, an infinit loop can occur.",
  "rule.saqt.q.cpp.1215.example.0.safe": "Line 6: Use abort(), quick_exit(), or _Exit() to terminate SIGFPE, SIGILL, or SIGSEGV handler. Or, the presence of default handler enables the program to be terminated.",
  "rule.saqt.q.cpp.1215.name": "Returning signal handlers",
  "rule.saqt.q.cpp.1216.description": "The Unused runtime constraint handler checker finds instances of failure to register a runtime-constraint handler prior to calling any bounds-checking functions.\nThe C11 standard specifies that the arguments passed to bounds-checking library functions be checked for compliance with their constraints, and a violation of them cause a signal. When using those library functions, therefore, it is preferable to register an appropriate signal handler that is to be called on a constraint violation.\nRegister the handler using the set_constraint_handler_s() function.",
  "rule.saqt.q.cpp.1216.example.0.dangerous": "Line 3: A runtime handler is not explicitly specified before a strcpy_s() call.",
  "rule.saqt.q.cpp.1216.example.0.safe": "Line 7: Explicitly specify a runtime handler.",
  "rule.saqt.q.cpp.1216.name": "Unused runtime constraint handler",
  "rule.saqt.q.cpp.1218.description": "The Use of signal in multi-threaded program checker finds calls to the signal() function made in a multithreaded program.\nA signal() call in a multithreaded environment can cause undefined behavior.\nDo not call signal() in a multithreaded program.",
  "rule.saqt.q.cpp.1218.example.0.dangerous": "Line 13: signal() function is used to break out of a loop in a child thread.",
  "rule.saqt.q.cpp.1218.example.0.safe": "Line 16: Use an atomic_flag type object instead of signal() function to break out of a loop in a child thread.",
  "rule.saqt.q.cpp.1218.name": "Use of signal in multi-threaded program",
  "rule.saqt.q.cpp.1219.description": "The Overloaded logical operator checker finds classes that overload the comma operator or a logical operator.\nC++ classes are allowed to overload operators, including the comma and logical operators such as operator,(), operator&&(), and operator||().\nOnce overloaded in a class, logical operators are no longer short-circuit operators. And the (`,`) operator evaluates the right-hand expression first. If overloaded in a class, you can't be assured that it will evaluate the left-hand expression first. In this case, the sequence of evaluation is compiler-specific.\nDo not overload operators if they can change the sequence of evaluation when overloaded.",
  "rule.saqt.q.cpp.1219.example.0.dangerous": "Line 2: operator&&() method is overloaded.",
  "rule.saqt.q.cpp.1219.example.0.safe": "Line 2: Do not overload operator&&() method.",
  "rule.saqt.q.cpp.1219.name": "Overloaded logical operator",
  "rule.saqt.q.cpp.1219.option.is_checked_ampersand.description": "Check '&&' operator is overloaded when set checkbox.",
  "rule.saqt.q.cpp.1219.option.is_checked_ampersand.name": "Check '&&' operator",
  "rule.saqt.q.cpp.122.description": "The Missing logging on error checker finds instances of failure to call an error logging function before an error code is returned.\nYou can optionally specify error codes and error logging functions.\nFailure to log error occurrences decreases maintainability; the program needs to log any error messages.\nMake sure an error logging function is called before an optionally specified error code is returned.",
  "rule.saqt.q.cpp.122.example.0.dangerous": "Line 7: An error code is returned. An error log function is not called, this is detected.",
  "rule.saqt.q.cpp.122.example.0.safe": "Line 7: The error log function is called before error code returned.\nLine 8: An error code is returned.",
  "rule.saqt.q.cpp.122.name": "Missing logging on error",
  "rule.saqt.q.cpp.122.option.error_expr.description": "Set up error expressions",
  "rule.saqt.q.cpp.122.option.error_expr.name": "Error expressions",
  "rule.saqt.q.cpp.122.option.log_function.description": "Set up functions for logging",
  "rule.saqt.q.cpp.122.option.log_function.name": "Functions for logging",
  "rule.saqt.q.cpp.1220.description": "The Use of C-style casting checker finds expressions that use a C-style type cast in source code.\nC-style typecasting provides poor readability and type checking.\nUse C++'s new typecasting features (static_cast, const_cast, dynamic_cast, and reinterpret_cast). C++ typecasting ensures better readability and provides more powerful type checking. static_cast is used for commonly allowed typecasting and catches casting type errors at compile time. const_cast is used to add to or remove the const-ness or volatile-ness of the expression. dynamic_cast is used to safely downcast custom types. It returns a null pointer or throws an exception if the expression passed in and the destination type are not in an inheritance hierarchy. reinterpret_cast is used to cast any pointer to any other pointer type.",
  "rule.saqt.q.cpp.1220.example.0.dangerous": "Line 11: C style casting is used.",
  "rule.saqt.q.cpp.1220.example.0.safe": "Line 11: Use a C++ style casting. dynamic_cast returns a null pointer unless pd is not inherited from a base class.",
  "rule.saqt.q.cpp.1220.name": "Use of C-style casting",
  "rule.saqt.q.cpp.1221.description": "The Use of copy initialization checker finds class-type variables that are defined by means of copy initialization.\nIf a variable of a class type is assigned a value at declaration, the copy constructor is invoked. This is called copy initialization.\nCopy initialization creates a temporary object, incurring an unnecessary overhead that is costly if the constructor performs complicated computations.\nWhen defining a class type variable, direct initialization is recommended over copy initialization. Direct initialization calls the constructor only once.",
  "rule.saqt.q.cpp.1221.example.0.dangerous": "Line 1: Temporary objects are created, incurring overhead.\nLine 2: Temporary objects are created, incurring overhead.",
  "rule.saqt.q.cpp.1221.example.0.safe": "Line 1: Use a direct initialization.",
  "rule.saqt.q.cpp.1221.name": "Use of copy initialization",
  "rule.saqt.q.cpp.1222.description": "The Missing special function in complicated class checker finds certain kinds of classes in which a special method is not declared or defined.\nThe checker examines classes that contain a pointer as a member field or have a complicated destructor.\nIf these classes do not define explicit copy constructor and copy assignment operator, copying between objects may not be conducted normally. The default copy constructor and copy assignment operator conduct only shallow copying. Therefore, if the class contains a pointer member, only the pointer's address will be copied and the data being pointed to will be left uncopied.\nBe sure to declare and define an explicit copy constructor and copy assignment operator.",
  "rule.saqt.q.cpp.1222.example.0.dangerous": "Line 6: A pointer member variable exists, but a copy constructor and copy assignment operator are not explicitly declared. A special method is generated by a compiler.",
  "rule.saqt.q.cpp.1222.example.0.safe": "Line 4: Explicitly define a copy constructor.\nLine 5: Explicitly define a copy assignment operator.",
  "rule.saqt.q.cpp.1222.name": "Missing special function in complicated class",
  "rule.saqt.q.cpp.1223.description": "The Missing special function in dynamically allocated class checker finds certain kinds of classes in which a special method is not declared or defined.\nThe checker examines classes that contain a dynamically initialized field.\nIf these classes do not define explicit copy constructor and copy assignment operator, copying between objects may not be conducted normally. The default copy constructor and copy assignment operator conduct only shallow copying. Therefore, if the class contains a pointer member, only the pointer's address will be copied and the data being pointed to will be left uncopied.\nBe sure to declare and define an explicit copy constructor and copy assignment operator.",
  "rule.saqt.q.cpp.1223.example.0.dangerous": "Line 4: new is used in a constructor, but its copy constructor and copy assignment operator are not explicitly declared.",
  "rule.saqt.q.cpp.1223.example.0.safe": "Line 6: Explicitly define a copy constructor.\nLine 7: Explicitly define a copy assignment operator.",
  "rule.saqt.q.cpp.1223.name": "Missing special function in dynamically allocated class",
  "rule.saqt.q.cpp.1224.description": "The Missing explicit destructor in complex class checker finds certain kinds of classes in which a special method is not declared or defined.\nThe checker examines classes that contain a pointer as a member field.\nIf the classes allocate memories to the member fields, memory leaks may occur when the objects are destroyed. Even if a memory deallocation method is defined, it cannot cope with unexpected object destruction.\nYou must explicitly declare and define a destructor.",
  "rule.saqt.q.cpp.1224.example.0.dangerous": "Line 6: A pointer member variable is found, but no explicit destructor is declared",
  "rule.saqt.q.cpp.1224.example.0.safe": "Line 4: Explicitly declare or define a destructor.",
  "rule.saqt.q.cpp.1224.name": "Missing explicit destructor in complex class",
  "rule.saqt.q.cpp.1225.description": "The Missing explicit destructor in dynamically allocating class checker finds certain kinds of classes in which a special method is not declared or defined.\nThe checker examines classes that contain a dynamically initialized field.\nIf constructors allocate memories to the member fields, memory leaks may occur when the objects are destroyed. Even if a memory deallocation method is defined, it cannot cope with unexpected object destruction.\nYou must explicitly declare and define a destructor.",
  "rule.saqt.q.cpp.1225.example.0.dangerous": "Line 4: new is used in a constructor, but a destructor is not explicitly declared.",
  "rule.saqt.q.cpp.1225.example.0.safe": "Line 6: Explicitly declare or define a destructor.",
  "rule.saqt.q.cpp.1225.name": "Missing explicit destructor in dynamically allocating class",
  "rule.saqt.q.cpp.1226.description": "The Too complex inline function checker finds complex functions declared as inline.\nThe complex function indicates a function with a loop or recursive call.\nA compiler uses inline keywords as hints to decide that a function is inlined. Unlike expectation, however, inlining may also decrease performance in some cases. In most cases, compilers are not likely to handle the complex function with inline keyword as inline.\nDo not use the inline keywords in the complex functions. Ensure to use the inline keyword for a simple function, if needed.",
  "rule.saqt.q.cpp.1226.example.0.dangerous": "Line 7: A loop statement is used within an inline function.",
  "rule.saqt.q.cpp.1226.example.0.safe": "Line 1: Declare only a simple function inline.",
  "rule.saqt.q.cpp.1226.name": "Too complex inline function",
  "rule.saqt.q.cpp.1227.description": "The Non-virtual inline function checker finds instances in which certain class methods are declared with the inline keyword.\nThe special methods checked by the checker include virtual methods, constructors, and destructors.\nA compiler uses inline keywords as hints to decide that a function is inlined. Unlike expectation, however, inlining may also decrease performance in some cases. Virtual functions cannot be inline since their implementation is not determined until runtime. Constructors and destructors cannot be inline because they may implicitly invoke another constructor or destructor.\nDo not use the inline keyword for virtual functions, constructors, or destructors. Use this keyword only for simple, non-virtual methods.",
  "rule.saqt.q.cpp.1227.example.0.dangerous": "Line 3: A virtual function cannot be inlined. Method implementation of class definition provides inlining of function.",
  "rule.saqt.q.cpp.1227.example.0.safe": "Line 3: Declare the virtual function as a regular function. Or, do not declare the virtual function as inline.",
  "rule.saqt.q.cpp.1227.name": "Non-virtual inline function",
  "rule.saqt.q.cpp.1228.description": "The Too long inline function checker finds non-trivial functions declared as inline.\nThe non-trivial function indicates a function with LOCs or statements more than specified. The numbers can be optionally set up.\nA compiler uses inline keywords as hints to decide that a function is inlined. Unlike expectation, however, inlining may also decrease performance in some cases.\nDo not use the inline keywords in the non-trivial functions.",
  "rule.saqt.q.cpp.1228.example.0.dangerous": "Line 1: The number of function lines exceeds 15 lines specified by an option.",
  "rule.saqt.q.cpp.1228.example.0.safe": "Line 1: Set the number of function lines to equal or less than the number specified in an option, or modify the option.",
  "rule.saqt.q.cpp.1228.name": "Too long inline function",
  "rule.saqt.q.cpp.1228.option.line_of_code.description": "Write max line of code count.",
  "rule.saqt.q.cpp.1228.option.line_of_code.name": "Max line of code count.",
  "rule.saqt.q.cpp.1228.option.statements_count.description": "Write max statements count.",
  "rule.saqt.q.cpp.1228.option.statements_count.name": "Max statements count.",
  "rule.saqt.q.cpp.1229.description": "The Use of inline member function checker finds class methods declared as inline.\nThis checker applies to both cases: methods declared and defined at once, and methods defined outside class.\nA compiler uses inline keywords as hints to decide that a function is inlined. Unlike expectation, however, inlining may also decrease performance in some cases. When class declaration implements member functions, then, they are treated as inline functions without specified inline keywords. That is, specifying the inline keywords in method definition may not result any difference.\nDo not use the inline keyword in class method definition. Define methods to inline as intended, while declaring them.",
  "rule.saqt.q.cpp.1229.example.0.dangerous": "Line 3: A method is defined while declared by using an inline keyword.\nLine 4: A method is declared by using an inline keyword.\nLine 6: A method is defined out of a class by using an inline keyword.",
  "rule.saqt.q.cpp.1229.example.0.safe": "Line 3: Define a method to behave inline while declaring.",
  "rule.saqt.q.cpp.1229.name": "Use of inline member function",
  "rule.saqt.q.cpp.123.description": "The Hardcoded argument checker finds calls to optionally specified functions that put a hardcoded argument in a forbidden position. \nYou can optionally specify functions subject to checking, variable argument position, argument position to be checked for hardcoding, expressions subject to checking, expressions excluded from checking, and argument data types to be checked.\nHardcoding may expose information to the outside. If passwords, paths, or other security-sensitive elements are hardcoded, it may allow for critical security vulnerabilities.\nMake sure not to pass a hardcoded argument in a call to an optionally specified function.",
  "rule.saqt.q.cpp.123.example.0.dangerous": "Line 3: A forbidden hardcoded value is used in the second argument while calling strcpy() function.",
  "rule.saqt.q.cpp.123.example.0.safe": "Line 3: A forbidden hardcoded value is not found in the second argument while calling strcpy() function.",
  "rule.saqt.q.cpp.123.name": "Hardcoded argument",
  "rule.saqt.q.cpp.123.option.excluded_expr.description": "Excluded expression",
  "rule.saqt.q.cpp.123.option.excluded_expr.name": "Excluded expression",
  "rule.saqt.q.cpp.123.option.param_target_character.description": "If the option is enabled, it will check char parameters.",
  "rule.saqt.q.cpp.123.option.param_target_character.name": "Target char parameter",
  "rule.saqt.q.cpp.123.option.param_target_float.description": "If the option is enabled, it will check floating-point parameters.",
  "rule.saqt.q.cpp.123.option.param_target_float.name": "Target floating-point parameter",
  "rule.saqt.q.cpp.123.option.param_target_integer.description": "If the option is enabled, it will check integer parameters.",
  "rule.saqt.q.cpp.123.option.param_target_integer.name": "Target integer parameter",
  "rule.saqt.q.cpp.123.option.param_target_string.description": "If the option is enabled, it will check string parameters.",
  "rule.saqt.q.cpp.123.option.param_target_string.name": "Target string parameter",
  "rule.saqt.q.cpp.123.option.target_expr.description": "Target expression",
  "rule.saqt.q.cpp.123.option.target_expr.name": "Target expression",
  "rule.saqt.q.cpp.123.option.target_func.description": "Target function call",
  "rule.saqt.q.cpp.123.option.target_func.name": "Target function call",
  "rule.saqt.q.cpp.1231.description": "The Conversion operator for primitive type checker finds conversion operators that are declared for a base type inside a class.\nA conversion operator refers to a special method used to convert a class object to a particular type.\nConversion operators may be implicitly used while the programmer is not aware of their use. This can cause issues hard to detect.\nDo not declare conversion operators for a base type. Instead, it is recommended to declare and use regular methods that return the intended base type.",
  "rule.saqt.q.cpp.1231.example.0.dangerous": "Line 3: A conversion operator is declared for double of the fundamental types.",
  "rule.saqt.q.cpp.1231.example.0.safe": "Line 3: Do not declare a conversion operator for fundamental types.",
  "rule.saqt.q.cpp.1231.name": "Conversion operator for primitive type",
  "rule.saqt.q.cpp.1232.description": "The Conversion operator for class type checker finds conversion operators that are declared for another class type inside a class.\nA conversion operator refers to a special method used to convert a class object to a particular type.\nConversion operators may be implicitly used while the programmer is not aware of their use. This can cause issues hard to detect.\nDo not declare conversion operators for another class type. Instead, it is recommended to declare and use regular methods that return the intended class type.",
  "rule.saqt.q.cpp.1232.example.0.dangerous": "Line 4: A constructor that takes C class type as an argument in D class is declared.\nLine 9: A conversion operator of D class type is declared.\nLine 13: An ambiguity occurs between the constructor on Line 4 and the conversion operator on Line 9.",
  "rule.saqt.q.cpp.1232.example.0.safe": "Line 7: Do not declare a conversion operator for D class in C class.",
  "rule.saqt.q.cpp.1232.name": "Conversion operator for class type",
  "rule.saqt.q.cpp.1233.description": "The Missing output operator checker finds classes that do not provide output operators for ostream.\nThe output operator indicates operator<<() method. To be specific, the checker checks that a reference type of ostream is returned, and operator<<() method is declared as friend, and alerts when a class does not satisfy those conditions.\nThe ouput operators are useful for debugging and testing.\nDefine the output operators in all classes.",
  "rule.saqt.q.cpp.1233.example.0.dangerous": "Line 1: Test class does not provide operator<<() method for ostream.",
  "rule.saqt.q.cpp.1233.example.0.safe": "Line 4: Provide the operator<<() method for ostream.",
  "rule.saqt.q.cpp.1233.name": "Missing output operator",
  "rule.saqt.q.cpp.1234.description": "The Non-standard interface checker finds classes that do not provide at least a minimal standard interface.\nA minimal standard interface should include a default constructor, copy constructor, assignment constructor, and destructor. The checker checks each class for having these four methods implemented, and reports for any classes that fail to meet this requirement.\nIf these methods are not explicitly declared, the compiler automatically creates and provides them. An automatically created method can cause trouble such as shallow copying.\nMake sure all classes explicitly define at least the default constructor, copy constructor, assignment constructor, and destructor.",
  "rule.saqt.q.cpp.1234.example.0.dangerous": "Line 1: Test class does not provide other functions than constructors.",
  "rule.saqt.q.cpp.1234.example.0.safe": "Line 3: Provide a missing copy constructor.\nLine 4: Provide a missing copy assignment operator.\nLine 5: Provide a missing destructor.",
  "rule.saqt.q.cpp.1234.name": "Non-standard interface",
  "rule.saqt.q.cpp.1235.description": "The Missing keyword explicit checker finds constructors that take one argument but are not qualified with \"explicit.\"\nConstructors taking one argument refer to any constructors that can be invoked with only one argument passed in because all other arguments have default values.\nA constructor with one argument can be used implicitly for typecasting. This can cause an unexpected conversion that the developer is not aware of. Use the explicit keyword when declaring a constructor so that it is not implicitly invoked.\nMake sure all constructors with one argument are declared with the explicit keyword.",
  "rule.saqt.q.cpp.1235.example.0.dangerous": "Line 5: A constructor is declared with one argument.\nLine 6: A constructor is declared to be used like a one-argument constructor due to default arguments.\nLine 7: A constructor is declared to be used like a one-argument constructor due to default arguments.",
  "rule.saqt.q.cpp.1235.example.0.safe": "Line 5: Declare a constructor by using an explicit keyword.\nLine 6: Declare a constructor by using an explicit keyword.\nLine 7: Declare a constructor by using an explicit keyword.",
  "rule.saqt.q.cpp.1235.name": "Missing keyword explicit",
  "rule.saqt.q.cpp.1236.description": "The Non-public derivation checker finds classes that inherit by other means than public.\nPublic class inheritance helps keep the visibility of the public base class straightforwardly.\nBe sure to use the public keyword when a class inherits.",
  "rule.saqt.q.cpp.1236.example.0.dangerous": "Line 5: The class is inherited as a private keyword.",
  "rule.saqt.q.cpp.1236.example.0.safe": "Line 5: Inherit the class as the public keyword.",
  "rule.saqt.q.cpp.1236.name": "Non-public derivation",
  "rule.saqt.q.cpp.1237.description": "The Non-virtual destructor for base class checker finds base classes in which the destructor is not declared virtual.\nIf the destructor is not declared virtual, slicing may occur when it destroys an object. For example, suppose that a pointer of a base class type points to an object of a derived class. Then, when this pointer is destructed, only the base class's destructor is called and the derived class's destructor is not called. As a result, the derived class object is not properly destructed.\nDeclare the base class's destructor virtual.",
  "rule.saqt.q.cpp.1237.example.0.dangerous": "Line 12: A destructor of the parent class is called, one of the child class is not.",
  "rule.saqt.q.cpp.1237.example.0.safe": "Line 2: Declare the base class's destructor virtual.",
  "rule.saqt.q.cpp.1237.name": "Non-virtual destructor for base class",
  "rule.saqt.q.cpp.1238.description": "The Dangerous downcasting checker finds expressions that downcast a pointer to a base object to a derived object pointer.\nDowncasting refers to casting a pointer to a base object to a pointer to a derived object. Downcasting is often used to call a method belonging to a derived class when an object of the derived class is pointed to by a base class pointer.\nAn inheritance hierarchy is commonly used to call a method of a derived class by passing or storing a base class pointer. This can be fulfilled by using a virtual function, which is a better approach than the use of downcasting.\nWhen you need to call a derived class's function, implement and use a virtual function instead of downcasting.",
  "rule.saqt.q.cpp.1238.example.0.dangerous": "Line 10: A pointer of a parent class is downcast into a child class.",
  "rule.saqt.q.cpp.1238.example.0.safe": "Line 10: Use well-designed virtual functions for the original purpose of inheritance.",
  "rule.saqt.q.cpp.1238.name": "Dangerous downcasting",
  "rule.saqt.q.cpp.1239.description": "The Casting to virtual class checker finds expressions that cast a derived class to a virtual base class.\nA derived class can inherit from the base class by using the virtual keyword. Then, the base class becomes a virtual base class.\nA pointer once cast to a virtual base class cannot be cast back to its derived class.\nAvoid casting a derived class to a virtual base class.",
  "rule.saqt.q.cpp.1239.example.0.dangerous": "Line 9: This is cast into a virtual parent class.",
  "rule.saqt.q.cpp.1239.example.0.safe": "Line 4: Do not use virtual inheritance for the parent class. Do not use casting for the virtual inheritance.",
  "rule.saqt.q.cpp.1239.name": "Casting to virtual class",
  "rule.saqt.q.cpp.124.description": "The Hardcoded initialization value checker finds instances of initializing a variable into a hardcoded value.\nYou can optionally specify expressions subject to analysis, data types subject to analysis, and expressions excluded from analysis.\nHardcoding may expose information to the outside. If passwords, paths, or other security-sensitive elements are hardcoded, it may allow for critical security vulnerabilities.\nDo not initialize optionally specified variables into a hardcoded value.",
  "rule.saqt.q.cpp.124.example.0.dangerous": "Line 2: A hardcoded value is used to initialize variable str.",
  "rule.saqt.q.cpp.124.example.0.safe": "Line 2: Do not use the hardcoded value to initialize the variable str.",
  "rule.saqt.q.cpp.124.name": "Hardcoded initialization value",
  "rule.saqt.q.cpp.124.option.excluded_expr.description": "A regular expression for excluding target expressions.",
  "rule.saqt.q.cpp.124.option.excluded_expr.name": "Expressions to exclude",
  "rule.saqt.q.cpp.124.option.init_target_character.description": "Detect character initialization hard coding.",
  "rule.saqt.q.cpp.124.option.init_target_character.name": "Hard coding character initialization",
  "rule.saqt.q.cpp.124.option.init_target_float.description": "Detect float initialization hard coding.",
  "rule.saqt.q.cpp.124.option.init_target_float.name": "Hard coding float initialization",
  "rule.saqt.q.cpp.124.option.init_target_integer.description": "Detect integer initialization hard coding.",
  "rule.saqt.q.cpp.124.option.init_target_integer.name": "Hard coding integer initialization",
  "rule.saqt.q.cpp.124.option.init_target_string.description": "Detect string initialization hard coding.",
  "rule.saqt.q.cpp.124.option.init_target_string.name": "Hard coding string initialization",
  "rule.saqt.q.cpp.124.option.target_expr.description": "A regular expression for detecting target expressions.",
  "rule.saqt.q.cpp.124.option.target_expr.name": "Target expressions",
  "rule.saqt.q.cpp.1240.description": "The Missing overriding of overloaded function checker finds derived classes that fail to override any of the overloaded virtual functions from the base class.\nOverloading refers to a class having functions with the same name but different numbers or types of parameters. Overriding refers to a derived class redefining the implementation of a method of its base class.\nIf part of the overloaded virtual functions are overridden, the rest functions become hidden inside the derived class, thus inaccessible. If an attempt is made at calling such a hidden function, the arguments may be implicitly cast, possibly leading to calling another overloaded function. In most cases, this results in unintended behavior.\nBe sure to override all overloaded virtual functions. Some regular virtual functions may not need to be overridden depending on their implementation. However, if any overloaded function is overridden, all overloaded functions must be overridden.",
  "rule.saqt.q.cpp.1240.example.0.dangerous": "Line 6: A function (double x) method overriding is missing in a parent class.\nLine 10: function(short x) of a parent class is tried to be called. But function(short x) of a child class is called because all overloaded functions are not overridden.",
  "rule.saqt.q.cpp.1240.example.0.safe": "Line 6: Override all overloaded virtual functions.\nLine 11: Call function(double x) method in the child class.",
  "rule.saqt.q.cpp.1240.name": "Missing overriding of overloaded function",
  "rule.saqt.q.cpp.1241.description": "The Too many parameters checker finds functions that span more lines than the limit or have too many parameters.\nFunctions that are too long or have too many parameters are hard to understand and undermine their maintainability.\nWhen defining a function, make sure the numbers of parameters and lines do not exceed the specified limits. An extremely long function must be split into multiple small functions or refactored into a shorter one.",
  "rule.saqt.q.cpp.1241.example.0.dangerous": "Line 1: A default option specifies up to six parameters for function. Seven parameters has been declared for the function.",
  "rule.saqt.q.cpp.1241.example.0.safe": "Line 1: Use the specified number of parameters.",
  "rule.saqt.q.cpp.1241.name": "Too many parameters",
  "rule.saqt.q.cpp.1241.option.max_loc_count.description": "Write a max line of code count.",
  "rule.saqt.q.cpp.1241.option.max_loc_count.name": "Maximum lines",
  "rule.saqt.q.cpp.1241.option.max_param_count.description": "Write a max parameter count.",
  "rule.saqt.q.cpp.1241.option.max_param_count.name": "Max parameter count",
  "rule.saqt.q.cpp.1242.description": "The Multiple updates of loop index checker finds loops in which the loop control variable is modified more than once in each iteration.\nIf a loop control variable is modified at different places in the loop, it is hard to understand the behavior of the loop.\nMake sure a loop control variable is modified only at one single place in the loop.",
  "rule.saqt.q.cpp.1242.example.0.dangerous": "Line 2: A loop control variable i is modified in an expression after for statements.\nLine 4: The loop control variable i is modified again in body of for statements.",
  "rule.saqt.q.cpp.1242.example.0.safe": "Line 2: Modify to change a loop control variable at one position.",
  "rule.saqt.q.cpp.1242.name": "Multiple updates of loop index",
  "rule.saqt.q.cpp.1243.description": "The Mutable condition of loop statement checker finds instances in which a complicated expression is used instead of constant to evaluate the number of iteration in for loop.\nTerminating condition of iteration in for loop is evaluated every time after the loop is executed. Thus, using a complicated expression for its condition instead of a constant, takes time to evaluate the expression, which can lower performance of the loop.\nEnsure to use the constant for condition to control the number of iteration.",
  "rule.saqt.q.cpp.1243.example.0.dangerous": "Line 2: value.getSize() expression is used in condition. If it takes time to evaluate getSize() function, performance of the loop will be lowered.",
  "rule.saqt.q.cpp.1243.example.0.safe": "Line 1: Evaluate a value for loop count control before running the loop.",
  "rule.saqt.q.cpp.1243.name": "Mutable condition of loop statement",
  "rule.saqt.q.cpp.1243.option.allow_divide.description": "If the option is enabled, you can use `/` operator in a termination expression of a for loop.",
  "rule.saqt.q.cpp.1243.option.allow_divide.name": "Allowing / operator",
  "rule.saqt.q.cpp.1243.option.allow_minus.description": "If the option is enabled, you can use `-` operator in a termination expression of a for loop.",
  "rule.saqt.q.cpp.1243.option.allow_minus.name": "Allowing - operator",
  "rule.saqt.q.cpp.1243.option.allow_multiply.description": "If the option is enabled, you can use `*` operator in a termination expression of a for loop.",
  "rule.saqt.q.cpp.1243.option.allow_multiply.name": "Allowing * operator",
  "rule.saqt.q.cpp.1243.option.allow_plus.description": "If the option is enabled, you can use `+` operator in a termination expression of a for loop.",
  "rule.saqt.q.cpp.1243.option.allow_plus.name": "Allowing + operator",
  "rule.saqt.q.cpp.1243.option.allow_remainder.description": "If the option is enabled, you can use `%` operator in a termination expression of a for loop.",
  "rule.saqt.q.cpp.1243.option.allow_remainder.name": "Allowing % operator",
  "rule.saqt.q.cpp.1244.description": "The Multiple entry and exit points checker finds compound statements that include more than once entry or exit point. Switch statements are exempt from this rule.\nThe checker does not count exits by exception.\nKeeping a single entry and exit point helps ensure a simpler control graph of the compound statement and more concise and straightforward code.\nMake sure each compound statement has only one entry and exit point.",
  "rule.saqt.q.cpp.1244.example.0.dangerous": "Line 4: A break statement sets two breakpoints for for statements.\nLine 8: A label and goto statement set two entry points for while statements.",
  "rule.saqt.q.cpp.1244.example.0.safe": "Line 2: Set one entry and one breakpoint for each compound statement.",
  "rule.saqt.q.cpp.1244.name": "Multiple entry and exit points",
  "rule.saqt.q.cpp.1245.description": "The Improper switch statement checker finds switch statements that do not explicitly include all possible cases.\nA switch statement must contain all possible cases. This helps reduce risks caused by an unexpected value.\nThis issue may affect the program performance or potentially lead to causing an error.\nMake sure each switch statement includes all possible cases explicitly.",
  "rule.saqt.q.cpp.1245.example.0.dangerous": "Line 5: A case statement with non-continuous number is placed.",
  "rule.saqt.q.cpp.1245.example.0.safe": "Line 11: Add a default to switch statements.",
  "rule.saqt.q.cpp.1245.name": "Improper switch statement",
  "rule.saqt.q.cpp.1246.description": "The Improper variable declaration in for statement checker finds for loops whose loop control variable is not declared within the loop but is from outside.\nA loop control variable must be declared in the loop header and should not be an object already declared outside the loop. This practice is beneficial in that the loop control variable's scope is limited within the loop.\nThis issue may affect the program performance or potentially lead to causing an error.\nBe sure to declare the loop control variable in the loop header.",
  "rule.saqt.q.cpp.1246.example.0.dangerous": "Line 2: An externally declared idx is used as a loop control variable.",
  "rule.saqt.q.cpp.1246.example.0.safe": "Line 2: Use a declared i for a loop control variable.",
  "rule.saqt.q.cpp.1246.name": "Improper variable declaration in for statement",
  "rule.saqt.q.cpp.1247.description": "The Missing suffix for integer constant checker finds instances that an uppercase suffix is not specified to a constant.\nA certain suffix is supposed to be added to each constant: suffix L to long constant, suffix U to unsigned int constant, and UL to unsigned long constant. It is recommended to specify an uppercase constant to a constant.\nUse the corresponding suffix to each integer constant.",
  "rule.saqt.q.cpp.1247.example.0.dangerous": "Line 2: A suffix U is not appended.\nA suffix UL is not appended.\nA suffix L is not appended.",
  "rule.saqt.q.cpp.1247.example.0.safe": "Line 2: Append suffix U, UL, or L for each.",
  "rule.saqt.q.cpp.1247.name": "Missing suffix for integer constant",
  "rule.saqt.q.cpp.1247.option.ignore_one.description": "One constant is ignored if selected.",
  "rule.saqt.q.cpp.1247.option.ignore_one.name": "Ignore one constant",
  "rule.saqt.q.cpp.1247.option.ignore_zero.description": "Zero constant is ignored if selected.",
  "rule.saqt.q.cpp.1247.option.ignore_zero.name": "Ignore zero constant.",
  "rule.saqt.q.cpp.1248.description": "The Missing suffix for floating point constant checker finds instances that a suffix F is not specified to a float type constant, or a suffix L is not specified to a long double constant.\nA certain suffix is supposed to be added to each constant: suffix F to float constant, and suffix L to long double constant. It is recommended to specify an uppercase constant to a constant.\nUse the corresponding suffix to each float constant.",
  "rule.saqt.q.cpp.1248.example.0.dangerous": "Line 2: A suffix F is not appended.\nA suffix L is not appended.",
  "rule.saqt.q.cpp.1248.example.0.safe": "Line 2: Append suffix F, or L for each.",
  "rule.saqt.q.cpp.1248.name": "Missing suffix for floating point constant",
  "rule.saqt.q.cpp.1249.description": "The Non-const global and static variable checker finds global and static variables that are not declared const.\nGlobal and static variables are recommended to be declared const. A function taking a non-const global or static variable may cause a problem if reentered via recursion or multithreading. Global variables, in particular, often have trouble with maintainability.\nThis issue may affect the program performance or potentially lead to causing an error.\nMake sure that global and static variables are declared const.",
  "rule.saqt.q.cpp.1249.example.0.dangerous": "Line 1: A global variable is used.",
  "rule.saqt.q.cpp.1249.example.0.safe": "Line 1: Declare each variable as const. You can follow the singleton pattern for mutable static or global variable.",
  "rule.saqt.q.cpp.1249.name": "Non-const global and static variable",
  "rule.saqt.q.cpp.125.description": "The Use of forbidden number as argument checker finds calls to optionally specified functions that put a number argument in a forbidden position.\nYou can optionally specify functions subject to analysis and argument positions that should not take a number.\nInspect arguments passed to functions to prevent their misuse and conform to APIs. A misuse of an argument may cause an unexpected program behavior.\nDo not put a number-type argument in a forbidden position in a call to an optionally specified function.",
  "rule.saqt.q.cpp.125.example.0.dangerous": "Line 3: The third argument of LB_call_WA() function is a number.",
  "rule.saqt.q.cpp.125.example.0.safe": "Line 3: The third argument of LB_call_WA() function is not a number, but strlen() function.",
  "rule.saqt.q.cpp.125.name": "Use of forbidden number as argument",
  "rule.saqt.q.cpp.125.option.call_param_should_not_be_deciaml.description": "Call parameter which should not be decimal",
  "rule.saqt.q.cpp.125.option.call_param_should_not_be_deciaml.name": "Call parameter which should not be decimal",
  "rule.saqt.q.cpp.125.option.call_target.description": "Target function call",
  "rule.saqt.q.cpp.125.option.call_target.name": "Target function call",
  "rule.saqt.q.cpp.1250.description": "The Casting from floating point type to integer type checker finds casts from a real number to an integer that are not through a standard library function.\nAvoid casting a real number to an integer unless it is performed using a standard library function. It is undefined to evaluate an expression involving numbers with different arithmetic precision. However, the checker regards it safe and well-intended to use such an expression together with ceil(), floor(), or round(), which respectively rounds up, down, or off the argument.\nThis issue may affect the program performance or potentially lead to causing an error.\nUse a standard library function when converting a real number to an integer.",
  "rule.saqt.q.cpp.1250.example.0.dangerous": "Line 3: A float is cast into a integer variable.",
  "rule.saqt.q.cpp.1250.example.0.safe": "Line 6: Do not cast a float into a integer, or use a related function as shown as the example. Here, truncate the decimal value from floating point value.",
  "rule.saqt.q.cpp.1250.name": "Casting from floating point type to integer type",
  "rule.saqt.q.cpp.1251.description": "The Implicit casting of argument checker finds function calls that need to implicitly cast an argument passed in.\nWhen writing code, make sure functions are called with no need for an implicit cast of an argument passed in. When a user-specified type is implicitly cast, a temporary object is constructed and destructed, which not only incurs an unnecessary overhead but may cause unexpected side effects as well.\nThis issue may affect the program performance or potentially lead to causing an error.\nWhen writing code, make sure functions are called with no need for an implicit cast of an argument passed in.",
  "rule.saqt.q.cpp.1251.example.0.dangerous": "Line 6: A type is implicitly converted into std:string.",
  "rule.saqt.q.cpp.1251.example.0.safe": "Line 7: Remove the implicit conversion.",
  "rule.saqt.q.cpp.1251.name": "Implicit casting of argument",
  "rule.saqt.q.cpp.1251.option.allow_primitive_type.description": "If selected, allow implicit casting to a primitive type.",
  "rule.saqt.q.cpp.1251.option.allow_primitive_type.name": "Allow implicit casting to a primitive type.",
  "rule.saqt.q.cpp.1251.option.allow_string_conversion.description": "If the option is enabled, it allows implicit casting to a string class.",
  "rule.saqt.q.cpp.1251.option.allow_string_conversion.name": "Allow implicit casting to a string class.",
  "rule.saqt.q.cpp.1251.option.allow_wrapping_class.description": "If selected, allow implicit casting to a struct wrapping class.",
  "rule.saqt.q.cpp.1251.option.allow_wrapping_class.name": "Allow implicit casting to a struct wrapping class.",
  "rule.saqt.q.cpp.1255.description": "The Use of Global Variable checker finds instances of using a global variable.\nA global variable is a variable with external linkage declared outside classes, unnamed namespaces, and functions. Using a global variable can cause trouble because it is accessible to and modifiable by any object. If any data needs to be used globally, consider using the Singleton pattern.\nDo not use a global variable.",
  "rule.saqt.q.cpp.1255.example.0.dangerous": "Line 1: A global variable is used.",
  "rule.saqt.q.cpp.1255.example.0.safe": "Line 1: Use a singleton class to manage global data.",
  "rule.saqt.q.cpp.1255.name": "Use of global variable",
  "rule.saqt.q.cpp.1256.description": "The Use of using directive checker finds a using directive instead of explicit namespace directive or using declaration.\nThe using directive expands name sets searched for names. Then, more identifiers will be searched by a compiler, which can be an unintended result.More secure options, such as using-declarations or fully qualified names, are provided by explicitly specifying name sets.\nThis issue may affect the program performance or potentially lead to causing an error.\nUse an explicit namespace directives or using declaration instead of using directives.",
  "rule.saqt.q.cpp.1256.example.0.dangerous": "Line 3: A using directive is used.",
  "rule.saqt.q.cpp.1256.example.0.safe": "Line 3: Use a using declaration.",
  "rule.saqt.q.cpp.1256.name": "Use of using directive",
  "rule.saqt.q.cpp.1257.description": "The Using statement before include statement checker finds instances that a using directive is not placed after #include in a source file.\nThe using directive is required to be placed after #include in a source file. For example, if a using directive is placed between #includes, name conflict can be found between header files.\nThis issue may affect the program performance or potentially lead to causing an error.\nWrite the using directive after #include in a source file.",
  "rule.saqt.q.cpp.1257.example.0.dangerous": "Line 3: A using directive is used between #include directives.",
  "rule.saqt.q.cpp.1257.example.0.safe": "Line 4: Use a using directive after #include of header files.",
  "rule.saqt.q.cpp.1257.name": "Using statement before include statement",
  "rule.saqt.q.cpp.1258.description": "The Static object declaration in namespace checker finds instances in which an object is declared static under a named namespace.\nIt is not valid in the C++ standard to apply the static keyword to an object declaration in a name space.\nA declaration of a static object is only allowed in an unnamed namespace.",
  "rule.saqt.q.cpp.1258.example.0.dangerous": "Line 2: A static object is declared in a namespace with names.",
  "rule.saqt.q.cpp.1258.example.0.safe": "Line 2: Declare the static object in the namespace without names.",
  "rule.saqt.q.cpp.1258.name": "Static object declaration in namespace",
  "rule.saqt.q.cpp.1259.description": "The Use of extern checker finds instances of using extern keywords.\nDo not allow to use the extern keywords. Do not use the extern keywords where external links are implicitly used.\nDo not use the extern keywords.",
  "rule.saqt.q.cpp.1259.example.0.dangerous": "Line 1: An extern keyword is used for an extern function.",
  "rule.saqt.q.cpp.1259.example.0.safe": "Line 1: Do not use the extern keyword.",
  "rule.saqt.q.cpp.1259.name": "Use of extern",
  "rule.saqt.q.cpp.126.description": "The Use of static specifier in header file checker finds instances of applying a static qualifier to a function or variable in a header file. \nYou can optionally specify whether to allow static functions and static variables.\nStatic functions and variables included in a header file are defined independently in the header file. Such definitions are hard to track and may cause conflicts possibly leading to error.\nDo not use the static qualifier in a header file.",
  "rule.saqt.q.cpp.126.example.0.dangerous": "Line 2: Variable a is declared as static.",
  "rule.saqt.q.cpp.126.example.0.safe": "Line 2: Do not declare a static variable or function in a header file.",
  "rule.saqt.q.cpp.126.name": "Use of static specifier in header file",
  "rule.saqt.q.cpp.126.option.ignore_function.description": "Allows the use of static functions in the header file",
  "rule.saqt.q.cpp.126.option.ignore_function.name": "Static function enabled",
  "rule.saqt.q.cpp.126.option.ignore_variable.description": "Allows the use of static variables in the header file",
  "rule.saqt.q.cpp.126.option.ignore_variable.name": "Static variables enabled",
  "rule.saqt.q.cpp.1260.description": "The Use of auto checker finds instances of using auto keywords.\nDo not use the auto keywords. The auto keyword allocates memory to stack in variable declaration. Also, a variable nothing displayed works as same as the auto keyword. It is better to let compilers allocate memory than programmers using the auto or register keywords. Otherwise, the auto keywords are officially used to estimate variable types in C++11 Standard.\nThis issue may affect the program performance or potentially lead to causing an error.\nEnsure not to use the auto keywords.",
  "rule.saqt.q.cpp.1260.example.0.dangerous": "Line 1: A auto keyword is used.",
  "rule.saqt.q.cpp.1260.example.0.safe": "Line 1: Do not use the auto keyword.",
  "rule.saqt.q.cpp.1260.name": "Use of auto",
  "rule.saqt.q.cpp.1261.description": "The Use of register keyword checker finds instances of using register keywords.\nDo not use the register keywords.The register keywords are hints to load variables to processor registers, if possible. It is better to let compilers allocate memory than programmers using the auto or register keywords.\nThis issue may affect the program performance or potentially lead to causing an error.\nEnsure not to use the register keywords.",
  "rule.saqt.q.cpp.1261.example.0.dangerous": "Line 1: A register keyword is used.",
  "rule.saqt.q.cpp.1261.example.0.safe": "Line 1: Do not use the register keyword.",
  "rule.saqt.q.cpp.1261.name": "Use of register keyword",
  "rule.saqt.q.cpp.1268.description": "The Missing const qualifier checker finds code that fails to use const keywords on any possible places of pointer parameter declaration.\nIt is recommended to use the const to declare a pointer parameter if you can. Using the const keywords prevents modification to variables and makes your function interface more stable.\nDeclare the pointer parameter with the const keyword unless it is mutable.",
  "rule.saqt.q.cpp.1268.example.0.dangerous": "Line 1: A variable p is not declared as const, though it deserves.",
  "rule.saqt.q.cpp.1268.example.0.safe": "Line 3: Declare the variable p as const.",
  "rule.saqt.q.cpp.1268.name": "Missing const qualifier",
  "rule.saqt.q.cpp.1271.description": "The Use of result of assignment operation finds expressions that use the result of an assignment operation as an operand for another operation.\nAvoid using the result of an assignment directly. The assignment operator is often mistaken for the equality operator. In a conditional expression, for example, it is confusing to take the result of an assignment as an operand for a comparison operation.\nThis issue may affect the program performance or potentially lead to causing an error.\nDo not use the result of an assignment operation.",
  "rule.saqt.q.cpp.1271.example.0.dangerous": "Line 1: A result of assigning i to j is used to compare to with.",
  "rule.saqt.q.cpp.1271.example.0.safe": "Line 1: Do not directly use a result of assignment operation.",
  "rule.saqt.q.cpp.1271.name": "Use of result of assignment operation",
  "rule.saqt.q.cpp.1271.option.check_return.description": "Check return expression",
  "rule.saqt.q.cpp.1271.option.check_return.name": "Check return expression",
  "rule.saqt.q.cpp.1273.description": "The Mixed signed and unsigned data checker finds expressions that involve numbers with different signedness.\nDo not use both signed and unsigned numbers in the same expression. An operation on numbers with different signedness can lead to an incorrect calculation, possibly causing trouble.\nAn operation on numbers with different signedness can lead to an incorrect calculation, possibly causing trouble.\nDo not use both signed and unsigned numbers in the same expression.",
  "rule.saqt.q.cpp.1273.example.0.dangerous": "Line 3: Signs are mixed up. Then, an unintended value is passed to x.",
  "rule.saqt.q.cpp.1273.example.0.safe": "Line 3: Do not mix up signed and unsigned.",
  "rule.saqt.q.cpp.1273.name": "Mixed signed and unsigned data",
  "rule.saqt.q.cpp.1273.option.allow_constant.description": "A constant operation about all types is allowed if chosen to do so.",
  "rule.saqt.q.cpp.1273.option.allow_constant.name": "Allow a constant operation about all types",
  "rule.saqt.q.cpp.1273.option.ignore_assign.description": "A left operand of assign operator will be skipped.",
  "rule.saqt.q.cpp.1273.option.ignore_assign.name": "ignore assign operator",
  "rule.saqt.q.cpp.1274.description": "The Mixed arithmetic precision checker finds expressions that involve numbers with different arithmetic precision.\nAn arithmetic operation on numbers with different precision must be performed with care using an explicit cast.\nAn arithmetic operation on numbers with different precision can lead to an incorrect calculation, possibly causing trouble.\nDo not involve numbers with different arithmetic precision in the same expression.",
  "rule.saqt.q.cpp.1274.example.0.dangerous": "Line 2: Arithmetic precision is mixed up.",
  "rule.saqt.q.cpp.1274.example.0.safe": "Line 2: Do not mix up arithmetic precision, or perform explicit casting to specify intended actions.",
  "rule.saqt.q.cpp.1274.name": "Mixed arithmetic precision",
  "rule.saqt.q.cpp.1276.description": "The Passing by value checker finds function declarations in which a parameter of a class type is passed by value or pointer.\nIn a function declaration, a class-type parameter can be passed by value, by pointer, or by reference. The first option passes a copy of the class object. The second passes the address of the class object. The third passes the address of the class object likewise, but is used in the same syntax as pass-by-value.\nIf a class object is passed by value or by pointer, either of the following issues may occur: Passing a class object by value incurs the overhead of invoking the copy constructor. Passing it by pointer may cause a runtime error if the pointer points to null. For a class object, therefore, it is the most preferable to pass it by reference. Note that when an empty object is to be passed, the class-type parameter needs to be declared as a pointer type.\nWhen declaring a parameter of a class type, specify it as a reference so that it can take the class object by reference.",
  "rule.saqt.q.cpp.1276.example.0.dangerous": "Line 4: A class type argument is declared as pointer type.",
  "rule.saqt.q.cpp.1276.example.0.safe": "Line 4: Declare the class type argument as reference type.",
  "rule.saqt.q.cpp.1276.name": "Passing by value",
  "rule.saqt.q.cpp.1277.description": "The Overloaded numeric and pointer types checker finds overloaded functions whose parameter types may be indistinguishable-for example, one is a pointer and the other is number.\nIt causes ambiguity to use a pointer type and a number type in two overloaded functions respectively. In that case, when a zero value is passed in, it is ambiguous which of the functions is invoked by the call.\nIf overloaded functions need to use parameters whose types may be indistinguishable from one another, name them differently or use different numbers of parameters for them.",
  "rule.saqt.q.cpp.1277.example.0.dangerous": "Line 1: A function(int v) function is declared.\nLine 4: A function(void * pv) function is declared. Two function() are overloaded, but an ambiguity issue occurs due to their first argument types.",
  "rule.saqt.q.cpp.1277.example.0.safe": "Line 4: Remove ambiguity by differing the number of arguments.",
  "rule.saqt.q.cpp.1277.name": "Overloaded numeric and pointer types",
  "rule.saqt.q.cpp.1278.description": "The Use of default arguments for overloaded function checker finds overloaded functions that take a default argument.\nAn overloaded function cannot take a default argument. If a function is overloaded including a default argument, it may be ambiguous which function is intended when the function name is invoked.\nThis issue may affect the program performance or potentially lead to causing an error.\nDo not use a default argument in an overloaded function.",
  "rule.saqt.q.cpp.1278.example.0.dangerous": "Line 6: A function call results in ambiguity.",
  "rule.saqt.q.cpp.1278.example.0.safe": "Line 2: Do not use a default value on argument.",
  "rule.saqt.q.cpp.1278.name": "Use of default arguments for overloaded function",
  "rule.saqt.q.cpp.128.description": "The Unused user defined type on array checker finds instances of declaring a variable or function as an array type that has not been redefined.\nThe checker searches for an array declaration that is not of a data type redefined using Typedef. You can optionally specify allowable array types, whether to check members, and whether to check arguments.\nMake sure array types are redefined.",
  "rule.saqt.q.cpp.128.example.0.dangerous": "Line 1: A declared type of global array variable a is set to default.",
  "rule.saqt.q.cpp.128.example.0.safe": "Line 2: Use a redefined type for the array.",
  "rule.saqt.q.cpp.128.name": "Unused user defined type on array",
  "rule.saqt.q.cpp.128.option.allowed_array_type.description": "Allowed array type",
  "rule.saqt.q.cpp.128.option.allowed_array_type.name": "Allowed array type",
  "rule.saqt.q.cpp.128.option.scope_target_member.description": "If selected, the analyzer will check members.",
  "rule.saqt.q.cpp.128.option.scope_target_member.name": "Check member",
  "rule.saqt.q.cpp.128.option.scope_target_parameter.description": "Check parameters",
  "rule.saqt.q.cpp.128.option.scope_target_parameter.name": "Check parameters",
  "rule.saqt.q.cpp.1280.description": "The Uninitialized pointer after release checker finds when a pointer is not set to 0 after its memory get freed.\nYou need to set the pointer to 0 after freeing memory. This can prevent mistakes of referring invalid memories in a event of further use of the pointer.\nThis issue may affect the program performance or potentially lead to causing an error.\nSet the pointer to 0 after freeing memory.",
  "rule.saqt.q.cpp.1280.example.0.dangerous": "Line 4: A variable is not set to zero after delete.",
  "rule.saqt.q.cpp.1280.example.0.safe": "Line 5: Set a variable to zero after delete.",
  "rule.saqt.q.cpp.1280.name": "Uninitialized pointer after release",
  "rule.saqt.q.cpp.1284.description": "The Comment in macro checker finds macro definitions that include a comment.\nA comment in a macro definition can cause trouble depending on how the compiler implements the macro.\nDo not include a macro in a comment.",
  "rule.saqt.q.cpp.1284.example.0.dangerous": "Line 1: A comment is used in a macro.",
  "rule.saqt.q.cpp.1284.example.0.safe": "Line 1: Do not use a comment in a macro.",
  "rule.saqt.q.cpp.1284.name": "Comment in macro",
  "rule.saqt.q.cpp.1285.description": "The Non-blank line at end of source code checker finds instances in which source code does not end with an empty line.\nThe standard specifies that source code should end with an empty line.\nMake sure all files with source code end with an empty line.",
  "rule.saqt.q.cpp.1285.example.0.dangerous": "Line 3: No empty line is placed at the end.",
  "rule.saqt.q.cpp.1285.example.0.safe": "Line 4: Put an empty line at the end.",
  "rule.saqt.q.cpp.1285.name": "Non-blank line at end of source code",
  "rule.saqt.q.cpp.1287.description": "The Uppercase in included file name checker finds #include statements that include an uppercase letter in the directory.\nThis rule is to ensure portability between case-sensitive and case-insensitive filesystems.\nMake sure #include statements do not include an uppercase letter in the directory.",
  "rule.saqt.q.cpp.1287.example.0.dangerous": "Line 1: A filename with upper and lowercases is referenced.",
  "rule.saqt.q.cpp.1287.example.0.safe": "Line 1: Set lowercase for a file name before referencing.",
  "rule.saqt.q.cpp.1287.name": "Uppercase in included file name",
  "rule.saqt.q.cpp.1289.description": "The Improper constant definition checker finds instances of defining a macro-instead of a const-qualified object or enumerator-to get a constant object.\nAa a constant object, a const-qualified object or enumerator can be more supported by the type system at compile time.\nWhen a constant object is needed, define a const-qualified object or enumerator.",
  "rule.saqt.q.cpp.1289.example.0.dangerous": "Line 1: A constant is defined by using #define.",
  "rule.saqt.q.cpp.1289.example.0.safe": "Line 1: Use a const object or enumerator.",
  "rule.saqt.q.cpp.1289.name": "Improper constant definition",
  "rule.saqt.q.cpp.129.description": "The Use of array type checker finds instances of declaring a variable of an array type.\nYou can optionally specify the scope of checking for an array-type variable.\nDo not declare an array-type variable.",
  "rule.saqt.q.cpp.129.example.0.dangerous": "Line 1: An argument is used to declare an array variable.",
  "rule.saqt.q.cpp.129.example.0.safe": "Line 1: Do not use the array-type for variables forbidden to use the array.",
  "rule.saqt.q.cpp.129.name": "Use of array type",
  "rule.saqt.q.cpp.129.option.expand_typedef.description": "If the option is enabled, it will check even typedef variables.",
  "rule.saqt.q.cpp.129.option.expand_typedef.name": "Target typedef variables",
  "rule.saqt.q.cpp.129.option.scope_target_global.description": "If the option is enabled, it will check the global scope.",
  "rule.saqt.q.cpp.129.option.scope_target_global.name": "Target global scope",
  "rule.saqt.q.cpp.129.option.scope_target_local.description": "If the option is enabled, it will check the local scope.",
  "rule.saqt.q.cpp.129.option.scope_target_local.name": "Target local scope",
  "rule.saqt.q.cpp.129.option.scope_target_parameter.description": "If the option is enabled, it will check parameters.",
  "rule.saqt.q.cpp.129.option.scope_target_parameter.name": "Target Parameter",
  "rule.saqt.q.cpp.129.option.variable_target_const.description": "If the option is enabled, it will check const variables.",
  "rule.saqt.q.cpp.129.option.variable_target_const.name": "Target const variables",
  "rule.saqt.q.cpp.129.option.variable_target_non_const.description": "If the option is enabled, it will check non-const variables.",
  "rule.saqt.q.cpp.129.option.variable_target_non_const.name": "Target non-const variables",
  "rule.saqt.q.cpp.129.option.variable_target_signed.description": "If the option is enabled, it will check signed variables.",
  "rule.saqt.q.cpp.129.option.variable_target_signed.name": "Check signed integer",
  "rule.saqt.q.cpp.129.option.variable_target_unsigned.description": "If the option is enabled, it will check unsigned variables.",
  "rule.saqt.q.cpp.129.option.variable_target_unsigned.name": "Check unsigned integer",
  "rule.saqt.q.cpp.1290.description": "The Use of Digraph checker finds instances of using a digraph.\nDigraphs cannot be used. Occurrences of digraphs may undermine code readability.\nDo not use a digraph.",
  "rule.saqt.q.cpp.1290.example.0.dangerous": "Line 1: A digraph is used.",
  "rule.saqt.q.cpp.1290.example.0.safe": "Line 1: Do not use a digraph.",
  "rule.saqt.q.cpp.1290.name": "Use of Digraph",
  "rule.saqt.q.cpp.1291.description": "The Use of non-standard header file checker finds lines that include an old standard header file.\nThe ISO C++ standard defines implementations of standard library components. It recommends using advanced libraries rather than those provided by certain providers or C library versions.\nInstead of using old header files suffixed with \".h,\" use standard C++ library headers. For example, using iostream is preferable to using iostream.h.",
  "rule.saqt.q.cpp.1291.example.0.dangerous": "Line 1: An old stdio.h header file is included.\nLine 2: An old iostream.h header file is included.",
  "rule.saqt.q.cpp.1291.example.0.safe": "Line 1: Include the cstdio header, a standard C++ library.\nLine 2: Include the iostream header, a standard C++ library.",
  "rule.saqt.q.cpp.1291.name": "Use of non-standard header file",
  "rule.saqt.q.cpp.1292.description": "The Inefficient copying object in container checker finds containers whose elements are objects of a class with no explicit copy constructor and copy assignment operator.\nA container is a C++ standard library object that stores a collection of various data types. Vectors are one example. A container can be declared with the type of its elements specified. If a container is specified to contain objects of a class with no explicit copy constructor and copy assignment operator, the checker reports this class type.\nSince STL containers use copy operations frequently, it is important to implement copy operations efficiently. Although copy operations are implicitly defined when a class is declared, their implementation may be incomplete.\nIf objects of a class are to be contained in a container, define a copy constructor and a copy assignment operator explicitly for the class.",
  "rule.saqt.q.cpp.1292.example.0.dangerous": "Line 1: An explicit copy constructor or copy assignment operator is not being defined.\nLine 6: The copy constructor is called for the object put into the push_back function.\nLine 7: The copy assignment operator is called on stored objects in insert function calls.",
  "rule.saqt.q.cpp.1292.example.0.safe": "Line 3: Define an explicit copy constructor.\nLine 4: Define an explicit copy assignment operator.",
  "rule.saqt.q.cpp.1292.name": "Inefficient copying object in container",
  "rule.saqt.q.cpp.1293.description": "The Use of copy constructor checker finds containers of a class type that incurs a high overhead.\nA container is a C++ standard library object that stores a collection of various data types. Vectors are one example.\nSome containers perform moving their elements. This involves multiple copy operations of the class type of the container. If the class type's copy constructor is expensive, this can have a significant performance impact.\nUse containers of pointers or smart pointers instead. Pointers occupy only as much memory as the size of the address being pointed to and can copy data without implementing a copy operator. For this reason, they are efficient for insertion, sorting and other operations in containers without incurring a high overhead.",
  "rule.saqt.q.cpp.1293.example.0.dangerous": "Line 7: A copy constructor with high overhead is called.",
  "rule.saqt.q.cpp.1293.example.0.safe": "Line 7: The copy constructor is not called because it uses a pointer.",
  "rule.saqt.q.cpp.1293.name": "Use of copy constructor",
  "rule.saqt.q.cpp.1294.description": "The Dynamic array allocation checker finds instances of declaring a dynamically allocated array.\nThis rule does not apply to dynamic allocation of regular objects, but only searches for dynamic allocation of arrays.\nC-style arrays have many functional limitations. For example, to expand the size of an array to accommodate increasing data, the array has to be dynamically allocated with a new size, which involves deleting the previous array and copying its element data. Also, dynamic allocation may potentially cause memory issues.\nInstead of a dynamically allocated array, use a vector or string. As vectors and strings automatically manage storage-related requirements, programmers don't need to manually manage dynamically allocated memory. This helps prevent potential bugs and efficiency issues relating to memory.",
  "rule.saqt.q.cpp.1294.example.0.dangerous": "Line 1: A dynamically allocated array of type int[] is declared.\nLine 2: A dynamically allocated array of type char[] is declared.",
  "rule.saqt.q.cpp.1294.example.0.safe": "Line 1: Use a vector instead of a dynamically allocated array.\nLine 2: Use a string instead of a dynamically allocated array.",
  "rule.saqt.q.cpp.1294.name": "Dynamic array allocation",
  "rule.saqt.q.cpp.1295.description": "The Unnecessary reallocation checker finds expressions that cause a container to unnecessarily reallocate memory.\nA container is a C++ standard library object that stores a collection of various data types. Vectors are one example.\nSTL containers like vectors increase memory space as needed each time an element is added. But reallocating greater memory space and moving existing elements may incur a high overhead. If necessary space can be known in advance, you are recommended to allocate the necessary space from the beginning.\nIf containers can allocate necessary memory, make sure unnecessary reallocation does not occur. In the case of a vector, the reserve() method can be used to secure the necessary memory space inside the vector container in advance.",
  "rule.saqt.q.cpp.1295.example.0.dangerous": "Line 3: A push_back function is used in loop statements. Then, the function allocates more memories when memory is not enough.",
  "rule.saqt.q.cpp.1295.example.0.safe": "Line 2: Reserve memory space in advance with reserve () method.",
  "rule.saqt.q.cpp.1295.name": "Unnecessary reallocation",
  "rule.saqt.q.cpp.1296.description": "The Improper passing of vector to C-style function checker finds instances in which a vector object is not correctly passed to a C-style function.\nC-style functions refer to functions that take an array argument. Among the STL containers, the vector is specified to have elements allocated in contiguous memory, which means compatibility with C-style arrays. However, passing a vector object to a C-style function's array-type parameter requires a particular manner of passing.\nIf a vector is not passed in the correct manner, its element data won't indeed be passed in.\nWhen a vector is to be passed to a C-style function's C-style array parameter, pass &v[0], which points to the address of the first element.",
  "rule.saqt.q.cpp.1296.example.0.dangerous": "Line 3: The front() function performs a pass by value, so the desired behavior cannot be achieved.",
  "rule.saqt.q.cpp.1296.example.0.safe": "Line 4: Use &vec[0].",
  "rule.saqt.q.cpp.1296.name": "Improper passing of vector to C-style function",
  "rule.saqt.q.cpp.1297.description": "The Modification of key checker finds expressions that modify the key of an object in a set or multiset container.\nA container is a C++ standard library object that stores a collection of various data types. Set and multiset containers automatically resort elements when added with data.\nElements in a set or multiset are sorted by key; if a key value is modified, an extremely undetectable bug can occur.\nDo not modify the key of an object in set or multiset. Data contained in a set or multiset must not be modified manually but needs to be managed only by insertion and deletion.",
  "rule.saqt.q.cpp.1297.example.0.dangerous": "Line 6: A key value of the set container is modified. After modification, values of strSet container are sorted in order of D, B,C instead of A,B,C. An unsorted set causes an error.",
  "rule.saqt.q.cpp.1297.example.0.safe": "Line 6: Delete the unnecessary data with the erase() method.\nLine 7: Add the new data with the insert() method.",
  "rule.saqt.q.cpp.1297.name": "Modification of key",
  "rule.saqt.q.cpp.1298.description": "The Mixed iterator types checker finds statements that use different iterator types together.\nIterators are special objects used to traverse each element of a C++ container. Iterator types include iterator, const_iterator, reverse_iterator, and const_reverse_iterator.\nMixed use of the regular iterator type and another type poses some compatibility issues and limitations in using some methods. The const_iterator or const_reverse_iterator type can't be converted to iterator or reverse_iterator by the compiler's inference. Also, some insert() and erase() methods are compatible only with iterator.\nUsually, using the regular iterator type only is recommended.",
  "rule.saqt.q.cpp.1298.example.0.dangerous": "Line 4: const_iterator is used.\nLine 6: Compilation errors can occur in STL of certain compilers.",
  "rule.saqt.q.cpp.1298.example.0.safe": "Line 3: Do not use the const_iterator_.",
  "rule.saqt.q.cpp.1298.name": "Mixed iterator types",
  "rule.saqt.q.cpp.1299.description": "The Non-pure predicate function checker finds declarations of predicates whose return is not dependent on their parameters.\nA predicate is a special type of class passed as a predicate function object to an STL algorithm. It is typically a class that provides an overloaded ( ) operator method.\nThe result of a predicate should depend only on its parameters. This means that the predicate function in an STL algorithm should behave as a pure function. A predicate should not be dependent on the order of evaluation; it should return the same result for an element regardless of previous calls or any external state.\nMake sure that a predicate's result depends only on its parameters.",
  "rule.saqt.q.cpp.1299.example.0.dangerous": "Line 5: A predicate returns an externally changed result.",
  "rule.saqt.q.cpp.1299.example.0.safe": "Line 5: Modify the predicate to return results solely depending on its arguments.",
  "rule.saqt.q.cpp.1299.name": "Non-pure predicate function",
  "rule.saqt.q.cpp.130.description": "The Use of forbidden type checker finds instances of declaring a variable as an optionally forbidden data type.\nYou can optionally specify forbidden qualifiers and the scope of checking for forbidden data types.\nDo not use forbidden data types.",
  "rule.saqt.q.cpp.130.example.0.dangerous": "Line 1: The first argument for foo() function is declared as forbidden long type.",
  "rule.saqt.q.cpp.130.example.0.safe": "Line 1: Do not use the forbidden types, but available types.Replace the long type into recognizable types such as int, int32, or int64.",
  "rule.saqt.q.cpp.130.name": "Use of forbidden type",
  "rule.saqt.q.cpp.130.option.expand_typedef.description": "If selected, the analyzer will check typedef types.",
  "rule.saqt.q.cpp.130.option.expand_typedef.name": "Check typedef types",
  "rule.saqt.q.cpp.130.option.forbidden_type.description": "Set forbidden types.",
  "rule.saqt.q.cpp.130.option.forbidden_type.name": "Forbidden types",
  "rule.saqt.q.cpp.130.option.ignore_const.description": "If selected, the analyzer will ignore constants.",
  "rule.saqt.q.cpp.130.option.ignore_const.name": "Ignore constant",
  "rule.saqt.q.cpp.130.option.scope_target_global.description": "If selected, the analyzer will check in global scope.",
  "rule.saqt.q.cpp.130.option.scope_target_global.name": "Check global scope",
  "rule.saqt.q.cpp.130.option.scope_target_local.description": "If selected, the analyzer will check local variables.",
  "rule.saqt.q.cpp.130.option.scope_target_local.name": "Check local variables",
  "rule.saqt.q.cpp.130.option.scope_target_member.description": "If selected, the analyzer will check members.",
  "rule.saqt.q.cpp.130.option.scope_target_member.name": "Check member",
  "rule.saqt.q.cpp.130.option.scope_target_parameter.description": "Check parameters",
  "rule.saqt.q.cpp.130.option.scope_target_parameter.name": "Check parameters",
  "rule.saqt.q.cpp.130.option.type_target_array.description": "If selected, the analyzer will check array types.",
  "rule.saqt.q.cpp.130.option.type_target_array.name": "Check array types",
  "rule.saqt.q.cpp.130.option.type_target_pointer.description": "If selected, the analyzer will check pointer types.",
  "rule.saqt.q.cpp.130.option.type_target_pointer.name": "Check pointer types",
  "rule.saqt.q.cpp.130.option.type_target_signed.description": "If selected, the analyzer will check signed integer.",
  "rule.saqt.q.cpp.130.option.type_target_signed.name": "Check signed integer",
  "rule.saqt.q.cpp.130.option.type_target_typedef.description": "If selected, the analyzer will check typedef types.",
  "rule.saqt.q.cpp.130.option.type_target_typedef.name": "Check typedef types",
  "rule.saqt.q.cpp.130.option.type_target_unsigned.description": "If selected, the analyzer will check unsigned integer.",
  "rule.saqt.q.cpp.130.option.type_target_unsigned.name": "Check unsigned integer",
  "rule.saqt.q.cpp.1300.description": "The Use of STL algorithms checker finds expressions that call an STL algorithm function on a container instead of using the container's member function with the same name.\nSTL algorithms and container member functions often have the same name. Despite being named identically, they may have differences in implementation and performance details.\nContainer member methods are more efficient and faster when used on their container. For example, the STL function of find() has a time complexity of O(n), whereas those belonging to sorted containers have a time complexity of O(logN).\nBe sure to use container methods instead of the STL algorithms of the same name.",
  "rule.saqt.q.cpp.1300.example.0.dangerous": "Line 3: A find() function of STL algorism is used. The function has a time complexity of O(n).",
  "rule.saqt.q.cpp.1300.example.0.safe": "Line 3: Use the find() method which is a member of set. set is one of sorted containers, thus, its time complexity is O(logN).",
  "rule.saqt.q.cpp.1300.name": "Use of STL algorithms",
  "rule.saqt.q.cpp.1301.description": "The Use of auto_ptr checker finds instances of declaring a variable incorrectly with auto_ptr.\nauto_ptr is a standard C++ smart pointer. The checker reports the following cases: auto_ptr is used for an array type. auto_ptr is used with a non-dynamic variable. An auto_ptr pointer is passed by value. One auto_ptr object is assigned to another auto_ptr object of the same type.\nauto_ptr has destructive copy semantics which may be non-intuitive and can lead to erroneous usage. Therefore, it can cause various memory issues. The latest C++ standard forbids using auto_ptr.\nIf using auto_ptr is necessary, take particular care. If the compiler supports C++11 or higher, it is preferable not to use auto_ptr.",
  "rule.saqt.q.cpp.1301.example.0.dangerous": "Line 1: Passing by value is used to declare parameters.\nLine 4: A smart pointer is copied in order to be passed as function arguments, then turned into a Null pointer pointing an internal object.\nLine 6: The null pointer dereference problem occurs.",
  "rule.saqt.q.cpp.1301.example.0.safe": "Line 1: Use the passing by reference.",
  "rule.saqt.q.cpp.1301.name": "Use of auto_ptr",
  "rule.saqt.q.cpp.1303.description": "The Definition of inline member function in class declaration checker finds inline methods defined inside class declarations.\nMethods defined inside a class are recognized as inline methods by the compiler. Developers can define an inline method in the following three ways: Declare and define the method using the inline keyword inside a class. Declare and define the method inside a class. Define the method using the inline keyword outside a class. Among these, the checker searches for explicit and implicit inline methods declared inside a class.\nClass declarations in header files have to expose their contents as little as possible. Defining a method in its declaration lets details of its implementation exposed.\nInline methods should be defined after their declaration or in separate implementation files that include the header file.",
  "rule.saqt.q.cpp.1303.example.0.dangerous": "Line 5: A member function is declared as inline keyword, and implemented.\nLine 6: The member function is defined.",
  "rule.saqt.q.cpp.1303.example.0.safe": "Line 12: Define the inline method by using the inline keyword.\nLine 15: Define the inline method by using the inline keyword.",
  "rule.saqt.q.cpp.1303.name": "Definition of inline member function in class declaration",
  "rule.saqt.q.cpp.1304.description": "The Missing exception handling for memory allocation checker finds a program that uses dynamic memory allocation but does not have a dynamic allocation handler defined.\nA dynamic allocation handler refers to a function invoked in a C++ program when dynamic memory allocation is failed.\nIf failure of dynamic allocation is not appropriately handled, the program will terminate abnormally. And users are given no solution in that case.\nAny C++ program that dynamically allocates memory must have a handler defined with set_new_handler() to be invoked in case of memory allocation failure. Define a handler function and pass a pointer to it to the set_new_handler() function.",
  "rule.saqt.q.cpp.1304.example.0.dangerous": "Line 2: Dynamic memory allocation is assumed as failed.\nLine 3: When memory allocation is failed, p became a null pointer, then, the use() function call can be failed as well.",
  "rule.saqt.q.cpp.1304.example.0.safe": "Line 5: Set a handler for memory allocation failure.",
  "rule.saqt.q.cpp.1304.name": "Missing exception handling for memory allocation",
  "rule.saqt.q.cpp.1305.description": "The Too high level of dereferencing checker finds expressions that involve more than two dereference operations.\nToo many dereference operations in an expression undermine code readability and cause more mistakes.\nIf more than two levels of dereferencing are needed, split the dereference chain into multiple expressions, for example, by storing an intermediate result in a temporary variable.",
  "rule.saqt.q.cpp.1305.example.0.dangerous": "Line 2: A multi-level dereference is performed.",
  "rule.saqt.q.cpp.1305.example.0.safe": "Line 2: A double-dereference can be performed.",
  "rule.saqt.q.cpp.1305.name": "Too high level of dereferencing",
  "rule.saqt.q.cpp.1306.description": "The Pointer dereference operation in macro checker finds instances in which a dereferencing operation is hidden by defining it as a macro.\nBecause pointer dereferences can easily cause errors, they need to be written as expressly as possible. This helps co-developers notice those dereferences in code and check for mistakes around them.\nDo not define pointer dereferences as macros but use them expressly.",
  "rule.saqt.q.cpp.1306.example.0.dangerous": "Line 1: A pointer dereference operation is hidden in a macro.",
  "rule.saqt.q.cpp.1306.example.0.safe": "Line 1: Do not use a dereference operation in a macro.",
  "rule.saqt.q.cpp.1306.name": "Pointer dereference operation in macro",
  "rule.saqt.q.cpp.1308.description": "The Duplicated function or variable name between files checker finds instances in which the same function or variable identifier is used across different source files.\nIf the same identifier is used globally across different source files, individual source files may be normally compiled, but subsequently an ambiguity issue will arise when they are linked together.\nMake sure all objects use different unique identifiers across all source files.",
  "rule.saqt.q.cpp.1308.example.0.dangerous": "Line 2: A func() function is defined in 8_9a.c file.\nLine 6: Another func() function is defined in 8_9b.c file.",
  "rule.saqt.q.cpp.1308.example.0.safe": "Line 6: Modify a function name not to be globally shared in other files.",
  "rule.saqt.q.cpp.1308.name": "Duplicated function or variable name between files",
  "rule.saqt.q.cpp.1309.description": "The Missing declaration of extern variable checker finds instances in which a variable is declared with the extern qualifier despite not being used in other source files.\nDeclaring a global variable with extern is meant to allow it to be called in other source files as well in the assumption that the variable is fully defined somewhere. However, if this variable is not declared in any other source file in the project, the programmer may likely have made a mistake somewhere.\nDeclare the variable without the extern qualifier, or declare it in other files that need access to it.",
  "rule.saqt.q.cpp.1309.example.0.dangerous": "Line 2: notComp variable is declared as extern in foo.c file. However, notComp variable without extern keyword has not be declared in other files.",
  "rule.saqt.q.cpp.1309.example.0.safe": "Line 4: Declare notComp variable in bar.c file.",
  "rule.saqt.q.cpp.1309.name": "Missing declaration of extern variable",
  "rule.saqt.q.cpp.131.description": "The Unused user defined type on pointer checker finds instances of declaring a variable or function as a pointer type that has not been redefined.\nThe checker searches for a pointer declaration that is not of a data type redefined using Typedef. You can optionally specify allowable pointer types, whether to check members, and whether to check arguments.\nMake sure pointer types are redefined.",
  "rule.saqt.q.cpp.131.example.0.dangerous": "Line 1: Global variable a is not redefined.",
  "rule.saqt.q.cpp.131.example.0.safe": "Line 2: Use a redefined type for the pointer.",
  "rule.saqt.q.cpp.131.name": "Unused user defined type on pointer",
  "rule.saqt.q.cpp.131.option.allowed_pointer_type.description": "Allowed pointer type name",
  "rule.saqt.q.cpp.131.option.allowed_pointer_type.name": "Allowed pointer type name",
  "rule.saqt.q.cpp.131.option.scope_target_member.description": "If selected, the analyzer will check members.",
  "rule.saqt.q.cpp.131.option.scope_target_member.name": "Check member",
  "rule.saqt.q.cpp.131.option.scope_target_parameter.description": "Check parameters",
  "rule.saqt.q.cpp.131.option.scope_target_parameter.name": "Check parameters",
  "rule.saqt.q.cpp.1310.description": "The Use of universal character in macro concatenation checker finds universal characters (such as Unicode) passed as arguments for macro concatenation.\nMacro concatenation must not be performed with universal characters passed in.\nMacro concatenation with a universal character passed in is undefined behavior.\nDo not pass a universal character for macro concatenation.",
  "rule.saqt.q.cpp.1310.example.0.dangerous": "Line 1: Compilation is succeeded in MS Visual Studio 2013, but failed in GCC 4.8.1 with an error.",
  "rule.saqt.q.cpp.1310.example.0.safe": "Line 1: Do not use a universal character in macro concatenation.",
  "rule.saqt.q.cpp.1310.name": "Use of universal character in macro concatenation",
  "rule.saqt.q.cpp.1312.description": "The Missing relationship between constants checker finds instances in which two or more variables are relevant to one another but their relation is not defined in an expression.\nFor relevant variables, their relation must be clear to all developers by being expressly stated.\nWhen defining a constant relevant to another one, be sure to state their relation in the defining expression.",
  "rule.saqt.q.cpp.1312.example.0.dangerous": "Line 1: IN_STR_LEN and OUT_STR_LEN const is related, but independently defined.",
  "rule.saqt.q.cpp.1312.example.0.safe": "Line 1: OUT_STR_LEN const is defined with an expression with IN_STR_LEN.",
  "rule.saqt.q.cpp.1312.name": "Missing relationship between constants",
  "rule.saqt.q.cpp.1314.description": "The Use of compound literal address in loop checker finds instances of using a compound literal inappropriately in a loop due to failure to understand how compound literals are interpreted.\nOnce a compound literal appears during program execution, its corresponding temporary object is generated. The duration of the temporary object is maintained until the enclosing block of the compound literal ends. In the case of a literal compound used within a loop, it is not that a new temporary object is generated at each iteration, but the object from the first iteration keeps being reused until the end of the loop. Using compound literals without understanding of these characteristics can lead to unintended behavior of the program or an error. Particular care is needed when a pointer to a compound literal is used because the duration of the temporary object ends immediately upon completion of the enclosing block, after which the address of the compound literal is no longer valid.\nWhen using a compound literal, it is safe to assume that its temporary object will be discarded as soon as the enclosing block ends. If a temporary object is to be used to initialize another object, you should not use a pointer to the temporary object, but an actual copy of it.",
  "rule.saqt.q.cpp.1314.example.0.dangerous": "Line 9: As one temporary object is generated, pointers of ints array point the single temporary object. Therefore, field x is evaluated to \"MAX_INTS - 1\".\nLine 10: After the statement ends, duration of the temporary object ends as well, which makes its address invalid. Therefore, addresses in ints array are invalid.\nLine 12: Each element of ints array is dereferenced in the second for statements. Then, an undefined action occurs by dereferencing an invalid address. It is likely that memory is not yet overwritten in actual code, but, a certain value is printed out. Instead of an expected value between 0 and \"MAX_INTS - 1\", \"MAX_INTS - 1\" value is consecutively printed out.",
  "rule.saqt.q.cpp.1314.example.0.safe": "Line 9: Copy contents of a temporary object instead of dereferencing a compound literal in a loop.",
  "rule.saqt.q.cpp.1314.name": "Use of compound literal address in loop",
  "rule.saqt.q.cpp.1315.description": "The Non-unique mutually visible identifier checker finds identifiers whose initial characters fail to represent a unique string different from those of any other identifiers.\nGenerally, identifiers must be unique and distinguishable only within its first 31 characters.\nIf identifiers are not unique, a compile error or unintended type confusion may occur. Because extremely long identifiers might be recognized only within a certain number of their significant initial characters depending on the compilation environment, they should be so named that the first 31 characters can represent a unique string.\nMake sure that any identifiers that can access the same scope are unique within the first 31 characters.",
  "rule.saqt.q.cpp.1315.example.0.dangerous": "Line 1: The first 31 characters of two variable names are identical. Then, some system can handle the variables as one identifier.",
  "rule.saqt.q.cpp.1315.example.0.safe": "Line 1: At least the first 31 characters of variable name are significant.",
  "rule.saqt.q.cpp.1315.name": "Non-unique mutually visible identifier",
  "rule.saqt.q.cpp.1316.description": "The Use of non-volatile variable in signal handler checker finds signal handlers that use a global variable that is not declared volatile.\nNon-volatile variables can be cached. If source code is compiled to allow for caching of variables referenced by signal handlers, the program may behave in an unintended way.\nMake sure that all global variables used by signal handlers are declared volatile.",
  "rule.saqt.q.cpp.1316.example.0.dangerous": "Line 9: Value i is cashed, and not passed to while statements. Then, an infinite loop can occur.",
  "rule.saqt.q.cpp.1316.example.0.safe": "Line 2: Declare a variable used by a signal handler as volatile.",
  "rule.saqt.q.cpp.1316.name": "Use of non-volatile variable in signal handler",
  "rule.saqt.q.cpp.1317.description": "The Use of reserved identifier checker finds identifiers named with strings that may possibly be reserved words.\nIt is recommended to avoid identifiers prefixed with an underscore (_) because they can be used internally as macro names. If names internally used by the compiler are used as identifiers, the compiler can malfunction.\nDo not use names starting with an underscore.",
  "rule.saqt.q.cpp.1317.example.0.dangerous": "Line 1: A macro starting with underbar can be a reserved identifier.",
  "rule.saqt.q.cpp.1317.example.0.safe": "Line 1: Do not start a macro with underbar.",
  "rule.saqt.q.cpp.1317.name": "Use of reserved identifier",
  "rule.saqt.q.cpp.1319.description": "The Side effect on macro argument checker finds instances in which an expression possibly having a side effect is passed as an argument to a macro.\nA side effect refers to a side modification that an expression makes to the program's memory status which leads to influencing the evaluation of other expressions.\nBecause it is unpredictable how many times a macro argument will be evaluated internally, expressions with side effects are recommended to be avoided as macro arguments. If a macro is defined to evaluate an argument with a side effect multiple times, even a single call to the macro triggers multiple occurrences of the side effect, which may lead to an unexpected result.\nUse an expression without side effects as an argument of macro.",
  "rule.saqt.q.cpp.1319.example.0.dangerous": "Line 3: The expression will be changed as follow as a defined macro. m = (((++n) < 0) ? -(++n) : (++n)); Here, ++n expression runs multiple times as an argument of macro, thus, n becomes a triple of original number. This is not right.",
  "rule.saqt.q.cpp.1319.example.0.safe": "Line 4: Use an expression without side effects as an argument of macro.",
  "rule.saqt.q.cpp.1319.name": "Side effect on macro argument",
  "rule.saqt.q.cpp.132.description": "The Unused user defined type checker finds instances of declaring a variable or function as a data type that has not been redefined. \nThe checker searches for a declaration that is not of a data type redefined using Typedef. You can optionally specify allowable data types, whether to check members, and whether to check arguments.\nMake sure data types are redefined.",
  "rule.saqt.q.cpp.132.example.0.dangerous": "Line 1: Global variable a is not redefined.",
  "rule.saqt.q.cpp.132.example.0.safe": "Line 2: Use a redefined type for the variable.",
  "rule.saqt.q.cpp.132.name": "Unused user defined type",
  "rule.saqt.q.cpp.132.option.allowed_type.description": "If selected, the analyzer will check typedef name.",
  "rule.saqt.q.cpp.132.option.allowed_type.name": "Allowed typedef name",
  "rule.saqt.q.cpp.132.option.scope_target_member.description": "If selected, the analyzer will check members.",
  "rule.saqt.q.cpp.132.option.scope_target_member.name": "Check member",
  "rule.saqt.q.cpp.132.option.scope_target_parameter.description": "Check parameters",
  "rule.saqt.q.cpp.132.option.scope_target_parameter.name": "Check parameters",
  "rule.saqt.q.cpp.1320.description": "The Accessing variable via incompatible pointer checker finds instances of accessing a memory location using a pointer whose type is not compatible with the object stored in the memory location.\nAccessing memory using a pointer of an incompatible type is undefined. It is left uncertain and up to the compiler, therefore, how such a statement will be interpreted. Programmers may assume, for example, that using a 32-bit integer pointer to dereference the memory location of a 32-bit floating-point variable won't cause trouble because the pointer and the value being pointed to have the same size; such dereferencing may be performed in expectation of an integer interpretation of the float variable's bits. Although most compilers indeed interpret the dereference that way, it is not defined by the official C standard and so there is no guarantee of the same behavior when it is conducted in some different environment.\nAccess to memory using a pointer must be conducted only in one of the following cases: It is fine to use a pointer of the same type as the variable stored in the memory location being accessed. A void * pointer can be used to point to any memory location although dereferencing is not possible using this pointer. Another option is to use a char * pointer, which can convert any variable to a byte array. If you need to find out a variable's bit pattern at the machine-code level, use this pointer.",
  "rule.saqt.q.cpp.1320.example.0.dangerous": "Line 4: A float accesses to a stored memory through int* pointer. Which is an undefined behavior.",
  "rule.saqt.q.cpp.1320.example.0.safe": "Line 4: Access to memory through compatible type of pointer.",
  "rule.saqt.q.cpp.1320.name": "Accessing variable via incompatible pointer",
  "rule.saqt.q.cpp.1321.description": "The Improper casting of integer checker finds instances in which a character is not cast to an unsigned integer before converted to a larger integer.\nCharacters to be interpreted as integers must be treated as unsigned because they need to be represented by ASCII codes ranging from 0 to 255. If they are cast from the char type immediately to a wider signed integer type, those represented by ASCII codes 128-255 can be cast improperly. Because those high ASCII codes have a 1 at the most significant bit (MSB) when expressed as 8-bit binary numbers, treating them as signed causes them to be interpreted as negative numbers due to a sign extension of the MSB.\nMake sure characters are cast to unsigned integers first so that they can be represented by integers from 0 to 255.",
  "rule.saqt.q.cpp.1321.example.0.dangerous": "Line 8: With a complier that uses a char type as signed, sign extension can occur when a value pointed by c_str is assigned to variable c. If the c_str points 255, an incorrect value, -1, will be returned by converting to an int type.",
  "rule.saqt.q.cpp.1321.example.0.safe": "Line 9: Convert the *c_str to an unsigned type before assigned to variable c.",
  "rule.saqt.q.cpp.1321.name": "Improper casting of integer",
  "rule.saqt.q.cpp.1322.description": "The Copying FILE Object checker finds instances of copying an object of the standard library FILE type.\nThe FILE object type is designed to be handled only by calling related library functions. Therefore, a copied FILE object does not necessarily behave identically to its original object, and if values inside a FILE object are arbitrarily manipulated, related library entities may not work properly.\nMake sure FILE objects are handled only by calling library functions as are they designed.",
  "rule.saqt.q.cpp.1322.example.0.dangerous": "Line 2: FILE object is copied after dereferenced.",
  "rule.saqt.q.cpp.1322.example.0.safe": "Line 2: Do not copy FILE object.",
  "rule.saqt.q.cpp.1322.name": "Copying FILE Object",
  "rule.saqt.q.cpp.1323.description": "The Redefined errno checker finds instances of redefining the errno variable in an individual source file.\nDeclaring errno in an individual source file triggers undefined behavior.\nInstead of declaring errno directly, include it in a standard header such as errno.h.",
  "rule.saqt.q.cpp.1323.example.0.dangerous": "Line 1: An errno variable is overrided.",
  "rule.saqt.q.cpp.1323.example.0.safe": "Line 1: Include a related standard header instead of overriding.",
  "rule.saqt.q.cpp.1323.name": "Redefined errno",
  "rule.saqt.q.cpp.1324.description": "The Parameter name in function prototype checker finds instances of naming the parameters in a prototype declaration.\nObserving this rule can prevent type errors caused by failure to protect header prototypes from misinterpretation.\nDo not name the parameters when declaring a prototype but include their types only.",
  "rule.saqt.q.cpp.1324.example.0.dangerous": "Line 2: A prototype is changed to void update_status(int 23); after preprocessing. Then, an error occurs.",
  "rule.saqt.q.cpp.1324.example.0.safe": "Line 1: Do not specify a parameter name for a prototype.",
  "rule.saqt.q.cpp.1324.name": "Parameter name in function prototype",
  "rule.saqt.q.cpp.1325.description": "The Virtual function call in constructor and destructor checker finds constructors and destructors that call a virtual function.\nDuring construction and destruction of an object, its final type may be different to that of the completely constructed object. The result of using an object's dynamic type in a constructor or destructor may not be consistent with developer expectations.\nMake sure that a constructor or destructor does not call a virtual function.",
  "rule.saqt.q.cpp.1325.example.0.dangerous": "Line 14: A virtual function is called from a constructor. Then, a virtual function of base class is called instead of one of child class.",
  "rule.saqt.q.cpp.1325.example.0.safe": "Line 14: Do not call the virtual function from the constructor.",
  "rule.saqt.q.cpp.1325.name": "Virtual function call in constructor and destructor",
  "rule.saqt.q.cpp.1326.description": "The Just one of overloaded new and delete checker finds classes in which only either of the new and delete operators is overloaded.\nOverloading a memory operator implies that the programmer wants a different behavior from it. The memory operators, however, are a pair of an allocator and a deallocator. If only either of them is overloaded, memory operations may not work properly.\nMake sure that both the new and delete operators are overloaded in the same scope.",
  "rule.saqt.q.cpp.1326.example.0.dangerous": "Line 5: A delete operator is not overloaded in the same area.",
  "rule.saqt.q.cpp.1326.example.0.safe": "Line 5: Overload the delete operator in the same area.",
  "rule.saqt.q.cpp.1326.name": "Just one of overloaded new and delete",
  "rule.saqt.q.cpp.1327.description": "The Returning non-const value from overloaded postfix operator checker finds overloads of the postfix increment and decrement operators that are not declared with the const qualifier.\nThe postfix increment and decrement operators refer respectively to the ++ and -- operators that come after the operand. When specifying an overloaded operator for the postfix form of the increment or decrement operator, the additional argument must be of type int; specifying any other type generates an error. The checker searches for const-qualified declarations of operator++(int) and operator--(int).\nIf the return type of a postfix increment or decrement operator is not const-qualified, this can be invoked in an abnormal way. For example, this may allow for applying the operator twice consecutively like i++++.\nThe postfix increment and decrement operators must return a const-qualified object.",
  "rule.saqt.q.cpp.1327.example.0.dangerous": "Line 4: A postfix ++ operator is overloaded, but not returning a const type object.",
  "rule.saqt.q.cpp.1327.example.0.safe": "Line 4: Return the const type object when overloading the postfix ++ operator.",
  "rule.saqt.q.cpp.1327.name": "Returning non-const value from overloaded postfix operator",
  "rule.saqt.q.cpp.1328.description": "The Recursive call during initialization of static object checker finds instances in which expressions for initializing a static variable include a call to a recursive function.\nA static variable in a function is initialized when the function is first called. If an expression for initializing a static variable includes a call to a recursive function, it becomes ambiguous when the static variable is initialized. A recursive function including initialization of a static variable is undefined. Such code may output different results depending on compilers and thus is unpredictable.\nDo not call a recursive function when a static variable is initialized.",
  "rule.saqt.q.cpp.1328.example.0.dangerous": "Line 6: A function is recursively called in static variable initialization.",
  "rule.saqt.q.cpp.1328.example.0.safe": "Line 7: Declare the static variable, and then, assign results of the recursive function.",
  "rule.saqt.q.cpp.1328.name": "Recursive call during initialization of static object",
  "rule.saqt.q.cpp.133.description": "The Unused user defined type on member variable checker finds instances of declaring a member as a data type that has not been redefined.\nThe checker searches for a member declaration in a struct that is not of a data type redefined using Typedef. You can optionally specify allowable member types, whether to check arrays, whether to check pointers, and whether to check function pointers.\nMake sure members are declared as redefined data types.",
  "rule.saqt.q.cpp.133.example.0.dangerous": "Line 2: Member variable a of struct st is not redefined.",
  "rule.saqt.q.cpp.133.example.0.safe": "Line 3: Use a redefined type for the member variable of struct.",
  "rule.saqt.q.cpp.133.name": "Unused user defined type on member variable",
  "rule.saqt.q.cpp.133.option.allowed_member_type.description": "Allowed member type or not",
  "rule.saqt.q.cpp.133.option.allowed_member_type.name": "Allowed member type",
  "rule.saqt.q.cpp.133.option.check_function_ptr.description": "If selected, the analyzer will check function pointer",
  "rule.saqt.q.cpp.133.option.check_function_ptr.name": "Check function pointer",
  "rule.saqt.q.cpp.133.option.type_target_array.description": "If selected, the analyzer will check array",
  "rule.saqt.q.cpp.133.option.type_target_array.name": "Check array",
  "rule.saqt.q.cpp.133.option.type_target_pointer.description": "If selected, the analyzer will check pointer(except function pointer)",
  "rule.saqt.q.cpp.133.option.type_target_pointer.name": "Check pointer",
  "rule.saqt.q.cpp.1330.description": "The Deleting or casting pointer of incomplete class checker finds expressions that cast or delete a pointer to an object of incomplete class type.\nAn incomplete class refers to a forward-declared class.\nYou cannot expect normal behavior from manipulation of a pointer to an object of incomplete class type. This may likely cause compile errors and even if successfully compiled, it can hardly work normally.\nDo not cast or delete a pointer to an object of incomplete class type.",
  "rule.saqt.q.cpp.1330.example.0.dangerous": "Line 1: A Body class is forward declared.\nLine 5: An incomplete class object is deleted.",
  "rule.saqt.q.cpp.1330.example.0.safe": "Line 5: Define the Body class and delete it.",
  "rule.saqt.q.cpp.1330.name": "Deleting or casting pointer of incomplete class",
  "rule.saqt.q.cpp.1331.description": "The Float operation on non-float value checker finds floating-point operations that fail to cast any integer operand to a floating-point number.\nA floating-point operation may include an integer in its operand expression. If an integer is used as an operand of a floating-point operation without being cast to a floating-point, it can overflow. As a result, the operation fails to produce the correct value.\nBefore performing a float-pointing operation, cast all integer operands to float-pointing.",
  "rule.saqt.q.cpp.1331.example.0.dangerous": "Line 6: An f value can be negative due to an overflow.",
  "rule.saqt.q.cpp.1331.example.0.safe": "Line 6: Cast an integer into a floating point.",
  "rule.saqt.q.cpp.1331.name": "Float operation on non-float value",
  "rule.saqt.q.cpp.1332.description": "The Predicate function with non-static field checker finds declarations of predicate methods that modify the value of a non-static field.\nA predicate is a special type of class passed as a predicate function object to an STL algorithm. It is typically a class that provides an overloaded ( ) operator method.\nIt is unpredictable how many times a predicate is invoked in a standard algorithm depending on compiler implementation. Suppose that a predicate stores a different value in a field each time called and returns true only on its third invocation. If this predicate is passed to an STL algorithm, it will bring out a different result depending on whether the compiler uses the predicate itself or a copy of it.\nIt is not recommended to use a field in a predicate. If its use is unavoidable, declare the predicate method const to ensure the field is immutable.",
  "rule.saqt.q.cpp.1332.example.0.dangerous": "Line 4: A predicate is declared without const.\nLine 5: timesCalled field value is modified.",
  "rule.saqt.q.cpp.1332.example.0.safe": "Line 4: Declare the predicate as const.\nLine 5: timesCalled is modified. But a compile error is cuased by the const declaration.",
  "rule.saqt.q.cpp.1332.name": "Predicate function with non-static field",
  "rule.saqt.q.cpp.1333.description": "The Specified bound of character array checker finds array declarations that include initialization to a string literal while specifying the size of the array.\nIf an array is initialized to a string literal at declaration, its size is automatically allocated as much as the string length. If the array size is explicitly specified but is not large enough to contain the string literal, the stored string may not end with 0 or the array may fail to store the whole length of the string.\nDo not specify the size of an array if it is initialized to a string.",
  "rule.saqt.q.cpp.1333.example.0.dangerous": "Line 1: Spaces for 4 character including '\\0' is required to store a string 'abc'. However, an array size is specified to 3. Thus, there is no space for '\\0', and an abnormal string that does not end with 0 is stored.",
  "rule.saqt.q.cpp.1333.example.0.safe": "Line 1: Do not specify an array size to string literals.",
  "rule.saqt.q.cpp.1333.name": "Specified bound of character array",
  "rule.saqt.q.cpp.1334.description": "The Missing check of sameness on copy assignment operation checker finds definitions of copy assignment operators that do not include a protective logic against invalid self-assignment.\nSuch a logic works by checking if the source and destination point to the same object and can have various implementations. The checker searches for only limited patterns such as `this == param`.\nIf the source and destination pointers point to the same object, it is more efficient to return the existing pointer than deleting the object and creating a new one. And it is undefined to copy between the same memory space. Such code may output different results depending on compilers and thus is unpredictable.\nWhen defining a copy assignment operator, add an expression protecting against self-assignment.",
  "rule.saqt.q.cpp.1334.example.0.dangerous": "Line 15: An object is used without comparing with an argument passed by a copy assignment operator.",
  "rule.saqt.q.cpp.1334.example.0.safe": "Line 2: Use the object after comparing with the argument passed by a copy assignment operator.",
  "rule.saqt.q.cpp.1334.name": "Missing check of sameness on copy assignment operation",
  "rule.saqt.q.cpp.1335.description": "The Use of unaligned pointer checker finds expressions that call placement new on a misaligned address.\nPlacement new does not allocate memory but constructs an object at an existing memory location.\nIf placement new is called on an improper buffer, alignment restrictions are violated. This can cause bus errors in some environments.\nWhen using placement new, use a well aligned memory address as the target buffer.",
  "rule.saqt.q.cpp.1335.example.0.dangerous": "Line 9: s.B with a misaligned address is specified as a buffer.\nLine 11: An undefined behavior is occurred.",
  "rule.saqt.q.cpp.1335.example.0.safe": "Line 4: Specify the type to use as a buffer to union.\nLine 7: Declare the union field to the type to use as the buffer.",
  "rule.saqt.q.cpp.1335.name": "Use of unaligned pointer",
  "rule.saqt.q.cpp.1336.description": "The Throwing exception in destructor checker finds destructors that throw an exception.\nAn exception occurring in a destructor can lead to program termination. For example, if an exception-handling mechanism invokes a destructor which then throws another exception, a termination function will be invoked to terminate the program.\nMake sure exceptions are not thrown out of destructors.",
  "rule.saqt.q.cpp.1336.example.0.dangerous": "Line 4: An exception is thrown by a destructor.",
  "rule.saqt.q.cpp.1336.example.0.safe": "Line 1: Do not propagate the exception out of a function.",
  "rule.saqt.q.cpp.1336.name": "Throwing exception in destructor",
  "rule.saqt.q.cpp.1336.option.misra2008.description": "Misra2008 spec is more generous. when catch block exists same block as try, this checker does not make a alarm.",
  "rule.saqt.q.cpp.1336.option.misra2008.name": "run as Misra2008 15-5-1 spec.",
  "rule.saqt.q.cpp.1337.description": "The Accessing field in handler of constructor finds classes whose constructor or destructor has a function-try-block that accesses a member field.\nThe function-try-block is one of the alternative syntax forms for function-body. This replaces the function body with a try and catch statement.\nIt is undefined that a handler in a constructor or destructor accesses a class member. Such code may output different results depending on compilers and thus is unpredictable.\nIf a constructor or destructor has a function-try-block, make sure that the catch block does not access a member field.",
  "rule.saqt.q.cpp.1337.example.0.dangerous": "Line 8: A field is accessed from a handler of constructor.",
  "rule.saqt.q.cpp.1337.example.0.safe": "Line 8: Instead of the field, use the argument of the constructor to perform exception handling.",
  "rule.saqt.q.cpp.1337.name": "Accessing field in handler of constructor",
  "rule.saqt.q.cpp.1338.description": "The Wrong exception handling order checker finds instances in which catch blocks are not arranged in derived-to-base order.\nA try-catch statement runs from the top down through the catch blocks. Therefore, if the arguments taken by the catch blocks have types that are in an inheritance hierarchy, but the blocks are not arranged from those for the derived to those for the base, some catch blocks will be unreachable. It is because derived class objects may be handled in the catch block for their base class.\nMake sure that the catch blocks are arranged from those for the derived to those for the base.",
  "rule.saqt.q.cpp.1338.example.0.dangerous": "Line 9: An executed catch (B &b) statement is not reaching to a catch (D &d) side due to a parent class B of a child class D.",
  "rule.saqt.q.cpp.1338.example.0.safe": "Line 7: Put the catch clause of its child class first.",
  "rule.saqt.q.cpp.1338.name": "Wrong exception handling order",
  "rule.saqt.q.cpp.1339.description": "The Throwing exception during deallocation checker finds expressions that throw an exception inside a memory deallocation operator.\nA memory deallocation operator herein refers to an overload of a memory deallocation operator such as delete.\nAn exception occurring in a memory deallocation operator can lead to program termination. For example, if an exception-handling mechanism invokes a memory deallocation operator which then throws another exception, a termination function will be called to terminate the program.\nDo not throw an exception in a memory deallocation operator.",
  "rule.saqt.q.cpp.1339.example.0.dangerous": "Line 8: An exception is thrown by a memory free function.",
  "rule.saqt.q.cpp.1339.example.0.safe": "Line 6: Do not allow the memory free function to throw the exception.",
  "rule.saqt.q.cpp.1339.name": "Throwing exception during deallocation",
  "rule.saqt.q.cpp.134.description": "The Use of forbidden array type checker finds instances of declaring a local array variable as a data type that is not optionally allowed.\nThe checker searches for an array variable declaration that is not of an allowed data type. You can optionally specify allowable variable types, whether to check local variables, and whether to check arguments.\nMake sure local array variables are declared as allowed data types.",
  "rule.saqt.q.cpp.134.example.0.dangerous": "Line 2: Line 2: Local array variable a is declared as forbidden int[] type.",
  "rule.saqt.q.cpp.134.example.0.safe": "Line 2: Use an allowed type to declare the array variables.",
  "rule.saqt.q.cpp.134.name": "Use of forbidden array type",
  "rule.saqt.q.cpp.134.option.allowed_variable_type.description": "Allowed variables types",
  "rule.saqt.q.cpp.134.option.allowed_variable_type.name": "Allowed variables types",
  "rule.saqt.q.cpp.134.option.scope_target_local.description": "If selected, the analyzer will check local variables.",
  "rule.saqt.q.cpp.134.option.scope_target_local.name": "Check local variables",
  "rule.saqt.q.cpp.134.option.scope_target_parameter.description": "Check parameters",
  "rule.saqt.q.cpp.134.option.scope_target_parameter.name": "Check parameters",
  "rule.saqt.q.cpp.1341.description": "The Non-virtual destructor checker finds classes that include a virtual function but does not declare the destructor virtual.\nIf the destructor is not declared virtual, slicing may occur when it destroys an object. For example, suppose that a pointer of a base class type points to an object of a derived class. Then, when this pointer is destructed, only the base class's destructor is called and the derived class's destructor is not called. As a result, the derived class object is not properly destructed. Because a class having a virtual function can potentially be inherited, its destructor must also be virtual.\nDeclare the destructor virtual if its class includes a virtual function.",
  "rule.saqt.q.cpp.1341.example.0.dangerous": "Line 6: A destructor of class is not virtually declared.\nLine 9: A virtual function is included.",
  "rule.saqt.q.cpp.1341.example.0.safe": "Line 6: Virtually declare the destructor of class.",
  "rule.saqt.q.cpp.1341.name": "Non-virtual destructor",
  "rule.saqt.q.cpp.1343.description": "The Throwing exception on copy assignment operation checker finds copy assignment operators that implement a swap logic throwing an exception.\nAn exception occurring in a copy assignment operator can lead to program termination. For example, if an exception-handling mechanism invokes a copy assignment operator which then throws another exception, a termination function will be called to terminate the program.\nMake sure the swap logic implementations in copy assignment operators do not throw an exception.",
  "rule.saqt.q.cpp.1343.example.0.dangerous": "Line 5: Swap() method can throw an exception.",
  "rule.saqt.q.cpp.1343.example.0.safe": "Line 5: Do not use functions which raise exceptions in the copy assignment operator.",
  "rule.saqt.q.cpp.1343.name": "Throwing exception on copy assignment operation",
  "rule.saqt.q.cpp.1344.description": "The Missing initialization in constructor checker finds constructors that omits an initializer for a member that must be initialized.\nRegarding member initialization, the constructor should provide virtual base class constructors, non-virtual base class constructors, and then initial values or constructors for non-static data members. Initialization must be conducted using a member initializer list that includes calls to the constructors from the top base down to the derived in left-to-right order. The list then should include initializers for non-static data members in the order of their declaration.\nIf any initializer is missing, the uninitialized member's value is unpredictable, causing program malfunctions. Member initialization is also good for cost saving as it incurs less overhead than initialization by value assignment.\nConduct initialization in the correct order without any necessary initializers missing.",
  "rule.saqt.q.cpp.1344.example.0.dangerous": "Line 7: Initialization is not specified for required items.",
  "rule.saqt.q.cpp.1344.example.0.safe": "Line 7: Initialize the required items by using the member initialization list.",
  "rule.saqt.q.cpp.1344.name": "Missing initialization in constructor",
  "rule.saqt.q.cpp.1345.description": "The Wrong initialization order in constructor checker finds initializer lists in which the initializers for the target fields are not sorted in the correct order.\nIf incorrectly sorted initializers cause some member fields to be left uninitialized. Uninitialized member fields assume unpredictable values and may cause program malfunctions.\nMake sure the initializers are listed in the order of declaration of the member fields.",
  "rule.saqt.q.cpp.1345.example.0.dangerous": "Line 5: DependsOnSomeVal value is not initialized due to using uninitialized SomeVal value.",
  "rule.saqt.q.cpp.1345.example.0.safe": "Line 5: Initialize fields in the order of their declaration.",
  "rule.saqt.q.cpp.1345.name": "Wrong initialization order in constructor",
  "rule.saqt.q.cpp.1346.description": "The Public constructor for abstract class checker finds abstract classes whose constructor has public accessibility.\nGenerally, an abstract class consisting of pure virtual functions should not be able to construct an object but must be accessed only by its derived classes. Therefore, its constructor should not have public accessibility.\nIn an abstract class, set the constructor's accessibility protected.",
  "rule.saqt.q.cpp.1346.example.0.dangerous": "Line 3: An abstract class constructor is declared as public.",
  "rule.saqt.q.cpp.1346.example.0.safe": "Line 3: Declare the abstract class constructor as protected.",
  "rule.saqt.q.cpp.1346.name": "Public constructor for abstract class",
  "rule.saqt.q.cpp.1347.description": "The Overloaded non-virtual function checker finds declarations of derived classes in which a non-virtual function from the base class is unavailable.\nA non-virtual function is declared in order that its implementation may remain unchanged even if inherited into derived classes. If such a function is changed in a derived class, unexpected behavior can be caused.\nDo not hide non-virtual functions inherited from the base class. If a new function implementation is needed, define it with a new name.",
  "rule.saqt.q.cpp.1347.example.0.dangerous": "Line 7: A non-virtual function of parent class is hidden.",
  "rule.saqt.q.cpp.1347.example.0.safe": "Line 5: Do not hide the non-virtual function of parent class.",
  "rule.saqt.q.cpp.1347.name": "Overloaded non-virtual function",
  "rule.saqt.q.cpp.1348.description": "The Mismatched default values checker finds instances in which parameters in an overriding function do not use the same default arguments as the function they override.\nA default argument is a value provided in a function declaration. A virtual function declared in a base class can takes a default argument. Programmers often override such a function with a different value assigned to the default argument in a derived class.\nIf a default argument is different for a parameter in an overriding function, the function may behave in an unexpected way. It is hardly expected that a function taking a default argument behaves differently when called by a base class and by a derived class.\nMake sure virtual functions take the same default values in the base and derived classes.",
  "rule.saqt.q.cpp.1348.example.0.dangerous": "Line 3: A default argument value is set to 10.\nLine 10: The default argument value of the overridden method is differing.",
  "rule.saqt.q.cpp.1348.example.0.safe": "Line 10: Use the same default argument value.",
  "rule.saqt.q.cpp.1348.name": "Mismatched default values",
  "rule.saqt.q.cpp.1349.description": "The Non-protected copy constructor checker finds abstract classes whose copy assignment operator has public accessibility.\nGenerally, an abstract class consisting of pure virtual functions should not be able to construct an object but must be accessed only by its derived classes. Therefore, its copy assignment operator should not have public accessibility. Compliance with this also beneficially ensures that the copy assignment operator is called from a derived class.\nIn an abstract class, set the copy assignment operator's accessibility protected.",
  "rule.saqt.q.cpp.1349.example.0.dangerous": "Line 4: A copy assignment operator of an abstract class is declared as public.\nLine 18: A copy assignment operator is used in a base class, and not copied a value of derived class.",
  "rule.saqt.q.cpp.1349.example.0.safe": "Line 5: Declare the copy assignment operator as protected.\nLine 19: An error will occur during compiling.",
  "rule.saqt.q.cpp.1349.name": "Non-protected copy constructor",
  "rule.saqt.q.cpp.135.description": "The Use of not-allowed type checker finds instances of declaring a local variable as a data type that is not optionally allowed.\nThe checker searches for a local variable declaration that is not of an allowed base data type. You can optionally specify allowable variable types, whether to check local variables, and whether to check arguments.\nMake sure local variables are declared as allowed data types.",
  "rule.saqt.q.cpp.135.example.0.dangerous": "Line 1: Parameter a is declared as forbidden short.",
  "rule.saqt.q.cpp.135.example.0.safe": "Line 1: Use the allowed types only to declare the variables.",
  "rule.saqt.q.cpp.135.name": "Use of not-allowed type",
  "rule.saqt.q.cpp.135.option.allowed_variable_type.description": "Allowed variables types",
  "rule.saqt.q.cpp.135.option.allowed_variable_type.name": "Allowed variables types",
  "rule.saqt.q.cpp.135.option.scope_target_local.description": "If selected, the analyzer will check local variables.",
  "rule.saqt.q.cpp.135.option.scope_target_local.name": "Check local variables",
  "rule.saqt.q.cpp.135.option.scope_target_parameter.description": "Check parameters",
  "rule.saqt.q.cpp.135.option.scope_target_parameter.name": "Check parameters",
  "rule.saqt.q.cpp.1350.description": "The Implicit virtual function checker finds overriding methods that are not declared with the virtual keyword in the derived class.\nFunctions declared virtual in a base class are often overridden without the virtual keyword in a derived class. \nIf a virtual function is overridden without the virtual keyword, its being virtual is no longer indicated when the overriding function is once again overridden in a further derived class.\nA polymorphic method must be declared explicitly virtual in the derived class.",
  "rule.saqt.q.cpp.1350.example.0.dangerous": "Line 9: f() method is not declared as virtual.\nLine 10: operator+() method is not declared as virtual.\nLine 11: A destructor is not declared as virtual.",
  "rule.saqt.q.cpp.1350.example.0.safe": "Line 9: Explicitly declare the f() method as virtual.\nLine 10: Explicitly declare the operator+() method as virtual.\nLine 11: Explicitly declare the destructor as virtual.",
  "rule.saqt.q.cpp.1350.name": "Implicit virtual function",
  "rule.saqt.q.cpp.1352.description": "The Return of non-const handle from const member function checker finds methods that are declared const but return a non-constant handle.\nA handle herein refers to a pointer or reference member in a class, not a value member.\nIf a const method returns a non-constant handle, this can be modified from outside the class. This violates encapsulation and can lead to an undesired result.\nDo not return a non-constant handle from a const member, which allows for modifying the member data from outside the class.",
  "rule.saqt.q.cpp.1352.example.0.dangerous": "Line 4: pValue handle is returned as non-const.\nLine 12: Private data in a class is changed.",
  "rule.saqt.q.cpp.1352.example.0.safe": "Line 3: A return type is changed into constant.\nLine 13: An error occurs during compilation phase.",
  "rule.saqt.q.cpp.1352.name": "Return of non-const handle from const member function",
  "rule.saqt.q.cpp.1353.description": "The Non-abstract base class checker finds non-abstract classes publicly derived from their child classes.\nIt is recommended to declare abstract for base classes. Because base classes are generally defined by abstracting commons of derived classes.\nEnsure that base classes are declared abstract when they are publicly inherited.",
  "rule.saqt.q.cpp.1353.example.0.dangerous": "Line 2: A parent class is declared as a generic class.\nLine 5: A parent class is inherited in a child class, but the parent class is not an abstract.",
  "rule.saqt.q.cpp.1353.example.0.safe": "Line 2: Make the base classes abstract.",
  "rule.saqt.q.cpp.1353.name": "Non-abstract base class",
  "rule.saqt.q.cpp.1354.description": "The Too many base classes checker finds instances a class is derived from two base classes that are not purely abstract.\nThe diamond problem is an ambiguity that arises when a class is derived from multiple base classes that are derived from the top common base class.\nA class can inherit from more than one classes in C++. However, when multiple inheritance is performed for non-virtual classes, the diamond problem can occur. Then, a compile error occurs in a call of base class method.\nThere are several solutions for this problem, including: The derived class inherits from only one non-abstract base class. Use virtual inheritance. Make the base classes abstract.",
  "rule.saqt.q.cpp.1354.example.0.dangerous": "Line 10: Both Derived1 and Derived2 are inherited by a base class. This leads to a diamond problem.",
  "rule.saqt.q.cpp.1354.example.0.safe": "Line 10: Inherit one non-abstract parent class.",
  "rule.saqt.q.cpp.1354.name": "Too many base classes",
  "rule.saqt.q.cpp.1355.description": "The Member binary operator checker finds method definitions that overload an arithmetic operator as a class member.\nC++ supports overloading arithmetic operators. They can be overloaded either as class methods or as regular functions.\nBinary operators overloaded as methods may not properly perform complex numerical operations if the calling object is used as the right operand. A binary operator overload takes the calling object as its left operand. In the case of an arithmetic operator, however, the left operand can be a numeric expression instead of a class object. Such an operator cannot be overloaded as a method.\nIf an arithmetic operator needs to be used on a class object, it must be overloaded as a non-member binary operator function that allows implicit conversion of the left operand. Then, if an integer or real number is passed as an operand, it will be implicitly cast to the relevant class type so that it can be freely used, whether it be the left or right operand.",
  "rule.saqt.q.cpp.1355.example.0.dangerous": "Line 4: + operation has been implemented with a method.\nLine 8: operator+() method of complex class is called. Actually, a.operator+(2) method.\nLine 9: Addition on integers 2 and complex classes cannot be performed. An compilation error occurs.",
  "rule.saqt.q.cpp.1355.example.0.safe": "Line 5: Implement the + operation with normal functions.\nLine 9: Then, code will be normally compiled. As a constructor of complex is not explicitly declared, implicit casting can be performed on integer 2.",
  "rule.saqt.q.cpp.1355.name": "Member binary operator",
  "rule.saqt.q.cpp.1356.description": "The Improper overloading of subscript operator checker finds overloads of the array operator that do not implement both constant and non-constant versions.\nIf a class overloads the array operator only with a non-constant version implemented, the overloaded array can be used in an unexpected way. For example, this allows for modifying a const-declared array's elements.\nWhen overloading the array operator in a class, be sure to implement both constant and non-constant versions.",
  "rule.saqt.q.cpp.1356.example.0.dangerous": "Line 8: An object is declared as const.\nLine 9: A field value is changed due to the assignment on the constant object.",
  "rule.saqt.q.cpp.1356.example.0.safe": "Line 3: Provide a const version array operator.\nLine 10: An error will occur from compilers due to the const constraints.",
  "rule.saqt.q.cpp.1356.name": "Improper overloading of subscript operator",
  "rule.saqt.q.cpp.1357.description": "The Too many execution paths checker finds functions that have too many execution paths, except for the case in which the number of paths increases due to iterations in a loop.\nToo many non-iterative execution paths in a function cause difficulty in testing and managing the function.\nMake sure that a function includes no more than 200 non-iterative execution paths.",
  "rule.saqt.q.cpp.1357.example.0.dangerous": "Line 12: Too many execution paths are found.",
  "rule.saqt.q.cpp.1357.example.0.safe": "Line 4: Keep the number of execution paths up to 200.",
  "rule.saqt.q.cpp.1357.name": "Too many execution paths",
  "rule.saqt.q.cpp.1358.description": "The Throwing non-class type object checker finds instances of throwing an exception that is not of an allowed type.\nThe checker allows a class type only; other types are not allowed.\nBecause the class type may have information to cause the error, and explain a kind of the error.\nA class type to throw as an exception needs to be inherited from std::exception class.",
  "rule.saqt.q.cpp.1358.example.0.dangerous": "Line 4: An integer type value is thrown as an exception.",
  "rule.saqt.q.cpp.1358.example.0.safe": "Line 6: Throw a class object inherited from std::exception class as an exception.",
  "rule.saqt.q.cpp.1358.name": "Throwing non-class type object",
  "rule.saqt.q.cpp.1359.description": "The Catching exception by reference checker finds catch blocks that catch an exception by a non-reference type.\nExceptions can be caught by pointer, by pointer, and by reference.\nCatching by pointer can cause issues with pointing to an invalid address if a local variable is passed. Another problem it poses is that it is unknown whether or not to deallocate memory from the exception object passed in. Depending on whether or not deallocation is conducted elsewhere, the object may be double-freed or remain undeallocated, causing a memory leak. And catching by value may have issues with copying the exception object or slice the exception object if the exception object is of a derived class.\nMake sure exceptions are caught by reference.",
  "rule.saqt.q.cpp.1359.example.0.dangerous": "Line 3: An exception object is thrown as an address.\nLine 9: An exception is passed as a pointer. But, as declared as a local variable, the pointer is invalid at this point.",
  "rule.saqt.q.cpp.1359.example.0.safe": "Line 6: Create and throw an exception object.\nLine 12: Get an exception as reference type.",
  "rule.saqt.q.cpp.1359.name": "Catching exception by reference",
  "rule.saqt.q.cpp.136.description": "The Use of forbidden compound type checker finds instances of declaring a compound variable as an unspecified array type.\nYou can optionally specify allowable variable types, whether to check pointer types, whether to check array types, whether to check redefined types, whether to check local variables, whether to check arguments, and whether to ignore unnamed structs/unions.\nMake sure compound-type variables are declared with a specified name.",
  "rule.saqt.q.cpp.136.example.0.dangerous": "Line 7: Local compound variable st is declared as forbidden bad type.",
  "rule.saqt.q.cpp.136.example.0.safe": "Line 7: Declare the local array variable st as allowed good type.",
  "rule.saqt.q.cpp.136.name": "Use of forbidden compound type",
  "rule.saqt.q.cpp.136.option.allowed_variable_type.description": "Allowed variables types",
  "rule.saqt.q.cpp.136.option.allowed_variable_type.name": "Allowed variables types",
  "rule.saqt.q.cpp.136.option.expand_typedef.description": "If selected, the analyzer will check typedef types.",
  "rule.saqt.q.cpp.136.option.expand_typedef.name": "Check typedef types",
  "rule.saqt.q.cpp.136.option.ignore_anonymous.description": "If selected, the analyzer will ignore unnamed structure/union.",
  "rule.saqt.q.cpp.136.option.ignore_anonymous.name": "Ignore unnamed structure/union",
  "rule.saqt.q.cpp.136.option.scope_target_local.description": "If selected, the analyzer will check local variables.",
  "rule.saqt.q.cpp.136.option.scope_target_local.name": "Check local variables",
  "rule.saqt.q.cpp.136.option.scope_target_parameter.description": "Check parameters",
  "rule.saqt.q.cpp.136.option.scope_target_parameter.name": "Check parameters",
  "rule.saqt.q.cpp.136.option.type_target_array.description": "If selected, the analyzer will check array types.",
  "rule.saqt.q.cpp.136.option.type_target_array.name": "Check array types",
  "rule.saqt.q.cpp.136.option.type_target_pointer.description": "If selected, the analyzer will check pointer types.",
  "rule.saqt.q.cpp.136.option.type_target_pointer.name": "Check pointer types",
  "rule.saqt.q.cpp.136.option.type_target_typedef.description": "If selected, the analyzer will check typedef types.",
  "rule.saqt.q.cpp.136.option.type_target_typedef.name": "Check typedef types",
  "rule.saqt.q.cpp.1360.description": "The Use of increment operator on boolean value checker finds instances of using the increment operator (++) on a boolean variable.\nDo not use the increment operator (++) on a boolean variable. Such practice is deprecated.\nDo not use the increment operator on a boolean variable. Assign it either true or false, or define and use a custom function like toggle(), set(), or clear().",
  "rule.saqt.q.cpp.1360.example.0.dangerous": "Line 2: An increasement operator is used for a boolean variable.",
  "rule.saqt.q.cpp.1360.example.0.safe": "Line 2: Directly assign true or false. Or define a custom function.",
  "rule.saqt.q.cpp.1360.name": "Use of increment operator on boolean value",
  "rule.saqt.q.cpp.1364.description": "The Casting from integer type to enumeration type checker finds instances of casting an integer to an enumerator.\nDo not cast an integer to an enumerator. It is not defined what value the cast will return if the integer does not fall within the range of enumerator values. This may lead to an overflow or result in an unpredictable output.\nIt can cause unexpected behavior.\nDo not cast an integer to an enumerator.",
  "rule.saqt.q.cpp.1364.example.0.dangerous": "Line 4: A casting is performed on an integer which is out-of-range of enum.",
  "rule.saqt.q.cpp.1364.example.0.safe": "Line 3: Avoid casting on an integer.",
  "rule.saqt.q.cpp.1364.name": "Casting from integer type to enumeration type",
  "rule.saqt.q.cpp.1365.description": "The Implicit conversion of class template checker finds expressions that implicitly cast between unrelated class templates.\nAn implicit cast may occur between unrelated class templates if a relevant operator is provided.\nEach instantiated class template has its own type. Class templates such as smart pointers often provide an implicit conversion operator used for null comparison. This conversion operator enables comparison between different types, which may be undesired behavior.\nRemove the operator that may cause implicit casts between unrelated class templates.",
  "rule.saqt.q.cpp.1365.example.0.dangerous": "Line 5: An implicit casting operator in void* type is implemented.\nLine 10: Different pointer types are compared. No compiling error is found.",
  "rule.saqt.q.cpp.1365.example.0.safe": "Line 1: Remove an implicit casting operator from a class.\nLine 9: Compiling error will occur due to comparison between different types.",
  "rule.saqt.q.cpp.1365.name": "Implicit conversion of class template",
  "rule.saqt.q.cpp.1366.description": "The Conflicting method in class template checker finds declarations of template methods that can be potentially conflicting when the template is instantiated.\nIn case of conflicts occurring between methods while a template class is instantiated, the compilation will fail.\nDo not define potentially conflicting methods in a template class. One workaround for this is to use a different method name or use template specialization. ",
  "rule.saqt.q.cpp.1366.example.0.dangerous": "Line 4: A function() method that uses a template type as an argument is declared.\nLine 5: A generic function() that uses an int type as an argument is declared.\nLine 8: A template object in int type is created. This declaration leads to an compilation error.",
  "rule.saqt.q.cpp.1366.example.0.safe": "Line 4: Remove all methods that conflict with the method declaration that uses a template type as an argument.",
  "rule.saqt.q.cpp.1366.name": "Conflicting method in class template",
  "rule.saqt.q.cpp.1367.description": "The Derived class object in container for base class object checker finds expressions that store a derived class object in a container holding objects of the base class.\nA container is a C++ standard library object that stores a collection of various data types. Vectors are one example.\nA derived class object stored in a container can cause a slicing issue. Containers conduct a lot of copy assignment operations internally. But fields belong to derived classes may remain uncopied.\nMake sure that a derived class object is not stored in a container that holds objects of the base class. If this implementation is needed, store the derived class object by pointer, not by value.",
  "rule.saqt.q.cpp.1367.example.0.dangerous": "Line 10: A child class object is located in a container that stores its parent class object.",
  "rule.saqt.q.cpp.1367.example.0.safe": "Line 10: Store the object as a pointer rather than a value.",
  "rule.saqt.q.cpp.1367.name": "Derived class object in container for base class object",
  "rule.saqt.q.cpp.1368.description": "The Comparing size of container with zero checker finds instances of checking the return of the size() function against zero.\nComparing the size of a container against zero is to check if it contains any element; size(), however, can have linear time complexity depending upon the type of the container. In contrast, empty() has constant time complexity and thus its use is more preferable if the comparison is only to check if the container is empty.\nUse empty() when checking a container for being empty.",
  "rule.saqt.q.cpp.1368.example.0.dangerous": "Line 2: A linear time complexity occurs in size() function as list container does not evaluate the number of elements in advance.",
  "rule.saqt.q.cpp.1368.example.0.safe": "Line 2: A constant time complexity occurs in empty() function Then, the same action as comparing a result of size() to zero is performed.",
  "rule.saqt.q.cpp.1368.name": "Comparing size of container with zero",
  "rule.saqt.q.cpp.1369.description": "The Use of STL container as public base class checker finds classes that inherit from an STL container.\nDo not use an STL container as a base class from which a class is derived.\nNo STL container is designed to be an inheritable class. For example, the destructor of an STL container is not virtual. If derived from an STL container, the destructor can cause a slicing issue that leaves the derived class's member fields not properly handled.\nDo not declare a class derived from an STL container. If an STL container is needed in a class, declare it as a field instead of using it as a base class.",
  "rule.saqt.q.cpp.1369.example.0.dangerous": "Line 1: An STL container, vector, is inherited.",
  "rule.saqt.q.cpp.1369.example.0.safe": "Line 1: Do not inherit the vector.",
  "rule.saqt.q.cpp.1369.name": "Use of STL container as public base class",
  "rule.saqt.q.cpp.137.description": "The Use of forbidden pointer type checker finds instances of declaring a pointer variable as an unspecified data type.\nYou can optionally specify allowable variable types, whether to check local variables, whether to check arguments, and whether to check redefined types.\nMake sure pointer variables are declared as a specified data type.",
  "rule.saqt.q.cpp.137.example.0.dangerous": "Line 1: Variable a is not declared as a data type specified in option.",
  "rule.saqt.q.cpp.137.example.0.safe": "Line 1: Declare the variable a as a specified data type.",
  "rule.saqt.q.cpp.137.name": "Use of forbidden pointer type",
  "rule.saqt.q.cpp.137.option.allowed_variable_type.description": "Allowed variables types",
  "rule.saqt.q.cpp.137.option.allowed_variable_type.name": "Allowed variables types",
  "rule.saqt.q.cpp.137.option.expand_typedef.description": "If selected, the analyzer will check typedef types.",
  "rule.saqt.q.cpp.137.option.expand_typedef.name": "Check typedef types",
  "rule.saqt.q.cpp.137.option.scope_target_local.description": "If selected, the analyzer will check local variables.",
  "rule.saqt.q.cpp.137.option.scope_target_local.name": "Check local variables",
  "rule.saqt.q.cpp.137.option.scope_target_parameter.description": "Check parameters",
  "rule.saqt.q.cpp.137.option.scope_target_parameter.name": "Check parameters",
  "rule.saqt.q.cpp.1370.description": "The Creation of container of auto_ptr checker finds declarations of variables that store an auto_ptr in a container.\nA container is a C++ standard library object that stores a collection of various data types. Vectors are one example.\nBy nature of its implementation, a copy of it is not equal to the original. Containers conduct a lot of copy assignment operations internally. Containers of auto_ptr, therefore, are highly possible to cause abnormal behavior.\nDo not store an auto_ptr in a container. If a smart pointer needs to be put in a container, use a reference-counting smart pointer.",
  "rule.saqt.q.cpp.1370.example.0.dangerous": "Line 1: A vec variable is declared to put auto_ptr in a container.\nLine 3: The vec[0] is internally including a null pointer after obj1 initialization.",
  "rule.saqt.q.cpp.1370.example.0.safe": "Line 1: Use shared_ptr, a smart pointer that supports reference counting.",
  "rule.saqt.q.cpp.1370.name": "Creation of container of auto_ptr",
  "rule.saqt.q.cpp.1371.description": "The Use of vector of boolean type checker finds declarations of variables that store a boolean object in a vector.\nVectors of boolean objects are not compliant with the standard container requirements. They are highly possible to malfunction in STL algorithms.\nDo not store objects of a boolean type in a vector. If a set of boolean objects is needed, store them in a bitset instead.",
  "rule.saqt.q.cpp.1371.example.0.dangerous": "Line 1: A variable is declared to put a bool type in a vector.",
  "rule.saqt.q.cpp.1371.example.0.safe": "Line 1: Use a bitset instead of the vector.",
  "rule.saqt.q.cpp.1371.name": "Use of vector of boolean type",
  "rule.saqt.q.cpp.1372.description": "The Violation of naming rule for identifier checker finds identifiers that start with the underscore symbol (_).\nIdentifiers should not start with an underscore. Identifiers that are named this way are usually those belonging to the standard library.\nDo not use an underscore as the first character of an identifier.",
  "rule.saqt.q.cpp.1372.example.0.dangerous": "Line 1: An identifier starts with an underbar.",
  "rule.saqt.q.cpp.1372.example.0.safe": "Line 1: Start an identifier with characters other than underbar.",
  "rule.saqt.q.cpp.1372.name": "Violation of naming rule for identifier",
  "rule.saqt.q.cpp.1378.description": "The Extern variable and function declaration in source file checker finds instances of declaring an extern variable or function not in an interface file.\nOnce the extern item is placed to other than the interface file, it is hard to identify its location. Then, an unexpected result may occur by complexed statements.\nEnsure to declare the extern variable or function within the interface file.",
  "rule.saqt.q.cpp.1378.example.0.dangerous": "Line 4: An extern variable and function is defined in a source file.",
  "rule.saqt.q.cpp.1378.example.0.safe": "Line 4: Define the extern variable and function in a header file.",
  "rule.saqt.q.cpp.1378.name": "Extern variable and function declaration in source file",
  "rule.saqt.q.cpp.1379.description": "The Use of magic number checker finds occurrences of a magic number or string that are directly used in code, instead of being represented by a symbolic constant.\nIf a magic number or string is used directly in code, a change to it requires a fix on every occurrence of it throughout the code. This undermines code maintainability and may cause unexpected behavior.\nUse a constant instead of a magic number or string.",
  "rule.saqt.q.cpp.1379.example.0.dangerous": "Line 2: A magic number is used to set the size of buf array.",
  "rule.saqt.q.cpp.1379.example.0.safe": "Line 3: Use a symbolic constant to set the size of buf array.",
  "rule.saqt.q.cpp.1379.name": "Use of magic number",
  "rule.saqt.q.cpp.138.description": "The Use of forbidden user defined type checker finds instances in which a variable or parameter is declared as a data type that has been redefined by typedef but the name of the redefined type is not included in the optional list.\nYou can optionally specify allowable variable types, whether to check local variables, and whether to check parameters.\nType redefinitions using typedef should take an optionally specified data type.",
  "rule.saqt.q.cpp.138.example.0.dangerous": "Line 1: A forbidden type S64 is used to redefine.",
  "rule.saqt.q.cpp.138.example.0.safe": "Line 1: Use the allowed type S32 to redefine.",
  "rule.saqt.q.cpp.138.name": "Use of forbidden user defined type",
  "rule.saqt.q.cpp.138.option.allowed_variable_type.description": "Allowed variable types",
  "rule.saqt.q.cpp.138.option.allowed_variable_type.name": "Allowed variable types",
  "rule.saqt.q.cpp.138.option.scope_target_local.description": "If selected, the analyzer will check local variables.",
  "rule.saqt.q.cpp.138.option.scope_target_local.name": "Check local variables",
  "rule.saqt.q.cpp.138.option.scope_target_parameter.description": "Check parameters",
  "rule.saqt.q.cpp.138.option.scope_target_parameter.name": "Check parameters",
  "rule.saqt.q.cpp.1380.description": "The Missing void keyword checker finds function declarations that have no arguments but do not include the void keyword in the argument list.\nWhen declaring a function with no arguments, you must specify \"void\" in the argument list. Without this keyword, some compilers do not give an error when the function is called with an argument passed in.\nWhen declaring a function with no arguments, specify \"void\" in the argument list.",
  "rule.saqt.q.cpp.1380.example.0.dangerous": "Line 1: A void keyword is not specified for a function with no argument.",
  "rule.saqt.q.cpp.1380.example.0.safe": "Line 1: A void keyword is specified for a function with no argument.",
  "rule.saqt.q.cpp.1380.name": "Missing void keyword",
  "rule.saqt.q.cpp.1382.description": "The Public class member variable checker finds class fields that have the public access specifier.\nDefining class fields as public violates object-oriented encapsulation. The possibility of modifying internal data without using an appropriate method poses potential problems.\nBe sure to apply the private access specifier to any class fields.",
  "rule.saqt.q.cpp.1382.example.0.dangerous": "Line 4: An m_lowerLimit field is declared as public.\nLine 5: An m_upperLimit field is declared as public.",
  "rule.saqt.q.cpp.1382.example.0.safe": "Line 4: Declare the m_lowerLimit field as private.\nLine 5: Declare the m_uppderLimit field as private.",
  "rule.saqt.q.cpp.1382.name": "Public class member variable",
  "rule.saqt.q.cpp.1382.option.check_protected.description": "If it checked, analyzer will detected protected member variables as defects.",
  "rule.saqt.q.cpp.1382.option.check_protected.name": "Check protected member variables",
  "rule.saqt.q.cpp.1383.description": "The Undeclared constructor checker finds classes that define no explicit constructor.\nIf no constructor is defined in a class, the compiler implicitly creates a constructor. The implicit constructor, however, may not be capable of initializing objects that demand special initialization operations.\nMake sure each class defines at least one explicit constructor.",
  "rule.saqt.q.cpp.1383.example.0.dangerous": "Line 1: A constructor is not defined in CPolygon class.\nLine 3: An m_numberOfSides field cannot be initialized.",
  "rule.saqt.q.cpp.1383.example.0.safe": "Line 8: Define the class constructor.",
  "rule.saqt.q.cpp.1383.name": "Undeclared constructor",
  "rule.saqt.q.cpp.1384.description": "The Undeclared destructor checker finds classes that do not define an explicit destructor.\nIf no destructor is defined in a class, the compiler implicitly creates a destructor. The implicit destructor, however, cannot properly handle objects that demand special destruction operations. For example, fields that are dynamically allocated in the constructor will cause a memory leak unless deallocated in the destructor.\nMake sure each class defines an explicit destructor.",
  "rule.saqt.q.cpp.1384.example.0.dangerous": "Line 1: A destructor is not defined in class declaration.\nLine 10: m_name is initialized by dynamic allocation in a constructor. But memory leaks is caused by the absence of a destructor.",
  "rule.saqt.q.cpp.1384.example.0.safe": "Line 10: Define the destructor to normally free the m_name initialized by dynamic allocation.",
  "rule.saqt.q.cpp.1384.name": "Undeclared destructor",
  "rule.saqt.q.cpp.1386.description": "The Undeclared copy constructor checker finds classes that do not define an explicit copy constructor.\nIf no copy constructor is defined in a class, the compiler implicitly creates a copy constructor. The implicit copy constructor, however, cannot properly handle objects that demand special copy operations. This issue is mainly related with shallow copying, which copies only the class object being cloned, not the objects that its member pointers point to.\nMake sure each class defines an explicit copy constructor.",
  "rule.saqt.q.cpp.1386.example.0.dangerous": "Line 1: A copy constructor is not defined in class declaration.An error related to shallow copy has been found.\nLine 6: When a temporary object passed by value is deleted, the value of m_name is destroyed. m_name of CName object is invalid before a function call.",
  "rule.saqt.q.cpp.1386.example.0.safe": "Line 8: Define a copy constructor to solve the shallow copy problem.",
  "rule.saqt.q.cpp.1386.name": "Undeclared copy constructor",
  "rule.saqt.q.cpp.1387.description": "The Undeclared assignment operator checker finds classes that do not define an explicit copy assignment operator.\nIf no copy assignment operator is defined in a class, the compiler implicitly creates a copy assignment operator. The implicit copy assignment operator, however, cannot properly handle objects that demand special copy operations. This issue is mainly related with shallow copying, which copies only the class object being cloned, not the objects that its member pointers point to.\nMake sure each class defines an explicit copy assignment operator.",
  "rule.saqt.q.cpp.1387.example.0.dangerous": "Line 1: A copy assignment operator is not defined in class declaration.An error related to shallow copy has been found.\nLine 12: When a copy object is deleted at the end of a function, a m_name pointer is destroyed as well, just like name.m_name.",
  "rule.saqt.q.cpp.1387.example.0.safe": "Line 8: Define a copy assignment operator to solve the shallow copy problem.",
  "rule.saqt.q.cpp.1387.name": "Undeclared assignment operator",
  "rule.saqt.q.cpp.1388.description": "The Improperly overloaded assignment operator checker finds overloads of the copy assignment operator that do not return a reference.\nAny overload of the copy assignment operator must return a reference. Only with a copy assignment operator returning by reference, consecutive assignments are possible.\nWhen overloading a copy assignment operator, be sure to declare it to return a reference.",
  "rule.saqt.q.cpp.1388.example.0.dangerous": "Line 1: A return type of an overloaded copy assignment operator is not reference.",
  "rule.saqt.q.cpp.1388.example.0.safe": "Line 1: Overload the copy assignment operator by declaring it as reference type.",
  "rule.saqt.q.cpp.1388.name": "Improperly overloaded assignment operator",
  "rule.saqt.q.cpp.1389.description": "The Non-member asymmetric operator checker finds asymmetric operators that are not declared as methods.\nBesides being methods, asymmetric operators can be declared as friends or regular functions.\nMethods are basically asymmetrical and the most suitable as asymmetric operators in which the left operand will always be an object of the class.  For example, in the case of any overload of the asymmetric -> operator, the left operand must be the exact type for which the operator is overloaded; hence, it can ideally be implemented as a class method.\nWhen overloading an asymmetric operator, be sure to declare it as a regular method.",
  "rule.saqt.q.cpp.1389.example.0.dangerous": "Line 4:-> The operator overloading is declared as friend.\nLine 6:-> The operator overloading is declared as a regular function.",
  "rule.saqt.q.cpp.1389.example.0.safe": "Line 4: Declare operator overloading as a method.",
  "rule.saqt.q.cpp.1389.name": "Non-member asymmetric operator",
  "rule.saqt.q.cpp.139.description": "The Missing check of array index checker finds instances in which a parameter represents an array index but its value is not validated.\nWhen handling array indexing, the possibility of a buffer overrun needs to be always considered. Attackers can cause a buffer overrun leading to a program malfunction or shutdown.\nArray index values assumed by a parameter must be validated before used.",
  "rule.saqt.q.cpp.139.example.0.dangerous": "Line 3: An unvalidated parameter, index, is used as an index of array arr.",
  "rule.saqt.q.cpp.139.example.0.safe": "Line 4: Validate the parameter through conditional statements to use it as the index of array arr.",
  "rule.saqt.q.cpp.139.name": "Missing check of array index",
  "rule.saqt.q.cpp.1390.description": "The Non-friend symmetric operator checker finds declarations of symmetric operators to which the friend keyword is not applied.\nDeclarations of the assignment operator are not subject to checking by this checker.\nIf a symmetric operator needs to take a left operand that is not of the class type, it should be overloaded as a friend method so that other classes can access it.\nUnless it is an assignment operator, any overloaded symmetric operator must be declared with the friend keyword.",
  "rule.saqt.q.cpp.1390.example.0.dangerous": "Line 2: + operator overloading is not declared as friend.",
  "rule.saqt.q.cpp.1390.example.0.safe": "Line 2: Declare the overloading operator as friend.",
  "rule.saqt.q.cpp.1390.name": "Non-friend symmetric operator",
  "rule.saqt.q.cpp.1391.description": "The Improper memory reallocation checker finds calls to the realloc() function in which the same variable is used both as a variable storing the return of the function and as the first argument passed to the function.\nIf failing in memory reallocation, realloc() discards previously allocated memory and returns null. Therefore, if the return of realloc() is stored to the same variable as the first argument passed to the function, the variable may be assigned null and lose the address pointing to the previously allocated memory in case of failure in memory reallocation. This may cause the memory to be leaked.\nWhen calling realloc(), you need to store its return to a different pointer variable and check the return for null. If the return is not null, it means the reallocation is successful and you can overwrite it to the variable storing the previous memory allocation.",
  "rule.saqt.q.cpp.1391.example.0.dangerous": "Line 1: A return value of realloc() function is stored to a variable, the first argument.",
  "rule.saqt.q.cpp.1391.example.0.safe": "Line 1: Store a return value of realloc() function to a variable other than the first argument.",
  "rule.saqt.q.cpp.1391.name": "Improper memory reallocation",
  "rule.saqt.q.cpp.1393.description": "The Modification of constant value checker finds code that modifies a value of const-qualified variables.\nAlthough it is syntactically impossible to assign a value to a const variable, there are some workarounds such as the use of a pointer operation to indirectly modify the variable. However, this leads to a different result from the developer's intention that is not to change the value by declaring the variable as const. Also, you can see cases where const is declared to the reference of reference type. Then, the modifier will be ignored and its value can be modified. When const is declared to the reference type itself, its value cannot be modified. So, after compiling code, this problem will not matter.\nDo not allow const variables to change their value in any way.",
  "rule.saqt.q.cpp.1393.example.0.dangerous": "Line 7: A const object i is modified.\nLine 9: A const type is used for reference of the reference type. const will be ignored.",
  "rule.saqt.q.cpp.1393.example.0.safe": "Line 3: Do not declare i as const to modify its value.\nLine 9: Make sure to declare const in the type of reference type. Or, do not declare the variable to const.",
  "rule.saqt.q.cpp.1393.name": "Modification of constant value",
  "rule.saqt.q.cpp.1394.description": "The Mismatched type in ternary operation checker finds ternary operations in which the two conditional expressions mismatch in type.\nIn a ternary operation, either of the two conditional expressions can be selected according to the program's execution flow. Therefore, the two expressions must return the same type so that the return value can be consistently used regardless which expression is selected.\nMake sure the two selectable expressions return the same static type.",
  "rule.saqt.q.cpp.1394.example.0.dangerous": "Line 4: Types of two alternatives are different, such as int and float.",
  "rule.saqt.q.cpp.1394.example.0.safe": "Line 4: Ensure that the types of alternatives are matched.",
  "rule.saqt.q.cpp.1394.name": "Mismatched type in ternary operation",
  "rule.saqt.q.cpp.1395.description": "The Insufficient allocated memory checker finds instances of allocating memory not as much as needed to store an object.\nIf allocated memory is not large enough, a buffer overflow can occur when the memory is accessed.\nAllocate memory large enough to store an object.",
  "rule.saqt.q.cpp.1395.example.0.dangerous": "Line 6: A memory in multiple of int type is assigned to a pointer of long type. Its value is likely to be a float: handling the memory as an array with the number of len for long types.",
  "rule.saqt.q.cpp.1395.example.0.safe": "Line 6: Use sizeof(long) instead of sizeof(int) to assign efficient amount of memory for the array.",
  "rule.saqt.q.cpp.1395.name": "Insufficient allocated memory",
  "rule.saqt.q.cpp.1396.description": "The Use of #pragma directive checker finds instances of using #pragma, which is a preprocessor directive used to access compiler- or platform-specific preprocessor extensions.\nUsing compiler-specific language or preprocessor extensions undermines code portability.\nDo not use #pragma statements.",
  "rule.saqt.q.cpp.1396.example.0.dangerous": "Line 1: #pragma is used.\nLine 6 #pragma is used.",
  "rule.saqt.q.cpp.1396.example.0.safe": "Line 1: Do not use #pragma.",
  "rule.saqt.q.cpp.1396.name": "Use of #pragma directive",
  "rule.saqt.q.cpp.1397.description": "The Empty statement without comment checker finds instances of using an empty statement in a non-allowed way.\nIn most cases, an empty statement is not needed and thus should not be used. However, its use is exceptionally allowed if it meets the following requirements: The empty statement is placed alone in a single line with no preceding space for indentation. The empty statement is followed by one or more separator spaces and then a trailing comment in the same line.\nUse empty statements only in a way that meets the requirements, do not use them at all.",
  "rule.saqt.q.cpp.1397.example.0.dangerous": "Line 2: No comment is found after an empty statement.",
  "rule.saqt.q.cpp.1397.example.0.safe": "Line 2: Put a whitespace and comment after the empty statement.",
  "rule.saqt.q.cpp.1397.name": "Empty statement without comment",
  "rule.saqt.q.cpp.1398.description": "The Name in standard library checker finds instances in which a custom definition in a source file uses an identifier used by the standard library.\nIn most cases, applying #undef to a standard library macro is a bad practice. Also, it is preferable to avoid reusing a macro name for a reserved word in C/C++ or a name of a standard library object or function because it can cause confusion.\nWhen naming an object or function, avoid using an identifier used by the standard library.",
  "rule.saqt.q.cpp.1398.example.0.dangerous": "Line 1: An identifier with a name of standard library function strcmp() is included in string.h header.",
  "rule.saqt.q.cpp.1398.example.0.safe": "Line 1: Modify the identifier with a name of standard library.",
  "rule.saqt.q.cpp.1398.name": "Name in standard library",
  "rule.saqt.q.cpp.1399.description": "The Use of friend function and class checker finds class declarations that use the friend keyword.\nA friend declaration increases dependency between the classes, complicates the interface, and undermines encapsulation.\nDo not use a friend declaration.",
  "rule.saqt.q.cpp.1399.example.0.dangerous": "Line 7: friend() function is declared.\nLine 8: A friend class is declared.",
  "rule.saqt.q.cpp.1399.example.0.safe": "Line 7: Do not declare the friend function and its class.",
  "rule.saqt.q.cpp.1399.name": "Use of friend function and class",
  "rule.saqt.q.cpp.140.description": "The Improper comparison of condition  checker finds if or while statements in which a comparison operation does not compare with a value of 0 or false.\nYou can optionally specify values.\nIn conditional statements, the comparison operations must be to compare with a value of 0 or true/false.",
  "rule.saqt.q.cpp.140.example.0.dangerous": "Line 2: A value is compared to boolean with a forbidden constant 1.",
  "rule.saqt.q.cpp.140.example.0.safe": "Line 2: Compare the value to boolean with allowed values.",
  "rule.saqt.q.cpp.140.name": "Improper comparison of condition",
  "rule.saqt.q.cpp.140.option.allowed_equality_value.description": "set up allowed equality comparision values with regular expression",
  "rule.saqt.q.cpp.140.option.allowed_equality_value.name": "Allowed equality comparision value",
  "rule.saqt.q.cpp.1400.description": "The Missing Casting to larger type checker finds comparison and arithmetic operations that are performed on integers without casting them to have an appropriate range of expression.\nIf an operation on integers is performed without casting to a type wide enough to store the resulting value, an integer overflow may occur to return an unexpected value.\nBefore performing an operation on integers, be sure to cast to a type wide enough to store the resulting value. And in the case of a comparison between integers, a cast is needed to ensure they have the same range of expression.",
  "rule.saqt.q.cpp.1400.example.0.dangerous": "Line 6: A result of comparison will be always false when size_t type represent smaller scopes of unsigned long long type. If no integer overflow is evaluated from the left of comparison, the result is less than SIZE_MAX. A result larger than the SIZE_MAX is evaluated to a smaller value due to the integer overflow.",
  "rule.saqt.q.cpp.1400.example.0.safe": "Line 2: Ensure to perform a correct casting before comparison or arithmetic operation.",
  "rule.saqt.q.cpp.1400.name": "Missing Casting to larger type",
  "rule.saqt.q.cpp.1401.description": "The Casting from void pointer type to non-void pointer type checker finds instances of casting a void pointer to another pointer.\nThe C standard allows casting a void pointer to another pointer. However, because a void pointer can point to any memory address regardless of the value stored therein, the cast can go wrong depending on the type of the value. For example, if a double-type pointer points to a memory location where an integer value is stored, it is an invalid cast.\nDo not use a void pointer unless it is unavoidable; if its use is necessary, you should thoroughly manage the type of the value stored in the memory address being pointed to.",
  "rule.saqt.q.cpp.1401.example.0.dangerous": "Line 3: A function returns a void pointer instead of int pointer.\nLine 6: A char is implicitly cast to a void pointer, then passed to an argument.",
  "rule.saqt.q.cpp.1401.example.0.safe": "Line 1: Do not use a void pointer.",
  "rule.saqt.q.cpp.1401.name": "Casting from void pointer type to non-void pointer type",
  "rule.saqt.q.cpp.1403.description": "The Missing reset of string on failure checker finds instances in which a file read function fails but the string buffer to store the function's return is not initialized.\nIf a call to the fgets() or fgetws() function fails, the destination string buffer must be initialized.\nThe C standard does not define how the fgets() or fgetws() function's destination buffer should be handled while the function failed to read a file. Therefore, unable to predict a value the buffer will take when reading file fails. As the buffer can possibly store an abnormal value, do not use its value but initialize the butter to a known value.\nMake sure to check that the file read succeed, and in case of failure, the destination buffer needs to be initialized.",
  "rule.saqt.q.cpp.1403.example.0.dangerous": "Line 6: A buf array is not initialized into a known value.",
  "rule.saqt.q.cpp.1403.example.0.safe": "Line 6: Initialize the buf array to represent an empty string.",
  "rule.saqt.q.cpp.1403.name": "Missing reset of string on failure",
  "rule.saqt.q.cpp.1405.description": "The Missing check of array length checker finds declarations of variable-length arrays (VLAs) whose length is not properly controlled.\nA variable-length array (VLA) not appropriately controlled in length can cause excessive use of stack memory.\nBe sure to declare a VLA with an appropriately controlled length.",
  "rule.saqt.q.cpp.1405.example.0.dangerous": "Line 2: A variable-length array is declared without checking a variable value for the array size.",
  "rule.saqt.q.cpp.1405.example.0.safe": "Line 4: Check the variable value for the array size.",
  "rule.saqt.q.cpp.1405.name": "Missing check of array length",
  "rule.saqt.q.cpp.1406.description": "The Use of void return type checker finds attempts at using the return of a function declared void.\nUsing the return of a void type function is undefined in the C standard.\nYou must not try using a void-type function in an expression or assign it to a variable. Generally, void functions are recommended to be invoked only in a separate call statement.",
  "rule.saqt.q.cpp.1406.example.0.dangerous": "Line 7: A void type of value returned by function() is used.",
  "rule.saqt.q.cpp.1406.example.0.safe": "Line 6: Modify the function() to a calling statement.",
  "rule.saqt.q.cpp.1406.name": "Use of void return type",
  "rule.saqt.q.cpp.1407.description": "The Ineffective statement checker finds statements that have no side effects.\nA side effect refers to a side modification that an expression makes to the program's memory status which leads to influencing the evaluation of other expressions.\nStatements with no side effects does not affect the program's execution flow even if they are removed. It is preferable to remove them as they only consume computing resources.\nRemove statements with no side effects.",
  "rule.saqt.q.cpp.1407.example.0.dangerous": "Line 5: No efficient result is found from this line.\nLine 6: No efficient result is found from this line.",
  "rule.saqt.q.cpp.1407.example.0.safe": "Line 4: Remove inefficient lines. Momory usage is required to be changed by running each statement.",
  "rule.saqt.q.cpp.1407.name": "Ineffective statement",
  "rule.saqt.q.cpp.1408.description": "The Pointer dereference operation in type definition checker finds instances in which a dereference operation is hidden by defining it as a custom type.\nBecause pointer dereferences can easily cause errors, they need to be written as expressly as possible. This helps co-developers notice those dereferences in code and check for mistakes around them.\nDo not define pointer dereferences as custom types but use them expressly.",
  "rule.saqt.q.cpp.1408.example.0.dangerous": "Line 1: Pointer dereference is hidden in custom type declaration with typedef.",
  "rule.saqt.q.cpp.1408.example.0.safe": "Line 1: Avoid hiding pointer dereference in custom type declaration.",
  "rule.saqt.q.cpp.1408.name": "Pointer dereference operation in type definition",
  "rule.saqt.q.cpp.1409.description": "The Lost of precision in integer casting checker finds instances of casting an integer to a floating-point number that can cause loss of precision due to the difference in their range of possible values.\nIf an integer is cast to a floating-point type whose range is not wide enough to accommodate all possible values, the cast may fail when the original integer value exceeds the range of the destination type. When using a Visual Studio or GCC compiler, for example, casting to a float type will discard the least significant bits if the target number being cast is larger than 2 to the power of 24.\nWhen casting an integer to a floating-point type, make sure the destination type is wide enough to accommodate all possible values. If the range of the original integer type is unknown, it is safe to use a double type instead of a float type.",
  "rule.saqt.q.cpp.1409.example.0.dangerous": "Line 2: Casting to a float type can be performed on a value up to 2^24.\nLine 3: Casting to a float type can be performed on a value above 2^24. Then, the last digit of its binary has been lost. Thus, another casting to a int has resulted to 16777216, which is different from its source.\nLine 4: Another casting from int to float can represent a value above 2^24.Precession loss can occur based on a value of big variable.",
  "rule.saqt.q.cpp.1409.example.0.safe": "Line 3: Use a float with enough precession to store a constant above 2^24.\nLine 4: Use a float with enough precession.",
  "rule.saqt.q.cpp.1409.name": "Lost of precision in integer casting",
  "rule.saqt.q.cpp.141.description": "The Missing check of debug mode checker finds instances of failure to check for debug mode before a call to a debugging function.\nYou can optionally specify a list of debugging functions and a list of debug-mode checking functions.\nA call to a debugging function must be preceded by a call to a function that checks for debug mode.",
  "rule.saqt.q.cpp.141.example.0.dangerous": "Line 2: debug() function is called without checking for debug mode.",
  "rule.saqt.q.cpp.141.example.0.safe": "Line 2: Call debug_check() function to check for the debug mode in conditional statements before calling the debug().",
  "rule.saqt.q.cpp.141.name": "Missing check of debug mode",
  "rule.saqt.q.cpp.141.option.check_function.description": "Belows are functions to check functions for debugging.",
  "rule.saqt.q.cpp.141.option.check_function.name": "Functions to check functions for debugging",
  "rule.saqt.q.cpp.141.option.debug_function.description": "Belows are functions for debugging.",
  "rule.saqt.q.cpp.141.option.debug_function.name": "Functions for debugging",
  "rule.saqt.q.cpp.1412.description": "The Use of macro as instance checker finds instances in which a standard library identifier that might have been taken as a macro name is treated as an object.\nA standard library function or variable can be declared not only as a function or variable but as a macro as well. If an identifier is used for a macro declaration, treating this identifier as an object, such as performing a reference operation on it for example, can cause unexpected behavior of the program.\nIf a standard library identifier might possibly have been declared as a macro, do not treat this as an object but use it in accordance with the standard library's guidelines.",
  "rule.saqt.q.cpp.1412.example.0.dangerous": "Line 6: assert() function is used to get a function pointer through reference operation. However, depending on compilers, the assert() function can be defined as a macro, which causes an undefined action.",
  "rule.saqt.q.cpp.1412.example.0.safe": "Line 9: Do not handle the assert() function as an object. To pass the assert() function in form of function pointer, define a new function with the assert().",
  "rule.saqt.q.cpp.1412.name": "Use of macro as instance",
  "rule.saqt.q.cpp.1413.description": "The Missing class member assignment checker finds copy assignment operators in which any of the class's member fields is not assigned a value.\nUnassigned fields are not copied by a copy assignment between class objects. This may cause an unstable execution of the program.\nMake sure that all fields of the class are assigned in the copy assignment operator. Alternatively, you can use a function copying a value to each field.",
  "rule.saqt.q.cpp.1413.example.0.dangerous": "Line 3: The value2 is not copied.\nLine 4: A value is assigned to value1.\nLine 5: A value is assigned to value3.",
  "rule.saqt.q.cpp.1413.example.0.safe": "Line 4: A value is assigned to value1.\nLine 5: A value is assigned to value2.\nLine 6: A value is assigned to value3.",
  "rule.saqt.q.cpp.1413.name": "Missing class member assignment",
  "rule.saqt.q.cpp.1414.description": "The OMissing class member assignment checker finds instances in which a derived class's copy assignment operator does not invoke its base class's copy assignment operator.\nUnassigned fields are not copied by a copy assignment between class objects. This may cause an unstable execution of the program. Because the fields of the base class also must be assigned, the base class's copy assignment operator should be invoked.\nMake sure that the copy assignment operator invokes its base class's copy assignment operator.",
  "rule.saqt.q.cpp.1414.example.0.dangerous": "Line 6: A copy assignment operator of a Base class is not called. Then, the base class is not copied.",
  "rule.saqt.q.cpp.1414.example.0.safe": "Line 7: Call the copy assignment operator of the Base class.",
  "rule.saqt.q.cpp.1414.name": "Missing class member assignment",
  "rule.saqt.q.cpp.1417.description": "The Misuse of rename checker finds calls to the rename() function that are made without handling the possibilities of duplicate filenames.\nThe C standard allows compiler-specific definitions of consequences of calling rename(). When rename() is called on a file with an existing filename, POSIX systems replace the existing file while Windows systems cause the rename() call to fail. This difference causes a portability issue if rename() is called alone.\nUse it together with other functions to clarify what is intended with the function call. If existing functions are intended to be preserved, the rename() call needs to be preceded by an access() call to check for a duplicate filename taking into consideration use in a POSIX environment. In contrast, if existing functions are intended to be replaced, the rename() call needs to be preceded by a remove() call to remove those existing files in advance taking into consideration use in a Windows environment.",
  "rule.saqt.q.cpp.1417.example.0.dangerous": "Line 1: POSIX environment removes existing files intended to store. On the other hand, an action to remove the files has been failed in Windows.",
  "rule.saqt.q.cpp.1417.example.0.safe": "Line 2: Check a file to apply to POSIX.\nLine 9: Use remove() function, and remove traditional files to apply to Windows.",
  "rule.saqt.q.cpp.1417.name": "Misuse of rename",
  "rule.saqt.q.cpp.1417.option.is_preserved_existing_file.description": "Preserve existing destination file when set checkbox. remove existing destination file when unset checkbox.",
  "rule.saqt.q.cpp.1417.option.is_preserved_existing_file.name": "Preserve existing destination file",
  "rule.saqt.q.cpp.1419.description": "The Performing operation on device checker finds instances of performing operations on devices that are only appropriated for files.\nFile names on many operating systems may be used to access special files, which are actually devices. Performing operations on device files that are intended for ordinary files can result in crashes and denial-of-service attacks.\nBefore opening a file or performing certain operations on it, determine if the file is a regular file, not a special device.",
  "rule.saqt.q.cpp.1419.example.0.dangerous": "Line 3: fopen() function is called with an unchecked string. The program can shut down abnormally by calling the fopen() function on a locked device or FIFO filename.\nLine 16: GetFileType() function is used. The program can fall into a wait state in certain cases due to the function.",
  "rule.saqt.q.cpp.1419.example.0.safe": "Line 3: Use lstat() function to check a file state.\nLine 8: Use open() function to return a file descriptor, and take a next step based on it.\nLine 13: Use fstat() function to check a file state.\nLine 21: Put a function to check that a file path is a reserved identifier of a device. The MSDN supports an identifier list related to devices such as com1.",
  "rule.saqt.q.cpp.1419.name": "Performing operation on device",
  "rule.saqt.q.cpp.1420.description": "The Wrong type of error checker finds error code return functions whose return type is not declared as errno_t.\nMany existing functions that return errno are declared as returning a value of type int. Although many of the standard library headers define the type of errno_t as int, declaring the function as returning an int makes it ambiguous whether the function is to return an errno error code or another meaningful integer.\nWhen declaring an error code return function, specify its return type as errno_t.",
  "rule.saqt.q.cpp.1420.example.0.dangerous": "Line 1: A return type of function is declared as int.\nLine 5: The function returns an errno.",
  "rule.saqt.q.cpp.1420.example.0.safe": "Line 1: Modify the return type into errno_t.",
  "rule.saqt.q.cpp.1420.name": "Wrong type of error",
  "rule.saqt.q.cpp.1421.description": "The Duplicated header file name checker finds header files whose name can be considered duplicate when interpreted according to the C99 standard.\nThe C99 standard specifies how to name header file names as follows: \"The implementation shall provide unique mappings for sequences consisting of one or more nondigits or digits (6.4.2.1) followed by a period (.) and a single nondigit. The first character shall not be a digit. The implementation may ignore distinctions of alphabetical case and restrict the mapping to eight significant characters before the period.\" Failure to comply with this can cause ambiguous interpretation by C99-compatible compilers when the code is ported to other platforms.\nName header file names in compliance with the C99 standard, and make sure that each header file name is unique in your project.",
  "rule.saqt.q.cpp.1421.example.0.dangerous": "Line 2: Pre_test.h header can be confused with above pre_test.h header.\nLine 4: When an header is identified by the first 8 characters, two headers can be considered as the same.\nLine 5: A number instead of character is used as an extension after a dot of header name.",
  "rule.saqt.q.cpp.1421.example.0.safe": "Line 2: Name headers to be identified with different characters, not their cases.\nLine 4: Name headers to be identified by the first 8 characters.\nLine 5: Use a character instead of number as an extension.",
  "rule.saqt.q.cpp.1421.name": "Duplicated header file name",
  "rule.saqt.q.cpp.1421.option.allow_long_file_name.description": "Header file names longer than eight characters can have when set checkbox.",
  "rule.saqt.q.cpp.1421.option.allow_long_file_name.name": "Allow long header file name",
  "rule.saqt.q.cpp.1423.description": "The Improper conversion of string token checker finds instances of converting a string to an integer without using a conversion function that provides reliable error handling.\nThere are some string-to-integer conversion functions including strtol(), strtoll(), strtoul(), and strtoull(), among which you can select according to the type of the resulting value you need. These functions return an errno error code if the conversion is failed, thereby informing you of the reason for failure. If a conversion function such as sscanf() or atoi() is used instead, it is hard to be aware of conversion failure and the reason for it.\nUse strtol() or its equivalent for easy error handling.",
  "rule.saqt.q.cpp.1423.example.0.dangerous": "Line 5: atoi() function is used to convert a string into an integer.\nLine 6: sscanf() function is used to convert a string into an integer.",
  "rule.saqt.q.cpp.1423.example.0.safe": "Line 6: Use strtol() function to convert a string into an integer.\nLine 7: Use strtoull() function to convert a string into an integer.",
  "rule.saqt.q.cpp.1423.name": "Improper conversion of string token",
  "rule.saqt.q.cpp.1424.description": "The Missing exception handling for floating point errors checker finds instances of failure to handle possible errors following a floating-point operation.\nErrors during floating-point operations are often neglected and lead to undefined behavior.\nOnce a floating-point operation is performed, call a relevant error handling function such as fetestexcept() to check for floating-point errors.",
  "rule.saqt.q.cpp.1424.example.0.dangerous": "Line 3: An error occurs on a value to store to variable due to mismatched representation scopes in types between a variable and value.\nLine 4: A division by zero occurs.",
  "rule.saqt.q.cpp.1424.example.0.safe": "Line 1: Use feclearexcept() function to clear existing error information.\nLine 3: Use fetestexcept() function to check a floating point operation error.\nLine 5: Use feclearexcept() function to clear existing error information.\nLine 7: Use fetestexcept() function to check a floating point operation error.",
  "rule.saqt.q.cpp.1424.name": "Missing exception handling for floating point errors",
  "rule.saqt.q.cpp.1425.description": "The Use of pointer operation on field checker finds instances of performing an arithmetic operation such as addition on a pointer to a struct or class's member field.\nIt is dangerous to apply arithmetic operation on a pointer to a struct or class's member field in order to point to another field. This attempt is prone to pointing to a wrong location since you can neither predict how each different compiler will insert padding between fields, nor be assured that the fields members are arranged consecutively.\nMake sure that the fields of a struct or class are referenced by a direct pointer operation.",
  "rule.saqt.q.cpp.1425.example.0.dangerous": "Line 7: A pointer addition is used for a pointer variable which references a field of struct.",
  "rule.saqt.q.cpp.1425.example.0.safe": "Line 6: Do not use a pointer to reference a field of struct. If needed, directly reference a field name.",
  "rule.saqt.q.cpp.1425.name": "Use of pointer operation on field",
  "rule.saqt.q.cpp.1426.description": "The Improper file opening and creation checker finds attempts at opening a file without knowledge of whether the target file already exists or not.\nThe fopen() function is used to open an existing file or to create a new file. An imprudent call to fopen() makes it hard to find out whether the resulting file is an existing file opened or a newly created file. This may result in the program accessing an unintended file or overwriting an existing file.\nWhen calling fopen(), pass an appropriate argument to prevent an overwrite or use fopen() instead.",
  "rule.saqt.q.cpp.1426.example.0.dangerous": "Line 3: A file is opened in w mode. You cannot identify which file you have opened when succeeding to open a file.",
  "rule.saqt.q.cpp.1426.example.0.safe": "Line 3: Open the file in wx mode. Then, a function to open an earlier file will be failed.",
  "rule.saqt.q.cpp.1426.name": "Improper file opening and creation",
  "rule.saqt.q.cpp.1427.description": "The Storing returned pointer to non-const variable checker finds instances in which a pointer returned by one of certain standard library functions is stored in a mutable variable.\nThese functions include getenv(), asctime(), localeconv(), setlocale(), and strerror().\nFor example, a pointer returned by getenv() shall not be mutable, and the object being pointed to must not be modified by the program.\nIf such a returned pointer should be used several times, store it in a constant pointer variable so that the value stored in the memory location pointed to should not be modified.",
  "rule.saqt.q.cpp.1427.example.0.dangerous": "Line 1: A return value of getenv() function is stored in a pointer.",
  "rule.saqt.q.cpp.1427.example.0.safe": "Line 1: Use a constant pointer to store the return value of getenv().",
  "rule.saqt.q.cpp.1427.name": "Storing returned pointer to non-const variable",
  "rule.saqt.q.cpp.143.description": "The Variable declaration in loop checker finds instances of declaring an object in a loop.\nYou can optionally specify object types to be ignored and variable names to be ignored.\nA declaration of a local variable iterating in a for or while loop may affect memory. A local variable declaration placed in a loop can allocate many variables in memory, leading to performance degradation.\nDo not declare an object in a loop. ",
  "rule.saqt.q.cpp.143.example.0.dangerous": "Line 3: Variable a is declared in for statement.",
  "rule.saqt.q.cpp.143.example.0.safe": "Line 1: Declare the variable out of the loop, such as the for statement.",
  "rule.saqt.q.cpp.143.name": "Variable declaration in loop",
  "rule.saqt.q.cpp.143.option.ignore_type_list.description": "Set ignore types",
  "rule.saqt.q.cpp.143.option.ignore_type_list.name": "Ignore types",
  "rule.saqt.q.cpp.143.option.ignore_var_list.description": "Set ignore variables name",
  "rule.saqt.q.cpp.143.option.ignore_var_list.name": "Ignore variables name",
  "rule.saqt.q.cpp.1430.description": "The Code deletion during compiler optimization checker finds compiler optimizations that may remove code for clearing sensitive data, which may allow for exposure of sensitive data.\nSome compilers can remove code deemed unused or unneeded when building a program depending on the optimization level. An example of unexpected and unwanted compiler optimizations involves a memory overwrite designed to clear sensitive data from the memory. As the memory area is no longer accessed following the write, some compilers may consider this write code section meaningless and thus can remove it. This can lead to the sensitive data being left uncleared and exposed through memory dumps.\nMake adjustments of the compiler's optimization or take other measures to protect critical code sections from being optimized away.",
  "rule.saqt.q.cpp.1430.example.0.dangerous": "Line 6: memset() function is used to clear data in pwd array. However, the statement can be removed in optimization.",
  "rule.saqt.q.cpp.1430.example.0.safe": "Line 6: Disable compiler optimization to prevent important code from clearing.",
  "rule.saqt.q.cpp.1430.name": "Code deletion during compiler optimization",
  "rule.saqt.q.cpp.1431.description": "The Use of va_arg on indeterminated value checker finds instances in which a variadic function passes its va_list object as an argument to another function, but va_arg() is called within that function to cause the va_list to have an indeterminate value in the calling function.\nThe C standard provides a safe approach to reusing a va_list object after passing it to another function. If this approach is not followed and a variadic function passes its va_list object to another function which then invokes va_arg() and va_end(), the original function cannot take further use of the original va_list after the other function returns.\nIf the va_list object needs to be passed to another function, create a pointer to the va_list and pass that pointer instead. And if you want to traverse this object in the other function, use the va_copy() macro to make a copy of the list and traverses the copy instead.",
  "rule.saqt.q.cpp.1431.example.0.dangerous": "Line 1: va_list object is passed by a variable argument function.\nLine 3: va_list object is used to va_arg() function. Then, the variable argument function which is called contains_zsero() cannot use a value of ap.",
  "rule.saqt.q.cpp.1431.example.0.safe": "Line 1: Use a pointer to pass va_list object of the variable argument function between functions.\nLine 3: Copy an object pointed by va_list pointer by using va_copy() function, initialize another va_list object, then, use the object to traverse variable arguments.",
  "rule.saqt.q.cpp.1431.name": "Use of va_arg on indeterminated value",
  "rule.saqt.q.cpp.1432.description": "The Violation of constraints of extern inline function checker finds instances in which an extern inline function accesses an object whose scope is not as wide as the function.\nA function declared extern inline should not access static global variables or other kinds of objects whose scope is limited only to the source file they belong to. When an inline function is called, the compiler tries to insert the function's whole code at the point of the call, instead of calling it actually. And declaring a function extern means it is allowed to be used across different source files. Therefore, if an extern inline function's definition includes access to a file-scope object, the possibility of inserting the exact code of the function into another source file contradicts the function's definition itself.\nMake sure that an extern inline function does not access a static object. Any object accessed by an extern inline function should not be declared static.",
  "rule.saqt.q.cpp.1432.example.0.dangerous": "Line 2: func() function is declared as extern inline.\nLine 3: An extern inline function accesses to a static global variable.",
  "rule.saqt.q.cpp.1432.example.0.safe": "Line 2: Do not declare a static object to be used by an extern inline function.",
  "rule.saqt.q.cpp.1432.name": "Violation of constraints of extern inline function",
  "rule.saqt.q.cpp.1433.description": "The Non-standard character checker finds string literals that include a non-standard character.\nThe standard characters include alphabetical letters, numbers, ASCII special characters, space, backspace, tab, and newline.\nString literals including a non-standard character can cause issues with portability.\nMake sure that string literals include only standard characters.",
  "rule.saqt.q.cpp.1433.example.0.dangerous": "Line 1: A non-standard character is used.",
  "rule.saqt.q.cpp.1433.example.0.safe": "Line 1: Use standard characters only.",
  "rule.saqt.q.cpp.1433.name": "Non-standard character",
  "rule.saqt.q.cpp.1439.description": "The Unused Parameter checker finds unused function parameters.\nEach time a function is called, its parameters consume computing resources and stack memory even if they do nothing but exist. Especially, when a parameter is a struct or class object that cannot be stored in a pointer or integer register, each call to the function requires a copying of the object, thereby leading to greater resource consumption. Therefore, unused parameters in a function undermine performance unnecessarily.\nRemove unused parameters from function declarations.",
  "rule.saqt.q.cpp.1439.example.0.dangerous": "Line 1: p2 parameter is found in f(), but not used.",
  "rule.saqt.q.cpp.1439.example.0.safe": "Line 1: Remove the unused parameter.",
  "rule.saqt.q.cpp.1439.name": "Unused Parameter",
  "rule.saqt.q.cpp.144.description": "The Use of do-while statement checker finds do-while statements.\nUse a while statement instead of a do-while statement.",
  "rule.saqt.q.cpp.144.example.0.dangerous": "Line 2: A do-while statement is used.",
  "rule.saqt.q.cpp.144.example.0.safe": "Line 2: A while statement is used instead of the do-while.",
  "rule.saqt.q.cpp.144.name": "Use of do-while statement",
  "rule.saqt.q.cpp.1441.description": "The Backward goto Statement checker finds goto statements that jump to an earlier label.\nA complicated use of a goto statement makes it hard to understand the function's control flow. Using a goto to jump to a later label is just to skip some fragment of code and does not create a new cycle in the control-flow graph, which does not cause much confusion. Jumping to an earlier label, in contrast, brings a new unconditional cycle, making the function confusing.\nRefrain from using a goto statement. Most calculations imaginable can be implemented only using branches and loops without a goto. Even if a goto is necessary to simplify code that would be extremely complicated without it, avoid a backward goto that jumps to an earlier label.",
  "rule.saqt.q.cpp.1441.example.0.dangerous": "Line 7: A goto statement jumps to predeclared L1 label. An infinite loop can occur in case of value above 10.",
  "rule.saqt.q.cpp.1441.example.0.safe": "Line 7: A goto statement jumps to L2 label declared later. Then, no cycle has been generated in control flows.",
  "rule.saqt.q.cpp.1441.name": "Backward goto Statement",
  "rule.saqt.q.cpp.1442.description": "The Jump between Blocks checker finds goto statements that jump from one block of code into a different block.\nA jump into a different block makes the control-flow graph complicated and may undermine code integrity in the block. Typically, a code block is written to achieve a complete task in the assumption that the whole block will be run from the top down. A goto jump into the middle of a block, however, results in the code block run with the earlier lines skipped.\nUse a goto only within the same block or for purposes of escaping the current block.",
  "rule.saqt.q.cpp.1442.example.0.dangerous": "Line 5: L1 label pointed by a goto statement is found in an unrelated block.",
  "rule.saqt.q.cpp.1442.example.0.safe": "Line 5: A goto statement can be used to jump code by pointing a label in the same block, or escape the same block by pointing a label in a parent block.",
  "rule.saqt.q.cpp.1442.name": "Jump between Blocks",
  "rule.saqt.q.cpp.1444.description": "The Use of Variable-length Array in Struct checker finds structs that include a variable-length array as a member field.\nIf a struct contains a variable-length array, each object of the struct will have a different size, hence making its use difficult.\nDo not use a variable-length array as a member field in a struct. Use a fixed-length array instead; or declare a pointer, then assign a dynamically allocated array to that pointer.",
  "rule.saqt.q.cpp.1444.example.0.dangerous": "Line 4: A variable length array is used as a member of struct.",
  "rule.saqt.q.cpp.1444.example.0.safe": "Line 4: Use a pointer member, and add an expression to dynamically allocate an array. Then, it results the same as the variable length array.",
  "rule.saqt.q.cpp.1444.name": "Use of Variable-length Array in Struct",
  "rule.saqt.q.cpp.145.description": "The Use of == operator on floating point values checker finds instances of using the == or != operator on floating-point numbers.\nComparison between floating-point numbers may not always function correctly.\nInstead of using the == operator, check whether the difference between two numbers falls within the error tolerance. For example, you can compare as follows:#define ERROR = 0.0001; if (fabs((0.1 + 0.2) - 0.3) <= ERROR) { ... }",
  "rule.saqt.q.cpp.145.example.0.dangerous": "Line 2: == operation is used for variable f, and g of float type.",
  "rule.saqt.q.cpp.145.example.0.safe": "Line 3: Do not use the == operation to compare float type values.",
  "rule.saqt.q.cpp.145.name": "Use of == operator on floating point values",
  "rule.saqt.q.cpp.1450.description": "The Illegible comment checker finds that a confusing string, such as /*, */, or //, is included in comments.\nEnsure that the string, such as /*, */, or //, is not included in comments. The strings, such as /*, */, or //, can be used to start or end the comments only.",
  "rule.saqt.q.cpp.1450.example.0.dangerous": "Line 3: /* is used in comments, and lowered readability. It seems that a single comment is adding with /* */, however, the comments start from another line.",
  "rule.saqt.q.cpp.1450.example.0.safe": "Line 3: Do not insert strings to lower readability.",
  "rule.saqt.q.cpp.1450.name": "Illegible comment",
  "rule.saqt.q.cpp.1450.option.check_header.description": "If selected, all comments in the header files will be checked.",
  "rule.saqt.q.cpp.1450.option.check_header.name": "Inspect header files",
  "rule.saqt.q.cpp.1450.option.forbidden_string_list.description": "Write a list of forbidden string in comments.<br />Example) /*,*/,//",
  "rule.saqt.q.cpp.1450.option.forbidden_string_list.name": "Forbidden string",
  "rule.saqt.q.cpp.1451.description": "The Different comment lengths checker finds instances that a multi line comment has different lengths.\nWhen you write the multi line comment, trim the comment lines to be aligned to a shape of square.",
  "rule.saqt.q.cpp.1451.example.0.dangerous": "Line 2: Multi-line comments are checked by a default setting with /***...***/ denotation. Then, for readability, the length of comment lines can be checked. Here, each line has different lengths.",
  "rule.saqt.q.cpp.1451.example.0.safe": "Line 1: Trim the comment lines to be aligned to a shape of square.",
  "rule.saqt.q.cpp.1451.name": "Different comment lengths",
  "rule.saqt.q.cpp.1451.option.start_end_comment.description": "Write start and end comments. Those are recognized comments which are collected by starting comments as one block comment.",
  "rule.saqt.q.cpp.1451.option.start_end_comment.name": "Starting & end comment",
  "rule.saqt.q.cpp.1452.description": "The Violation of format of comments checker finds instances that a single line comment is used with multiple line comment specified in option or vice versa.\nYou can optionally specify a comment type between a single line and multi line comment.\nEnsure to use the specified comment type.",
  "rule.saqt.q.cpp.1452.example.0.dangerous": "Line 1: A single line comment with // is checked when multi-line comments is set.",
  "rule.saqt.q.cpp.1452.example.0.safe": "Line 1: All comments are required to use '/*...*/' when multi-line comments is set.",
  "rule.saqt.q.cpp.1452.name": "Violation of format of comments",
  "rule.saqt.q.cpp.1452.option.use_single_comment.description": "If selected, '/*...*/' comments are detected.",
  "rule.saqt.q.cpp.1452.option.use_single_comment.name": "Using only '//' comments.",
  "rule.saqt.q.cpp.1453.description": "The Comment around code checker finds a comment included in the middle or top of a single line of code.\nPlace the comment at the end of the code, or to a separate line.",
  "rule.saqt.q.cpp.1453.example.0.dangerous": "Line 5: A comment is found before counter++, which lowers readability.",
  "rule.saqt.q.cpp.1453.example.0.safe": "Line 5: Put the comment to a separate line.",
  "rule.saqt.q.cpp.1453.name": "Comment around code",
  "rule.saqt.q.cpp.146.description": "The Unused user defined type on parameter checker finds instances in which a parameter in an optionally specified position is not declared as an allowed redefined data type.\nThe checker searches for a parameter that is not of a data type redefined using typedef. You can optionally specify allowable parameter types and parameter positions subject to checking.\nParameters in the optionally specified positions should be of a redefined data type.",
  "rule.saqt.q.cpp.146.example.0.dangerous": "Line 1: The first argument of foo() function is not using a redefined type.",
  "rule.saqt.q.cpp.146.example.0.safe": "Line 2: Use the redefined type for the specified argument.",
  "rule.saqt.q.cpp.146.name": "Unused user defined type on parameter",
  "rule.saqt.q.cpp.146.option.allowed_param_type.description": "Add allowed parameter type name",
  "rule.saqt.q.cpp.146.option.allowed_param_type.name": "Allowed Parameter type name",
  "rule.saqt.q.cpp.146.option.call_param_target.description": "Target parameter index",
  "rule.saqt.q.cpp.146.option.call_param_target.name": "Target parameter index",
  "rule.saqt.q.cpp.147.description": "The Returning non-constant value checker finds return statements in functions whose return value is not an optionally allowed constant.\nYou can optionally specify allowable constant values.\nHave return statements return an optionally allowed constant value.",
  "rule.saqt.q.cpp.147.example.0.dangerous": "Line 2: A forbidden constant 2 is returned.",
  "rule.saqt.q.cpp.147.example.0.safe": "Line 2: Return an optionally allowed constant, such as 0 or 1.",
  "rule.saqt.q.cpp.147.name": "Returning non-constant value",
  "rule.saqt.q.cpp.147.option.allowed_return_constant.description": "Allow to return constant if the constant satisfy below condition(Regular Expression)",
  "rule.saqt.q.cpp.147.option.allowed_return_constant.name": "Allowed return constant",
  "rule.saqt.q.cpp.147.option.check_constant_only.description": "Check only constant in return expression when the checkbox is checked.",
  "rule.saqt.q.cpp.147.option.check_constant_only.name": "Check constant only",
  "rule.saqt.q.cpp.149.description": "The Unused user defined type for return type checker finds functions whose return type is not an optionally allowed redefined data type.\nYou can optionally specify allowable data types, whether to check parameter, whether to check local scope, and whether to check global scope.\nMake sure functions' return types are optionally specified redefined data types.",
  "rule.saqt.q.cpp.149.example.0.dangerous": "Line 1: A return value of foo() function is not using a redefined type.",
  "rule.saqt.q.cpp.149.example.0.safe": "Line 2: Return the redefined type of the foo() function.",
  "rule.saqt.q.cpp.149.name": "Unused user defined type for return type",
  "rule.saqt.q.cpp.149.option.allowed_return_type.description": "Allow typedef name or not.",
  "rule.saqt.q.cpp.149.option.allowed_return_type.name": "Allowed typedef name",
  "rule.saqt.q.cpp.149.option.scope_target_global.description": "If selected, the analyzer will check in global scope.",
  "rule.saqt.q.cpp.149.option.scope_target_global.name": "Target global scope",
  "rule.saqt.q.cpp.149.option.scope_target_local.description": "If selected, the analyzer will check in local scope.",
  "rule.saqt.q.cpp.149.option.scope_target_local.name": "Target local scope",
  "rule.saqt.q.cpp.149.option.scope_target_parameter.description": "Check parameters",
  "rule.saqt.q.cpp.149.option.scope_target_parameter.name": "Check parameters",
  "rule.saqt.q.cpp.150.description": "The Use of character type checker finds char-type declarations except for declarations of char-type arrays.\nYou can optionally specify forbidden data types and scope of checking.\nDo not use optionally forbidden data types.",
  "rule.saqt.q.cpp.150.example.0.dangerous": "Line 2: a is declared as char * type.",
  "rule.saqt.q.cpp.150.example.0.safe": "Line 2: Declare a as char array-type.",
  "rule.saqt.q.cpp.150.name": "Use of character type",
  "rule.saqt.q.cpp.150.option.expand_typedef.description": "If selected, the analyzer will check typedef types.",
  "rule.saqt.q.cpp.150.option.expand_typedef.name": "Check typedef types",
  "rule.saqt.q.cpp.150.option.forbidden_type.description": "Set forbidden types.",
  "rule.saqt.q.cpp.150.option.forbidden_type.name": "Forbidden types",
  "rule.saqt.q.cpp.150.option.ignore_const.description": "If selected, the analyzer will ignore constants.",
  "rule.saqt.q.cpp.150.option.ignore_const.name": "Ignore constant",
  "rule.saqt.q.cpp.150.option.scope_target_global.description": "If selected, the analyzer will check in global scope.",
  "rule.saqt.q.cpp.150.option.scope_target_global.name": "Check global scope",
  "rule.saqt.q.cpp.150.option.scope_target_local.description": "If selected, the analyzer will check local variables.",
  "rule.saqt.q.cpp.150.option.scope_target_local.name": "Check local variables",
  "rule.saqt.q.cpp.150.option.scope_target_member.description": "If selected, the analyzer will check members.",
  "rule.saqt.q.cpp.150.option.scope_target_member.name": "Check member",
  "rule.saqt.q.cpp.150.option.scope_target_parameter.description": "Check parameters",
  "rule.saqt.q.cpp.150.option.scope_target_parameter.name": "Check parameters",
  "rule.saqt.q.cpp.150.option.type_target_array.description": "If selected, the analyzer will check array types.",
  "rule.saqt.q.cpp.150.option.type_target_array.name": "Check array types",
  "rule.saqt.q.cpp.150.option.type_target_pointer.description": "If selected, the analyzer will check pointer types.",
  "rule.saqt.q.cpp.150.option.type_target_pointer.name": "Check pointer types",
  "rule.saqt.q.cpp.150.option.type_target_signed.description": "If selected, the analyzer will check signed integer.",
  "rule.saqt.q.cpp.150.option.type_target_signed.name": "Check signed integer",
  "rule.saqt.q.cpp.150.option.type_target_typedef.description": "If selected, the analyzer will check typedef types.",
  "rule.saqt.q.cpp.150.option.type_target_typedef.name": "Check typedef types",
  "rule.saqt.q.cpp.150.option.type_target_unsigned.description": "If selected, the analyzer will check unsigned integer.",
  "rule.saqt.q.cpp.150.option.type_target_unsigned.name": "Check unsigned integer",
  "rule.saqt.q.cpp.151.description": "The Including duplicated header file checker finds instances in which duplicate header declarations are present in one file.\nYou can optionally specify files excluded from analysis.\nAvoid duplicate declarations in a header file.",
  "rule.saqt.q.cpp.151.example.0.dangerous": "Line 2: Duplicate declaration is perform for def_win32.h.",
  "rule.saqt.q.cpp.151.example.0.safe": "Line 1: Do not perform the duplicate declaration for the same header.",
  "rule.saqt.q.cpp.151.name": "Including duplicated header file",
  "rule.saqt.q.cpp.151.option.file_target_excluded.description": "Set up execluded files to analyze.",
  "rule.saqt.q.cpp.151.option.file_target_excluded.name": "Excluded files to analyze",
  "rule.saqt.q.cpp.152.description": "The Unused static variable checker finds static variables that are never used.\nUnused variables remain as logical errors in the program. Logical errors undermine source code readability and maintainability. Therefore, take care not to leave unused variables in the code.\nDo not declare unused static variables.",
  "rule.saqt.q.cpp.152.example.0.dangerous": "Line 1: A static variable a is declared, but not used.",
  "rule.saqt.q.cpp.152.example.0.safe": "Line 1: Remove the unused static variable.",
  "rule.saqt.q.cpp.152.name": "Unused static variable",
  "rule.saqt.q.cpp.153.description": "The Use of bit field type checker finds declarations of member variables that are of a bit-field type.\nBecause bit fields have certain implementation-defined properties, using them can pose issues.\nDo not use a bit-field type.",
  "rule.saqt.q.cpp.153.example.0.dangerous": "Line 2: A bit-field type is declared for member variable a.",
  "rule.saqt.q.cpp.153.example.0.safe": "Line 2: Do not declare the bit field type for the member variable, such as struct.",
  "rule.saqt.q.cpp.153.name": "Use of bit field type",
  "rule.saqt.q.cpp.154.description": "The Use of float type checker finds instances of declaring a floating-point type variable.\nYou can optionally specify forbidden data types and scope of checking.\nDo not use optionally forbidden data types.",
  "rule.saqt.q.cpp.154.example.0.dangerous": "Line 1: A parameter variable flag is declared as float type.",
  "rule.saqt.q.cpp.154.example.0.safe": "Line 1: Do not declare the forbidden type of parameter variable.",
  "rule.saqt.q.cpp.154.name": "Use of float type",
  "rule.saqt.q.cpp.154.option.expand_typedef.description": "If selected, the analyzer will check typedef types.",
  "rule.saqt.q.cpp.154.option.expand_typedef.name": "Check typedef types",
  "rule.saqt.q.cpp.154.option.forbidden_type.description": "Set forbidden types.",
  "rule.saqt.q.cpp.154.option.forbidden_type.name": "Forbidden types",
  "rule.saqt.q.cpp.154.option.ignore_const.description": "If selected, the analyzer will ignore constants.",
  "rule.saqt.q.cpp.154.option.ignore_const.name": "Ignore constant",
  "rule.saqt.q.cpp.154.option.scope_target_global.description": "If selected, the analyzer will check in global scope.",
  "rule.saqt.q.cpp.154.option.scope_target_global.name": "Check global scope",
  "rule.saqt.q.cpp.154.option.scope_target_local.description": "If selected, the analyzer will check local variables.",
  "rule.saqt.q.cpp.154.option.scope_target_local.name": "Check local variables",
  "rule.saqt.q.cpp.154.option.scope_target_member.description": "If selected, the analyzer will check members.",
  "rule.saqt.q.cpp.154.option.scope_target_member.name": "Check member",
  "rule.saqt.q.cpp.154.option.scope_target_parameter.description": "Check parameters",
  "rule.saqt.q.cpp.154.option.scope_target_parameter.name": "Check parameters",
  "rule.saqt.q.cpp.154.option.type_target_array.description": "If selected, the analyzer will check array types.",
  "rule.saqt.q.cpp.154.option.type_target_array.name": "Check array types",
  "rule.saqt.q.cpp.154.option.type_target_pointer.description": "If selected, the analyzer will check pointer types.",
  "rule.saqt.q.cpp.154.option.type_target_pointer.name": "Check pointer types",
  "rule.saqt.q.cpp.154.option.type_target_signed.description": "If selected, the analyzer will check signed integer.",
  "rule.saqt.q.cpp.154.option.type_target_signed.name": "Check signed integer",
  "rule.saqt.q.cpp.154.option.type_target_typedef.description": "If selected, the analyzer will check typedef types.",
  "rule.saqt.q.cpp.154.option.type_target_typedef.name": "Check typedef types",
  "rule.saqt.q.cpp.154.option.type_target_unsigned.description": "If selected, the analyzer will check unsigned integer.",
  "rule.saqt.q.cpp.154.option.type_target_unsigned.name": "Check unsigned integer",
  "rule.saqt.q.cpp.155.description": "The Use of extern or static specifier checker finds variable and function declarations that use the extren or static keyword.\nYou can optionally specify whether to check for extren, whether to check for static, and scope of checking.\nDo not use the extren or static keywords in the optionally specified scope.",
  "rule.saqt.q.cpp.155.example.0.dangerous": "Line 1: static keyword is used to define a function.",
  "rule.saqt.q.cpp.155.example.0.safe": "Line 1: Declare a normal type of function.",
  "rule.saqt.q.cpp.155.name": "Use of extern or static specifier",
  "rule.saqt.q.cpp.155.option.check_extern.description": "If the option is enabled, it will check extern variables or functions.",
  "rule.saqt.q.cpp.155.option.check_extern.name": "Analyze global variables or functions",
  "rule.saqt.q.cpp.155.option.check_static.description": "If the option is enabled, it will check static variables or functions.",
  "rule.saqt.q.cpp.155.option.check_static.name": "Analyze static variables or functions",
  "rule.saqt.q.cpp.155.option.scope_target_global.description": "If selected, the analyzer will check in global scope.",
  "rule.saqt.q.cpp.155.option.scope_target_global.name": "Analyze in global scope",
  "rule.saqt.q.cpp.155.option.scope_target_local.description": "If the option is enabled, the analyzer will check in local scope.",
  "rule.saqt.q.cpp.155.option.scope_target_local.name": "Analyze in local scope",
  "rule.saqt.q.cpp.156.description": "The Use of forbidden qualifier checker variable declarations that use an optionally forbidden qualifier.\nYou can optionally specify forbidden qualifiers and scope of checking.\nDo not use optionally forbidden qualifiers.",
  "rule.saqt.q.cpp.156.example.0.dangerous": "Line 2: A forbidden modifier is used.",
  "rule.saqt.q.cpp.156.example.0.safe": "Line 2: Declare a general variable without the forbidden modifier.",
  "rule.saqt.q.cpp.156.name": "Use of forbidden qualifier",
  "rule.saqt.q.cpp.156.option.forbidden_qualifiers.description": "Set up forbidden qualifiers. If you want set up multiple qualifier, use comma(,).<br /> example) const, volatile",
  "rule.saqt.q.cpp.156.option.forbidden_qualifiers.name": "Forbidden qualifier",
  "rule.saqt.q.cpp.156.option.scope_target_global.description": "If the option is enabled, global variables will be checked.",
  "rule.saqt.q.cpp.156.option.scope_target_global.name": "Check global variable",
  "rule.saqt.q.cpp.156.option.scope_target_local.description": "If the option is enabled, local variables will be checked.",
  "rule.saqt.q.cpp.156.option.scope_target_local.name": "Check local variable",
  "rule.saqt.q.cpp.156.option.scope_target_parameter.description": "If selected, parameters will be checked.",
  "rule.saqt.q.cpp.156.option.scope_target_parameter.name": "Check parameter",
  "rule.saqt.q.cpp.157.description": "The Too many functions checker finds instances in which the number of function definitions exceed the optionally specified per-file count.\nYou can optionally the maximum allowed number of function definitions per file.\nDo not define more functions than the optionally specified count.",
  "rule.saqt.q.cpp.157.example.0.dangerous": "Line 9: Functions are defined more than optionally specified count.",
  "rule.saqt.q.cpp.157.example.0.safe": "Line 4: Define the optionally specified count of functions within a file.",
  "rule.saqt.q.cpp.157.name": "Too many functions",
  "rule.saqt.q.cpp.157.option.maximum_func.description": "Write maximum functions count in a file.",
  "rule.saqt.q.cpp.157.option.maximum_func.name": "Maximum functions in a file.",
  "rule.saqt.q.cpp.1572.description": "The Improper file input and output checker finds instances of reading and writing the same file alternately without intermediate adjustments between the read and write operations, such as buffer flushing or cursor relocation.\nOn files open for update, both input and output operations are allowed. However, an input operation should not be immediately followed by an output operation, and vice versa. Because it is hard to control where the cursor points to in the file, such consecutive read and write operations can damage the file's integrity or cause an attempt at reading at the end of the file (EOF). Also, a read immediately following a write can occur before the buffer is written to the file, possibly leading to an unpredictable result.\nOnce a write is done, the buffer shall be flushed (fflush) before it is followed by a read; and before a switch between a read and a write in either direction, the buffer shall be repositioned (fseek, etc.).",
  "rule.saqt.q.cpp.1572.example.0.dangerous": "Line 19: fwrite() function is used to write on a file.\nLine 22: fwrite() function is used to read on a file without clearing buffers.",
  "rule.saqt.q.cpp.1572.example.0.safe": "Line 21: Call fseek() function between reading and writing to move a file position. Then, you can avoid a problem with the unexpected EOF.",
  "rule.saqt.q.cpp.1572.name": "Improper file input and output",
  "rule.saqt.q.cpp.158.description": "The Missing definition of declared function checker finds instances in which a function is declared but remains not defined in a file.\nYou can optionally specify whether to check extren functions.\nA function's declaration must be followed by its definition. Undefined functions cannot be used, thus making the code less readable and maintainable.\nMake sure that declared functions are subsequently defined.",
  "rule.saqt.q.cpp.158.example.0.dangerous": "Line 1: A declared foo() function is defined.",
  "rule.saqt.q.cpp.158.example.0.safe": "Line 2: Define the declared function within the same file.",
  "rule.saqt.q.cpp.158.name": "Missing definition of declared function",
  "rule.saqt.q.cpp.158.option.include_extern.description": "Analyze extern functions if a checkbox below is checked.",
  "rule.saqt.q.cpp.158.option.include_extern.name": "Check extern functions",
  "rule.saqt.q.cpp.1587.description": "The Use of bitwise operation on boolean type checker finds bitwise operations performed on a boolean value.\nSome coding references such as MISRA-C adopt 'boolean by enforcement', and C90, which has no explicit boolean data type, also allows applying this rule by redefining a boolean-like type. The checker regards redefined types with a case-insensitive substring of 'bool' included in their name as boolean types.\nBoolean types are designed to indicate whether the value is true or false, regardless of their bitwise representation. Therefore, instead of a bitwise operation, which is affected by internal implementation, it is recommended to use a logical operation, which evaluates to true or false.\nUse a logical operation instead of a bitwise operation on boolean values.",
  "rule.saqt.q.cpp.1587.example.0.dangerous": "Line 6: A bitwise operation is performed between booleans in C90 where bool_t is considered as boolean.",
  "rule.saqt.q.cpp.1587.example.0.safe": "Line 6: Do not perform a bitwise operation on a boolean.",
  "rule.saqt.q.cpp.1587.name": "Use of bitwise operation on boolean type",
  "rule.saqt.q.cpp.159.description": "The Multiple declarations of different types in single line checker finds instances of declaring different data types on the same line.\nThe checker reports an error if variables of different data types (pointer and base types) are declared on the same line.\nInspect arguments passed to functions to prevent their misuse and conform to APIs. A misuse of an argument may cause an unexpected program behavior.\nDo not declare different data types on the same line.",
  "rule.saqt.q.cpp.159.example.0.dangerous": "Line 1: Both pCh and pChNew is respectively declared as char * type and char type.",
  "rule.saqt.q.cpp.159.example.0.safe": "Line 1: If both are intended to declared as char *, clarify that they are pointer types.",
  "rule.saqt.q.cpp.159.name": "Multiple declarations of different types in single line",
  "rule.saqt.q.cpp.160.description": "The Including forbidden header file checker finds instances in which an optionally forbidden header file is included.\nYou can optionally specify forbidden header files.\nDo not use optionally forbidden header files.",
  "rule.saqt.q.cpp.160.example.0.dangerous": "Line 1: A forbidden header file MIS14_A.h is included.",
  "rule.saqt.q.cpp.160.example.0.safe": "Line 1: Do not use the forbidden header file.",
  "rule.saqt.q.cpp.160.name": "Including forbidden header file",
  "rule.saqt.q.cpp.160.option.forbidden_header.description": "Set up forbidden headers",
  "rule.saqt.q.cpp.160.option.forbidden_header.name": "Forbidden headers",
  "rule.saqt.q.cpp.1600.description": "The Exposure of structure of type checker finds header files in which the members of an object such as a struct are fully visible.\nAbstract data types are not restricted to object-oriented languages such as C++ and Java. They should be created and used in C language programs as well. Before writing a program, it is recommended to well decide which information is to be publicly declared in headers and which information is to be hidden in individual source files.\nAs for structs, it is preferable to leave only their prototype declarations in header files and hide their detailed implementations in individual source files.",
  "rule.saqt.q.cpp.1600.example.0.dangerous": "Line 2: Inner members of string_mx struct is configured in string_m.h header file. Inner structure has been exposed to source files with the header.",
  "rule.saqt.q.cpp.1600.example.0.safe": "Line 2: Declare a prototype only for structure abstraction.",
  "rule.saqt.q.cpp.1600.name": "Exposure of structure of type",
  "rule.saqt.q.cpp.1601.description": "The Returning null array checker finds functions that contain both a statement that returns an array object and a statement that returns null.\nA function that returns null instead of an empty array can expose vulnerabilities when used in a client code that cannot handle null properly. This can result in an abnormal termination of the program.\nIf a function defined to return an array does not need to return an array of specific values in some context, it is recommended to return an empty array instead of null.",
  "rule.saqt.q.cpp.1601.example.0.dangerous": "Line 31: A null is returned instead of an empty array.",
  "rule.saqt.q.cpp.1601.example.0.safe": "Line 31: Return an empty array instead of a null.",
  "rule.saqt.q.cpp.1601.name": "Returning null array",
  "rule.saqt.q.cpp.1602.description": "The Assignment of local address to upper scope checker finds instances of assigning the address of a variable at a lower level of scope to a variable at a higher level.\nThe address of a local variable is no longer valid once the function ends, even if it is assigned to a higher-level variable.\nDo not assign the address of a local variable to a variable at a higher level of scope.",
  "rule.saqt.q.cpp.1602.example.0.dangerous": "Line 6: An address of local variable a is assigned to a global variable global_ptr.",
  "rule.saqt.q.cpp.1602.example.0.safe": "Line 6: Do not assign a local variable address to a variable of parent scope.",
  "rule.saqt.q.cpp.1602.name": "Assignment of local address to upper scope",
  "rule.saqt.q.cpp.1603.description": "The Inappropriate including method of file checker finds instances in which a standard library header is not included using <> or a non-standard library header is not included using \"\".\nUsing the pair of \"\" or <> tells the compiler where to search for the header file first. Typically, <> instructs the compiler to first search where the standard library is stored under the shared directory, while \"\" directs the compiler to first look into the present directory containing the source file or the project directories. Therefore, these two symbol pairs need to be distinguished from one another.\nInclude standard library headers using <> and other headers using \"\".",
  "rule.saqt.q.cpp.1603.example.0.dangerous": "Line 1: A standard library header stdio.h is included with quotation marks.",
  "rule.saqt.q.cpp.1603.example.0.safe": "Line 1: Use angle brackets instead of question marks to include a standard library header stdio.h.",
  "rule.saqt.q.cpp.1603.name": "Inappropriate including method of file",
  "rule.saqt.q.cpp.1603.option.c_library.description": "Set C standard libraries.",
  "rule.saqt.q.cpp.1603.option.c_library.name": "Standard libraries for C",
  "rule.saqt.q.cpp.1603.option.cpp_library.description": "Set C++ standard libraries",
  "rule.saqt.q.cpp.1603.option.cpp_library.name": "Standard libraries for C++",
  "rule.saqt.q.cpp.1604.description": "The Executable statement before first case statement checker finds executable code written in a switch statement above the first case label.\nCode written in a switch statement above the first case label is dead code that can never be reached.\nIn a switch block must come a case label at the beginning.",
  "rule.saqt.q.cpp.1604.example.0.dangerous": "Line 3: An executable statement is required before the first case label.",
  "rule.saqt.q.cpp.1604.example.0.safe": "Line 3: No executable statement is required before the first cast label.",
  "rule.saqt.q.cpp.1604.name": "Executable statement before first case statement",
  "rule.saqt.q.cpp.161.description": "The Use of absolute path for inclusion checker finds instances in which a header file is included with an absolute path.\nHeader files must not be included with an absolute path.\nNever use an absolute path when including a header file.",
  "rule.saqt.q.cpp.161.example.0.dangerous": "Line 1: A header file is included with an absolute path.",
  "rule.saqt.q.cpp.161.example.0.safe": "Line 1: Do not include the header file with the absolute path.",
  "rule.saqt.q.cpp.161.name": "Use of absolute path for inclusion",
  "rule.saqt.q.cpp.162.description": "The Missing header file checker finds instances in which an optionally specified necessary header file is not included.\nThe checker searcher for a missing inclusion of a specified header file.\nMake sure optionally specified necessary header files are included.",
  "rule.saqt.q.cpp.162.example.0.dangerous": "Line 1: A required header file is included.",
  "rule.saqt.q.cpp.162.example.0.safe": "Line 1: Include the header file defined as required.",
  "rule.saqt.q.cpp.162.name": "Missing header file",
  "rule.saqt.q.cpp.162.option.check_all_missing_only.description": "Check all missing only",
  "rule.saqt.q.cpp.162.option.check_all_missing_only.name": "Check all missing only",
  "rule.saqt.q.cpp.162.option.required_header.description": "Set headers required",
  "rule.saqt.q.cpp.162.option.required_header.name": "Header required",
  "rule.saqt.q.cpp.163.description": "The Improper structure alignment checker finds structs that have a size not multiple of the defined alignment size.\nYou can optionally specify whether to use alignment, alignment size, and the size of each data type.\nMake sure optionally specified structs have a size multiple of the defined alignment size.",
  "rule.saqt.q.cpp.163.example.0.dangerous": "Line 1: Size (5) of a defined struct is not matched with a defined alignment (4).",
  "rule.saqt.q.cpp.163.example.0.safe": "Line 1: Define the struct size with a multiple of the alignment.",
  "rule.saqt.q.cpp.163.name": "Improper structure alignment",
  "rule.saqt.q.cpp.163.option.alignment_size.description": "Set up alignment size",
  "rule.saqt.q.cpp.163.option.alignment_size.name": "alignment size",
  "rule.saqt.q.cpp.163.option.char_size.description": "Set up char type size.",
  "rule.saqt.q.cpp.163.option.char_size.name": "char type size",
  "rule.saqt.q.cpp.163.option.float_size.description": "Set up float type size.",
  "rule.saqt.q.cpp.163.option.float_size.name": "float type size",
  "rule.saqt.q.cpp.163.option.int_size.description": "Set up int type size.",
  "rule.saqt.q.cpp.163.option.int_size.name": "int type size",
  "rule.saqt.q.cpp.163.option.short_size.description": "Set up short type size.",
  "rule.saqt.q.cpp.163.option.short_size.name": "short type size",
  "rule.saqt.q.cpp.163.option.use_alignment.description": "If selected, alignment may be allowed.",
  "rule.saqt.q.cpp.163.option.use_alignment.name": "Use alignment",
  "rule.saqt.q.cpp.164.description": "The Padded structure checker finds struct definitions that include padding bits.\nYou can optionally specify whether to use alignment, alignment size, and the size of each data type.\nWhen defining a struct, the padding must be minimized.",
  "rule.saqt.q.cpp.164.example.0.dangerous": "Line 3: A padding bit is found in a struct.A short and an int variable declaration has been executed in this order, thus, 2 bit padding occurs after a declaration.",
  "rule.saqt.q.cpp.164.example.0.safe": "Line 3: Declare the short variables first, no padding occurs.",
  "rule.saqt.q.cpp.164.name": "Padded structure",
  "rule.saqt.q.cpp.164.option.alignment_size.description": "Set up alignment size",
  "rule.saqt.q.cpp.164.option.alignment_size.name": "alignment size",
  "rule.saqt.q.cpp.164.option.char_size.description": "Set up char type size.",
  "rule.saqt.q.cpp.164.option.char_size.name": "char type size",
  "rule.saqt.q.cpp.164.option.float_size.description": "Set up float type size.",
  "rule.saqt.q.cpp.164.option.float_size.name": "float type size",
  "rule.saqt.q.cpp.164.option.int_size.description": "Set up int type size.",
  "rule.saqt.q.cpp.164.option.int_size.name": "int type size",
  "rule.saqt.q.cpp.164.option.short_size.description": "Set up short type size.",
  "rule.saqt.q.cpp.164.option.short_size.name": "short type size",
  "rule.saqt.q.cpp.164.option.use_alignment.description": "If selected, alignment may be allowed.",
  "rule.saqt.q.cpp.164.option.use_alignment.name": "Use alignment",
  "rule.saqt.q.cpp.165.description": "The Too big structure checker finds struct definitions whose size exceeds the optionally specified maximum struct size.\nYou can optionally specify maximum struct size, whether to use alignment, alignment size, and the size of each data type.\nWhen defining a struct, make sure its size does not exceed the optionally specified maximum struct size. ",
  "rule.saqt.q.cpp.165.example.0.dangerous": "Line 1: Size (12) of a defined struct is exceeding an optionally specified size (10).",
  "rule.saqt.q.cpp.165.example.0.safe": "Line 1: Define the struct size to comply with the specified size.",
  "rule.saqt.q.cpp.165.name": "Too big structure",
  "rule.saqt.q.cpp.165.option.alignment_size.description": "Set up alignment size",
  "rule.saqt.q.cpp.165.option.alignment_size.name": "alignment size",
  "rule.saqt.q.cpp.165.option.char_size.description": "Set up char type size.",
  "rule.saqt.q.cpp.165.option.char_size.name": "char type size",
  "rule.saqt.q.cpp.165.option.float_size.description": "Set up float type size.",
  "rule.saqt.q.cpp.165.option.float_size.name": "float type size",
  "rule.saqt.q.cpp.165.option.int_size.description": "Set up int type size.",
  "rule.saqt.q.cpp.165.option.int_size.name": "int type size",
  "rule.saqt.q.cpp.165.option.max_size.description": "Set up maximum size of a structure.",
  "rule.saqt.q.cpp.165.option.max_size.name": "Maximum size",
  "rule.saqt.q.cpp.165.option.short_size.description": "Set up short type size.",
  "rule.saqt.q.cpp.165.option.short_size.name": "short type size",
  "rule.saqt.q.cpp.165.option.use_alignment.description": "If selected, alignment may be allowed.",
  "rule.saqt.q.cpp.165.option.use_alignment.name": "Use alignment",
  "rule.saqt.q.cpp.1651.description": "The Unreachable case statement checker finds unreachable case labels in switch statements.\nUnreachable case labels may have likely been written by mistake. Their presence also undermines the readability of code.\nRemove unreachable case labels.",
  "rule.saqt.q.cpp.1651.example.0.dangerous": "Line 12: A case label of -1 is found in switch statements with condition of an unsigned int value. An unreachable code occurs as the unsigned value cannot be -1.",
  "rule.saqt.q.cpp.1651.example.0.safe": "Line 12: Remove the case.",
  "rule.saqt.q.cpp.1651.name": "Unreachable case statement",
  "rule.saqt.q.cpp.1654.description": "The Mismatched number of variable arguments checker finds instances in which the variable arguments taken by a format string function and the corresponding format specifiers are not equal in number.\nA format string function takes format specifiers such as \"%s\" in its format string and is passed with variable arguments that are to substitute for those specifiers.\nIf the number of format specifiers and the number of variable arguments are not equal, abnormal behavior may occur.\nWhen calling a function that takes variable arguments, make sure that it is passed with the same number of arguments as the number of format specifiers therein.",
  "rule.saqt.q.cpp.1654.example.0.dangerous": "Line 3: Three conversion indicators are found in printf() function with one argument.",
  "rule.saqt.q.cpp.1654.example.0.safe": "Line 3: Ensure that the number of conversion indicators and arguments are matched.",
  "rule.saqt.q.cpp.1654.name": "Mismatched number of variable arguments",
  "rule.saqt.q.cpp.1654.option.targets.description": "Describe target functions and index of conversion specifiation. The index starts with zero. The format should be <the name of target function>,<index>. For example printf() has a conversion specification at index 0.",
  "rule.saqt.q.cpp.1654.option.targets.name": "Target function to analyze",
  "rule.saqt.q.cpp.1655.description": "The Virtual function call without qualifier checker finds constructs in which a virtual function is called without an explicit class qualifier.\nIn a constructor or destructor, virtual functions must be called with an explicit class qualifier. A derived class instance is not valid in the base constructor.\nWhen calling a virtual function in a constructor, apply the base class qualifier to treat it as a regular function. Or, a more preferable approach is to avoid using virtual functions in a constructor. ",
  "rule.saqt.q.cpp.1655.example.0.dangerous": "Line 22: A virtual function, func() method, is called in a constructor of Base without a modifier.",
  "rule.saqt.q.cpp.1655.example.0.safe": "Line 2: Call the virtual function, func() method in a constructor of Base with a Base:: modifier.",
  "rule.saqt.q.cpp.1655.name": "Virtual function call without qualifier",
  "rule.saqt.q.cpp.1656.description": "The Use of dynamic type in constructor and destructor checker finds constructors and destructors whose implementation contains a command requiring run-time type information (RTTI).\nRTTI is a mechanism that allows the type of an object to be determined during program execution. Some C++ commands require RTTI, including typeid, dynamic_cast, and calls to virtual functions.\nDuring construction and destruction of an object, its final type may be different to that of the completely constructed object. Use of RTTI in a constructor or destructor, therefore, can cause an unexpected issue.\nIn constructors and destructors, do not use a command that requires RTTI.",
  "rule.saqt.q.cpp.1656.example.0.dangerous": "Line 9: A typeid is used, which requires dynamic type information.\nLine 12: A dynamic_cast is used, which requires dynamic type information.",
  "rule.saqt.q.cpp.1656.example.0.safe": "Line 9: Do not use the dynamic type to constructors and destructors.",
  "rule.saqt.q.cpp.1656.name": "Use of dynamic type in constructor and destructor",
  "rule.saqt.q.cpp.1658.description": "The Unhandled exception in destructor checker finds destructors in which an exception is thrown but cannot be handled within the destructor.\nIn many cases, destructors are called to destruct an object as a result of an already thrown exception. If another exception is thrown during exception handling, the program may terminate.\nDo not use expressions that throw an unhandleable exception within a destructor. Or, add necessary handlers so that all possible exceptions can be handled.",
  "rule.saqt.q.cpp.1658.example.0.dangerous": "Line 2: An int type exception is thrown by zoo().\nLine 10: An unhandled exception is found in a destructor.\nLine 12: An exception for float type is handled by a destructor. But, an exception for int type cannot be handled.",
  "rule.saqt.q.cpp.1658.example.0.safe": "Line 15: Append a catch to handle int type or other types of exception.",
  "rule.saqt.q.cpp.1658.name": "Unhandled exception in destructor",
  "rule.saqt.q.cpp.1659.description": "The Unused exception handling checker finds functions that include a never reached exception handling block.\nUnused exception handlers are unnecessary. Unless potentially being used later, they don't need to be left out in code.\nRemove unused exception handling statements.",
  "rule.saqt.q.cpp.1659.example.0.dangerous": "Line 8: An exception handling statement is not used for int type.",
  "rule.saqt.q.cpp.1659.example.0.safe": "Line 8: Remove unused exception handling statements.",
  "rule.saqt.q.cpp.1659.name": "Unused exception handling",
  "rule.saqt.q.cpp.166.description": "The Use of remainder operation checker finds modulo operations (%).\nYou can optionally specify whether to apply an exception in case the modulo operation is preceded by a division operation performed on the same operands.\nDo not use modulo operations.",
  "rule.saqt.q.cpp.166.example.0.dangerous": "Line 4: A modulo operation is used.",
  "rule.saqt.q.cpp.166.example.0.safe": "Line 4: Perform the modulo by a division with the same statement.\nLine 5: Perform the modulo operation after the division.",
  "rule.saqt.q.cpp.166.name": "Use of remainder operation",
  "rule.saqt.q.cpp.166.option.exclude_follow_by_same_division.description": "Exclude the expression that there exists a division expression with same operands of the modular expression before the expression.<br />Example : v1 = a / b; v2 = a % b;",
  "rule.saqt.q.cpp.166.option.exclude_follow_by_same_division.name": "Exceptional case of modular operation",
  "rule.saqt.q.cpp.1660.description": "The Returning parameter address checker finds functions that return the address of an argument passed in.\nIf a function returning by reference is defined to return a passed-in argument as it is, it will return the address of the argument, instead of its value.\nThe address of an argument passed in is no longer valid outside the function. The returned address can't be used as a valid value and will cause program malfunctions.\nFix the function to return by value or take the argument by reference instead of by value. ",
  "rule.saqt.q.cpp.1660.example.0.dangerous": "Line 6: A parameter a is returned.As foo() returns a reference type, a parameter address is returned.",
  "rule.saqt.q.cpp.1660.example.0.safe": "Line 6: Change the return type from reference to value in function declaration.",
  "rule.saqt.q.cpp.1660.name": "Returning parameter address",
  "rule.saqt.q.cpp.1661.description": "The Static casting on virtual base class pointer checker finds expressions that conduct an invalid cast of a virtually inherited base class.\nAn invalid cast herein refers to a cast of a pointer to a virtually inherited base class to a derived class pointer by other means than dynamic_cast. dynamic_cast is used to safely downcast custom types.\nIt is undefined to use other than dynamic_cast to cast a virtual base class to a derived class. Such code may output different results depending on compilers and thus is unpredictable.\nWhen downcasting a virtually inherited class, be sure to use dynamic_cast.",
  "rule.saqt.q.cpp.1661.example.0.dangerous": "Line 16: A reinterpret_cast is used in foo() function to casts it into its child class.",
  "rule.saqt.q.cpp.1661.example.0.safe": "Line 16: Use dynamic_cast to cast.",
  "rule.saqt.q.cpp.1661.name": "Static casting on virtual base class pointer",
  "rule.saqt.q.cpp.1662.description": "The Unhandled exception in main checker finds instances in which an exception is thrown in the main() function but cannot be handled therewithin.\nA program starts and ends with the main function. When an unhandled exception is thrown, it terminates in an implementation-defined manner.\nDo not use expressions that throw an unhandleable exception within the main function. Or, add necessary handlers so that all possible exceptions can be handled.",
  "rule.saqt.q.cpp.1662.example.0.dangerous": "Line 3: An exception of int type is thrown. You cannot handle this exception.",
  "rule.saqt.q.cpp.1662.example.0.safe": "Line 5: Add statements to handle all exceptions caused by a main function.",
  "rule.saqt.q.cpp.1662.name": "Unhandled exception in main",
  "rule.saqt.q.cpp.167.description": "The Dividing on signed value checker finds division operations whose dividend or divisor is of a signed integer type.\nFor a division operation, both the dividend and divisor must be of an unsigned integer type.",
  "rule.saqt.q.cpp.167.example.0.dangerous": "Line 4: The expression is divided with a signed integer i.",
  "rule.saqt.q.cpp.167.example.0.safe": "Line 4: Divide with unsigned integer variables only.",
  "rule.saqt.q.cpp.167.name": "Dividing on signed value",
  "rule.saqt.q.cpp.168.description": "The Missing comparison of return value checker finds if, while, and for statements in which a test expression calls an integer-returning function as an operand but without a comparison operator.\nIn a branch or loop statement, if a function's return value is not or improperly compared with an integer, the program may behave unexpectedly.\nIf a function returning an integer type is called as an operand in a test expression of a conditional statement, a comparison operator also must be called in the expression.",
  "rule.saqt.q.cpp.168.example.0.dangerous": "Line 3: 0 is returned by foo() function.\nLine 5: 1 is returned by foo() function.\nLine 7: -1 is returned by foo() function.\nLine 8: A return value of foo() is not compared in foo2(). This may result in an unexpected behavior.",
  "rule.saqt.q.cpp.168.example.0.safe": "Line 8: Compare the return value with a correct value.",
  "rule.saqt.q.cpp.168.name": "Missing comparison of return value",
  "rule.saqt.q.cpp.169.description": "The Mismatched operand types checker finds using an assignment (=) or comparison operator on operands of different integer types.\nYou can optionally specify whether to analyze hexadecimal constants.\nComparison of different integer types requires a cast. Since an incorrect cast results in the comparison operation returning a wrong value, a correct cast must be performed in the comparison operation.\nWhen performing a comparison or assignment operation on integers, make sure the operands are of the same type.",
  "rule.saqt.q.cpp.169.example.0.dangerous": "Line 3: The right-hand integer of comparison operation is casted.",
  "rule.saqt.q.cpp.169.example.0.safe": "Line 3: Perform a cast on the left-hand operand for comparison operation.",
  "rule.saqt.q.cpp.169.name": "Mismatched operand types",
  "rule.saqt.q.cpp.169.option.ignore_hexadecimal_const.description": "If selected, the analyzer ignore hexadecimal constants.",
  "rule.saqt.q.cpp.169.option.ignore_hexadecimal_const.name": "Ignore hexadecimal constants",
  "rule.saqt.q.cpp.1691.description": "The Conflicting storage class checker finds instances in which the same function or object has both external and static linkage.\nA function having both external and static linkage is undefined. Such code may output different results depending on compilers and thus is unpredictable.\nMake sure one single function or object has one single storage class.",
  "rule.saqt.q.cpp.1691.example.0.dangerous": "Line 1: foo() function is declared with an external link.\nLine 2: Number variable is declared with an external link.\nLine 4: Number variable is defined as static. Then, the variable is different from declaration of Line 2.\nLine 5: foo() function is defined with a static link. Then, the variable is different from declaration of Line 1.",
  "rule.saqt.q.cpp.1691.example.0.safe": "Line 4: Define the number variable to use a storage class as declared.\nLine 5: Define the foo() function to use a storage class as declared.",
  "rule.saqt.q.cpp.1691.name": "Conflicting storage class",
  "rule.saqt.q.cpp.1692.description": "The Uninitialized pointer as read-only parameter checker finds instances of passing a pointer to an uninitialized variable to a const-qualified parameter.\nOnce a pointer is passed to a const-qualified parameter, the pointed-to variable cannot change its value in the function. If this variable is not yet initialized, it will cause program malfunctions and this situation is not likely to be intended by the developer.\nBefore passing a pointer to an immutable parameter, be sure to initialize the pointed-to variable to a suitable value.",
  "rule.saqt.q.cpp.1692.example.0.dangerous": "Line 6: An uninitialized value, y2, is passed to a read-only argument of call_uinit_foo() function.",
  "rule.saqt.q.cpp.1692.example.0.safe": "Line 7: Initialize a value sent to the function as a read-only argument.",
  "rule.saqt.q.cpp.1692.name": "Uninitialized pointer as read-only parameter",
  "rule.saqt.q.cpp.171.description": "The Inconsistent global variable declaration checker finds instances of failure to use the extern keyword when an already declared global variable's name is reused.\nIf identically named global variables are used across multiple files, they will override the same memory area. This may result in an unexpected program behavior.\nIf you need to reuse a variable that has been declared global in another file, use the extern keyword.",
  "rule.saqt.q.cpp.171.example.0.dangerous": "Line 2: A variable with the same name as a global variable declared on Line 9 in sum.c file is declared as another type.",
  "rule.saqt.q.cpp.171.example.0.safe": "Line 2: Use a global variable in multiple files as the same type with extern modifier in headers.",
  "rule.saqt.q.cpp.171.name": "Inconsistent global variable declaration",
  "rule.saqt.q.cpp.173.description": "The Mismatched character type checker finds instance of failure to pass the correct data types of char and wchar_t to str handling functions (e.g., strncpy) and wcs handling functions (e.g., wcsncpy), respectively.\nThe checker reports a defect if a function such as strncpy() that handles narrow character strings receives any argument that is not of a type from char *, or a function such as wcsncpy() that handles wide character strings receives any argument that is not of a type from wchar_t *. You can optionally specify string functions and wide string functions subject to checking. \nIt is an undefined behavior to pass a narrow string to wcsncpy() or pass a wide string to strncpy(). Also, wide strings may be terminated with a null wide character and contain nulls between the characters that make them up. Therefore, passing a null-terminated wide character to strncpy() may result a wrong value returned.\nDo not mix up the char and wchar_t types when passing arguments to an str- or wcs-handling function.",
  "rule.saqt.q.cpp.173.example.0.dangerous": "Line 2: A string array is defined as wchar_t type.\nLine 4: A different type of strncpy() function is used to copy wchar_t type strings.\nLine 8: A string array is defined as wchar_t type.\nLine 9: A different type of function is used.",
  "rule.saqt.q.cpp.173.example.0.safe": "Line 4: Use wcsncpy() function for wchar_t type.\nLine 9: Use strncpy() function for char type.",
  "rule.saqt.q.cpp.173.name": "Mismatched character type",
  "rule.saqt.q.cpp.173.option.str_function.description": "Set up functions for string.",
  "rule.saqt.q.cpp.173.option.str_function.name": "Functions for string",
  "rule.saqt.q.cpp.173.option.wcs_function.description": "Set up functions for wide-character string.",
  "rule.saqt.q.cpp.173.option.wcs_function.name": "Functions for wide-character string",
  "rule.saqt.q.cpp.174.description": "The Mismatched reallocated type checker finds instances of assigning the return of a realloc() call in which the first argument of the function and the assignee variable (left-hand operand to point to the allocated memory) have different struct types.\nThe checker searches for an assignment performed on the return of a realloc() call wherein the first argument in the call is of a different type from that of the left-hand operand.\nWhen reallocating memory to a struct object, if the object passed to realloc() and the left-hand operand differ in data type, the members of the struct may be incorrectly initialized. This may result in an unexpected program behavior.\nEnsure data type match when calling realloc().",
  "rule.saqt.q.cpp.174.example.0.dangerous": "Line 15: Struct value of Exam1 type is copied to Exam2 through realloc() function. This may cause invalid initialization on struct members.",
  "rule.saqt.q.cpp.174.example.0.safe": "Line 13: To allocate memory to the struct through the realloc(), use structs of the same type.",
  "rule.saqt.q.cpp.174.name": "Mismatched reallocated type",
  "rule.saqt.q.cpp.180.description": "The Missing break statement in case statement checker finds case statements that do not end with a break statement.\nInstead of a break, you can use a return, continue, or goto.\nIf a break statement is missing in a switch statement, an unintended case can be executed, causing an unexpected program behavior or error.\nMake sure each case statement contains a break, goto, continue, or return.",
  "rule.saqt.q.cpp.180.example.0.dangerous": "Line 6: When case statements do not include a break, the next case statement is executed. Thus, when a = 2, case 2 and case 3 are executed.",
  "rule.saqt.q.cpp.180.example.0.safe": "Line 6: Add a break to the case statements in consideration of a program flow.",
  "rule.saqt.q.cpp.180.name": "Missing break statement in case statement",
  "rule.saqt.q.cpp.1835.description": "The Use of multidimensional array checker finds arrays whose dimensions exceed the optionally specified dimension level.\nYou can optionally specify the maximum allowed number of array dimensions.\nHigh-dimensional arrays undermine code maintainability and readability.\nDo not use high-dimensional arrays.",
  "rule.saqt.q.cpp.1835.example.0.dangerous": "Line 1: A two-dimensional array is used.",
  "rule.saqt.q.cpp.1835.example.0.safe": "Line 1: Use an one-dimensional array.",
  "rule.saqt.q.cpp.1835.name": "Use of multidimensional array",
  "rule.saqt.q.cpp.1835.option.threshold.description": "Set array level to be forbidden. If you set \"2\", the analyzer will detect defects when it meet arrays over two level.",
  "rule.saqt.q.cpp.1835.option.threshold.name": "Array level to be forbidden.",
  "rule.saqt.q.cpp.1836.description": "The Declaration at middle of block checker finds instances of declaring a variable in the middle of a block, instead of in the beginning lines.\nAs an exception, labels and empty statements can precede variable declarations. You can optionally set whether to support Proframe and specify variable names exempt from checking.\nOld C compilers cause errors if variable declarations are not placed at the top of a block. Although most of the modern compilers are not affected by where variables are declared in a block, it is still preferable to put those declarations in the beginning part of the block to ensure good code portability.\nPlace variable declarations at the top of the code block.",
  "rule.saqt.q.cpp.1836.example.0.dangerous": "Line 2: A variable x is declared at the start of function block.\nLine 4: A variable y is declared at the start of if statement block.\nLine 6: A variable z is declared after if statements.",
  "rule.saqt.q.cpp.1836.example.0.safe": "Line 3: Declare variable z at the start of function block.",
  "rule.saqt.q.cpp.1836.name": "Declaration at middle of block",
  "rule.saqt.q.cpp.1836.option.ignore_var_name.description": "If selected, The analyzer will ignore declaration statement which match the names.",
  "rule.saqt.q.cpp.1836.option.ignore_var_name.name": "Variable name to ignore",
  "rule.saqt.q.cpp.1836.option.support_proframe.description": "If the option is enabled, more accurate analyses for proframe can be expected.",
  "rule.saqt.q.cpp.1836.option.support_proframe.name": "Proframe assistance",
  "rule.saqt.q.cpp.1837.description": "The Use of function in condition of if statement checker finds conditional statements that include a function other than those optionally specified.\nYou can optionally specify functions that can be used in a conditional statement.\nCalling a function within a conditional statement undermines code readability.\nDo not use functions in a conditional statement.",
  "rule.saqt.q.cpp.1837.example.0.dangerous": "Line 1: A function call is used in if conditional statements.",
  "rule.saqt.q.cpp.1837.example.0.safe": "Line 1: Break out the function call from if statements.",
  "rule.saqt.q.cpp.1837.name": "Use of function in condition of if statement",
  "rule.saqt.q.cpp.1837.option.ignore_function_list.description": "Input the allowed functions in the if statement using regex expression.",
  "rule.saqt.q.cpp.1837.option.ignore_function_list.name": "Allowed function list.",
  "rule.saqt.q.cpp.1840.description": "The String comparison via == and != operators checker finds instances of using a direct comparison operator (== or !=) to compare strings.\nA direct comparison operator (e.g. == or !=) should not be used to compare strings.\nVariables that store strings have addresses. Such direct comparison is performed on those addresses, not their values, hence always evaluating to false.\nTo compare strings, use a string comparison function instead.",
  "rule.saqt.q.cpp.1840.example.0.dangerous": "Line 3: Comparison is performed between string variables. This is always evaluated to false.",
  "rule.saqt.q.cpp.1840.example.0.safe": "Line 4: Use strcpy() or strncpy() in C, and compare() of string in C++.",
  "rule.saqt.q.cpp.1840.name": "String comparison via == and != operators",
  "rule.saqt.q.cpp.185.description": "The Assignment of character type to integer type checker finds instances of converting an int type to a char type.\nConversion from int to char discards values out of the range of the char type.\nIf a value of a 4-byte int type is stored into a variable of a 1-byte char type, some bits are cut off from the value, possibly resulting in a different value from the original one. This may lead to a malfunction or buffer overrun.\nDo not convert int types to char types; such conversion may cut off unstorable bits.",
  "rule.saqt.q.cpp.185.example.0.dangerous": "Line 3: A int type variable or value is specified to a 1 byte char type variable, which can be caused by an overflow.",
  "rule.saqt.q.cpp.185.example.0.safe": "Line 2: Modify the variable into an accurate int type.",
  "rule.saqt.q.cpp.185.name": "Assignment of character type to integer type",
  "rule.saqt.q.cpp.185.option.unsigned_signed_char_as_int.description": "Unsigned char, signed char as integer",
  "rule.saqt.q.cpp.185.option.unsigned_signed_char_as_int.name": "Unsigned char, signed char as integer",
  "rule.saqt.q.cpp.187.description": "The Non-decimal integer constant checker finds instances of integer constants that are defined of a non-decimal numeral system.\nIt is risky to define an integer constant of a positional system such as octal or hexadecimal because the result may vary with the executing system.\nOctal and hexadecimal representations are used for bitwise operations. However, failure to count the number of bits may lead to an unexpected operation. For example, if a total of 32 bits are represented in a hexadecimal variable but the variable's actual type is 64 bits wide, an operation on it will produce an unexpected output. It may also result in a buffer overrun.\nIntegers must be represented in decimal.",
  "rule.saqt.q.cpp.187.example.0.dangerous": "Line 1: A variable is defined as a 32 bit hexadecimal representation.\nLine 3: If an unsigned long type is 64 bit, then mask is assigned with 0x00000000FFFFFFFF. This causes an unexpected result.",
  "rule.saqt.q.cpp.187.example.0.safe": "Line 1: Use -1 instead of 0xFFFFFFFF, which is more compatible.",
  "rule.saqt.q.cpp.187.name": "Non-decimal integer constant",
  "rule.saqt.q.cpp.1883.description": "Invalidated Iterator checker finds expressions that use invalidated iterators.\nIterators are often invalidated after they are used in methods of a specific container. Accessing this invalidated iterator can result in runtime errors.\nAvoid using invalidated iterators.",
  "rule.saqt.q.cpp.1883.example.0.dangerous": "Line 5: push_back() function is used to inject data. Iterator 'I' may get invalidated.\nLine 6: Dereference the iterator 'I'.",
  "rule.saqt.q.cpp.1883.example.0.safe": "Line 6: Do not use the invalidated iterator, and get a new iterator.",
  "rule.saqt.q.cpp.1883.name": "Invalidated Iterator",
  "rule.saqt.q.cpp.1889.description": "The Accessing local variable address checker finds instances in which the address of a local variable is referenced from outside the function.\nIf a parameter is passed by reference into a function and the reference or pointer points to the address of a local variable therein, the reference is no longer valid once the function ends, triggering this issue.\nThis issue may allow for unintended behavior or termination of the program.\nDo not assign a local variable's address to an external pointer.",
  "rule.saqt.q.cpp.1889.example.0.dangerous": "Line 4: An address of local variable y is pointed by a pointer of argument x.",
  "rule.saqt.q.cpp.1889.example.0.safe": "Line 3: Use an address dynamically assigned to a heap instead of stack for an externally passed argument.",
  "rule.saqt.q.cpp.1889.name": "Accessing local variable address",
  "rule.saqt.q.cpp.189.description": "The Mismatched number of arguments checker finds instances in which the number of parameters defined in a function and the number of arguments passed in a call to the function are different. \n.\nThe GCC compilers usually report an error when the number of arguments passed in a call differs from the defined number. However, some other compilers do not support checking for argument count and thus will fail to find this sort of error. Passing a wrong number of arguments may cause an unexpected program behavior.\nMake sure the parameters defined and the arguments passed match in number. ",
  "rule.saqt.q.cpp.189.example.0.dangerous": "Line 1: One argument is defined in foo() function.\nLine 5: Two arguments are used to call the foo().",
  "rule.saqt.q.cpp.189.example.0.safe": "Line 5: Use the number of arguments to call the function as much as defined.",
  "rule.saqt.q.cpp.189.name": "Mismatched number of arguments",
  "rule.saqt.q.cpp.190.description": "The Reused tokenized string checker finds instances in which the first argument passed in a call to the strtok() function is reused.\nThe strtok() function is used to split a string into words. In a call to strtok(), the token in the source string is replaced with a null.\nSince strtok() changes part of the source string, using a string that has ever been passed to the function may cause an unexpected result. This issue arises because strtok() does not behave in a straightforward way.\nDo not reuse a variable that has ever been passed as the first argument for strtok(). If it needs to be reused, pass a copy of the source text to strtok().",
  "rule.saqt.q.cpp.190.example.0.dangerous": "Line 1: A string is entered to split a token.\nLine 3: \"-\" is used as a separator of the token. But, a source command has been changed.\nLine 8: A command different from the source is printed.",
  "rule.saqt.q.cpp.190.example.0.safe": "Line 5: If the source string needs to be reused, do not use the source, but a temporary buffer string as an argument of strtok().",
  "rule.saqt.q.cpp.190.name": "Reused tokenized string",
  "rule.saqt.q.cpp.191.description": "The Symbolic link race condition checker finds instances of accessing a file in reliance solely on the return from a call to lstat() on it.\nAlthough lstat() serves to determine the symlink status of a file, its determination based on the path of the file may be inaccurate. It is because if a file is manipulated after checked for symlink status, a subsequent call to open() on it can lead to an unintended action. Therefore, you should call open() first to secure the file and then call fstat() to get accurate information from the file before determining subsequent actions.\nDo not rely solely on lstat(). Call lstat() to check a file's status, call open() to open the file, and then check if a call to fstat() returns the same result as the earlier call to lstat().",
  "rule.saqt.q.cpp.191.example.0.dangerous": "Line 6: File information is saved in lstat_info struct.\nLine 9: A non-symbolic file is opened.\nLine 15: A TOCTOU race condition is occurring by modifying the file without checking its states.",
  "rule.saqt.q.cpp.191.example.0.safe": "Line 7: Call lstat() with the file name.\nLine 10: Open the file with open() function.\nLine 14: Open the file states with fstat() function.\nLine 17: Modify the file after matching it with link information from the lstat() function.",
  "rule.saqt.q.cpp.191.name": "Symbolic link race condition",
  "rule.saqt.q.cpp.1914.description": "The Direct assignment of physical address to function pointer checker finds instances of directly assigning an address value to a function pointer.\nDo not directly assign an address value to a function pointer. The same function may not always be found at the same memory address.\nThis could lead to a crash, or an attacker may alter the memory at the expected address, leading to arbitrary code execution.\nDo not directly assign an address value to a function pointer.",
  "rule.saqt.q.cpp.1914.example.0.dangerous": "Line 1: A hardware address is entered to a function pointer.",
  "rule.saqt.q.cpp.1914.example.0.safe": "Line 6: Do not enter the hardware address to the function pointer. Use a declared function name to assign a function address.",
  "rule.saqt.q.cpp.1914.name": "Direct assignment of physical address to function pointer",
  "rule.saqt.q.cpp.193.description": "The Asynchronous thread termination checker finds pthreads calls in which the cancellation type is set to PTHREAD_CANCEL_ASYNCHRONOUS.\nIf a thread is asynchronously terminated, a program crash, resource leak, or other unexpected behaviors may occur.\nIn pthreads calls, do not set the cancellation type to PTHREAD_CANCEL_ASYNCHRONOUS.",
  "rule.saqt.q.cpp.193.example.0.dangerous": "Line 5: PTHREAD_CANCEL_ASYNCHRONOUS is used to specify pthread cancel type.\nLine 11: Multiple threads are executed by a loop, and not terminated before pthread_setcanceltype() function is called.",
  "rule.saqt.q.cpp.193.example.0.safe": "Line 3: Do not use PTHREAD_CANCEL_ASYNCHRONOUS to fix a race condition with pthread_mutex_lock and pthread_mutex_unlock, then terminate the pthread.",
  "rule.saqt.q.cpp.193.name": "Asynchronous thread termination",
  "rule.saqt.q.cpp.193.option.pthread_cancel_type.description": "Write a actual value for PTHREAD_CALCEL_TYPE macro",
  "rule.saqt.q.cpp.193.option.pthread_cancel_type.name": "Actual value for PTHREAD_CALCEL_TYPE macro",
  "rule.saqt.q.cpp.194.description": "The Assigning instead of comparing checker finds code that performs assignment operation instead of comparison to calculate conditions.\nThis occurs when an assignment operator, such as '=', is unexpectedly used instead of a comparison operator, such as '=='. Once the code is written this way, such mistakes are not easy to locate although the program behaves unintendedly.\nDo not use an assignment operator with comparison operators.",
  "rule.saqt.q.cpp.194.example.0.dangerous": "Line 2: A null is supposed to be compared with a, but actually assigned to a.",
  "rule.saqt.q.cpp.194.example.0.safe": "Line 2: Use a comparison operator for conditional statements.",
  "rule.saqt.q.cpp.194.name": "Assigning instead of comparing",
  "rule.saqt.q.cpp.195.description": "The Assigning instead of comparing checker finds instances of using a comparison operation in a place where an assignment operation is supposed to be.\nThe checker reports for a comparison operator (such as ==) misplaced instead of an assignment operator (such as =).\nUsing a wrong operator may lead to an unexpected control flow of the program.\nDo not use a comparison operator in a place of an assignment operator.",
  "rule.saqt.q.cpp.195.example.0.dangerous": "Line 3: 5 is supposed to be assigned to variable a, but actually compared with it.",
  "rule.saqt.q.cpp.195.example.0.safe": "Line 3: Use the intended operator.",
  "rule.saqt.q.cpp.195.name": "Assigning instead of comparing",
  "rule.saqt.q.cpp.1951.description": "The Non-virtual pure function checker finds instances that a pure function is not declared as virtual.\nUnless a pure function is declared as virtual, it cannot be compiled.\nThus, an compilation error occurs.\nDeclare the pure function as virtual.",
  "rule.saqt.q.cpp.1951.example.0.dangerous": "Line 5: A pure virtual function is not declared as virtual. This is incorrect in C++.",
  "rule.saqt.q.cpp.1951.example.0.safe": "Line 5: Unless a pure function is declared as virtual,",
  "rule.saqt.q.cpp.1951.name": "Non-virtual pure function",
  "rule.saqt.q.cpp.1952.description": "The Improper initialization of pure virtual function checker finds instances that a pure virtual function is not initialize to zero.\nUnless the pure virtual function must be initialized to zero, it cannot be compiled.\nThus, an compilation error occurs.\nEnsure to initialize the pure virtual function to zero.",
  "rule.saqt.q.cpp.1952.example.0.dangerous": "Line 5: It seems to declare a pure virtual function, but incorrect.",
  "rule.saqt.q.cpp.1952.example.0.safe": "Line 5: Append '= 0' to declare a pure virtual function.",
  "rule.saqt.q.cpp.1952.name": "Improper initialization of pure virtual function",
  "rule.saqt.q.cpp.196.description": "The Mismatched types of function definition and declaration checker finds mismatches in type name between a function declaration and its definition.\nIn C/C++ programming, even if a function's declaration and definition are of differently named types, the two types may be compatible with one another. However, it is typically an undefined behavior to declare and define a function with different types. Such code may output different results depending on compilers and thus is unpredictable.\nA function must be declared and defined with the same type.",
  "rule.saqt.q.cpp.196.example.0.dangerous": "Line 3: Argument types between definition and declaration are not identical; int and SINT32.",
  "rule.saqt.q.cpp.196.example.0.safe": "Line 3: Use an identical type name in definition and declaration.",
  "rule.saqt.q.cpp.196.name": "Mismatched types of function definition and declaration",
  "rule.saqt.q.cpp.198.description": "The Inadequate value of argument of memcpy checker finds instances in which a call to sizeof() on a pointer or compound expression is passed to a function such as memcpy().\nYou can optionally specify which functions and argument positions are to be checked. \nProgrammers often pass a pointer to sizeof() in expectation of getting the pointer's type size, but it returns the pointer's size. And passing a compound expression to sizeof() may result in an unexpected value or an error. It is because the result of a call to sizeof is evaluated at compile time while a compound expression with variables evaluates at runtime.|\nIf a sizeof() call is to be passed to a function such as memcpy(), do not put a pointer or compound expression in sizeof().",
  "rule.saqt.q.cpp.198.example.0.dangerous": "Line 5: A pointer variable is used as an argument of sizeof operation.\nLine 6: An expression is used as an argument of sizeof operation.",
  "rule.saqt.q.cpp.198.example.0.safe": "Line 5: Use the variable as the argument of sizeof().\nLine 6: Use the expression out of the sizeof().",
  "rule.saqt.q.cpp.198.name": "Inadequate value of argument of memcpy",
  "rule.saqt.q.cpp.198.option.call_param_target_in_function.description": "Target function and parameter index",
  "rule.saqt.q.cpp.198.option.call_param_target_in_function.name": "Target function and parameter index",
  "rule.saqt.q.cpp.200.description": "The Redundant name checker finds instances in which a local variable and a static variable are given the same name.\nIf a local variable and a static variable use the same name, the local variable may remain unused and only the static variable is used, causing confusion to the program. In addition, this practice undermines code readability.\nTake care not to give the same name to local and static variables.",
  "rule.saqt.q.cpp.200.example.0.dangerous": "Line 3: A local variable is declared with the identical name of a static variable.",
  "rule.saqt.q.cpp.200.example.0.safe": "Line 3: Rename the local or the static variable with another name.",
  "rule.saqt.q.cpp.200.name": "Redundant name",
  "rule.saqt.q.cpp.201.description": "The Missing return type checker finds functions with an undefined return type.\nThe checker reports for a missing definition of a function's return type. GCC compilers regard a function's undefined return type as int. However, it is recommended to explicitly define functions' return types.\nMake sure the return type is defined in each function definition.",
  "rule.saqt.q.cpp.201.example.0.dangerous": "Line 1: A function is considered with int return type in GCC. But, a float type is returned.",
  "rule.saqt.q.cpp.201.example.0.safe": "Line 1: Explicitly define the return type of the function.",
  "rule.saqt.q.cpp.201.name": "Missing return type",
  "rule.saqt.q.cpp.2010.description": "The Empty while Statement checker finds while statements that contain no body code.\nA while statement with no body block is not meaningful. Furthermore, if its conditional expression is true, it can fall into an infinite loop.\nDo not leave a while statement empty.",
  "rule.saqt.q.cpp.2010.example.0.dangerous": "Line 3: Body of while statements is empty.",
  "rule.saqt.q.cpp.2010.example.0.safe": "Line 4: Do not empty the body of while statements.",
  "rule.saqt.q.cpp.2010.name": "Empty while Statement",
  "rule.saqt.q.cpp.2011.description": "The Use of Hexadecimal Escape Sequence checker finds expressions that use an hexadecimal escape sequence.\nA backslash followed by three digits from 0 through 7 is considered an hexadecimal escape sequence.\nHandling hexadecimal escape sequences is an implementation-defined behavior, which can be implemented differently depending on the compiler. For example, an hexadecimal escape sequence can, depending on the following numerical digits, be expressed either as a single hexadecimal number or as an hexadecimal number followed by a decimal integer. Unaware of this possibility, developers may use an incorrect constant value.\nDo not use hexadecimal escape sequences.",
  "rule.saqt.q.cpp.2011.example.0.dangerous": "Line 3: An hexadecimal escape sequences is used.",
  "rule.saqt.q.cpp.2011.example.0.safe": "Line 3: Do not use the hexadecimal escape sequences.",
  "rule.saqt.q.cpp.2011.name": "Use of Hexadecimal Escape Sequence",
  "rule.saqt.q.cpp.204.description": "The Trailing semicolon at macro definition checker finds macro definitions whose replacement text ends with a semicolon.\nYou can optionally specify the names of the functions to be excluded from analysis.\nA semicolon is unnecessary at the end of a macro definition. A carelessly put semicolon at the end of a macro definition may unintentionally alter the program's flow. Because a semicolon may be unnecessary where a macro is invoked, semicolons must be eliminated in macro definitions.\nDo not put a semicolon at the end of a macro definition. ",
  "rule.saqt.q.cpp.204.example.0.dangerous": "Line 1: A defined macro ADD is ended with a semicolon.",
  "rule.saqt.q.cpp.204.example.0.safe": "Line 1: Do not end the macro ADD with the semicolon.",
  "rule.saqt.q.cpp.204.name": "Trailing semicolon at macro definition",
  "rule.saqt.q.cpp.204.option.exclude_macro.description": "Setup macros excluded",
  "rule.saqt.q.cpp.204.option.exclude_macro.name": "Macro excluded",
  "rule.saqt.q.cpp.205.description": "The Use of improper macro checker finds macros that include misplaced parentheses in their expressions or that are used like functions.\nThe checker finds macro declarations in which a constant or parameter is not parenthesized or an assignment statement or a function call occurs.\nAlthough macros behave in the same way as functions, they differ semantically. For example, an operation on two function-like macros may result in an unexpected behavior. Therefore, instead of using a macro like a function, change the macro to an inline or static function.\nA macro declaration should properly parenthesize constants and parameters therein and must not contain an assignment statement or a function call.",
  "rule.saqt.q.cpp.205.example.0.dangerous": "Line 1: A macro and function is defined together.\nLine 1: A macro is not enclosed with parentheses.\nLine 4: If the macro is applied, then this line is evaluated into (((24+(a))*(a))*(a)). This will produce an unexpected output.",
  "rule.saqt.q.cpp.205.example.0.safe": "Line 1: Replace the macro with inline() function.\nLine 6: Add parentheses in order to use a macro.",
  "rule.saqt.q.cpp.205.name": "Use of improper macro",
  "rule.saqt.q.cpp.206.description": "The Replacing secure function checker finds macro declarations that use the name of a forbidden function.\nForbidden functions include: asctime(), asctime_s(), atof(), strtod(), atoi(), strtol(), atol(), strtol(), atoll(), strtoll(), ctime(), ctime_s(), gets(), gets_s(), fopen(), fmemopen|open_memstream(), fopen_s(), freopen(), freopen_s(), rewind(), fseek(), setbuf(), vsetbuf(), strtok(), strtok_r(), strtok_s(), vsprintf(), vsnprintf(), strcpy(), strcpy_s(), strcat(), and strcat_s(). \nIf a macro contains a call to a forbidden function, it is no use to define it with a safe function name. It has potential risks leading to errors such as a buffer overrun. Naming a macro after a forbidden function also poses a vulnerability. It is because an implementation of the forbidden function can invoke insecure standard functions.\nAvoid the name of a forbidden function when declaring a macro.",
  "rule.saqt.q.cpp.206.example.0.dangerous": "Line 1: vsnprintf() and vsprintf() functions are forbidden to use as a macro name.",
  "rule.saqt.q.cpp.206.example.0.safe": "Line 1: Redefine a function between ifdef and endif not to use a function forbidden or unsupported by the system.",
  "rule.saqt.q.cpp.206.name": "Replacing secure function",
  "rule.saqt.q.cpp.208.description": "The Unbracketed macro including multiple statements checker finds macro definitions that span multiple lines but are not encompassed by a do-while statement.\nMacros whose definition is not enclosed in braces can unexpectedly behave when executed. If a macro with an unbraced multiline definition is placed in an unbraced if statement, only part of the macro will be executed.\nMacro definitions containing multiple statements must be encompassed by a do-while statement.",
  "rule.saqt.q.cpp.208.example.0.dangerous": "Line 6: Macro CAL() is containing two lines. But, only Line 2 (X=X+Y) is included in if statements.",
  "rule.saqt.q.cpp.208.example.0.safe": "Line 1: Enclose the macro of multiple statements with do-while statements.",
  "rule.saqt.q.cpp.208.name": "Unbracketed macro including multiple statements",
  "rule.saqt.q.cpp.209.description": "The Duplicated macro checker finds duplicate declarations of macros.\nKeep avoiding duplicate declarations of macros.",
  "rule.saqt.q.cpp.209.example.0.dangerous": "Line 1: A macro size is declared.\nLine 4: Duplicate declaration is found for the same macro.",
  "rule.saqt.q.cpp.209.example.0.safe": "Line 1: Declare the macro only once.",
  "rule.saqt.q.cpp.209.name": "Duplicated macro",
  "rule.saqt.q.cpp.209.option.exclude_macro.description": "Setup macros excluded",
  "rule.saqt.q.cpp.209.option.exclude_macro.name": "Macro excluded",
  "rule.saqt.q.cpp.211.description": "Different system structures use different byte orders (little endian or big endian). When transferring data between different systems, the byte order must be considered. htonl(), htons(), ntohl(), and ntohs() match the network byte order to the host byte order. Failure to match the byte order can lead to inaccurate results.\nMake sure to use the alignment functions appropriately to ensure that data is sent using the correct byte order.",
  "rule.saqt.q.cpp.211.example.0.dangerous": "Line 3: num data is received by recv().\nLine 7: num data is used with its byte order unchanged.",
  "rule.saqt.q.cpp.211.example.0.safe": "Line 6: Convert the data received by recv() by using ntohl().",
  "rule.saqt.q.cpp.211.name": "Incorrect Byte Order",
  "rule.saqt.q.cpp.212.description": "The Locking already locked resource checker finds attempts to lock an already locked resource.\nA lock is used to prevent an important resource from being used by multiple users simultaneously. If a resource is locked multiple times, the same number of unlocks are required to release it. Remaining locks on important resources keep them unavailable, thus possibly making users keep waiting for those resources. This may result in performance degradation and an unexpected behavior.\nWhen locking a resource, check whether it is already locked.",
  "rule.saqt.q.cpp.212.example.0.dangerous": "Line 8: A mutex is locked.\nLine 11: The locked mutex is locked again, which causes an error.",
  "rule.saqt.q.cpp.212.example.0.safe": "Line 10: Ensure to unlock a mutex before locking.",
  "rule.saqt.q.cpp.212.name": "Locking already locked resource",
  "rule.saqt.q.cpp.213.description": "The Double unlocked resource checker finds attempts to unlock an already unlocked resource.\nA lock is used to prevent an important resource from being used by multiple users simultaneously. Redundant unlocks cause an overhead that inspect an already available resource. This may result in a program crash or other unexpected behaviors.\nMake sure already unlocked resources are not unlocked again. ",
  "rule.saqt.q.cpp.213.example.0.dangerous": "Line 9: pthread_mutex_unlock() is found to unlock a mutex in if statements.\nLine 11: Another unlocking is performed, which causes an error.",
  "rule.saqt.q.cpp.213.example.0.safe": "Line 10: Ensure not to perform double unlocks on the same mutex.",
  "rule.saqt.q.cpp.213.name": "Double unlocked resource",
  "rule.saqt.q.cpp.219.description": "The Trylocking already locked resource checker finds calls to pthread_mutex_trylock() targeted at an already locked resource.\nA lock is used to prevent an important resource from being used by multiple users simultaneously. But attempts of trylock on an already locked resource fail.\nBefore a locked resource is locked by pthread_mutex_trylock(), it must be unlocked by pthread_mutex_unlock().",
  "rule.saqt.q.cpp.219.example.0.dangerous": "Line 8: A mutex is locked.\nLine 11: pthread_mutex_trylock() is trying to lock the locked mutex, then returning EBUSY.",
  "rule.saqt.q.cpp.219.example.0.safe": "Line 13: Use trylock for an unlocked mutex.Modify the pthread_mutex_trylock() to lock resources unless it does not return EBUSY.",
  "rule.saqt.q.cpp.219.name": "Trylocking already locked resource",
  "rule.saqt.q.cpp.220.description": "The Inadequate value of file descriptor checker finds calls to file- and socket-handling functions that pass a negative number.\nThe checker searches calls to the following functions:__fxstat(), _dup(), _dup2(), _fdopen(), _fstat(), _fstat32(), _fstat32i64(), _fstat64(), _fstat64i32(), _fstati64(), _lseek(), _lseeki64(), _read(), _wfdopen(), _write(), accept(), bind(), close(), closesocket(), connect(), dup(), dup2(), fcntl(), fdopen(), fpathconf(), fstat(), fstatfs(), fsync(), ftruncate(), ioctl(), ioctlsocket(), listen(), lseek(), read(), readv(), recv(), recvfrom(), recvmsg(), send(), sendmsg(), unlinkat(), write(), writev().\nIf a file or socket function is passed with a negative number as its descriptor, the program may behave in an unexpected way.\nFile or socket functions should not be passed with a negative number. ",
  "rule.saqt.q.cpp.220.example.0.dangerous": "Line 4: -1 can be returned if code fails to call open() function.\nLine 5: An error occurs if argument fd used to call write() is a negative.",
  "rule.saqt.q.cpp.220.example.0.safe": "Line 3: Check that return values of the open() is a negative.",
  "rule.saqt.q.cpp.220.name": "Inadequate value of file descriptor",
  "rule.saqt.q.cpp.221.description": "The Too large stack size checker finds instances of allocating an oversized buffer on the stack.\nBuffers larger than the specified size can cause a stack overflow.\nMake sure buffers allocated on the stack are no larger than 65535 bytes.",
  "rule.saqt.q.cpp.221.example.0.dangerous": "Line 2: The size of an array exceeds the specified size, 65535.",
  "rule.saqt.q.cpp.221.example.0.safe": "Line 2: Set the size less than the specified bytes.",
  "rule.saqt.q.cpp.221.name": "Too large stack size",
  "rule.saqt.q.cpp.221.option.max_stack_variable_size.description": "Specify the maximum size of the stack variable.",
  "rule.saqt.q.cpp.221.option.max_stack_variable_size.name": "Maximum size of the stack variable",
  "rule.saqt.q.cpp.222.description": "The Ineffective function call checker finds instances in which a function call does not affect the flow of the program at all.\nYou can optionally specify struct names excluded from analysis. \nIn a call to a function such as memset(), if the length argument assumes another value than a length by the programmer's mistake, the function cannot work as expected. Therefore, argument values must be in accordance with the function definition.\nMake sure that functions are called with correct argument values.",
  "rule.saqt.q.cpp.222.example.0.dangerous": "Line 3: An argument to set the length in memset() function is specified as '\\0'. This value has been changed into '10'.",
  "rule.saqt.q.cpp.222.example.0.safe": "Line 3: Specify the argument to set the length.",
  "rule.saqt.q.cpp.222.name": "Ineffective function call",
  "rule.saqt.q.cpp.222.option.excluded_structure.description": "Write a list of excluded structure names.",
  "rule.saqt.q.cpp.222.option.excluded_structure.name": "List of excluded structure names",
  "rule.saqt.q.cpp.2274.description": "The Class with Template Does Not Have Copy Assignment Operator Definition checker finds classes with a template that do not define an explicit copy assignment operator.\nClasses with a template refer to classes that declare a generic copy assignment operator with template parameters.\nContrary to developer expectations, a template copy assignment operator is not a user-defined copy assignment operator replacing the default copy assignment operator. This can cause members to be copied incorrectly if they need deep copying.\nMake sure each class defines an explicit copy assignment operator.",
  "rule.saqt.q.cpp.2274.example.0.dangerous": "Line 9: A template copy assign operator is declared with a template parameter.\nLine 23: A deep copy is expected in copying A. But the copy assignment operator implicitly generated by a compiler is used as code commented in Line 3.",
  "rule.saqt.q.cpp.2274.example.0.safe": "Line 3: Explicitly declare a deep copy assignment operator.\nLine 16: The copy assignment operator is explicitly being declared in Line 3.",
  "rule.saqt.q.cpp.2274.name": "Class with Template Does Not Have Copy Assignment Operator Definition",
  "rule.saqt.q.cpp.2277.description": "The Function Declaration without External Side-effect checker finds instances that functions of void return types have declared without external side-effects.\nThe external side-effect indicates to have some kinds of effects to outside. For example, reading or writing files, changing global variables, modifying reference type arguments, using volatile objects, or causing errors.\nFunctions that do not return any values without external side-effects spend time evaluating without any contributes. Which can be an unexpected behavior.\nFunctions with void return values must have external side-effects.",
  "rule.saqt.q.cpp.2277.example.0.dangerous": "Line 1: A return type of the function is void. The function does not have any external side effects.",
  "rule.saqt.q.cpp.2277.example.0.safe": "Line 5: Modify the global function. Then, the function have an external side effect.",
  "rule.saqt.q.cpp.2277.name": "Function Declaration without External Side-effect",
  "rule.saqt.q.cpp.2278.description": "The Non-constant Signed Operands of Bitwise Operator checker finds incidents that different types of operands are resulted by bitwise operations.\nMatch types of operands in bitwise operation.",
  "rule.saqt.q.cpp.2278.example.0.dangerous": "Line 4: value and mask types are different.",
  "rule.saqt.q.cpp.2278.example.0.safe": "Line 4: Change mask and value types into the same one.",
  "rule.saqt.q.cpp.2278.name": "Non-constant Operands of Bitwise Operator",
  "rule.saqt.q.cpp.2279.description": "The Diamond Problem with Non-virtual Inheritance checker finds incidents that child classes do not virtually inherit base classes in a diamond hierarchy.\nThe diamond problem is an ambiguity that arises when a class is derived from multiple base classes that are derived from the top common base class.\nA class can inherit from more than one classes in C++. However, when multiple inheritance is performed for non-virtual classes, the diamond problem can occur. Then, a compile error occurs in a call of base class method.\nA child class virtually inherits a base class only in diamond hierarchy, as the virtual inheritance has its cons and pros. An undefined behavior can occur by imprudent virtual inheritance.",
  "rule.saqt.q.cpp.2279.example.0.dangerous": "Line 2: Class B1 is virtually inheriting parent class A.\nLine 3: Class B2 is inheriting parent class A. An ambiguity occurs by a call to the parent class.\nLine 4: This create a diamond problem in class C which inherits parent class A.",
  "rule.saqt.q.cpp.2279.example.0.safe": "Line 3: Change class B2 to virtually inherit the parent class A.",
  "rule.saqt.q.cpp.2279.name": "Diamond Problem with Non-virtual Inheritance",
  "rule.saqt.q.cpp.2280.description": "The Assignment of Local Variable Address to Wide-scoped Variable checker find that expressions assign local variable addresses to variables at wide scope.\nThe variable at wide scope indicates a global variable, and others.\nLocal variables are not valid when their functions get terminated. However, even then, variables at wide scope may use the local variables. Then, the program may behave unexpectedly.\nDo not assign local variables to variables at wide scopes.",
  "rule.saqt.q.cpp.2280.example.0.dangerous": "Line 1: A pointer global variable is declared.\nLine 5: The address of a local variable is assigned to a pointer global variable.",
  "rule.saqt.q.cpp.2280.example.0.safe": "Line 2: Declare the pointer local variable.\nLine 4: Assign the address value of local variable to the pointer local variable.",
  "rule.saqt.q.cpp.2280.name": "Assignment of Local Variable Address to Wide-scoped Variable",
  "rule.saqt.q.cpp.2282.description": "The Exception Handler Missed in Main Function checker finds incidents that catch-all exception handlers are missed in main function.\nThe catch-all handler indicates statements to catch any types of exceptions. It is impossible to handle thrown exceptions due to their representation. The catch-all handlers can be represented with statements, such as catch(...).\nA program starts and ends with the main function. When an unhandled exception is thrown, it terminates in an implementation-defined manner.\nAdd the catch-all handlers to ensure main functions to handle all exceptions.",
  "rule.saqt.q.cpp.2282.example.0.dangerous": "Line 2: Unhandled exceptions cannot be caught.",
  "rule.saqt.q.cpp.2282.example.0.safe": "Line 9: Append an exception handler to caught all kinds of unhandled exceptions.",
  "rule.saqt.q.cpp.2282.name": "Exception Handler Missed in Main Function",
  "rule.saqt.q.cpp.2283.description": "The Use of cstdio Header checker finds preprocessor with cstdio header file.\nFile and I/O functions, such as fgetpos(), fopen(), ftell(), gets(), perror(), remove(), and rename(), are included to cstdio header. Such streams and file I/O have a number of unspecified and undefined implementation-defined behaviors related to them.\nDo not include the cstdio header to source code. Ensure to include headers, such as iostream, in case of streams and file I/O library needed in C++.",
  "rule.saqt.q.cpp.2283.example.0.dangerous": "Line 1: A stream I/O library header cstdio is included.",
  "rule.saqt.q.cpp.2283.example.0.safe": "Line 1: Instead of the stream I/O library header cstdio, include the iostream header.",
  "rule.saqt.q.cpp.2283.name": "Use of cstdio Header",
  "rule.saqt.q.cpp.2284.description": "The Use of cstring Header checker finds preprocessor with cstring header file.\nFunctions, such as strcpy(), strcmp(), strcat(), strchr(), strspn(), strcspn(), strpbrk(), strrchr(), strstr(), strtok(), and strlen(), are included to cstring header. As such functions cannot read or write buffer bounds, an defined action will occur. Use libraries that are secure to handle strings.\nInstead of using cstring headers, ensure to include string headers, in case of string related library needed in C++.",
  "rule.saqt.q.cpp.2284.example.0.dangerous": "Line 1: A string library header cstring is included.",
  "rule.saqt.q.cpp.2284.example.0.safe": "Line 1: Instead of the string library header cstring, include the string header.",
  "rule.saqt.q.cpp.2284.name": "Use of cstring Header",
  "rule.saqt.q.cpp.2286.description": "The Use of ctime Header checker finds preprocessor with ctime header file.\nTime-related functions of ctime header depend on implementation, or have no clear specification about, for example, time formats. Use brand-new standard libraries in C++. \nInstead of using ctime headers, ensure to include chrono headers, in case of time-related library needed in C++.",
  "rule.saqt.q.cpp.2286.example.0.dangerous": "Line 1: A time library header ctime is included.",
  "rule.saqt.q.cpp.2286.example.0.safe": "Line 1: Instead of the time library header ctime, include the chrono header.",
  "rule.saqt.q.cpp.2286.name": "Use of ctime Header",
  "rule.saqt.q.cpp.2289.description": "The Throwing of Null Exception checker finds instances of explicitly throwing a null pointer as an exception.\nA pointer handler does not catch null pointer exceptions thrown by throw statements. The exceptions are caught by integer handlers. An unintended result may occur. Especially, a handler for point type only cannot catch the exceptions, posing indeterminable issues.\nDo not throw the null pointer as an exception.",
  "rule.saqt.q.cpp.2289.example.0.dangerous": "Line 13: A null pointer is thrown as an exception. This shows 0 to be thrown as an exception.",
  "rule.saqt.q.cpp.2289.example.0.safe": "Line 13: Do not throw the null pointer as an exception.",
  "rule.saqt.q.cpp.2289.name": "Throwing of Null Exception",
  "rule.saqt.q.cpp.2290.description": "The Throwing of Pointer Type Exception checker finds statements throwing pointer type exceptions.\nIf pointer types of dynamically allocated objects are thrown as exceptions, it is ambiguous which of functions is about to free the objects. The ambiguity will be removed by handling the objects through values or references.\nDo not throw pointer types as an exception.",
  "rule.saqt.q.cpp.2290.example.0.dangerous": "Line 9: A pointer type object is thrown.",
  "rule.saqt.q.cpp.2290.example.0.safe": "Line 9: Instead of the pointer type, throw the object with value or reference.",
  "rule.saqt.q.cpp.2290.name": "Throwing of Pointer Type Exception",
  "rule.saqt.q.cpp.2291.description": "The Empty throw Statement checker finds incidents that throw statements do not throw any objects without exception handlers.\nThe empty throw statements throw temporary objects again indicating exceptions. Then, exception handling can be separated by two or more handlers, however, which is uncommon.\nEnsure to avoid using the empty throw statements except when they are in the bodies of exception handlers.",
  "rule.saqt.q.cpp.2291.example.0.dangerous": "Line 6: An empty throw statement is used in other than an exception handler.",
  "rule.saqt.q.cpp.2291.example.0.safe": "Line 6: Do not use an empty throw statement in other than an exception handler.",
  "rule.saqt.q.cpp.2291.name": "Empty throw Statement",
  "rule.saqt.q.cpp.2292.description": "The Use of Null Pointer for Integer checker finds expressions that use null pointers instead of integers.\nA null macro used to a null pointer is usually an integer, zero.\nIn short, a null macro and zero are technically same. However, they cannot be replaced each other. If they are, it is an unintended action.\nUse a null macro in case of a null pointer, and use zero for other circumstances.",
  "rule.saqt.q.cpp.2292.example.0.dangerous": "Line 9: bg() function is called by using a NULL macro as an argument.",
  "rule.saqt.q.cpp.2292.example.0.safe": "Line 9: Call the bg() function by using zero as an argument instead of the NULL macro.",
  "rule.saqt.q.cpp.2292.name": "Use of Null Pointer for Integer",
  "rule.saqt.q.cpp.2293.description": "The enum Declaration of Bit Field checker finds incidents of declaring enum types on bit fields.\nIt is forbidden to use an enum type on bit fields in C++ Standard. Basic types are not explicitly specified with signed or unsigned. Thus, the number of bits is not decisive to specify values of enums.\nDo not use the enum types on the bit fields.",
  "rule.saqt.q.cpp.2293.example.0.dangerous": "Line 4: A bitfield is declared as enum.",
  "rule.saqt.q.cpp.2293.example.0.safe": "Line 4: Do not declare the bitfield as enum.",
  "rule.saqt.q.cpp.2293.name": "enum Declaration of Bit Field",
  "rule.saqt.q.cpp.2294.description": "The Return of Argument Passed by Reference checker finds functions that take an argument passed in by reference or by const reference and return it by reference or by post.\nAn argument passed in by reference cannot be determined whether it is a temporary object or a regular object. If the argument is a temporary object, it will be deallocated when returned from the function. Using a deallocated object is undefined. Such code may output different results depending on compilers and thus is unpredictable.\nDo not let an argument passed by reference returned by reference or pointer. Do not return it, or do return a copy of it instead.",
  "rule.saqt.q.cpp.2294.example.0.dangerous": "Line 2: An argument received by reference is returned as reference.",
  "rule.saqt.q.cpp.2294.example.0.safe": "Line 2: Do not return the argument received as reference.",
  "rule.saqt.q.cpp.2294.name": "Return of Argument Passed by Reference",
  "rule.saqt.q.cpp.2295.description": "The Overloading of address operator checker finds overloaded address operators in method declaration.\nAn undefined behavior is caused by overloading address operators, and using them in incomplete types. Such code may output different results depending on compilers and thus is unpredictable.\nDo not overload the address operators.",
  "rule.saqt.q.cpp.2295.example.0.dangerous": "Line 3: An address operator is overloaded.\nLine 7: The address operator is used. Then, different operators are called between complete and incomplete types.",
  "rule.saqt.q.cpp.2295.example.0.safe": "Line 3: Do not overload the address operator.",
  "rule.saqt.q.cpp.2295.name": "Overloading of address operator",
  "rule.saqt.q.cpp.2296.description": "The Use of Virtual Inheritance checker finds child classes that are virtually inherited.\nThe virtual inheritance is a C++ technique, using them in a specified manner cannot pose issues. However, misunderstanding and misuse of the virtual inheritance can cause an undefined behavior or confusion.\nIt is recommended not to use the virtual inheritance.",
  "rule.saqt.q.cpp.2296.example.0.dangerous": "Line 2: Class D is virtually inheriting class B.",
  "rule.saqt.q.cpp.2296.example.0.safe": "Line 2: Class D does normally inherit Class B, not virtually.",
  "rule.saqt.q.cpp.2296.name": "Use of Virtual Inheritance",
  "rule.saqt.q.cpp.2297.description": "The Both Virtual and Non-Virtual Inheritance in Same Hierarchy checker finds a diamond hierarchy where the top common base class is both virtual and non-virtual and thus inherited by the final derived class in the two different ways.\nThis issue occurs in the following situation: There is the top base class in an inheritance hierarchy. The top base class is inherited by multiple classes- some of them inherit virtually and the rest non-virtually. All these derived classes are, in turn, inherited by another single class.\nIf a base class is both virtual and non-virtual in a multiple inheritance hierarchy, then there will be at least two copies of the base class sub-object in the derived object. An unintended result may occur.\nAlthough the checker reports a defect for the final derived class, you need to fix its immediate base classes so that they all inherit in the same way from the top common base class. Make sure all derived classes inherit either virtually or non-virtually from the top common base class.",
  "rule.saqt.q.cpp.2297.example.0.dangerous": "Line 2: Class B1 is virtually inheriting super parent class A.\nLine 3: Class B2 is virtually inheriting super parent class A.\nLine 4: Class B3 is inheriting super parent class A.\nLine 5: Class C is inheriting multiple classes, such as B1, B2, and B3.",
  "rule.saqt.q.cpp.2297.example.0.safe": "Line 4: Class B3 is virtually inheriting super parent class A. All base classes inherit in the same way from the top base class A.",
  "rule.saqt.q.cpp.2297.name": "Both Virtual and Non-Virtual Inheritance in Same Hierarchy",
  "rule.saqt.q.cpp.2301.description": "The Function Never Used checker finds functions that their bodies are defined, but never used.\nYet, functions with declaration or main functions are exempted.\nThe unused functions can be seen one of missing path errors.\nDefined functions must be called by other functions at least once.",
  "rule.saqt.q.cpp.2301.example.0.dangerous": "Line 5: The cef2() function is defined. But it is not called by other functions.",
  "rule.saqt.q.cpp.2301.example.0.safe": "Line 17: Call the cef2() function.",
  "rule.saqt.q.cpp.2301.name": "Function Never Used",
  "rule.saqt.q.cpp.2301.option.check_member_func.description": "Check the member function",
  "rule.saqt.q.cpp.2301.option.check_member_func.name": "Member function checking",
  "rule.saqt.q.cpp.2301.option.ignore_file.description": "Files to be excluded",
  "rule.saqt.q.cpp.2301.option.ignore_file.name": "Files to be excluded",
  "rule.saqt.q.cpp.2301.option.ignore_func.description": "Set up functions to be excluded from analyzing.",
  "rule.saqt.q.cpp.2301.option.ignore_func.name": "Functions to be excluded",
  "rule.saqt.q.cpp.2306.description": "The Throwing of Non-allowed Exception checker finds throw statements in conditional statements.\nExceptions can only be used to handle errors. Specifically, exception handling mechanism can only be used to catch invalid action only. Also, it is recommended not to show the exception handling in a normal service. It may cause an unpredictable result that an exception is used to return a function by testing on a certain conditional statement.\nEnsure not to use the throw statements in conditional statements.",
  "rule.saqt.q.cpp.2306.example.0.dangerous": "Line 4: A throw statement is used in a conditional statement.",
  "rule.saqt.q.cpp.2306.example.0.safe": "Line 3: Use the throw statement without a conditional statement.",
  "rule.saqt.q.cpp.2306.name": "Throwing of Non-allowed Exception",
  "rule.saqt.q.cpp.2310.description": "The Bit Field Declaration of Non-allowed Data Type checker finds bit field declaration of data types that are not allowed.\nBit fields can be declared as bool, signed, or unsigned types.\nBit fields can be declared as bool, signed, or unsigned types in C++ Standard. On the other hand, wchar_t type does not explicitly define a basic representation, such as signed or unsigned, thus, forbidden to use for bit fields.\nEnsure to declare bit fields with the allowed types.",
  "rule.saqt.q.cpp.2310.example.0.dangerous": "Line 2: A bitfield is declared as wchar_t type.\nLine 5: A bitfield is declared as char type.\nLine 8: A bitfield is declared as long long type.\nLine 10: A bitfield is declared as short type.\nLine 13: A bitfield is declared as int type.",
  "rule.saqt.q.cpp.2310.example.0.safe": "Line 1: Ensure to declare bit fields with the allowed types.",
  "rule.saqt.q.cpp.2310.name": "Bit Field Declaration of Non-allowed Data Type",
  "rule.saqt.q.cpp.2313.description": "The Use of Assembly Command without asm checker finds incidents that assembly commands are used without asm declaration.\nThe asm declaration can be implemented in C++. Thus, consistant mechanism can be applied. Yet, the parameter used in asm is still an implementation defined behavior. Make sure the assembly commands are used in a specified manner.\nEnsure to use the assembly commands with asm declaration.",
  "rule.saqt.q.cpp.2313.example.0.dangerous": "Line 2: An assembly command is used by declaring preprocessing statements. That is not compliant with rules.",
  "rule.saqt.q.cpp.2313.example.0.safe": "Line 3: asm is declared instead of preprocessing statements.",
  "rule.saqt.q.cpp.2313.name": "Use of Assembly Command without asm",
  "rule.saqt.q.cpp.2318.description": "The Unused parameter in virtual function checker finds incidents that virtual functions are declared with unused parameters.\nThe unused parameters are often generated due to changes in code design. Then, mismatch in parameter list occurs, which can lead to invalid function call.\nUse all parameters declared in the virtual functions.",
  "rule.saqt.q.cpp.2318.example.0.dangerous": "Line 9: unusedpara parameter is not used in a virtual function.\nLine 12: para2 parameter is not used in a virtual function.",
  "rule.saqt.q.cpp.2318.example.0.safe": "Line 9: Remove the unused unusedpara parameter.\nLine 12: Remove the unused para2 parameter.",
  "rule.saqt.q.cpp.2318.name": "Unused Parameter in Virtual Function",
  "rule.saqt.q.cpp.2319.description": "The Comment Present in Section of Code checker finds sections of code that are commented out.\nCommenting-out with C-style start and end comment markers is dangerous because C-style comments do not support nesting, and any comments already existing in the section of code would change the effect. Additionally, comments should only be used to explain aspects of the code that may not be clear from the source code itself. Code that is commented out may become out of date, which may lead to confusion when maintaining the code.\nDo not comment out code sections.",
  "rule.saqt.q.cpp.2319.example.0.dangerous": "Line 3: /**/ comment is used in code area.\nLine 4: // comment is used in code area.",
  "rule.saqt.q.cpp.2319.example.0.safe": "Line 2: Remove the comment from code area.",
  "rule.saqt.q.cpp.2319.name": "Comment Present in Section of Code",
  "rule.saqt.q.cpp.2321.description": "The Exception Thrown from Constructor or Destructor check finds constructors and destructors that throw an exception.\nExceptions must be thrown after the start of the program and before its end. Throwing an exception during the start or end is implementation-defined. The program, for example, constructs and initializes static objects before starting the main function. And once the main function ends, these static objects are destructed. Exceptions thrown during construction or destruction are handled differently depending on the compiler. These exceptions are not caught even if handlers are defined in the main function.\nDo not use a throw statement in a constructor or destructor.",
  "rule.saqt.q.cpp.2321.example.0.dangerous": "Line 4: An exception is thrown by a constructor.\nLine 7: An exception is thrown by a destructor.\nLine 11: Class C is declared as a static object. Exception handling is compiler-specific.\nLine 13: An exception handling statements is written in a main function, but which cannot catch an exception on an object defined in Line 11.",
  "rule.saqt.q.cpp.2321.example.0.safe": "Line 4: Remove the throw statement of the constructor.\nLine 7: Remove the throw statement of the destructor.",
  "rule.saqt.q.cpp.2321.name": "Exception Thrown from Constructor or Destructor",
  "rule.saqt.q.cpp.2322.description": "The Change of Static Field in Copy Constructor checker finds expressions to change values of static fields in copy constructors.\nA compiler can omit a duplicate call to copy constructor without generating its object copy. In other words, the number of calls to the copy constructor can depend on their compiler. That can be an unexpected behavior. Due to the error, it is not recommended to change values of static fields in copy constructors.\nEnsure not to change values of static members in copy constructors.",
  "rule.saqt.q.cpp.2322.example.0.dangerous": "Line 5: M_static static field value is changed.\nLine 6: M_static_sec static field value is changed.",
  "rule.saqt.q.cpp.2322.example.0.safe": "Line 5: Do not change the m_static static field value.\nLine 6: Do not change the m_static_sec static field value.",
  "rule.saqt.q.cpp.2322.name": "Change of Static Field in Copy Constructor",
  "rule.saqt.q.cpp.2324.description": "The Class with Template Does Not Have Copy Constructor Definition checker finds classes with a template that do not define an explicit copy constructor.\nClasses with a template refer to classes that declare a generic copy constructor with template parameters.\nContrary to developer expectations, a template copy constructor is not a user-defined copy constructor replacing the default copy constructor. This can cause members to be copied incorrectly if they need deep copying.\nMake sure each class defines an explicit copy constructor.",
  "rule.saqt.q.cpp.2324.example.0.dangerous": "Line 7: A template copy constructor with a template parameter is declared.\nLine 16: A deep copy is expected for copying class B, but a copy constructor implicitly generated by the compiler is used as the code commented on Line 4.",
  "rule.saqt.q.cpp.2324.example.0.safe": "Line 3: Ensure to declare the explicit deep copy constructor.\nLine 12: Use a copy constructor explicitly declared on Line 3.",
  "rule.saqt.q.cpp.2324.name": "Class with Template Does Not Have Copy Constructor Definition",
  "rule.saqt.q.cpp.2325.description": "The Uninstantiated Template checker finds a template element that is never instantiated.\nThe template element includes a class template, function template, class template method, and class template static field.\nThe uninstantiated template can be seen one of potential risks, such as an unused function. Also, the error can pose a bigger problem, such as a missing path.\nInstantiate the uninstantiated template element. And remove the template element that will not get instantiated.",
  "rule.saqt.q.cpp.2325.example.0.dangerous": "Line 2: A class template Sample is declared.\nLine 5: A class template method inst_mem is declared.\nLine 15: Inst_mem is called. Then, the template method declared in Line 5 has been instantiated.",
  "rule.saqt.q.cpp.2325.example.0.safe": "Line 9: Remove the uninstantiated class template method. Or instantiate the class template method.",
  "rule.saqt.q.cpp.2325.name": "Uninstantiated Template",
  "rule.saqt.q.cpp.2326.description": "The Ambiguous Call to Explicitly Specialized Function checker finds calls to overloaded functions that have an explicit specialization.\nExplicit specialization refers to implementing a special version of a template or template member that supersedes the primary definition for all of its parameters. For example, a function template can be explicitly specialized for all its replaceable parameters.\nExplicit specializations will be considered only after overload resolution has chosen a best match from the set of primary function templates. As overloaded functions always have higher precedence, explicit specializations may not likely be chosen as expected.\nOverloaded function templates shall not be explicitly specialized. Or do not use explicit specializations.",
  "rule.saqt.q.cpp.2326.example.0.dangerous": "Line 2: An overloading function template is defined for generic types.\nLine 6: An overloading function template is defined for pointer types.\nLine 12: An explicit specialization of function template is defined on Line 2.\nLine 18: A f() function is called. Although a developer intended to use the function defined on Line 12, the function on Line 6 is called.",
  "rule.saqt.q.cpp.2326.example.0.safe": "Line 7: Remove the overloading function template.\nLine 20: Call the f() function defined as explicit specialization on Line 13.",
  "rule.saqt.q.cpp.2326.name": "Ambiguous Call to Explicitly Specialized Function",
  "rule.saqt.q.cpp.2327.description": "The Ambiguous Call for Template Specialization Function checker finds specialized functions in which ambiguity occurs with other functions.\nThe template specialization replaces template parameters with resulting types. Then, its classes, functions, or methods will be converted.\nA unspecialized function is chosen instead of specialized one between functions with common implementation and template specialization for overloading. The choice may not be consistent with developer expectations.\nMake sure to explicitly call the specialized function to avoid an ambiguity of function call. The specialized function is called by appending angle brackets between a function name and parentheses.",
  "rule.saqt.q.cpp.2327.example.0.dangerous": "Line 1: f() function is defined.\nLine 5: f() function template is defined.\nLine 10: A function of Line 1 is called. A function of Line 1 is chosen instead of specialization of function template.\nLine 11: A specialized template of function on Line 5 is called.A casting to an int type is performed on s + 1. Then, a function of Line 5 specialized to an int type is chosen.",
  "rule.saqt.q.cpp.2327.example.0.safe": "Line 10: Explicitly call the specialized function on Line 5.\nLine 11: Explicitly call the specialized function on Line 5.",
  "rule.saqt.q.cpp.2327.name": "Ambiguous Call for Template Specialization Function",
  "rule.saqt.q.cpp.2328.description": "The Throw Involves Another Throw checker finds instances in which the assignment expression of a throw statement itself causes an exception to be thrown.\nIf an exception is thrown when constructing the exception object, or when evaluating the assignment expression that initializes the exception object, it is that exception that propagates in preference to the one that was about to be thrown. This may be inconsistent with developer expectations.\nThe assignment expression of a throw statement shall not itself cause an exception to be thrown.",
  "rule.saqt.q.cpp.2328.example.0.dangerous": "Line 4: An exception is thrown by a constructor of class E2.\nLine 10: The constructor of class E2 is called. Actually, 10 thrown by the constructor, not an object of class E2, has been thrown.",
  "rule.saqt.q.cpp.2328.example.0.safe": "Line 4: Do not throw an exception by a constructor of class E2.\nLine 10: An object of class E2 is thrown as an exception.",
  "rule.saqt.q.cpp.2328.name": "Throw Involves Another Throw",
  "rule.saqt.q.cpp.2329.description": "The Different Exception Specification checker finds instances that a single function has different exception specifications in different translation units.\nHaving a function with different exceptions in different translation units is an undefined action. Such code may output different results depending on compilers and thus is unpredictable.\nEnsure that the single function has one exception specification. Modify one of the exception specifications.",
  "rule.saqt.q.cpp.2329.example.0.dangerous": "Line 2: An exception specification of foo() function is declared as const char* type.\nLine 7: An exception specification of foo() function is declared as int type. Exception specifications between translation unit A and B are different.",
  "rule.saqt.q.cpp.2329.example.0.safe": "Line 2: The exception specification of foo() function is changed to int type. Ensure to have one exception specification event in different translation units.",
  "rule.saqt.q.cpp.2329.name": "Different Exception Specification",
  "rule.saqt.q.cpp.2332.description": "The Non-member Template Function Definition in Namespace checker finds instances that a non-member template function is defined in relative namespaces.\nCompilers use argument dependent lookup (ADL) to search names of called function. Also, the ADL can perform the lookup in scopes of namespaces. Then, functions searched from the namespaces are added to a set of function overloading, which can lead to an unintended choice.\nTo explicitly specify the function call, do not declare a non-member template function in the related namespaces.",
  "rule.saqt.q.cpp.2332.example.0.dangerous": "Line 4: An addition operator is overloaded in class B.\nLine 7: f() method is declared in class B.\nLine 15: The addition operator is overloaded with a nonmember template in namespace NS.\nLine 23: The f() method is called. An ambiguity occurs by addition within the method.",
  "rule.saqt.q.cpp.2332.example.0.safe": "Line 15: Remove the nonmember template function from the namespace NS, to explicitly specify the addition operator call.",
  "rule.saqt.q.cpp.2332.name": "Non-member Template Function Definition in Namespace",
  "rule.saqt.q.cpp.2335.description": "The Ambiguous Call to Template Base Method checker finds an expression that calls a method from its template base class.\nAn ambiguous call is made as follows: A template base class is declared. A derived class is declared inheriting from the template base class. A variable or method of the base class is accessed by the derived class. In this case, the call is made without an explicit qualifier.\nAn ambiguous method call may end up calling an unintended function.\nIn a class template with a dependent base, any name that may be found in that dependent base shall be referred to using a qualified-id or this->. This helps to call the correct method.",
  "rule.saqt.q.cpp.2335.example.0.dangerous": "Line 2: g() function is declared.\nLine 8: Template class B is inherited by template class A.\nLine 11: g() function or method is called. The call results in ambiguity.\nLine 19: g() method is declared in template class B.",
  "rule.saqt.q.cpp.2335.example.0.safe": "Line 11: g() function is explicitly called with a qualifier.\nLine 13: this directive is used to explicitly call the g() method.",
  "rule.saqt.q.cpp.2335.name": "Ambiguous Call to Template Base Method",
  "rule.saqt.q.cpp.2353.description": "The String Allocation to Invalid Type checker finds instances that a string is allocated to an object other than const char pointer.\nAn undefined action can occur by changing a string literal. For example, some implementation can store the string literal to read-only memory. However, an exception or conflict can occur by changing the string literal.\nEnsure to allocate a string to const char pointer only.",
  "rule.saqt.q.cpp.2353.example.0.dangerous": "Line 3: A string is initialized to a char pointer.\nLine 6: A string is assigned to a char pointer.\nLine 18: A string argument calls a function of char pointer.\nLine 24: A return type is a char pointer: a string is used for return value.",
  "rule.saqt.q.cpp.2353.example.0.safe": "Line 3: Initialize a string to a const char pointer.\nLine 6: Assign a string to a const char pointer.\nLine 18: Use a string argument to call a function of const char pointer.\nLine 24: A return type is a const char pointer: use a string for return value.",
  "rule.saqt.q.cpp.2353.name": "String Allocation to Invalid Type",
  "rule.saqt.q.cpp.2382.description": "The Changed loop control variable in condition or increment or decrement clause checker finds for loops in which a loop control variable is changed in the condition or increment clause.\nA loop control variable herein refers to a variable present in a for loop's control section, other than the loop counter. This variable should not be initialized in the initialization clause and must stay unchanged in the increment clause.\nIf a loop control variable changes in the increment or condition clause, it undermines code readability and makes it hard to predict the result of the code.\nTake care not to have loop control variables changed in the increment or condition clause.",
  "rule.saqt.q.cpp.2382.example.0.dangerous": "Line 14: A loop control variable, bool_a, can be changed.",
  "rule.saqt.q.cpp.2382.example.0.safe": "Line 14: Ensure that the loop control variable is not changed by condition or increase/decrease statements.",
  "rule.saqt.q.cpp.2382.name": "Changed loop control variable in condition or increment or decrement clause",
  "rule.saqt.q.cpp.2383.description": "The Non-boolean Loop Control Variable checker finds instances in which a loop control variable is changed in the body block of the loop but is not a boolean type.\nA loop control variable herein refers to a variable present in a for loop's control section, other than the loop counter. This variable should not be initialized in the initialization clause and must stay unchanged in the increment clause.\nA loop control variable is typically used to terminate the loop earlier. Therefore, if the loop control variable is a boolean type, its purpose can be more easily understood.\nBe sure to declare loop control variables as a boolean type.",
  "rule.saqt.q.cpp.2383.example.0.dangerous": "Line 10: A value is assigned to a loop control variable u8a included in a loop. The variable is not boolean.",
  "rule.saqt.q.cpp.2383.example.0.safe": "Line 10: Convert the loop control variable u8a to boolean, then, assign a value.",
  "rule.saqt.q.cpp.2383.name": "Non-boolean Loop Control Variable",
  "rule.saqt.q.cpp.2384.description": "The Use of continue in Unusually-formed for Loop checker finds instances of using a continue statement in a for loop which is not well formed.\nAn unusually-formed for loop herein refers to a loop subject to either of the following cases: The loop counter is a non-integer type or there are more than once loop counter used. A loop control variable other than the loop counter is not of the Boolean type.\nMisused continue statement in an unusually-formed for loop can cause an unintended control flow. This may lead to an infinite loop, terminating the process.\nDo not use a continue in a for loop unless it is well formed. Modify the source code to ensure the for loop behaves as intended without a continue.",
  "rule.saqt.q.cpp.2384.example.0.dangerous": "Line 5: A continue statement is used in unstructured for statements.",
  "rule.saqt.q.cpp.2384.example.0.safe": "Line 5: Do not use a continue in a for loop unless it is well formed.",
  "rule.saqt.q.cpp.2384.name": "Use of continue in Unusually-formed for Loop",
  "rule.saqt.q.cpp.2385.description": "The Internal-Linkage Function without Static Storage Class checker finds instances in which a function is declared with internal linkage but later defined without applying the static storage class specifier to its redeclaration.\nA function declared with the static storage class specifier already has internal linkage. If the same specifier is not applied to the function's redeclaration when it is defined, it may cause confusion to developers.\nIf a function has internal linkage, then all redeclarations need to include the static storage class specifier.",
  "rule.saqt.q.cpp.2385.example.0.dangerous": "Line 1: A function is declared to include a static storage class.\nLine 5: A static storage class is not specified in function redeclaration.",
  "rule.saqt.q.cpp.2385.example.0.safe": "Line 5: Specify a static storage class in function redeclaration.",
  "rule.saqt.q.cpp.2385.name": "Internal-Linkage Function without Static Storage Class",
  "rule.saqt.q.cpp.2386.description": "The Missing Catch for Explicitly Thrown Exception checker finds instances in which an exception explicitly thrown in code does not have a handler of a compatible type in all call paths that could lead to that point.\nIf a program throws an unhandled exception, it terminates in an implementation-defined manner. In particular, it is implementation-defined whether the call stack is unwound before termination, so the destructors of any automatic objects may or may not be invoked.\nMake sure the program catches all exceptions that it is expected to throw.",
  "rule.saqt.q.cpp.2386.example.0.dangerous": "Line 11: MISRA_15_3_4___A() is thrown.\nLine 15: MISRA_15_3_4___B() is thrown.This cannot be handled by catch statements.\nLine 18: MISRA_15_3_4___A() is handled by the catch statements.",
  "rule.saqt.q.cpp.2386.example.0.safe": "Line 22: Add catch statements to handle the MISRA_15_3_4___B().",
  "rule.saqt.q.cpp.2386.name": "Missing Catch for Explicitly Thrown Exception",
  "rule.saqt.q.cpp.2387.description": "The Non-const Handle Returned to Class Data checker finds instances in which a member function returns a non-const handle to class data.\nBy implementing class interfaces with member functions, the implementation retains more control over how the object state can be modified and helps to allow a class to be maintained without affecting clients. Returning a handle to class data allows for clients to modify the state of the object without using any interfaces.\nDo not define a member function to return a non-const handle to class data.",
  "rule.saqt.q.cpp.2387.example.0.dangerous": "Line 6: A member variable a is returned by a member function of class.\nLine 10: A member variable a is declared in a class.",
  "rule.saqt.q.cpp.2387.example.0.safe": "Line 6: Remove a code to return a member variable from a member function of class.",
  "rule.saqt.q.cpp.2387.name": "Non-const Handle Returned to Class Data",
  "rule.saqt.q.cpp.2388.description": "The Token Mismatch in Redeclaration checker finds instances that a type of object, return type, or parameter is not token-identical in declaration and redeclaration.\nDespite of compatible types of redeclaration, Redeclaration does not specify exact declaration for a type of nonidentical token.\nEnsure to redeclare the token specified in declaration.",
  "rule.saqt.q.cpp.2388.example.0.dangerous": "Line 2: A variable is declared as int.\nLine 3: A variable is declared as int.\nLine 9: A parameter of function is declared as signed int.\nLine 10: A parameter of function is declared as int.",
  "rule.saqt.q.cpp.2388.example.0.safe": "Line 3: Override the variable to be the same type of a predeclared variable.\nLine 9: Override the parameter to be the same type of a predeclared parameter.",
  "rule.saqt.q.cpp.2388.name": "Token Mismatch in Redeclaration",
  "rule.saqt.q.cpp.2390.description": "The Misuse of unsigned int-type Suffix checker finds instances that a suffix U is not specified for an integer literal of unsigned int type.\nSpecify the suffix U for the unsigned integer literal.",
  "rule.saqt.q.cpp.2390.example.0.dangerous": "Line 19: A hexadecimal number, 0x8000, of unsigned int type is used as an argument in a function call.\nLine 20: A hexadecimal number, 0x8000, of unsigned int type is used in an expression.",
  "rule.saqt.q.cpp.2390.example.0.safe": "Line 19: Append a suffix U at the end of 0x8000.\nLine 20: Append a suffix U at the end of 0x8000.",
  "rule.saqt.q.cpp.2390.name": "Misuse of unsigned int-type Suffix",
  "rule.saqt.q.cpp.2392.description": "The Missing Termination of Case checker finds switch statements in which a non-empty case clause is not terminated with a throw or break statement.\nIn a switch statement, the last case and default blocks must be terminated with a break or throw.",
  "rule.saqt.q.cpp.2392.example.0.dangerous": "Line 18: A break is not added for a case statement.\nLine 21: A break is not added for a default statement.",
  "rule.saqt.q.cpp.2392.example.0.safe": "Line 20: Add a break to the case statement.\nLine 22: Add a break to the case statement.",
  "rule.saqt.q.cpp.2392.name": "Missing Termination of Case",
  "rule.saqt.q.cpp.2394.description": "The Use of C Style Memory-related Function checker finds an expression with c-style memory function to allocate or free a class type.\nWhen you allocate or free a class with the c-style memory function, do not call a constructor or destructor. Unless the constructor or destructor is not called, an wanted behavior is likely to occur.\nUse a C++ memory operator instead of the c-style memory function, for example, new operator instead of malloc(), and delete operator instead of free().",
  "rule.saqt.q.cpp.2394.example.0.dangerous": "Line 1: malloc() function is used. And a constructor is not called.",
  "rule.saqt.q.cpp.2394.example.0.safe": "Line 1: new operator is used instead of malloc() function.",
  "rule.saqt.q.cpp.2394.name": "Use of C Style Memory-related Function",
  "rule.saqt.q.cpp.249.description": "The Infinite loop checker finds loops that may potentially execute an infinite number of iterations. \nThe checker determines there can possibly be an infinite loop if: - An intentional infinite loop is used without a break or return statement to exit the loop. You can optionally set the checker not to raise the alarm for this case.- In a for loop, the condition section is empty. When using a for loop, it is recommended to add an exit condition to the condition section. You can optionally set the checker not to raise the alarm for this case.- In a for loop, the loop counter's value is modified within the loop block. In a for loop, it is recommended to let the loop counter count only in the increment section. You can optionally set the checker not to raise the alarm for this case.- A loop counter of a base type such as int is compared for equality (==) or inequality (!=) and does not constantly increment or decrement at each iteration. - A loop counter of a base type such as int increments or decrements in the direction opposite to the loop limit value. - The value of a loop counter remains unchanged in the loop. \nIf an action such as memory allocation is repeated infinitely, the program will be forcibly terminated, possibly damaging the system.\nDo not write code that may fall into an infinite loop. An infinite loop continuously consumes resources while keeping the program running.",
  "rule.saqt.q.cpp.249.example.0.dangerous": "Line 1: i is compared for inequality (!=) with 10 and does not constantly increase at each iteration.\nLine 4: A value of ptr is remaining unchanged in a loop.\nLine 7: A value of i has a lower bound, but increases. Thus, the loop has never been executed or infinitely repeated.",
  "rule.saqt.q.cpp.249.example.0.safe": "Line 1: Use comparison operation, such as <, >, <=, and >=, on i.\nLine 4: Modify the value of ptr to be unchanged in the loop.\nLine 7: Modify the bound and increment/decrement.",
  "rule.saqt.q.cpp.249.name": "Infinite loop",
  "rule.saqt.q.cpp.249.option.ignore_assigned_in_for_body.description": "The issue of loop counter changing inside the for loop block is ignored if chosen to do so.",
  "rule.saqt.q.cpp.249.option.ignore_assigned_in_for_body.name": "Ignore issues of loop counter changing inside the for loop block.",
  "rule.saqt.q.cpp.249.option.ignore_empty_condition_in_for.description": "The issue of empty conditions of for loop is ignored if chosen to do so.",
  "rule.saqt.q.cpp.249.option.ignore_empty_condition_in_for.name": "Ignore issues of empty conditions of for loop.",
  "rule.saqt.q.cpp.249.option.ignore_while_true_idiom.description": "Intentional infinite loop like for(;;) or while(1) is ignored if chosen to do so.",
  "rule.saqt.q.cpp.249.option.ignore_while_true_idiom.name": "Ignore issues about intentional infinite loop",
  "rule.saqt.q.cpp.250.description": "The Misuse of socket checker finds instances of misusing a socket-related function.\nSocket-related functions must be called only in some appropriate states, and the checker reports for calls made to those functions in an improper state. A call to a socket function in an improper state may cause an unexpected result.\nMake sure socket-related functions are called in an appropriate sequence.",
  "rule.saqt.q.cpp.250.example.0.dangerous": "Line 2: A socket file descriptor 'server_sockfd' is initialized to 0.\nLine 9: An uninitialized 'server_sockfd' is used.",
  "rule.saqt.q.cpp.250.example.0.safe": "Line 5: Initialize the socket file descriptor though socket() function to bind.",
  "rule.saqt.q.cpp.250.name": "Misuse of socket",
  "rule.saqt.q.cpp.257.description": "The Use of forbidden function checker finds calls to a forbidden function.\nYou can optionally specify functions that should not be called.\nA project may have to prohibit calling certain functions for some reasons: 1) code needs to be consistent throughout the project; 2) those functions have become obsolete and now better approaches are available; or 3) those functions have fundamental defects.\nDo not call forbidden functions. Unless the intended behavior itself is prohibited, you need to consider implementing the same behavior by other means.",
  "rule.saqt.q.cpp.257.example.0.dangerous": "Line 2: Assume that forbidden() function is forbidden here.",
  "rule.saqt.q.cpp.257.example.0.safe": "Line 2: Use other function instead of the forbidden one.",
  "rule.saqt.q.cpp.257.name": "Use of forbidden function",
  "rule.saqt.q.cpp.257.option.forbidden_function.description": "Write the name of the forbidden function.<br />Example) forbidden",
  "rule.saqt.q.cpp.257.option.forbidden_function.name": "Name of the function to forbid",
  "rule.saqt.q.cpp.262.description": "The Comparing function pointer instead of return value checker finds instances in which a function is pointed to where it is to be called.\nIf a function name is not followed by a list of arguments, the name becomes a pointer to the function. Do not be confused between a function pointer and a function call.",
  "rule.saqt.q.cpp.262.example.0.dangerous": "Line 8: A return value of function is not compared, only function pointers is.",
  "rule.saqt.q.cpp.262.example.0.safe": "Line 8: Modify to compare the return value of function.",
  "rule.saqt.q.cpp.262.name": "Comparing function pointer instead of return value",
  "rule.saqt.q.cpp.2738.description": "The Adjustment of Pointer Size for Pointer Operation checker finds instances of manually adjusting a pointer's size in order to perform an operation on the pointer.\nWhen an operation is performed on a pointer, its size is automatically adjusted to match the type of the object being pointed to. Manual adjustments of the pointer size, therefore, are merely redundant and rather improper.\nDo not manually adjust pointer size.",
  "rule.saqt.q.cpp.2738.example.0.dangerous": "Line 3: A pointer operation is performed on pointer buf by using sizeof operator.",
  "rule.saqt.q.cpp.2738.example.0.safe": "Line 3: Use a unscaled value in pointer operation.",
  "rule.saqt.q.cpp.2738.name": "Adjustment of Pointer Size for Pointer Operation",
  "rule.saqt.q.cpp.274.description": "The Function declaration within header file checker finds header files that contain a function definition.\nDo not define a function in a header file.",
  "rule.saqt.q.cpp.274.example.0.dangerous": "Line 2: A function is defined in a header file.",
  "rule.saqt.q.cpp.274.example.0.safe": "Line 5: Declare the function in the header file, and define it in a source file.",
  "rule.saqt.q.cpp.274.name": "Function declaration within header file",
  "rule.saqt.q.cpp.2751.description": "The Ambiguous Call to Template Function checker finds expressions that call a template function ambiguously.\nAn ambiguous call is made as follows: Regular Function A is declared with a name of \"X.\" Template Function B is defined to call Function A. Subsequently, in Namespace C, Struct D is defined to contain a conversion operator of the same type as that of Function A's parameter. In the same Namespace C, Function E is defined to take Struct D as an argument and have the same name of \"X\" as Function A. Function F is defined in which an object of Struct D is defined and then a function named \"X\" is called. In this situation, it is unclear which function is referred to by the name \"X\" between Function A and Function E. An ambiguous function call may end up calling an unintended function.\nUse a qualifier to clarify the function you are intending. This helps to call the correct function.",
  "rule.saqt.q.cpp.2751.example.0.dangerous": "Line 1: b() function is declared.\nLine 5: The b() function is called in f() function template.\nLine 9: Structure A is declared in namespace NS. The Structure A includes a conversion operator for int type.\nLine 16: The b() function is declared in namespace NS. Then, the function takes type A as an argument.\nLine 21: The f() function is called. The b() function called on Line 5 gets obscured.",
  "rule.saqt.q.cpp.2751.example.0.safe": "Line 5: Explicitly call the globally located b() function by using the modifier.",
  "rule.saqt.q.cpp.2751.name": "Ambiguous Call to Template Function",
  "rule.saqt.q.cpp.2752.description": "The Using Casting to Remove const Qualifier rule detects the use of casting that removes the const qualifier to modify const objects.\nBy using the const qualifier, you are stating that this object should not be modified in the future. Therefore, arbitrarily modifying the state of these objects can cause incorrect behaviour.\nAvoid casting const objects to remove the const qualifier. If you absolutely need to modify the value, don't declare the object as const. For classes, keep const but use the mutable modifier if you need to modify the value in an exception. This allows you to declare mutable member variables even if the class is declared as constant.",
  "rule.saqt.q.cpp.2752.example.0.dangerous": "Line 6: A dereference occurs in a const pointer, v.",
  "rule.saqt.q.cpp.2752.example.0.safe": "Line 3: If you need to change its value, declare it as variable instead of const.",
  "rule.saqt.q.cpp.2752.name": "Using Casting to Remove const Qualifier",
  "rule.saqt.q.cpp.2754.description": "The Violation of va_start Macro Limitation rule detects violations of the limitations of the va_start macro used when dealing with variable arguments.\nThe limitations of the va_start macro include the following items.\nYou must not pass a reference type as the second argument to the va_start macro.\nPassing a class with a generic copy constructor, move constructor, or destructor as the second argument is supported as Implementation defined, which means that it may or may not be supported by the compiler.\nYou can pass parameters declared with the register keyword or parameters of function type.\nYou should not pass an object of type array.\nYou should not pass objects that cause default argument promotion.\nViolating any of the limitations of the va_start macro is undefined behaviour.\nThe result of this code is compiler-dependent and unpredictable.\nTry to write programs that respect the limitations of the va_start macro.",
  "rule.saqt.q.cpp.2754.example.0.dangerous": "Line 3: A float type is used for the second argument of va_start().",
  "rule.saqt.q.cpp.2754.example.0.safe": "Line 3: Modify its type from float to double.",
  "rule.saqt.q.cpp.2754.name": "Violation of va_start Macro Limitation",
  "rule.saqt.q.cpp.2763.description": "The Unfreed Memory after Use of tss_create() checker finds instances in which an allocated thread-specific storage remains unfreed.\nAn unfreed thread-specific storage can cause a memory leak.\nOnce a thread-specific storage is allocated by the tss_create() function, it must be freed after its use.",
  "rule.saqt.q.cpp.2763.example.0.dangerous": "Line 11: An unfreed memory is returned.\nLine 21: get_data() function is called. A memory leak can occur.\nLine 41: get_data() function is called by add_data(). A memory leak can occur.",
  "rule.saqt.q.cpp.2763.example.0.safe": "Line 10: Define a destructor function. A memory will be freed within a function.\nLine 18: The destructor is called by the second argument of tss_create(). A allocated memory is freed.",
  "rule.saqt.q.cpp.2763.name": "Unfreed Memory after Use of tss_create()",
  "rule.saqt.q.cpp.2766.description": "The Pointing to Atomic Variable Twice in Single Expression checker finds instances of referencing an atomic variable twice in the same expression.\nIf the same atomic variable appears twice in an expression, then two atomic reads, or an atomic read and an atomic write, are required. Such a pair of atomic operations is not thread-safe, as another thread can modify the atomic variable between the two operations. Consequently, an atomic variable must not be referenced twice in the same expression.\nDo not refer an atomic variable twice in the same expression.",
  "rule.saqt.q.cpp.2766.example.0.dangerous": "Line 13: In a multi-threaded environment, atomic variables can have unintended values.",
  "rule.saqt.q.cpp.2766.example.0.safe": "Line 15: Use atomic_compare_exchange_weak() to ensure that the atomic variable have a correct value.",
  "rule.saqt.q.cpp.2766.name": "Reference to Atomic Variable Twice in Expression",
  "rule.saqt.q.cpp.2767.description": "The Failure of atomic_compare_exchange_weak() checker finds calls to the atomic_compare_exchange_weak() function that are not wrapped in a loop.\nThe atomic_compare_exchange_weak() function attempts to set an atomic variable to a new value but only if it currently possesses a known old value. If not wrapped in a loop, a call to this function may fail spuriously.\nMake sure atomic_compare_exchange_weak() is called only within a loop.",
  "rule.saqt.q.cpp.2767.example.0.dangerous": "Line 19: atomic_compare_exchange_weak() function are not called within a loop.",
  "rule.saqt.q.cpp.2767.example.0.safe": "Line 27: Ensure that atomic_compare_exchange_weak() is called within a loop.",
  "rule.saqt.q.cpp.2767.name": "Failure of atomic_compare_exchange_weak()",
  "rule.saqt.q.cpp.2768.description": "The Conflicting Storage Classes checker finds instances in which the declaration and definition of the same function or object use different conflicting storage classes.\nIt is undefined that a function or object is declared and defined with respectively different storage classes. Such code may output different results depending on compilers and thus is unpredictable.\nMake sure that any function and object is declared and defined with the same storage class.",
  "rule.saqt.q.cpp.2768.example.0.dangerous": "Line 8: A static link defined on Line 2 is overrided to a generic variable. A storage class is conflicted.\nLine 11: A static link declared on Line 5 is defined to a generic variable. A storage class is conflicted.",
  "rule.saqt.q.cpp.2768.example.0.safe": "Line 1: Ensure that a storage class of function or object does not cause conflicts.",
  "rule.saqt.q.cpp.2768.name": "Conflicting Storage Classes",
  "rule.saqt.q.cpp.2769.description": "The Unused return of standard libraries checker finds expressions that do not use the return of a standard library function.\nYou cannot assume that calls to standard library functions will always be successful. If code is written based on the success of a call to a standard library function but it is actually failed, various issues can arise.\nBe sure to check the return of standard library functions and handle their failures.",
  "rule.saqt.q.cpp.2769.example.0.dangerous": "Line 9: A return value of setlocale() function is not checked.",
  "rule.saqt.q.cpp.2769.example.0.safe": "Line 9: Ensure to check the return value of setlocale() function.",
  "rule.saqt.q.cpp.2769.name": "Unused return of standard libraries",
  "rule.saqt.q.cpp.2770.description": "The Incorrect Vararg Type checker finds calls to the va_arg() function made with an argument of an incorrect type.\nThe type passed to va_arg() must be correct. For example, if an integer type is passed to va_arg() but it is smaller than int, an integer promotion may occur, altering the value.\nIt is recommended to pass the int type to va_arg() so that issues such as integer promotions can be effectively prevented.",
  "rule.saqt.q.cpp.2770.example.0.dangerous": "Line 8: An unsigned char type is passed to va_arg macro.",
  "rule.saqt.q.cpp.2770.example.0.safe": "Line 8: Use an int type for va_arg macro to avoid an error such as integer promotion.",
  "rule.saqt.q.cpp.2770.name": "Incorrect Vararg Type",
  "rule.saqt.q.cpp.2771.description": "The Comparison on Floating-point Objects checker finds instances of performing a memory comparison on floating-point objects.\nIf structs contain a floating-point object, a memory comparison performed to check for their equality may not be enough to ensure the code behaves as intended.Factors like a floating-point error can cause an unexpected result.\nDo not perform a memory comparison on floating-point objects. Use a function such as memcmp() instead.",
  "rule.saqt.q.cpp.2771.example.0.dangerous": "Line 14: A memory comparison operation is performed on a float type.",
  "rule.saqt.q.cpp.2771.example.0.safe": "Line 14: Use memcmp() or another function instead of the memory comparison operation.",
  "rule.saqt.q.cpp.2771.name": "Comparison on Floating-point Objects",
  "rule.saqt.q.cpp.2772.description": "The Use of Incorrect Integer Precision checker finds instances of using an incorrect integer precision.\nInteger types in C have both a size and a precision. If the sizeof operator is used to compute the precision of an integer type, it may result in too large a value, which can then lead to unintended behavior.\nUse correct integer precisions.",
  "rule.saqt.q.cpp.2772.example.0.dangerous": "Line 4: A sizeof is used to measure integer precision.",
  "rule.saqt.q.cpp.2772.example.0.safe": "Line 7: Measure integer precision without sizeof.",
  "rule.saqt.q.cpp.2772.name": "Use of Incorrect Integer Precision",
  "rule.saqt.q.cpp.2773.description": "The Manipulation of Another Thread's Mutex checker finds instances of unlocking or destroying another thread's mutex.\nThis issue may affect the program performance or potentially lead to causing an error.\nDo not unlock or destroy another thread's mutex.",
  "rule.saqt.q.cpp.2773.example.0.dangerous": "Line 6: A mutex of another thread is destroyed.",
  "rule.saqt.q.cpp.2773.example.0.safe": "Line 8: Destroy the mutex after other threads end.",
  "rule.saqt.q.cpp.2773.name": "Manipulation of Another Thread's Mutex",
  "rule.saqt.q.cpp.2774.description": "The Local Variable Shared between Threads checker finds instances in which a thread-local variable is accessed by another POSIX thread.\nAccessing the stack or thread-local variables of a thread from another thread can cause invalid memory accesses.\nThis issue may affect the program performance or potentially lead to causing an error.\nTo allow data sharing between threads, use allocated memory or static variables.",
  "rule.saqt.q.cpp.2774.example.0.dangerous": "Line 16: Local variable val is shared.",
  "rule.saqt.q.cpp.2774.example.0.safe": "Line 16: Share the allocated memory.",
  "rule.saqt.q.cpp.2774.name": "Local Variable Shared between Threads",
  "rule.saqt.q.cpp.2775.description": "The Violation of naming rule for enum type checker finds enumerator names that include a character other than an uppercase letter or an underscore (_).\nMake sure enumerators are named only with uppercase letters and underscores.",
  "rule.saqt.q.cpp.2775.example.0.dangerous": "Line 2: Lowercases are used to define an enum.",
  "rule.saqt.q.cpp.2775.example.0.safe": "Line 2: Use uppercases to define an enum.",
  "rule.saqt.q.cpp.2775.name": "Violation of naming rule for enumeration type",
  "rule.saqt.q.cpp.2784.description": "The Missing Include Guard in Class Definition Header checker finds header files that define a class but do not enclose it with include guards.\nInclude guards are preprocessor directives that enclose a header file to prevent duplicates of globally used class declarations. Modern compilers support other equivalent commands like #pragma once.\nWithout include guards enclosing, a duplicate declaration may occur, causing a compile error.\nHeader files with a class definition must be enclosed with preprocessor directives or start with #pragma once.",
  "rule.saqt.q.cpp.2784.example.0.dangerous": "Line 1: A class is defined without include guard in a header file.",
  "rule.saqt.q.cpp.2784.example.0.safe": "Line 1: Use a preprocessing statement or #pragma once.",
  "rule.saqt.q.cpp.2784.name": "Missing Include Guard in Class Definition Header",
  "rule.saqt.q.cpp.2785.description": "The Violation of Operator Spacing Rule checker finds instances in which an operator and its operand are not separated by a space.\nPut a whitespace between an operator and its operand.",
  "rule.saqt.q.cpp.2785.example.0.dangerous": "Line 2: No whitespace is found between + operator and operands on both sides.\nLine 5: No whitespace is found between + operator and a operand on the left side.\nLine 6: No whitespace is found between + operator and operands on the right side.\nLine 7: No whitespace is found between + operator and its operands.",
  "rule.saqt.q.cpp.2785.example.0.safe": "Line 1: Add a whitespace between operator and its operands.",
  "rule.saqt.q.cpp.2785.name": "Violation of Operator Spacing Rule",
  "rule.saqt.q.cpp.2786.description": "The Use of constexpr in switch checker finds instances of using constexpr in a switch or case statement.\nPart of the modern C++ standard, constexpr indicates that the value, or return value, is constant and, where possible, is computed at compile time. However, if the compiler does not support C++11 or higher, it is highly likely to fail to parse this specifier normally. This rule, therefore, forbids the use of constexpr in a switch statement.\nDo not use constexpr in a switch statement. Use a pre-computed constant instead.",
  "rule.saqt.q.cpp.2786.example.0.dangerous": "Line 6: A function returning constexpr is used in a switch statement. The function is evaluated at compile time, but, cannot be compiled by old compilers.",
  "rule.saqt.q.cpp.2786.example.0.safe": "Line 6: Do not use constexpr in a switch statement. Instead, use an evaluated constant.",
  "rule.saqt.q.cpp.2786.name": "Use of constexpr in switch",
  "rule.saqt.q.cpp.2787.description": "The Range Error in Math Function checker finds domain and range errors in math functions.\nA domain error occurs if an input argument is outside the domain over which the mathematical function is defined. A range error occurs if the mathematical result of the function cannot be represented in an object of the specified type, due to extreme magnitude.\nIn both cases, the function will return some value, but the value returned is not the correct result of the computation. This can cause issues.\nCheck the range of the input value before using a math function, then check the range of the output value.",
  "rule.saqt.q.cpp.2787.example.0.dangerous": "Line 3: An argument of sqrt() function can be a negative.",
  "rule.saqt.q.cpp.2787.example.0.safe": "Line 4: Use a scope check to avoid domain errors.",
  "rule.saqt.q.cpp.2787.name": "Range Error in Math Function",
  "rule.saqt.q.cpp.2788.description": "The Destruction of Locked Mutex checker finds expressions that destroy a mutex while it is locked.\nMutexes are used to protect shared data structures being concurrently accessed.\nIf a mutex is destroyed while a thread is blocked waiting for that mutex, critical sections and shared data are no longer protected.\nMake sure mutexes are not destroyed while they are locked.",
  "rule.saqt.q.cpp.2788.example.0.dangerous": "Line 22: A mutex can be destroyed before unlocked by another thread.",
  "rule.saqt.q.cpp.2788.example.0.safe": "Line 33: Combine a thread, then destroy the mutex to remove a race condition.",
  "rule.saqt.q.cpp.2788.name": "Destruction of Locked Mutex",
  "rule.saqt.q.cpp.2790.description": "The Shared Object with Expired Storage Duration checker finds instances in which an object shared between threads has a shorter storage duration than the threads' lifetimes.\nObjects with a short storage duration can include thread-local variables.\nDepending on the execution order, a child thread might reference a variable after the variable's lifetime in the parent thread. This would cause the child thread to access an invalid memory location. Accessing a thread-local variable of one thread from another thread is implementation-defined.\nInstead of a thread-local variable, which has a short storage duration, use a static object, which persists until the program terminates.",
  "rule.saqt.q.cpp.2790.example.0.dangerous": "Line 9: A local variable is passed to an argument of thread.",
  "rule.saqt.q.cpp.2790.example.0.safe": "Line 9: Pass a static variable instead of local.",
  "rule.saqt.q.cpp.2790.name": "Shared Object with Expired Storage Duration",
  "rule.saqt.q.cpp.2791.description": "The Occurrence of Deadlock checker finds instances of failure to avoid deadlock by locking mutexes in the predefined order.\nSometimes, when locking mutexes, multiple threads hold each other's lock, and the program consequently deadlocks.\nIf mutexes are not locked in the predefined order, deadlock may occur. The deadlock prevents multiple threads from progressing, halting program execution.\nTo prevent deadlock, be sure to lock mutexes in the correct order.",
  "rule.saqt.q.cpp.2791.example.0.dangerous": "Line 24: This locks a mutex.\nLine 29: A deadlock can occur due to mutex lock orders. For details, see CON35-C case of CERT.",
  "rule.saqt.q.cpp.2791.example.0.safe": "Line 33: Avoid the deadlock by locking mutex in a predefined order.",
  "rule.saqt.q.cpp.2791.name": "Occurrence of Deadlock",
  "rule.saqt.q.cpp.2792.description": "The Misuse of Condition Variable checker finds instances of using condition variables incorrectly, thereby undermining thread safety and liveness.\nMisuse of condition variables refers to an inappropriate invocation of the cnd_wait() function, which is typically used to unblock a thread.\nMisuse of condition variables can result in indefinite blocking.\nMake sure each thread uses a unique condition variable. Alternatively, you can use cnd_broadcast() instead of cnd_signal().",
  "rule.saqt.q.cpp.2792.example.0.dangerous": "Line 17: An indefinite block can occur in a specific scenario. For details, see CON38-C case of CERT.",
  "rule.saqt.q.cpp.2792.example.0.safe": "Line 2: Use a unique condition variable for each thread.\nLine 21: Use a unique condition variable for each thread.",
  "rule.saqt.q.cpp.2792.name": "Misuse of Condition Variable",
  "rule.saqt.q.cpp.2804.description": "The Already Owned Pointer checker finds incidents to store pointers already-owned by smart pointers to other smart pointers.\nStoring the already-owned pointers to other smart pointers can lead to double-freeing vulnerabilities. For example, when a destructor is called from the smart pointer with original ownership, the owned pointer will be freed from memories. However, when a destructor is called from the another smart pointer with ownership, the owned pointer needs to be freed again.\nTherefore, do not store an already-owned pointer to another smart pointer.",
  "rule.saqt.q.cpp.2804.example.0.dangerous": "Line 2: Stored dynamically allocated memory in variable i\nLine 3: Owned variable i, which is dynamically allocated memory from p1 smart pointer.\nLine 4: Stored memory already owned by p2 smart pointer.",
  "rule.saqt.q.cpp.2804.example.0.safe": "Line 3: Only dynamically allocated memory is owned by one smart pointer.",
  "rule.saqt.q.cpp.2804.name": "Already Owned Pointer",
  "rule.saqt.q.cpp.2805.description": "The Use of volatile Qualifier for Reference Type checker finds code that uses a volatile qualifier for reference type.\nThis can cause an undefined behavior, store an unexpected result, and compromise data integrity.\nDo not use a volatile qualifier for a reference type.",
  "rule.saqt.q.cpp.2805.example.0.dangerous": "Line 3: A volatile qualifier is used for a reference type.",
  "rule.saqt.q.cpp.2805.example.0.safe": "Line 3: Do not use a reference type due to the volatile qualifier.",
  "rule.saqt.q.cpp.2805.name": "Use of volatile Qualifier for Reference Type",
  "rule.saqt.q.cpp.2806.description": "The Return from noreturn Function checker finds return statements from noreturn functions.\nWhich includes both explicit and implicit returns.\nA noreturn function with a return statement is an undefined behavior, which can possibly return different values depending on its compiler.\nDo not use return for a function declared by [[noreturn]].",
  "rule.saqt.q.cpp.2806.example.0.dangerous": "Line 1: A function is declared with [[noreturn]] property.\nLine 5: Line 9 can be reached if i = zero.\nLine 9: The return statement is included in the function. If not, the compiler implicitly generates a return statement.",
  "rule.saqt.q.cpp.2806.example.0.safe": "Line 5: Write code to avoid return statements in the control flow.",
  "rule.saqt.q.cpp.2806.name": "Return from noreturn Function",
  "rule.saqt.q.cpp.2807.description": "The Array with Polymorphism checker finds code that assigns static pointer types to dynamic type objects.\nAn undefined behavior can occur by removing an array through invalid type of pointer.\nEnsure to use an object with declared type while assigning it to an array. If you need to assign an inherited class of declared object, convert the declared type into an inherited type.",
  "rule.saqt.q.cpp.2807.example.0.dangerous": "Line 17: A derived type array is assigned to base type pointer b.\nLine 18: A derived2 type array is assigned to base2 type pointer a.",
  "rule.saqt.q.cpp.2807.example.0.safe": "Line 17: Assign a base type array to the base type pointer b.\nLine 18: Assign a base2 type array to the base2 type pointer a.",
  "rule.saqt.q.cpp.2807.name": "Array with Polymorphism",
  "rule.saqt.q.cpp.2808.description": "The Increase/Decrease Iterator by more than One checker finds increase/decrease operation on iterators by more than one.\nA pointer can point an address for the last index of an array. An iterator can point an address for the last element as well.\nIf increasement or decreasement of a pointer or iterator results out-of-range numbers of its container, this may occur a runtime error or undefined behavior.\nDo not use an expression of integer type to increase or decrease by 2 or more.",
  "rule.saqt.q.cpp.2808.example.0.dangerous": "Line 5: Iterator i is increased by 2 in a for statement.",
  "rule.saqt.q.cpp.2808.example.0.safe": "Line 5: Increase the iterator i by 1 in the for statement.",
  "rule.saqt.q.cpp.2808.name": "Increase/Decrease Iterator by more than One",
  "rule.saqt.q.cpp.2809.description": "The Call to mutex_unlock() Function without Exception Handling checker finds calls to mutex_unlock() functions without exception handling.\nBecause a mutex remains locked while an exception occurs. Then, the program may behave unexpectedly.\nMake the mutex to be unlocked for the exception when accessing to a shared resource. For example, use mutex_unlock() function in exception handling statements such as a catch.",
  "rule.saqt.q.cpp.2809.example.0.dangerous": "Line 3: A mutex_lock() function is called.\nLine 5: The mutex_lock() function is called without exception handling.",
  "rule.saqt.q.cpp.2809.example.0.safe": "Line 3: A mutex_lock() function is called.\nLine 7: Call mutex_unlock() function to unlock the mutex in case of exception.",
  "rule.saqt.q.cpp.2809.name": "Call to mutex_unlock() Function without Exception Handling",
  "rule.saqt.q.cpp.2810.description": "The Use of Maximum Buffer Size Checker finds code that uses a buffer size smaller than the maximum size of path specified in checker option.\nThis checker finds a buffer size smaller than MAX_PATH in a call to realpath(), readlink(), or PathAppend(). You can optionally specify the minimum size of the buffer.\nA buffer overflow can occur by passing improper size of buffer to path manipulation function.\nEnsure to set the buffer size to specified MAX_PATH or greater.",
  "rule.saqt.q.cpp.2810.example.0.dangerous": "Line 3: The size of temp array is set to 255.\nLine 5: The size of temp, the first argument of PathAppend() function, is smaller than MAX_PATH, leading to a buffer overflow.\nLine 6: The size of temp, the second argument of realpath() function, is smaller than MAX_PATH, leading to a buffer overflow.\nLine 7: The size of temp, the second argument of readlink() function, is smaller than MAX_PATH, leading to a buffer overflow.",
  "rule.saqt.q.cpp.2810.example.0.safe": "Line 3: The size of temp array is set to 256.\nLine 5: Set the size of temp, the first argument of PathAppend() function, to MAX_PATH.\nLine 6: Set the size of temp, the second argument of realpath() function, to MAX_PATH.\nLine 7: Set the size of temp, the second argument of readlink() function, to MAX_PATH.",
  "rule.saqt.q.cpp.2810.name": "Use of Maximum Buffer Size",
  "rule.saqt.q.cpp.2810.option.min_array_variable_size.description": "Enter the minimum size of the array that comes with the factor.",
  "rule.saqt.q.cpp.2810.option.min_array_variable_size.name": "Minimum array size",
  "rule.saqt.q.cpp.3011.description": "The Use of Decrement Operator on Boolean checker finds code that performs decrement operation with -- operator on a boolean variable.\nDo not use the decrement operator (--) on a boolean variable. Such practice is deprecated.\nDo not use the decrement operator on a boolean variable. Assign it either true or false, or define and use a custom function like toggle(), set(), or clear().",
  "rule.saqt.q.cpp.3011.example.0.dangerous": "Line 2: An decrement operator is used for a boolean variable.",
  "rule.saqt.q.cpp.3011.example.0.safe": "Line 2: Directly assign true or false. Or define a custom function.",
  "rule.saqt.q.cpp.3011.name": "Use of Decrement Operator on Boolean",
  "rule.saqt.q.cpp.345.description": "The Missing initialization of local variable checker finds local variables that are not initialized at declaration.\nAn uninitialized local variable causes runtime errors and leads to critical issues. Although declaration is performed without initialization, if a variable is initialized before being used, this poses no vulnerability. Therefore, the initialization can be missed in complexed control flows, it is recommended to initialize all local variables at declaration.\nInitialize all local variables at their declaration.",
  "rule.saqt.q.cpp.345.example.0.dangerous": "Line 2: An uninitialized local variable is declared.",
  "rule.saqt.q.cpp.345.example.0.safe": "Line 2: Initialize the local variable at its declaration.",
  "rule.saqt.q.cpp.345.name": "Missing initialization of local variable",
  "rule.saqt.q.cpp.345.option.ignored_variable_name.description": "Write variables to exclude from analysis.",
  "rule.saqt.q.cpp.345.option.ignored_variable_name.name": "Variables to exclude from analysis",
  "rule.saqt.q.cpp.345.option.skip_array_check.description": "Skip array initialization checking",
  "rule.saqt.q.cpp.345.option.skip_array_check.name": "Skip array initialization checking",
  "rule.saqt.q.cpp.348.description": "The Missing #define in header file checker finds header files that do not have include guards at top and bottom. \nInclude guards are preprocessor directives that enclose a header file to prevent duplicates of globally used declarations. \nWithout include guards enclosing, a duplicate declaration may occur, causing a compile error.\nEnclose header files with preprocessor directives.",
  "rule.saqt.q.cpp.348.example.0.dangerous": "Line 2: #define statement is not found. An incomplete include guard can cause duplicate header files.",
  "rule.saqt.q.cpp.348.example.0.safe": "Line 1: Use an include guard at the start and end of a header file.",
  "rule.saqt.q.cpp.348.name": "Missing #define in header file",
  "rule.saqt.q.cpp.348.option.ignored_path.description": "Write the name of the path to exclude from analysis.",
  "rule.saqt.q.cpp.348.option.ignored_path.name": "Name of the path to exclude from analysis",
  "rule.saqt.q.cpp.385.description": "The Unreachable code in string comparison checker finds chained conditionals with string comparison that include a never reachable branch.\nUnreachable code blocks are useless in controlling the flow of the program and merely makes the code less readable and maintainable. They need to be fixed also for program optimization.\nAn unreachable branch in a chained conditional with string comparison signifies a high probability of an incorrect comparison expression in the conditional. Check the comparison expressions and fix them so that no branches may be unreachable.",
  "rule.saqt.q.cpp.385.example.0.dangerous": "Line 1: The size of 2 of str+2 is compared to string \"CD.\"\nLine 4: The size of 5 of str is compared to string \"ABCDE.\" This condition is always satisfied in Line 1, so unreachable.",
  "rule.saqt.q.cpp.385.example.0.safe": "Line 4: Modify the statement to be reachable.",
  "rule.saqt.q.cpp.385.name": "Unreachable code due to string comparison",
  "rule.saqt.q.cpp.387.description": "The Remainder operation on negative value checker finds modulo operations performed on a negative number.\nA modulo operation on a negative number is an implementation-defined behavior, which can possibly return different values depending on the compiler.\nMake sure modulo operations are performed only on positive numbers. To this end, check the operands for being greater than zero, or declare their type as unsigned.",
  "rule.saqt.q.cpp.387.example.0.dangerous": "Line 3: A modular operation is performed on size. The size can be a negative.",
  "rule.saqt.q.cpp.387.example.0.safe": "Line 1: Modify the size into unsigned type to filter out negative numbers.",
  "rule.saqt.q.cpp.387.name": "Remainder operation on negative value",
  "rule.saqt.q.cpp.388.description": "The Assignment of negative value to unsigned type checker finds expressions that can convert a negative number to an unsigned variable.\nA conversion to a large numeric type can cause a change from a negative number to a large positive number. Especially, copying a negative number to an unsigned variable may cause an unexpected sign extension, thereby resulting in an extremely huge number.\nWhen performing an assignment between objects with different signedness, be sure to set proper conditions not to allow conversion from a negative number to a huge positive number. ",
  "rule.saqt.q.cpp.388.example.0.dangerous": "Line 6: s is compared to 256.\nLine 7: s is assigned to sz. If s is smaller than 0, unsigned type of sz can be turned into a positive value greater than normal.",
  "rule.saqt.q.cpp.388.example.0.safe": "Line 6: Add a statement to compare s to 0.",
  "rule.saqt.q.cpp.388.name": "Assignment of negative value to unsigned type",
  "rule.saqt.q.cpp.42.description": "The Division by zero checker finds instances of division by zero.\nAs the division operation is not defined with a zero divisor, an attempt of division by zero may cause an exception at the CPU level. This may lead to an abnormal shutdown of the program or denial of service (DoS).\nFor any division operations, check if the second operand may possibly be assigned a 0. If the value range of the second operand is not determinable, it is recommended to add a code checking the divisor for zero.",
  "rule.saqt.q.cpp.42.example.0.dangerous": "Line 5: If i argument of func() is larger than 10, a return of random function is assigned to variable a.\nLine 8: If Line 4 is not executed, then divisor a can be 0.",
  "rule.saqt.q.cpp.42.example.0.safe": "Line 8: Check that the divisor is more than 0 to avoid division by zero error.",
  "rule.saqt.q.cpp.42.name": "Division by zero",
  "rule.saqt.q.cpp.43.description": "The Missing check on division by zero checker finds instances in which a function argument or return to be used for a divisor is once checked for zero but later used again with no zero check.\nAs the division operation is not defined with a zero divisor, an attempt of division by zero may cause an exception at the CPU level. This may lead to an abnormal shutdown of the program or denial of service (DoS).\nFor any division operations, check if the second operand may possibly be assigned a 0. If the value range of the second operand is not determinable, it is recommended to add a code checking the divisor for zero. It is not ensured in most cases that a value passed in as a function argument or returned from another function is not zero. Therefore, it is recommended to check the divisor for zero before performing division.",
  "rule.saqt.q.cpp.43.example.0.dangerous": "Line 5: An argument i of func() is checked for zero.\nLine 9: A possible zero i is used as a divisor.",
  "rule.saqt.q.cpp.43.example.0.safe": "Line 7: Check the divisor for zero while dividing an integer.",
  "rule.saqt.q.cpp.43.name": "Missing check on division by zero",
  "rule.saqt.q.cpp.45.description": "The Returning local variable address checker finds instances of returning a local variable's address.\nReturning a local variable's address often causes an unexpected program behavior.\nWhen returning a buffer, it must not be an array allocated on the stack but a dynamically allocated buffer on the heap.",
  "rule.saqt.q.cpp.45.example.0.dangerous": "Line 2: arr is a local variable of test function.\nLine 6: An address of local variable arr is returned, which causes an error.",
  "rule.saqt.q.cpp.45.example.0.safe": "Line 2: Dynamically assign the arr.\nLine 6: Return a buffer allocated to heap memory area.",
  "rule.saqt.q.cpp.45.name": "Returning local variable address",
  "rule.saqt.q.cpp.46.description": "The Releasing memory in stack checker finds instances of freeing memory allocated on the stack rather than the heap.\nThese instances occur mainly when a local variable's address is freed.\nAn attempt to free a memory address on the stack may cause an abnormal shutdown of the program.\nYou must free memory allocated on the heap, not on the stack.",
  "rule.saqt.q.cpp.46.example.0.dangerous": "Line 1: A local variable arr is declared.\nLine 2: The arr is tried to deallocate, but allocated to stack areas, which causes an error.",
  "rule.saqt.q.cpp.46.example.0.safe": "Line 1: Dynamically assign the arr.\nLine 2: arr is allocated to heap area, then normally freed.",
  "rule.saqt.q.cpp.46.name": "Releasing memory in stack",
  "rule.saqt.q.cpp.48.description": "The Missing return statement checker finds non-void functions that do not include a return statement.\nThis may cause an unexpected program behavior.\nAll non-void functions must include a return statement.",
  "rule.saqt.q.cpp.48.example.0.dangerous": "Line 1: A return type of function is not a void.\nLine 3: A return statement of the function is not written before the function ends, which causes an error.",
  "rule.saqt.q.cpp.48.example.0.safe": "Line 3: Add a return statement before ending the function of non-void return types.",
  "rule.saqt.q.cpp.48.name": "Missing return statement",
  "rule.saqt.q.cpp.52.description": "The Overlapped memory region checker finds instances in which a function receives arguments pointing to an overlapping memory area.\nThe memccpy(), memcpy(), strcpy(), and strncpy() functions may receive arguments with an overlapping memory area. \nBeing C standard library functions, memccpy(), memcpy(), strcpy(), and strncpy() copy memory from a source object referenced by a restrict-qualified pointer to a destination object that is also referenced by a restrict-qualified pointer. If the arguments of these functions use an overlapping memory area, data corruption or memory conflicts may occur.\nWhen using a C standard library function that copies memory from a source object referenced by a restrict-qualified pointer to a destination object referenced by a restrict-qualified pointer, the passed arguments must not share a memory area. ",
  "rule.saqt.q.cpp.52.example.0.dangerous": "Line 3: String pointer p is assigned to pt1.\nLine 5: Same memory areas as pt1 are allocated to pt2.\nLine 6: A 4-size string of pt1 is tried to be copied to pt2, which causes an error due to using same memory areas.",
  "rule.saqt.q.cpp.52.example.0.safe": "Line 6: Use memmove function to avoid overlapping between memories when copying memories or strings.",
  "rule.saqt.q.cpp.52.name": "Overlapped memory region",
  "rule.saqt.q.cpp.60.description": "The Shifting which exceeds bit width checker finds instances of a shift operator (>> or <<) requiring a larger shift than the bit size of the target type.\nThis may cause an error during the execution of the program, leading to an unexpected result. It also, as a secondary consequence, may cause buffer overflow or underflow allowing for security vulnerabilities.\nAvoid a shift operation larger than the size of the target type.",
  "rule.saqt.q.cpp.60.example.0.dangerous": "Line 3: An unsigned char type value is shifted by 8 bits. Because size of unsigned char is 8 bits, this shift is larger than the size.",
  "rule.saqt.q.cpp.60.example.0.safe": "Line 3: Fix the problem in consideration of variable type's ranges for bit shift.",
  "rule.saqt.q.cpp.60.name": "Shifting which exceeds bit width",
  "rule.saqt.q.cpp.61.description": "The Shifting on negative value checker finds instances of applying a shift operator (>> or <<) to a negative number.\nThis may cause an error during the execution of the program, leading to an unexpected result. It also, as a secondary consequence, may cause buffer overflow or underflow allowing for security vulnerabilities.\nDo not perform a shift operation on a negative number.",
  "rule.saqt.q.cpp.61.example.0.dangerous": "Line 4: Int type variable a is left shifted into negative, which causes an error.",
  "rule.saqt.q.cpp.61.example.0.safe": "Line 4: Perform bit shift as much as positive integer in consideration of variable type's ranges.",
  "rule.saqt.q.cpp.61.name": "Shifting on negative value",
  "rule.saqt.q.cpp.66.description": "The Inadequate value of length argument checker finds instances in which a length argument being passed to a function is a negative number or too large.\nThe following functions are subject to the detection of this checker: alloca(), bcopy(), calloc(), malloc(), memccpy(), memcpy(), realloc(), and strncpy(). The checker reports a defect when the allocation size argument passed to a memory allocation function is not of unsigned int or is an unverified external input evaluated by addition or subtraction.\nIf the argument value is a negative number or out of range of the data type, it is cast, resulting in an unexpected memory address request to the system. This can allow for security vulnerabilities exploited by attackers to access the program and gain control of the program flow.\nTake care that a function's length argument may not take a value negative or larger than the size of the data type. ",
  "rule.saqt.q.cpp.66.example.0.dangerous": "Line 2: n is initialized into a negative value.\nLine 3: An error is detected for an argument of malloc() function can be negative or out of range.",
  "rule.saqt.q.cpp.66.example.0.safe": "Line 2: Check the parameter n value.\nLine 3: Set an length argument by considering its range. It is recommended to accept external inputs at specified scopes to set the length.",
  "rule.saqt.q.cpp.66.name": "Inadequate value of length argument",
  "rule.saqt.q.cpp.66.option.max_decision_point_number.description": "Set a threshold of the maximum size for memory allocation",
  "rule.saqt.q.cpp.66.option.max_decision_point_number.name": "Maximum size of memory allocation",
  "rule.saqt.q.cpp.68.description": "The Redundant condition checker finds conditional expressions that are always or never satisfied.\nIt is unnecessary to encounter a condition that always evaluates to true or false. An ever-true condition is unnecessary because it will always be executed; an ever-false condition is also unnecessary because it will never be. These unnecessary codes are just confusing the program flow and waste memories.\nIf the detected conditional expressions are miswritten by mistake, fix them. Or, some conditional expressions might have been written correctly as intended although their consequents are actually always or never executed. In this case, delete the conditional expressions or the whole of the relevant conditional blocks.",
  "rule.saqt.q.cpp.68.example.0.dangerous": "Line 8: 1 is returned by foo() function, and assigned to variable x.\nLine 9: 0 is returned by foo2() function, and assigned to variable y.\nLine 10: x is 1, y is 0; the statements always return true.",
  "rule.saqt.q.cpp.68.example.0.safe": "Line 10: Remove the unnecessary conditional expressions and replace them with normal code.",
  "rule.saqt.q.cpp.68.name": "Redundant condition",
  "rule.saqt.q.cpp.70.description": "The Unreachable code Checker finds a code block that is unreachable in any case.\nIf the removal of a statement does not affect the program output, that piece of code is unnecessary (redundant code). Whether the statement is written on purpose is not clear to code reviewers.\nUnreachable code blocks are useless in controlling the flow of the program and merely makes the code less readable and maintainable. They need to be fixed also for program optimization.\nRemove the unreachable code blocks.",
  "rule.saqt.q.cpp.70.example.0.dangerous": "Line 2: x=1 is set.\nLine 3: break; is executed and terminated because x=1 in the switch-case statement.\nLine 6: printf() function is not executed.",
  "rule.saqt.q.cpp.70.example.0.safe": "Line 5: Modify the source code to make the printf() function work according to the switch-case condition.",
  "rule.saqt.q.cpp.70.name": "Unreachable code",
  "rule.saqt.q.cpp.71.description": "The Unused value checker finds variables that are assigned a value but never used in any executable paths while assuming that value.\nIf the removal of a statement does not affect the program output, that piece of code is unnecessary (redundant code). Whether the statement is written on purpose is not clear to code reviewers.\nUnused variables remain as logical errors in the program. Logical errors make the source code less readable and maintainable. Therefore, take care not to leave unused variables in the code.\nRemove the unused variables.",
  "rule.saqt.q.cpp.71.example.0.dangerous": "Line 2: Variable a is initialized into 2.\nLine 4: Value a is reassigned, but not used.",
  "rule.saqt.q.cpp.71.example.0.safe": "Line 9: Return the variable a. Modify to use the variable a.",
  "rule.saqt.q.cpp.71.name": "Unused value",
  "rule.saqt.q.cpp.73.description": "The Dangerous casting of function pointer checker finds instances in which a function pointer is cast to have a conflicting signature or a different return type.\nThe checker also detects casts from a function pointer with variable-length arguments to a function pointer having a changed argument or return type.\nThe compiler does not check for errors when a function and a pointer to it have different signatures. However, this may cause an unexpected program behavior.\nWhen casting a function pointer, make sure the signature and type are not changed.",
  "rule.saqt.q.cpp.73.example.0.dangerous": "Line 5: A function pointer fp_foo2 is declared as int type.\nLine 7: A return function foo1 of char type is casted to int type.",
  "rule.saqt.q.cpp.73.example.0.safe": "Line 5: Declare the function pointer fp_foo2 as char type.",
  "rule.saqt.q.cpp.73.name": "Dangerous casting of function pointer",
  "rule.saqt.q.cpp.7423.description": "Types such as structs, classes, enums, and type aliases declared in limited visibility scopes, such as function block scopes or unnamed namespace scopes, become effectively meaningless code if not used within the translation unit.\n\nThese unused types create ambiguity during code review, making it unclear whether the declaration is unnecessary or accidentally omitted, which reduces code clarity and can lead to potential maintenance issues. Types declared in limited visibility scopes must be used within the translation unit.\n\nUsage can be considered as declaring a variable, using as a function argument or return type, or, in the case of enums, using at least one of the enumerators.",
  "rule.saqt.q.cpp.7423.example.0.dangerous": "Line 2, 4, and 6: Each type has never been used in an unnamed namespace scope with restricted visibility.",
  "rule.saqt.q.cpp.7423.example.0.safe": "Line 2, 4, 6: Each type must be used at least once within an unnamed namespace scope with restricted visibility.\nLine 11: Using only the enumerators of an enum is considered as using the EnumType.",
  "rule.saqt.q.cpp.7423.name": "Unused restricted visibility type",
  "rule.saqt.q.cpp.7425.description": "Functions with limited visibility, such as unnamed namespaces, statically declared functions, and class methods with restricted access, become effectively meaningless code if not used within the translation unit.\n\nUnused functions like these create ambiguity during code review, making it unclear whether they are unnecessary declarations or accidentally omitted, which undermines code clarity and can lead to potential maintenance issues. Functions with limited visibility must be used within their translation unit.\n\nUsage means explicitly calling the function at least once. However, special member functions of classes, overloaded functions, operator overloads, member functions overriding virtual functions, or functions explicitly deleted using the delete keyword are excluded from this check.",
  "rule.saqt.q.cpp.7425.example.0.dangerous": "Line 7: A non-virtual member function with private access within the class is unused.",
  "rule.saqt.q.cpp.7425.example.0.safe": "Line 4: Non-virtual member functions with private access within a class must be used at least once.",
  "rule.saqt.q.cpp.7425.name": "Unused restricted visibility function",
  "rule.saqt.q.cpp.7429.description": "Declarations of all entities such as the same variable or function must have the same type throughout the entire translation unit and the system.\n\nSpecifically, this applies to global-scope variables and non-overloaded functions. If the same variable or function is declared with different types in two declarations, it can cause undefined behavior, leading to unexpected memory access or data corruption. The types in the declarations and definitions of the same global variables and functions must match.\n\nHowever, for arrays, only the element type must match; differences in size declarations or values are considered equivalent. Similarly, types registered as aliases are considered the same if their underlying base types are identical.\n\nIf there are functions with the same identifier but different parameter types, they are recognized as overloaded functions. Otherwise, for variables, the declared types must be the same, and for functions, the return types must be identical.",
  "rule.saqt.q.cpp.7429.example.0.dangerous": "Line 7: The previously declared variable does not match the declared type.\nLine 8: The previously declared function does not match the return type.",
  "rule.saqt.q.cpp.7429.example.0.safe": "Line 7-8: The format must be consistent with the previously declared entity. Using aliases is allowed if they share the same underlying type.",
  "rule.saqt.q.cpp.7429.name": "Global variable and function declaration type mismatch",
  "rule.saqt.q.cpp.7431.description": "In C++, it is recommended to use unnamed namespaces to grant internal linkage to entities such as variables and functions.\n\nWhile the `static` keyword also provides internal linkage, it is used for various purposes like class members or local variables, which can cause confusion for developers. Additionally, using the `extern` keyword on entities that already have internal linkage can also lead to misunderstandings.\n\nTherefore, instead of using keywords like `static` or `extern` in inappropriate contexts, internal linkage should be clearly specified by using unnamed namespaces. If a function or a non-const variable with internal linkage is declared using `static` or with the `extern` keyword inside an unnamed namespace, it should be modified to be declared inside the unnamed namespace without any keyword.\n\nThis approach ensures consistent specification of internal linkage for all entities and prevents confusion caused by the multifunctional use of these keywords.\n\nNote that variables declared as `constexpr` or `const` inherently have internal linkage and are excluded from this rule. Also, declaring entities with the `static` keyword inside an unnamed namespace does not cause ambiguity in linkage itself and is permissible, but it is preferable to avoid this practice.",
  "rule.saqt.q.cpp.7431.example.0.dangerous": "Line 1: A function with internal linkage has been declared at global scope.\nLine 2: A variable with internal linkage has been declared at global scope.\nLine 4: A variable with internal linkage is contradicted by a declaration using the extern keyword.",
  "rule.saqt.q.cpp.7431.example.0.safe": "Line 2-3: Entities with internal linkage must be declared inside an unnamed namespace without contradictory keywords such as extern.\nLine 5: For const variables, declaring them as static at global scope is permitted.",
  "rule.saqt.q.cpp.7431.name": "Improper keyword usage in internal connection entities",
  "rule.saqt.q.cpp.7448.description": "When a member function with a return type of reference or pointer returns the object itself (`this` or `*this`) or a non-reference field, calling this function on a temporary object can lead to invalid memory access due to a dangling pointer.\n\nThis occurs because the temporary object is destroyed at the end of the full expression in which the function call occurs, causing the returned reference or pointer to point to invalid memory.\n\nThe C++11 standard allows preventing this risk by specifying reference qualifiers on member functions. This feature enables restricting the function call to either lvalue or rvalue objects by appending the `&` or `&&` qualifier at the end of the function declaration.\n\nHere, an lvalue object refers to a named object, while an rvalue object refers to a temporary object. For example, if a member function is declared with an `&` qualifier, it can only be called on lvalue objects, and calling it on a temporary object will result in a compile-time error.\n\nMember functions that return a reference or pointer to the object itself (`this` or `*this`) or to a non-reference field must specify appropriate reference qualifiers.\n\nThe most common solution is to add an `&` qualifier at the end of the function declaration to restrict calls to lvalue objects only. If a `const&` qualifier is required, an overloaded `&&` qualified function with the same signature should also be declared.\n\nThis is because a `const&` qualifier can bind to both lvalues and rvalues, so without a better `&&` qualified member function, the compiler will call the `const&` function on temporary objects.",
  "rule.saqt.q.cpp.7448.example.0.dangerous": "Line 3, 4: The member functions returning `this` and field objects lack reference qualifiers.  \nLine 5: The member function returning the `this` object is defined with a const & reference qualifier without an && qualified overload.",
  "rule.saqt.q.cpp.7448.example.0.safe": "Line 3, 4: Member functions returning `this` and field objects must be defined with reference qualifiers.  \nLine 6: An &&-qualified overload function with the same signature as the const &-qualified member function must be declared.",
  "rule.saqt.q.cpp.7448.name": "Inappropriate qualifier on member function returning reference",
  "rule.saqt.q.cpp.7450.description": "Since C++11, the `nullptr` keyword can be used to represent null pointer constants. The previously common `0` or `NULL` macro are treated as `int` types, which can cause integer-type functions to be called during function overloading instead of pointer-type functions. Therefore, in C++, it is recommended to use `nullptr` in pointer-related contexts.  \n`nullptr` should be used instead of `0` or the `NULL` macro wherever a null pointer constant is required. Additionally, the use of the `NULL` macro in non-pointer-related contexts is prohibited.",
  "rule.saqt.q.cpp.7450.example.0.dangerous": "Line 8-9: nullptr was not used as the null pointer constant.\nLine 10: The NULL macro was used in a context unrelated to pointers.",
  "rule.saqt.q.cpp.7450.example.0.safe": "Line 8-9: Use nullptr as the null pointer constant.\nLine 10: Use the integer 0 in contexts unrelated to pointers.",
  "rule.saqt.q.cpp.7450.name": "Missing nullptr",
  "rule.saqt.q.cpp.7451.description": "When defining a lambda inside a member function, if you use the default copy capture `[=]` or the default reference capture `[&]` in the capture list and access member variables within the lambda body, the `this` pointer is implicitly captured instead of the individual variables.\n\nIf this lambda is non-transient (i.e., stored in a variable or returned and not executed immediately), it can outlive the object it belongs to.\n\nIf the lambda is called after the object has been destroyed, the implicitly captured `this` pointer becomes a dangling pointer, causing undefined behavior.\n\nYou should avoid using default capture modes like `[=]` or `[&]` when accessing member variables inside the lambda body. If the `this` pointer is needed, explicitly specify `[this]` in the capture list.\n\nAlternatively, if you are using a compiler that supports C++17 or later, you can safely capture the object itself by copy with `[self = *this]`, which decouples the lambda's lifetime from the original object's lifetime.",
  "rule.saqt.q.cpp.7451.example.0.dangerous": "Line 4-5: The default capture implicitly captured the this pointer due to the use of the current class's member variables in the lambda body.",
  "rule.saqt.q.cpp.7451.example.0.safe": "Line 4: If you need to use member variables of the current class, you must explicitly capture the this pointer.  \nLine 5: Alternatively, you can make the lambda function a temporary lambda to use it without potential dangling pointer risks.",
  "rule.saqt.q.cpp.7451.name": "Implicit this capture in Lambda",
  "rule.saqt.q.cpp.7452.description": "Using the default copy capture `[=]` or the default reference capture `[&]` in the capture list implicitly captures external local variables used in the lambda body.\n\nIf this lambda is a non-transient lambda that is not executed immediately, such as being stored in a variable or returned, it may not be clear which variables the lambda depends on.\n\nIn particular, `[&]` can lead to references to destroyed objects because the lambda may outlive the lifetime of the captured variables.\nIf the lambda body accesses external variables, you should avoid using default captures like `[=]` or `[&]`. The recommended approach is to explicitly list all external variables used in the lambda body in the capture list.\n\nFor example, if you reference the `val` and `min` variables, you should specify `[&val, &min]` for reference capture, and `[val, min]` for copy capture.",
  "rule.saqt.q.cpp.7452.example.0.dangerous": "Line 2: A default capture is used in the non-transient lambda.",
  "rule.saqt.q.cpp.7452.example.0.safe": "Line 2: The external variable used in the lambda body needs to be explicitly captured. \nLine 8: Alternatively, use the non-transient lambda to avoid the potential risk of referencing a destroyed object.",
  "rule.saqt.q.cpp.7452.name": "Using default capture of non-transient lambda",
  "rule.saqt.q.cpp.7453.description": "reinterpret_cast is the most dangerous type conversion operator in C++. This operator instructs the compiler to forcibly treat a value of type A as if it were type B without altering the actual content of the value. For example, it can force a float variable to be treated as an int.\n\nSuch forced conversions between unrelated types violate memory access rules and lead to undefined behavior, causing unpredictable results or crashes. The use of reinterpret_cast should be strictly prohibited. For safe type conversions, it is recommended to use static_cast, dynamic_cast, or const_cast according to their intended purposes.\n\nHowever, reinterpret_cast is permitted when converting pointers to void*, char*, unsigned char*, or std::byte* to inspect the memory content byte-wise, or when converting pointers to sufficiently large integer types like std::uintptr_t to store the pointer's address value itself.",
  "rule.saqt.q.cpp.7453.example.0.dangerous": "Line 3: Used reinterpret_cast to convert uint32_t* to disallowed uint16_t* type.",
  "rule.saqt.q.cpp.7453.example.0.safe": "Line 5-6: reinterpret_cast must only be used to convert to exception types allowed by the rules.",
  "rule.saqt.q.cpp.7453.name": "Use reinterpret_cast",
  "rule.saqt.q.cpp.7462.description": "The `typeid` operator is a keyword used to obtain type information.\n\nWhen the operand of this operator is an object of a polymorphic class type, it becomes unclear whether the evaluation occurs at runtime. This makes it difficult to predict potential side effects within the expression. Additionally, if the operand points to an invalid polymorphic object, such as a null pointer dereference, a `std::bad_typeid` exception may be thrown.\n\nThis uncertainty in runtime behavior and the possibility of exceptions can reduce the reliability of the program. When using the `typeid` operator, avoid using expressions of polymorphic class types directly as operands. If static type information is needed, it is recommended to use the type itself as the operand instead of an expression.\n\nFor example, use `typeid(ClassType)` with an explicit type rather than `typeid(*p)`.",
  "rule.saqt.q.cpp.7462.example.0.dangerous": "Line 9-10: A polymorphic object was passed as an operand to typeid.",
  "rule.saqt.q.cpp.7462.example.0.safe": "Line 11-12: The operand passed to typeid must be a class name or a non-polymorphic class.",
  "rule.saqt.q.cpp.7462.name": "Using polymorphic objects with the typeid operator",
  "rule.saqt.q.cpp.7463.description": "Variadic functions that accept an arbitrary number of arguments are designed to safely handle only POD (Plain Old Data) types in C.\n\nPassing virtual functions, classes with explicitly defined copy/move constructors or destructors, or subclasses inheriting from such classes to variadic arguments results in implementation-defined behavior.\n\nSince the copying method or destruction timing of these objects may vary depending on the compiler during argument passing, the object's state may not be correctly transferred, or memory issues may occur, reducing program reliability.\nDo not pass objects of inappropriate class types directly to variadic arguments. Only primitive or POD types should be passed to variadic arguments. If you want to pass C++ objects like the ones described above to variadic arguments, it is recommended to use C++ variadic templates instead.",
  "rule.saqt.q.cpp.7463.example.0.dangerous": "Line 8: An object with an inappropriate class type was passed to the variadic arguments of the standard library printf function.\nLine 9: An object with an inappropriate class type was passed to the variadic arguments of the user-defined log function.",
  "rule.saqt.q.cpp.7463.example.0.safe": "Line 11: Values passed to variadic arguments must be safely converted to primitive or POD types before passing.  \nLine 12: Alternatively, define and use functions with C++ variadic templates instead of C-style variadic arguments.",
  "rule.saqt.q.cpp.7463.name": "Invalid object passed to variadic argument",
  "rule.saqt.q.cpp.7464.description": "In C++, the unary + operator often appears to perform no operation on its operand.\n\nHowever, this operator triggers integral promotion, converting small integer types like `char` or `short` to `int`. Additionally, when used with function names or lambda expressions, it converts them to function pointers.\n\nThese behaviors may differ from the developer's intent and can reduce code readability.\n\nIn particular, expressions like `x =+ 1` are often the result of confusing it with the compound assignment operator `x += 1`.\nUnnecessary unary + operators should be removed, except in cases where the unary + operator is overloaded in a specific class.",
  "rule.saqt.q.cpp.7464.example.0.dangerous": "Line 2, 5: Used the built-in unary + operator.",
  "rule.saqt.q.cpp.7464.example.0.safe": "Line 2: If the unary + operator was used for integer promotion, an explicit static_cast should be used.  \nLine 5: If it was a confusion with the += operator, the correct binary += operator should be used.",
  "rule.saqt.q.cpp.7464.name": "Use the built-in unary + operator",
  "rule.saqt.q.cpp.7465.description": "Explicit type casting using functional notation consists of the type name followed by parentheses `()` or braces `{}`, and can be used as a standalone statement.\n\nHowever, this does not declare a variable but creates a temporary object. This syntax closely resembles a declaration missing a variable name, which can easily confuse developers, and the created temporary object is destroyed immediately at the semicolon ending the line.\n\nIf this is an RAII (Resource Acquisition Is Initialization) object like `std::lock_guard` that acquires a lock in the constructor and releases it in the destructor, the resource will be released immediately instead of being held for the intended block duration, causing serious concurrency issues or logic errors.\nIf the statement intends to declare a variable, the variable name must be specified between the type and the initializer. This extends the object's lifetime until the end of the current block, ensuring the resource is safely managed.\n\nIf the purpose is simply type conversion, the result should be used meaningfully, such as assigning it to another variable or passing it as a function argument, to avoid discarding the value. In general, explicit type casting using functional notation should not be used as a standalone statement.",
  "rule.saqt.q.cpp.7465.example.0.dangerous": "Line 6: Explicit type conversion was performed using functional notation rather than an unnamed variable declaration. A temporary object is created.",
  "rule.saqt.q.cpp.7465.example.0.safe": "Line 6: The variable name should be written so that it can be a variable declaration rather than an explicit type cast.",
  "rule.saqt.q.cpp.7465.name": "Temporary object creation due to missing variable name",
  "rule.saqt.q.cpp.7466.description": "In the initialization expression of a range-based for loop, the expression on the right side is internally deduced as `auto&&`, which extends its lifetime.\n\nHowever, this lifetime extension rule applies only to the final object resulting from the expression, and does not apply to intermediate temporary objects created and destroyed during the evaluation of the expression.\n\nIf the initialization expression contains two or more chained function calls, and temporary objects are involved in the process, there is a high risk that the final result will reference the internals of an already destroyed intermediate temporary object. This leads to undefined behavior by accessing invalid memory during loop execution.\n\nYou should separate complex function call expressions used inside the initialization expression. It is safer to declare a separate variable before the for loop starts and copy the entire result or intermediate temporary objects of the initialization expression into it.\n\nAlternatively, ensure that your compiler conforms to the C++23 standard or later. Compilers compliant with this standard address the lifetime issues of range-based for loop initialization expressions at the language and standard level.",
  "rule.saqt.q.cpp.7466.example.0.dangerous": "Line 7: Calling two functions within the initialization expression of a range-based for loop caused a temporary object lifetime issue.",
  "rule.saqt.q.cpp.7466.example.0.safe": "Line 7: Function calls that return temporary objects must be stored in separate variables.\nLine 8: For safe coding, regardless of the presence of temporary objects, only one function call at most should be made in the initialization expression of a range-based for loop.",
  "rule.saqt.q.cpp.7466.name": "Multiple function calls within the initialization expression of a range-based for loop",
  "rule.saqt.q.cpp.7467.description": "In C++, the comma operator allows multiple variables or member variables to be declared within a single statement.\n\nHowever, in declarations involving derived types such as pointers or references, this approach makes it difficult to clearly identify the type of each identifier.\n\nFor example, a statement intended to declare integer pointers may actually declare one pointer and one regular integer variable. This discrepancy can lead to bugs due to unintended types being applied, reduce code readability, and complicate maintenance.\n\nWhen declaring variables or member variables, code should be separated to declare only one identifier per statement.\n\nIf multiple variables are needed, use semicolons instead of commas to separate declarations. Note that C++17's structured binding syntax is an exception to this rule and is allowed.",
  "rule.saqt.q.cpp.7467.example.0.dangerous": "Line 2: Declared two or more member variables in a single statement within the class declaration.\nLine 6: Declared two or more variables with pointer and integer types respectively in a single statement.",
  "rule.saqt.q.cpp.7467.example.0.safe": "Line 2-3: Member variables should be declared clearly by separating each into individual statements.\nLine 7-8: Variables should be declared by separating each into individual statements so that the type of each variable is clearly indicated.",
  "rule.saqt.q.cpp.7467.name": "Multiple variable declarations in a single statement",
  "rule.saqt.q.cpp.7468.description": "In the C++ standard, the volatile qualifier primarily exists for targets whose values can be changed by external factors outside the program, such as memory-mapped I/O (MMIO).\n\nHowever, using volatile for local variables, function parameters, return types, member functions, or structured bindings is inappropriate. The use of volatile on these targets often stems from the mistaken expectation that volatile can prevent data races in multithreaded environments. In reality, it hinders compiler optimizations and creates a false sense of thread safety.\n\nVolatile qualifiers applied to inappropriate targets such as local variables, function parameters, return types, member functions, and structured binding declarations should be removed. If synchronization or visibility between threads in a multithreaded environment is required, it is recommended to use proper synchronization primitives like `std::atomic` or `std::mutex` instead of volatile.\n\nAdditionally, as an exception, even if a volatile qualifier appears within declarations of the aforementioned inappropriate targets, applying volatile to the object pointed to by a pointer is allowed. For example, to access hardware registers, a volatile qualifier can be used to the left of the `*` in a type declaration such as `volatile int*`.",
  "rule.saqt.q.cpp.7468.example.0.dangerous": "Line 3, 5, 6, 8, 12: The volatile qualifier was used on an inappropriate target.",
  "rule.saqt.q.cpp.7468.example.0.safe": "Line 3, 5, 6, 8, 12: Unnecessary volatile qualifiers should not be used in variable and function declarations. However, for pointer types, using the volatile qualifier for the pointed-to target is allowed.",
  "rule.saqt.q.cpp.7468.name": "Use of volatile qualifier on inappropriate target",
  "rule.saqt.q.cpp.7469.description": "If the underlying type is not specified when defining an enumeration, the size and signedness may vary depending on the compiler implementation. An unscoped enum without a specified range has its type determined by the implementation, whereas a scoped enum (enum class) implicitly has an int type.\n\nThis uncertainty becomes particularly problematic when enumerators do not use default values. Such practices hinder cross-platform portability and can cause unexpected integer overflow risks during operations due to ambiguous size and signedness.\n\nAn explicit underlying type should be specified after the enum name using a colon (:). For example, specifying a clearly sized typedef like int8_t or int32_t eliminates differences between compilers.\n\nHowever, if all enumerators use default values starting from 0 without explicit assignments, or if the enum is declared within an extern \"C\" block, specifying the underlying type can be omitted.",
  "rule.saqt.q.cpp.7469.example.0.dangerous": "Line 3: Defined a scoped enum without a base type that does not use default values for enumerators.\nLine 4: Explicit values were assigned to the enumerators.\nLine 9: Defined an unscoped enum without a base type that does not use default values for enumerators.\nLine 10-12: Explicit values were assigned to all enumerators.",
  "rule.saqt.q.cpp.7469.example.0.safe": "Line 3: Enumerations without a default value must specify a base type regardless of the kind.\nLine 9-15: If an enumeration declaration requires compatibility with the C language, it can be declared inside an extern \"C\" block, allowing the base type to be omitted.",
  "rule.saqt.q.cpp.7469.name": "Missing explicit underlying type definition for enum",
  "rule.saqt.q.cpp.7470.description": "In C++, unscoped enumerations (enum) expose enumerator names to the scope where the enum is defined. This can cause confusion for developers or name collision errors by referring to variables or functions with the same name within the same scope.\n\nAdditionally, such enums allow implicit conversion to integers, reducing type safety and potentially causing unintended operational errors. Therefore, it is necessary to limit the enumerator scope and ensure strong type safety.\n\nEnums must be declared as scoped enumerations (enum class). This prevents enumerator names from leaking externally and restricts access to EnumName::Value syntax only.\n\nHowever, enums defined within extern \"C\" blocks for backward compatibility or declared as class members protected by class scope are exceptions to this rule and do not require modification.",
  "rule.saqt.q.cpp.7470.example.0.dangerous": "Line 4: Declared an unscoped enumeration.\nLine 9: Name collision occurs within the scope due to the leaked enumerator.",
  "rule.saqt.q.cpp.7470.example.0.safe": "Line 3: When declaring an enumeration, it must be declared as a scoped enumeration.\nLine 9: Since the enumerator names do not leak into the scope, name collisions did not occur.\nLine 11-18: Unscoped enumerations declared inside a class or included in an extern \"C\" block are exceptionally allowed.",
  "rule.saqt.q.cpp.7470.name": "Enum declaration without a specified scope",
  "rule.saqt.q.cpp.7472.description": "In C++, the specifiers virtual, override, and final can be used when declaring virtual functions. However, using them redundantly or omitting specifiers in overriding situations makes the code's intent unclear.\n\nFor example, using virtual and override together is redundant, and omitting override when overriding a function can lead to unintended new virtual functions if the base class function changes.\n\nAlso, using override and final together is redundant since final already implies overriding. Therefore, only one specifier appropriate to the situation should be used to clearly define the function's role.\n\nThis rule applies equally to destructors.\nExactly one specifier must be used according to the function's role.\n\nSpecifically, use virtual only when declaring a new virtual function. Use override (not virtual) when overriding a base class virtual function. If you want to prevent further overriding while overriding, use final only. Do not add virtual or override redundantly in this case.\n\nAny other combinations, mixing specifiers incorrectly, or omitting required specifiers during overriding are not allowed.",
  "rule.saqt.q.cpp.7472.example.0.dangerous": "Line 5: The member function declaration redundantly uses both virtual and final specifiers.\nLine 12: The destructor is overridden but the required virtual specifier is missing.\nLine 13: The member function is overridden but redundantly uses both virtual and override specifiers.\nLine 15: The member function is overridden but redundantly uses both override and final specifiers.\nLine 16: The member function is overridden but uses the non-required virtual specifier.",
  "rule.saqt.q.cpp.7472.example.0.safe": "Line 5: New virtual function declarations must use only the virtual specifier.\nLine 12: When overriding a virtual function from the parent class, the override specifier must be explicitly stated.\nLine 13, 15, 16: When overriding a virtual function from the parent class, only one required specifier should be explicitly stated according to its role.",
  "rule.saqt.q.cpp.7472.name": "Improper combination and omission of virtual function specifiers",
  "rule.saqt.q.cpp.7473.description": "A potentially virtual function refers to a member function pointer that points to an actual virtual function, a member of a polymorphic class, or a member of an incomplete class definition.\n\nThis applies to both member function address constants that point to a specific function address (&A::func) and member function pointer variables (void (A::*ptr)) that can hold multiple function addresses at runtime.\n\nAccording to the C++ standard, comparing such potentially virtual function pointers to any target other than nullptr results in unspecified behavior. This is because the outcome of address comparison may vary depending on how the compiler handles the virtual function table.\nMember function pointers that may point to virtual functions should only be compared for equality with nullptr.\n\nIf you need to check for a match with a specific function, consider alternative design approaches that do not rely on member function pointer comparison.",
  "rule.saqt.q.cpp.7473.example.0.dangerous": "Line 12: Compared a member function pointer constant explicitly pointing to a virtual function with a non-nullptr target.\nLine 15: Compared a member function pointer variable of a polymorphic class with potential virtual functions to a non-nullptr target.\nLine 18: Compared a member function pointer variable of an incomplete class with potential virtual functions to a non-nullptr target.",
  "rule.saqt.q.cpp.7473.example.0.safe": "Line 15: Member function pointers to potentially virtual functions should always be compared only to nullptr.\nLine 18: If the member function pointer is not to a potentially virtual function, comparisons to other member function pointers besides nullptr are allowed.",
  "rule.saqt.q.cpp.7473.name": "Improper comparison of potential virtual function pointers",
  "rule.saqt.q.cpp.7474.description": "User-defined copy constructors, move constructors, copy assignment operators, and move assignment operators must have the correct function signatures as recommended by the standard.\n\nSpecifically, copy operations should use const references to ensure the original object is not modified, and move operations must be marked noexcept to prevent the object state from becoming indeterminate if an exception is thrown.\n\nAdditionally, assignment operators should use reference qualifiers (&) to prevent assignment to temporary objects and support chained assignments, and must return a reference to *this. Without reference qualifiers on these assignment operators, calling them on temporary objects can lead to dangling reference risks.\n\nFinally, these functions must not be virtual or take volatile objects as parameters. The exact standard signatures appropriate for each member function’s role must be used.\n\nFor each class, the copy constructor should take a const reference parameter, and the move constructor must be noexcept. The copy assignment operator must specify a const reference parameter and a reference qualifier, while the move assignment operator must specify both noexcept and a reference qualifier. The return type of assignment operators should be a reference to the class itself, though void return is exceptionally allowed. Also, these member functions must not be declared virtual.",
  "rule.saqt.q.cpp.7474.example.0.dangerous": "Line 4: Although volatile usage is prohibited in copy and move member functions, the first parameter of the copy constructor was declared as volatile.\nLine 5: noexcept is required for move operations, but the move constructor was declared without noexcept.\nLine 6: Reference qualifiers (&) are required for assignment operators, but the copy assignment operator was declared without a reference qualifier.\nLine 7: Virtual declarations are prohibited in copy and move member functions, but the move assignment operator was declared as virtual.\nLine 13: Use of default parameters is prohibited in copy and move member functions, but the copy constructor used a parameter with a default value.",
  "rule.saqt.q.cpp.7474.example.0.safe": "Line 4-7: Member functions related to copy and move operations should be implemented with correct function signatures as recommended by the standard.\nLine 13: The copy constructor must follow the standard signature without default arguments. It is advisable to use an internal delegating constructor if needed.\nLine 19: The return type of assignment-related member functions is exceptionally allowed to be declared as void.",
  "rule.saqt.q.cpp.7474.name": "Inappropriate copy and move member function signature",
  "rule.saqt.q.cpp.7476.description": "A C++ class has five special member functions responsible for object creation, assignment, and destruction: destructor, copy constructor, copy assignment operator, move constructor, and move assignment operator. These functions are closely related to the object's lifecycle and resource management, so they must work together cohesively.\n\nIf a developer defines one of these, for example the destructor, it implies manual management of resources like memory or file handles. If the others are left to the compiler defaults, serious bugs such as double free or memory leaks caused by shallow copies can occur.\n\nTherefore, all five functions should be either defined explicitly or not defined at all. For classes that do not require resource management, it is best to either omit declaring these special member functions entirely or declare them as `= default` to delegate to the compiler.\n\nIf you need to write a destructor manually, you must also explicitly declare the copy and move constructors and assignment operators. Similarly, if you define a copy constructor or copy assignment operator, you must also define the corresponding move constructor and move assignment operator.\n\nIn summary, if you define any one of the five special member functions, you must explicitly declare all the others as well. Explicit declaration includes direct implementation, `= default` to use compiler-generated behavior, or `= delete` to prohibit usage.",
  "rule.saqt.q.cpp.7476.example.0.dangerous": "Line 1: The class defines a destructor but does not define the other four special member functions.\nLine 6: The class defines a copy constructor but does not define the other four special member functions.\nLine 11: The class defines a move constructor and move assignment operator but does not define the other three special member functions.",
  "rule.saqt.q.cpp.7476.example.0.safe": "Line 1: If you need to implement any special member functions in a class, you must declare all of them explicitly.\nLine 10: If special member functions are unnecessary in a class, it is permissible to omit defining all of them.",
  "rule.saqt.q.cpp.7476.name": "Incomplete special member function definition",
  "rule.saqt.q.cpp.7477.description": "If a class defines an initializer-list constructor that takes `std::initializer_list<T>` as its first parameter, no other constructors except copy and move constructors should be defined.\n\nAccording to C++ overloading rules, brace initialization prioritizes the initializer-list constructor. This can cause confusion where the initializer-list constructor is called even when the developer intended to invoke a regular constructor using braces, resulting in different object construction outcomes depending on the initialization method. Additionally, if a default constructor is also present, empty braces can be ambiguous between empty list initialization and default constructor invocation.\n\nIf a class must provide an initializer-list constructor, it should not have other constructors except copy/move constructors. If other constructor forms are necessary, either remove the initializer-list constructor or use a static factory method pattern to clearly separate initialization intentions. Alternatively, consider accepting data via standard containers like `std::vector` instead.",
  "rule.saqt.q.cpp.7477.example.0.dangerous": "Line 5: Declared an initializer list constructor.\nLine 6: Declared a regular constructor in the class with an initializer list constructor.\nLine 10-11: An issue occurs where different constructors are called depending on the parentheses used for initialization. `a1` calls the regular constructor, while `a2` calls the initializer list constructor.",
  "rule.saqt.q.cpp.7477.example.0.safe": "Line 5: If an initializer list constructor is declared, no other constructors should be declared within the class.  \nLine 6-7: However, copy constructors and move constructors are exceptionally allowed to coexist with an initializer list constructor.",
  "rule.saqt.q.cpp.7477.name": "Mixing initializer list constructors with other constructors",
  "rule.saqt.q.cpp.7478.description": "For program stability, functions that must not throw exceptions should be declared with `noexcept`.\n\nFor example, if move constructors and move assignment operators are user-defined without `noexcept`, exceptions during move operations can cause undefined behavior or unrecoverable states in standard library containers.\n\nAdditionally, if a constructor initializing a non-local static variable is user-defined and throws an exception at program startup, the program will terminate immediately. Therefore, such constructors must be explicitly marked `noexcept`.\n\nHere, non-local static variables refer to all static variables declared outside functions, including global variables, namespace variables, and static member variables inside classes. Local static variables inside functions are excluded.\n\nException-free functions must specify the `noexcept` specifier in their declarations. When implementing move operations or constructors for non-local static variables, ensure no exceptions are thrown internally and append `noexcept` to the function declaration to guarantee exception safety.\n\nIf you cannot modify the specification of constructors called by some non-local static variables, an alternative is to use lazy initialization with local static variables, deferring the initialization of static variables to the function call time.",
  "rule.saqt.q.cpp.7478.example.0.dangerous": "Line 3: Constructor declaration missing noexcept specification.\nLines 8-9: noexcept specification missing in the declaration of the move constructor and move assignment operator, which are critical if exceptions occur.\nLines 14, 17, 20: Non-local static variables are declared, but the constructors called during this process lack noexcept specification.",
  "rule.saqt.q.cpp.7478.example.0.safe": "Line 5: This is a constructor declaration with a noexcept specification.  \nLine 10-11: Move constructors and move assignment operators must have a noexcept specification at the time of declaration.  \nLine 16: Constructors called during the declaration of non-local static variables must have a noexcept specification at the time of declaration.  \nLine 18: If a non-local static variable is required but changing the constructor specification is difficult, you can safely bypass this by using lazy initialization with a local static variable.",
  "rule.saqt.q.cpp.7478.name": "Missing noexcept specification in exception-throwing function",
  "rule.saqt.q.cpp.7479.description": "Functions explicitly marked with the noexcept specifier, or those implicitly noexcept such as destructors, must not propagate exceptions to their callers.\n\nIf such a function directly throws an exception or calls another function that throws an exception without catching and handling it internally, the exception will propagate outward. However, if an exception propagates from a noexcept function, the C++ runtime will immediately terminate the program. This can lead to resource leaks and abnormal system termination.\n\nCode within noexcept functions that may throw exceptions must be enclosed in try-catch blocks to fully handle exceptions internally.\n\nIf the design requires exceptions to propagate externally, the noexcept specifier should be removed from the function declaration or changed to noexcept(false). However, for destructors or move operations, it is recommended to keep noexcept and fully handle exceptions internally.",
  "rule.saqt.q.cpp.7479.example.0.dangerous": "Line 3-5: An exception is propagated outside by using a throw statement inside a function specified as noexcept.\nLine 9-10: An exception is propagated outside by calling a function that throws an exception inside a destructor that is implicitly noexcept.",
  "rule.saqt.q.cpp.7479.example.0.safe": "Line 5-11: Functions that are directly or indirectly specified as noexcept must handle exceptions internally to prevent propagation outside.  \nLine 12: Alternatively, if the function implementation allows exceptions to propagate, noexcept should not be specified.",
  "rule.saqt.q.cpp.7479.name": "Propagation of unhandled exceptions inside noexcept functions",
  "rule.saqt.q.cpp.7482.description": "The use of string handling functions provided by <cstring>, <cstdlib>, <cwchar>, <cinttypes>, and their corresponding C headers is prohibited.\n\nThese functions often rely on null-terminated characters or do not explicitly receive the buffer size as an argument, which can lead to memory access errors such as buffer overflows if used incorrectly, resulting in undefined behavior.\n\nAdditionally, some functions report errors by relying on the global errno variable, which can be corrupted depending on the call flow, making it an unreliable method.\n\nInstead of C-style string functions, safer and more modern features provided by the C++ standard library should be used.\n\nFor string copying or manipulation, use std::string or std::string_view to ensure proper memory management and boundary checking.\n\nFor conversions between strings and numbers, it is also recommended to use C++11's std::lexical_cast or C++17's std::from_chars instead of the strto* family of functions to ensure type safety.",
  "rule.saqt.q.cpp.7482.example.0.dangerous": "Line 5: Used a C-style function to calculate the length of the string.\nLine 6: Used a C-style function to copy the string.",
  "rule.saqt.q.cpp.7482.example.0.safe": "Line 6-7: You should use C++ style functions corresponding to the existing C-style string handling functions.\nLine 10: Alternatively, in this example, you can consider using the std::string class to automate string memory management.",
  "rule.saqt.q.cpp.7482.name": "Use of forbidden C-style string handling functions",
  "rule.saqt.q.cpp.7483.description": "Usage of advanced memory management features beyond the basic dynamic allocation operators provided by the C++ Standard Library is prohibited.\n\nSpecifically, this includes the use of placement new operators, explicit destructor calls, and low-level memory management functions such as uninitialized_copy. Additionally, defining custom operator new and delete overloads within classes is also forbidden.\n\nThese features involve complex issues such as memory alignment, object lifetime management, and pointer invalidation, which carry a high risk of causing undefined behavior.\n\nAvoid using the aforementioned features, prohibited function calls, and memory-related operator overloading. Minimize the use of advanced memory management techniques and consider using conventional approaches or smart pointers that automatically manage object lifetimes.",
  "rule.saqt.q.cpp.7483.example.0.dangerous": "Line 9: Operator overloading of the memory management operator new is declared within the class.\nLine 15: The placement new operator was used to create a class object.\nLine 16: The destructor was explicitly called.\nLine 21: A prohibited low-level memory management function was used.",
  "rule.saqt.q.cpp.7483.example.0.safe": "Line 11-13: Use standard memory management methods instead of prohibited advanced memory management features.",
  "rule.saqt.q.cpp.7483.name": "Use of prohibited advanced memory management features",
  "rule.saqt.q.cpp.7484.description": "When overriding the global operator delete, you must implement both the sized and unsized versions to ensure consistent behavior regardless of which version the compiler calls.\n\nIn C++, users can override operator delete to customize memory deallocation behavior. However, operator delete exists in two forms: one with a size parameter and one without. The actual version called during execution is automatically determined by the compiler’s optimization level and C++ standard version settings.\n\nIf only one version of operator delete is overridden, the compiler’s choice may lead to either the user-customized deallocation logic or the system default deallocation function being invoked. This inconsistency can cause critical errors by applying different behaviors during memory deallocation.\n\nTo override the global operator delete, you must define both the unsized version with a single `void*` parameter and the sized version with `void*` and `std::size_t` parameters.\n\nAdditionally, both functions should internally perform the same memory deallocation mechanism to maintain consistent memory management behavior regardless of which version the compiler selects to call.",
  "rule.saqt.q.cpp.7484.example.0.dangerous": "Line 4-6: Only the size-unspecified version of the operator delete has been redefined.",
  "rule.saqt.q.cpp.7484.example.0.safe": "Line 4-9: When overriding the operator delete, both versions must be overridden as a pair.",
  "rule.saqt.q.cpp.7484.name": "Standalone definition of global operator delete",
  "rule.saqt.q.cpp.7485.description": "The assert macro is a tool for checking dynamic conditions that occur during program execution. Therefore, passing a constant expression, whose result is already determined at compile time, as an argument to assert for runtime checking is inefficient and risks omission of the check depending on build settings. Constant conditions must be reliably verified at compile time.  \nIf the condition to be checked is a constant expression, static_assert from the C++11 standard should be used instead of assert. This allows issues to be detected immediately as compile-time errors rather than runtime errors.\n\nAn exception is allowed when using assert(false) idiomatically to indicate unreachable code paths.",
  "rule.saqt.q.cpp.7485.example.0.dangerous": "Line 4: Passed a constant expression as an argument to the assert macro.",
  "rule.saqt.q.cpp.7485.example.0.safe": "Line 4: When the argument passed is a constant expression, `static_assert` should be used to enable compile-time evaluation.\nLine 8: Exceptionally, using a constant expression in the `assert` macro to represent an unreachable path is allowed.",
  "rule.saqt.q.cpp.7485.name": "Use assert macro for constant expressions",
  "rule.saqt.q.cpp.7487.description": "Usage of character handling functions provided by <cctype>, <cwctype>, and their corresponding C headers is prohibited.\n\nThese functions are designed to accept arguments of type int, and passing values outside the unsigned char range or values other than EOF can cause undefined behavior. In particular, when char is treated as a signed type, passing negative values as arguments can lead to critical errors.\nInstead of C-style character handling functions, use the functions provided in the C++ standard library’s <locale> header. Using functions that accept locale objects as arguments ensures safe operation for all char values.",
  "rule.saqt.q.cpp.7487.example.0.dangerous": "Line 4: Used a C-style function to determine if the value is a decimal number.",
  "rule.saqt.q.cpp.7487.example.0.safe": "Line 4: You should use the C++ style functions declared in <locale> that correspond to the existing C-style character handling functions.",
  "rule.saqt.q.cpp.7487.name": "Use of forbidden C-style character handling functions",
  "rule.saqt.q.cpp.7488.description": "Usage of memcpy, memmove, and memcmp functions provided by <cstring> and the corresponding C headers is prohibited.\n\nMemory copy functions memcpy and memmove perform simple bitwise copying, ignoring constructors or assignment operators of C++ objects, which poses a high risk of improper object copying. In particular, memcpy can malfunction if the source and destination memory regions overlap.\n\nThe memory comparison function memcmp compares the bit patterns stored in memory rather than the logical values of objects. Therefore, it may incorrectly determine objects as different due to meaningless padding within structures or differences in floating-point representations, even if the actual values are the same.\n\nWhen memory copying is required, use C++ standard algorithms such as std::copy, std::copy_n, or the object's assignment operator. These operate safely by considering the type traits of the objects.\n\nFor object comparison, instead of memcmp, overload operator== to compare members explicitly or use the std::equal algorithm.",
  "rule.saqt.q.cpp.7488.example.0.dangerous": "Line 7: Used a C-style function to copy memory blocks.\nLine 12: Used a C-style function to compare memory blocks.",
  "rule.saqt.q.cpp.7488.example.0.safe": "Line 13, 17: Use C++ style handling corresponding to the existing C-style memory manipulation functions.",
  "rule.saqt.q.cpp.7488.name": "Use of forbidden C-style memory manipulation functions",
  "rule.saqt.q.cpp.7489.description": "Predicates passed to C++ Standard Library algorithms must not cause side effects.\n\nDepending on the standard library implementation, predicates may be copied multiple times or called in an unpredictable order. If a predicate modifies internal state or external variables each time it is called, inconsistencies between copies can lead to incorrect results or undefined behavior. Therefore, predicates should be carefully reviewed to ensure stability.\n\nPredicates passed to algorithms should be implemented to behave like pure functions.\n\nWhen defining function objects, declare `operator()` as a `const` member function to indicate no state modification. When using lambdas, remove any logic that modifies captured external variables.",
  "rule.saqt.q.cpp.7489.example.0.dangerous": "Line 7: The operator() overload, which may be used as a predicate, is declared without const.\nLine 16: The value of an external variable captured by reference inside the lambda function is modified.",
  "rule.saqt.q.cpp.7489.example.0.safe": "Line 7: The operator() overload that may be used as a predicate must be declared as const.  \nLine 15-16: Lambdas that may be used as predicates should be rewritten to avoid modifying captured data.",
  "rule.saqt.q.cpp.7489.name": "Use of predicates with side effects",
  "rule.saqt.q.cpp.7490.description": "The `move` function in the C++ standard should be used to transfer ownership of non-const lvalues.\n\nHere, an lvalue (Left value) refers to an object that has a name, can be referenced by address, and persists beyond the expression. Conversely, an rvalue (Right value) refers to a temporary object or a value that is destroyed immediately after the expression ends. In this process, the `move` function converts the passed argument into a movable state (rvalue reference).\n\nIf a const object is passed as an argument to the `move` function, copying occurs instead of moving, which does not achieve the intended effect. This is because moving inherently modifies the original value, but const prevents modification, so moving cannot be performed. Additionally, if an rvalue is passed as an argument, it will be moved without the `move` function anyway, making the call redundant. Therefore, such argument passing is considered misuse of the API. Only non-const lvalues should be passed as arguments to the `move` function.\n\nIf the argument is a const object, either remove the `move` call to clarify that copying occurs, or if moving is necessary, remove the const qualifier from the original object.\n\nAlso, if the argument is already a temporary object, the compiler handles it automatically, so remove the `move` call to simplify the code.",
  "rule.saqt.q.cpp.7490.example.0.dangerous": "Line 11: A const object was passed as an argument to the move function. In this case, the function that copies the value is called.\nLine 12: An object that is already an rvalue was passed as an argument to the move function. In this case, the function that moves the value is called, but this is independent of the presence of the move function.",
  "rule.saqt.q.cpp.7490.example.0.safe": "Line 11: The move function requires an lvalue, not a const. In this case, ownership is properly transferred and the function that moves the value is called.\nLine 12: For temporary objects, pass them directly without the move function. They are automatically treated as rvalues, invoking the function that moves the value.",
  "rule.saqt.q.cpp.7490.name": "Invalid move function argument",
  "rule.saqt.q.cpp.7491.description": "In template functions, parameters of the form `T&&` where type deduction occurs are called forwarding references.\n\nThese parameters are used to implement perfect forwarding, which preserves the value category (lvalue/rvalue) and const/volatile qualifiers of the argument when passing it to another function.\n\nTo achieve this, the forwarding reference parameter must be wrapped with the standard C++ `forward` function when forwarding. If `forward` is not used, the forwarding reference variable itself is treated as an lvalue with a name inside the function, so even if the original argument was an rvalue, it will be converted to an lvalue when passed. This causes unnecessary copies and breaks perfect forwarding.\n\nConversely, using `forward` on a regular parameter that is not a forwarding reference is also prohibited, as it goes against the intent of type deduction.\n\nIf a template parameter is declared as a forwarding reference, you must use `forward<T>(variable)` when using that variable to perform perfect forwarding. For ordinary rvalue references (concrete type `&&`) or lvalue references, use `move` as appropriate or pass them as-is instead of `forward`.",
  "rule.saqt.q.cpp.7491.example.0.dangerous": "Line 11: The forwarding reference argument t1 was passed to another function without being wrapped by the forward function.\nLine 12: The forwarding reference argument t1 was incorrectly wrapped with the move function before being passed to another function.\nLine 13: The non-forwarding reference argument t2 was incorrectly wrapped with the forward function before being passed to another function.",
  "rule.saqt.q.cpp.7491.example.0.safe": "Line 11: Forwarding reference arguments must be wrapped with the forward function when passed as arguments to another function.\nLine 12: Non-forwarding reference arguments should be passed as-is when passed as arguments to another function.",
  "rule.saqt.q.cpp.7491.name": "Mismatch between pass-by-reference and use of the forward function",
  "rule.saqt.q.cpp.7492.description": "The C++ Standard Library container modification functions such as `remove`, `remove_if`, and `unique` do not actually delete elements from the container. Instead, they move elements that do not satisfy the condition to the front and return an iterator pointing to the new logical end. Therefore, if this return value is not used with member functions like `erase` to actually remove elements, invalid data will remain at the back of the container.\n\nAdditionally, container state query functions like `empty` only check whether the container is empty; they do not clear its contents. If code calls `empty` without using its return value, it is highly likely that the developer misunderstood its function as `clear`.\n\nThe return value of container modification functions must be passed as an argument to the `erase` member function to actually remove unnecessary elements from the container.\n\nFor container state query functions, the return value should be used in conditional statements to check the state. If the intention is to clear the container, the code should be modified to call `clear` instead of `empty`.",
  "rule.saqt.q.cpp.7492.example.0.dangerous": "Line 7: The return value of the container modification function was not used.\nLine 8: The return value of the container status query function was not used.",
  "rule.saqt.q.cpp.7492.example.0.safe": "Line 7-8: The return values of container modification and query functions must be used.",
  "rule.saqt.q.cpp.7492.name": "Unused return values of container modification and query functions",
  "rule.saqt.q.cpp.7494.description": "The switch statement is a useful construct for handling multiple conditions without creating extensive if-else chains. However, overusing it can lead to complex and unstructured code due to the syntactic flexibility it offers.\n\nFor example, if the initialization statement is complex or hidden inside nested labeled blocks, or if branches do not clearly terminate or the default label is inconsistently placed, code readability can be severely impaired and unintended logic errors may occur. Such code might not cause immediate issues but increases the risk of mistakes due to excessive complexity.\n\nTo keep the structure of switch statements simple and consistent, adhere to the following guidelines when writing them:\n\nThe common form of switch using only conditions is allowed, but if using C++17 initialization statements, they must be simple variable declarations. The case and default labels should be placed at the outermost level of the switch body.\n\nTo prevent fall-through, each branch must explicitly terminate with break or equivalent statements. Specifically, use one of break, continue, return, throw, calls to functions marked [[noreturn]], or intentional [[fallthrough]]. However, consecutive case labels without statements are permitted.\n\nFor defensive programming, always include a default label and place it either at the very beginning or the very end to improve readability.\n\nFinally, a switch statement must have at least two execution paths.",
  "rule.saqt.q.cpp.7494.example.0.dangerous": "Line 5: An expression, not a simple variable declaration, was used in the C++17 initialization statement of the switch.\nLine 7: The switch statement is missing a default label.\nLine 8: There is unreachable code between the switch statement and the case 0 label.\nLine 11: The case 2 label is inside a nested block, not at the top level of the switch body.\nLine 12: The branch for the case 0 label does not unconditionally terminate.\nLine 16: The branch for the case 10 label does not unconditionally terminate and falls through to the next case 11 label.\nLine 21: The default label is not located at the very beginning or end of the switch body.\nLine 23: The branch for the case 12 label does not unconditionally terminate. The program_exit() function might serve this role but does not have the [[noreturn]] attribute.\nLine 26: The switch statement has fewer than two execution paths.",
  "rule.saqt.q.cpp.7494.example.0.safe": "Line 4: When using C++17 initialization syntax in a switch, only simple variable declarations must be used.\nLine 7: A switch statement must have at least two execution paths, must not contain unreachable code, must include labels in correct positions, and must always include a default case.\nLine 8-11: Each label branch must have an unconditional termination. Termination methods can be break, return, throw, or continue.\nLine 12: Unconditional termination by a function call is also allowed, and in this case, the function must be declared with [[noreturn]].\nLine 13: However, consecutive case labels without executable statements are allowed as an exception.\nLine 16: If logic intentionally falls through to the next label, [[fallthrough]] must be used.\nLine 17: The default label must be located either at the very beginning or the very end of the switch body.\nLine 18-23: Even if conditional termination exists within the control flow, there must be unconditional termination at the end of the current branch. This applies equally when all control flows internally terminate.",
  "rule.saqt.q.cpp.7494.name": "Switch statement with improper structure",
  "rule.saqt.q.cpp.80.description": "The Violation of format of general comments checker finds general comments that violate their format.\nThe checker checks if general comments conform to the specified general comment format.\nWrite general comments in accordance with the specified format. Comments declared with //// must be changed to those with //.",
  "rule.saqt.q.cpp.80.example.0.dangerous": "Line 2: //// is used to add comments.",
  "rule.saqt.q.cpp.80.example.0.safe": "Line 2: Use // to add comments.",
  "rule.saqt.q.cpp.80.name": "Violation of format of general comments",
  "rule.saqt.q.cpp.80.option.GeneralComment.description": "Define the general comment template.",
  "rule.saqt.q.cpp.80.option.GeneralComment.name": "General comment template",
  "rule.saqt.q.cpp.82.description": "The Use of label statement checker finds instances of using a label statement. \nA goto statement may cause an unexpected program behavior. A label statement is usually paired with a goto statement.\nDo not use a label statement. ",
  "rule.saqt.q.cpp.82.example.0.dangerous": "Line 2: A label is used.",
  "rule.saqt.q.cpp.82.example.0.safe": "Line 2: Remove the label.",
  "rule.saqt.q.cpp.82.name": "Use of label statement",
  "rule.saqt.q.cpp.98.description": "The Use of forbidden function in loop checker finds instances of using a function optionally specified not to be used in a loop.\nYou can optionally specify functions forbidden in specific types of loops.\nMemory generation in a loop may cause the loss of the memory entry point, leading to memory leaks as well as performance degradation and slowdown.\nDo not use optionally forbidden functions in a loop.",
  "rule.saqt.q.cpp.98.example.0.dangerous": "Line 4: malloc() function is called in for statement.",
  "rule.saqt.q.cpp.98.example.0.safe": "Line 3: Use the malloc() out of the loop statement. Memory generation in a loop may cause the loss of the memory entry point, leading to memory leaks as well as performance degradation and slowdown. Modify the loop to use existing resources again.",
  "rule.saqt.q.cpp.98.name": "Use of forbidden function in loop",
  "rule.saqt.q.cpp.98.option.target_functions.description": "Set up forbidden functions",
  "rule.saqt.q.cpp.98.option.target_functions.name": "Forbidden function",
  "rule.saqt.q.cs.1011.description": "The Missing Braces in while Statement checker finds while statements that do not use braces.\nA while statement without braces is highly likely to cause a logical error when you make edits to the surrounding code.\nUse a pair of braces when using a while statement.",
  "rule.saqt.q.cs.1011.example.0.dangerous": "Line 2: No curly braces are used in a while statement.",
  "rule.saqt.q.cs.1011.example.0.safe": "Line 2: Use braces in the while statement.",
  "rule.saqt.q.cs.1011.name": "Missing Braces in while Statement",
  "rule.saqt.q.cs.1012.description": "The Missing Braces in for Statement checker finds for statements that do not use braces.\nA for statement without braces is highly likely to cause a logical error when you make edits to the surrounding code.\nUse a pair of braces when using a for statement.",
  "rule.saqt.q.cs.1012.example.0.dangerous": "Line 2: No braces are used in a for statement.",
  "rule.saqt.q.cs.1012.example.0.safe": "Line 2: Use braces in the for statement.",
  "rule.saqt.q.cs.1012.name": "Missing Braces in for Statement",
  "rule.saqt.q.cs.1013.description": "The Instantiation of string checker finds calls to new String().\nString has no argumentless constructor defined. Therefore, new String() is an invalid call.\nTo create a blank string, use String.Empty or \"\" instead.\nDo not use the operator \"new\" to create a string object unless you are to initialize a string with an array of characters.",
  "rule.saqt.q.cs.1013.example.0.dangerous": "Line 1: An unnecessary constructor is called instead of a string constant.\nLine 6: new String() is used to initialize a string.\nLine 7: new String() is used to initialize an empty string.",
  "rule.saqt.q.cs.1013.example.0.safe": "Line 1: Please, use a string constant to initialize a string.\nLine 6: Please, use a string constant to initialize a string.\nLine 7: Use String.Empty or \"\" to initialize an empty string.",
  "rule.saqt.q.cs.1013.name": "Instantiation of string",
  "rule.saqt.q.cs.1014.description": "The Missing default case in switch statement checker finds switch statements in which a default case is missing.\nThe absence of a default case in a switch statement may lead to an unexpected behavior when an unconsidered case occurs.\nInclude a default case in a switch statement.",
  "rule.saqt.q.cs.1014.example.0.dangerous": "Line 5: No base case is included in swich statements.",
  "rule.saqt.q.cs.1014.example.0.safe": "Line 5: Add a base case in switch statements.",
  "rule.saqt.q.cs.1014.name": "Missing default case in switch statement",
  "rule.saqt.q.cs.1015.description": "The Missing break statement in case statement checker finds case statements in which a break is missing.\nThe absence of a break in a case statement may result in an unexpected behavior.\nInclude a break in every case statement.",
  "rule.saqt.q.cs.1015.example.0.dangerous": "Line 4: A case statement is not eneded with a break statment.",
  "rule.saqt.q.cs.1015.example.0.safe": "Line 4: Add a break statement.",
  "rule.saqt.q.cs.1015.name": "Missing break statement in case statement",
  "rule.saqt.q.cs.1016.description": "The Jump Statement at End of Loop checker finds loop statements ended with a jump statement (break or continue).\nDo not use an unconditional break or continue at the end of a loop.\nIf a break is not in a conditional statement, the loop unconditionally terminates; if a continue is not in a conditional statement, it remains useless as it does not affect the loop at all.",
  "rule.saqt.q.cs.1016.example.0.dangerous": "Line 4: A break statement is used without condition at the end of the loop.",
  "rule.saqt.q.cs.1016.example.0.safe": "Line 4: Add a condition to execute the break statement.",
  "rule.saqt.q.cs.1016.name": "Jump Statement at End of Loop",
  "rule.saqt.q.cs.1017.description": "The Use of Equals on Variable checker finds statements in the form of variable.Equals(literal).\nIf the variable is null, a null dereference occurs.\nTo avoid this error, use the form of literal.Equals(variable).",
  "rule.saqt.q.cs.1017.example.0.dangerous": "Line 1: A statement in [Variable].Equals([Literal]) form is used.",
  "rule.saqt.q.cs.1017.example.0.safe": "Line 1: Use a statement in form of [Literal].Equals([Variable]).",
  "rule.saqt.q.cs.1017.name": "Use of Equals on Variable",
  "rule.saqt.q.cs.1018.description": "The Addition of empty string checker finds code that performs + operation on blank strings.\nAn empty string is used for the + operator. If this is for a type cast, an explicit approach is recommended instead. If this is not the case, the + operation is just useless and thus it is desirable to delete it.\nIf the + operation is for a type cast, use an explicit approach instead; otherwise, simply delete the unnecessary operation.",
  "rule.saqt.q.cs.1018.example.0.dangerous": "Line 3: An empty string is used for the + operator.",
  "rule.saqt.q.cs.1018.example.0.safe": "Line 3: Remove an empty string and '+' operation.",
  "rule.saqt.q.cs.1018.name": "Empty string used in + operator",
  "rule.saqt.q.cs.1019.description": "The Hardcoded IP checker finds hardcoded IP addresses.\nHardcoded IP addresses can be exposed. In addition, changes in the program execution environment require redeploying the program.\nDo not use the hardcode IP addresses.",
  "rule.saqt.q.cs.1019.example.0.dangerous": "Line 1: A hardcoded IP address is used.",
  "rule.saqt.q.cs.1019.example.0.safe": "Line 1: Do not use the hardcode IP addresses.",
  "rule.saqt.q.cs.1019.name": "Hardcoded IP",
  "rule.saqt.q.cs.1020.description": "The Assignment to multiple variables checker finds instances in which the same value is assigned to two or more variables.\nAssigning the same value to multiple variables undermines code readability and thus needs to be fixed.\nMake sure each variable takes a different value.",
  "rule.saqt.q.cs.1020.example.0.dangerous": "Line 1: A single value is assigned to more than two variables.",
  "rule.saqt.q.cs.1020.example.0.safe": "Line 1: Assign the single value to a single variable.",
  "rule.saqt.q.cs.1020.name": "Assignment to multiple variables",
  "rule.saqt.q.cs.1021.description": "The Instance creation in loop checker finds instances of creating an object in a loop.\nCreating an instance in a loop may degrade the program's execution performance.\nMake sure instances are created outside a loop.",
  "rule.saqt.q.cs.1021.example.0.dangerous": "Line 3: An instance is created in loop statements.",
  "rule.saqt.q.cs.1021.example.0.safe": "Line 1: Create and generate the instance out of the loops.",
  "rule.saqt.q.cs.1021.name": "Instance creation in loop",
  "rule.saqt.q.cs.1022.description": "The Too deeply nested if statements checker finds code that uses nested if statements more than the specified number of levels.\nDeeply nested if statements make it difficult to understand the program flow and may cause a lot of mistakes during development. If deeply nested if statements are to be used, you should try to reduce program complexity.\nDo not use deeply nested if statements.",
  "rule.saqt.q.cs.1022.example.0.dangerous": "Line 3: Deeply nested if statements are used.",
  "rule.saqt.q.cs.1022.example.0.safe": "Line 1: Do not use deeply nested if statements.",
  "rule.saqt.q.cs.1022.name": "Too deeply nested if statements",
  "rule.saqt.q.cs.1022.option.max_depth.description": "Write the maximum allowable depth of nested if-statements.",
  "rule.saqt.q.cs.1022.option.max_depth.name": "Problem Depth",
  "rule.saqt.q.cs.1024.description": "The Throwing NullPointerException checker finds throw statements that throw a NullReferenceException exception.\nA NullReferenceException exception is triggered by the .Net Framework when an attempt is made to access a nullable reference member that points to null. Because this exception class has a specific use, the program itself does not need to throw it in any case; code to throw such an exception is unnecessary and causes confusion.\nUse another exception class, or consider another approach than throwing an exception to address the issue.",
  "rule.saqt.q.cs.1024.example.0.dangerous": "Line 5: NullReferenceException exception is thrown.",
  "rule.saqt.q.cs.1024.example.0.safe": "Line 2: Fix a root cause of a null pointer exception.",
  "rule.saqt.q.cs.1024.name": "Throwing NullPointerException",
  "rule.saqt.q.cs.1025.description": "The Use of == operator on floating point values checker finds instances of using the `==` operator on floating-point numbers.\nComparison between floating-point numbers may not always function correctly.\nInstead of using the `==` operator, use Math.Abs to check whether the difference between two numbers falls within the error tolerance. For example, you can compare as follows: const double EPSILON = 0.001; Console.WriteLine(Math.Abs((0.1 + 0.2) - 0.3) < EPSILON);",
  "rule.saqt.q.cs.1025.example.0.dangerous": "Line 3: A == operator is used to compare floating points.",
  "rule.saqt.q.cs.1025.example.0.safe": "Line 3: Instead of the == operator, use NearlyEquals() method. See the description for NearlyEquals() method.",
  "rule.saqt.q.cs.1025.name": "Use of == operator on floating point values",
  "rule.saqt.q.cs.1026.description": "The String appended via += operator checker finds code that performs `+=` operation to concatenate strings.\nIn most cases, StringBuilder ensures better performance than the `+=` operator. Whenever the `+` or `+=` operator is used on strings, a new string class is created and past data is collected by the garbage collector. It thus causes unnecessary load. StringBuilder, in contrast, changes the value without creating a new variable, incurring less load than the `+`or `+=` operation.\nUse StringBuilder instead of the `+=` operator.",
  "rule.saqt.q.cs.1026.example.0.dangerous": "Line 6: Operator += is used to append two strings.",
  "rule.saqt.q.cs.1026.example.0.safe": "Line 6: Use Append function of StringBuilder instead of the operator +=.",
  "rule.saqt.q.cs.1026.name": "String appended via += operator",
  "rule.saqt.q.cs.1027.description": "The Comparison of Collection Size against 0 checker finds using Count()==0 or Count()!=0 on a collection object.\nGenerally, the Any() method outperforms the Count() method.\nTo check for an item in a collection object, use the Any() method.",
  "rule.saqt.q.cs.1027.example.0.dangerous": "Line 5: Count() method is used to verify items in collection.",
  "rule.saqt.q.cs.1027.example.0.safe": "Line 5: Use Any() method.",
  "rule.saqt.q.cs.1027.name": "Comparison of Collection Size against 0",
  "rule.saqt.q.cs.1030.description": "The Unused local variable checker finds local variables that are never used after declaration.\nDeclared but unused variables are a waste of computing resources. They also undermine code readability and may perform an unexpected action.\nRemove the unused variables.",
  "rule.saqt.q.cs.1030.example.0.dangerous": "Line 3: An unused variable is found after initialization.",
  "rule.saqt.q.cs.1030.example.0.safe": "Line 3: Remove the unused local variable.",
  "rule.saqt.q.cs.1030.name": "Unused local variable",
  "rule.saqt.q.cs.1031.description": "The Unused parameter checker finds unused method parameters.\nIn methods, unused parameters are recommended to be removed. When calling the method, you have to uselessly pass values to those unused parameters, and if any of the unused parameters is of a large type such as a custom class, unnecessary copying occurs.\nEliminate unused parameters.",
  "rule.saqt.q.cs.1031.example.0.dangerous": "Line 1: An unused parameter c is found.",
  "rule.saqt.q.cs.1031.example.0.safe": "Line 1: Remove the unused parameters.",
  "rule.saqt.q.cs.1031.name": "Unused parameter",
  "rule.saqt.q.cs.1031.option.exceptional_parameter_name.description": "Write down exceptional parameter names",
  "rule.saqt.q.cs.1031.option.exceptional_parameter_name.name": "Exceptional Parameter Name",
  "rule.saqt.q.cs.1031.option.exceptional_parameter_type.description": "Write down exceptional parameter types",
  "rule.saqt.q.cs.1031.option.exceptional_parameter_type.name": "Exceptional Parameter Type",
  "rule.saqt.q.cs.1032.description": "The Unused private field checker finds private fields that are never used.\nDeclared but unused private fields are a waste of resources. They also undermine code readability and may perform an unexpected action.\nEliminate unused private fields.",
  "rule.saqt.q.cs.1032.example.0.dangerous": "Line 2: An unused private field is found.",
  "rule.saqt.q.cs.1032.example.0.safe": "Line 2: Eliminate unused private fields.",
  "rule.saqt.q.cs.1032.name": "Unused private field",
  "rule.saqt.q.cs.1033.description": "The Throwing new exception checker finds catch blocks that throw a newly created exception.\nIf a catch block creates a new exception object and throws it, the information carried by the existing exception is lost. It is recommended, therefore, to throw the existing exception.\nDo not create a new exception object but throw the existing exception.",
  "rule.saqt.q.cs.1033.example.0.dangerous": "Line 3: A new exception object is created and thrown by catch statements.",
  "rule.saqt.q.cs.1033.example.0.safe": "Line 3: Do not create the new object, but throw the former object as it is.",
  "rule.saqt.q.cs.1033.name": "Throwing new exception",
  "rule.saqt.q.cs.1034.description": "The Unpulsed Object checker finds code that fails to call Mointor.Pulse() or Monitor.PulseAll() method after calling Monitor.Wait() method.\nOnce Monitor.Wait() is called on an object, the current thread waits until some other thread invokes Mointor.Pulse() or Monitor.PulseAll() on the same object. Therefore, both methods must always be called in pair. Although a waiting thread could be woken in another class, this approach makes the code less understandable.\nMake sure the Monitor.Wait() method and the Monitor.Pulse() or Monitor.PulseAll() method are called in pair in the same class.",
  "rule.saqt.q.cs.1034.example.0.dangerous": "Line 6: Mointor.Wait() method is called to someObject object. Monitor.PulseAll() method is not called in this class.",
  "rule.saqt.q.cs.1034.example.0.safe": "Line 6: Monitor.Wait() method is called to someObject object.\nLine 10: Monitor.PulseAll() method is also called to someObject object. A pair of two calls to method are found in one class.",
  "rule.saqt.q.cs.1034.name": "Unpulsed Object",
  "rule.saqt.q.cs.1646.description": "The Assigning instead of comparing checker finds instances of using an assignment operator in a place requiring a comparison operator, such as ==.\nThe checker usually searches for mistakes of using the `=` operator in a place of the `==` operator. Once the code is written this way, such mistakes are not easy to locate although the program behaves unintendedly. In C#, this does not happen as often as in C/C++ because C# programming allows conditional evaluations in an if statement or ternary expression to return a boolean value only.\nUse correct comparison operators.",
  "rule.saqt.q.cs.1646.example.0.dangerous": "Line 2: Null is assigned to variable a in if statements. Which is likely to be intended to compare variable a to null.",
  "rule.saqt.q.cs.1646.example.0.safe": "Line 2: When the assignment is not intended, change it into a comparison, such as = or !=.",
  "rule.saqt.q.cs.1646.name": "Assigning instead of comparing",
  "rule.saqt.q.cs.1843.description": "The Empty while Statement checker finds declared while statements whose body block is empty.\nAn empty while statement may behave unexpectedly or occasionally fall into infinite iteration.\nRemove empty statements.",
  "rule.saqt.q.cs.1843.example.0.dangerous": "Line 19: Inner blocks of while statements are empty.",
  "rule.saqt.q.cs.1843.example.0.safe": "Line 21: Enter code in the while statements.",
  "rule.saqt.q.cs.1843.name": "Empty while Statement",
  "rule.saqt.q.cs.2192.description": "The Use of Invalid Access Modifier on sealed Class checker finds public sealed classes wherein a protected member or a nested protected class is declared.\nA sealed class is not inheritable. This means that neither a protected method can be called with a sealed class, nor a protected member can access it.\nIt is recommended not to create a protected member in a public sealed class, which accords with the class's meaning. Meaningless class members undermine code readability and cause confusion.\nDo not include protected members in a public sealed class.",
  "rule.saqt.q.cs.2192.example.0.dangerous": "Line 8: A protected member is declared to a public sealed class.",
  "rule.saqt.q.cs.2192.example.0.safe": "Line 8: Do not declare the protected member.",
  "rule.saqt.q.cs.2192.name": "Use of Invalid Access Modifier on sealed Class",
  "rule.saqt.q.cs.957.description": "The Use of toString on Array checker finds calls to the toString method made on an array object.\nUsing toString() on an array returns information on the array object itself, not about its elements. To get information about an array's elements, a method such as string.Join needs to be used.\nUse string.Join() to get an array's elements.",
  "rule.saqt.q.cs.957.example.0.dangerous": "Line 4: toString() is used on an array.",
  "rule.saqt.q.cs.957.example.0.safe": "Line 4: Use string.Join().",
  "rule.saqt.q.cs.957.name": "Use of toString on Array",
  "rule.saqt.q.java.2162.description": "The Missing Call to Superclass Method in Android Activity checker finds overrides of the Activity class lifecycle methods that do not begin with a call to their respective superclass method.\nThe lifecycle methods of the Activity class subject to checking include onCreate(), onStart(), onRestart(), onResume(), onPause(), onStop(), and onDestroy().\nWhen a lifecycle method of the Activity class such as onCreate(), onStart(), onRestart(), onResume(), onPause(), onStop(), or onDestroy() is overridden, the body of the overriding definition must begin with a call to the superclass method to ensure the activity works correctly as defined by the Android platform.",
  "rule.saqt.q.java.2162.example.0.dangerous": "Line 6: super.onCreate() method is called, but not before defining.\nLine 11: super.onDestroy() method is not called.\nLine 17: super.onDestroy() method is called instead of super.onDestroy().",
  "rule.saqt.q.java.2162.example.0.safe": "Line 6: First, call super.onCreate() method.\nLine 12: First, call super.onDestroy() method.\nLine 18: First, call super.onStop() method.",
  "rule.saqt.q.java.2162.name": "Missing Call to Superclass Method in Android Activity",
  "rule.saqt.q.java.2164.description": "The Missing Necessary Call in Override of onMeasure checker finds overrides of the View.onMeasure() method that do not include a call to the setMeasuredDimension().\nIf the onMeasure() method is overridden in a custom view class inherited from the View class, the setMeasuredDimension() must be called to store the measured width and height of the view.",
  "rule.saqt.q.java.2164.example.0.dangerous": "Line 7: View.onMeasure() method is overridden, but setMeasuredDimension() method is not called.",
  "rule.saqt.q.java.2164.example.0.safe": "Line 10: Call setMeasuredDimension() method by sending valid value as the argument in the overridden onMeasure() method.",
  "rule.saqt.q.java.2164.name": "Missing Necessary Call in Override of onMeasure",
  "rule.saqt.q.java.2391.description": "The Immediate Assignment of Literal to Specific Variable checker finds instances of assigning a literal to a variable that meet the specified conditions.\nIt may happen that a literal constant is assigned to a variable for testing or debugging purposes and this assignment is then unintentionally left over until the code is deployed into production, thereby causing a program malfunction.\nDo not assign a literal constant to a variable of a specified type.",
  "rule.saqt.q.java.2391.example.0.dangerous": "Line 6: A literal is temporarily assigned to a parameter, name, for test.\nLine 7: A literal is temporarily assigned to a parameter, id, for test.",
  "rule.saqt.q.java.2391.example.0.safe": "Line 6: Remove code to assign literals.",
  "rule.saqt.q.java.2391.name": "Immediate Assignment of Literal to Specific Variable",
  "rule.saqt.q.java.2391.option.check_field.description": "Select this item to check instance(non-static) member field variable.",
  "rule.saqt.q.java.2391.option.check_field.name": "Check Instance Field",
  "rule.saqt.q.java.2391.option.check_local.description": "Select this item to check local variable declared in a method.",
  "rule.saqt.q.java.2391.option.check_local.name": "Check Local Variable",
  "rule.saqt.q.java.2391.option.check_param.description": "If the option is enabled, formal parameter variables of methods will be checked.",
  "rule.saqt.q.java.2391.option.check_param.name": "Check Formal Parameter",
  "rule.saqt.q.java.2391.option.check_static.description": "Select this item to check static member field variable.",
  "rule.saqt.q.java.2391.option.check_static.name": "Check Static Field",
  "rule.saqt.q.java.2391.option.excluded_class.description": "Write the class name to be excluded.<br /><i>Example)</i> .*Constant",
  "rule.saqt.q.java.2391.option.excluded_class.name": "Excluded Package Name",
  "rule.saqt.q.java.2391.option.excluded_method.description": "Write the method name to be excluded.<br /><i>Example)</i> get.*",
  "rule.saqt.q.java.2391.option.excluded_method.name": "Excluded Class Name",
  "rule.saqt.q.java.2391.option.excluded_package.description": "Write the package name to be excluded.<br /><i>Example)</i> .*const.*",
  "rule.saqt.q.java.2391.option.excluded_package.name": "Excluded Method Name",
  "rule.saqt.q.java.2391.option.target_class.description": "Write the the class name to be checked.<br /><i>Example)</i> .*Controller",
  "rule.saqt.q.java.2391.option.target_class.name": "Target Class Name",
  "rule.saqt.q.java.2391.option.target_method.description": "Write the method name to be checked.<br /><i>Example)</i> ((select)|(delete)|(update)).*",
  "rule.saqt.q.java.2391.option.target_method.name": "Target Method Name",
  "rule.saqt.q.java.2391.option.target_package.description": "Write the package name to be checked.<br /><i>example)</i> com.fasoo..*control",
  "rule.saqt.q.java.2391.option.target_package.name": "Target Package Name",
  "rule.saqt.q.java.2391.option.target_variable.description": "Write the the variable name to be checked.<br /><i>Example)</i> .*Id",
  "rule.saqt.q.java.2391.option.target_variable.name": "Target Variable Name",
  "rule.saqt.q.java.390.description": "The Dangerous downcasting of object in collection checker finds instances in which an element is added to a collection and then taken out of the collection to be cast to another type.\nSuch code is often found in source code for earlier Java versions than 1.5, which require a cast when taking elements out of a container because they do not support Generics. If a cast to an invalid type is attempted during execution, the application will throw a ClassCastException exception.\nCast the element to a valid type, or use the instanceof operator to check the element's type before casting it. If Java 1.5 or a later version is used, you can specify a generic type for the collection declaration, thereby reducing the risk of invalid downcasting.",
  "rule.saqt.q.java.390.example.0.dangerous": "Line 7: Shape object can be put into c.\nLine 12: An object imported from c is cast to Triangle type, a child class of Shape, without validation.",
  "rule.saqt.q.java.390.example.0.safe": "Line 11: After deciding to collect Shape objects in c, then cast the object imported from c into Shape type. If you want to cast it to triangle type, use instanceof operation to check its type.",
  "rule.saqt.q.java.390.name": "Dangerous downcasting of object in collection",
  "rule.saqt.q.java.394.description": "The Suspicious Method Name checker finds user-defined methods that are considered misnamed. \nFor example, a method named equal(), tostring(), or hashcode() is highly likely to be misnamed by mistake and intended to override the equals(), toString(), or hashCode() method, respectively.\nThese methods are all inherited from the java.lang.Object class and can be overridden to be redefined when needed. If a redefined method is misnamed as equal(), tostring(), or hashcode() for example, the program may not run as intended.\nIf the detected methods are misnamed by mistake, rename them after the methods inherited from the Object class. To prevent misnaming, you can put the @Override annotation before the method declaration so that a compile time error may be thrown in case the method is misnamed. Even if a detected method is named correctly as you intended, you'd better rename it more distinctly to avoid causing confusion to other developers.",
  "rule.saqt.q.java.394.example.0.dangerous": "Line 1: A method named tostring is defined.",
  "rule.saqt.q.java.394.example.0.safe": "Line 1: Use @Override explicitly to avoid mistakes.\nLine 2: Correct the method name into toString.",
  "rule.saqt.q.java.394.name": "Suspicious Method Name",
  "rule.saqt.q.java.415.description": "The Misuse of equals and == Operators checker finds instances in which both the equals() method and the == operator are used to compare certain two objects but in an unbalanced way.\nSuppose that Objects X and Y are compared using both equals() and ==. The checker reports a warning if either of equals() and == is used disproportionately more than the other one beyond the threshold ratio. Now suppose that this threshold is T, which is set to 80% (0.8) by default, while the number of uses of equals() is A and that of == is B. Then, the condition to trigger a warning can be expressed as follows: A/(A+B) >= T or B/(A+B) >= TBut there exist the following exceptions: - If a class does not override equals() but use the inherited method of Object.equals(), the checker does not warn. - Comparison with a null constant (x == null) does not count. - Comparison with a static object field (static Object x; x == y;) does not count.\nThe use of the equals() method is generally recommended for comparison of two objects unless you are to compare their physical addresses in memory. If you have used both the equals() method and the == operator on purpose, check that each comparison is correctly constructed as intended.",
  "rule.saqt.q.java.415.example.0.dangerous": "Line 18: One == operation and five equals() methods are used for comparison.",
  "rule.saqt.q.java.415.example.0.safe": "Line 17: It is recommended to use one method except for a specific reason.",
  "rule.saqt.q.java.415.name": "Misuse of equals and ==",
  "rule.saqt.q.java.416.description": "The Incorrect Overriding checker finds incorrectly overridden method definitions.\nThe checker searches for two patterns of incorrect overriding: One pattern is that a superclass and a subclass define methods that have the same name and parameter type but different package names. Defining a method this way looks like overriding an inherited method but actually is defining an unrelated method. The other pattern is that methods defined in a superclass and a subclass have case-insensitively identical names. In this case, the checker determines that the programmer intended to override the inherited method but made a mistake. This practice is also defining a separate method instead of overriding because Java syntax is case-sensitive.\nYou can reduce mistakes with method overriding by annotating the method definition with @Override, which notifies the compiler of your intention of overriding. Also, do not use different but case-insensitively identical names when defining methods. It is recommended to consistently name methods following the camelCase convention.",
  "rule.saqt.q.java.416.example.0.dangerous": "Line 4: A test method argument type of BadOverrideTest class is of pkg1.pkg2.Custom class as specified in above import statements.\nLine 11: However, an test method argument type of BadOverrideTestSuper class is of pkg1.Custom class as specified in above import statements, which does not match.",
  "rule.saqt.q.java.416.example.0.safe": "Line 9: Ensure classes of overridden method arguments to be matched.",
  "rule.saqt.q.java.416.name": "Incorrect Overriding",
  "rule.saqt.q.java.422.description": "The Modification of static field in non-static method checker finds statements that assign a value to a static field in an instance method.\nAll non-static methods are instance methods.\nUnless in special cases, the values of static fields must be changed only in static methods; otherwise, the program may behave unexpectedly.\nIf an instance method needs change in a static field, it is recommended to indirectly change its value by calling a static method.",
  "rule.saqt.q.java.422.example.0.dangerous": "Line 5: A static field value is changed in a non-static method.",
  "rule.saqt.q.java.422.example.0.safe": "Line 7: It is recommended to change the static field value in a static method.",
  "rule.saqt.q.java.422.name": "Modification of static field in non-static method",
  "rule.saqt.q.java.669.description": "The Use of notify checker finds direct calls to the notify() method.\nA direct call to notify() is not recommended because it notifies an arbitrary thread to wake up.\nInstead of using notify(), consider an approach that can specify the thread to be woken.",
  "rule.saqt.q.java.669.example.0.dangerous": "Line 3: notify() method is called.",
  "rule.saqt.q.java.669.example.0.safe": "Line 3: Do not call the notify() method.",
  "rule.saqt.q.java.669.name": "Use of notify",
  "rule.saqt.q.java.7171.description": "If any members, such as fields, methods, constructors, are found within a class block, it violates the empty class block. This can be caused by code omission or unintentional code deletion, which can lead to problems.\nAdd fields, methods, comments, into the class, or delete the unnecessary class.",
  "rule.saqt.q.java.7171.example.0.dangerous": "Line 1: An empty class block is found.",
  "rule.saqt.q.java.7171.example.0.safe": "Line 2: As predefined comments are included to the class, no violation is found.",
  "rule.saqt.q.java.7171.name": "Check empty class block",
  "rule.saqt.q.java.7172.description": "If there is no executable code inside a method or constructor block, it violates the empty method block. This might indicate missing code or unnecessary method.\nAdd the necessary code into the method, or remove the method if it is unnecessary.",
  "rule.saqt.q.java.7172.example.0.dangerous": "Line 1: As an empty method is found, code is missing.",
  "rule.saqt.q.java.7172.example.0.safe": "Line 2: As comments are included, which intentionally shows that the block is not empty.",
  "rule.saqt.q.java.7172.name": "Check empty method block",
  "rule.saqt.q.java.7173.description": "If there is no executable code within a conditional block, such as if, else if, else else, it is considered a violation. The missing condition can cause unintended behavior.\nAdd the necessary executable code into the conditional statements, or delete unnecessary conditional statements.",
  "rule.saqt.q.java.7173.example.0.dangerous": "Line 1: An empty conditional block is found.",
  "rule.saqt.q.java.7173.example.0.safe": "Line 2: As comments are included, the block is not empty.",
  "rule.saqt.q.java.7173.name": "Check empty conditional block",
  "rule.saqt.q.java.7174.description": "If a for loop has declaration, conditional, and increment, but its body is empty, it violates the empty for loop block. This might lost intended loop iteration due to missing code.\nAdd the code to the body of the for loop, or delete the loop if it is unnecessary.",
  "rule.saqt.q.java.7174.example.0.dangerous": "Line 1: An empty block of for loop is found.",
  "rule.saqt.q.java.7174.example.0.safe": "Line 2: As defined comments or code is included, which shows that the block is not empty.",
  "rule.saqt.q.java.7174.name": "Check empty for statement block",
  "rule.saqt.q.java.7175.description": "If the body of while and do-while loop is empty, it violates the empty while block. This can be caused by missing code of loop iteration, which leads to unintended behavior.\nAdd the code to the body of the loop, or delete the loop if it's unnecessary.",
  "rule.saqt.q.java.7175.example.0.dangerous": "Line 1: An empty body of while loop is found.",
  "rule.saqt.q.java.7175.example.0.safe": "Line 2: As predefined comments are included, no violation is found.",
  "rule.saqt.q.java.7175.name": "Check empty while statement block",
  "rule.saqt.q.java.7176.description": "An empty case or default block within the switch violates the empty switch block.\nAdd code into the case or default block, or add predefined comments as intended.",
  "rule.saqt.q.java.7176.example.0.dangerous": "Line 2, 7: An empty case or default block is found.",
  "rule.saqt.q.java.7176.example.0.safe": "Line 3, 9: As predefined comments are included, no violation is found.",
  "rule.saqt.q.java.7176.name": "Check empty switch block",
  "rule.saqt.q.java.7177.description": "An empty `try`, `catch`, `finally` block violates the empty error handling block. This can lead to improper handling for the exceptional cases.\nAdd code to properly handle the exception into the block.",
  "rule.saqt.q.java.7177.example.0.dangerous": "Line 3: An empty catch block indicates that error handling is missing.",
  "rule.saqt.q.java.7177.example.0.safe": "Line 4: As predefined comments are included, no violation is found.",
  "rule.saqt.q.java.7177.name": "Check empty error handling block",
  "rule.saqt.q.java.7178.description": "The rule detects when forbidden package names are found.\nRemove the forbidden packages or remove them from the detection list through option settings.",
  "rule.saqt.q.java.7178.example.0.dangerous": "Line 1: A forbidden package name has been detected.",
  "rule.saqt.q.java.7178.example.0.safe": "Line 1: This is an allowed package name.",
  "rule.saqt.q.java.7178.name": "Forbidden package name",
  "rule.saqt.q.java.7179.description": "This checks where a forbidden class name is found.\nRemove the forbidden class name or remove the name from the detection list of the options.",
  "rule.saqt.q.java.7179.example.0.dangerous": "Line 1: A forbidden class name is used.",
  "rule.saqt.q.java.7179.example.0.safe": "Line 1: An allowed class name is used.",
  "rule.saqt.q.java.7179.name": "Forbidden class name",
  "rule.saqt.q.java.7210.description": "`NullPointerException` might occur when a variable to be compared by`equals()` or `equalsIgnoreCase() method contains a null. You can set forbidden patterns or exceptions for the rule.\n\n```java\nString str = null;\nstr.equals(\"Sparrow\")\n```\n\nTo avoid potential `NullPointerException`, use the hardcoded string first in the `equals()` or `equalsIgnoreCase() method.",
  "rule.saqt.q.java.7210.example.0.dangerous": "Line 2: Variable str is directly used to the comparison of strings.",
  "rule.saqt.q.java.7210.example.0.safe": "Line 2: Place a hardcoded string first in the equals() method. This can avoid NullPointerException.",
  "rule.saqt.q.java.7210.name": "equal comparison of hardcoded string",
  "rule.saqt.q.java.7211.description": "An unnecessary statement in the method body violates the unnecessary statement. This can lead to loss of flow or existence of unnecessary method.\nAdd more code to the method body or remove the unnecessary statement.",
  "rule.saqt.q.java.7211.example.0.dangerous": "Line 2: An unnecessary statement is found in the method body.",
  "rule.saqt.q.java.7211.example.0.safe": "Line 2: Remove unnecessary statements from the body and add necessary code.",
  "rule.saqt.q.java.7211.name": "Unnecessary statement",
  "rule.saqt.q.java.7212.description": "Using assignment within conditional clause of if, else if, while, for, switch statements is considered as violation. For readability, do not use assignment within operand in the conditional statements.\nDo not include assignment within the conditional clause of the statements, and separate the assignment from the conditional statements.\n\n```java\nx = getX();\nif (x == 3) {\n...\n}\n```",
  "rule.saqt.q.java.7212.example.0.dangerous": "Line 3: The control statement's condition contains an assignment expression.",
  "rule.saqt.q.java.7212.example.0.safe": "Line 3: The control statement's condition does not contain an assignment expression, and the code is written separately.",
  "rule.saqt.q.java.7212.name": "Prohibition of assignment expressions in control statement conditions",
  "rule.saqt.q.java.7213.description": "It detects when the `SimpleDateFormat` class is found in the code. This class does not guarantee `Thread-Safety` in a multi-threaded environment, so it is not recommended as it can cause data inconsistency when multiple threads access resources simultaneously.\n\n- Thread-Safe\n    - A term meaning that there is no problem in program execution even if multiple threads simultaneously access a function/variable/object in a multi-threaded environment.\nInstead of `SimpleDataFormat`, use the `DateUtil` class provided by the framework. This class supports `DateTimeFormatter` which guarantees `Thread-safe`, and can consistently process time in a desired region through the application of `ZoneID`.",
  "rule.saqt.q.java.7213.example.0.dangerous": "Line 7: The SimpleDateFormat class is not recommended for use as it does not guarantee Thread-Safe.",
  "rule.saqt.q.java.7213.example.0.safe": "Line 7: For DateTimeFormatter class is thread-safe, this is safe.",
  "rule.saqt.q.java.7213.name": "Forbidden use of SimpleDateFormat",
  "rule.saqt.q.java.7219.description": "It checks whether all methods in files within the specified file path comply with the naming conventions.\nWrite all method names in files within the specified file path in compliance with the naming conventions.",
  "rule.saqt.q.java.7219.example.0.dangerous": "Line 3-4: According to the established method naming convention, all method names in the file path should only start with lowercase alphabets. The given method names violated this rule.",
  "rule.saqt.q.java.7219.example.0.safe": "Line 3-4: According to the established method naming convention, all method names in the file path should only start with lowercase alphabets. The given method names complied with this rule.",
  "rule.saqt.q.java.7219.name": "Verification of method naming conventions within specific file paths",
  "rule.saqt.q.java.7220.description": "If there are additional method naming conventions dependent on a specific package, the package requires additional detection of its own naming conventions.\nIf necessary, getter/setter methods can use independent naming conventions, so they can be excluded from the detection scope of that naming convention.\nIf there are additional method naming conventions dependent on a specific package, write method names in compliance with the package's own naming conventions. If necessary, getter/setter methods can use independent naming conventions, so detect after excluding them from the detection scope of that naming convention.",
  "rule.saqt.q.java.7220.example.0.dangerous": "Line 3-5: According to the established method naming convention, all method names in the package should only start with verbs. The given method names violated this rule.",
  "rule.saqt.q.java.7220.example.0.safe": "Line 3-5: According to the established method naming convention, all method names in the package should only start with verbs. The given method names complied with this rule.",
  "rule.saqt.q.java.7220.name": "Verification of method naming conventions dependent on specific packages",
  "rule.saqt.q.java.7223.description": "It checks whether the variable controlling the FOR loop complies with the established rules.\nWhen using a floating-point number instead of an integer as a variable controlling the FOR loop, the start and end conditions may not be executed properly.\n\nAdditionally, if the variable controlling the FOR loop is modified within the FOR loop, the number of repetitions cannot be predicted, making the code difficult to understand and potentially causing an infinite loop if the calculation goes wrong.\n\nTherefore, the following two conditions are checked to ensure they are correctly set according to the established rules:\n\n(1) Allow/prohibit the use of floating-point numbers instead of integers as variables controlling the FOR loop.\n\n(2) Allow/prohibit the modification of the FOR loop control variable within the FOR loop.\nUse the correct variable type so that the variable controlling the FOR loop is not modified according to the established rules.",
  "rule.saqt.q.java.7223.example.0.dangerous": "Line 1-3: A floating-point number was used as the control variable of the FOR loop instead of an integer.\nLine 5-9: The control variable of the FOR loop was modified within the FOR loop.",
  "rule.saqt.q.java.7223.example.0.safe": "Line 1-3: An integer was used as the control variable of the FOR loop.\nLine 5-7: The control variable of the FOR loop was not modified within the FOR loop.",
  "rule.saqt.q.java.7223.name": "Verification of FOR loop control variables",
  "rule.saqt.q.java.7224.description": "It is considered a violation if a method exists within a constant class. Constant classes are mainly used to manage unchanging values in one place, so methods are unnecessary. This checker can set constant classes to check and methods to exclude from detection through options.\nRemove unnecessary methods from constant classes.",
  "rule.saqt.q.java.7224.example.0.dangerous": "Line 7: An unnecessary calculation method is included in the constant class.",
  "rule.saqt.q.java.7224.example.0.safe": "Line 5: Constant classes should only store constant values, and calculation methods should be managed separately in different classes.",
  "rule.saqt.q.java.7224.name": "Prohibition of method creation in constant classes",
  "rule.saqt.q.java.7225.description": "It detects violations of class calling conventions within the same business group. This checker can set target classes, callable classes, exception patterns, etc. through options.\nRemove classes that violate the calling conventions within the same business group and re-check the entire calling structure.",
  "rule.saqt.q.java.7225.example.0.dangerous": "Line 5: When assuming that the BIZ class in the same business group as the ComplexSVCImpl class is a non-callable class, this code is a case of violating the calling conventions within the same business group.",
  "rule.saqt.q.java.7225.example.0.safe": "Line 5: When assuming that the SVCImpl class in the same business group as the ComplexSVCImpl class is a callable class, this code is a case of complying with the calling conventions within the same business group.",
  "rule.saqt.q.java.7225.name": "Inspection of class calls within the same business group",
  "rule.saqt.q.java.7226.description": "This rule checks declaration of member variable in the class.\nDo not declare the member variable in the class. Use a local variable or parameter within the method, if needed.",
  "rule.saqt.q.java.7226.example.0.dangerous": "Line 3: A class member variable has been declared.",
  "rule.saqt.q.java.7226.example.0.safe": "Line 3: Local variables are utilized instead of class member variables.",
  "rule.saqt.q.java.7226.name": "Prohibition of non-final member in Class",
  "rule.saqt.q.java.7227.description": "It checks whether all boolean variables in files within the specified file path comply with the naming conventions.\nWrite all boolean variable names in files within the specified file path in compliance with the naming conventions.",
  "rule.saqt.q.java.7227.example.0.dangerous": "Line 3: According to the established boolean variable naming convention, all boolean variable names in the file path should only start with lowercase. The given boolean variable name violated this rule.",
  "rule.saqt.q.java.7227.example.0.safe": "Line 3: According to the established boolean variable naming convention, all boolean variable names in the file path should only start with lowercase. The given boolean variable name complied with this rule.",
  "rule.saqt.q.java.7227.name": "Verification of boolean variable naming conventions within specific file paths",
  "rule.saqt.q.java.7228.description": "A THROW statement must be included inside the CATCH block.\nIf the use of a CATCH block without a THROW statement is allowed, write a comment in a specific format inside the CATCH block instead of the THROW statement.\nWhen using a CATCH block, include a THROW statement inside. If the use of a CATCH block without a THROW statement is allowed, write a comment in a specific format inside the CATCH block instead of the THROW statement.",
  "rule.saqt.q.java.7228.example.0.dangerous": "Line 2-4: No THROW statement or alternative comment exists inside the CATCH block.",
  "rule.saqt.q.java.7228.example.0.safe": "Line 4: A THROW statement exists inside the CATCH block.\nLine 10: An alternative comment for the THROW statement exists inside the CATCH block.",
  "rule.saqt.q.java.7228.name": "Inspection of THROW statement inclusion inside CATCH blocks",
  "rule.saqt.q.java.7229.description": "Using the `.equals()` method to compare a null value and a specific value can result in a `NullPointerException`.\nWhen comparing a null value and a specific value, use `==`.",
  "rule.saqt.q.java.7229.example.0.dangerous": "Line 4: The .equals() method was used to compare a null value and a specific value.",
  "rule.saqt.q.java.7229.example.0.safe": "Line 4: == was used to compare a null value and a specific value.",
  "rule.saqt.q.java.7229.name": "Prohibition of null comparison using equals()",
  "rule.saqt.q.java.7230.description": "Unnecessary `import` statements are elements that hinder intuitive understanding of the code.\nThere are three main types of unnecessary `import` statements:\n\n1. Declaring the same package\n2. Declaring duplicate packages\n3. Declaring unused packages\nDo not use unnecessary `import` statements.",
  "rule.saqt.q.java.7230.example.0.dangerous": "Line 2-3: An import statement was declared in an already declared package.\nLine 5: An unused import statement was declared.\nLine 6: A duplicate import statement was declared.",
  "rule.saqt.q.java.7230.example.0.safe": "Line 2: Unnecessary import statements were not used.",
  "rule.saqt.q.java.7230.name": "Inspection of unnecessary import statements within specific file paths",
  "rule.saqt.q.java.7231.description": "It detects violations of class calling conventions within other business groups. This checker can set target classes, callable classes, exception patterns, etc. through options.\nRemove classes that violate the calling conventions within other business groups and re-check the entire calling structure.",
  "rule.saqt.q.java.7231.example.0.dangerous": "Line 7: When assuming that the BIZ class in another business group as the ComplexSVCImpl class is a non-callable class, this code is a case of violating the calling conventions within other business groups.",
  "rule.saqt.q.java.7231.example.0.safe": "Line 7: When assuming that the SVCImpl class in another business group as the ComplexSVCImpl class is a callable class, this code is a case of complying with the calling conventions within other business groups.",
  "rule.saqt.q.java.7231.name": "Inspection of class calls within other business groups",
  "rule.saqt.q.java.7232.description": "When throwing in a catch block, the created Exception object must be included in the argument value.\nWhen receiving an Exception in a catch block, the Exception is created as an object. Therefore, when throwing in that block, including the created Exception object in the argument value allows for accurate handling of that Exception.\nWhen throwing in a catch block, always include the created Exception object in the argument value.",
  "rule.saqt.q.java.7232.example.0.dangerous": "Line 2: The created Exception object was not included in the argument value when throwing in the catch block.",
  "rule.saqt.q.java.7232.example.0.safe": "Line 2: The created Exception object was included in the argument value when throwing in the catch block.",
  "rule.saqt.q.java.7232.name": "Verification of Exception object inclusion in throw arguments inside catch blocks within specific file paths",
  "rule.saqt.q.java.7233.description": "It prohibits the creation and use of instances of prohibited Exceptions within a specific file path.\nWhen creating or using a specific Exception instance, it is difficult to identify exactly where the Exception occurred and what the cause was.\nDo not create or use instances of prohibited Exceptions. Instead, create and use instances of Exceptions appropriate to the cause and situation, and resolve the situation through appropriate catch statements for those Exceptions.",
  "rule.saqt.q.java.7233.example.0.dangerous": "Line 4: An instance of the prohibited NullPointerException was created.\nLine 12: A prohibited IOException was created in a throw statement.",
  "rule.saqt.q.java.7233.example.0.safe": "Line 4: An instance of the non-prohibited IllegalArgumentException was created.\nLine 12: A prohibited Exception was not used in the throw statement.",
  "rule.saqt.q.java.7233.name": "Prohibition of creating and using instances of prohibited Exceptions within specific file paths",
  "rule.saqt.q.java.7234.description": "It checks for prohibited patterns in the argument values of specified methods of logger objects within a specific file path.\nSome specific methods of logger objects may have constraints such as not using the toString() method in argument values. Therefore, after setting a list of specified methods to detect and prohibited patterns in the argument values of those methods, it detects code that does not comply with these.\nDo not use prohibited patterns in the argument values of specified methods of logger objects within a specific file path.",
  "rule.saqt.q.java.7234.example.0.dangerous": "Line 3: A prohibited pattern was used in the argument value of a specified method of a log object within a specific file path.",
  "rule.saqt.q.java.7234.example.0.safe": "Line 3: A prohibited pattern was not used in the argument value of a specified method of a log object within a specific file path.",
  "rule.saqt.q.java.7234.name": "Verification of prohibited pattern existence in argument values of specified methods of logger objects within specific file paths",
  "rule.saqt.q.java.7235.description": "It detects violations of other business message code conventions. This checker can set target methods, message code allowance patterns, application code check status, target application codes, exception patterns, etc. through options.\nCheck other business message code conventions and remove violated strings.",
  "rule.saqt.q.java.7235.example.0.dangerous": "Line 1: If the allowance pattern for business message codes passed as arguments to the Business_Msg method is BESPARROW, this code is a case of violating the business message code convention.",
  "rule.saqt.q.java.7235.example.0.safe": "Line 1: If the allowance pattern for business message codes passed as arguments to the Business_Msg method is BESPARROW, this code is a case of complying with the business message code convention.",
  "rule.saqt.q.java.7235.name": "Prohibition of using other business message codes",
  "rule.saqt.q.java.7236.description": "Inner classes can increase code complexity and harm readability and testability.\nRefactor the class into an external class and separate it.",
  "rule.saqt.q.java.7236.example.0.dangerous": "Line 2: Using an Inner class can harm readability.",
  "rule.saqt.q.java.7236.example.0.safe": "Line 2: Classes are separated to comply with the rule.",
  "rule.saqt.q.java.7236.name": "Prohibition of Inner classes",
  "rule.saqt.q.java.7237.description": "It detects when the number of code lines in a method within a specific file path is included in a prohibited range.\nIf a method has too many lines, it is likely that it has been assigned more functions than necessary. This causes reduced code visibility and difficulties in maintenance and debugging. Therefore, it is recommended to separate the method into an independent class or divide it into several more detailed private methods.\n\nIf a method has too few lines, it is likely that it has been implemented by excessively separating functions that could be included in other methods. This causes unnecessary function calls, making the code difficult to understand intuitively and causing difficulties in maintenance and debugging. Therefore, it is recommended to merge the method with other methods that call it.\nMake sure that the number of code lines in a method within a specific file path not to be included in the prohibited range.",
  "rule.saqt.q.java.7237.example.0.dangerous": "Line 5: The number of lines of code inside the method is included in the prohibited range.",
  "rule.saqt.q.java.7237.example.0.safe": "Line 2-4: The number of lines of code inside the method is not included in the prohibited range.",
  "rule.saqt.q.java.7237.name": "Verification of method line count within specific file paths",
  "rule.saqt.q.java.7238.description": "In Java, when using string literals, it internally reuses already created instances. However, using the new operator creates a new instance each time, which can cause memory waste and performance degradation.\nWhen creating strings, use string literals directly instead of the new operator.",
  "rule.saqt.q.java.7238.example.0.dangerous": "Line 1: The new operator creates a new instance, causing memory waste.",
  "rule.saqt.q.java.7238.example.0.safe": "Line 1: Using string literals directly prevents unnecessary instance creation.",
  "rule.saqt.q.java.7238.name": "Prohibition of unnecessary String Instance creation",
  "rule.saqt.q.java.7239.description": "String objects are already managed internally as immutable instances, and string literals or String variables can already be used without calling toString().\nWhen using strings, use variables or literals directly without calling toString().",
  "rule.saqt.q.java.7239.example.0.dangerous": "Line 2: An unnecessary toString() was used.",
  "rule.saqt.q.java.7239.example.0.safe": "Line 2: The string variable is used as is.",
  "rule.saqt.q.java.7239.name": "Inspection of unnecessary toString() method use",
  "rule.saqt.q.java.7240.description": "Using unnecessary parentheses when the meaning can be conveyed sufficiently without them can reduce code readability.\nRemove parentheses to make the code concise when the meaning of an expression is clear without them.",
  "rule.saqt.q.java.7240.example.0.dangerous": "Line 1, 2: Unnecessary parentheses are used, making the code look complex.",
  "rule.saqt.q.java.7240.example.0.safe": "Line 1, 2: Unnecessary parentheses are not used, improving code readability.",
  "rule.saqt.q.java.7240.name": "Use of unnecessary parentheses",
  "rule.saqt.q.java.7241.description": "Simply throwing exceptions in the code makes it difficult to identify the cause when a problem occurs, and the lack of additional context during exception propagation makes debugging difficult.\nReinforce the exception message or wrap it in a custom exception class before throwing.",
  "rule.saqt.q.java.7241.example.0.dangerous": "Line 1: Using an unprocessed Exception makes it difficult to identify problems when exceptions occur.",
  "rule.saqt.q.java.7241.example.0.safe": "Line 1: Additional information can be obtained when exceptions occur, making debugging easier.",
  "rule.saqt.q.java.7241.name": "Prohibition of throwing unprocessed Exceptions",
  "rule.saqt.q.java.7242.description": "It detects private methods that are declared but not actually used in the code within a specific file path.\nDeclaring unused private methods can degrade performance.\nDelete or comment out unused private methods within a specific file path.",
  "rule.saqt.q.java.7242.example.0.dangerous": "Line 4-6: An unused private method was declared.",
  "rule.saqt.q.java.7242.example.0.safe": "Line 4-9: An unused private method was commented out.",
  "rule.saqt.q.java.7242.name": "Detection of unused private methods within specific file paths",
  "rule.saqt.q.java.7243.description": "When checking if a string is empty, using `String.trim().length()` can cause unnecessary operations and exceptional situations.\nWhen checking for empty strings, use the `StringUtil.isEmpty(String)` method to determine.\n- Methods can be added as options.",
  "rule.saqt.q.java.7243.example.0.dangerous": "Line 1: This is a verification method with unnecessary operations and a risk of missing null handling.",
  "rule.saqt.q.java.7243.example.0.safe": "Line 1: The code becomes concise and can secure null safety.",
  "rule.saqt.q.java.7243.name": "Empty string verification check",
  "rule.saqt.q.java.7244.description": "The input parameters of a method are data passed from the caller and are likely to be managed externally. If input parameters are directly modified, they may have unwanted effects on the caller, so they should be considered read-only and not modified.\nDo not modify input parameters, and if necessary, create and modify a copy of the parameter.",
  "rule.saqt.q.java.7244.example.0.dangerous": "Line 2: Directly accessing and changing the value of an input parameter.",
  "rule.saqt.q.java.7244.example.0.safe": "Line 3: Creating a copy and changing its value.",
  "rule.saqt.q.java.7244.name": "Prohibition of input parameter modification",
  "rule.saqt.q.java.7245.description": "It detects private variables that are declared but not actually used in the code within a specific file path.\nDeclaring unused private variables can degrade performance.\nDelete or comment out unused private variables within a specific file path.",
  "rule.saqt.q.java.7245.example.0.dangerous": "Line 2: An unused private variable was declared.",
  "rule.saqt.q.java.7245.example.0.safe": "Line 2-3: An unused private variable was commented out.",
  "rule.saqt.q.java.7245.name": "Detection of unused private variables within specific file paths",
  "rule.saqt.q.java.7292.description": "This rule checks declaration of final member variable in the class.\nDo not declare the final member variable in the class. Use a local variable or parameter within the method, if needed.",
  "rule.saqt.q.java.7292.example.0.dangerous": "Line 3: A final member variable has been declared in the class.",
  "rule.saqt.q.java.7292.example.0.safe": "Line 4: A local variable is used within the method instead of declaring the final member variable.",
  "rule.saqt.q.java.7292.name": "Prohibition of final member in Class",
  "rule.saqt.q.java.7293.description": "If there are additional method naming conventions dependent on a specific package, the package requires additional detection of its own naming conventions.\nIf necessary, getter/setter methods can use independent naming conventions, so they can be excluded from the detection scope of that naming convention.\nIf there are additional method naming conventions dependent on a specific package, write method names in compliance with the package's own naming conventions. If necessary, getter/setter methods can use independent naming conventions, so detect after excluding them from the detection scope of that naming convention.",
  "rule.saqt.q.java.7293.example.0.dangerous": "Line 3-5: According to the established method naming convention, all method names in the package should only start with verbs. The given method names violated this rule.",
  "rule.saqt.q.java.7293.example.0.safe": "Line 3-5: According to the established method naming convention, all method names in the package should only start with verbs. The given method names complied with this rule.",
  "rule.saqt.q.java.7293.name": "Verification of method naming conventions",
  "rule.saqt.q.java.761.description": "The Use of wait in synchronized block without control checker finds synchronized blocks that contain uncontrolled calls to the wait() method.\nThe wait() method is called to have the current thread wait until some conditions are met. This means that the thread typically should wait while checking if relevant conditions are satisfied; therefore, an uncontrolled call to wait() with no conditions may likely have been written by mistake.\nBe sure to control each call to wait() with an appropriate conditional or loop.",
  "rule.saqt.q.java.761.example.0.dangerous": "Line 3: wait() method is called without a control statement.",
  "rule.saqt.q.java.761.example.0.safe": "Line 4: Add a condition to enclose the wait() method with a loop.",
  "rule.saqt.q.java.761.name": "Use of wait in synchronized block without control",
  "rule.saqt.q.java.761.option.check_if_stmt.description": "When unchecked, the wait method in the if statement is detected.",
  "rule.saqt.q.java.761.option.check_if_stmt.name": "Check if statement",
  "rule.saqt.q.java.761.option.wait_method.description": "Write the name of wait method in Fully Qualified Name (FQN).<br />Example) java.util.concurrent.locks.Lock.wait",
  "rule.saqt.q.java.761.option.wait_method.name": "Name of wait method",
  "rule.saqt.q.java.762.description": "The Use of notify in synchronized block checker finds calls to the notify() method made in a synchronized block.\nA call to notify() is not recommended because it notifies an arbitrary thread to wake up.\nCall the notifyAll() method instead to wake up all threads, then control which thread is to take the turn.",
  "rule.saqt.q.java.762.example.0.dangerous": "Line 6: notify() method is called.",
  "rule.saqt.q.java.762.example.0.safe": "Line 6: Replace the method with notifyAll() method.",
  "rule.saqt.q.java.762.name": "Use of notify in synchronized block",
  "rule.saqt.q.java.762.option.notify_method.description": "Write the name of the notify method in Fully Qualified Name (FQN).<br />Example) java.lang.Object.notify",
  "rule.saqt.q.java.762.option.notify_method.name": "Name of Notify method",
  "rule.saqt.q.java.763.description": "The Violation of Specified Exception Handling Rule checker finds instances in which an exception class that must be handled is not handled, or an exception class that must not be handled is handled.\nYou can optionally adjust the lists of exception classes that must and must not be handled.\nTo ensure your program behaves consistently in every part, you may need to have some exceptions always handled and some other exceptions never handled. For example, you can forbid the use of an abstract exception superclass so that its member exceptions may be handled individually.\nWhen calling a method that throws an exception specified to be always handled, be sure to handle the exception using a catch block. And do not handle forbidden exceptions using a catch block.",
  "rule.saqt.q.java.763.example.0.dangerous": "Line 5: Suppose that SQLException exception handling is specified as required. The required exception handling is not performed.",
  "rule.saqt.q.java.763.example.0.safe": "Line 5: Handle the SQLException exception as specified.",
  "rule.saqt.q.java.763.name": "Violation of Specified Exception Handling Rule",
  "rule.saqt.q.java.763.option.forbidden_exception.description": "Write the name of the exception class to forbid in Fully Qualified Name (FQN).<br />Example) java.io.IOException",
  "rule.saqt.q.java.763.option.forbidden_exception.name": "Name of the exception class to exclude",
  "rule.saqt.q.java.763.option.required_exception.description": "Write the name of the exception class to include in Fully Qualified Name (FQN).<br />Example) java.sql.SQLException",
  "rule.saqt.q.java.763.option.required_exception.name": "Name of the exception class to include",
  "rule.saqt.q.java.764.description": "The Use of sleep or yield at outside of control block checker finds unconditional calls to the sleep() or yield() method.\nCalls to these methods must be controlled within conditional blocks.",
  "rule.saqt.q.java.764.example.0.dangerous": "Line 3: Thread.sleep() method is called without a conditional statement.\nLine 7: Thread.yeild() method is called without a conditional statement.",
  "rule.saqt.q.java.764.example.0.safe": "Line 5: Thread.sleep() method is called with a while statement.",
  "rule.saqt.q.java.764.name": "Use of sleep or yield at outside of control block",
  "rule.saqt.q.java.764.option.sleep_method.description": "Write the name of the sleep method in Fully Qualified Name (FQN).<br />Example) java.lang.Thread.sleep",
  "rule.saqt.q.java.764.option.sleep_method.name": "Name of sleep method",
  "rule.saqt.q.java.764.option.yield_method.description": "Write the name of the yield method in Fully Qualified Name (FQN).<br />Example) java.lang.Thread.yield",
  "rule.saqt.q.java.764.option.yield_method.name": "Name of yield method",
  "rule.saqt.q.java.767.description": "The Use of == operator on floating point values checker finds instances of using the == operator on two floating-point numbers.\nWhile a series of operations are performed on floating-point numbers, small errors may add up. As a result, two variables that are expected to be equal may actually differ slightly, leading to an unintended behavior of the program.\nTo check whether two floating-point numbers are equal, you must do it by checking whether their difference is within the predefined tolerance.",
  "rule.saqt.q.java.767.example.0.dangerous": "Line 6: A floating point value is compared with == operator.",
  "rule.saqt.q.java.767.example.0.safe": "Line 6: Compare by checking that gaps between two values are within certain degree.",
  "rule.saqt.q.java.767.name": "Use of == operator on floating point values",
  "rule.saqt.q.java.768.description": "The Inappropriate Removal of Object in Collection checker finds instances in which the remove() method is called on a collection of integers but is passed with an expression containing an integer constant.\nAs the collection class's base remove() method is defined for a java.lang.Object argument, this method can take any data type of argument. When an integer constant of a primitive type is passed to the method, it is implicitly boxed to a wrapper object (e.g., from an int value to a java.lang.Integer object). Therefore, if a mere integer constant is passed in a call to remove(), the call may be interpreted in an unintended way. Especially in the case of a collection derived from the AbstractList class, the overloaded method of remove(int)-which specifies the position of the element to remove-makes its use more complicated. Particular care is thus required when remove() is called on a collection of integer-compatible elements.\nWhen calling remove() with an argument that contains a constant, it is recommended to clarify your intention by explicitly casting the argument to the collection's element type.",
  "rule.saqt.q.java.768.example.0.dangerous": "Line 6: An expression with an integer constant is sent to remove() method for collecting short types.",
  "rule.saqt.q.java.768.example.0.safe": "Line 6: Send the argument to the remove() method by casting it into short type.",
  "rule.saqt.q.java.768.name": "Inappropriate Removal of Object in Collection",
  "rule.saqt.q.java.769.description": "The Access to Private Member of Nesting Class checker finds instances in which a nested class accesses a private member that belongs to its nesting class.\nThe Java language specification allows a nested class to access any members of its nesting class. However, there is no direct support for nested classes at the bytecode level, so each nested class is compiled to a separate class file. Since it is impossible to access a private field of another class, if a nested class is coded to directly access its nesting class's private member, the compiler will generate a certain method in the nesting class to enable the nested class's access. To prevent this outcome, it is recommended to avoid a nested class's direct access to its nesting class's private fields.\nUse a public method when a nesting class's private member needs to be accessed. Members to be accessible to a nested class should not be declared private, but public or protected.",
  "rule.saqt.q.java.769.example.0.dangerous": "Line 8: doNotAccess, a private member of an external class, is directly accessed.",
  "rule.saqt.q.java.769.example.0.safe": "Line 2: Declare the public member of inner class as protected.",
  "rule.saqt.q.java.769.name": "Access to Private Member of Nesting Class",
  "rule.saqt.q.java.770.description": "The Unreleased Lock checker finds instances in which a lock object is acquired in a method but the lock is not released in the same method.\nIf locking and unlocking are not performed in the same method, the locking flow is not easily understandable, possibly causing mistakes. Therefore, if a method is to invoke a lock, it is recommended to include an unlock for it in the same method.\nMake sure a lock is acquired and released within the same method.",
  "rule.saqt.q.java.770.example.0.dangerous": "Line 8: lock() method is called, but unlock() method is not. Although the unlock() can be called by other methods, but this code cannot manage locks.",
  "rule.saqt.q.java.770.example.0.safe": "Line 10: Call both lock() and unlock() methods in the single add() method.",
  "rule.saqt.q.java.770.name": "Unreleased Lock",
  "rule.saqt.q.java.771.description": "The Unnotified object checker finds classes that call the wait() method but do not include a call to the notify() or notifyAll() method.\nOnce wait() is called on an object, the current thread waits until some other thread invokes notify() or notifyAll() on the same object. Therefore, both methods must always be called in pair. Although a waiting thread could be woken in another class, this approach makes the code less understandable.\nMake sure the wait() method and the notifiy() or notifyAll() method are called in pair in the same class.",
  "rule.saqt.q.java.771.example.0.dangerous": "Line 6: wait() is called, but notify() or notifyAll() method is not called in the class.",
  "rule.saqt.q.java.771.example.0.safe": "Line 14: Add notifyAll() method call.",
  "rule.saqt.q.java.771.name": "Unnotified object",
  "rule.saqt.q.java.772.description": "The Unnecessary casting on iterator variable checker finds instances in which the next() method called on an Iterator-type object and an unnecessary cast is performed on its return.\nIf next() is called on a generic Iterator object that has a type parameter specified, no cast is needed on the return of the method. It is because the static type of the return value is already the element type represented by the type parameter.\nEliminate unnecessary casts.",
  "rule.saqt.q.java.772.example.0.dangerous": "Line 3: iter variable is declared as Iteartor<String> type. A generic type parameter has been declared with String.\nLine 5: Next() method is returned in String due to its generic type. No need to be casted.",
  "rule.saqt.q.java.772.example.0.safe": "Line 6: Eliminate unnecessary casts.\nLine 7: Meanwhile, iter2 are clarified its generic type parameter, which needs to be casted to call the next() method.",
  "rule.saqt.q.java.772.name": "Unnecessary casting on iterator variable",
  "rule.saqt.q.java.773.description": "The Implicit casting in function call checker finds instances in which an argument passed in a method call is implicitly cast.\nThe checker searches for an integer argument passed to a real-number parameter.\nBecause an implicit cast may cause issues such as imperceptibly altering the precision of a value, an explicit cast is recommended.\nUse an explicit cast.",
  "rule.saqt.q.java.773.example.0.dangerous": "Line 8: An int variable num is implicitly converted into double to be sent to addDouble() method as an argument.",
  "rule.saqt.q.java.773.example.0.safe": "Line 8: Perform a explicit casting in order to prevent implicit casting.",
  "rule.saqt.q.java.773.name": "Implicit casting in function call",
  "rule.saqt.q.java.774.description": "The Implicit casting in assignment checker finds instances in which an implicit cast is caused by type mismatch between the two sides of an assignment operation.\nThe checker searches for an integer argument passed to a real-number parameter, or a real-number argument passed to an integer parameter.\nBecause an implicit cast may cause issues such as imperceptibly altering the precision of a value, an explicit cast is recommended.\nUse an explicit cast.",
  "rule.saqt.q.java.774.example.0.dangerous": "Line 4: An int variable intNum is implicitly converted into double to be assigned into double variable doubleNum.",
  "rule.saqt.q.java.774.example.0.safe": "Line 4: Perform a explicit casting in order to prevent implicit casting.",
  "rule.saqt.q.java.774.name": "Implicit casting in assignment",
  "rule.saqt.q.java.775.description": "The Implicit casting in return checker finds instances in which an implicit cast is caused by mismatch between a method's declared return type and the actual return value's type.\nThe checker reports a warning if a method is declared to return a real number but actually returns an integer, or if a method is declared to return an integer but actually returns a real number.\nBecause an implicit cast may cause issues such as imperceptibly altering the precision of a value, an explicit cast is recommended.\nUse an explicit cast.",
  "rule.saqt.q.java.775.example.0.dangerous": "Line 3: An int variable intNum is implicitly converted into double.",
  "rule.saqt.q.java.775.example.0.safe": "Line 3: Perform a explicit casting in order to prevent implicit casting.",
  "rule.saqt.q.java.775.name": "Implicit casting in return",
  "rule.saqt.q.java.776.description": "The Nested try Statement checker finds instances in which a try statement nests another try statement.\nDivide them into two separate try statements, or join them as one single try statement.",
  "rule.saqt.q.java.776.example.0.dangerous": "Line 4: Another try statement is included in try statements.",
  "rule.saqt.q.java.776.example.0.safe": "Line 3: Divide them into two separate try statements.",
  "rule.saqt.q.java.776.name": "Nested try Statement",
  "rule.saqt.q.java.777.description": "The Returning private field of outer class checker finds instances in which a nested class directly returns a private member that belongs to its nesting class.\nThe Java language specification allows a nested class to access any members of its nesting class. However, there is no direct support for nested classes at the bytecode level, so each nested class is compiled to a separate class file. Since it is impossible to access a private field of another class, if a nested class is coded to directly access its nesting class's private member, the compiler will generate a certain method in the nesting class to enable the nested class's access. To prevent this outcome, it is recommended to avoid a nested class's direct access to its nesting class's private fields. Furthermore, if the accessed private field is not a primitive type but a reference type, the field could be exposed to the outside in spite of the private access modifier put for exclusive accessibility within the class.\nUse a public method when a nesting class's private member needs to be accessed. Members to be accessible to a nested class should not be declared private, but public or protected.",
  "rule.saqt.q.java.777.example.0.dangerous": "Line 5: A private field of an external class, outerField variable is returned.",
  "rule.saqt.q.java.777.example.0.safe": "Line 2: Declare the public member of inner class as protected.",
  "rule.saqt.q.java.777.name": "Returning private field of outer class",
  "rule.saqt.q.java.778.description": "The Return of String Using Constructor checker finds instances in which an object is created and immediately converted to a string through the toString() method.\nIn most cases, a wanted string can be created without calling a constructor. For example, primitive wrapper classes have static methods that directly convert to a string without creating a wrapper object. Unnecessary calls to constructors for object creation are a waste of memory.\nFind alternatives that enable conversion to strings without creating a temporary object.",
  "rule.saqt.q.java.778.example.0.dangerous": "Line 3: A new integer object is created in order to convert variable arg into strings.",
  "rule.saqt.q.java.778.example.0.safe": "Line 3: Do not create the new object, directly convert it into string.",
  "rule.saqt.q.java.778.name": "Return of String Using Constructor",
  "rule.saqt.q.java.779.description": "The Use of Runtime.exec checker finds calls to the dangerous method of Runtime.exec().\nDo not use this method.",
  "rule.saqt.q.java.779.example.0.dangerous": "Line 4: Runtime.exec() method is called.",
  "rule.saqt.q.java.779.example.0.safe": "Line 4: Do not call a forbidden method.",
  "rule.saqt.q.java.779.name": "Use of Runtime.exec",
  "rule.saqt.q.java.780.description": "The Use of finalizer on Exit checker finds calls to the dangerous methods of Runtime.runFinalizersOnExit() and System.runFinalizersOnExit().\nMarked deprecated, these API methods should be restricted in use. It is because their use can invoke a finalizer on an active object being used by another thread, possibly leading to issues such as a deadlock.\nDo not use this method.",
  "rule.saqt.q.java.780.example.0.dangerous": "Line 3: The forbidden methods are called.",
  "rule.saqt.q.java.780.example.0.safe": "Line 3: Do not use Runtime.runFinalizersOnExit() or System.runFinalizersOnExit() as possible.",
  "rule.saqt.q.java.780.name": "Use of Finalizer on Exit",
  "rule.saqt.q.java.781.description": "The Use of raw type checker finds instances of using a generic collection type without a type parameter specified.\nThe checker performs checking on major generic collection types included in the java.util package.\nWithout a type parameter specified, the type is treated as java.lang.Object, leading to leaving unfixed some mistakes that would otherwise be discovered by static typing.\nIf you are using Java 1.5 or a later version, it is safe to specify type parameters when using a generic type.",
  "rule.saqt.q.java.781.example.0.dangerous": "Line 2: A Set class is used without a generic type parameter.",
  "rule.saqt.q.java.781.example.0.safe": "Line 2: Explicitly send the elements type as type parameter.",
  "rule.saqt.q.java.781.name": "Use of raw type",
  "rule.saqt.q.java.789.description": "The Use of deprecated API checker finds instances of using a deprecated API.\nYou can optionally specify a list of deprecated APIs.\nDeprecated APIs are recommended not to be used. In most cases, there are better alternatives developed or safer versions that solve their defects.\nConsider using other APIs.",
  "rule.saqt.q.java.789.example.0.dangerous": "Line 1: Data class is used.",
  "rule.saqt.q.java.789.example.0.safe": "Line 1: Do not use the API.",
  "rule.saqt.q.java.789.name": "Use of deprecated API",
  "rule.saqt.q.java.789.option.deprecated_api.description": "Write the name of the deprecated API in Fully Qualified Name (FQN).<br />Example) java.util.Date",
  "rule.saqt.q.java.789.option.deprecated_api.name": "Name of API class not to use",
  "rule.saqt.q.java.809.description": "The Use of synchronized method in loop checker finds instances in which a method declared synchronized is called in a loop.\nIterative calls to a synchronized method in a loop cause performance degradation.\nUnless it is necessary, remove the synchronized modifier. If synchronization is necessary, consider calling the synchronized method outside the loop. If there is no alternatives, keep in mind the iterative synchronization will degrade the program performance.",
  "rule.saqt.q.java.809.example.0.dangerous": "Line 4: A addItem() method declared as synchronized is called in while statements",
  "rule.saqt.q.java.809.example.0.safe": "Line 7: Remove the synchronized modifier from the addItem() method.",
  "rule.saqt.q.java.809.name": "Use of synchronized method in loop",
  "rule.saqt.q.java.810.description": "The Access to Array with Fixed Index in Loop checker finds loops in which an array is accessed with the same index at each iteration.\nAccess to an array in a loop is usually intended to access its different elements. An iterated access with the same index is, therefore, introduced mostly by a coding mistake.\nCheck for mistakes in the code. If such access to an array is coded on purpose, move it out of the loop to clarify your intention. If a certain element of an array is read iteratively in a loop, assign the element value to another variable prior to starting the loop and use the assigned variable in the loop. If a certain element of an array is assigned with a constant value iteratively in a loop, store that value in another variable instead and after the loop is terminated, assign this variable to the array.",
  "rule.saqt.q.java.810.example.0.dangerous": "Line 12: An array is accessed in a loop through constant 0.\nLine 13: j is assigned with a constant 0.",
  "rule.saqt.q.java.810.example.0.safe": "Line 10: Assign a frequently used value from the array to a variable.\nLine 12: Fix a invalid index used at mistake.",
  "rule.saqt.q.java.810.name": "Access to Array with Fixed Index in Loop",
  "rule.saqt.q.java.810.option.trusted_readonly_methods.description": "Write the name of the methods that do not write to memory of object but just read the object fields.<br />Example) compareTo",
  "rule.saqt.q.java.810.option.trusted_readonly_methods.name": "Read-only methods which do not write to memory of object",
  "rule.saqt.q.java.811.description": "The Break statement using label checker finds instances of using a labeled break to specify the loop to terminate.\nIn a nested loop, a break with a label specifying the outermost loop enables breaking out the enclosing loops at once. However, this practice complicates the control flow, thus making the code less understandable.\nUse an alternative instead of a labeled break. There always are alternatives that can implement the same behavior.",
  "rule.saqt.q.java.811.example.0.dangerous": "Line 6: An infinite loop is executed by break statements when a if condition is true.",
  "rule.saqt.q.java.811.example.0.safe": "Line 8: Use the condition variable without the labelled break statements to break the loop.",
  "rule.saqt.q.java.811.name": "Break statement using label",
  "rule.saqt.q.java.817.description": "The Use of volatile checker finds instances of using the volatile modifier.\nDo not use the volatile modifier.",
  "rule.saqt.q.java.817.example.0.dangerous": "Line 2: A volatile modifier is used.",
  "rule.saqt.q.java.817.example.0.safe": "Line 2: Remove the volatile modifier.",
  "rule.saqt.q.java.817.name": "Use of volatile",
  "rule.saqt.q.java.818.description": "The Use of short Type checker finds instances of using the short type.\nShort-type objects are converted to int type when being processed by the JVM, after which they are converted back to the short type. This processing causes performance degradation.\nDo not use the short type.",
  "rule.saqt.q.java.818.example.0.dangerous": "Line 2: num variable is declared as short type.",
  "rule.saqt.q.java.818.example.0.safe": "Line 2: Use an int type instead of short.",
  "rule.saqt.q.java.818.name": "Use of short Type",
  "rule.saqt.q.java.819.description": "The Use of Public Field checker finds instances of applying the public modifier to a field declaration.\nYou can optionally adjust the checking conditions. The checker performs checks on fields that match an optionally specified name pattern. If no pattern is specified, all fields are checked. If an exempted name pattern is specified, the fields matching it are excluded from checking.\nDo not use the public modifier when declaring an optionally specified field.",
  "rule.saqt.q.java.819.example.0.dangerous": "Line 2: A public field variable is declared.",
  "rule.saqt.q.java.819.example.0.safe": "Line 2: Declare the variable with private modifier.",
  "rule.saqt.q.java.819.name": "Use of Public Field",
  "rule.saqt.q.java.819.option.excluded_variable.description": "Write the fields to exclude from detection.<br/>Example) excluded",
  "rule.saqt.q.java.819.option.excluded_variable.name": "Name of the field to exclude",
  "rule.saqt.q.java.819.option.target_variable.description": "Write the name of the field to detect that is initialized upon declaration.<br/>Example) field",
  "rule.saqt.q.java.819.option.target_variable.name": "Name of the target field",
  "rule.saqt.q.java.820.description": "The Unused import statement checker finds import statements that do not affect the execution of the program.\nThe checker searches for an import statement whose target is never used in code. It also reports for importing a class belonging to the java.lang package or to the current class's package-which is accessible without an import statement-and for duplicate type-import-on-demand declarations indicating the same package.\nUnnecessary import statements are mostly leftovers whose target class or member was needed at first but now has become unused as a result of some fixes in source code. It is desirable to remove those leftover import statements because they may cause an unintended import if you later need an identically named class or member belonging to another package.\nRemove unnecessary import statements.",
  "rule.saqt.q.java.820.example.0.dangerous": "Line 1: List class is not used. So, an import statement does not change any logic.",
  "rule.saqt.q.java.820.example.0.safe": "Line 1: Remove unnecessary import statements.",
  "rule.saqt.q.java.820.name": "Unused import statement",
  "rule.saqt.q.java.823.description": "The Use of public field in method checker finds declarations of public instance fields that belong to a class containing a method definition.\nPublic instance fields are allowed only in a class that does not include any member method declaration. Such a class can serve a similar role to a struct in C programming. If this is not the case, instances fields should not be declared public but accessed through a method.\nDeclare all instance fields as private or protected, or remove all method declarations in the class.",
  "rule.saqt.q.java.823.example.0.dangerous": "Line 2: A public instance field is declared in a class with getField() method.",
  "rule.saqt.q.java.823.example.0.safe": "Line 2: A class without methods can include the public instance field.",
  "rule.saqt.q.java.823.name": "Use of public field in method",
  "rule.saqt.q.java.824.description": "The Assignment to multiple variables checker finds instances of assigning to two or more variables in a single statement.\nYou can optionally set the checker to report only when the same value is assigned to multiple variables.\nMulti-assignment in a single statement is ambiguous about the order of assignments, possibly resulting in an unintended expression. For clarity in code, it is recommended to rewrite the same set of assignments in multiple lines.\nSplit the multi-assignment across multiple lines in accordance with the intended order of assignments.",
  "rule.saqt.q.java.824.example.0.dangerous": "Line 4: Variables x and y are assigned with 1 in a single statement.",
  "rule.saqt.q.java.824.example.0.safe": "Line 5: Divide the statement into two.",
  "rule.saqt.q.java.824.name": "Assignment to multiple variables",
  "rule.saqt.q.java.824.option.check_separate_assignments.description": "If the checkbox is checked, additionally detect two or more assignment operators which are used separately even though they are not assigning the same value in a single expression.<br />Example) (x",
  "rule.saqt.q.java.824.option.check_separate_assignments.name": "Check separated assignments",
  "rule.saqt.q.java.825.description": "The Assigning instead of comparing checker finds instances of using an assignment operator in a place requiring a comparison operator, such as ==.\nThe checker usually searches for mistakes of using the `=` operator in a place of the `==` operator. Once the code is written this way, such mistakes are not easy to locate although the program behaves unintendedly. In Java, this does not happen as often as in C/C++ because C# programming allows conditional evaluations in an if statement or ternary expression to return a boolean value only.\nUse correct comparison operators.",
  "rule.saqt.q.java.825.example.0.dangerous": "Line 3: = operator is used in a conditional expression of if statements.",
  "rule.saqt.q.java.825.example.0.safe": "Line 3: Modify the operator to == if you want to execute comparison operation.",
  "rule.saqt.q.java.825.name": "Assigning instead of comparing",
  "rule.saqt.q.js.1482.description": "The Invalid Operand Type checker finds instances of using an operand of an invalid type.\nThe checker reports about uses of certain operators when their operand is an invalid type.\nIn the case of JavaScript, the `in` operator's right-hand operand must be of the object type, while the `instanceof` operator's operand should be of the function type.\nUse a valid operand.",
  "rule.saqt.q.js.1482.example.0.dangerous": "Line 4: Ensure the left operand of instanceof to be a function. A variable type has been used as the operand.",
  "rule.saqt.q.js.1482.example.0.safe": "Line 4: Use the function type operand for verification.",
  "rule.saqt.q.js.1482.name": "Invalid Operand Type",
  "rule.saqt.q.js.1514.description": "The Use of with Statement checker finds with statements.\nThe with statement creates a new scope chain for accessing the objects in it, hugely undermining code readability.\nDo not use the with statement.",
  "rule.saqt.q.js.1514.example.0.dangerous": "Line 1: with statement is used.",
  "rule.saqt.q.js.1514.example.0.safe": "Line 1: Do not use the with statement to simplify the code.",
  "rule.saqt.q.js.1514.name": "Use of with Statement",
  "rule.saqt.q.js.1515.description": "The Inappropriate Equality Comparison Operator checker finds instances of using == and != instead of === and !===, respectively.\nIn JavaScript, the == and != operators can cause an implicit cast leading to an unintended result.\nFor comparison, use the === operator.",
  "rule.saqt.q.js.1515.example.0.dangerous": "Line 2: A == operator comes to an undesired result in some cases.",
  "rule.saqt.q.js.1515.example.0.safe": "Line 2: Use the === operator to perform a correct comparison.",
  "rule.saqt.q.js.1515.name": "Inappropriate Equality Comparison Operator",
  "rule.saqt.q.js.1519.description": "The Assignment in operands checker finds code that performs assignment operation instead of comparison to calculate conditions.\nThis occurs when an assignment operator, such as `=`, is unexpectedly used instead of a comparison operator, such as `==`. Once the code is written this way, such mistakes are not easy to locate although the program behaves unintendedly.\nDo not use an assignment operator with comparison operators.",
  "rule.saqt.q.js.1519.example.0.dangerous": "Line 3: = operator is used in a conditional expression of if statements.",
  "rule.saqt.q.js.1519.example.0.safe": "Line 3: Use == operation in the conditional expression of if statements.",
  "rule.saqt.q.js.1519.name": "Assignment in operands",
  "rule.saqt.q.js.1519.option.allowConditionalExpression.description": "Write whether allow assignment expression in conditional expression of conditional expression (true/false)",
  "rule.saqt.q.js.1519.option.allowConditionalExpression.name": "Allow assignment within the conditional expression of a conditional expression",
  "rule.saqt.q.js.1519.option.allowConditionalExpressionResult.description": "Write whether allow assignment expression in result expression of conditional expression (true/false)",
  "rule.saqt.q.js.1519.option.allowConditionalExpressionResult.name": "Allow assignment within the result expression of a conditional statement",
  "rule.saqt.q.js.1519.option.allowFor.description": "Write whether allow assignment expression in conditional expression of for statement (true/false)",
  "rule.saqt.q.js.1519.option.allowFor.name": "Allow assignment within the conditional expression of a for statement",
  "rule.saqt.q.js.1519.option.allowIf.description": "Write whether allow assignment expression in conditional expression of if statement (true/false)",
  "rule.saqt.q.js.1519.option.allowIf.name": "Allow assignment within the conditional expression of an if statement",
  "rule.saqt.q.js.1519.option.allowWhile.description": "Write whether allow assignment expression in conditional expression of while statement (true/false)",
  "rule.saqt.q.js.1519.option.allowWhile.name": "Allow assignment within the conditional expression of an while statement",
  "rule.saqt.q.js.1520.description": "The Bitwise Operation checker finds instances of using a bitwise operator.\nIn JavaScript, bitwise operators are hardly used. The used bitwise operators might be typos for conditional operators.\nRemove the occurrences of the bitwise operators.",
  "rule.saqt.q.js.1520.example.0.dangerous": "Line 1: A bit operator & in if statements is assumed to be misspelled from &&.",
  "rule.saqt.q.js.1520.example.0.safe": "Line 1: Correct the misspelling.",
  "rule.saqt.q.js.1520.name": "Bitwise Operation",
  "rule.saqt.q.js.1693.description": "The Modified native object checker finds instances of modifying a browser-native object's property.\nA modification to the prototype property of a native object can cause an unintended behavior by a function of a native object.\nDo not make a modification to native prototypes, but use them as they are.",
  "rule.saqt.q.js.1693.example.0.dangerous": "Line 3: sort() function is overridden.",
  "rule.saqt.q.js.1693.example.0.safe": "Line 3: Do not modify a property of native object in browser.",
  "rule.saqt.q.js.1693.name": "Modified native object",
  "rule.saqt.q.js.1693.option.native_object.description": "Write a prototype of the native object not to be overwirrten or defined.<br />Example) Number.prototype",
  "rule.saqt.q.js.1693.option.native_object.name": "Native object not to be overwritten or defined.",
  "rule.saqt.q.js.1695.description": "The Improper variable declaration in for statement checker finds instances of declaring a variable in a for loop's control section without using the var keyword.\nWithout the var keyword, the variable is declared global, possibly causing an unintended modification to the variable.\nUse the var keyword in the control section of a for loop.",
  "rule.saqt.q.js.1695.example.0.dangerous": "Line 5: A variable is used without var declaration.",
  "rule.saqt.q.js.1695.example.0.safe": "Line 5: A variable is used after var declaration.",
  "rule.saqt.q.js.1695.name": "Improper variable declaration in for statement",
  "rule.saqt.q.js.1698.description": "The Unreachable code checker finds unreachable statements that come after a return, break, continue, or throw statement.\nReturn, break, continue, and throw statements must always be put at the end of a block.\nRelocate the unreachable statements appropriately.",
  "rule.saqt.q.js.1698.example.0.dangerous": "Line 4: Other statements are found after a return statement.",
  "rule.saqt.q.js.1698.example.0.safe": "Line 4: No other statements are found after a return statement.",
  "rule.saqt.q.js.1698.name": "Unreachable code",
  "rule.saqt.q.js.7559.description": "The rule detects cases where the assignment operator (`=`) is used in the condition of control statements such as if, else if, while, for, and switch. There are usually two reasons why an assignment operator appears in a condition: it was used intentionally by the developer, or it was used by mistake when attempting to enter a comparison operator (`==`, `===`). These two cases cannot be clearly distinguished in code. If it was intentional, there is no problem; however, if it was a mistake, the condition may always evaluate to true or false depending on the assigned value, which can cause unintended logic errors.\nDo not use the assignment operator (`=`) in the condition of a control statement. When comparing values, use comparison operators (`===`, `!==`, `==`, `!=`, `<`, `>`, etc.). If variable assignment is required, perform the assignment outside the control statement.",
  "rule.saqt.q.js.7559.example.0.dangerous": "Line 4, 7: The assignment operator (`=`) is used in the condition of the if and for statements.",
  "rule.saqt.q.js.7559.example.0.safe": "Line 1, 7: Do not assign variables directly in the condition of the for statement. Assign them before the statement and use the assigned values in the condition instead.\nLine 4: Use the comparison operator (`===`) when comparing values in an if statement condition.",
  "rule.saqt.q.js.7559.name": "Prohibition of assignment expressions in control statement conditions",
  "rule.saqt.q.objc.1898.description": "The Symbolic link race condition checker finds instances of accessing a file in reliance solely on the return from a call to lstat() on it.\nAlthough lstat() serves to determine the symlink status of a file, its determination based on the path of the file may be inaccurate. It is because if a file is manipulated after checked for symlink status, a subsequent call to open() on it can lead to an unintended action. Therefore, you should call open() first to secure the file and then call fstat() to get accurate information from the file before determining subsequent actions.\nDo not rely solely on lstat(). Call lstat() to check a file's status, call open() to open the file, and then check if a call to fstat() returns the same result as the earlier call to lstat().",
  "rule.saqt.q.objc.1898.example.0.dangerous": "Line 6: File information is saved in lstat_info struct.\nLine 9: A non-symbolic file is opened.\nLine 15: A TOCTOU race condition is occurring by modifying the file without checking its states.",
  "rule.saqt.q.objc.1898.example.0.safe": "Line 7: Call lstat() with the file name.\nLine 10: Open the file with open() function.\nLine 14: Open the file states with fstat() function.\nLine 17: Modify the file after matching it with link information from the lstat() function.",
  "rule.saqt.q.objc.1898.name": "Symbolic link race condition",
  "rule.saqt.q.objc.1898.option.symlink_chklist.description": "Enter the kind of symbolic link to check.",
  "rule.saqt.q.objc.1898.option.symlink_chklist.name": "Symbolic link to check",
  "rule.saqt.q.objc.1909.description": "The Misuse of Apple APIs checker finds calls to the dispatch_once() function that are passed with a non-static variable as the first argument.\nThe first argument passed to dispatch_once() is an object that indicates whether the target code block has completed or not. Since this object to indicate whether the code block has been executed only once for the lifetime of the program, it must persist in memory until the program terminates. Therefore, this argument must not be declared as a general local variable but with the reserved word \"static\" prefixed.\nWhen declaring a dispatch_once_t variable used for the argument, add the reserved word \"static\" to the declaration.",
  "rule.saqt.q.objc.1909.example.0.dangerous": "Line 5: The first argument pred of dispatch_once() function is a local variable.",
  "rule.saqt.q.objc.1909.example.0.safe": "Line 4: Declare the pred variable as static to be used as the argument of dispatch_once() function.",
  "rule.saqt.q.objc.1909.name": "Misuse of Apple APIs",
  "rule.saqt.q.objc.1910.description": "The Passing nil to @synchronized directive checker finds instances of passing a nil synchronization object to a @synchronized directive for a synchronized block.\nThis may cause race conditions.\nMake sure that the passed synchronization object is not nil.",
  "rule.saqt.q.objc.1910.example.0.dangerous": "Line 4: A nil object x is sent to @synchronized directive.",
  "rule.saqt.q.objc.1910.example.0.safe": "Line 4: Check that the x object sent to the @synchronized directive is not a nil.",
  "rule.saqt.q.objc.1910.name": "Passing nil to @synchronized directive",
  "rule.saqt.q.objc.1911.description": "The Releasing non-instance object checker finds instances of sending a [release], [retain], or [autorelease] message not to an instance but to a class.\nBecause such a message is to deallocate memory from an instance, it must not be sent to a class instead of an instance.\nSend a release message to an instance, not to a class.",
  "rule.saqt.q.objc.1911.example.0.dangerous": "Line 6: This is sending [release] message to MyClass class, not an instance.",
  "rule.saqt.q.objc.1911.example.0.safe": "Line 6: Send the [release] message to an instance, mycar.",
  "rule.saqt.q.objc.1911.name": "Releasing non-instance object",
  "rule.saqt.q.objc.1912.description": "The Misuse of CFNumberCreate checker finds calls to CFNumberCreate() in which the number of bits represented by the third argument is lower than the data type size indicated by the second argument.\nFailure to match the number of bits will failure to initialize the CFNumberRef object returned by CFNumberCreate().\nMake sure the second argument's value matches the bits of the numeric type of the third argument.",
  "rule.saqt.q.objc.1912.example.0.dangerous": "Line 4: A size of the third argument of CFNumberCreate() function is 8 bits, but creates size of 16 bits, which is a size of the second argument. Therefore, an object is not correctly initialized.",
  "rule.saqt.q.objc.1912.example.0.safe": "Line 4: Use a proper initialization bit length to create CFNumberRef object with CFNumberCreate() function.",
  "rule.saqt.q.objc.1912.name": "Misuse of CFNumberCreate",
  "rule.saqt.q.objc.1913.description": "The Use of float type as loop index checker finds instances of using a float-point variable as a loop counter.\nIf a loop counter assumes a floating-point number, arithmetic operations on the counter value may produce a small amount of roundoff error; as these errors are accumulated in iterations, the cumulative rounding error may become a significant value unexpectedly affecting the count of iterations.\nMake sure loop counters assume an integer variable.",
  "rule.saqt.q.objc.1913.example.0.dangerous": "Line 9: A loop counter variable x is a floating point type.",
  "rule.saqt.q.objc.1913.example.0.safe": "Line 9: An integer type variable is used as a loop counter.",
  "rule.saqt.q.objc.1913.name": "Use of float type as loop index",
  "rule.saqt.q.objc.1920.description": "The Use of uninitialized value in binary operation checker finds binary operations performed on an uninitialized variable.\nIf an uninitialized variable is used as an operand of a binary operator, the return value is unpredictable.\nInitialize variables before using them as operands.",
  "rule.saqt.q.objc.1920.example.0.dangerous": "Line 3: An uninitialized variable x is used for + operation.",
  "rule.saqt.q.objc.1920.example.0.safe": "Line 3: Perform initialization of the variable x.",
  "rule.saqt.q.objc.1920.name": "Use of uninitialized value in binary operation",
  "rule.saqt.q.objc.1921.description": "The Use of uninitialized value in array checker finds instances of using an uninitialized variable for array indexing.\nIf an uninitialized variable is used as an array subscript, the memory location to be referenced is unpredictable.\nInitialize variables before using them as operands.",
  "rule.saqt.q.objc.1921.example.0.dangerous": "Line 3: An uninitialized variable i is used as an access modifier of an array.",
  "rule.saqt.q.objc.1921.example.0.safe": "Line 3: Perform initialization of the variable i.",
  "rule.saqt.q.objc.1921.name": "Use of uninitialized value in array",
  "rule.saqt.q.objc.1922.description": "The Assignment of Uninitialized Variable checker finds instance of assigning an uninitialized variable to another variable.\nAssigning an uninitialized variable only results in another uninitialized variable; this action often happens simply by the developer's mistake.\nInitialize variables before using them as operands.",
  "rule.saqt.q.objc.1922.example.0.dangerous": "Line 4: An uninitialized variable a is assigned to variable b.",
  "rule.saqt.q.objc.1922.example.0.safe": "Line 4: Assign the initialized variable a to b.",
  "rule.saqt.q.objc.1922.name": "Assignment of Uninitialized Variable",
  "rule.saqt.q.objc.1923.description": "The Use of uninitialized value in conditional statement checker finds conditional expressions containing an uninitialized variable.\nIf an uninitialized variable is used for conditional branching, the result is unpredictable.\nInitialize variables before using them as operands.",
  "rule.saqt.q.objc.1923.example.0.dangerous": "Line 4: An uninitialized variable a is used as a conditional expression.",
  "rule.saqt.q.objc.1923.example.0.safe": "Line 4: Use the initialized variable a as the conditional expression.",
  "rule.saqt.q.objc.1923.name": "Use of uninitialized value in conditional statement",
  "rule.saqt.q.objc.1924.description": "The Return of Uninitialized Variable checker finds instances of returning an uninitialized variable.\nIf an uninitialized variable is used as a return value, the result is unpredictable.\nInitialize variables before using them as operands.",
  "rule.saqt.q.objc.1924.example.0.dangerous": "Line 3: An uninitialized variable x is used as a return expression.",
  "rule.saqt.q.objc.1924.example.0.safe": "Line 4: Return the initialized variable x.",
  "rule.saqt.q.objc.1924.name": "Return of Uninitialized Variable",
  "rule.saqt.q.objc.1929.description": "The Misuse of CFErrorRef checker finds instances in which a function with a CFErrorRef* type parameter is declared as void.\nA function that takes a CFErrorRef* type parameter must be defined to return a value.",
  "rule.saqt.q.objc.1929.example.0.dangerous": "Line 3: test() function is accepting CFErrorRef* types as parameters, but its return type is declared as void.",
  "rule.saqt.q.objc.1929.example.0.safe": "Line 2: Modify test() function to return a value.",
  "rule.saqt.q.objc.1929.name": "Misuse of CFErrorRef",
  "rule.saqt.q.objc.1931.description": "The Misuse of malloc checker finds misuses of the malloc() function such as memory leaks, double free, and use after free.\nImproper memory management may adversely affect the performance.\nMake correct use of memory functions.",
  "rule.saqt.q.objc.1931.example.0.dangerous": "Line 3: A freed memory allocated to pointer p is tried to be released again.",
  "rule.saqt.q.objc.1931.example.0.safe": "Line 2: Do not free released memories.",
  "rule.saqt.q.objc.1931.name": "Misuse of malloc",
  "rule.saqt.q.objc.1932.description": "The Invalid malloc Argument checker finds calls to the malloc() function that take an argument returned by an invalid sizeof operation.\nIn an assignment statement with a malloc() call taking a sizeof operation as an argument, a type mismatch between the assignee variable and the inner sizeof operand is mostly by mistake.\nIf memory is not allocated as intended, the program behaves unexpectedly.\nMake correct use of memory functions.",
  "rule.saqt.q.objc.1932.example.0.dangerous": "Line 3: A pointer variable type to store assigned memories is not matched to an argument type of malloc() function in a sizeof operation.",
  "rule.saqt.q.objc.1932.example.0.safe": "Line 3: Use a long type on sizeof operation for storing the allocated memory into long * pointer variable.",
  "rule.saqt.q.objc.1932.name": "Invalid malloc Argument",
  "rule.saqt.q.objc.1936.description": "The Assignment of Stack Variable Address checker finds instances of referencing the address of a local variable, which ceases to exist after the function's return.\nA local variable in a function is allocated on the memory stack and becomes inaccessible once the function returns. Therefore, a reference to the address of a local variable on the stack is valid only as long as it is used before the function returns. To prevent mistakes, it is recommended not to reference the address of a local variable so long as possible.\nDo not use the & operator on a local variable.",
  "rule.saqt.q.objc.1936.example.0.dangerous": "Line 5: Referenced values of local variables out of scopes are saved in global variables, which is insecure.",
  "rule.saqt.q.objc.1936.example.0.safe": "Line 6: Reference the dynamically assigned memory, which is secure even out of the function scopes.",
  "rule.saqt.q.objc.1936.name": "Assignment of Stack Variable Address",
  "rule.saqt.q.objc.1937.description": "The Invalid Argument for String Function checker finds instances of passing an invalid size argument to a C standard string function.\nAn invalid argument in a string function can cause a memory error.\nMake correct use of string functions.",
  "rule.saqt.q.objc.1937.example.0.dangerous": "Line 3: The 3rd argument size sent to strncat() function is matching with its buffer.",
  "rule.saqt.q.objc.1937.example.0.safe": "Line 3: Ensure the 3rd argument size of strncat() function to be smaller than the buffer.",
  "rule.saqt.q.objc.1937.name": "Invalid Argument for String Function",
  "rule.saqt.q.objc.1938.description": "The Misuse of CFRetain, CFRelease and CFMakeCollectable checker finds calls to CFRetain(), CFRelease(), and CFMakeCollectable() that receive a null argument.\nAccording to the official API documentation, these functions cause a runtime error if receiving a null argument.\nDo not pass a null to a memory management function.",
  "rule.saqt.q.objc.1938.example.0.dangerous": "Line 3: A Null is sent to CFRetain() function.",
  "rule.saqt.q.objc.1938.example.0.safe": "Line 3: Do not send a Null to CFRetain() function.",
  "rule.saqt.q.objc.1938.name": "Misuse of CFRetain, CFRelease and CFMakeCollectable",
  "rule.saqt.q.objc.1939.description": "The Uninitialized self checker finds initialization methods in which self is not initialized normally.\nReturning uninitialized self is often caused by the developer's mistake.\nInitialize self normally.",
  "rule.saqt.q.objc.1939.example.0.dangerous": "Line 9: A self is returned without initialization.",
  "rule.saqt.q.objc.1939.example.0.safe": "Line 10: Return the initialized self.",
  "rule.saqt.q.objc.1939.name": "Uninitialized self",
  "rule.saqt.q.objc.1940.description": "The Misuse of Secure Keychain APIs checker finds instances of using the SecKeychain API incorrectly.\nFailure to call a library function in accordance with the protocol may cause unwanted effects on the system or unexpected behavior of the program.\nMake sure calls to library functions are made in accordance with their protocol.",
  "rule.saqt.q.objc.1940.example.0.dangerous": "Line 5: An unassigned variable is tried to be released.",
  "rule.saqt.q.objc.1940.example.0.safe": "Line 9: Use SecKeychainItemFreeContent() function.",
  "rule.saqt.q.objc.1940.name": "Misuse of Secure Keychain APIs",
  "rule.saqt.q.objc.1941.description": "The Unused variable checker finds variables that are declared but never used.\nDeclarations of unused variables unnecessarily occupy memory and undermine code readability. Or, some variable may remain unused by mistake although supposed to be used somewhere.\nEliminate declarations of unused variables. Or, check if necessary variables remain unused by mistake.",
  "rule.saqt.q.objc.1941.example.0.dangerous": "Line 3: x is not used.",
  "rule.saqt.q.objc.1941.example.0.safe": "Line 10: Use the x.",
  "rule.saqt.q.objc.1941.name": "Unused variable",
  "rule.saqt.q.objc.1943.description": "The Logical error in function call and messaging checker finds logical errors in function calling and messaging.\nThe logical errors subject to checking include uninitialized arguments and null function pointers.\nIncorrect messaging or function calling may lead to program malfunctions.\nMake sure your code does not have logical errors.",
  "rule.saqt.q.objc.1943.example.0.dangerous": "Line 9: An uninitialized value is sent as an argument of types sent in call by value.",
  "rule.saqt.q.objc.1943.example.0.safe": "Line 9: Send the initialized value as an argument of types sent in call by value.",
  "rule.saqt.q.objc.1943.name": "Logical error in function call and messaging",
  "rule.saqt.q.objc.1973.description": "The Inadequate value of length argument checker finds instances of passing a negative number or too large a number to a length parameter of a function.\nThe checker searches calls to the following functions: alloca(), bcopy(), calloc(), malloc(), memccpy(), memcpy(), realloc(), and strncpy(). \nIf the argument value is a negative number or out of range of the data type, an integer overflow or implicit cast occurs, resulting in an unexpected memory address request to the system. This can allow for security vulnerabilities exploited by attackers to access the program and gain control of the program flow.\nWhen calling a function that takes a length parameter, make sure the argument value passed to it falls within the valid range of the parameter.",
  "rule.saqt.q.objc.1973.example.0.dangerous": "Line 3: A negative is sent to malloc() function.",
  "rule.saqt.q.objc.1973.example.0.safe": "Line 3: Check the length scope before sending.",
  "rule.saqt.q.objc.1973.name": "Inadequate value of length argument",
  "rule.saqt.q.objc.1973.option.check_function.description": "Enter the function name to be checked by the checker.",
  "rule.saqt.q.objc.1973.option.check_function.name": "Function to check",
  "rule.saqt.q.objc.1981.description": "The Use of IPv4-specific API checker finds instances of using IPv4-specific APIs, which are now obsolete.\nIn compliance with the guidelines announced at WWDC 2015, all iOS apps must support IPv6-only networking. The use of IPv4-specific APIs is thus restricted.\nUse only those functions that work normally on IPv6-only networks.",
  "rule.saqt.q.objc.1981.example.0.dangerous": "Line 1: inet_addr() function is IPv4 only.",
  "rule.saqt.q.objc.1981.example.0.safe": "Line 2: Replace the inet_addr() function with inet_pton(), which is compatible with IPv6.",
  "rule.saqt.q.objc.1981.name": "Use of IPv4-specific API",
  "rule.saqt.q.objc.1982.description": "The Hardcoded IP checker finds hardcoded IPv4 addresses.\nIn compliance with the guidelines announced at WWDC 2015, all iOS apps must support IPv6-only networking. The use of IPv4 addresses is thus restricted.\nMake sure your source code works normally on IPv6-only networks.",
  "rule.saqt.q.objc.1982.example.0.dangerous": "Line 1: An IPv4 address is used.",
  "rule.saqt.q.objc.1982.example.0.safe": "Line 1: Use the IPv6 address.",
  "rule.saqt.q.objc.1982.name": "Hardcoded IP",
  "rule.saqt.q.objc.1991.description": "The Unlocked mutex checker finds instances of signaling a thread before unlocking a mutex.\nIf a thread is woken while another thread owns the lock, a deadlock may occur.\nUnlock the mutex before calling the pthread_cond_signal().",
  "rule.saqt.q.objc.1991.example.0.dangerous": "Line 7: A signal is sent without mutex_unlock() function call.",
  "rule.saqt.q.objc.1991.example.0.safe": "Line 7: Unlock with the mutex_unlock() function, then call pthread_cond_signal() function.",
  "rule.saqt.q.objc.1991.name": "Unlocked mutex",
  "rule.saqt.q.objc.1992.description": "The Buffer overflow checker finds instances of reading or writing outside the bounds of a fixed-length array.\nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen reading from or writing to a buffer, keep within its specified range.",
  "rule.saqt.q.objc.1992.example.0.dangerous": "Line 6: An array-index is not checked.\nLine 10: The array index has risks to exceed its size.",
  "rule.saqt.q.objc.1992.example.0.safe": "Line 9: Verify the array size before using.",
  "rule.saqt.q.objc.1992.name": "Buffer overflow",
  "rule.saqt.q.objc.1993.description": "The Lost of precision in assignment checker finds instances in which an implicit cast is caused by type mismatch between the two sides of an assignment operation.\nIf two variable operands have different integer types with different value ranges, an implicit cast may happen between the data types, resulting in data loss.\nBecause an implicit cast may cause issues such as imperceptibly altering the precision of a value, an explicit cast is recommended.\nUse an explicit cast.",
  "rule.saqt.q.objc.1993.example.0.dangerous": "Line 6: A value loss is resulted by assigning an int into a smaller type variable.",
  "rule.saqt.q.objc.1993.example.0.safe": "Line 7: Check the types, and use an explicit casting to prevent its value loss.",
  "rule.saqt.q.objc.1993.name": "Lost of precision in assignment",
  "rule.saqt.q.objc.1994.description": "The Missing check of return value from pthread_mutex_lock checker finds instances in which pthread_mutex_lock() function is called without check for its return value.\nThe pthread_mutex_lock() returns an error code when failing to perform a lock. If this kind of exception is not handled, the program may assume that it acquires an unacquired lock.\nMake sure to succeed in lock by checking the return value.",
  "rule.saqt.q.objc.1994.example.0.dangerous": "Line 2: A return value of pthread_mutex_lock() is not handled.",
  "rule.saqt.q.objc.1994.example.0.safe": "Line 5: Verify the return value of pthread_mutex_lock(), and handle exceptions from its failure.",
  "rule.saqt.q.objc.1994.name": "Missing check of return value from pthread_mutex_lock",
  "rule.saqt.q.objc.1994.option.target_grp1.description": "Write functions in condition test list.",
  "rule.saqt.q.objc.1994.option.target_grp1.name": "Functions in condition test",
  "rule.saqt.q.objc.1995.description": "The Use of == operator on floating point values checker finds instances of comparing two non-primitive objects regarding their addresses, not their contents.\nIt is rare that two objects need to be compared about their physical location in memory. Mostly, comparison of objects is performed to check if they have identical contents. Except for in special occasions, the use of the == operator on two objects is by the developer's mistake.\nWhen comparing two objects, use an [isEqual] message instead the == operator.",
  "rule.saqt.q.objc.1995.example.0.dangerous": "Line 2: Two objects is compared with == operator.",
  "rule.saqt.q.objc.1995.example.0.safe": "Line 2: Ensure to compare the objects with [isEqual] message.",
  "rule.saqt.q.objc.1995.name": "Use of == operator on floating point values",
  "rule.saqt.q.objc.912.description": "The Use of forbidden function checker finds calls to a forbidden function.\nYou can optionally specify functions that should not be called.\nA project may have to prohibit calling certain functions for some reasons: 1) code needs to be consistent throughout the project; 2) those functions have become obsolete and now better approaches are available; or 3) those functions have fundamental defects.\nDo not call forbidden functions. Unless the intended behavior itself is prohibited, you need to consider implementing the same behavior by other means.",
  "rule.saqt.q.objc.912.example.0.dangerous": "Line 3: Suppose that the forbidden message is forbidden to pass. The message is called.",
  "rule.saqt.q.objc.912.example.0.safe": "Line 3: Do not call the message.",
  "rule.saqt.q.objc.912.name": "Use of forbidden function",
  "rule.saqt.q.objc.912.option.forbidden_function.description": "Write the name of the function or receiver forbid.<br />Example) .*forbidden.*",
  "rule.saqt.q.objc.912.option.forbidden_function.name": "Function or receiver to forbid",
  "rule.saqt.q.py.2367.description": "The Missing Exception Handling for ConnectionError checker finds instances in which an API that can possibly throw the ConnectionError exception is called but the handling of this exception is missing.\nA call to an API without handling possible errors may cause an abnormal shutdown of the program, and the cause is not easily identifiable. Therefore, APIs that can cause an error must be called in a try block and the possible errors must be handled.\nWhen calling an API that can trigger the ConnectionError error, place the call within a try statement and handle the exception properly.",
  "rule.saqt.q.py.2367.example.0.dangerous": "Line 5: ConnectionError, which is resulted by socket.connect() function call, is not handled.",
  "rule.saqt.q.py.2367.example.0.safe": "Line 7: Enclose the API call with try statements, and perform a valid exception handling.",
  "rule.saqt.q.py.2367.name": "Missing Exception Handling for ConnectionError",
  "rule.saqt.q.py.2368.description": "The Missing Exception Handling for BlockingIOError checker finds instances in which an API that can possibly throw the BlockingIOError exception is called but the handling of this exception is missing.\nA call to an API without handling possible errors may cause an abnormal shutdown of the program, and the cause is not easily identifiable. Therefore, APIs that can cause an error must be called in a try block and the possible errors must be handled.\nWhen calling an API that can trigger the BlockingIOError error, place the call within a try statement and handle the exception properly.",
  "rule.saqt.q.py.2368.example.0.dangerous": "Line 5: BlockingIOError, which is resulted by fcntl.flock() function call, is not handled.",
  "rule.saqt.q.py.2368.example.0.safe": "Line 7: Enclose the API call with try statements, and perform a valid exception handling.",
  "rule.saqt.q.py.2368.name": "Missing Exception Handling for BlockingIOError",
  "rule.saqt.q.py.2369.description": "The Missing Exception Handling for FileExistError checker finds instances in which an API that can throw the FileExistError exception is called but the handling of this exception is missing.\nA call to an API without handling possible errors may cause an abnormal shutdown of the program, and the cause is not easily identifiable. Therefore, APIs that can cause an error must be called in a try block and the possible errors must be handled. Because a file-handling API, in particular, can cause race conditions, it is recommended to call it in a try statement rather than checking its exceptions in if statements.\nWhen calling an API that can trigger the FileExistsError error, place the call within a try statement and handle the exception properly.",
  "rule.saqt.q.py.2369.example.0.dangerous": "Line 5: os.path.exists() function is called to check that os.mkdir() function is succeeded to work, but a race condition can be caused by time laps between two functions.\nLine 6: FileExistsError, which is resulted by os.mkdir() function call, is not handled.",
  "rule.saqt.q.py.2369.example.0.safe": "Line 7: Enclose the API call with try statements.",
  "rule.saqt.q.py.2369.name": "Missing Exception Handling for FileExistError",
  "rule.saqt.q.sql.1834.description": "The Missing WHERE clause in SELECT statement checker finds SELECT statements that do not contain a WHERE clause.\nIf SELECT statements do not include a WHERE clause, the system can be overloaded.\nIt is recommended to add the WHERE clause to look up columns in certain conditions.",
  "rule.saqt.q.sql.1834.example.0.dangerous": "Line 2: A WHERE clause is not found in SELECT statements.",
  "rule.saqt.q.sql.1834.example.0.safe": "Line 6: Add the WHERE clause to look up columns in a certain condition.",
  "rule.saqt.q.sql.1834.name": "Missing WHERE clause in SELECT statement",
  "rule.saqt.q.sql.2264.description": "The Nonexistent Table checker finds SQL statements that reference a nonexistent database table.\nReferencing a nonexistent table may cause an execution error.\nDefine and create the nonexistent table referenced. If this is a typo for an existent table, fix the DML statement.",
  "rule.saqt.q.sql.2264.example.0.dangerous": "Line 4: jisa_code table is referenced. The jisa_code table does not exist in DDL.",
  "rule.saqt.q.sql.2264.example.0.safe": "Line 2: Define and create the nonexistent table referenced.",
  "rule.saqt.q.sql.2264.name": "Nonexistent Table",
  "rule.saqt.q.sql.2265.description": "The Nonexistent Column checker finds SQL statements that reference a nonexistent column.\nReferencing a nonexistent column may cause an execution error.\nAdd the nonexistent column to the table. If this is a typo for an existent column, fix the DML statement.",
  "rule.saqt.q.sql.2265.example.0.dangerous": "Line 5: CONTROL_SUMMER_EXCEPT column is not found in DROS.tb_cbl_stat_control table.",
  "rule.saqt.q.sql.2265.example.0.safe": "Line 2: Append the CONTROL_SUMMER_EXCEPT column to the table.\nLine 6: Reference an existing summer_except column from the table.",
  "rule.saqt.q.sql.2265.name": "Nonexistent Column",
  "rule.saqt.q.sql.2266.description": "The Unused Table checker finds tables that are present in the database but never used in DML statements.\nTables never used in DML statements may be meaningless data that is a waste of resources if not causing program malfunctions. \nUnless they are intended data, delete those tables.",
  "rule.saqt.q.sql.2266.example.0.dangerous": "Line 2: tb_cbl_stat_control table is defined.\nLine 8: A DML to refernce the table is not found.",
  "rule.saqt.q.sql.2266.example.0.safe": "Line 2: Delete the unused tb_cbl_stat_control table.",
  "rule.saqt.q.sql.2266.name": "Unused Table",
  "rule.saqt.q.sql.2267.description": "The Unused Column checker finds columns that are present in the database but never used in DML statements.\nColumns never used in DML statements may be meaningless data that is a waste of resources if not causing program malfunctions. \nUnless they are intended data, delete those columns.",
  "rule.saqt.q.sql.2267.example.0.dangerous": "Line 5: IKW column is defined.\nLine 9: DML referencing IKW is not found in TB_WEEK_EXCEPTION_CUSTOMER table.",
  "rule.saqt.q.sql.2267.example.0.safe": "Line 2: Remove the unused IKW column.",
  "rule.saqt.q.sql.2267.name": "Unused Column",
  "rule.saqt.q.sql.2268.description": "The Invalid Number Type checker finds DML statements that pass a value of a mismatched data type to a column whose data type is number.\nThe checker searches for an UPDATE, INSERT, or SELECT statement that passes a value of a mismatched type to a NUMBER column.\nInserting or referencing a value of a mismatched type into or from a column may cause a syntax error.\nBefore executing an SQL statement, check that the referenced columns and their argument values match in data type.",
  "rule.saqt.q.sql.2268.example.0.dangerous": "Line 18: A string is inserted to an id value in a map.\nLine 21: An update statement is executed. An execution error occurs by comparing a string to an ID that is defined with Number.",
  "rule.saqt.q.sql.2268.example.0.safe": "Line 17: Check a type of argument in SQL statement, then run.",
  "rule.saqt.q.sql.2268.name": "Invalid Number Type",
  "rule.saqt.q.sql.2269.description": "The Longer Input than Column Size checker finds DML statements in which an input value is longer than the allowed size for the destination column.\nThe checker searches for an UPDATE or INSERT statement that passes an input value longer than the allowed size for the destination column.\nInserting a longer value than the size defined in DDL can cause an execution error.\nMake sure that SQL statements are executed only when arguments are not over-sized for their destination columns.",
  "rule.saqt.q.sql.2269.example.0.dangerous": "Line 19: An update statement is executed. The size of MANAGERNM exceeds 30, causing an execution error.",
  "rule.saqt.q.sql.2269.example.0.safe": "Line 17: Verify a size of argument to determine if SQL is executable.",
  "rule.saqt.q.sql.2269.name": "Longer Input than Column Size",
  "rule.saqt.q.sql.2270.description": "The Invalid GROUP BY Clause checker finds SQL SELECT statements in which the GROUP BY clause does not cover every single column referenced by the statement.\nThe GROUP BY clause groups rows sharing common values to be aggregated. If the GROUP BY clause does not cover every single column referenced by the SELECT statement, an error will occur because of the missing columns that do not belong to any group. rep) ORA-00979\nMake sure that the GROUP BY clause covers every single column except the aggregate column.",
  "rule.saqt.q.sql.2270.example.0.dangerous": "Line 4: name is not found in Group by. Thus, an error can occur in SQL.",
  "rule.saqt.q.sql.2270.example.0.safe": "Line 4: Make sure that the GROUP BY clause covers every single column except the aggregate column.",
  "rule.saqt.q.sql.2270.name": "Invalid GROUP BY Clause",
  "rule.saqt.q.sql.2271.description": "The Null into Non-nullable Column checker finds statements that insert a null value in a NOT NULL column.\nThe checker searches for a DML statement that inserts a null value into a NOT NULL column. For a parameterized UPDATE or INSERT statement, check the destination columns for nullability. If a column does not allow null, check that null is not passed to the parameter. If the parameter cannot be checked for null, regard it as null.\nIn case of an SQL restriction violated, the SQL statement may be canceled, possibly causing unexpected behavior.\nWhen using a DML statement, check the NOT NULL columns are not passed with null. The DML statement must be executed only when the columns take non-null values.",
  "rule.saqt.q.sql.2271.example.0.dangerous": "Line 11: USER_ID is defined as NOT NULL.\nLine 17: A null is inputted to userid in a map.\nLine 19: An insert statement is executed.\nA null has been inputted to a NOT NULL 'USER_ID' column.",
  "rule.saqt.q.sql.2271.example.0.safe": "Line 11: USER_ID is defined as NOT NULL.\nLine 16: Check a null for an argument of SQL statement, and run the statement.",
  "rule.saqt.q.sql.2271.name": "Null into Non-nullable Column",
  "rule.saqt.q.sql.2272.description": "The Invalid Date Format checker finds inputs in an invalid date format.\nWhen using a data type conversion function, passing a value in an invalid format can cause an execution error.\nBefore executing an SQL statement, check that the date argument is in the correct format.",
  "rule.saqt.q.sql.2272.example.0.dangerous": "Line 11: 19901322, is inserted to startDate value in a map.\nLine 14: A select statement including TO_DATE() function is executed. An input to TO_DATE() does not comply with its datetime format: 'yyyymmdd'. Its value for month (mm) is incorrect.",
  "rule.saqt.q.sql.2272.example.0.safe": "Line 18: Check a type of argument to determine if SQL is executable.",
  "rule.saqt.q.sql.2272.name": "Invalid Date Format",
  "rule.saqt.q.sql.2273.description": "The Syntax Error checker finds statements constructed in incorrect syntax.\nSyntactically incorrect code triggers an syntax error when executed.\nFix the syntactical errors before executing the code.",
  "rule.saqt.q.sql.2273.example.0.dangerous": "Line 5: An open parenthesis is missing in SUBSTR() function call. Thus, an error can occur.",
  "rule.saqt.q.sql.2273.example.0.safe": "Line 5: Check and fix the error.",
  "rule.saqt.q.sql.2273.name": "Syntax Error",
  "rule.saqt.q.sql.2419.description": "The Invalid Table Name checker finds tables given an invalid name.\nThe checker checks SQL statements (DML or DDL) that create or rename a table. It reports if the table is named with a syntactically incorrect string.\nIf a table is created or renamed with a name containing a forbidden character, a syntax error will occur. rep) ORA-00903\nDo not name a table to contain a reserved word or special character.",
  "rule.saqt.q.sql.2419.example.0.dangerous": "Line 2: ORDER, a reserved word in Oracle, cannot be used to an table name.",
  "rule.saqt.q.sql.2419.example.0.safe": "Line 2: Do not use special characters and reserved words as table names.",
  "rule.saqt.q.sql.2419.name": "Invalid Table Name",
  "rule.saqt.q.sql.2420.description": "The Null into PRIMARY KEY Column checker finds statements that insert a null value in a PRIMARY KEY column.\nThe checker searches for a DML statement that inserts a null value into a PRIMARY KEY column. For a parameterized UPDATE or INSERT statement, check the destination columns for being PRIMARY KEY. If a column is PRIMARY KEY, check that null is not passed to the parameter. If the parameter cannot be checked for null, regard it as null.\nIn case of an SQL restriction violated, the SQL statement may be canceled, possibly causing unexpected behavior.\nWhen using a DML statement, check the PRIMARY KEY columns are not passed with null. The DML statement must be executed only when the columns take non-null values.",
  "rule.saqt.q.sql.2420.example.0.dangerous": "Line 8: STANDARD_YEAR is defined as PRIMARY KEY.\nLine 14: A null is inputted to standardYear in a map.\nLine 16: An insert statement is executed. A null is passed to the primary key column 'STANDARD_YEAR'.",
  "rule.saqt.q.sql.2420.example.0.safe": "Line 8: STANDARD_YEAR is defined as PRIMARY KEY.\nLine 14: Check that an SQL statement is a null, and determine to run.",
  "rule.saqt.q.sql.2420.name": "Null into PRIMARY KEY Column",
  "rule.saqt.q.sql.2421.description": "The Unselected Column Appears in ORDER BY checker finds SELECT DISTINCT statements in which a column is referenced in the ORDER BY clause but does not appear in the SELECT list.\nThe checker reports a defect if a SELECT statement with the DISTINCT keyword does not include all columns referenced in the ORDER BY clause.\nDISTINCT determines duplicate records within the range of the SELECTed columns and removes the detected duplicates. Therefore, if any ORDER BY column is missing in the SELECT DISTINCT list, those duplicate records are supposed to be discarded even if they have different values in the missing column. This is an erroneous occasion.\nMake sure all columns specified in the ORDER BY clause appear in the SELECT DISTINCT list.",
  "rule.saqt.q.sql.2421.example.0.dangerous": "Line 2: seq column of ORDER BY is missing in SELECT statements. Thus, an error can occur.",
  "rule.saqt.q.sql.2421.example.0.safe": "Line 2: List all columns defined in ORDER BY clause to SELECT.",
  "rule.saqt.q.sql.2421.name": "Unselected Column Appears in ORDER BY",
  "rule.saqt.q.sql.7169.description": "It detects when the APPEND hint is used in an INSERT statement.\nINSERT statements using the APPEND hint set an Exclusive Lock (TM Lock mode = X) on the target table, preventing INSERT/UPDATE/DELETE statements by other transactions from being executed simultaneously. This can prevent other queries accessing that table from executing normally.\nDo not use the APPEND hint in INSERT statements.",
  "rule.saqt.q.sql.7169.example.0.dangerous": "Line 1: The APPEND hint was used in the INSERT statement.",
  "rule.saqt.q.sql.7169.example.0.safe": "Line 1: The APPEND hint was not used in the INSERT statement.",
  "rule.saqt.q.sql.7169.name": "Detection of APPEND hint use in INSERT statements",
  "rule.saqt.q.sql.7170.description": "It detects the appropriate use of PARALLEL hint statements in specific SQL statements.\nThe PARALLEL hint statement is used to specify the number of servers simultaneously available for parallel processing, and can also be used in SELECT, INSERT, UPDATE, DELETE, and table scan parts of statements. Using the PARALLEL hint statement can affect the entire system. In particular, batch processing can consume a large amount of CPU if the PARALLEL hint statement is used without assigning a degree.\nDo not use the PARALLEL hint statement in specific SQL statements. If the use of the PARALLEL hint statement is allowed, always use it after assigning a degree value.",
  "rule.saqt.q.sql.7170.example.0.dangerous": "Line 1,5 : Prohibited PARALLEL hint statements are used.",
  "rule.saqt.q.sql.7170.example.0.safe": "Line 1-2: Prohibited PARALLEL hint statements were not used.\nLine 4: If the use of the PARALLEL hint statement is allowed, it was used after assigning a degree value.",
  "rule.saqt.q.sql.7170.name": "Detection of PARALLEL hint statement use in specific SQL statements",
  "rule.saqt.q.sql.7214.description": "When ROWNUM and ORDER BY exist in the same QUERY BLOCK, ORDER BY is performed last, which can cause errors in the result set.\nWrite queries separately. If subqueries are allowed, write ORDER BY as a subquery to execute first, then use ROWNUM values.",
  "rule.saqt.q.sql.7214.example.0.dangerous": "Line 3-4: ROWNUM and ORDER BY exist in the same QUERY BLOCK. Since ORDER BY is performed last, the sorting criteria may operate differently than intended.",
  "rule.saqt.q.sql.7214.example.0.safe": "Line 3: ROWNUM and ORDER BY do not exist in the same QUERY BLOCK.",
  "rule.saqt.q.sql.7214.name": "Check for ROWNUM and ORDER BY existence in the same QUERY BLOCK",
  "rule.saqt.q.sql.7215.description": "When problems with errors or performance in the DB are identified and reflected after tuning, a lot of time is spent tracing related programs, so a unique identifier is entered as a comment within the SQL statement.\nThe form of the identifier is written in a specific column regular expression pattern format. Also, it must exist in a specific position within the SQL statement. It detects if a comment in the format defined by the regular expression and in the specified position does not exist within the SQL statement.\nWrite comments in the format defined by the regular expression and in the specified position within the SQL statement.",
  "rule.saqt.q.sql.7215.example.0.dangerous": "Line 1-2: A comment in the form of \"*SQL_ID*\" does not exist at the top of the SQL statement.",
  "rule.saqt.q.sql.7215.example.0.safe": "Line 1: A comment in the specified format of \"*SQL_ID*\" exists at the top of the SQL statement.",
  "rule.saqt.q.sql.7215.name": "Unique identifier (comment at the top of SQL) check",
  "rule.saqt.q.sql.7217.description": "It checks whether specific strings required for query statements by designated statement formats have been used.\nFor efficient operation of the DB, there may be values that must be used for each SQL statement. This includes both column names and receiving results from other queries in argument form (#{...}, :...), and constraints on systematic maintenance and efficient use of data are created if these values are not used. Therefore, it checks whether specific strings required for each statement are used in the query.\nWhen writing a query statement by designated statement format, specific strings required essentially were not used.\nWhen writing a query statement by designated statement format, use specific strings required essentially.",
  "rule.saqt.q.sql.7217.example.0.dangerous": "Line 11-13: Required phrases are not used in the INSERT statement.",
  "rule.saqt.q.sql.7217.example.0.safe": "Line 11-14: Required phrases are used in the INSERT statement.",
  "rule.saqt.q.sql.7217.name": "Check for use of required phrases by designated statement formats",
  "rule.saqt.q.sql.7218.description": "The rule checks the aliases that are defined and properly used for all tables specified in the FROM clause including JOIN clauses, inline views such as subquery blocks, and tables within the subqueries. It detects cases where: a table is defined without an alias, or an alias is defined but columns are referenced without using the alias, i.e. column names are used standalone in the SELECT or WHERE clause. This ensures that even single-table queries remain robust against future changes, such as the introduction of joins or the addition of columns with identical names. If table aliases are not used when referencing columns, the database system may not be able to determine which table a column belongs to, potentially resulting in syntax errors.\nAll tables, inline views, and subquery tables in the FROM clause (including JOIN clauses) must have explicit aliases. Additionally, when referencing columns in the SELECT or WHERE clause, always use the `{alias}.{column_name}` format instead of standalone column names to ensure unambiguous column resolution.",
  "rule.saqt.q.sql.7218.example.0.dangerous": "Line 4: The inline view is missing a table alias. Additionally, the `role_data` table in the inline view’s internal query and the `auth_id` column in the SELECT clause are not qualified with table aliases.\nLine 6, 9: The `user_id` and `role_name` columns in the SELECT and WHERE clauses are missing table aliases. If columns are not qualified with table aliases, the database system may not be able to determine which table they belong to, which can lead to syntax errors.",
  "rule.saqt.q.sql.7218.example.0.safe": "Line 1–3: Ensure to assign an alias to each table in the FROM clause and qualify all column names in the SELECT and WHERE clauses with their respective table aliases.",
  "rule.saqt.q.sql.7218.name": "Check for non-use of Alias for tables",
  "rule.saqt.q.sql.7262.description": "It checks whether prohibited phrases have been used in query statements by designated statement formats.\nFor efficient operation of the DB, there may be values that are prohibited for use in each SQL statement. This includes both prohibited column names and receiving results from other queries in argument form (#{...}, :...), and unexpected errors can occur and create constraints on systematic maintenance and efficient use of data if such values are used in specific statements. Therefore, it checks whether prohibited phrases have been used in the query for each statement.\nWhen writing a query statement by designated statement format, prohibited phrases were used.\nWhen writing a query statement by designated statement format, do not use prohibited phrases.",
  "rule.saqt.q.sql.7262.example.0.dangerous": "Line 11-14: Prohibited phrases were used in the INSERT statement.",
  "rule.saqt.q.sql.7262.example.0.safe": "Line 11-14: Prohibited phrases were not used in the INSERT statement.",
  "rule.saqt.q.sql.7262.name": "Check for use of prohibited phrases by designated statement formats",
  "rule.saqt.q.sql.7533.description": "An issue is detected when the target column name is omitted after the table name in the INSERT INTO statement.\nIn the INSERT statement, the target column name must be explicitly specified in parentheses () immediately after the table name.",
  "rule.saqt.q.sql.7533.example.0.dangerous": "Line 1: The target column name is missing after the table name in the INSERT statement.",
  "rule.saqt.q.sql.7533.example.0.safe": "Line 1: The target column name is correctly specified in parentheses () after the table name in the INSERT statement.",
  "rule.saqt.q.sql.7533.name": "Missing column name in INSERT statement",
  "rule.saqt.q.sql.7534.description": "Using asterisk (*) in the SELECT clause increases network traffic and memory usage by retrieving unnecessary columns. In addition, it may cause column mapping errors in the application when the table structure changes, or column reference ambiguity errors due to duplicate column names in multi-table join environments.\nOnly the columns required for business logic should be explicitly listed in the SELECT clause. However, cases where the use of asterisk (*) is structurally unavoidable, such as framework-generated paging wrappers, should be managed through exclusion options.",
  "rule.saqt.q.sql.7534.example.0.dangerous": "Lines 1, 5: An asterisk (*) is used in the SELECT clause to retrieve all columns. This may cause unnecessary memory usage and can lead to unintended errors when duplicate column names exist.",
  "rule.saqt.q.sql.7534.example.0.safe": "Line 1: Explicit column names should be used instead of selecting all columns (*) in the SELECT clause.",
  "rule.saqt.q.sql.7534.name": "Avoid using * in SELECT clause",
  "rule.saqt.q.sql.964.description": "The Mismatched number of columns and values in INSERT query checker finds INSERT statements in which the number of columns does not match the number of input values.\nFailure to match the number of columns and their input values will cause an error.\nMatch the number of columns and their input values. If a blank value is intended, pass a null instead.",
  "rule.saqt.q.sql.964.example.0.dangerous": "Line 4: The number of columns is not matched with inputs.",
  "rule.saqt.q.sql.964.example.0.safe": "Line 4: The number of columns is matched with the number of inputs.",
  "rule.saqt.q.sql.964.name": "Mismatched number of columns and values in INSERT query",
  "rule.saqt.q.sql.968.description": "The Missing WHERE clause in DELETE and UPDATE statement checker finds DELETE or UPDATE statements that do not contain a WHERE clause.\nWithout a WHERE clause, all records can be affected, causing an unintended action.\nIt is recommended to add a WHERE clause so that the statement may delete or update only those records that meet the given criteria.",
  "rule.saqt.q.sql.968.example.0.dangerous": "Line 1: A WHERE clause is not found in DELETE statements.",
  "rule.saqt.q.sql.968.example.0.safe": "Line 3: Add a WHERE clause to the DELETE statements.",
  "rule.saqt.q.sql.968.name": "Missing WHERE clause in DELETE and UPDATE statement",
  "rule.saqt.q.swift.2333.description": "The Not Updated Left-hand Operand of Assignment checker finds binary operators that end with `=` but do not update the left-hand operand.\nTypically, a binary operator ending with `=` is designed to update the left-hand operand. If such an operator works otherwise, users may misunderstand and misuse the operator. Therefore, they must be defined to update the left-hand operand.\nThis issue may affect the program performance or potentially lead to causing an error.\nWhen redefining the non-updating operator, make sure it updates the left-hand operator.",
  "rule.saqt.q.swift.2333.example.0.dangerous": "Line 2: A left operand, p1 operator, is not updated.",
  "rule.saqt.q.swift.2333.example.0.safe": "Line 2: Update the p1 to prevent misuse by users.",
  "rule.saqt.q.swift.2333.name": "Not Updated Left-hand Operand of Assignment",
  "rule.saqt.q.swift.2334.description": "The Ternary Operator Returning Fixed Value checker finds occurrences of the ternary operator that always return the same value regardless of the condition.\nThe ternary operator must not return the same value unconditionally.\nThis issue may affect the program performance or potentially lead to causing an error.\nFix the detected operations so that the ternary operator's return value may vary with the condition.",
  "rule.saqt.q.swift.2334.example.0.dangerous": "Line 2, 6: A ternary operator returns a same value on every condition.",
  "rule.saqt.q.swift.2334.example.0.safe": "Line 2, 6: Ensure the ternary operator to return different values on conditions, or make code to return the same value without the operator.",
  "rule.saqt.q.swift.2334.name": "Ternary Operator Returning Fixed Value",
  "rule.saqt.q.swift.2336.description": "The Redundant Condition Check checker finds if and switch statements that contain a redundant condition check.\nIf the same condition is used in two or more branches of an if or switch statement, the second and subsequent branches can never be reached. A redundant condition thus entails never used code.\nThis issue may affect the program performance or potentially lead to causing an error.\nMake sure the same condition is not placed multiple times in a conditional statement.",
  "rule.saqt.q.swift.2336.example.0.dangerous": "Line 8: An identical condition is checked as above.",
  "rule.saqt.q.swift.2336.example.0.safe": "Line 8: Write an identical case code on a single branch.",
  "rule.saqt.q.swift.2336.name": "Redundant Condition Check",
  "rule.saqt.q.swift.2337.description": "The System Function Call checker finds calls to the forbidden system() function.\nThe forbidden system() function should not be called.\nThis issue may affect the program performance or potentially lead to causing an error.\nDo not call the system function.",
  "rule.saqt.q.swift.2337.example.0.dangerous": "Line 2, 4: system() is called.",
  "rule.saqt.q.swift.2337.example.0.safe": "Line 1: Do not call forbidden functions.",
  "rule.saqt.q.swift.2337.name": "System Function Call",
  "rule.saqt.q.swift.2338.description": "The Binary Operation with Identical Operands checker finds instances of using identical expressions on both sides of a binary operator.\nA binary operation with identical expressions on both sides always evaluates to true, and thus is unnecessary code.\nThis issue may affect the program performance or potentially lead to causing an error.\nMake sure condition checks are not to compare two identical expressions.",
  "rule.saqt.q.swift.2338.example.0.dangerous": "Line 1: An identical value is found both sides of a binary operator. Therefore, the statement always returns true.",
  "rule.saqt.q.swift.2338.example.0.safe": "Line 1: Check that the values of both sides is not identical for the binary operator.",
  "rule.saqt.q.swift.2338.name": "Binary Operation with Identical Operands",
  "rule.saqt.q.swift.2339.description": "The Extra Code after Branching Statement checker finds return or other branching statements (break, continue, and fallthrough) followed by some extra code.\nAny code placed subsequent to a branching statement cannot be reached. In a code block, therefore, code written after a branching statement means nothing at all.\nThis issue may affect the program performance or potentially lead to causing an error.\nDelete any code placed after branching statements.",
  "rule.saqt.q.swift.2339.example.0.dangerous": "Line 7: Code after a break statement cannot be accessed.",
  "rule.saqt.q.swift.2339.example.0.safe": "Line 6: Move the code to the beginning of the break statement.",
  "rule.saqt.q.swift.2339.name": "Extra Code after Branching Statement",
  "rule.saqt.q.swift.2340.description": "The Branching Statement Not Included in Conditional Statement checker finds break or continue statements that are not placed within a conditional statement.\nA break or continue that does not belong to a condition statement is uselessly redundant. Therefore, any break/continue statement must be within a conditional statement. (except for return statements of functions)\nThis issue may affect the program performance or potentially lead to causing an error.\nMake sure each break/continue statement is placed within a conditional statement.",
  "rule.saqt.q.swift.2340.example.0.dangerous": "Line 3: A break statement is used without a conditional statement.",
  "rule.saqt.q.swift.2340.example.0.safe": "Line 5: Include the break statement to conditional statements.",
  "rule.saqt.q.swift.2340.name": "Branching Statement Not Included in Conditional Statement",
  "rule.saqt.q.swift.2341.description": "The Relational Operation on Floating-point Value checker finds instances of using a relational operator on a floating-point variable.\nComparison of a floating-point type may cause an unexpected result. Therefore, a relational operator should not be used on a floating-point variable.\nThis issue may affect the program performance or potentially lead to causing an error.\nDo not use a relational operator on a floating-point variable.",
  "rule.saqt.q.swift.2341.example.0.dangerous": "Line 3: 0.1 is entered to a, but saved as 0.100123810200. Then, the value may not pass if statements.",
  "rule.saqt.q.swift.2341.example.0.safe": "Line 3: Do not use a relational operator for a float type variable.",
  "rule.saqt.q.swift.2341.name": "Relational Operation on Floating-point Value",
  "rule.saqt.q.swift.2342.description": "The Forced-unwrapped Optional checker finds instances of forced-unwrapping an optional.\nOptionals should not be forced-unwrapped.\nThis issue may affect the program performance or potentially lead to causing an error.\nDo not forced-unwrap an optional.",
  "rule.saqt.q.swift.2342.example.0.dangerous": "Line 3, 6: Optional tempString is force-unwrapped.",
  "rule.saqt.q.swift.2342.example.0.safe": "Line 1: Access to the optional with optional binding.",
  "rule.saqt.q.swift.2342.name": "Forced-unwrapped Optional",
  "rule.saqt.q.swift.2343.description": "The Operator Precedence Change checker finds instances of changing a basic operator's precedence and associativity.\nA basic operator's precedence and associativity should not be changed. If needed, use a new operator.\nThis issue may affect the program performance or potentially lead to causing an error.\nDo not change a basic operator's precedence and associativity.",
  "rule.saqt.q.swift.2343.example.0.dangerous": "Line 6: Precedence group of base operators is changed.",
  "rule.saqt.q.swift.2343.example.0.safe": "Line 6: Use operators other than basic operators.",
  "rule.saqt.q.swift.2343.name": "Operator Precedence Change",
  "rule.saqt.q.swift.2344.description": "The Implicitly Unwrapped Optional checker finds instances of using an implicitly unwrapped optional.\nImplicitly unwrapped optional should not be used.\nThis issue may affect the program performance or potentially lead to causing an error.\nDo not use an implicitly unwrapped optional.",
  "rule.saqt.q.swift.2344.example.0.dangerous": "Line 1: Implicitly unwrapped optional type tempString is defined.",
  "rule.saqt.q.swift.2344.example.0.safe": "Line 2: Do not use the implicitly unwrapped optional type.",
  "rule.saqt.q.swift.2344.name": "Implicitly Unwrapped Optional",
  "rule.saqt.q.swift.2346.description": "The No Explaining Message for Fingerprint Request checker finds instances in which users are asked for a fingerprint input but no message is provided about why.\nApple's policy requires that applications explain users why a fingerprint is needed when asking them for it. Failure to do this may cause confusion to users or result in your application being refused by the App Store.\nWhen requesting a fingerprint, explain why it is needed.",
  "rule.saqt.q.swift.2346.example.0.dangerous": "Line 7: An empty string without specific reasons is requesting to enter a fingerprint.",
  "rule.saqt.q.swift.2346.example.0.safe": "Line 7: Specify reasons to enter fingerprint with localizedReason argument.",
  "rule.saqt.q.swift.2346.name": "No Explaining Message for Fingerprint Request",
  "rule.saqt.q.unknown.2371.description": "The Use of Specified Keyword checker finds occurrences of specified keywords in source code.\nYou can optionally specify keywords that are not allowed to be used.\nDo not use specified keywords.",
  "rule.saqt.q.unknown.2371.example.0.dangerous": "Line 1: forbiddenFunc string is used. Suppose that the forbidden string is optionally specified as a subject to detection.",
  "rule.saqt.q.unknown.2371.example.0.safe": "Line 1: Do not use specified keywords.",
  "rule.saqt.q.unknown.2371.name": "Use of Specified Keyword",
  "rule.saqt.q.unknown.2371.option.exclude_dir.description": "Enter the path to the folder to exclude from detection using the glob pattern.<br />Example) src/java/**/core/**",
  "rule.saqt.q.unknown.2371.option.exclude_dir.name": "Exclusion of folder path",
  "rule.saqt.q.unknown.2371.option.exclude_extension.description": "Write a exclusion of file extension.<br />Example) java",
  "rule.saqt.q.unknown.2371.option.exclude_extension.name": "Exclusion of file extension",
  "rule.saqt.q.unknown.2371.option.rule.description": "Write a rule of analysis using regular expressions.",
  "rule.saqt.q.unknown.2371.option.rule.name": "Detection rule",
  "rule.saqt.q.unknown.2371.option.target_dir.description": "Write a target of folder path using glob pattern.<br />Example) src/java/**/core/**",
  "rule.saqt.q.unknown.2371.option.target_dir.name": "Target of folder path",
  "rule.saqt.q.unknown.2371.option.target_extension.description": "Write a target of file extension.<br />Example) java",
  "rule.saqt.q.unknown.2371.option.target_extension.name": "Target of file extension",
  "rule.saqt.q.vbs.1605.description": "The Use of forbidden function checker finds calls to a forbidden function.\nYou can optionally specify functions that should not be called.\nA project may have to prohibit calling certain functions for some reasons: 1) code needs to be consistent throughout the project; 2) those functions have become obsolete and now better approaches are available; or 3) those functions have fundamental defects.\nDo not call forbidden functions. Unless the intended behavior itself is prohibited, you need to consider implementing the same behavior by other means.",
  "rule.saqt.q.vbs.1605.example.0.dangerous": "Line 4: Suppose that forbidden() function is forbidden to call. The forbidden function is called.",
  "rule.saqt.q.vbs.1605.example.0.safe": "Line 3: Do not call forbidden functions.",
  "rule.saqt.q.vbs.1605.name": "Use of forbidden function",
  "rule.saqt.q.vbs.1605.option.forbidden_function.description": "Write the name of the forbidden function.<br />Example) forbidden",
  "rule.saqt.q.vbs.1605.option.forbidden_function.name": "Function to be forbidden",
  "rule.saqt.q.vbs.1607.description": "The Missing check of empty value checker finds instances in which a type check is performed without prior check for an empty value.\nIf a type check function such as IsNumeric() is used to verify an uninitialized variable, it simply returns true and the program may behave unexpectedly.\nAn empty-value check must precede a type check.",
  "rule.saqt.q.vbs.1607.example.0.dangerous": "Line 3: IsNumeric() is used without validation for empty value.",
  "rule.saqt.q.vbs.1607.example.0.safe": "Line 3: Verify that the value is empty.",
  "rule.saqt.q.vbs.1607.name": "Missing check of empty value",
  "rule.saqt.q.vbs.1610.description": "The Use of With Statement checker finds With statements, which are forbidden.\nA With statement creates a new scope chain, thus making the code block less readable.\nDo not use a With statement but write a more straightforward code.",
  "rule.saqt.q.vbs.1610.example.0.dangerous": "Line 1: with statement is used.",
  "rule.saqt.q.vbs.1610.example.0.safe": "Line 1: Get your desired result without using the with statements.",
  "rule.saqt.q.vbs.1610.name": "Use of with Statement",
  "rule.saqt.q.vbs.1614.description": "The Missing return statement checker finds functions having no return statement.\nA function having no return statement behaves like a sub-procedure, possibly causing an error.\nMake sure all functions have a return statement.",
  "rule.saqt.q.vbs.1614.example.0.dangerous": "Line 1: No return statement is found in add() function.",
  "rule.saqt.q.vbs.1614.example.0.safe": "Line 3: Make sure a function is defined with a return statement.",
  "rule.saqt.q.vbs.1614.name": "Missing return statement",
  "rule.sast.c.java.2043.description": "The return Statement in catch Block checker finds catch blocks that contain a return statement.\nStore the return value in a variable and have it returned after the end of the whole try block.",
  "rule.sast.c.java.2043.example.0.dangerous": "Line 18: A value is returned in a catch block.",
  "rule.sast.c.java.2043.example.0.safe": "Line 18: Do not use the return statements in the catch block.",
  "rule.sast.c.java.2043.name": "return Statement in catch Block",
  "rule.sast.c.java.7276.description": "The NullPointerException catch prohibitor detects code blocks that catch NullPointerException.\nWell-written code should never throw a NullPointerException.\nUse null checks instead of catching NullPointerException with try-catch blocks.",
  "rule.sast.c.java.7276.example.0.dangerous": "Line 6: NullPointerException caught.",
  "rule.sast.c.java.7276.example.0.safe": "Line 5: Modify this to include a null check.",
  "rule.sast.c.java.7276.name": "Do not catch NullPointerException",
  "rule.sast.c.java.7277.description": "The float type argument for java.math.BigDecimal checker detects when a BigDecimal argument is of floating-point type.\nWhen you pass 0.1 as an argument, it may internally represent a value like 0.1231248935092. Therefore, when a BigDecimal's argument is a floating-point number, calculations may not yield precise results.\nConvert such arguments to string type instead.",
  "rule.sast.c.java.7277.example.0.dangerous": "Line 3: A floating-point number was used as an argument for BigDecimal.",
  "rule.sast.c.java.7277.example.0.safe": "Line 3: Represent the floating-point argument of BigDecimal as a string type.",
  "rule.sast.c.java.7277.name": "Float type argument for java.math.BigDecimal",
  "rule.sast.c.java.7278.description": "The synchronized method declaration checker detects when a method is declared with the synchronized keyword. \nA method declared with the synchronized keyword locks the entire method on the instance. This may overly restrict parallel execution by other threads, which potentially causes performance issue.\nIt is recommended to use synchronized blocks for a part of the method, instead of declaring the method itself as synchronized.",
  "rule.sast.c.java.7278.example.0.dangerous": "Line 2: A synchronized method is declared as synchronized.",
  "rule.sast.c.java.7278.example.0.safe": "Line 2, 3: Rather than declaring the method as synchronized, use synchronization within the method body.",
  "rule.sast.c.java.7278.name": "Synchronized method declaration",
  "rule.sast.c.java.7279.description": "The Using ThreadGroup Class checker detects usage of java.lang.Thread.\nIt detects calls to java.lang.Thread class methods (ThreadGroupallowThreadSuspension(), resume(), stop(), suspend(), ThreadGroup(), etc.).\nWhile thread groups are useful for organizing threads, they are deprecated since many methods in the class fail to provide intended functionality. Additionally, several methods are not thread-safe.\nDo not use methods from the java.lang.ThreadGroup class.",
  "rule.sast.c.java.7279.example.0.dangerous": "Line 3: Uses ThreadGroup from java.lang.ThreadGroup.\nLine 4: Uses ThreadGroup from java.lang.ThreadGroup.\nLine 5: Uses getThreadGroup() from java.lang.ThreadGroup.\nLine 6: Uses getThreadGroup() from java.lang.ThreadGroup.",
  "rule.sast.c.java.7279.example.0.safe": "Line 3: Do not create a ThreadGroup.\nLine 4: Do not create a ThreadGroup.\nLine 5: Do not use getThreadGroup().\nLine 6: Do not use getThreadGroup().",
  "rule.sast.c.java.7279.name": "Using ThreadGroup Class",
  "rule.sast.c.java.7280.description": "The NullPointerException object allocation checker detects when an object is assigned using a NullPointerException. \nWhen an object is assigned using a NullPointerException, it will throw a NullPointerException since the object is already null. \nRemove any code that attempts to assign objects using NullPointerException.",
  "rule.sast.c.java.7280.example.0.dangerous": "Line 3: A NullPointerException object is allocated.",
  "rule.sast.c.java.7280.example.0.safe": "Line 3: Remove the NullPointerException object allocation",
  "rule.sast.c.java.7280.name": "NullPointerException Object Allocation",
  "rule.sast.c.java.7281.description": "The Using excessively broad exception object checker detects when broad exception objects are used. \nInstead of RuntimeException, Throwable, Exception, or Error, use their subclassed exceptions or errors.",
  "rule.sast.c.java.7281.example.0.dangerous": "Line 3: A generic Exception class is used.",
  "rule.sast.c.java.7281.example.0.safe": "Line 3: An uncommon exception is being used.",
  "rule.sast.c.java.7281.name": "Using excessively broad exception object",
  "rule.sast.c.java.7281.option.exception_list.name": "Exception List",
  "rule.sast.c.java.7282.description": "The Double.NaN or Float.NaN comparison checker detects when comparisons are made against `Double.NaN` or `Float.NaN`. \nSince NaN is an unordered value, it always returns false when used with comparison operators. \nTo check if a value is NaN, you should use `Double.isNaN()` or `Float.isNaN()`.",
  "rule.sast.c.java.7282.example.0.dangerous": "Line 2: Double.NaN is used in a comparison operation.",
  "rule.sast.c.java.7282.example.0.safe": "Line 2: Use 'Double.isNaN()' to check whether the value is NaN.",
  "rule.sast.c.java.7282.name": "Double.NaN or Float.NaN comparison",
  "rule.sast.c.java.7283.description": "The Non-serializable Bean class checker detects when a non-serializable bean class is used.\nA class must be serializable if it is a bean or if it is referenced directly or indirectly by the bean.\nPrivate member variables in the bean class must either be marked as transient or static, or have accessor methods that follow Java naming conventions.",
  "rule.sast.c.java.7283.example.0.dangerous": "Line 2: No accessor exists for badFoo.",
  "rule.sast.c.java.7283.example.0.safe": "Line 2: Create an accessor for badFoo.",
  "rule.sast.c.java.7283.name": "Non-serializable Bean class",
  "rule.sast.c.java.7284.description": "The missing super() or constructor call checker detects when a constructor in a derived class fails to call super() or another constructor.\nWhen creating an instance of a child class, that instance contains not only the members of the child class but also all members of the parent class.\nTo initialize the parent class members, the child class constructor must call the parent class constructor.\nCall super() or another constructor within the derived class constructor.",
  "rule.sast.c.java.7284.example.0.dangerous": "Line 2: The constructor does not call any other constructors.",
  "rule.sast.c.java.7284.example.0.safe": "Line 2: Call super() within the constructor.",
  "rule.sast.c.java.7284.name": "Missing super() or constructor call in derived class constructor",
  "rule.sast.c.java.7285.description": "The Virtual method call within parent class constructor Checker detects when a virtual method is called within a parent class constructor. \nCalling a virtual method in a parent class constructor can cause child class fields to be accessed before they are initialized. \nTherefore, avoid calling virtual methods within parent class constructors.",
  "rule.sast.c.java.7285.example.0.dangerous": "Line 8: The virtual method virtualMethod() is invoked within the Parent constructor.",
  "rule.sast.c.java.7285.example.0.safe": "Line 8: Avoid calling virtual methods within the parent class constructor.",
  "rule.sast.c.java.7285.name": "Virtual method call within parent class constructor",
  "rule.sast.c.java.7286.description": "The Thread.run method checker detects direct calls to the run() method of the Thread class. \nCalling run() instead of start() does not create a new thread; instead, the method executes synchronously in the current thread until the run() terminates.\nUse the start method of Thread class instead of Thread.run.",
  "rule.sast.c.java.7286.example.0.dangerous": "Line 2: The run method of the Thread class is used.\nLine 3: The run method of the Thread class is used.",
  "rule.sast.c.java.7286.example.0.safe": "Line 2: Use the start() method of the Thread class.\nLine 3: Use the start() method of the Thread class.",
  "rule.sast.c.java.7286.name": "Using run() method in Thread class",
  "rule.sast.c.java.7287.description": "The Float Type Loop Index Checker detects a float type that is used as an index of a loop.\nUsing the float as a loop index can lead to inaccurate results due to accumulated rounding errors caused by the imprecision of floating-point numbers.\nIf the loop with the floating-point operation is unavoidable, it's better to use a double type, which offers higher precision than the float type.",
  "rule.sast.c.java.7287.example.0.dangerous": "Line 3: A float data type is used as a loop counter.",
  "rule.sast.c.java.7287.example.0.safe": "Line 4: Modify the variable within the loop body.",
  "rule.sast.c.java.7287.name": "Using float data type for loop index",
  "rule.sast.c.java.7289.description": "Using return in finally block checker detects a return statement that is used inside a finally block. \nSince the finally block in Java always execute. However, the return statement inside the finally block will override any return statement within try or catch block. This might lead to an unintended action. \nYou should avoid using return statements in finally blocks.",
  "rule.sast.c.java.7289.example.0.dangerous": "Line 8: A return statement is used inside the finally block.",
  "rule.sast.c.java.7289.example.0.safe": "Line 8: Remove the return statement from within the finally block.",
  "rule.sast.c.java.7289.name": "Using return in finally block ",
  "rule.sast.c.java.7290.description": "The Using System.(out | err).print~ method checker detects when System.out.print() or System.err.print() methods are used.\nUsing System.out.println() triggers disk I/O synchronization, which can degrade overall system performance. Additionally, having to manually comment and uncomment debug statements using System.out.println() can reduce development and operational efficiency.\nInstead of using System.out.println() or System.err.println(), use a dedicated logging framework.",
  "rule.sast.c.java.7290.example.0.dangerous": "Line 3: System.out.print() was used.",
  "rule.sast.c.java.7290.example.0.safe": "Line 4: Print the output using the log function.",
  "rule.sast.c.java.7290.name": "Using System.(out | err).print~ method",
  "rule.sast.c.java.7291.description": "The unused utility class checker detects a class that contains only static elements but is not properly defined as utility class. \nWhen a class contains only static elements, it should be implemented as a utility class with a private constructor to prevent instantiation. \nAll members and constructors should be declared with private access modifiers.",
  "rule.sast.c.java.7291.example.0.dangerous": "Line 1: The access modifier for static elements is public.",
  "rule.sast.c.java.7291.example.0.safe": "Line 1: To create a utility class containing only static elements, we make the constructor private and change the access modifiers of static members to private.",
  "rule.sast.c.java.7291.name": "Unused utility class",
  "rule.sast.c.js.1959.description": "The Non-binary Transaction checker finds calls to transactional functions that transfer data not in binary.\nDuring development, using the xml type is easier for debugging; however, once the application is deployed into production, the binary type is recommended for savings on network resources.",
  "rule.sast.c.js.1959.example.0.dangerous": "Line 1-2: The 8th parameter is specified to 0, which transfers data in XML format.\nLine 4-5: The 8th parameter is not written, which transfers data in XML format, a default value.",
  "rule.sast.c.js.1959.example.0.safe": "Line 1-2: Send data in binary type by setting the 8th parameter to 1.",
  "rule.sast.c.js.1959.name": "Non-binary Transaction",
  "rule.sast.c.swift.2365.description": "The Implicit Access to Class checker finds instances of using a class without defining the access level for it.\nIf the access level is not explicitly declared, an unexpected behavior may occur.\nSet the access level explicitly.",
  "rule.sast.c.swift.2365.example.0.dangerous": "Line 1: An access level is not explicitly set.",
  "rule.sast.c.swift.2365.example.0.safe": "Line 1: Set the access level explicitly.",
  "rule.sast.c.swift.2365.name": "Implicit Access to Class",
  "rule.sast.c.vbnet.2739.description": "The Unrestricted Action checker finds controllers that are allowed for all actions.\nThe checker searches for a controller allowed for any action other than POST.\nA controller allowed for all actions may be vulnerable to CSRF attacks. Allowing controllers only for POST can make CSRF attacks fairly infeasible.\nUse <AcceptVerbs(HttpVerbs.Post)> or <HttpPost> to allow controllers only for POST.",
  "rule.sast.c.vbnet.2739.example.0.dangerous": "Line 1: All methods are enabled, which is insecure against CSRF attacks.",
  "rule.sast.c.vbnet.2739.example.0.safe": "Line 1: Enable POST method on <AcceptVerbs (HttpVerbs.Post)> setting.",
  "rule.sast.c.vbnet.2739.name": "Unrestricted Action",
  "rule.sast.c.vbnet.2740.description": "The Disabling of Header Check checker finds instances of disabling the header checking feature.\nThe checker searches for a case in which the EnableHeaderChecking attribute is set to False.\nSetting EnableHeaderChecking to False may allow for HTTP response splitting attacks.\nDelete the False setting of EnableHeaderChecking, or explicitly set this attribute to True.",
  "rule.sast.c.vbnet.2740.example.0.dangerous": "Line 1: EnableHeaderChecking property is set to False.",
  "rule.sast.c.vbnet.2740.example.0.safe": "Line 1: EnableHeaderChecking property is set to True.",
  "rule.sast.c.vbnet.2740.name": "Disabling of Header Check",
  "rule.sast.c.vbnet.2741.description": "The Disabling of View State MAC checker finds instances of disabling the view state MAC checking feature.\nThe checker searches for a case in which the EnableViewStateMac attribute is set to False.\nDisabling view state MAC may allow attackers to arbitrarily modify stored data.\nDelete the False setting of EnableViewStateMac, or explicitly set this attribute to True.",
  "rule.sast.c.vbnet.2741.example.0.dangerous": "Line 1: Viewstate MAC is disabled.",
  "rule.sast.c.vbnet.2741.example.0.safe": "Line 1: Enable the viewstate MAC.",
  "rule.sast.c.vbnet.2741.name": "Disabling of View State MAC",
  "rule.sast.c.vbnet.2742.description": "The Execution with Impersonated Credential checker finds instances of running the program with impersonated credentials.\nThe checker searches for methods ending with `impersonate`.\nCredential impersonation makes the program run with the security settings configured for the impersonated credentials. An abuse of impersonated credentials may cause the application to run with an unnecessarily escalated permission.\nAvoid using the Impersonate() method, which allows programs to run with impersonated credentials.",
  "rule.sast.c.vbnet.2742.example.0.dangerous": "Line 1: An application is running with an impersonated credential.",
  "rule.sast.c.vbnet.2742.example.0.safe": "Line 1: Do not use the impersonated credential.",
  "rule.sast.c.vbnet.2742.name": "Execution with Impersonated Credentials",
  "rule.sast.c.vbnet.2743.description": "The Leftover debug code checker finds debug code that remains not removed. \nThe checker searches for a call to a main() method included for debugging purposes or an optionally specified debugging method.\nDebug code may contain parts that output sensitive information or allow control over the system. If the program is deployed with debug code remaining, attackers may bypass an authentication process or access restricted information.\nRemove all debug code before deploying the application.",
  "rule.sast.c.vbnet.2743.example.0.dangerous": "Line 1: Debug code is included in Main() subroutine.",
  "rule.sast.c.vbnet.2743.example.0.safe": "Line 1: Delete the Main() subroutine.",
  "rule.sast.c.vbnet.2743.name": "Leftover debug code",
  "rule.sast.c.vbnet.2745.description": "The Storage of Non-Serializable Object as HttpSessionState Attribute checker finds instances of adding an object without the [Serialization] attribute to a session.\nThe HttpSessionState class provides server-side state management that is stored on a per-client basis. The HttpSessionState class provides a key/value collection of client-session items. To make session state shared across multiple devices or persist after server restarts, it needs to be stored as persistent session state. This requires the items in the HttpSessionState collection to be serialized. If a non-serializable object is added as an HttpSessionState attribute, the session will not be serialized normally.\nUse the [Serializable] attribute to make serializable the objects added to the session.",
  "rule.sast.c.vbnet.2745.example.0.dangerous": "Line 3: A deserialized object is stored in a session.\nLine 4: A deserialized object is stored in a session.",
  "rule.sast.c.vbnet.2745.example.0.safe": "Line 1: Declare a serialization property on the object.\nLine 4: Store the serializable object in the session.\nLine 5: Store the serializable object in the session.",
  "rule.sast.c.vbnet.2745.name": "Storage of Non-Serializable Object as HttpSessionState Attribute",
  "rule.sast.c.vbnet.2746.description": "The Parent Model without Required Attribute checker finds instances in which a parent model does not have the Required attribute but its child model has this attribute.\nA parent model must have the Required attribute if any of its child models has this attribute; otherwise, it may be vulnerable to under-posting attacks.\nAdd the Required attribute to the parent model.",
  "rule.sast.c.vbnet.2746.example.0.dangerous": "Line 1: ChildModel class includes Required property.\nLine 10: ParentModel class of ChildModel does not include Required property.",
  "rule.sast.c.vbnet.2746.example.0.safe": "Line 10: Add the Required property to the ParentModel.",
  "rule.sast.c.vbnet.2746.name": "Parent Model without Required Attribute",
  "rule.sast.c.vbnet.2747.description": "The Setting of Persistent Permission checker finds calls to the RedirectFromLoginPage() method in which the second argument is true.\nThe RedirectFromLoginPage() method's second argument indicates whether to create a persistent cookie. If set to True, a persistent cookie is created to allow a persistent permission. This setting may extend the period of exposure to session hijacking attacks.\nSet the RedirectFromLoginPage() method's second argument to False not to create a persistent cookie.",
  "rule.sast.c.vbnet.2747.example.0.dangerous": "Line 1: Persistent cookies are created.",
  "rule.sast.c.vbnet.2747.example.0.safe": "Line 1: Set an option not to create the persistent cookies.",
  "rule.sast.c.vbnet.2747.name": "Setting of Persistent Permission",
  "rule.sast.c.vbnet.2748.description": "The Untrusted Model checker finds functions that are annotated with the HttpPost() attribute but does not check the ModelState.IsValid attribute.\nUnvalidated input is a major cause of the vulnerabilities arising from ASP.NET WEB API services. Functions annotated with HttpPost() check whether the model is valid before using external inputs.\nCheck the ModelState.IsValid value for model validation.",
  "rule.sast.c.vbnet.2748.example.0.dangerous": "Line 3: Include the HttpPost() property to the function.\nLine 4: Its model is not verified in the function.",
  "rule.sast.c.vbnet.2748.example.0.safe": "Line 4: Include the HttpPost() property to the function.\nLine 5: Verify the model in the function.",
  "rule.sast.c.vbnet.2748.name": "Untrusted Model",
  "rule.sast.iac.terraform.7338.description": "`User data` is a metadata field of an EC2 instance that executes custom code within that field immediately after the instance is created. This field is not encrypted and can be accessed by any entity with the most basic access rights to the EC2 instance, such as read-only permissions, using the metadata access service. Therefore, if sensitive personal information or secrets are included in this field, the risk of exposure to third parties increases.  \nTo prevent this, do not include sensitive AWS keys such as `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` in the `User data` field of the EC2 instance. Instead of access through keys, use the IAM instance profile assigned within the EC2 instance to access other AWS services.",
  "rule.sast.iac.terraform.7338.example.0.dangerous": "Line 7: The `user_data` contains hardcoded `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` credentials.",
  "rule.sast.iac.terraform.7338.example.0.safe": "Line 1-4, 11: Configured to allow access to other AWS services using the IAM instance profile assigned to the instance.\nLine 13-20: There is no sensitive information in the user data section of the EC2 instance.",
  "rule.sast.iac.terraform.7338.name": "Hardcoded AWS keys are not allowed in EC2 instance user data.",
  "rule.sast.iac.terraform.7339.description": "If a public and private EC2 instance use the same role, an attacker who successfully compromises the public instance can gain the same AWS permissions as the private instance. This can lead to data theft, lateral movement, and complete environment compromise. Therefore, roles used between public and private EC2 instances should be distinctly assigned, and overlapping roles must be avoided.",
  "rule.sast.iac.terraform.7339.example.0.dangerous": "Line 5, 12: Both the public instance `pub_ins` and the private instance `priv_ins` used the same `test_profile` IAM instance profile.",
  "rule.sast.iac.terraform.7339.example.0.safe": "Line 5, 12: The public instance \"pub_ins\" and the private instance \"priv_ins\" are using different IAM instance profiles.",
  "rule.sast.iac.terraform.7339.name": "Do not use the same IAM role between public and private EC2 instances.",
  "rule.sast.iac.terraform.7340.description": "If both `iam:PassRole` and `ec2:RunInstance` actions in a specific group policy are set to `*`, an attacker can create a new EC2 instance that can access existing EC2 instance profiles/service roles through group privilege escalation using those actions. The attacker can then log into that instance and request relevant AWS keys from the EC2 instance metadata, thereby gaining access to all permissions associated with the relevant instance profile/service role. Clearly define the roles allowed for each action in the group policy as needed to ensure that only the necessary roles are passed. Additionally, set condition parameters within the policy to restrict usage to specific conditions.",
  "rule.sast.iac.terraform.7340.example.0.dangerous": "Line 1: An `aws_iam_group` exists where the `iam:PassRole` and `ec2:RunInstance` actions are set to `*`.",
  "rule.sast.iac.terraform.7340.example.0.safe": "Line 11-35: Use a condition argument for `ec2:RunInstances` to ensure the role is passed only under specific conditions.\nLine 45-56: Specify `resource` for `iam:PassRole` to filter access. Additionally, use a condition argument to ensure the role is passed only under specific conditions.",
  "rule.sast.iac.terraform.7340.name": "Incorrect EC2 instance IAM group permission configuration: Group privilege escalation vulnerability exploiting `ec2:RunInstances’ or `iam:PassRole` action",
  "rule.sast.iac.terraform.7341.description": "If both `iam:PassRole` and `ec2:RunInstance` actions are set to `*` in a specific user policy, an attacker can create a new EC2 instance that can access existing EC2 instance profiles/service roles through privilege escalation using those actions. The attacker can then log into that instance and request relevant AWS keys from the EC2 instance metadata, thereby gaining access to all permissions associated with the relevant instance profile/service role. Clearly define the roles allowed for each action in the user policy as needed to ensure that only the necessary roles are passed. Additionally, set condition parameters within the policy to restrict usage to specific conditions.",
  "rule.sast.iac.terraform.7341.example.0.dangerous": "Line 1: An `aws_iam_user` exists where the `ec2:RunInstance` and `iam:PassRole` actions are set to `*`.",
  "rule.sast.iac.terraform.7341.example.0.safe": "Line 11-35: Use a condition argument for `ec2:RunInstances` to ensure the role is passed only under specific conditions.\nLine 45-51: Specify the `resource` for `iam:PassRole` to filter access.",
  "rule.sast.iac.terraform.7341.name": "Incorrect EC2 instance IAM user permission configuration: User privilege escalation vulnerability exploiting `ec2:RunInstances’ or `iam:PassRole` action",
  "rule.sast.iac.terraform.7342.description": "If both `iam:PassRole` and `ec2:RunInstance` actions are set to `*` in a specific role policy, an attacker can create a new EC2 instance that can access existing EC2 instance profiles/service roles through privilege escalation using those actions. The attacker can then log into that instance and request relevant AWS keys from the EC2 instance metadata, thereby gaining access to all permissions associated with the relevant instance profile/service role. Clearly define the allowed roles for each action in the role policy as needed to ensure that only the necessary roles are passed. Additionally, set condition parameters within the policy to restrict usage to specific conditions.",
  "rule.sast.iac.terraform.7342.example.0.dangerous": "Line 1: An `aws_iam_role` exists where the `ec2:RunInstances` and `iam:PassRole` actions are set to `*`.",
  "rule.sast.iac.terraform.7342.example.0.safe": "Line 11-35: Use a condition argument for \"ec2:RunInstances\" to ensure the role is passed only under specific conditions.\nLine 45-51: Specify the \"resource\" for \"iam:PassRole\" to filter access.",
  "rule.sast.iac.terraform.7342.name": "Incorrect EC2 instance IAM role permission configuration: Role escalation vulnerability exploiting `ec2:RunInstances’ or `iam:PassRole` action",
  "rule.sast.iac.terraform.7343.description": "If an EC2 instance uses the default security group of the default VPC in AWS without modification, it allows inbound traffic from all resources assigned to the security group and all outbound IPv4 traffic. Additionally, if there is an IPv6 CIDR block associated with the VPC, it allows all outbound IPv6 traffic. In this case, unauthorized traffic may access the EC2 instance or exfiltrate sensitive information within the instance. When creating an EC2 instance, do not use the default security group; instead, define and use a security group that grants only the necessary permissions.",
  "rule.sast.iac.terraform.7343.example.0.dangerous": "- Line 9: Set the \"security_groups\" argument of EC2 instances using EC2-Classic or the default VPC to the default value of \"aws_security_group.default.id\".\n- Line 17: Set the \"vpc_security_group_ids\" argument of EC2 instances created within the VPC to the default value of \"aws_security_group.default.id\".",
  "rule.sast.iac.terraform.7343.example.0.safe": "- Line 9: The \"security_groups\" argument for EC2 instances using EC2-Classic or the default VPC has been set to use a custom security group instead of the default.\n- Line 17: The \"vpc_security_group_ids\" argument for EC2 instances created within the VPC has been set to use a custom security group instead of the default.",
  "rule.sast.iac.terraform.7343.name": "Disable the use of the default security group for EC2 instances.",
  "rule.sast.iac.terraform.7344.description": "The default VPC provided by AWS automatically exposes EC2 instances to the internet, with NACLs and security groups allowing all ingress traffic, and users cannot adjust the CIDR block size, which may lead to IP conflicts. Create a custom VPC with appropriately segmented subnets, least privilege rules, and CIDR ranges suitable for enterprise networking to place EC2 instances within the VPC.",
  "rule.sast.iac.terraform.7344.example.0.dangerous": "In lines 6 and 10: The \"vpc_id\" of the VPC found through the \"subnet_id\" argument of the EC2 instance is \"aws_vpc.default.id\", indicating that the default VPC is being used.",
  "rule.sast.iac.terraform.7344.example.0.safe": "Lines 6, 10: The \"vpc_id\" of the VPC found through the \"subnet_id\" argument of the EC2 instance is not \"aws_vpc.default.id\", so the default VPC was not used.",
  "rule.sast.iac.terraform.7344.name": "Disallow use of default VPC for EC2 instances",
  "rule.sast.iac.terraform.7345.description": "If an EC2 instance uses a Public IP address without VPC and access control, the instance can be publicly accessed from the internet. Attackers can exploit this to attempt cyber attacks such as brute force or DDoS. Therefore, while instances that provide services to external customers may require a public IP address, it is recommended to limit the public exposure of resources whenever possible.  \nIf the instance does not require direct internet access, moving it to a private subnet within the VPC will remove the public IP address while allowing communication with other resources within the VPC. Additionally, if the instance was launched in a public subnet where a public IP address is not needed, the launch configuration can be modified to prevent automatic assignment of a public IP address.",
  "rule.sast.iac.terraform.7345.example.0.dangerous": "Line 1: An `aws_instance` uses a subnet where the `map_public_ip_on_launch` argument is set to true.",
  "rule.sast.iac.terraform.7345.example.0.safe": "Line 4: The value of \"`associate_public_ip_address`\" in \"`aws_instance`\" is set to \"`false`\", so a Public IP value cannot be specified.\nLine 13, 22: The \"`associate_public_ip_address`\" of \"`aws_instance`\" is not set, so it will be assigned the default value of \"`false`\". Additionally, the \"`map_public_ip_on_launch`\" of the associated subnet \"`subnet_map_true`\" is set to \"`false`\", so a Public IP value cannot be specified.",
  "rule.sast.iac.terraform.7345.name": "Disallow use of EC2 instance Public IP addresses",
  "rule.sast.iac.terraform.7346.description": "AWS Transit Gateway is a network transit hub that interconnects VPCs and on-premises networks. If the Transit Gateway in EC2 automatically accepts VPC connection requests, an attacker can access all other VPCs by connecting to just one VPC. Configure the Transit Gateway in EC2 to not automatically accept VPC connection requests.",
  "rule.sast.iac.terraform.7346.example.0.dangerous": "Line 5: The value of \"auto_accept_shared_attachments\" in the \"aws_ec2_transit_gateway\" resource is set to \"enable\".",
  "rule.sast.iac.terraform.7346.example.0.safe": "Line 5: The value of \"`auto_accept_shared_attachments`\" in the \"`aws_ec2_transit_gateway`**\"** resource is set to \"`disable`\".\nLine 7-11: The value of \"`auto_accept_shared_attachments`\" in the \"`aws_ec2_transit_gateway`**\"** resource is not set, so it is set to the default value of \"`disable`\".",
  "rule.sast.iac.terraform.7346.name": "Disable automatic acceptance of VPC connection requests for EC2 Transit Gateway",
  "rule.sast.iac.terraform.7354.description": "It is recommended to use EBS-optimized instances when using EC2 instances. EBS-optimized instances minimize contention between Amazon EBS I/O and other traffic from the instance, providing optimal performance for EBS volumes. Use EC2 instances optimized for EBS.",
  "rule.sast.iac.terraform.7354.example.0.dangerous": "Line 1-9: The EC2 instance type \"r3.4xlarge\" does not have EBS optimization enabled by default, and since the \"ebs_optimized\" parameter is absent, this instance is not optimized for EBS.",
  "rule.sast.iac.terraform.7354.example.0.safe": "Line 6: The EC2 instance type \"r3.4xlarge\" does not have EBS optimization enabled by default, but it has been optimized for EBS by setting the \"ebs_optimized\" parameter to \"true\".",
  "rule.sast.iac.terraform.7354.name": "The EC2 instance is not optimized for EBS.",
  "rule.sast.iac.terraform.7355.description": "Monitoring is a critical component in maintaining the reliability, availability, and performance of Amazon EC2 instances and AWS solutions. To facilitate easier debugging of multiple point failures that may occur, monitoring data must be collected from all parts of the AWS solution. Therefore, detailed monitoring for EC2 instances must be enabled.  \nEnable detailed monitoring for EC2 instances.",
  "rule.sast.iac.terraform.7355.example.0.dangerous": "Monitoring\" argument is missing in the \"aws_instance\" resource, so EC2 instance monitoring cannot be used.",
  "rule.sast.iac.terraform.7355.example.0.safe": "Line 7: The \"monitoring\" argument value in the \"aws_instance\" resource is correctly set to \"true\", enabling EC2 instance monitoring.",
  "rule.sast.iac.terraform.7355.name": "Detailed monitoring for EC2 instances must be enabled.",
  "rule.sast.iac.terraform.7356.description": "The Instance Metadata Service (IMDS) is an on-instance component that allows the instance's code to securely access instance metadata.\n\nWhen using Instance Metadata Service version 1 (IMDSv1) on a running instance, access to instance metadata can be achieved through a request/response method, while version 2 (IMDSv2) can be accessed through a session-oriented method. The request/response method of IMDSv1 is prone to local configuration errors and can expose vulnerabilities such as open proxies, NAT and router exposure, and server-side request forgery.\n\nTherefore, when creating an EC2 instance, it should be configured to use the IMDS by setting `http_endpoint` to `disabled` or use only the IMDSv2 by setting `http_tokens` to `required` within `metadata_options` block of the EC2 instance. \nDisable IMDS when creating the EC2 instance, or if it is to be used, ensure that only IMDSv2 is enabled.",
  "rule.sast.iac.terraform.7356.example.0.dangerous": "Lines 1: The `metadata_options` block does not exist in the `aws_instance`.\nLines 6: In the `aws_instance` resource, `http_endpoint` argument is set to `enabled` and the `http_tokens` value is missing.",
  "rule.sast.iac.terraform.7356.example.0.safe": "Line 4-6: The `metadata_options` block exists within the `aws_instance` resource, and the `http_endpoint` argument is set to `disabled`, which disables the use of IMDS by the EC2 instance.\nLine 12-14: The `metadata_options` block exists within the `aws_instance` resource, and the `http_endpoint` argument is set to `enabled` with the `http_tokens` value set to `required`, which configures the EC2 instance to use only IMDSv2.",
  "rule.sast.iac.terraform.7356.name": "Disable IMDSv1 for EC2 instances",
  "rule.sast.iac.terraform.7357.description": "Security groups must include descriptions for auditing purposes. Proper descriptions for security groups simplify auditing, debugging, and management. Add appropriate descriptions to the security groups.",
  "rule.sast.iac.terraform.7357.example.0.dangerous": "Line 3: The \"description\" value of the \"aws_security_group\" security group resource is empty (\"\").",
  "rule.sast.iac.terraform.7357.example.0.safe": "Line 3: The \"description\" value of the \"aws_security_group\" resource contains an appropriate description of the security group.",
  "rule.sast.iac.terraform.7357.name": "Description of the security group must not be missing.",
  "rule.sast.iac.terraform.7358.description": "The rule for `ingress` in the security group must include a description for auditing purposes. A proper description for this rule simplifies auditing, debugging, and management.  \nAdd an appropriate description to the rule for `ingress` in the security group.",
  "rule.sast.iac.terraform.7358.example.0.dangerous": "Line 6: The \"description\" value of the \"ingress\" security rule within the \"aws_security_group\" security group resource is empty (\"\").",
  "rule.sast.iac.terraform.7358.example.0.safe": "Line 6: The \"description\" value of the \"ingress\" security rule within the \"aws_security_group\" security group resource contains an appropriate description for that rule.",
  "rule.sast.iac.terraform.7358.name": "Do not omit the description of ingress rules within the security group.",
  "rule.sast.iac.terraform.7359.description": "The rule `egress` in the security group must include a description for auditing purposes. A proper description for this rule simplifies auditing, debugging, and management.  \nAdd an appropriate description to the rule `egress` in the security group.",
  "rule.sast.iac.terraform.7359.example.0.dangerous": "Line 6: The \"description\" value of the \"egress\" security rule within the \"aws_security_group\" security group resource is empty (\"\").",
  "rule.sast.iac.terraform.7359.example.0.safe": "Line 6: The \"description\" value of the \"egress\" security rule within the \"aws_security_group\" security group resource contains an appropriate description for that rule.",
  "rule.sast.iac.terraform.7359.name": "Do not omit the description of egress rules in the security group.",
  "rule.sast.iac.terraform.7360.description": "EBS volumes must be encrypted. Enabling EBS volume encryption protects the volume, disk I/O, and derived snapshots from being compromised in case of interception. Encrypt all EBS volumes.",
  "rule.sast.iac.terraform.7360.example.0.dangerous": "Line 1-8: The \"aws_ebs_encryption_by_default\" resource value does not exist, and the \"encrypted\" value within \"aws_ebs_volume\" is also not set, so the EBS volume is not encrypted.",
  "rule.sast.iac.terraform.7360.example.0.safe": "Line 1-3: The \"`enabled`\" value of the \"`aws_ebs_encryption_by_default`\" resource is set to \"`true`\", so all newly created EBS volumes will be encrypted.\nLine 8: The \"`encrypted`\" value in \"`aws_ebs_volume`\" is set to \"`true`\", so the EBS volume is encrypted.",
  "rule.sast.iac.terraform.7360.name": "EBS volume is not encrypted",
  "rule.sast.iac.terraform.7361.description": "Using AWS keys for encryption protects EBS volumes. It employs customer-managed keys, which are user-generated KMS keys, to enhance encryption control and manage key rotation cycles. Customer-managed keys are used for EBS volume encryption.",
  "rule.sast.iac.terraform.7361.example.0.dangerous": "The encryption settings for the EBS volume are correctly configured, but the \"aws_kms_key\" does not exist, and the \"kms_key_id\" value within \"aws_ebs_volume\" is missing, so customer-managed keys are not being used.",
  "rule.sast.iac.terraform.7361.example.0.safe": "Line 5-7: The presence of \"`aws_kms_key`\" enables the use of KMS key rotation and customer-managed keys for each EBS volume creation.\nLine 13: The presence of the \"`kms_key_id`\" value within \"`aws_ebs_volume`\" indicates the use of customer-managed keys.",
  "rule.sast.iac.terraform.7361.name": "Violation of management standards for EBS encryption key",
  "rule.sast.iac.terraform.7362.description": "A Redshift cluster created without subnet details is generated in EC2-Classic mode. EC2-Classic does not have a VPC, and all instances share the same network space. In this case, you cannot take advantage of security benefits such as inbound/outbound network traffic control through security groups and NACLs that can be obtained by using a VPC. Always include subnet details when creating a Redshift cluster.",
  "rule.sast.iac.terraform.7362.example.0.dangerous": "The value for \"cluster_subnet_group_name\" in the \"aws_redshift_cluster\" resource is not provided.",
  "rule.sast.iac.terraform.7362.example.0.safe": "Line 8: The value for \"cluster_subnet_group_name\" in the \"aws_redshift_cluster\" resource has been provided.",
  "rule.sast.iac.terraform.7362.name": "Missing subnet details for creating Redshift cluster",
  "rule.sast.q.abap.1783.description": "The Use of SELECT statement with dynamic clauses checker finds SELECT statements that include dynamic conditions.\nSQL queries must not contain dynamic conditions. Although this might be well intended, it makes hard to check for issues statically and allows for an SQL injection vulnerability.\nReplace the dynamic conditions with static filtering conditions in the SQL queries.",
  "rule.sast.q.abap.1783.example.0.dangerous": "Line 1: A dynamic condition is included.",
  "rule.sast.q.abap.1783.example.0.safe": "Line 1: Remove the dynamic conditions from SELECT statements.",
  "rule.sast.q.abap.1783.name": "Use of SELECT statement with dynamic clauses",
  "rule.sast.q.c.2044.description": "The Use of Variable-length Array checker finds instances of declaring a static array of undefined size.\nStatic arrays are allocated on the stack. If a static array variable is passed without its size defined, the array size to be allocated on the stack is defined when the program is running. If an extremely large size is passed that exceeds the whitespace available on the stack, the program may malfunction.\nIf the size of an array needs to be determined during execution, use dynamic allocation.",
  "rule.sast.q.c.2044.example.0.dangerous": "Line 3: Because parameter n cannot be determined of its value, it is risky to declare a variable length array through parameter n.",
  "rule.sast.q.c.2044.example.0.safe": "Line 4: Specify fixed values to the length of static array.",
  "rule.sast.q.c.2044.name": "Use of Variable-length Array",
  "rule.sast.q.c.2048.description": "The Macro Named after Reserved Word checker finds macros that are named after a reserved word.\nApart from keywords, reserved words are not allowed for use by users and spared for system operation or later use purposes.\nRename the macros to what are not reserved words.",
  "rule.sast.q.c.2048.example.0.dangerous": "Line 1: A errno reserved word is used as a macro name.",
  "rule.sast.q.c.2048.example.0.safe": "Line 1: Rename the macro to what are not reserved words.",
  "rule.sast.q.c.2048.name": "Macro Named after Reserved Word",
  "rule.sast.q.c.2050.description": "The Forbidden recursive call checker finds instances of using a recursive call in a function definition.\nRecursive calling may cause infinite recursion, which then leads to a stack overflow shutting down the system abnormally. Recursive calling can help write a more concise and understandable code. But if the programmer is not well skilled in it, this approach is more prone to cause mistakes than the use of a loop. To prevent the possibility of infinite recursion, you can prohibit the use of recursive calls in the project.\nRewrite the code for the same behavior using a loop-Theoretically, any recursive function can be replaced by a loop achieving the same purpose. If one call of a function may trigger two or more recursive calls, you may need to manually implement a stack that stores important information.",
  "rule.sast.q.c.2050.example.0.dangerous": "Line 6: fn_a() is recursively called.",
  "rule.sast.q.c.2050.example.0.safe": "Line 1: Use a loop to implement the same behavior.",
  "rule.sast.q.c.2050.name": "Forbidden recursive call",
  "rule.sast.q.c.2052.description": "The Useless Type Declaration checker finds type declarations that are not used anywhere in the project.\nUnused type declarations hinder reading of the program's structure and make it difficult to address duplicate type declarations.\nDelete unused types.",
  "rule.sast.q.c.2052.example.0.dangerous": "Line 1: localSecType type is declared, but not used.\nLine 4: localType type is declared, but not used.",
  "rule.sast.q.c.2052.example.0.safe": "Line 1: Delete the unused type declaration.",
  "rule.sast.q.c.2052.name": "Useless Type Declaration",
  "rule.sast.q.c.2793.description": "The Passing of Signed to Character Function checker finds instances in which a character-handling function is passed with a value other than of the unsigned char type.\nIf a value that is not of the unsigned char type is passed, the value may be implicitly cast with the most significant bits discarded, thus causing the parameter to receive an unexpectedly changed value.\nA value of a different type must be explicitly cast to unsigned char.",
  "rule.sast.q.c.2793.example.0.dangerous": "Line 8: *t is a signed char type.",
  "rule.sast.q.c.2793.example.0.safe": "Line 8: Cast *t into an unsigned char type.",
  "rule.sast.q.c.2793.name": "Passing of Signed to Character Function",
  "rule.sast.q.c.2794.description": "The getchar Function Return of Invalid Type checker finds instances of assigning the getchar() function's return value to a smaller type than int.\nDeclared to return an int type, the getchar() function returns the character read as an unsigned char cast to an int when it reads a character; otherwise, it returns EOF(-1) to indicate the end of a stream. Thus, this function has a total of 257 different possible return values, bigger than the range of 256 values from 0 to 255. Therefore, storing the return value in a variable of a smaller type may cause an unexpected behavior.\nThe return of getchar() must be stored in an int-type variable and checked for EOF before being used.",
  "rule.sast.q.c.2794.example.0.dangerous": "Line 7: Variable c is defined as char type.\nLine 11: A returned value of getchar() function is assigned to the variable c.",
  "rule.sast.q.c.2794.example.0.safe": "Line 7: Define variable c as int type.\nLine 11: Assign the returned value of getchar() function to the variable c.",
  "rule.sast.q.c.2794.name": "getchar Function Return of Invalid Type",
  "rule.sast.q.c.49.description": "The Null Dereference Resulting from Allocation Failure checker finds instances of blindly dereferencing a pointer retrieved from a function that returns null when memory allocation fails.\nNull dereference often causes abnormal system shutdown. Although memory allocation is generally assumed to always succeed, some exceptions of failure may occur for different reasons. Considering theses exceptions, programs must be coded defensively.\nWhen a memory allocation function is called, the return value must be used only after the memory allocation is checked for success.",
  "rule.sast.q.c.49.example.0.dangerous": "Line 2: Memory is allocated to p using malloc().\nLine 3: If memory allocation fails, p is assigned a null address value. Therefore, a runtime error occurs as p is used without being checked for null.",
  "rule.sast.q.c.49.example.0.safe": "Line 3: Check if the return value is null after using a memory allocation function such as malloc().",
  "rule.sast.q.c.49.name": "Null Dereference Resulting from Allocation Failure",
  "rule.sast.q.c.59.description": "The Dereference before null check checker finds instances in which a value once dereferenced with no null check is later checked for null.\nIf a pointer variable is checked for null at least once, it implies that when writing the null check code, the programmer considered the variable might get null through the execution path reaching that point. Conversely, if a code block exists that dereferences a pointer without null check, it can be assumed that the programmer has determined the variable would by no means contain null. Therefore, if the same variable is dereferenced once without null check and another time with null check, it is highly likely that the programmer has made a mistake. If the variable can never be null, the null check is an unnecessary process that causes performance regression; if the variable can be null, a runtime error may occur at the point of dereferencing without null check.\nUnless a variable is ensured to never be null, make sure it is always checked for null before dereferenced. Conversely, if a variable can never be null and so its null check is unnecessary, have it never checked for null, ensuring consistency and preventing confusion.",
  "rule.sast.q.c.59.example.0.dangerous": "Line 3: 20 is saved to memory dereferencing ptr pointer when n is larger than 20.\nLine 6: 5 is saved to the memory when n is equal or smaller than 20.\nLine 8: If an execution flow reaches to this point, ptr is not a null. Thus, the null check is unnecessary.",
  "rule.sast.q.c.59.example.0.safe": "Line 2: Check a null before referencing the pointer, or remove a useless action by considering program logics.",
  "rule.sast.q.c.59.name": "Dereference before null check",
  "rule.sast.q.ccpp.1038.description": "The Use of Trigraph checker finds expressions that include a trigraph sequence.\nTrigraphs are sequences of two consecutive question marks and one identifier character. They were designed to address the problem that some language character sets could not cover the whole character set of the C programming language.\nHowever, these trigraphs are hardly needed these days. Therefore, trigraphs present in source code are highly likely to be unintended inserts. They can cause an unpredictable result.\nDo not use trigraphs. Any trigraphs can be replaced by regular characters.",
  "rule.sast.q.ccpp.1038.example.0.dangerous": "Line 4: ??! trigraph is replaced by |. Thus, \"Over 9000!|\" has been used as an argument of puts() function.",
  "rule.sast.q.ccpp.1038.example.0.safe": "Line 4: Add \"\" between question marks to prevent becoming a trigraph.",
  "rule.sast.q.ccpp.1038.name": "Use of Trigraph",
  "rule.sast.q.ccpp.1063.description": "The Too many initialization values checker finds struct/array definitions in which the struct/array object is assigned an initial set of elements that are greater in number than the struct/array size.\nThe checker searches for an array or struct initialization that assigns an oversized set of elements.\nIn case of brace initialization with an oversized set of elements, the elements out of range are basically ignored. However, the developer may have not intended this action. If this is not an intended result, the program may behave unexpectedly.\nWhen initializing a struct or array, be sure the assigned initial value set has the same number of elements as the size of the initialized object.",
  "rule.sast.q.ccpp.1063.example.0.dangerous": "Line 2: An array with size of 3 is initialized with braces. However, it has four initialization element.",
  "rule.sast.q.ccpp.1063.example.0.safe": "Line 2: The number of elements in brace initialization must match the size of array.",
  "rule.sast.q.ccpp.1063.name": "Too many initialization values",
  "rule.sast.q.ccpp.1079.description": "The Lost of const qualification in casting checker finds expressions that cast a const-qualified object to a non-const type.\nThe const qualifier is a specification that the object should not change its value. If this qualifier is cast away, problems may arise.\nDo not cast away the const qualifier from a const-qualified object.",
  "rule.sast.q.ccpp.1079.example.0.dangerous": "Line 2: A const qualifier of item object is removed by casting.",
  "rule.sast.q.ccpp.1079.example.0.safe": "Line 2: Do not remove the const qualifier.",
  "rule.sast.q.ccpp.1079.name": "Lost of const qualification in casting",
  "rule.sast.q.ccpp.1080.description": "The Lost of volatile qualification in casting checker finds expressions that cast a volatile-qualified object to a non-volatile type.\nThe volatile qualifier tells that its qualified object may be modified from the outside. If this qualifier is cast away, problems may arise.\nDo not cast away the volatile qualifier from a volatile object.",
  "rule.sast.q.ccpp.1080.example.0.dangerous": "Line 4: A volatile qualifier of vRegister object is removed by casting.",
  "rule.sast.q.ccpp.1080.example.0.safe": "Line 3: Do not remove the volatile qualifier.",
  "rule.sast.q.ccpp.1080.name": "Lost of volatile qualification in casting",
  "rule.sast.q.ccpp.1162.description": "The Missing error detection checker finds an application-independent code that does not include an error-detecting mechanism.\nApplication-independent code includes code that is shipped with the compiler or operating system, is from a third-party library, or is developed in-house.\nApplication-independent code is not associated with any application, so it cannot handle errors. However, it must still detect errors and report them to an application so that the application may handle them. Failure to do so may cause issues such as unexpected program termination.\nMake sure your application-independent code includes an error-detecting mechanism. The possible error-detection mechanism can be based on a return value, address argument, global indicator, or longjmp().",
  "rule.sast.q.ccpp.1162.example.0.dangerous": "Line 5: abort() function is called by g() function. In this case, an error status cannot be sent to a calling function of g() function.",
  "rule.sast.q.ccpp.1162.example.0.safe": "Line 2: Modify function design to send a return value about success or failure.",
  "rule.sast.q.ccpp.1162.name": "Missing error detection",
  "rule.sast.q.ccpp.1163.description": "The Misuse of assert statement checker finds assert() calls that are made after a handler already is registered with using the atexit() function.\nWhen a termination process is implemented using atexit(), a call to assert() disables this process.With its boolean expression is evaluated to false, assert() invokes the abort() function. Which then prevents the termination process registered with atexit() from being invoked.\nIf a handler is registered using atexit(), do not use assert(). Ideally, you are recommended either to implement the termination process in some other way or never use assert() at all.",
  "rule.sast.q.ccpp.1163.example.0.dangerous": "Line 5: cleanup() function intended to perform a termination process before a program ends is registered as a handler.\nLine 9: cleanup() function is not called in case of assert failed.",
  "rule.sast.q.ccpp.1163.example.0.safe": "Line 10: Perform a conditional check, then call exit() function instead of assert.",
  "rule.sast.q.ccpp.1163.name": "Misuse of assert statement",
  "rule.sast.q.ccpp.1169.description": "The Use of PTHREAD_MUTEX_NORMAL type mutex lock checker finds instances of using a PTHREAD_MUTEX_NORMAL type mutex lock.\nThe PTHREAD_MUTEX_NORMAL type of mutex does not provide deadlock detection. Attempting to relock this type of mutex, therefore, can lead to deadlocks or abnormal program termination.\nUse a PTHREAD_MUTEX_ERRORCHECK type mutex instead. This type of mutex supports deadlock detection.",
  "rule.sast.q.ccpp.1169.example.0.dangerous": "Line 6: PTHREAD_MUTEX_NORMAL is used to lock a mutex. Then, deadlock cannot be checked.",
  "rule.sast.q.ccpp.1169.example.0.safe": "Line 6: Use PTHREAD_MUTEX_ERRORCHECK.",
  "rule.sast.q.ccpp.1169.name": "Use of PTHREAD_MUTEX_NORMAL type mutex lock",
  "rule.sast.q.ccpp.1170.description": "The Use of vfork checker finds a vfork() call followed by an execve() call.\nIn some systems, a vfork() call followed by an execve() call can cause a race window. This arises from the vfork() function's vulnerability and also can lead to undefined behavior or denial of service.\nDo not use vfork(). Instead, use functions such as fork() that do not cause race conditions.",
  "rule.sast.q.ccpp.1170.example.0.dangerous": "Line 2: vfork() function is called.\nLine 4: execve() function is called. However, a race window can occur by calling vfork() function on Line 2.",
  "rule.sast.q.ccpp.1170.example.0.safe": "Line 2: Use fork() instead of vfork() function.",
  "rule.sast.q.ccpp.1170.name": "Use of vfork",
  "rule.sast.q.ccpp.1173.description": "The Use of pthread_kill checker finds calls to the pthread_kill() function.\nDo not call pthread_kill() to terminate a thread. The pthread_kill() function kills the entire process.\nUse the pthread_cancel() function instead to terminate an individual thread.",
  "rule.sast.q.ccpp.1173.example.0.dangerous": "Line 10: pthread_kll() function is called. All processes are terminated in return of signals.",
  "rule.sast.q.ccpp.1173.example.0.safe": "Line 10: Call pthread_cancel() function.",
  "rule.sast.q.ccpp.1173.name": "Use of pthread_kill",
  "rule.sast.q.ccpp.1429.description": "The Use of signal functions checker finds calls to the signal() function.\nFor an implementation of an ordinary function, it is challenging to use a signal handler in a highly portable and secure way.\nDo not use signal().",
  "rule.sast.q.ccpp.1429.example.0.dangerous": "Line 2: signal() function is used.",
  "rule.sast.q.ccpp.1429.example.0.safe": "Line 2: Do not use the signal() function.",
  "rule.sast.q.ccpp.1429.name": "Use of signal functions",
  "rule.sast.q.ccpp.170.description": "The Use of sizeof on array type parameter checker finds instances of calling the sizeof() function on an array variable passed in a function.\nIf the sizeof operator is used to get the array size of an array argument, it poses a high risk of a buffer overflow. It will rather get the pointer size, possibly causing an unexpected program behavior.\nDo not use the sizeof operator for an array-type argument.",
  "rule.sast.q.ccpp.170.example.0.dangerous": "Line 3: To measure the size of argument a[] in Line 1, sizeof operator is used, but practically measuring its pointer size.",
  "rule.sast.q.ccpp.170.example.0.safe": "Line 1: Do not measure the array size with the sizeof operator, but send the measured size as the argument of function.",
  "rule.sast.q.ccpp.170.name": "Use of sizeof on array type parameter",
  "rule.sast.q.ccpp.1711.description": "The Improper conversion between numeric types checker finds expressions that cast between an integer and a real number without validating the cast.\nAn invalid cast between number types can cause an unintended change in the value of the target object. This will lead to an unexpected issue.\nPrior to conducting a cast, check that the range of the destination type covers the whole range of the source type.",
  "rule.sast.q.ccpp.1711.example.0.dangerous": "Line 4: atof() function is used to perform casting on a string into double type.\nLine 9: An unchecked value is used after casting. Then, an unusual casting can be performed.",
  "rule.sast.q.ccpp.1711.example.0.safe": "Line 1: Verify ranges of the value, then use it.",
  "rule.sast.q.ccpp.1711.name": "Improper conversion between numeric types",
  "rule.sast.q.ccpp.172.description": "The Inadequate size of allocated memory checker finds calls to the malloc() function wherein the string size is not considered.\nFailure to accurately determine the size of the wide-character string may cause a buffer overrun.\nWhen performing dynamic memory allocation, the data type size must be properly considered.",
  "rule.sast.q.ccpp.172.example.0.dangerous": "Line 3: A dynamic memory is allocated with malloc() function without considering the size of strings.",
  "rule.sast.q.ccpp.172.example.0.safe": "Line 3: Multiply size and length of the string or other data type to perform dynamic memory allocation.",
  "rule.sast.q.ccpp.172.name": "Inadequate size of allocated memory",
  "rule.sast.q.ccpp.175.description": "The Printing file to temporary or public directory checker finds instances of creating a temporary file in an open directory accessible to arbitrary users.\nIt is risky to create temporary files in an openly accessible director such as /tmp, /var/tmp, or C:\\TEMP.\nFiles stored in a temporary or open directory may be accessed and manipulated by attackers, leading to program malfunctions.\nIt is recommended to create and store temporary files in a path accessible only to privileged users.",
  "rule.sast.q.ccpp.175.example.0.dangerous": "Line 2: A temporary file is specified to position in a directory path where other users can view. Instances such as race conditions can allow attackers to misuse the file.",
  "rule.sast.q.ccpp.175.example.0.safe": "Line 8: Use mkstemp() function to generate the temporary file.\nLine 12: Delete the file with unlink() function after they are used.",
  "rule.sast.q.ccpp.175.name": "Printing file to temporary or public directory",
  "rule.sast.q.ccpp.176.description": "The Use of system checker finds calls to system(). \nYou can optionally add the names of system functions.\nThe system() function may allow attackers to execute arbitrary shell scripts or executable programs. This may result in the program behaving unexpectedly or running through a path intended by the attacker.\nDo not call optionally specified system functions. ",
  "rule.sast.q.ccpp.176.example.0.dangerous": "Line 2: A system() function is used to delete files. Attackers can exploit this with a privileged permission to manipulate the system in a vulnerable program.",
  "rule.sast.q.ccpp.176.example.0.safe": "Line 3: Use unlink() function to delete files from system. This can prevent the system to be manipulated by others.",
  "rule.sast.q.ccpp.176.name": "Use of system",
  "rule.sast.q.ccpp.176.option.function_should_not_be_used.description": "Set up forbidden functions.",
  "rule.sast.q.ccpp.176.option.function_should_not_be_used.name": "Forbidden functions",
  "rule.sast.q.ccpp.177.description": "The Exit on atexit handler checker finds instances in which a function registered as an atexit handler calls _Exit(), exit(), or abort().\nProgram termination functions should be carefully used. If atexit() and another termination function are used together, the program may behave unexpectedly or shut down abnormally.\nDo not call a program termination function in an atexit handler function.",
  "rule.sast.q.ccpp.177.example.0.dangerous": "Line 9: atexit() function is used to call foo1(), and foo2() function at the end of the program. Because the atexit() function executes registered functions in a reversed order, foo2() function has been executed before foo1(). However, exit() function has been included in the foo2(). Thus the program is terminating without calling the foo1().",
  "rule.sast.q.ccpp.177.example.0.safe": "Line 9: Do not use the termination function such as _Exit(), exit(), or abort() as the registered atexit handler.",
  "rule.sast.q.ccpp.177.name": "Exit on atexit handler",
  "rule.sast.q.ccpp.178.description": "The Use of unsafe function in signal handler checker finds instances in which a function registered as a signal handler calls a function that is unsafe when behaving asynchronously.\nYou can optionally specify functions excluded from analysis. \nIf a function that is unsafe when behaving asynchronously is called in a signal handler, it may cause various issues such as memory conflicts and use of asynchronous data.\nIn a signal handler, do not call a function that is unsafe when behaving asynchronously.",
  "rule.sast.q.ccpp.178.example.0.dangerous": "Line 3: A global variable stderr can unsafely behave in its signal handler.\nLine 6: info variable is not declared as volatile sig_atomic_t type. This may pose a problem in sync.\nLine 7: Heap memory can cause conflicts by interrupt signal while handler() function calls free() function.",
  "rule.sast.q.ccpp.178.example.0.safe": "Line 6: To independently execute flag variable, declare handler() function as volatile sig_atomic_t type, and remove the problematic code.",
  "rule.sast.q.ccpp.178.name": "Use of unsafe function in signal handler",
  "rule.sast.q.ccpp.178.option.ignore_func.description": "Set up functions to be excluded from analyzing.",
  "rule.sast.q.ccpp.178.option.ignore_func.name": "Functions to be excluded",
  "rule.sast.q.ccpp.182.description": "The Use of deprecated API checker finds calls to forbidden functions that are obsolete and no longer used.\nForbidden functions include: asctime(), asctime_s(), atof(), strtod(), atoi(), strtol(), atol(), strtol(), atoll(), strtoll(), ctime(), ctime_s(), gets(), gets_s(), fopen(), fmemopen|open_memstream(), fopen_s(), freopen(), freopen_s(), rewind(), fseek(), setbuf(), vsetbuf(), strtok(), strtok_r(), strtok_s(), vsprintf(), vsnprintf(), strcpy(), strcpy_s(), strcat(), and strcat_s().\nIf two or more functions behave identically, the most secure function must be used. Replace the obsolete or insecure functions with proven faultless ones.\nDo not use forbidden functions.",
  "rule.sast.q.ccpp.182.example.0.dangerous": "Line 3: An obsolete function is used.",
  "rule.sast.q.ccpp.182.example.0.safe": "Line 3: Use a function with _s suffix to prevent buffer overrun.",
  "rule.sast.q.ccpp.182.name": "Use of deprecated API",
  "rule.sast.q.ccpp.183.description": "The Premature thread termination checker finds instances of multithreading in which a parent thread neither joins its children to wait for their finish nor detaches them (in the case the parent needs to finish earlier). \nThe checker reports a defect if a call to pthread_create() is not followed by a call to pthread_join() or pthread_detach() by the parent thread when using pthreads. \nIf a parent thread ends earlier than its child threads, the resources allocated to the children may not be reclaimed. Once a child thread is created, the program allocates an object for internal thread control. If the parent thread calls a function such as pthread_join() and waits until its child finishes, the object for controlling the child thread is normally deallocated. Conversely, if the parent ends earlier than the child, the thread control object remains allocated, causing memory leaks.\nA call to pthread_create() must be followed by a call to pthread_join() or pthread_detach() by the parent thread.",
  "rule.sast.q.ccpp.183.example.0.dangerous": "Line 9: A created thread is not using join to wait, or detach to return resources.",
  "rule.sast.q.ccpp.183.example.0.safe": "Line 13: Use pthread_join() function to wait its child thread, then return the resources.",
  "rule.sast.q.ccpp.183.name": "Premature thread termination",
  "rule.sast.q.ccpp.186.description": "The Use of sizeof on pointer type checker finds instances of using the sizeof() operator on a pointer type.\nBecause any pointer type has the same size, the checker reports for a pointer-type variable used as the operand of sizeof. \nIf the sizeof operator is used in an attempt to measure the size of a pointer-type argument, the function will return the size of the pointer, not the size of the type. To get the accurate size, therefore, the sizeof operator is not recommended to be used for a pointer type.\nDo not use the sizeof operator on a pointer type.",
  "rule.sast.q.ccpp.186.example.0.dangerous": "Line 3: The size of a pointer type is measured with sizeof operator.\nLine 6: The size of a pointer type is measured with sizeof operator.",
  "rule.sast.q.ccpp.186.example.0.safe": "Line 3: Modify to measure the size of pointer value, not pointer type.\nLine 6: Modify to measure the size of pointer value, not pointer type.",
  "rule.sast.q.ccpp.186.name": "Use of sizeof on pointer type",
  "rule.sast.q.ccpp.186.option.ignore_var.description": "Variables to be ignore.",
  "rule.sast.q.ccpp.186.option.ignore_var.name": "Ignore variables name",
  "rule.sast.q.ccpp.186.option.memset_function.description": "Write the name of the function which sets the memory variable.<br />Example) memset",
  "rule.sast.q.ccpp.186.option.memset_function.name": "Memory setting function",
  "rule.sast.q.ccpp.186.option.print_function.description": "Write the name of the output function. No issues will be reported if the pointer-type variable set by the memory setting function is used as an argument of the output function.<br />Example) printf",
  "rule.sast.q.ccpp.186.option.print_function.name": "Printing function",
  "rule.sast.q.ccpp.188.description": "The Wrong order in privilege relinquishment checker finds instances of dropping privileges in a wrong sequence.\nUsing setuid() and setgid() in a wrong sequence may make your privilege settings unsuccessful; these two functions are responsible for user and group permissions, respectively.\nA call to setuid() to drop a privilege makes the user ID no more a superuser. But a call to setgid() might not work without the superuser privilege. Therefore, a preceding call to setuid() may prevent a following call to setgid() from the intended privilege drop. This may be exploited by attackers attempting to use remaining group privileges.\nMake sure a call to setgid() precedes a call to setuid().",
  "rule.sast.q.ccpp.188.example.0.dangerous": "Line 1: setuid() is called before dropping a group privilege.",
  "rule.sast.q.ccpp.188.example.0.safe": "Line 1: Change the user privilege after dropping the group privilege.",
  "rule.sast.q.ccpp.188.name": "Wrong order in privilege relinquishment",
  "rule.sast.q.ccpp.192.description": "The Insecure privilege relinquishment checker finds instances calls to setuid(getuid()) that are not followed by a call to setuid(0).\nIf conditions on privilege relinquishment remain unchecked, system privileges may be assigned to another user or group.\nMake sure a call to seteuid(getuid()) is followed by a call to setuid(0).",
  "rule.sast.q.ccpp.192.example.0.dangerous": "Line 1: A user privilege is temporarily dropped.\nLine 5: The use privilege is gained again.\nLine 9: The privilege is permanently dropped, then not restored.",
  "rule.sast.q.ccpp.192.example.0.safe": "Line 12: Restore the dropped privilege.",
  "rule.sast.q.ccpp.192.name": "Insecure privilege relinquishment",
  "rule.sast.q.ccpp.1934.description": "The Integer Underflow checker finds instances in which the result of an arithmetic operation such as addition, subtraction, or multiplication is lower than the range of the given data type.\nIf an integer variable is to assume a value lower than the range of the integer type, an underflow occurs, resulting in a huge positive number or an unexpected value. If such an unexpected return value is used for memory allocation or a loop conditional, the program may become vulnerable to security threats.\nBy comparing against the result of the integer operation, make sure that a value lower than the type range is not assumed.",
  "rule.sast.q.ccpp.1934.example.0.dangerous": "Line 5: An underflow occur when a result decreases to less than the minimum that an int type can represent.",
  "rule.sast.q.ccpp.1934.example.0.safe": "Line 6: Compare the sizes before operation that might cause the underflow, then, perform the secured operation.",
  "rule.sast.q.ccpp.1934.name": "Integer Underflow",
  "rule.sast.q.ccpp.1934.option.source_call.description": "Specify functions that receives sensitive information.<br />",
  "rule.sast.q.ccpp.1934.option.source_call.name": "Function receiving sensitive information",
  "rule.sast.q.ccpp.1985.description": "The Invalid downcasting of integer checker finds instances of casting an integer to a narrower type.\nA cast of -1 is accepted as an exception because it is commonly used to represent a value of all bits set to 1s. You can optionally adjust the range of negative numbers subject to this exception.\nA cast to a narrower type can cut off some bits, thereby unexpectedly altering the target value. And a cast from signed to unsigned can change the sign, consequently altering the value. This may result in an unexpected result.\nPrior to proceeding with a cast, check that the destination type has a range safe enough to assume the original value.",
  "rule.sast.q.ccpp.1985.example.0.dangerous": "Line 5: When variable a of -20 is cast into an unsigned int type, it is changed to a positive value of the same bit.",
  "rule.sast.q.ccpp.1985.example.0.safe": "Line 5: Perform a casting in consideration of the size and scope of types.",
  "rule.sast.q.ccpp.1985.name": "Invalid downcasting of integer",
  "rule.sast.q.ccpp.1985.option.max_decision_point_number.description": "set the maximum value of the range of numbers which should not be reported",
  "rule.sast.q.ccpp.1985.option.max_decision_point_number.name": "Maximum value of the range",
  "rule.sast.q.ccpp.1985.option.min_decision_point_number.description": "set the minimum value of the range of numbers which should not be reported",
  "rule.sast.q.ccpp.1985.option.min_decision_point_number.name": "Minimum value of the range",
  "rule.sast.q.ccpp.1987.description": "The Use of released resource checker finds instances of reusing an already freed resource.\nA resource herein refers to a variable like a file descriptor that represents an open file.\nUsing an already freed resource can abnormally affect the system. Because freed resources are no longer valid, reusing them can trigger a runtime error or some unexpected behavior depending on the type of the resource.\nBe sure to use resources only while they are valid, and free resources only upon completion of their use.",
  "rule.sast.q.ccpp.1987.example.0.dangerous": "Line 4: A closed resource is used.",
  "rule.sast.q.ccpp.1987.example.0.safe": "Line 4: Close the resource after use.",
  "rule.sast.q.ccpp.1987.name": "Use of released resource",
  "rule.sast.q.ccpp.199.description": "The Mismatched buffer size checker finds calls to the sprintf() function wherein the array size is not considered.\nA call to sprintf() may cause a buffer overrun. Buffer overrun errors are the most widely known types of software security vulnerabilities. And the computer may be caused to execute arbitrary, potential, or malicious code leading to program bugs. If improperly used, such code may interrupt the program for a denial-of-service (DoS) attack.\nWhen using sprintf(), be sure to consider the array size. ",
  "rule.sast.q.ccpp.199.example.0.dangerous": "Line 5: Although the size of array buf is 100, the size of a and b exceeds the buf size.\nLine 6: In case of snprintf() function, exceeding the buf size also causes a buffer overrun.",
  "rule.sast.q.ccpp.199.example.0.safe": "Line 5: Consider the size of arrays in sprintf() function.\nLine 6: Consider the size of arrays in snprintf() function.",
  "rule.sast.q.ccpp.199.name": "Mismatched buffer size",
  "rule.sast.q.ccpp.2003.description": "The Too Small Path Buffer checker finds calls to the PathAppend() function in which the buffer is too small to contain the path.\nIn the case of Windows, a macro constant of MAX_PATH is used to limit the maximum path length. This constant is typically set to 260, and the buffer passed to the first parameter of PathAppend() must be sized no smaller than this value. A smaller-sized buffer can cause issues like a buffer overflow.\nMake sure that the buffer to be passed as the first argument to PathAppend() is declared with a size of no smaller than 260.",
  "rule.sast.q.ccpp.2003.example.0.dangerous": "Line 17: An array with less than 260 length is used as a buffer to be passed to the first argument of PathAppend().\nLine 20: An array with less than 260 length is used as a buffer to be passed to the first argument of PathAppend().",
  "rule.sast.q.ccpp.2003.example.0.safe": "Line 17: Declare and use a buffer with 260 or more length.\nLine 20: Declare and use a buffer with 260 or more length.",
  "rule.sast.q.ccpp.2003.name": "Too Small Path Buffer",
  "rule.sast.q.ccpp.207.description": "The Use of macros in wrong order checker finds instances of using macros in which a pair of functions operating on a shared resource are not called together.\nA call to pthread_cleanup_push() has to be followed by a call to pthread_cleanup_pop(). \nThere are a number of macro pairs that must be used at the same level of scope. If a pair of macros are used at different levels of scope, the resulting program may malfunction.\nA call to pthread_cleanup_push() has to be followed by a call to pthread_cleanup_pop().",
  "rule.sast.q.ccpp.207.example.0.dangerous": "Line 7: pthread_cleanup_push() function cannot be used alone.",
  "rule.sast.q.ccpp.207.example.0.safe": "Line 7: Use the pthread_cleanup_push() function together with pthread_cleanup_pop() in the same scope level.",
  "rule.sast.q.ccpp.207.name": "Use of macros in wrong order",
  "rule.sast.q.ccpp.207.option.macro_used_order.description": "Set up macro usage order",
  "rule.sast.q.ccpp.207.option.macro_used_order.name": "Macro usage order",
  "rule.sast.q.ccpp.223.description": "The Misuse of asctime checker finds calls to the asctime() function that take an invalid or unvalidated value.\nThe asctime() function converts the struct tm's member variables to a textual representation. Because each member variable has a specific range or value, unvalidated data inputs may cause a buffer overrun.\nInstead of asctime(), which can cause an overflow when receiving an invalid argument, use the more secure function of strftime().",
  "rule.sast.q.ccpp.223.example.0.dangerous": "Line 2: asctime() function is used, which is vulnerable to a buffer overflow.",
  "rule.sast.q.ccpp.223.example.0.safe": "Line 6: Use strftime() function that acts identical behavior, but strong to the buffer overflow attack.",
  "rule.sast.q.ccpp.223.name": "Misuse of asctime",
  "rule.sast.q.ccpp.224.description": "The Integer Overflow checker finds instances in which the result of an arithmetic operation exceeds the size of the given integer type.\nThe checker searches for addition, subtraction, and multiplication operations that meet the following conditions: 1. A dangerous external input is used as an operand. 2. The result of the evaluation is smaller than the lower limit of the data type or larger than the upper limit.\nIf the result is out of the range of the integer type, an overflow occurs to return a negative number or an unexpected value. If such an unexpected return value is used for memory allocation or a loop conditional, the program may become vulnerable to security threats.\nYou must consider the ranges of integer types specific to each language or platform. When an integer-type variable is used in an operation, use a module that checks the possible range of the result value. If an external input is used for dynamic memory allocation, the variable must be checked for being within the valid range.",
  "rule.sast.q.ccpp.224.example.0.dangerous": "Line 3: An unvalidated variable size is used, which can cause an integer overflow.",
  "rule.sast.q.ccpp.224.example.0.safe": "Line 6: Verify the variables with a value of valid scopes to use as an argument of malloc().",
  "rule.sast.q.ccpp.224.name": "Integer Overflow",
  "rule.sast.q.ccpp.224.option.source_call.description": "Specify functions that receives sensitive information.<br />",
  "rule.sast.q.ccpp.224.option.source_call.name": "Function receiving sensitive information",
  "rule.sast.q.ccpp.225.description": "The Use of Dangerous Function checker finds instances of using a function known to be dangerous. You can edit the list of forbidden functions.The atof(), atoi(), and atol() functions do not perform exception handling for values unconvertible to their respective types (f, i, and l). As exception handling is not defined, their returns are unpredictable. For example, handling a buffer size using atof(), atoi(), or atol() may allow for a buffer overflow. Use C standard library functions that handle exceptions: strtof (atof) and strtol (atoi, atol).The strcpy() function does not check the size of the source string copied to the destination string. If the source is longer than the destination, a buffer overflow occurs. Use the C standard library function of strncpy() instead, which specifies the maximum number of characters to be copied.The strcat() function does not check the size of the result. If the appended result is longer than the assigned size of the destination string, a buffer overflow occurs. Use the C standard library function of strncat() instead, which specifies the maximum number of characters to be appended. When errors occur with the fopen() function, their causes are hard to find. Use the C standard library function of fopen_s() instead, which returns the causes of errors.The gets() function does not check the size of the input to the destination string. If the array input from the standard input stream is larger than the destination string, a buffer overflow occurs. Use the C standard library function of fgets() or gets_s() instead, which specifies the size of the input. Restrain from using the functions known to be dangerous. Some library functions pose security vulnerabilities. Use secure functions instead of the vulnerable ones.",
  "rule.sast.q.ccpp.225.example.0.dangerous": "Line 7: A tainted gets() function is used to load input.\nLine 8: A tainted strcpy() function is used to load input.\nLine 9: A tainted strcat() function is used to load input.\nLine 10: A tainted fopen() function is used to load input.\nLine 11: A tainted atoi() function is used to load input.",
  "rule.sast.q.ccpp.225.example.0.safe": "Line 8: Use fgets() function to prevent the buffer overflow instead of the gets().\nLine 9: Use strncpy() function to prevent the buffer overflow instead of the strcpy(). strcpy_s() can be used in C11.\nLine 10: Use strncat() function to prevent the buffer overflow instead of the strcat(). strcat_s() can be used in C11.\nLine 11: Use fopen_s() function instead of insecure fopen().\nLine 12: Use strtol() function instead of insecure atoi().\nLine 13: Use strtoll() function instead of insecure atol().\nLine 14: Use strtod() function instead of insecure atod().",
  "rule.sast.q.ccpp.225.name": "Use of Dangerous Function",
  "rule.sast.q.ccpp.225.option.function_should_not_be_used.description": "Set up forbidden functions.",
  "rule.sast.q.ccpp.225.option.function_should_not_be_used.name": "Forbidden functions",
  "rule.sast.q.ccpp.228.description": "The Use of unsafe multi-byte string function checker finds instances of using an insecure multibyte string function provided by Windows.\nYou can optionally specify regex patterns of forbidden functions.\nSince all of the multibyte string functions provided by Windows can possibly cause a buffer overrun, their use is not recommended.\nDo not use the multibyte string functions provided by Windows.",
  "rule.sast.q.ccpp.228.example.0.dangerous": "Line 2: mbscpy() is used.",
  "rule.sast.q.ccpp.228.example.0.safe": "Line 2: Use a secure multibyte string function provided by Microsoft, such as _mbscpy_s().",
  "rule.sast.q.ccpp.228.name": "Use of unsafe multi-byte string function",
  "rule.sast.q.ccpp.228.option.function_should_not_be_used.description": "Set up forbidden functions with regular expressions.",
  "rule.sast.q.ccpp.228.option.function_should_not_be_used.name": "Forbidden functions",
  "rule.sast.q.ccpp.241.description": "The Infinite recursive call checker finds recursive functions that are not properly controlled and thus can be called infinitely.\nIf the program falls into infinite recursion, it keeps on allocating resources such as memory and stack whitespace in most cases, possibly causing performance degradation or an unexpected shutdown of the program. However, it is theoretically impossible to completely prevent an infinite recursion or loop based on static analysis. Therefore, the checker can find only some typical patterns and simple instances.\nPut recursive call statements under proper control statements. If you are not confident of setting recursive termination conditions properly, consider replacing the recursive code with an identically functioning loop.",
  "rule.sast.q.ccpp.241.example.0.dangerous": "Line 2: A recursive statement without conditions is highly likely to be tuned into an infinite recursive call.",
  "rule.sast.q.ccpp.241.example.0.safe": "Line 2: Set conditions to prevent the infinite recursive call.",
  "rule.sast.q.ccpp.241.name": "Infinite recursive call",
  "rule.sast.q.ccpp.2422.description": "The Mismatch in Number between Format Specifiers and Arguments checker finds instances when a function that returns a string type to a specific argument position has a different number of arguments than the string type such as `%s`, `%x`, `%c`, etc.\nIn a call to a format string function, if the number of format specifiers, such as `%s`, `%x`, `%c`, etc., in the format string is not the same as the number of substituting arguments, it is unpredictable how the function will behave.\nBe sure to pass the same number of substituting arguments as the number of format specifiers.",
  "rule.sast.q.ccpp.2422.example.0.dangerous": "Line 3: The number of arguments is not matched with required one.",
  "rule.sast.q.ccpp.2422.example.0.safe": "Line 3: Match the number of arguments as required.",
  "rule.sast.q.ccpp.2422.name": "Mismatch in Number between Format Specifiers and Arguments",
  "rule.sast.q.ccpp.2422.option.targets.description": "only checks within below list.",
  "rule.sast.q.ccpp.2422.option.targets.name": "string format function to analyze.",
  "rule.sast.q.ccpp.255.description": "The Empty branch statement checker finds if statements having no else branch and switch statements having no case or default branch.\nAdd required branches with executable code in them in accordance with the statement rules.",
  "rule.sast.q.ccpp.255.example.0.dangerous": "Line 3: An else statement to check a null is not found in if statements.\nLine 9: No default statement is found in swith-case statements. If an option value cannot be handled by case statements, this may cause an unexpected result.\nLine 20: No case statement is found in swith-case statements. But a default statement is.",
  "rule.sast.q.ccpp.255.example.0.safe": "Line 5: Use else statements to handle exceptions.\nLine 12: Add a default statement to the switch-case statements to handle the exceptions.\nLine 13: Add a case statement.",
  "rule.sast.q.ccpp.255.name": "Empty branch statement",
  "rule.sast.q.ccpp.255.option.allow_oneline_if.description": "Allow If statement without else clause.",
  "rule.sast.q.ccpp.255.option.allow_oneline_if.name": "Allow single-line If statements",
  "rule.sast.q.ccpp.255.option.check_empty_case.description": "If the option is enabled, empty case branches will be detected.",
  "rule.sast.q.ccpp.255.option.check_empty_case.name": "Detect empty case branch",
  "rule.sast.q.ccpp.255.option.check_empty_default_case.description": "If selected, empty default case branches will be detected.",
  "rule.sast.q.ccpp.255.option.check_empty_default_case.name": "Detect empty default case branch",
  "rule.sast.q.ccpp.255.option.check_empty_else_branch.description": "If selected, empty else branches will be detected.",
  "rule.sast.q.ccpp.255.option.check_empty_else_branch.name": "Detect empty else branch",
  "rule.sast.q.ccpp.255.option.treat_comment_as_nonempty.description": "treat comment line as non-empty line.",
  "rule.sast.q.ccpp.255.option.treat_comment_as_nonempty.name": "If selected, comment line is treated non-empty line.",
  "rule.sast.q.ccpp.2789.description": "The Access to Bit-field by Multiple Threads checker finds instances of modifying adjacent bit-fields in different threads.\nCompilers are required to store multiple adjacent bit-fields in one storage unit whenever they fit. Modifying adjacent bit-fields in different threads is undefined behavior. Such code may output different results depending on compilers and thus is unpredictable. This also can typically trigger a race condition.\nWhen storing adjacent bit-fields, protect them with a mutex before proceeding with data modification.",
  "rule.sast.q.ccpp.2789.example.0.dangerous": "Line 9: A value is stored to a bit field.\nLine 14: A value is stored to another bit field close to the one on Line 9. A race condition can occur.",
  "rule.sast.q.ccpp.2789.example.0.safe": "Line 17: Lock the mutex, then store data.\nLine 28: Lock the mutex, then store data.",
  "rule.sast.q.ccpp.2789.name": "Access to Bit-field by Multiple Threads",
  "rule.sast.q.ccpp.287.description": "The Dynamically allocated buffer overflow checker finds instances of reading from or writing to memory out of an allocated buffer.\nThis type of fault includes the following situations: The address value is outside the bounds of the memory buffer. The faulty argument is dynamically allocated memory.\nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen reading from or writing to a buffer, keep within its specified range.",
  "rule.sast.q.ccpp.287.example.0.dangerous": "Line 2: An index is used to access to results of n+2 on buf.\nLine 6: 12 is assigend to memory size of dest.\nLine 7: sub() function is called by adding offset 8 to dest. Then, this accesses to out-of-bound scopes specified in Line 2.",
  "rule.sast.q.ccpp.287.example.0.safe": "Line 2: Access to n on buf by using an index.\nLine 7: Modify code to access within assigned memories.",
  "rule.sast.q.ccpp.287.name": "Dynamically allocated buffer overflow",
  "rule.sast.q.ccpp.31.description": "The Memory Leak checker finds instances of failure to release allocated memory which is no longer needed.\nA memory leak is caused by improper handling of malformed data or unexpectedly interrupted sessions. It may lead to system performance degradation or service failure.\nMemory allocated for dynamically allocated variables must be deallocated. Freeing memory is often missing when this freeing code is supposed to be executed following a conditional check and before the function returns consequently.",
  "rule.sast.q.ccpp.31.example.0.dangerous": "Line 2: The BLOCK_SIZE memory is allocated to the variable buf using malloc().\nLine 4: If the buf obtained through read() is not the expected size, this returns a null and exits the function. Here, a memory leak occurs because the allocated memory in Line 2 is not reclaimed.",
  "rule.sast.q.ccpp.31.example.0.safe": "Line 5: Free the allocated memory. The allocated memory must be freed before returning a function.",
  "rule.sast.q.ccpp.31.name": "Memory Leak",
  "rule.sast.q.ccpp.32.description": "The Resource leak checker finds instances of failure to release an allocated resource (file, socket, etc.).\nResource leaks are caused by improper processing of data in an incorrect format or unexpected termination of a session, which can degrade system performance or lead a service to unavailable condition.\nThe allocated resource must be freed. In particular, it is easy to overlook freeing resources that were used before performing a condition check and returning a function.",
  "rule.sast.q.ccpp.32.example.0.dangerous": "Line 2: The resource is allocated to p using fopen().\nLine 4: If the if statement in Line 3 is satisfied, the function exits without freeing the resource obtained in Line 2.",
  "rule.sast.q.ccpp.32.example.0.safe": "Line 4: Call fclose(p) to free the resource.",
  "rule.sast.q.ccpp.32.name": "Resource leak",
  "rule.sast.q.ccpp.37.description": "The Double freed memory checker finds instances of freeing already freed memory.\nDouble-freeing memory can corrupt potential memory locations unexpectedly, leading to abnormal termination of the program.\nBefore freeing an allocated memory or resource, check if it has already been freed.",
  "rule.sast.q.ccpp.37.example.0.dangerous": "Line 9: The memory is allocated to variable p using malloc().\nLine 10: The memory pointed to by the variable p is passed as an argument to the function foo.\nLine 3: The function foo freed the memory passed as an argument on Line 3 and returned -1.\nLine 11: Line 11 was executed by returning -1 from the function foo. A double-free occurred because the memory freed by the function foo was freed again.",
  "rule.sast.q.ccpp.37.example.0.safe": "Line 6: Check for null before freeing the variable p to prevent double freeing.",
  "rule.sast.q.ccpp.37.name": "Double freed memory",
  "rule.sast.q.ccpp.38.description": "The Use of freed memory checker finds instances of referencing an already freed memory block.\nUse after free may lead to using an abnormal value, causing abnormalities to the system.\nBefore using memory, check it for being freed.",
  "rule.sast.q.ccpp.38.example.0.dangerous": "Line 3: The memory pointed to by ptr is freed in Line 5 because the if statement was evaluated as true.\nLine 9: Line 5 caused a use-after-free error because it referenced memory that had already been freed.",
  "rule.sast.q.ccpp.38.example.0.safe": "Line 6: Change the code to use the allocated memory before freeing.",
  "rule.sast.q.ccpp.38.name": "Use of freed memory",
  "rule.sast.q.ccpp.39.description": "The Uninitialized value checker finds instances of using an uninitialized local variable.\nAs uninitialized local variables take an unexpected value, this kind of error can cause an unexpected behavior.\nLocal variables must be initialized before used.",
  "rule.sast.q.ccpp.39.example.0.dangerous": "Line 1: Variables a and b are declared without allocating initial values.\nLine 2: Uninitialized variables a and b are used.",
  "rule.sast.q.ccpp.39.example.0.safe": "Line 1: A variable should be initialized before declaring.",
  "rule.sast.q.ccpp.39.name": "Uninitialized value",
  "rule.sast.q.ccpp.40.description": "This checker detects code that attempts to read a value pointed to by a null pointer, without considering the possibility that the pointer value is null.\nThe Null dereference often causes the system to crash unexpectedly.\nBefore dereferencing a pointer, check it for null.",
  "rule.sast.q.ccpp.40.example.0.dangerous": "Line 3: The address value pointed to by the pointer ptr was set to null.\nLine 5: A null pointer dereference error occurred because the address of ptr, whose address value is null, was dereferenced.",
  "rule.sast.q.ccpp.40.example.0.safe": "Line 5: Check for null before using a pointer variable.",
  "rule.sast.q.ccpp.40.name": "Null dereference",
  "rule.sast.q.ccpp.41.description": "The Missing null check checker detects code that uses a pointer without a null check, even if the pointer was passed as an argument to a function or returned from another function after null checking.\nIt is because there is a possibility that a null is assigned to a pointer variable that was previously check for null.\nThe Null dereference often causes the system to crash unexpectedly.\nCheck for null before using the pointer variable that has already been checked for null.",
  "rule.sast.q.ccpp.41.example.0.dangerous": "Line 1: Pointer x is used as a parameter in a function.\nLine 4: If the address of pointer x is not null, the value pointed to by x will be assigned to y1.\nLine 7: The value pointed to by x, which may have a null address value, has been assigned to y2.",
  "rule.sast.q.ccpp.41.example.0.safe": "Line 7: Check for null on the pointer variable that has already been null-checked.",
  "rule.sast.q.ccpp.41.name": "Missing null check",
  "rule.sast.q.ccpp.44.description": "The Returning freed memory checker detects code that returns a variable pointing to memory that has already been freed.\nReturning an already freed variable often causes an unexpected program behavior such as a crash.\nCheck that the variable to be returned has already been freed.",
  "rule.sast.q.ccpp.44.example.0.dangerous": "Line 3: The memory pointed to by ptr is freed in Line 5 because the if statement was evaluated as true.\nLine 9: An error occurred because the pointer ptr, which points to the freed memory in Line 5, is being returned.",
  "rule.sast.q.ccpp.44.example.0.safe": "Line 9: To solve the issue, modify the code to avoid returning the freed memory.",
  "rule.sast.q.ccpp.44.name": "Returning freed memory",
  "rule.sast.q.ccpp.53.description": "The Attempting delete on dynamically allocated memory checker finds attempts of using delete to free a memory area allocated by a dynamic memory allocation function such as malloc().\nMemory allocated by a dynamic memory allocation function is not freed by the delete keyword but remains allocated. In addition, if allocation and deallocation are performed by different approaches, a segmentation fault may be thrown, causing an unexpected program shutdown.\nMemory allocated by a dynamic memory allocation function must be freed by the free() function.",
  "rule.sast.q.ccpp.53.example.0.dangerous": "Line 2: Memory is allocated to pointer p by using malloc().\nLine 4: The pointer p is freed with delete, which causes an error.",
  "rule.sast.q.ccpp.53.example.0.safe": "Line 4: Use free instead of delete to free memories.",
  "rule.sast.q.ccpp.53.name": "Attempting delete on dynamically allocated memory",
  "rule.sast.q.ccpp.54.description": "The Attempting delete[] on dynamically allocated memory checker finds attempts of using delete[] to free a memory area allocated by a dynamic memory allocation function such as malloc.\nMemory allocated by a dynamic memory allocation function is not freed by the delete[] keyword but remains allocated. In addition, if allocation and deallocation are performed by different approaches, a segmentation fault may be thrown, causing an unexpected program shutdown.\nMemory allocated by a dynamic memory allocation function must be freed by the free() function.",
  "rule.sast.q.ccpp.54.example.0.dangerous": "Line 2: Memory is allocated to pointer p by using malloc().\nLine 4: The pointer p is freed with delete[], which causes an error.",
  "rule.sast.q.ccpp.54.example.0.safe": "Line 4: Use free instead of delete[] to free memories.",
  "rule.sast.q.ccpp.54.name": "Attempting delete[] on dynamically allocated memory",
  "rule.sast.q.ccpp.55.description": "The Attempting delete on memory allocated by new[] checker finds attempts of using delete to free a memory area allocated by new[].\nMemory allocated by new[] is not freed by the delete keyword but remains allocated. In addition, if allocation and deallocation are performed by different approaches, a segmentation fault may be thrown, causing an unexpected program shutdown.\nMemory allocated by new[] must be freed by the delete[] function.",
  "rule.sast.q.ccpp.55.example.0.dangerous": "Line 2: Memory is allocated to pointer p by using new char[].\nLine 4: The pointer p is freed with delete, which causes an error.",
  "rule.sast.q.ccpp.55.example.0.safe": "Line 4: Use delete[] instead of delete to free memories.",
  "rule.sast.q.ccpp.55.name": "Attempting delete on memory allocated by new[]",
  "rule.sast.q.ccpp.56.description": "The Attempting free on memory allocated by new[] checker finds attempts of using free() to free a memory area allocated by new[].\nMemory allocated by new[] is not freed by the free() keyword but remains allocated. In addition, if allocation and deallocation are performed by different approaches, a segmentation fault may be thrown, causing an unexpected program shutdown.\nMemory allocated by new[] must be freed by the delete[] function.",
  "rule.sast.q.ccpp.56.example.0.dangerous": "Line 2: Memory is allocated to pointer p by using new char[].\nLine 4: The pointer p is freed with free(), which causes an error.",
  "rule.sast.q.ccpp.56.example.0.safe": "Line 4: Use delete[] instead of delete to free memories.",
  "rule.sast.q.ccpp.56.name": "Attempting free on memory allocated by new[]",
  "rule.sast.q.ccpp.57.description": "The Attempting delete[] on memory allocated by new checker finds attempts of using delete[] to free a memory area allocated by new.\nMemory allocated by new is not freed by the delete[] keyword but remains allocated. In addition, if allocation and deallocation are performed by different approaches, a segmentation fault may be thrown, causing an unexpected program shutdown.\nMemory allocated by new must be freed by the delete.",
  "rule.sast.q.ccpp.57.example.0.dangerous": "Line 2: Memory is allocated to pointer p by using new char.\nLine 4: The pointer p is freed with delete[], which causes an error.",
  "rule.sast.q.ccpp.57.example.0.safe": "Line 4: Use delete instead of delete[] to free memories.",
  "rule.sast.q.ccpp.57.name": "Attempting delete[] on memory allocated by new",
  "rule.sast.q.ccpp.58.description": "The Attempting free on memory allocated by new checker finds attempts of using free() to free a memory area allocated by new. \nMemory allocated by new is not freed by the free keyword but remains allocated. In addition, if allocation and deallocation are performed by different approaches, a segmentation fault may be thrown, causing an unexpected program shutdown.\nMemory allocated by new must be freed by the delete.",
  "rule.sast.q.ccpp.58.example.0.dangerous": "Line 2: Memory is allocated to pointer p by using new char.\nLine 4: The pointer p is freed with free(), which causes an error.",
  "rule.sast.q.ccpp.58.example.0.safe": "Line 4: Use delete instead of free() to free memories.",
  "rule.sast.q.ccpp.58.name": "Attempting free on memory allocated by new",
  "rule.sast.q.ccpp.74.description": "The Double freed resource checker finds attempts to close an already freed resource once again.\nA resource may be a file, network socket, etc.\nDoubly freeing a resource leads potentially to an unexpected modification of a memory location and an abnormal shutdown of the program.\nBefore freeing an allocated resource, check if it has already been freed. ",
  "rule.sast.q.ccpp.74.example.0.dangerous": "Line 9: fopen() is used for fp variable to be assigned a file pointer.\nLine 10: The file pointer pointed by fp is sent as an argument of foo().\nLine 3: A file sent to the foo() function from Line 3 is freed, and the foo() returns 1.\nLine 11: Returning -1 by the foo() causes Line 11 to be run. Then, the foo() frees the freed file again, which causes an error.",
  "rule.sast.q.ccpp.74.example.0.safe": "Line 4: Modify code not to perform double free of the resources.",
  "rule.sast.q.ccpp.74.name": "Double freed resource",
  "rule.sast.q.ccpp.83.description": "The Missing call of specified library function checker finds instances of failure to call optionally specified library functions.\nThe checker reports a defect when specified library functions are not called. By default, the library functions include printf(), scanf(), fprintf(), and fscanf().\nUse the optionally specified necessary library functions.",
  "rule.sast.q.ccpp.83.example.0.dangerous": "Line 2: No library function specified in toption is used in make_device() function.",
  "rule.sast.q.ccpp.83.example.0.safe": "Line 2: printf() function is used.",
  "rule.sast.q.ccpp.83.name": "Missing call of specified library function",
  "rule.sast.q.ccpp.83.option.function_should_be_used.description": "Set up functions should be used",
  "rule.sast.q.ccpp.83.option.function_should_be_used.name": "Functions should be used",
  "rule.sast.q.ccpp.84.description": "The Missing call of library function with specified parameter checker finds instances in which a function having an optionally specified parameter calls a forbidden function.\nThe checker searches functions that use an optionally specified parameter. You can optionally specify files excluded from analysis, forbidden functions, and parameter types held by functions subject to analysis.\nDo not allow functions having an optionally defined parameter to call a forbidden function.",
  "rule.sast.q.ccpp.84.example.0.dangerous": "Line 2: A parameter of Func() function is an int type. This is a subject to analysis.\nLine 3: A forbidden divide() function is called.",
  "rule.sast.q.ccpp.84.example.0.safe": "Line 2: Do not call the forbidden divide() function from target Func(int).",
  "rule.sast.q.ccpp.84.name": "Missing call of library function with specified parameter",
  "rule.sast.q.ccpp.84.option.file_target_excluded.description": "Set up files to be excluded from analyzing.",
  "rule.sast.q.ccpp.84.option.file_target_excluded.name": "Files to be excluded",
  "rule.sast.q.ccpp.84.option.function_should_not_be_used.description": "Set up forbidden functions.",
  "rule.sast.q.ccpp.84.option.function_should_not_be_used.name": "Function which should not be called.",
  "rule.sast.q.ccpp.84.option.function_target_have_param_type.description": "Required parameter's type",
  "rule.sast.q.ccpp.84.option.function_target_have_param_type.name": "Required parameter's type",
  "rule.sast.q.ccpp.85.description": "The Missing call of required library function with required argument checker finds calls to optionally specified functions that are not passed with the defined argument.\nThe checker searches calls to optionally specified functions to check if the passed argument assumes the optionally defined value. You can optionally specify files excluded from analysis, callee functions, and parameter names to be taken.\nMake sure calls to optionally specified functions are passed with the defined argument.",
  "rule.sast.q.ccpp.85.example.0.dangerous": "Line 4: No argument is found in a function specified in the option.",
  "rule.sast.q.ccpp.85.example.0.safe": "Line 4: Use the argument of the function defined in the option.",
  "rule.sast.q.ccpp.85.name": "Missing call of required library function with required argument",
  "rule.sast.q.ccpp.85.option.call_param_should_be_name.description": "Required call parameters",
  "rule.sast.q.ccpp.85.option.call_param_should_be_name.name": "Required call parameters",
  "rule.sast.q.ccpp.85.option.call_target.description": "Target function call",
  "rule.sast.q.ccpp.85.option.call_target.name": "Target function call",
  "rule.sast.q.ccpp.85.option.file_target_excluded.description": "Set up files to be excluded from analyzing.",
  "rule.sast.q.ccpp.85.option.file_target_excluded.name": "Files to be excluded",
  "rule.sast.q.ccpp.86.description": "The Missing call of required function checker finds instances in which a specified function is called but other functions that are set to accompany the function call are not called.\nYou can optionally specify files excluded from analysis, functions subject to analysis, and necessary functions and accompanied functions.\nWhen calling an optionally specified function, make sure the functions set to accompany it are called together.",
  "rule.sast.q.ccpp.86.example.0.dangerous": "Line 8: Call the LB_call_WLC_exit() function. Then, LB_call_WLC_need() function is not called.",
  "rule.sast.q.ccpp.86.example.0.safe": "Line 8: Call the LB_call_WLC_exit() function.\nLine 11: Call the LB_call_WLC_need() function.",
  "rule.sast.q.ccpp.86.name": "Missing call of required function",
  "rule.sast.q.ccpp.86.option.file_target_excluded.description": "Set up files to be excluded from analyzing.",
  "rule.sast.q.ccpp.86.option.file_target_excluded.name": "Files to be excluded",
  "rule.sast.q.ccpp.86.option.function_target.description": "Set target functions with regular expressions",
  "rule.sast.q.ccpp.86.option.function_target.name": "Target functions",
  "rule.sast.q.ccpp.86.option.function_used_set.description": "Required function and function should be used with the required function",
  "rule.sast.q.ccpp.86.option.function_used_set.name": "Required function and function should be used with the required function",
  "rule.sast.q.ccpp.87.description": "The Misuse of malloc checker finds instances of using any of the optionally forbidden memory-related functions.\nYou can optionally specify files excluded from analysis, whether to analyze if included with a header, functions excluded from analysis, and forbidden functions.\nDo not use the optionally forbidden memory-related functions.",
  "rule.sast.q.ccpp.87.example.0.dangerous": "Line 6: memory() function is defined.\nLine 7: A forbidden malloc_FB06() function is called.\nLine 8: A forbidden realloc_FB06() function is called.",
  "rule.sast.q.ccpp.87.example.0.safe": "Line 6: Define Function() function.\nLine 7: Call the allowed malloc() function.\nLine 8: Call the allowed realloc() function.",
  "rule.sast.q.ccpp.87.name": "Misuse of malloc",
  "rule.sast.q.ccpp.87.option.file_target_excluded.description": "Set up files to be excluded from analyzing.",
  "rule.sast.q.ccpp.87.option.file_target_excluded.name": "Files to be excluded",
  "rule.sast.q.ccpp.87.option.file_target_have_include.description": "Target files that includes forbidden headers",
  "rule.sast.q.ccpp.87.option.file_target_have_include.name": "Target files that includes forbidden headers",
  "rule.sast.q.ccpp.87.option.function_should_not_be_used.description": "Set up forbidden functions.",
  "rule.sast.q.ccpp.87.option.function_should_not_be_used.name": "Forbidden functions",
  "rule.sast.q.ccpp.87.option.function_target_excluded.description": "Set up functions to be excluded from analyzing.",
  "rule.sast.q.ccpp.87.option.function_target_excluded.name": "Functions to be excluded",
  "rule.sast.q.ccpp.89.description": "The Misuse of process APIs checker finds instances of using any of the optionally forbidden process-related functions.\nYou can optionally specify files excluded from analysis, whether to analyze if included with a header, functions excluded from analysis, and forbidden functions.\nDo not use the optionally forbidden process-related functions.",
  "rule.sast.q.ccpp.89.example.0.dangerous": "Line 3: terminate_process() function is defined.\nLine 6: A forbidden fork_FB08() function is called.",
  "rule.sast.q.ccpp.89.example.0.safe": "Line 3: Define create_process() function.\nLine 6: Call the allowed fork() function.",
  "rule.sast.q.ccpp.89.name": "Misuse of process APIs",
  "rule.sast.q.ccpp.89.option.file_target_excluded.description": "Files to be excluded",
  "rule.sast.q.ccpp.89.option.file_target_excluded.name": "Files to be excluded",
  "rule.sast.q.ccpp.89.option.file_target_have_include.description": "Target files that includes forbidden headers",
  "rule.sast.q.ccpp.89.option.file_target_have_include.name": "Target files that includes forbidden headers",
  "rule.sast.q.ccpp.89.option.function_should_not_be_used.description": "Set up forbidden functions",
  "rule.sast.q.ccpp.89.option.function_should_not_be_used.name": "Function which should not be called.",
  "rule.sast.q.ccpp.89.option.function_target_excluded.description": "Set up functions to be excluded with regular expression.",
  "rule.sast.q.ccpp.89.option.function_target_excluded.name": "Function to be excluded",
  "rule.sast.q.ccpp.90.description": "The Misuse of resource APIs checker finds instances of using any of the optionally forbidden resource restriction-related functions.\nYou can optionally specify files excluded from analysis, whether to analyze if included with a header, functions excluded from analysis, and forbidden functions.\nDo not use the optionally forbidden resource restriction-related functions.",
  "rule.sast.q.ccpp.90.example.0.dangerous": "Line 6: resource_limit() function is defined.\nLine 8: getrlimit_FB09() function is called.",
  "rule.sast.q.ccpp.90.example.0.safe": "Line 6: Define create_limit() function.\nLine 8: Call the allowed getrlimit() function.",
  "rule.sast.q.ccpp.90.name": "Misuse of resource APIs",
  "rule.sast.q.ccpp.90.option.file_target_excluded.description": "Files to be excluded",
  "rule.sast.q.ccpp.90.option.file_target_excluded.name": "Files to be excluded",
  "rule.sast.q.ccpp.90.option.file_target_have_include.description": "Target files that includes forbidden headers",
  "rule.sast.q.ccpp.90.option.file_target_have_include.name": "Target files that includes forbidden headers",
  "rule.sast.q.ccpp.90.option.function_should_not_be_used.description": "Set up forbidden functions.",
  "rule.sast.q.ccpp.90.option.function_should_not_be_used.name": "Forbidden functions",
  "rule.sast.q.ccpp.90.option.function_target_excluded.description": "Set up functions to be excluded from analyzing.",
  "rule.sast.q.ccpp.90.option.function_target_excluded.name": "Functions to be excluded",
  "rule.sast.q.ccpp.91.description": "The Misuse of signal APIs checker finds instances of using any of the optionally forbidden signal-related functions.\nYou can optionally specify files excluded from analysis, whether to analyze if included with a header, functions excluded from analysis, and forbidden functions.\nDo not use the optionally forbidden signal-related functions.",
  "rule.sast.q.ccpp.91.example.0.dangerous": "Line 4: signal_handler() function is defined.\nLine 5: signal_FB10() function is called.",
  "rule.sast.q.ccpp.91.example.0.safe": "Line 4: Define create_signal_handler() function.\nLine 5: Call the allowed signal() function.",
  "rule.sast.q.ccpp.91.name": "Misuse of signal APIs",
  "rule.sast.q.ccpp.91.option.file_target_excluded.description": "Files to be excluded",
  "rule.sast.q.ccpp.91.option.file_target_excluded.name": "Files to be excluded",
  "rule.sast.q.ccpp.91.option.file_target_have_include.description": "Target files that includes forbidden headers",
  "rule.sast.q.ccpp.91.option.file_target_have_include.name": "Target files that includes forbidden headers",
  "rule.sast.q.ccpp.91.option.function_should_not_be_used.description": "Set up forbidden functions.",
  "rule.sast.q.ccpp.91.option.function_should_not_be_used.name": "Forbidden functions",
  "rule.sast.q.ccpp.91.option.function_target_excluded.description": "Set up functions to be excluded from analyzing.",
  "rule.sast.q.ccpp.91.option.function_target_excluded.name": "Functions to be excluded",
  "rule.sast.q.ccpp.92.description": "The Misuse of TP APIs checker finds instances of using any of the optionally forbidden TP (TMAX)-related functions.\nYou can optionally specify files excluded from analysis, whether to analyze if included with a header, functions excluded from analysis, and forbidden functions.\nDo not use the optionally forbidden TP (TMAX)-related functions.",
  "rule.sast.q.ccpp.92.example.0.dangerous": "Line 4: terminate_tp() function is defined.\nLine 6: tprecv_FB11() is called.",
  "rule.sast.q.ccpp.92.example.0.safe": "Line 4: Define create_tp() function.\nLine 5: Call the allowed tprecv() function.",
  "rule.sast.q.ccpp.92.name": "Misuse of TP APIs",
  "rule.sast.q.ccpp.92.option.file_target_excluded.description": "Files to be excluded",
  "rule.sast.q.ccpp.92.option.file_target_excluded.name": "Files to be excluded",
  "rule.sast.q.ccpp.92.option.file_target_have_include.description": "Target files that includes forbidden headers",
  "rule.sast.q.ccpp.92.option.file_target_have_include.name": "Target files that includes forbidden headers",
  "rule.sast.q.ccpp.92.option.function_should_not_be_used.description": "Set up forbidden functions.",
  "rule.sast.q.ccpp.92.option.function_should_not_be_used.name": "Forbidden functions",
  "rule.sast.q.ccpp.92.option.function_target_excluded.description": "Set up functions to be excluded from analyzing.",
  "rule.sast.q.ccpp.92.option.function_target_excluded.name": "Functions to be excluded",
  "rule.sast.q.ccpp.93.description": "The Use of temporary file-related function checker finds instances of generating a temporary file in an improper way. \nYou can optionally specify files excluded from analysis, whether to analyze if included with a header, functions excluded from analysis, and forbidden risky library functions responsible for temporary-file generation.\nIf a temporary file is generated with a predictable name or to be accessible to an arbitrary program, it may allow attackers to manipulate the file for program malfunctions. \nIt is recommended to name temporary files unpredictably and make them accessible only by the executing program.",
  "rule.sast.q.ccpp.93.example.0.dangerous": "Line 3: make_temp() function is defined.\nLine 5: mktemp_FB12() function is called.",
  "rule.sast.q.ccpp.93.example.0.safe": "Line 3: Define create_temp() function.\nLine 5: Call the allowed mktemp() function.",
  "rule.sast.q.ccpp.93.name": "Use of temporary file-related function",
  "rule.sast.q.ccpp.93.option.file_target_excluded.description": "Files to be excluded",
  "rule.sast.q.ccpp.93.option.file_target_excluded.name": "Files to be excluded",
  "rule.sast.q.ccpp.93.option.file_target_have_include.description": "Target files that includes forbidden headers",
  "rule.sast.q.ccpp.93.option.file_target_have_include.name": "Target files that includes forbidden headers",
  "rule.sast.q.ccpp.93.option.function_should_not_be_used.description": "Set up forbidden functions.",
  "rule.sast.q.ccpp.93.option.function_should_not_be_used.name": "Forbidden functions",
  "rule.sast.q.ccpp.93.option.function_target_excluded.description": "Set up functions to be excluded from analyzing.",
  "rule.sast.q.ccpp.93.option.function_target_excluded.name": "Functions to be excluded",
  "rule.sast.q.ccpp.94.description": "The Misuse of timer APIs checker finds instances of using any of the optionally forbidden timer-related functions.\nYou can optionally specify files excluded from analysis, whether to analyze if included with a header, functions excluded from analysis, and forbidden functions.\nDo not use the optionally forbidden timer-related functions.",
  "rule.sast.q.ccpp.94.example.0.dangerous": "Line 2: set_sleep_func() function is defined.\nLine 4: sleep_FB13() function is called.",
  "rule.sast.q.ccpp.94.example.0.safe": "Line 2: Define create_sleep_func() function.\nLine 4: Call the allowed sleep() function.",
  "rule.sast.q.ccpp.94.name": "Misuse of timer APIs",
  "rule.sast.q.ccpp.94.option.file_target_excluded.description": "Files to be excluded",
  "rule.sast.q.ccpp.94.option.file_target_excluded.name": "Files to be excluded",
  "rule.sast.q.ccpp.94.option.file_target_have_include.description": "Target files that includes forbidden headers",
  "rule.sast.q.ccpp.94.option.file_target_have_include.name": "Target files that includes forbidden headers",
  "rule.sast.q.ccpp.94.option.function_should_not_be_used.description": "Set up forbidden functions.",
  "rule.sast.q.ccpp.94.option.function_should_not_be_used.name": "Forbidden functions",
  "rule.sast.q.ccpp.94.option.function_target_excluded.description": "Set up functions to be excluded from analyzing.",
  "rule.sast.q.ccpp.94.option.function_target_excluded.name": "Functions to be excluded",
  "rule.sast.q.ccpp.95.description": "The Use of printf checker finds instances of using the printf() function.\nThe printf() function is usually used for debugging and visual error checking. If details of debugging or errors are exposed, program or system information may also be exposed.\nDo not use the printf() function.",
  "rule.sast.q.ccpp.95.example.0.dangerous": "Line 2: printf() function is used.",
  "rule.sast.q.ccpp.95.example.0.safe": "Line 2: Do not print out the message through printf() function.",
  "rule.sast.q.ccpp.95.name": "Use of printf",
  "rule.sast.q.ccpp.96.description": "The Accessing array via subscript operator checker finds instances of using the array operator ( [] ) while accessing an array object.\nThe use of an array expression may result in access out of the bounds of the array. This can cause an unexpected result.\nWhen accessing an array, a pointer must be used, instead of an array expression.",
  "rule.sast.q.ccpp.96.example.0.dangerous": "Line 2: [] is used for an int type array arr to access array elements.",
  "rule.sast.q.ccpp.96.example.0.safe": "Line 2: To access the elements, use a pointer instead of [].",
  "rule.sast.q.ccpp.96.name": "Accessing array via subscript operator",
  "rule.sast.q.ccpp.97.description": "The Use of umask before calling fopen checker finds instances of violating an optionally specified sequence of function calls.\nYou can optionally specify files excluded from analysis, functions subject to analysis, functions excluded from analysis, functions to call earlier, and functions to call later.\nConform to optionally specified sequences of function calls.",
  "rule.sast.q.ccpp.97.example.0.dangerous": "Line 3: A subject to analysis, Func() function, is defined.\nLine 5: fopen_FBD16() function is called.\nLine 4: umask_FBD16() function is called before the fopen_FBD16(). This is caught by the checker.",
  "rule.sast.q.ccpp.97.example.0.safe": "Line 3: A subject to analysis, Func() function, is defined.\nLine 4: fopen_FBD16() function is called.\nLine 5: umask_FBD16() function is called. Conform the specified sequence.",
  "rule.sast.q.ccpp.97.name": "Use of umask before calling fopen",
  "rule.sast.q.ccpp.97.option.file_target_excluded.description": "Files to be excluded",
  "rule.sast.q.ccpp.97.option.file_target_excluded.name": "Files to be excluded",
  "rule.sast.q.ccpp.97.option.function_should_not_be_used.description": "Set up forbidden functions.",
  "rule.sast.q.ccpp.97.option.function_should_not_be_used.name": "Forbidden functions",
  "rule.sast.q.ccpp.97.option.function_target.description": "Set target functions with regular expressions",
  "rule.sast.q.ccpp.97.option.function_target.name": "Target functions",
  "rule.sast.q.ccpp.97.option.function_target_begin_call_function.description": "Target functions begin call",
  "rule.sast.q.ccpp.97.option.function_target_begin_call_function.name": "Target functions begin call",
  "rule.sast.q.ccpp.97.option.function_target_excluded.description": "Set up functions to be excluded from analyzing.",
  "rule.sast.q.ccpp.97.option.function_target_excluded.name": "Functions to be excluded",
  "rule.sast.q.ccpp.99.description": "The Accessing member of structure multiple times checker finds instances of accessing a field of a specific struct more than the specified count.\nYou can optionally specify files excluded from analysis, functions subject to analysis, functions excluded from analysis, and the allowed number of accesses to a member.\nDo not exceed the optionally specified number of accesses to a struct field.",
  "rule.sast.q.ccpp.99.example.0.dangerous": "Line 10: Field a of obj struct is accessed for the third time.",
  "rule.sast.q.ccpp.99.example.0.safe": "Line 9: Field a of obj struct is accessed for the second time. Do not exceed the specified number of accesses.",
  "rule.sast.q.ccpp.99.name": "Accessing member of structure multiple times",
  "rule.sast.q.ccpp.99.option.file_target_excluded.description": "Set up excluded files' name.",
  "rule.sast.q.ccpp.99.option.file_target_excluded.name": "Excluded files to analyze",
  "rule.sast.q.ccpp.99.option.function_target.description": "Set up target functions' name.",
  "rule.sast.q.ccpp.99.option.function_target.name": "Target function to analyze",
  "rule.sast.q.ccpp.99.option.function_target_excluded.description": "Set up excluded functions' name",
  "rule.sast.q.ccpp.99.option.function_target_excluded.name": "Excluded functions",
  "rule.sast.q.ccpp.99.option.member_assign_limit.description": "Limit member assignment count.",
  "rule.sast.q.ccpp.99.option.member_assign_limit.name": "Limit member assignment",
  "rule.sast.q.cpp.1038.description": "The Use of Trigraph checker finds expressions that include a trigraph sequence.\nTrigraphs are sequences of two consecutive question marks and one identifier character. They were designed to address the problem that some language character sets could not cover the whole character set of the C programming language.\nHowever, these trigraphs are hardly needed these days. Therefore, trigraphs present in source code are highly likely to be unintended inserts. They can cause an unpredictable result.\nDo not use trigraphs. Any trigraphs can be replaced by regular characters.",
  "rule.sast.q.cpp.1038.example.0.dangerous": "Line 4: ??! trigraph is replaced by |. Thus, \"Over 9000!|\" has been used as an argument of puts() function.",
  "rule.sast.q.cpp.1038.example.0.safe": "Line 4: Add \"\" between question marks to prevent becoming a trigraph.",
  "rule.sast.q.cpp.1038.name": "Use of Trigraph",
  "rule.sast.q.cpp.1063.description": "The Too many initialization values checker finds struct/array definitions in which the struct/array object is assigned an initial set of elements that are greater in number than the struct/array size.\nThe checker searches for an array or struct initialization that assigns an oversized set of elements.\nIn case of brace initialization with an oversized set of elements, the elements out of range are basically ignored. However, the developer may have not intended this action. If this is not an intended result, the program may behave unexpectedly.\nWhen initializing a struct or array, be sure the assigned initial value set has the same number of elements as the size of the initialized object.",
  "rule.sast.q.cpp.1063.example.0.dangerous": "Line 2: An array with size of 3 is initialized with braces. However, it has four initialization element.",
  "rule.sast.q.cpp.1063.example.0.safe": "Line 2: The number of elements in brace initialization must match the size of array.",
  "rule.sast.q.cpp.1063.name": "Too many initialization values",
  "rule.sast.q.cpp.1079.description": "The Lost of const qualification in casting checker finds expressions that cast a const-qualified object to a non-const type.\nThe const qualifier is a specification that the object should not change its value. If this qualifier is cast away, problems may arise.\nDo not cast away the const qualifier from a const-qualified object.",
  "rule.sast.q.cpp.1079.example.0.dangerous": "Line 2: A const qualifier of item object is removed by casting.",
  "rule.sast.q.cpp.1079.example.0.safe": "Line 2: Do not remove the const qualifier.",
  "rule.sast.q.cpp.1079.name": "Lost of const qualification in casting",
  "rule.sast.q.cpp.1080.description": "The Lost of volatile qualification in casting checker finds expressions that cast a volatile-qualified object to a non-volatile type.\nThe volatile qualifier tells that its qualified object may be modified from the outside. If this qualifier is cast away, problems may arise.\nDo not cast away the volatile qualifier from a volatile object.",
  "rule.sast.q.cpp.1080.example.0.dangerous": "Line 4: A volatile qualifier of vRegister object is removed by casting.",
  "rule.sast.q.cpp.1080.example.0.safe": "Line 3: Do not remove the volatile qualifier.",
  "rule.sast.q.cpp.1080.name": "Lost of volatile qualification in casting",
  "rule.sast.q.cpp.1162.description": "The Missing error detection checker finds an application-independent code that does not include an error-detecting mechanism.\nApplication-independent code includes code that is shipped with the compiler or operating system, is from a third-party library, or is developed in-house.\nApplication-independent code is not associated with any application, so it cannot handle errors. However, it must still detect errors and report them to an application so that the application may handle them. Failure to do so may cause issues such as unexpected program termination.\nMake sure your application-independent code includes an error-detecting mechanism. The possible error-detection mechanism can be based on a return value, address argument, global indicator, or longjmp().",
  "rule.sast.q.cpp.1162.example.0.dangerous": "Line 5: abort() function is called by g() function. In this case, an error status cannot be sent to a calling function of g() function.",
  "rule.sast.q.cpp.1162.example.0.safe": "Line 2: Modify function design to send a return value about success or failure.",
  "rule.sast.q.cpp.1162.name": "Missing error detection",
  "rule.sast.q.cpp.1163.description": "The Misuse of assert statement checker finds assert() calls that are made after a handler already is registered with using the atexit() function.\nWhen a termination process is implemented using atexit(), a call to assert() disables this process.With its boolean expression is evaluated to false, assert() invokes the abort() function. Which then prevents the termination process registered with atexit() from being invoked.\nIf a handler is registered using atexit(), do not use assert(). Ideally, you are recommended either to implement the termination process in some other way or never use assert() at all.",
  "rule.sast.q.cpp.1163.example.0.dangerous": "Line 5: cleanup() function intended to perform a termination process before a program ends is registered as a handler.\nLine 9: cleanup() function is not called in case of assert failed.",
  "rule.sast.q.cpp.1163.example.0.safe": "Line 10: Perform a conditional check, then call exit() function instead of assert.",
  "rule.sast.q.cpp.1163.name": "Misuse of assert statement",
  "rule.sast.q.cpp.1169.description": "The Use of PTHREAD_MUTEX_NORMAL type mutex lock checker finds instances of using a PTHREAD_MUTEX_NORMAL type mutex lock.\nThe PTHREAD_MUTEX_NORMAL type of mutex does not provide deadlock detection. Attempting to relock this type of mutex, therefore, can lead to deadlocks or abnormal program termination.\nUse a PTHREAD_MUTEX_ERRORCHECK type mutex instead. This type of mutex supports deadlock detection.",
  "rule.sast.q.cpp.1169.example.0.dangerous": "Line 6: PTHREAD_MUTEX_NORMAL is used to lock a mutex. Then, deadlock cannot be checked.",
  "rule.sast.q.cpp.1169.example.0.safe": "Line 6: Use PTHREAD_MUTEX_ERRORCHECK.",
  "rule.sast.q.cpp.1169.name": "Use of PTHREAD_MUTEX_NORMAL type mutex lock",
  "rule.sast.q.cpp.1170.description": "The Use of vfork checker finds a vfork() call followed by an execve() call.\nIn some systems, a vfork() call followed by an execve() call can cause a race window. This arises from the vfork() function's vulnerability and also can lead to undefined behavior or denial of service.\nDo not use vfork(). Instead, use functions such as fork() that do not cause race conditions.",
  "rule.sast.q.cpp.1170.example.0.dangerous": "Line 2: vfork() function is called.\nLine 4: execve() function is called. However, a race window can occur by calling vfork() function on Line 2.",
  "rule.sast.q.cpp.1170.example.0.safe": "Line 2: Use fork() instead of vfork() function.",
  "rule.sast.q.cpp.1170.name": "Use of vfork",
  "rule.sast.q.cpp.1173.description": "The Use of pthread_kill checker finds calls to the pthread_kill() function.\nDo not call pthread_kill() to terminate a thread. The pthread_kill() function kills the entire process.\nUse the pthread_cancel() function instead to terminate an individual thread.",
  "rule.sast.q.cpp.1173.example.0.dangerous": "Line 10: pthread_kll() function is called. All processes are terminated in return of signals.",
  "rule.sast.q.cpp.1173.example.0.safe": "Line 10: Call pthread_cancel() function.",
  "rule.sast.q.cpp.1173.name": "Use of pthread_kill",
  "rule.sast.q.cpp.1429.description": "The Use of signal functions checker finds calls to the signal() function.\nFor an implementation of an ordinary function, it is challenging to use a signal handler in a highly portable and secure way.\nDo not use signal().",
  "rule.sast.q.cpp.1429.example.0.dangerous": "Line 2: signal() function is used.",
  "rule.sast.q.cpp.1429.example.0.safe": "Line 2: Do not use the signal() function.",
  "rule.sast.q.cpp.1429.name": "Use of signal functions",
  "rule.sast.q.cpp.170.description": "The Use of sizeof on array type parameter checker finds instances of calling the sizeof() function on an array variable passed in a function.\nIf the sizeof operator is used to get the array size of an array argument, it poses a high risk of a buffer overflow. It will rather get the pointer size, possibly causing an unexpected program behavior.\nDo not use the sizeof operator for an array-type argument.",
  "rule.sast.q.cpp.170.example.0.dangerous": "Line 3: To measure the size of argument a[] in Line 1, sizeof operator is used, but practically measuring its pointer size.",
  "rule.sast.q.cpp.170.example.0.safe": "Line 1: Do not measure the array size with the sizeof operator, but send the measured size as the argument of function.",
  "rule.sast.q.cpp.170.name": "Use of sizeof on array type parameter",
  "rule.sast.q.cpp.1711.description": "The Improper conversion between numeric types checker finds expressions that cast between an integer and a real number without validating the cast.\nAn invalid cast between number types can cause an unintended change in the value of the target object. This will lead to an unexpected issue.\nPrior to conducting a cast, check that the range of the destination type covers the whole range of the source type.",
  "rule.sast.q.cpp.1711.example.0.dangerous": "Line 4: atof() function is used to perform casting on a string into double type.\nLine 9: An unchecked value is used after casting. Then, an unusual casting can be performed.",
  "rule.sast.q.cpp.1711.example.0.safe": "Line 1: Verify ranges of the value, then use it.",
  "rule.sast.q.cpp.1711.name": "Improper conversion between numeric types",
  "rule.sast.q.cpp.172.description": "The Inadequate size of allocated memory checker finds calls to the malloc() function wherein the string size is not considered.\nFailure to accurately determine the size of the wide-character string may cause a buffer overrun.\nWhen performing dynamic memory allocation, the data type size must be properly considered.",
  "rule.sast.q.cpp.172.example.0.dangerous": "Line 3: A dynamic memory is allocated with malloc() function without considering the size of strings.",
  "rule.sast.q.cpp.172.example.0.safe": "Line 3: Multiply size and length of the string or other data type to perform dynamic memory allocation.",
  "rule.sast.q.cpp.172.name": "Inadequate size of allocated memory",
  "rule.sast.q.cpp.175.description": "The Printing file to temporary or public directory checker finds instances of creating a temporary file in an open directory accessible to arbitrary users.\nIt is risky to create temporary files in an openly accessible director such as /tmp, /var/tmp, or C:\\TEMP.\nFiles stored in a temporary or open directory may be accessed and manipulated by attackers, leading to program malfunctions.\nIt is recommended to create and store temporary files in a path accessible only to privileged users.",
  "rule.sast.q.cpp.175.example.0.dangerous": "Line 2: A temporary file is specified to position in a directory path where other users can view. Instances such as race conditions can allow attackers to misuse the file.",
  "rule.sast.q.cpp.175.example.0.safe": "Line 8: Use mkstemp() function to generate the temporary file.\nLine 12: Delete the file with unlink() function after they are used.",
  "rule.sast.q.cpp.175.name": "Printing file to temporary or public directory",
  "rule.sast.q.cpp.176.description": "The Use of system checker finds calls to system(). \nYou can optionally add the names of system functions.\nThe system() function may allow attackers to execute arbitrary shell scripts or executable programs. This may result in the program behaving unexpectedly or running through a path intended by the attacker.\nDo not call optionally specified system functions. ",
  "rule.sast.q.cpp.176.example.0.dangerous": "Line 2: A system() function is used to delete files. Attackers can exploit this with a privileged permission to manipulate the system in a vulnerable program.",
  "rule.sast.q.cpp.176.example.0.safe": "Line 3: Use unlink() function to delete files from system. This can prevent the system to be manipulated by others.",
  "rule.sast.q.cpp.176.name": "Use of system",
  "rule.sast.q.cpp.176.option.function_should_not_be_used.description": "Set up forbidden functions.",
  "rule.sast.q.cpp.176.option.function_should_not_be_used.name": "Forbidden functions",
  "rule.sast.q.cpp.177.description": "The Exit on atexit handler checker finds instances in which a function registered as an atexit handler calls _Exit(), exit(), or abort().\nProgram termination functions should be carefully used. If atexit() and another termination function are used together, the program may behave unexpectedly or shut down abnormally.\nDo not call a program termination function in an atexit handler function.",
  "rule.sast.q.cpp.177.example.0.dangerous": "Line 9: atexit() function is used to call foo1(), and foo2() function at the end of the program. Because the atexit() function executes registered functions in a reversed order, foo2() function has been executed before foo1(). However, exit() function has been included in the foo2(). Thus the program is terminating without calling the foo1().",
  "rule.sast.q.cpp.177.example.0.safe": "Line 9: Do not use the termination function such as _Exit(), exit(), or abort() as the registered atexit handler.",
  "rule.sast.q.cpp.177.name": "Exit on atexit handler",
  "rule.sast.q.cpp.178.description": "The Use of unsafe function in signal handler checker finds instances in which a function registered as a signal handler calls a function that is unsafe when behaving asynchronously.\nYou can optionally specify functions excluded from analysis. \nIf a function that is unsafe when behaving asynchronously is called in a signal handler, it may cause various issues such as memory conflicts and use of asynchronous data.\nIn a signal handler, do not call a function that is unsafe when behaving asynchronously.",
  "rule.sast.q.cpp.178.example.0.dangerous": "Line 3: A global variable stderr can unsafely behave in its signal handler.\nLine 6: info variable is not declared as volatile sig_atomic_t type. This may pose a problem in sync.\nLine 7: Heap memory can cause conflicts by interrupt signal while handler() function calls free() function.",
  "rule.sast.q.cpp.178.example.0.safe": "Line 6: To independently execute flag variable, declare handler() function as volatile sig_atomic_t type, and remove the problematic code.",
  "rule.sast.q.cpp.178.name": "Use of unsafe function in signal handler",
  "rule.sast.q.cpp.178.option.ignore_func.description": "Set up functions to be excluded from analyzing.",
  "rule.sast.q.cpp.178.option.ignore_func.name": "Functions to be excluded",
  "rule.sast.q.cpp.182.description": "The Use of deprecated API checker finds calls to forbidden functions that are obsolete and no longer used.\nForbidden functions include: asctime(), asctime_s(), atof(), strtod(), atoi(), strtol(), atol(), strtol(), atoll(), strtoll(), ctime(), ctime_s(), gets(), gets_s(), fopen(), fmemopen|open_memstream(), fopen_s(), freopen(), freopen_s(), rewind(), fseek(), setbuf(), vsetbuf(), strtok(), strtok_r(), strtok_s(), vsprintf(), vsnprintf(), strcpy(), strcpy_s(), strcat(), and strcat_s().\nIf two or more functions behave identically, the most secure function must be used. Replace the obsolete or insecure functions with proven faultless ones.\nDo not use forbidden functions.",
  "rule.sast.q.cpp.182.example.0.dangerous": "Line 3: An obsolete function is used.",
  "rule.sast.q.cpp.182.example.0.safe": "Line 3: Use a function with _s suffix to prevent buffer overrun.",
  "rule.sast.q.cpp.182.name": "Use of deprecated API",
  "rule.sast.q.cpp.183.description": "The Premature thread termination checker finds instances of multithreading in which a parent thread neither joins its children to wait for their finish nor detaches them (in the case the parent needs to finish earlier). \nThe checker reports a defect if a call to pthread_create() is not followed by a call to pthread_join() or pthread_detach() by the parent thread when using pthreads. \nIf a parent thread ends earlier than its child threads, the resources allocated to the children may not be reclaimed. Once a child thread is created, the program allocates an object for internal thread control. If the parent thread calls a function such as pthread_join() and waits until its child finishes, the object for controlling the child thread is normally deallocated. Conversely, if the parent ends earlier than the child, the thread control object remains allocated, causing memory leaks.\nA call to pthread_create() must be followed by a call to pthread_join() or pthread_detach() by the parent thread.",
  "rule.sast.q.cpp.183.example.0.dangerous": "Line 9: A created thread is not using join to wait, or detach to return resources.",
  "rule.sast.q.cpp.183.example.0.safe": "Line 13: Use pthread_join() function to wait its child thread, then return the resources.",
  "rule.sast.q.cpp.183.name": "Premature thread termination",
  "rule.sast.q.cpp.186.description": "The Use of sizeof on pointer type checker finds instances of using the sizeof() operator on a pointer type.\nBecause any pointer type has the same size, the checker reports for a pointer-type variable used as the operand of sizeof. \nIf the sizeof operator is used in an attempt to measure the size of a pointer-type argument, the function will return the size of the pointer, not the size of the type. To get the accurate size, therefore, the sizeof operator is not recommended to be used for a pointer type.\nDo not use the sizeof operator on a pointer type.",
  "rule.sast.q.cpp.186.example.0.dangerous": "Line 3: The size of a pointer type is measured with sizeof operator.\nLine 6: The size of a pointer type is measured with sizeof operator.",
  "rule.sast.q.cpp.186.example.0.safe": "Line 3: Modify to measure the size of pointer value, not pointer type.\nLine 6: Modify to measure the size of pointer value, not pointer type.",
  "rule.sast.q.cpp.186.name": "Use of sizeof on pointer type",
  "rule.sast.q.cpp.186.option.ignore_var.description": "Variables to be ignore.",
  "rule.sast.q.cpp.186.option.ignore_var.name": "Ignore variables name",
  "rule.sast.q.cpp.186.option.memset_function.description": "Write the name of the function which sets the memory variable.<br />Example) memset",
  "rule.sast.q.cpp.186.option.memset_function.name": "Memory setting function",
  "rule.sast.q.cpp.186.option.print_function.description": "Write the name of the output function. No issues will be reported if the pointer-type variable set by the memory setting function is used as an argument of the output function.<br />Example) printf",
  "rule.sast.q.cpp.186.option.print_function.name": "Printing function",
  "rule.sast.q.cpp.1871.description": "The Throwing overly broad exceptions checker finds expressions throwing an extremely generalized exception such as std::exception.\nWhen extremely generalized exceptions are thrown, it is hard to find their roots and handle them properly. This may pose security vulnerabilities.\nEnsure to throw specific exceptions while an error occurs.",
  "rule.sast.q.cpp.1871.example.0.dangerous": "Line 3: Throw an overly generic std::exception type exception.",
  "rule.sast.q.cpp.1871.example.0.safe": "Line 3: Throw a more specific exception.",
  "rule.sast.q.cpp.1871.name": "Throwing overly broad exceptions",
  "rule.sast.q.cpp.188.description": "The Wrong order in privilege relinquishment checker finds instances of dropping privileges in a wrong sequence.\nUsing setuid() and setgid() in a wrong sequence may make your privilege settings unsuccessful; these two functions are responsible for user and group permissions, respectively.\nA call to setuid() to drop a privilege makes the user ID no more a superuser. But a call to setgid() might not work without the superuser privilege. Therefore, a preceding call to setuid() may prevent a following call to setgid() from the intended privilege drop. This may be exploited by attackers attempting to use remaining group privileges.\nMake sure a call to setgid() precedes a call to setuid().",
  "rule.sast.q.cpp.188.example.0.dangerous": "Line 1: setuid() is called before dropping a group privilege.",
  "rule.sast.q.cpp.188.example.0.safe": "Line 1: Change the user privilege after dropping the group privilege.",
  "rule.sast.q.cpp.188.name": "Wrong order in privilege relinquishment",
  "rule.sast.q.cpp.192.description": "The Insecure privilege relinquishment checker finds instances calls to setuid(getuid()) that are not followed by a call to setuid(0).\nIf conditions on privilege relinquishment remain unchecked, system privileges may be assigned to another user or group.\nMake sure a call to seteuid(getuid()) is followed by a call to setuid(0).",
  "rule.sast.q.cpp.192.example.0.dangerous": "Line 1: A user privilege is temporarily dropped.\nLine 5: The use privilege is gained again.\nLine 9: The privilege is permanently dropped, then not restored.",
  "rule.sast.q.cpp.192.example.0.safe": "Line 12: Restore the dropped privilege.",
  "rule.sast.q.cpp.192.name": "Insecure privilege relinquishment",
  "rule.sast.q.cpp.1934.description": "The Integer Underflow checker finds instances in which the result of an arithmetic operation such as addition, subtraction, or multiplication is lower than the range of the given data type.\nIf an integer variable is to assume a value lower than the range of the integer type, an underflow occurs, resulting in a huge positive number or an unexpected value. If such an unexpected return value is used for memory allocation or a loop conditional, the program may become vulnerable to security threats.\nBy comparing against the result of the integer operation, make sure that a value lower than the type range is not assumed.",
  "rule.sast.q.cpp.1934.example.0.dangerous": "Line 5: An underflow occur when a result decreases to less than the minimum that an int type can represent.",
  "rule.sast.q.cpp.1934.example.0.safe": "Line 6: Compare the sizes before operation that might cause the underflow, then, perform the secured operation.",
  "rule.sast.q.cpp.1934.name": "Integer Underflow",
  "rule.sast.q.cpp.1934.option.source_call.description": "Specify functions that receives sensitive information.<br />",
  "rule.sast.q.cpp.1934.option.source_call.name": "Function receiving sensitive information",
  "rule.sast.q.cpp.1985.description": "The Invalid downcasting of integer checker finds instances of casting an integer to a narrower type.\nA cast of -1 is accepted as an exception because it is commonly used to represent a value of all bits set to 1s. You can optionally adjust the range of negative numbers subject to this exception.\nA cast to a narrower type can cut off some bits, thereby unexpectedly altering the target value. And a cast from signed to unsigned can change the sign, consequently altering the value. This may result in an unexpected result.\nPrior to proceeding with a cast, check that the destination type has a range safe enough to assume the original value.",
  "rule.sast.q.cpp.1985.example.0.dangerous": "Line 5: When variable a of -20 is cast into an unsigned int type, it is changed to a positive value of the same bit.",
  "rule.sast.q.cpp.1985.example.0.safe": "Line 5: Perform a casting in consideration of the size and scope of types.",
  "rule.sast.q.cpp.1985.name": "Invalid downcasting of integer",
  "rule.sast.q.cpp.1985.option.max_decision_point_number.description": "set the maximum value of the range of numbers which should not be reported",
  "rule.sast.q.cpp.1985.option.max_decision_point_number.name": "Maximum value of the range",
  "rule.sast.q.cpp.1985.option.min_decision_point_number.description": "set the minimum value of the range of numbers which should not be reported",
  "rule.sast.q.cpp.1985.option.min_decision_point_number.name": "Minimum value of the range",
  "rule.sast.q.cpp.1987.description": "The Use of released resource checker finds instances of reusing an already freed resource.\nA resource herein refers to a variable like a file descriptor that represents an open file.\nUsing an already freed resource can abnormally affect the system. Because freed resources are no longer valid, reusing them can trigger a runtime error or some unexpected behavior depending on the type of the resource.\nBe sure to use resources only while they are valid, and free resources only upon completion of their use.",
  "rule.sast.q.cpp.1987.example.0.dangerous": "Line 4: A closed resource is used.",
  "rule.sast.q.cpp.1987.example.0.safe": "Line 4: Close the resource after use.",
  "rule.sast.q.cpp.1987.name": "Use of released resource",
  "rule.sast.q.cpp.199.description": "The Mismatched buffer size checker finds calls to the sprintf() function wherein the array size is not considered.\nA call to sprintf() may cause a buffer overrun. Buffer overrun errors are the most widely known types of software security vulnerabilities. And the computer may be caused to execute arbitrary, potential, or malicious code leading to program bugs. If improperly used, such code may interrupt the program for a denial-of-service (DoS) attack.\nWhen using sprintf(), be sure to consider the array size. ",
  "rule.sast.q.cpp.199.example.0.dangerous": "Line 5: Although the size of array buf is 100, the size of a and b exceeds the buf size.\nLine 6: In case of snprintf() function, exceeding the buf size also causes a buffer overrun.",
  "rule.sast.q.cpp.199.example.0.safe": "Line 5: Consider the size of arrays in sprintf() function.\nLine 6: Consider the size of arrays in snprintf() function.",
  "rule.sast.q.cpp.199.name": "Mismatched buffer size",
  "rule.sast.q.cpp.2003.description": "The Too Small Path Buffer checker finds calls to the PathAppend() function in which the buffer is too small to contain the path.\nIn the case of Windows, a macro constant of MAX_PATH is used to limit the maximum path length. This constant is typically set to 260, and the buffer passed to the first parameter of PathAppend() must be sized no smaller than this value. A smaller-sized buffer can cause issues like a buffer overflow.\nMake sure that the buffer to be passed as the first argument to PathAppend() is declared with a size of no smaller than 260.",
  "rule.sast.q.cpp.2003.example.0.dangerous": "Line 17: An array with less than 260 length is used as a buffer to be passed to the first argument of PathAppend().\nLine 20: An array with less than 260 length is used as a buffer to be passed to the first argument of PathAppend().",
  "rule.sast.q.cpp.2003.example.0.safe": "Line 17: Declare and use a buffer with 260 or more length.\nLine 20: Declare and use a buffer with 260 or more length.",
  "rule.sast.q.cpp.2003.name": "Too Small Path Buffer",
  "rule.sast.q.cpp.2004.description": "The Critical public Variable without const checker finds critical fields declared as public without const modifier.\nTypically, you can declare private fields. However, critical fields are often declared public so that they can be accessed from outside. However, not every public field is a critical field. You can optionally specify names of critical fields.\nFields that are not declared with const can be arbitrarily modified from the outside. Then, the program may behave unexpectedly.\nDeclare important fields such as public with a const modifier.",
  "rule.sast.q.cpp.2004.example.0.dangerous": "Line 6: An important field is not declared with a const modifier.",
  "rule.sast.q.cpp.2004.example.0.safe": "Line 6: Declare the important field with the const modifier.",
  "rule.sast.q.cpp.2004.name": "Critical public Variable without const",
  "rule.sast.q.cpp.2004.option.variable_name.description": "Use regex for variable name.",
  "rule.sast.q.cpp.2004.option.variable_name.name": "Target Variable Name",
  "rule.sast.q.cpp.207.description": "The Use of macros in wrong order checker finds instances of using macros in which a pair of functions operating on a shared resource are not called together.\nA call to pthread_cleanup_push() has to be followed by a call to pthread_cleanup_pop(). \nThere are a number of macro pairs that must be used at the same level of scope. If a pair of macros are used at different levels of scope, the resulting program may malfunction.\nA call to pthread_cleanup_push() has to be followed by a call to pthread_cleanup_pop().",
  "rule.sast.q.cpp.207.example.0.dangerous": "Line 7: pthread_cleanup_push() function cannot be used alone.",
  "rule.sast.q.cpp.207.example.0.safe": "Line 7: Use the pthread_cleanup_push() function together with pthread_cleanup_pop() in the same scope level.",
  "rule.sast.q.cpp.207.name": "Use of macros in wrong order",
  "rule.sast.q.cpp.207.option.macro_used_order.description": "Set up macro usage order",
  "rule.sast.q.cpp.207.option.macro_used_order.name": "Macro usage order",
  "rule.sast.q.cpp.223.description": "The Misuse of asctime checker finds calls to the asctime() function that take an invalid or unvalidated value.\nThe asctime() function converts the struct tm's member variables to a textual representation. Because each member variable has a specific range or value, unvalidated data inputs may cause a buffer overrun.\nInstead of asctime(), which can cause an overflow when receiving an invalid argument, use the more secure function of strftime().",
  "rule.sast.q.cpp.223.example.0.dangerous": "Line 2: asctime() function is used, which is vulnerable to a buffer overflow.",
  "rule.sast.q.cpp.223.example.0.safe": "Line 6: Use strftime() function that acts identical behavior, but strong to the buffer overflow attack.",
  "rule.sast.q.cpp.223.name": "Misuse of asctime",
  "rule.sast.q.cpp.224.description": "The Integer Overflow checker finds instances in which the result of an arithmetic operation exceeds the size of the given integer type.\nThe checker searches for addition, subtraction, and multiplication operations that meet the following conditions: 1. A dangerous external input is used as an operand. 2. The result of the evaluation is smaller than the lower limit of the data type or larger than the upper limit.\nIf the result is out of the range of the integer type, an overflow occurs to return a negative number or an unexpected value. If such an unexpected return value is used for memory allocation or a loop conditional, the program may become vulnerable to security threats.\nYou must consider the ranges of integer types specific to each language or platform. When an integer-type variable is used in an operation, use a module that checks the possible range of the result value. If an external input is used for dynamic memory allocation, the variable must be checked for being within the valid range.",
  "rule.sast.q.cpp.224.example.0.dangerous": "Line 3: An unvalidated variable size is used, which can cause an integer overflow.",
  "rule.sast.q.cpp.224.example.0.safe": "Line 6: Verify the variables with a value of valid scopes to use as an argument of malloc().",
  "rule.sast.q.cpp.224.name": "Integer Overflow",
  "rule.sast.q.cpp.224.option.source_call.description": "Specify functions that receives sensitive information.<br />",
  "rule.sast.q.cpp.224.option.source_call.name": "Function receiving sensitive information",
  "rule.sast.q.cpp.225.description": "The Use of Dangerous Function checker finds instances of using a function known to be dangerous. You can edit the list of forbidden functions.The atof(), atoi(), and atol() functions do not perform exception handling for values unconvertible to their respective types (f, i, and l). As exception handling is not defined, their returns are unpredictable. For example, handling a buffer size using atof(), atoi(), or atol() may allow for a buffer overflow. Use C standard library functions that handle exceptions: strtof (atof) and strtol (atoi, atol).The strcpy() function does not check the size of the source string copied to the destination string. If the source is longer than the destination, a buffer overflow occurs. Use the C standard library function of strncpy() instead, which specifies the maximum number of characters to be copied.The strcat() function does not check the size of the result. If the appended result is longer than the assigned size of the destination string, a buffer overflow occurs. Use the C standard library function of strncat() instead, which specifies the maximum number of characters to be appended. When errors occur with the fopen() function, their causes are hard to find. Use the C standard library function of fopen_s() instead, which returns the causes of errors.The gets() function does not check the size of the input to the destination string. If the array input from the standard input stream is larger than the destination string, a buffer overflow occurs. Use the C standard library function of fgets() or gets_s() instead, which specifies the size of the input. Restrain from using the functions known to be dangerous. Some library functions pose security vulnerabilities. Use secure functions instead of the vulnerable ones.",
  "rule.sast.q.cpp.225.example.0.dangerous": "Line 7: A tainted gets() function is used to load input.\nLine 8: A tainted strcpy() function is used to load input.\nLine 9: A tainted strcat() function is used to load input.\nLine 10: A tainted fopen() function is used to load input.\nLine 11: A tainted atoi() function is used to load input.",
  "rule.sast.q.cpp.225.example.0.safe": "Line 8: Use fgets() function to prevent the buffer overflow instead of the gets().\nLine 9: Use strncpy() function to prevent the buffer overflow instead of the strcpy(). strcpy_s() can be used in C11.\nLine 10: Use strncat() function to prevent the buffer overflow instead of the strcat(). strcat_s() can be used in C11.\nLine 11: Use fopen_s() function instead of insecure fopen().\nLine 12: Use strtol() function instead of insecure atoi().\nLine 13: Use strtoll() function instead of insecure atol().\nLine 14: Use strtod() function instead of insecure atod().",
  "rule.sast.q.cpp.225.name": "Use of Dangerous Function",
  "rule.sast.q.cpp.225.option.function_should_not_be_used.description": "Set up forbidden functions.",
  "rule.sast.q.cpp.225.option.function_should_not_be_used.name": "Forbidden functions",
  "rule.sast.q.cpp.228.description": "The Use of unsafe multi-byte string function checker finds instances of using an insecure multibyte string function provided by Windows.\nYou can optionally specify regex patterns of forbidden functions.\nSince all of the multibyte string functions provided by Windows can possibly cause a buffer overrun, their use is not recommended.\nDo not use the multibyte string functions provided by Windows.",
  "rule.sast.q.cpp.228.example.0.dangerous": "Line 2: mbscpy() is used.",
  "rule.sast.q.cpp.228.example.0.safe": "Line 2: Use a secure multibyte string function provided by Microsoft, such as _mbscpy_s().",
  "rule.sast.q.cpp.228.name": "Use of unsafe multi-byte string function",
  "rule.sast.q.cpp.228.option.function_should_not_be_used.description": "Set up forbidden functions with regular expressions.",
  "rule.sast.q.cpp.228.option.function_should_not_be_used.name": "Forbidden functions",
  "rule.sast.q.cpp.241.description": "The Infinite recursive call checker finds recursive functions that are not properly controlled and thus can be called infinitely.\nIf the program falls into infinite recursion, it keeps on allocating resources such as memory and stack whitespace in most cases, possibly causing performance degradation or an unexpected shutdown of the program. However, it is theoretically impossible to completely prevent an infinite recursion or loop based on static analysis. Therefore, the checker can find only some typical patterns and simple instances.\nPut recursive call statements under proper control statements. If you are not confident of setting recursive termination conditions properly, consider replacing the recursive code with an identically functioning loop.",
  "rule.sast.q.cpp.241.example.0.dangerous": "Line 2: A recursive statement without conditions is highly likely to be tuned into an infinite recursive call.",
  "rule.sast.q.cpp.241.example.0.safe": "Line 2: Set conditions to prevent the infinite recursive call.",
  "rule.sast.q.cpp.241.name": "Infinite recursive call",
  "rule.sast.q.cpp.2422.description": "The Mismatch in Number between Format Specifiers and Arguments checker finds instances when a function that returns a string type to a specific argument position has a different number of arguments than the string type such as `%s`, `%x`, `%c`, etc.\nIn a call to a format string function, if the number of format specifiers, such as `%s`, `%x`, `%c`, etc., in the format string is not the same as the number of substituting arguments, it is unpredictable how the function will behave.\nBe sure to pass the same number of substituting arguments as the number of format specifiers.",
  "rule.sast.q.cpp.2422.example.0.dangerous": "Line 3: The number of arguments is not matched with required one.",
  "rule.sast.q.cpp.2422.example.0.safe": "Line 3: Match the number of arguments as required.",
  "rule.sast.q.cpp.2422.name": "Mismatch in Number between Format Specifiers and Arguments",
  "rule.sast.q.cpp.2422.option.targets.description": "only checks within below list.",
  "rule.sast.q.cpp.2422.option.targets.name": "string format function to analyze.",
  "rule.sast.q.cpp.255.description": "The Empty branch statement checker finds if statements having no else branch and switch statements having no case or default branch.\nAdd required branches with executable code in them in accordance with the statement rules.",
  "rule.sast.q.cpp.255.example.0.dangerous": "Line 3: An else statement to check a null is not found in if statements.\nLine 9: No default statement is found in swith-case statements. If an option value cannot be handled by case statements, this may cause an unexpected result.\nLine 20: No case statement is found in swith-case statements. But a default statement is.",
  "rule.sast.q.cpp.255.example.0.safe": "Line 5: Use else statements to handle exceptions.\nLine 12: Add a default statement to the switch-case statements to handle the exceptions.\nLine 13: Add a case statement.",
  "rule.sast.q.cpp.255.name": "Empty branch statement",
  "rule.sast.q.cpp.255.option.allow_oneline_if.description": "Allow If statement without else clause.",
  "rule.sast.q.cpp.255.option.allow_oneline_if.name": "Allow single-line If statements",
  "rule.sast.q.cpp.255.option.check_empty_case.description": "If selected, empty case branches will be detected.",
  "rule.sast.q.cpp.255.option.check_empty_case.name": "Detect empty case branch",
  "rule.sast.q.cpp.255.option.check_empty_default_case.description": "If selected, empty default case branches will be detected.",
  "rule.sast.q.cpp.255.option.check_empty_default_case.name": "Detect empty default case branch",
  "rule.sast.q.cpp.255.option.check_empty_else_branch.description": "If selected, empty else branches will be detected.",
  "rule.sast.q.cpp.255.option.check_empty_else_branch.name": "Detect empty else branch",
  "rule.sast.q.cpp.255.option.treat_comment_as_nonempty.description": "treat comment line as non-empty line.",
  "rule.sast.q.cpp.255.option.treat_comment_as_nonempty.name": "If selected, comment line is treated non-empty line.",
  "rule.sast.q.cpp.2789.description": "The Access to Bit-field by Multiple Threads checker finds instances of modifying adjacent bit-fields in different threads.\nCompilers are required to store multiple adjacent bit-fields in one storage unit whenever they fit. Modifying adjacent bit-fields in different threads is undefined behavior. Such code may output different results depending on compilers and thus is unpredictable. This also can typically trigger a race condition.\nWhen storing adjacent bit-fields, protect them with a mutex before proceeding with data modification.",
  "rule.sast.q.cpp.2789.example.0.dangerous": "Line 9: A value is stored to a bit field.\nLine 14: A value is stored to another bit field close to the one on Line 9. A race condition can occur.",
  "rule.sast.q.cpp.2789.example.0.safe": "Line 17: Lock the mutex, then store data.\nLine 28: Lock the mutex, then store data.",
  "rule.sast.q.cpp.2789.name": "Access to Bit-field by Multiple Threads",
  "rule.sast.q.cpp.2795.description": "The Alteration of Standard Namespace checker finds custom definitions of the std namespace.\nAn altered std namespace can cause conflict between standard identifiers and custom identifiers. Such redefinition is undefined. Such code may output different results depending on compilers and thus is unpredictable.\nDo not redefine the std namespace. Use another namespace name, or just call the std namespace's library without altering it.",
  "rule.sast.q.cpp.2795.example.0.dangerous": "Line 1: std namespace is randomly defined.",
  "rule.sast.q.cpp.2795.example.0.safe": "Line 1: Use a namespace name other than the std namespace.",
  "rule.sast.q.cpp.2795.name": "Alteration of Standard Namespace",
  "rule.sast.q.cpp.2796.description": "The Exception Thrown in Handler Registered with atexit() checker finds exit handlers registered with atexit() that throw an exception.\nAllowing the application to abnormally terminate can lead to resources not being freed, closed, and so on. This can leave external resources, such as files and network communications, in an indeterminate state, possibly leading to serious issues.\nMake sure no exceptions are thrown in functions registered with atexit().",
  "rule.sast.q.cpp.2796.example.0.dangerous": "Line 4: An exception is thrown by throwing_func() function.\nLine 7: f() function is defined to call throwing_func() function.\nLine 12: The f() function is set as a handler by using atexit() function, which throws an exception, then causes a program abruptly shutting down.",
  "rule.sast.q.cpp.2796.example.0.safe": "Line 7: Define the f() function not to propagate the exception outside the contents.",
  "rule.sast.q.cpp.2796.name": "Exception Thrown in Handler Registered with atexit()",
  "rule.sast.q.cpp.2803.description": "The Container Overflow checker finds expressions to inject or access data over specified storage capacity of containers.\nSome built-in methods or algorism functions can raise buffer overflows in STL containers. This may pose security vulnerabilities or cause runtime errors.\nMake sure the buffer overflows do not occur in containers by adding capacity of the containers or using utility functions for injection. Also, index values need to be checked when they are used to access to objects of the containers.",
  "rule.sast.q.cpp.2803.example.0.dangerous": "Line 2: Storage capacity of dest container is not specified.\nLine 3: copy() function is used to inject data in the dest container. This leads to a buffer overflow.",
  "rule.sast.q.cpp.2803.example.0.safe": "Line 2: Specify a storage capacity of the dest container.\nLine 3: Use back_inserter() function to inject data to the dest container by using copy() function.",
  "rule.sast.q.cpp.2803.name": "Container Overflow",
  "rule.sast.q.cpp.287.description": "The Dynamically allocated buffer overflow checker finds instances of reading from or writing to memory out of an allocated buffer.\nThis type of fault includes the following situations: The address value is outside the bounds of the memory buffer. The faulty argument is dynamically allocated memory.\nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen reading from or writing to a buffer, keep within its specified range.",
  "rule.sast.q.cpp.287.example.0.dangerous": "Line 2: An index is used to access to results of n+2 on buf.\nLine 6: 12 is assigend to memory size of dest.\nLine 7: sub() function is called by adding offset 8 to dest. Then, this accesses to out-of-bound scopes specified in Line 2.",
  "rule.sast.q.cpp.287.example.0.safe": "Line 2: Access to n on buf by using an index.\nLine 7: Modify code to access within assigned memories.",
  "rule.sast.q.cpp.287.name": "Dynamically allocated buffer overflow",
  "rule.sast.q.cpp.3074.description": "The Modifying Source Object within Copy Operation checker finds code that changes a value of member variable of the source object received as an argument of the copy constructor or copy assignment operator.\nCopy operations with the copy constructor and copy assignment operator copy key properties of the source object to the destination object, and the resulting object becomes a copy of the original. When implementing the copy operator, the variable information of the source object must not be changed.\nThis might create a copy that is not identical with the original.\nAvoid modifying the source object in the copy operator.",
  "rule.sast.q.cpp.3074.example.0.dangerous": "Line 11, 17: A value of member variable m of the source object is specified again.",
  "rule.sast.q.cpp.3074.example.0.safe": "Line 10, 11, 13, 20: Avoid modifying the value of member variables of the source object within the copy operator.",
  "rule.sast.q.cpp.3074.name": "Modifying Source Object within Copy Operation",
  "rule.sast.q.cpp.3075.description": "The Use of C Standard Library to Target Unsuitable Class Object checker finds code that uses some C standard library to perform an operation on objects of non-trivial class or non-standard layout class.\nSeveral C standard library functions perform byte operations on objects. For example, std::memcmp() compares the bytes comprising the object representation of two objects, and std::memcpy() copies the bytes comprising the object representation into the destination buffer. However, for some object types, it results in undefined behavior. Do not use std::memset() to initialize an object of nontrivial class type. And do not use std::memcpy() to create a copy of the object. Also, you must not use std::memcmp() to compare objects of non-standard layout class types. Principally, it is recommended to use the alternatives provided by C++.\nYou may not properly initialize the values of the object or compare the value representations of the object.\nEnsure to use special methods of the class or operator overloading instead of the C standard library.",
  "rule.sast.q.cpp.3075.example.0.dangerous": "Line 9: Two non-standard layout class objects are compared.",
  "rule.sast.q.cpp.3075.example.0.safe": "Line 5: Define and use a comparison operator instead of memcmp().",
  "rule.sast.q.cpp.3075.name": "Use of C Standard Library to Target Unsuitable Class Object",
  "rule.sast.q.cpp.3076.description": "The Public static member variable undeclared to const checker finds where an object contains a public static member variable that is not marked const.\nA public static member variable can be read without an accessor and changed by any class in the application.\nSo, the member variable can be modified in unexpected ways.\nMake sure to use the const keyword when declaring the public static member variables.",
  "rule.sast.q.cpp.3076.example.0.dangerous": "Line 3: A public static member variable is not declared as const.",
  "rule.sast.q.cpp.3076.example.0.safe": "Line 3: Use the const keyword to prevent the variable from being modified.",
  "rule.sast.q.cpp.3076.name": "Public static member variable undeclared to const",
  "rule.sast.q.cpp.31.description": "The Memory Leak checker finds instances of failure to release allocated memory which is no longer needed.\nA memory leak is caused by improper handling of malformed data or unexpectedly interrupted sessions. It may lead to system performance degradation or service failure.\nMemory allocated for dynamically allocated variables must be deallocated. Freeing memory is often missing when this freeing code is supposed to be executed following a conditional check and before the function returns consequently.",
  "rule.sast.q.cpp.31.example.0.dangerous": "Line 2: The BLOCK_SIZE memory is allocated to the variable buf using malloc().\nLine 4: If the buf obtained through read() is not the expected size, this returns a null and exits the function. Here, a memory leak occurs because the allocated memory in Line 2 is not reclaimed.",
  "rule.sast.q.cpp.31.example.0.safe": "Line 5: Free the allocated memory. The allocated memory must be freed before returning a function.",
  "rule.sast.q.cpp.31.name": "Memory Leak",
  "rule.sast.q.cpp.32.description": "The Resource leak checker finds instances of failure to release an allocated resource (file, socket, etc.).\nResource leaks are caused by improper processing of data in an incorrect format or unexpected termination of a session, which can degrade system performance or lead a service to unavailable condition.\nThe allocated resource must be freed. In particular, it is easy to overlook freeing resources that were used before performing a condition check and returning a function.",
  "rule.sast.q.cpp.32.example.0.dangerous": "Line 2: The resource is allocated to p using fopen().\nLine 4: If the if statement in Line 3 is satisfied, the function exits without freeing the resource obtained in Line 2.",
  "rule.sast.q.cpp.32.example.0.safe": "Line 4: Call fclose(p) to free the resource.",
  "rule.sast.q.cpp.32.name": "Resource leak",
  "rule.sast.q.cpp.37.description": "The Double freed memory checker finds instances of freeing already freed memory.\nDouble-freeing memory can corrupt potential memory locations unexpectedly, leading to abnormal termination of the program.\nBefore freeing an allocated memory or resource, check if it has already been freed.",
  "rule.sast.q.cpp.37.example.0.dangerous": "Line 9: The memory is allocated to variable p using malloc().\nLine 10: The memory pointed to by the variable p is passed as an argument to the function foo.\nLine 3: The function foo freed the memory passed as an argument on Line 3 and returned -1.\nLine 11: Line 11 was executed by returning -1 from the function foo. A double-free occurred because the memory freed by the function foo was freed again.",
  "rule.sast.q.cpp.37.example.0.safe": "Line 6: Check for null before freeing the variable p to prevent double freeing.",
  "rule.sast.q.cpp.37.name": "Double freed memory",
  "rule.sast.q.cpp.38.description": "The Use of freed memory checker finds instances of referencing an already freed memory block.\nUse after free may lead to using an abnormal value, causing abnormalities to the system.\nBefore using memory, check it for being freed.",
  "rule.sast.q.cpp.38.example.0.dangerous": "Line 3: The memory pointed to by ptr is freed in Line 5 because the if statement was evaluated as true.\nLine 9: Line 5 caused a use-after-free error because it referenced memory that had already been freed.",
  "rule.sast.q.cpp.38.example.0.safe": "Line 6: Change the code to use the allocated memory before freeing.",
  "rule.sast.q.cpp.38.name": "Use of freed memory",
  "rule.sast.q.cpp.39.description": "The Uninitialized value checker finds instances of using an uninitialized local variable.\nAs uninitialized local variables take an unexpected value, this kind of error can cause an unexpected behavior.\nLocal variables must be initialized before used.",
  "rule.sast.q.cpp.39.example.0.dangerous": "Line 1: Variables a and b are declared without allocating initial values.\nLine 2: Uninitialized variables a and b are used.",
  "rule.sast.q.cpp.39.example.0.safe": "Line 1: A variable should be initialized before declaring.",
  "rule.sast.q.cpp.39.name": "Uninitialized value",
  "rule.sast.q.cpp.40.description": "This checker detects code that attempts to read a value pointed to by a null pointer, without considering the possibility that the pointer value is null.\nThe Null dereference often causes the system to crash unexpectedly.\nBefore dereferencing a pointer, check it for null.",
  "rule.sast.q.cpp.40.example.0.dangerous": "Line 3: The address value pointed to by the pointer ptr was set to null.\nLine 5: A null pointer dereference error occurred because the address of ptr, whose address value is null, was dereferenced.",
  "rule.sast.q.cpp.40.example.0.safe": "Line 5: Check for null before using a pointer variable.",
  "rule.sast.q.cpp.40.name": "Null dereference",
  "rule.sast.q.cpp.41.description": "The Missing null check checker detects code that uses a pointer without a null check, even if the pointer was passed as an argument to a function or returned from another function after null checking.\nIt is because there is a possibility that a null is assigned to a pointer variable that was previously check for null.\nThe Null dereference often causes the system to crash unexpectedly.\nCheck for null before using the pointer variable that has already been checked for null.",
  "rule.sast.q.cpp.41.example.0.dangerous": "Line 1: Pointer x is used as a parameter in a function.\nLine 4: If the address of pointer x is not null, the value pointed to by x will be assigned to y1.\nLine 7: The value pointed to by x, which may have a null address value, has been assigned to y2.",
  "rule.sast.q.cpp.41.example.0.safe": "Line 7: Check for null on the pointer variable that has already been null-checked.",
  "rule.sast.q.cpp.41.name": "Missing null check",
  "rule.sast.q.cpp.44.description": "The Returning freed memory checker detects code that returns a variable pointing to memory that has already been freed.\nReturning an already freed variable often causes an unexpected program behavior such as a crash.\nCheck that the variable to be returned has already been freed.",
  "rule.sast.q.cpp.44.example.0.dangerous": "Line 3: The memory pointed to by ptr is freed in Line 5 because the if statement was evaluated as true.\nLine 9: An error occurred because the pointer ptr, which points to the freed memory in Line 5, is being returned.",
  "rule.sast.q.cpp.44.example.0.safe": "Line 9: To solve the issue, modify the code to avoid returning the freed memory.",
  "rule.sast.q.cpp.44.name": "Returning freed memory",
  "rule.sast.q.cpp.53.description": "The Attempting delete on dynamically allocated memory checker finds attempts of using delete to free a memory area allocated by a dynamic memory allocation function such as malloc().\nMemory allocated by a dynamic memory allocation function is not freed by the delete keyword but remains allocated. In addition, if allocation and deallocation are performed by different approaches, a segmentation fault may be thrown, causing an unexpected program shutdown.\nMemory allocated by a dynamic memory allocation function must be freed by the free() function.",
  "rule.sast.q.cpp.53.example.0.dangerous": "Line 2: Memory is allocated to pointer p by using malloc().\nLine 4: The pointer p is freed with delete, which causes an error.",
  "rule.sast.q.cpp.53.example.0.safe": "Line 4: Use free instead of delete to free memories.",
  "rule.sast.q.cpp.53.name": "Attempting delete on dynamically allocated memory",
  "rule.sast.q.cpp.54.description": "The Attempting delete[] on dynamically allocated memory checker finds attempts of using delete[] to free a memory area allocated by a dynamic memory allocation function such as malloc.\nMemory allocated by a dynamic memory allocation function is not freed by the delete[] keyword but remains allocated. In addition, if allocation and deallocation are performed by different approaches, a segmentation fault may be thrown, causing an unexpected program shutdown.\nMemory allocated by a dynamic memory allocation function must be freed by the free() function.",
  "rule.sast.q.cpp.54.example.0.dangerous": "Line 2: Memory is allocated to pointer p by using malloc().\nLine 4: The pointer p is freed with delete[], which causes an error.",
  "rule.sast.q.cpp.54.example.0.safe": "Line 4: Use free instead of delete[] to free memories.",
  "rule.sast.q.cpp.54.name": "Attempting delete[] on dynamically allocated memory",
  "rule.sast.q.cpp.55.description": "The Attempting delete on memory allocated by new[] checker finds attempts of using delete to free a memory area allocated by new[].\nMemory allocated by new[] is not freed by the delete keyword but remains allocated. In addition, if allocation and deallocation are performed by different approaches, a segmentation fault may be thrown, causing an unexpected program shutdown.\nMemory allocated by new[] must be freed by the delete[] function.",
  "rule.sast.q.cpp.55.example.0.dangerous": "Line 2: Memory is allocated to pointer p by using new char[].\nLine 4: The pointer p is freed with delete, which causes an error.",
  "rule.sast.q.cpp.55.example.0.safe": "Line 4: Use delete[] instead of delete to free memories.",
  "rule.sast.q.cpp.55.name": "Attempting delete on memory allocated by new[]",
  "rule.sast.q.cpp.56.description": "The Attempting free on memory allocated by new[] checker finds attempts of using free() to free a memory area allocated by new[].\nMemory allocated by new[] is not freed by the free() keyword but remains allocated. In addition, if allocation and deallocation are performed by different approaches, a segmentation fault may be thrown, causing an unexpected program shutdown.\nMemory allocated by new[] must be freed by the delete[] function.",
  "rule.sast.q.cpp.56.example.0.dangerous": "Line 2: Memory is allocated to pointer p by using new char[].\nLine 4: The pointer p is freed with free(), which causes an error.",
  "rule.sast.q.cpp.56.example.0.safe": "Line 4: Use delete[] instead of delete to free memories.",
  "rule.sast.q.cpp.56.name": "Attempting free on memory allocated by new[]",
  "rule.sast.q.cpp.57.description": "The Attempting delete[] on memory allocated by new checker finds attempts of using delete[] to free a memory area allocated by new.\nMemory allocated by new is not freed by the delete[] keyword but remains allocated. In addition, if allocation and deallocation are performed by different approaches, a segmentation fault may be thrown, causing an unexpected program shutdown.\nMemory allocated by new must be freed by the delete.",
  "rule.sast.q.cpp.57.example.0.dangerous": "Line 2: Memory is allocated to pointer p by using new char.\nLine 4: The pointer p is freed with delete[], which causes an error.",
  "rule.sast.q.cpp.57.example.0.safe": "Line 4: Use delete instead of delete[] to free memories.",
  "rule.sast.q.cpp.57.name": "Attempting delete[] on memory allocated by new",
  "rule.sast.q.cpp.58.description": "The Attempting free on memory allocated by new checker finds attempts of using free() to free a memory area allocated by new. \nMemory allocated by new is not freed by the free keyword but remains allocated. In addition, if allocation and deallocation are performed by different approaches, a segmentation fault may be thrown, causing an unexpected program shutdown.\nMemory allocated by new must be freed by the delete.",
  "rule.sast.q.cpp.58.example.0.dangerous": "Line 2: Memory is allocated to pointer p by using new char.\nLine 4: The pointer p is freed with free(), which causes an error.",
  "rule.sast.q.cpp.58.example.0.safe": "Line 4: Use delete instead of free() to free memories.",
  "rule.sast.q.cpp.58.name": "Attempting free on memory allocated by new",
  "rule.sast.q.cpp.74.description": "The Double freed resource checker finds attempts to close an already freed resource once again.\nA resource may be a file, network socket, etc.\nDoubly freeing a resource leads potentially to an unexpected modification of a memory location and an abnormal shutdown of the program.\nBefore freeing an allocated resource, check if it has already been freed. ",
  "rule.sast.q.cpp.74.example.0.dangerous": "Line 9: fopen() is used for fp variable to be assigned a file pointer.\nLine 10: The file pointer pointed by fp is sent as an argument of foo().\nLine 3: A file sent to the foo() function from Line 3 is freed, and the foo() returns 1.\nLine 11: Returning -1 by the foo() causes Line 11 to be run. Then, the foo() frees the freed file again, which causes an error.",
  "rule.sast.q.cpp.74.example.0.safe": "Line 4: Modify code not to perform double free of the resources.",
  "rule.sast.q.cpp.74.name": "Double freed resource",
  "rule.sast.q.cpp.7475.description": "All non-static member variables of a class must be fully initialized by the time the object becomes accessible, that is, before the constructor body executes.\n\nFor classes with constructors, assignments within the constructor body are not considered initialization; therefore, a member initializer list must be used.\n\nFor aggregate classes without constructors that only hold data, default member initializers must be specified alongside member variable declarations to prevent accidental omission of initialization at object creation.\n\nUninitialized member variables contain garbage values, which can cause program malfunctions. The most recommended way to initialize member variables is to specify default values at the point of declaration. Although some older compiler versions may not support this, if supported, it is the best method to guarantee initialization of all members regardless of constructor presence.\n\nIf using default initializers is not feasible, all primitive and pointer type member variables must be initialized in the constructor member initializer list. For class-type members with their own constructors, the default constructor is called automatically, so explicitly calling it can be omitted for practical purposes.\n\nAdditionally, for delegating constructors that delegate initialization to another constructor, the responsibility for initialization lies with the delegated constructor, so no separate member initialization is required.",
  "rule.sast.q.cpp.7475.example.0.dangerous": "Line 4: The constructor was declared as default, but member variables except for name, which has its own constructor, were not initialized.\nLine 5: age was assigned in the constructor body, but the incomes array was not initialized.\nLine 14: An explicit constructor was not declared despite uninitialized member variables in the union struct.",
  "rule.sast.q.cpp.7475.example.0.safe": "Line 4: All member variables must be properly initialized in the member initializer list.  \nLine 5: Omitting initialization is allowed for member variables that automatically call the default constructor, such as class types.  \nLine 6: Omitting initialization is allowed for delegating constructors that delegate initialization to another constructor.  \nLine 13: When initializing member variables with a default member initializer, omitting the constructor declaration or initialization is allowed.",
  "rule.sast.q.cpp.7475.name": "Member variable initialization omitted",
  "rule.sast.q.cpp.83.description": "The Missing call of specified library function checker finds instances of failure to call optionally specified library functions.\nThe checker reports a defect when specified library functions are not called. By default, the library functions include printf(), scanf(), fprintf(), and fscanf().\nUse the optionally specified necessary library functions.",
  "rule.sast.q.cpp.83.example.0.dangerous": "Line 2: No library function specified in toption is used in make_device() function.",
  "rule.sast.q.cpp.83.example.0.safe": "Line 2: printf() function is used.",
  "rule.sast.q.cpp.83.name": "Missing call of specified library function",
  "rule.sast.q.cpp.83.option.function_should_be_used.description": "Set up functions should be used",
  "rule.sast.q.cpp.83.option.function_should_be_used.name": "Functions should be used",
  "rule.sast.q.cpp.84.description": "The Missing call of library function with specified parameter checker finds instances in which a function having an optionally specified parameter calls a forbidden function.\nThe checker searches functions that use an optionally specified parameter. You can optionally specify files excluded from analysis, forbidden functions, and parameter types held by functions subject to analysis.\nDo not allow functions having an optionally defined parameter to call a forbidden function.",
  "rule.sast.q.cpp.84.example.0.dangerous": "Line 2: A parameter of Func() function is an int type. This is a subject to analysis.\nLine 3: A forbidden divide() function is called.",
  "rule.sast.q.cpp.84.example.0.safe": "Line 2: Do not call the forbidden divide() function from target Func(int).",
  "rule.sast.q.cpp.84.name": "Missing call of library function with specified parameter",
  "rule.sast.q.cpp.84.option.file_target_excluded.description": "Set up files to be excluded from analyzing.",
  "rule.sast.q.cpp.84.option.file_target_excluded.name": "Files to be excluded",
  "rule.sast.q.cpp.84.option.function_should_not_be_used.description": "Set up forbidden functions.",
  "rule.sast.q.cpp.84.option.function_should_not_be_used.name": "Function which should not be called.",
  "rule.sast.q.cpp.84.option.function_target_have_param_type.description": "Required parameter's type",
  "rule.sast.q.cpp.84.option.function_target_have_param_type.name": "Required parameter's type",
  "rule.sast.q.cpp.85.description": "The Missing call of required library function with required argument checker finds calls to optionally specified functions that are not passed with the defined argument.\nThe checker searches calls to optionally specified functions to check if the passed argument assumes the optionally defined value. You can optionally specify files excluded from analysis, callee functions, and parameter names to be taken.\nMake sure calls to optionally specified functions are passed with the defined argument.",
  "rule.sast.q.cpp.85.example.0.dangerous": "Line 4: No argument is found in a function specified in the option.",
  "rule.sast.q.cpp.85.example.0.safe": "Line 4: Use the argument of the function defined in the option.",
  "rule.sast.q.cpp.85.name": "Missing call of required library function with required argument",
  "rule.sast.q.cpp.85.option.call_param_should_be_name.description": "Required call parameters",
  "rule.sast.q.cpp.85.option.call_param_should_be_name.name": "Required call parameters",
  "rule.sast.q.cpp.85.option.call_target.description": "Target function call",
  "rule.sast.q.cpp.85.option.call_target.name": "Target function call",
  "rule.sast.q.cpp.85.option.file_target_excluded.description": "Set up files to be excluded from analyzing.",
  "rule.sast.q.cpp.85.option.file_target_excluded.name": "Files to be excluded",
  "rule.sast.q.cpp.86.description": "The Missing call of required function checker finds instances in which a specified function is called but other functions that are set to accompany the function call are not called.\nYou can optionally specify files excluded from analysis, functions subject to analysis, and necessary functions and accompanied functions.\nWhen calling an optionally specified function, make sure the functions set to accompany it are called together.",
  "rule.sast.q.cpp.86.example.0.dangerous": "Line 8: Call the LB_call_WLC_exit() function. Then, LB_call_WLC_need() function is not called.",
  "rule.sast.q.cpp.86.example.0.safe": "Line 8: Call the LB_call_WLC_exit() function.\nLine 11: Call the LB_call_WLC_need() function.",
  "rule.sast.q.cpp.86.name": "Missing call of required function",
  "rule.sast.q.cpp.86.option.file_target_excluded.description": "Set up files to be excluded from analyzing.",
  "rule.sast.q.cpp.86.option.file_target_excluded.name": "Files to be excluded",
  "rule.sast.q.cpp.86.option.function_target.description": "Set target functions with regular expressions",
  "rule.sast.q.cpp.86.option.function_target.name": "Target functions",
  "rule.sast.q.cpp.86.option.function_used_set.description": "Required function and function should be used with the required function",
  "rule.sast.q.cpp.86.option.function_used_set.name": "Required function and function should be used with the required function",
  "rule.sast.q.cpp.87.description": "The Misuse of malloc checker finds instances of using any of the optionally forbidden memory-related functions.\nYou can optionally specify files excluded from analysis, whether to analyze if included with a header, functions excluded from analysis, and forbidden functions.\nDo not use the optionally forbidden memory-related functions.",
  "rule.sast.q.cpp.87.example.0.dangerous": "Line 6: memory() function is defined.\nLine 7: A forbidden malloc_FB06() function is called.\nLine 8: A forbidden realloc_FB06() function is called.",
  "rule.sast.q.cpp.87.example.0.safe": "Line 6: Define Function() function.\nLine 7: Call the allowed malloc() function.\nLine 8: Call the allowed realloc() function.",
  "rule.sast.q.cpp.87.name": "Misuse of malloc",
  "rule.sast.q.cpp.87.option.file_target_excluded.description": "Set up files to be excluded from analyzing.",
  "rule.sast.q.cpp.87.option.file_target_excluded.name": "Files to be excluded",
  "rule.sast.q.cpp.87.option.file_target_have_include.description": "Target files that includes forbidden headers",
  "rule.sast.q.cpp.87.option.file_target_have_include.name": "Target files that includes forbidden headers",
  "rule.sast.q.cpp.87.option.function_should_not_be_used.description": "Set up forbidden functions.",
  "rule.sast.q.cpp.87.option.function_should_not_be_used.name": "Forbidden functions",
  "rule.sast.q.cpp.87.option.function_target_excluded.description": "Set up functions to be excluded from analyzing.",
  "rule.sast.q.cpp.87.option.function_target_excluded.name": "Functions to be excluded",
  "rule.sast.q.cpp.89.description": "The Misuse of process APIs checker finds instances of using any of the optionally forbidden process-related functions.\nYou can optionally specify files excluded from analysis, whether to analyze if included with a header, functions excluded from analysis, and forbidden functions.\nDo not use the optionally forbidden process-related functions.",
  "rule.sast.q.cpp.89.example.0.dangerous": "Line 3: terminate_process() function is defined.\nLine 6: A forbidden fork_FB08() function is called.",
  "rule.sast.q.cpp.89.example.0.safe": "Line 3: Define create_process() function.\nLine 6: Call the allowed fork() function.",
  "rule.sast.q.cpp.89.name": "Misuse of process APIs",
  "rule.sast.q.cpp.89.option.file_target_excluded.description": "Files to be excluded",
  "rule.sast.q.cpp.89.option.file_target_excluded.name": "Files to be excluded",
  "rule.sast.q.cpp.89.option.file_target_have_include.description": "Target files that includes forbidden headers",
  "rule.sast.q.cpp.89.option.file_target_have_include.name": "Target files that includes forbidden headers",
  "rule.sast.q.cpp.89.option.function_should_not_be_used.description": "Set up forbidden functions",
  "rule.sast.q.cpp.89.option.function_should_not_be_used.name": "Function which should not be called.",
  "rule.sast.q.cpp.89.option.function_target_excluded.description": "Set up functions to be excluded with regular expression.",
  "rule.sast.q.cpp.89.option.function_target_excluded.name": "Function to be excluded",
  "rule.sast.q.cpp.90.description": "The Misuse of resource APIs checker finds instances of using any of the optionally forbidden resource restriction-related functions.\nYou can optionally specify files excluded from analysis, whether to analyze if included with a header, functions excluded from analysis, and forbidden functions.\nDo not use the optionally forbidden resource restriction-related functions.",
  "rule.sast.q.cpp.90.example.0.dangerous": "Line 6: resource_limit() function is defined.\nLine 8: getrlimit_FB09() function is called.",
  "rule.sast.q.cpp.90.example.0.safe": "Line 6: Define create_limit() function.\nLine 8: Call the allowed getrlimit() function.",
  "rule.sast.q.cpp.90.name": "Misuse of resource APIs",
  "rule.sast.q.cpp.90.option.file_target_excluded.description": "Files to be excluded",
  "rule.sast.q.cpp.90.option.file_target_excluded.name": "Files to be excluded",
  "rule.sast.q.cpp.90.option.file_target_have_include.description": "Target files that includes forbidden headers",
  "rule.sast.q.cpp.90.option.file_target_have_include.name": "Target files that includes forbidden headers",
  "rule.sast.q.cpp.90.option.function_should_not_be_used.description": "Set up forbidden functions.",
  "rule.sast.q.cpp.90.option.function_should_not_be_used.name": "Forbidden functions",
  "rule.sast.q.cpp.90.option.function_target_excluded.description": "Set up functions to be excluded from analyzing.",
  "rule.sast.q.cpp.90.option.function_target_excluded.name": "Functions to be excluded",
  "rule.sast.q.cpp.91.description": "The Misuse of signal APIs checker finds instances of using any of the optionally forbidden signal-related functions.\nYou can optionally specify files excluded from analysis, whether to analyze if included with a header, functions excluded from analysis, and forbidden functions.\nDo not use the optionally forbidden signal-related functions.",
  "rule.sast.q.cpp.91.example.0.dangerous": "Line 4: signal_handler() function is defined.\nLine 5: signal_FB10() function is called.",
  "rule.sast.q.cpp.91.example.0.safe": "Line 4: Define create_signal_handler() function.\nLine 5: Call the allowed signal() function.",
  "rule.sast.q.cpp.91.name": "Misuse of signal APIs",
  "rule.sast.q.cpp.91.option.file_target_excluded.description": "Files to be excluded",
  "rule.sast.q.cpp.91.option.file_target_excluded.name": "Files to be excluded",
  "rule.sast.q.cpp.91.option.file_target_have_include.description": "Target files that includes forbidden headers",
  "rule.sast.q.cpp.91.option.file_target_have_include.name": "Target files that includes forbidden headers",
  "rule.sast.q.cpp.91.option.function_should_not_be_used.description": "Set up forbidden functions.",
  "rule.sast.q.cpp.91.option.function_should_not_be_used.name": "Forbidden functions",
  "rule.sast.q.cpp.91.option.function_target_excluded.description": "Set up functions to be excluded from analyzing.",
  "rule.sast.q.cpp.91.option.function_target_excluded.name": "Functions to be excluded",
  "rule.sast.q.cpp.92.description": "The Misuse of TP APIs checker finds instances of using any of the optionally forbidden TP (TMAX)-related functions.\nYou can optionally specify files excluded from analysis, whether to analyze if included with a header, functions excluded from analysis, and forbidden functions.\nDo not use the optionally forbidden TP (TMAX)-related functions.",
  "rule.sast.q.cpp.92.example.0.dangerous": "Line 4: terminate_tp() function is defined.\nLine 6: tprecv_FB11() is called.",
  "rule.sast.q.cpp.92.example.0.safe": "Line 4: Define create_tp() function.\nLine 5: Call the allowed tprecv() function.",
  "rule.sast.q.cpp.92.name": "Misuse of TP APIs",
  "rule.sast.q.cpp.92.option.file_target_excluded.description": "Files to be excluded",
  "rule.sast.q.cpp.92.option.file_target_excluded.name": "Files to be excluded",
  "rule.sast.q.cpp.92.option.file_target_have_include.description": "Target files that includes forbidden headers",
  "rule.sast.q.cpp.92.option.file_target_have_include.name": "Target files that includes forbidden headers",
  "rule.sast.q.cpp.92.option.function_should_not_be_used.description": "Set up forbidden functions.",
  "rule.sast.q.cpp.92.option.function_should_not_be_used.name": "Forbidden functions",
  "rule.sast.q.cpp.92.option.function_target_excluded.description": "Set up functions to be excluded from analyzing.",
  "rule.sast.q.cpp.92.option.function_target_excluded.name": "Functions to be excluded",
  "rule.sast.q.cpp.93.description": "The Use of temporary file-related function checker finds instances of generating a temporary file in an improper way. \nYou can optionally specify files excluded from analysis, whether to analyze if included with a header, functions excluded from analysis, and forbidden risky library functions responsible for temporary-file generation.\nIf a temporary file is generated with a predictable name or to be accessible to an arbitrary program, it may allow attackers to manipulate the file for program malfunctions. \nIt is recommended to name temporary files unpredictably and make them accessible only by the executing program.",
  "rule.sast.q.cpp.93.example.0.dangerous": "Line 3: make_temp() function is defined.\nLine 5: mktemp_FB12() function is called.",
  "rule.sast.q.cpp.93.example.0.safe": "Line 3: Define create_temp() function.\nLine 5: Call the allowed mktemp() function.",
  "rule.sast.q.cpp.93.name": "Use of temporary file-related function",
  "rule.sast.q.cpp.93.option.file_target_excluded.description": "Files to be excluded",
  "rule.sast.q.cpp.93.option.file_target_excluded.name": "Files to be excluded",
  "rule.sast.q.cpp.93.option.file_target_have_include.description": "Target files that includes forbidden headers",
  "rule.sast.q.cpp.93.option.file_target_have_include.name": "Target files that includes forbidden headers",
  "rule.sast.q.cpp.93.option.function_should_not_be_used.description": "Set up forbidden functions.",
  "rule.sast.q.cpp.93.option.function_should_not_be_used.name": "Forbidden functions",
  "rule.sast.q.cpp.93.option.function_target_excluded.description": "Set up functions to be excluded from analyzing.",
  "rule.sast.q.cpp.93.option.function_target_excluded.name": "Functions to be excluded",
  "rule.sast.q.cpp.94.description": "The Misuse of timer APIs checker finds instances of using any of the optionally forbidden timer-related functions.\nYou can optionally specify files excluded from analysis, whether to analyze if included with a header, functions excluded from analysis, and forbidden functions.\nDo not use the optionally forbidden timer-related functions.",
  "rule.sast.q.cpp.94.example.0.dangerous": "Line 2: set_sleep_func() function is defined.\nLine 4: sleep_FB13() function is called.",
  "rule.sast.q.cpp.94.example.0.safe": "Line 2: Define create_sleep_func() function.\nLine 4: Call the allowed sleep() function.",
  "rule.sast.q.cpp.94.name": "Misuse of timer APIs",
  "rule.sast.q.cpp.94.option.file_target_excluded.description": "Files to be excluded",
  "rule.sast.q.cpp.94.option.file_target_excluded.name": "Files to be excluded",
  "rule.sast.q.cpp.94.option.file_target_have_include.description": "Target files that includes forbidden headers",
  "rule.sast.q.cpp.94.option.file_target_have_include.name": "Target files that includes forbidden headers",
  "rule.sast.q.cpp.94.option.function_should_not_be_used.description": "Set up forbidden functions.",
  "rule.sast.q.cpp.94.option.function_should_not_be_used.name": "Forbidden functions",
  "rule.sast.q.cpp.94.option.function_target_excluded.description": "Set up functions to be excluded from analyzing.",
  "rule.sast.q.cpp.94.option.function_target_excluded.name": "Functions to be excluded",
  "rule.sast.q.cpp.95.description": "The Use of printf checker finds instances of using the printf() function.\nThe printf() function is usually used for debugging and visual error checking. If details of debugging or errors are exposed, program or system information may also be exposed.\nDo not use the printf() function.",
  "rule.sast.q.cpp.95.example.0.dangerous": "Line 2: printf() function is used.",
  "rule.sast.q.cpp.95.example.0.safe": "Line 2: Do not print out the message through printf() function.",
  "rule.sast.q.cpp.95.name": "Use of printf",
  "rule.sast.q.cpp.96.description": "The Accessing array via subscript operator checker finds instances of using the array operator ( [] ) while accessing an array object.\nThe use of an array expression may result in access out of the bounds of the array. This can cause an unexpected result.\nWhen accessing an array, a pointer must be used, instead of an array expression.",
  "rule.sast.q.cpp.96.example.0.dangerous": "Line 2: [] is used for an int type array arr to access array elements.",
  "rule.sast.q.cpp.96.example.0.safe": "Line 2: To access the elements, use a pointer instead of [].",
  "rule.sast.q.cpp.96.name": "Accessing array via subscript operator",
  "rule.sast.q.cpp.97.description": "The Use of umask before calling fopen checker finds instances of violating an optionally specified sequence of function calls.\nYou can optionally specify files excluded from analysis, functions subject to analysis, functions excluded from analysis, functions to call earlier, and functions to call later.\nConform to optionally specified sequences of function calls.",
  "rule.sast.q.cpp.97.example.0.dangerous": "Line 3: A subject to analysis, Func() function, is defined.\nLine 5: fopen_FBD16() function is called.\nLine 4: umask_FBD16() function is called before the fopen_FBD16(). This is caught by the checker.",
  "rule.sast.q.cpp.97.example.0.safe": "Line 3: A subject to analysis, Func() function, is defined.\nLine 4: fopen_FBD16() function is called.\nLine 5: umask_FBD16() function is called. Conform the specified sequence.",
  "rule.sast.q.cpp.97.name": "Use of umask before calling fopen",
  "rule.sast.q.cpp.97.option.file_target_excluded.description": "Files to be excluded",
  "rule.sast.q.cpp.97.option.file_target_excluded.name": "Files to be excluded",
  "rule.sast.q.cpp.97.option.function_should_not_be_used.description": "Set up forbidden functions.",
  "rule.sast.q.cpp.97.option.function_should_not_be_used.name": "Forbidden functions",
  "rule.sast.q.cpp.97.option.function_target.description": "Set target functions with regular expressions",
  "rule.sast.q.cpp.97.option.function_target.name": "Target functions",
  "rule.sast.q.cpp.97.option.function_target_begin_call_function.description": "Target functions begin call",
  "rule.sast.q.cpp.97.option.function_target_begin_call_function.name": "Target functions begin call",
  "rule.sast.q.cpp.97.option.function_target_excluded.description": "Set up functions to be excluded from analyzing.",
  "rule.sast.q.cpp.97.option.function_target_excluded.name": "Functions to be excluded",
  "rule.sast.q.cpp.99.description": "The Accessing member of structure multiple times checker finds instances of accessing a field of a specific struct more than the specified count.\nYou can optionally specify files excluded from analysis, functions subject to analysis, functions excluded from analysis, and the allowed number of accesses to a member.\nDo not exceed the optionally specified number of accesses to a struct field.",
  "rule.sast.q.cpp.99.example.0.dangerous": "Line 10: Field a of obj struct is accessed for the third time.",
  "rule.sast.q.cpp.99.example.0.safe": "Line 9: Field a of obj struct is accessed for the second time. Do not exceed the specified number of accesses.",
  "rule.sast.q.cpp.99.name": "Accessing member of structure multiple times",
  "rule.sast.q.cpp.99.option.file_target_excluded.description": "Set up excluded files' name.",
  "rule.sast.q.cpp.99.option.file_target_excluded.name": "Excluded files to analyze",
  "rule.sast.q.cpp.99.option.function_target.description": "Set up target functions' name.",
  "rule.sast.q.cpp.99.option.function_target.name": "Target function to analyze",
  "rule.sast.q.cpp.99.option.function_target_excluded.description": "Set up excluded functions' name",
  "rule.sast.q.cpp.99.option.function_target_excluded.name": "Excluded functions",
  "rule.sast.q.cpp.99.option.member_assign_limit.description": "Limit member assignment count.",
  "rule.sast.q.cpp.99.option.member_assign_limit.name": "Limit member assignment",
  "rule.sast.q.cs.1006.description": "The Division by zero checker finds instances of division by zero.\nAs the division operation is not defined with a zero divisor, an attempt of division by zero may cause an exception at the CPU level. This may lead to an abnormal shutdown of the program or denial of service (DoS).\nFor any division operations, check if the second operand may possibly be assigned a 0. If the value range of the second operand is not determinable, it is recommended to add a code checking the divisor for zero.",
  "rule.sast.q.cs.1006.example.0.dangerous": "Line 6: A division by zero is found.",
  "rule.sast.q.cs.1006.example.0.safe": "Line 5: Check zero for the divisor, and then perform the division.",
  "rule.sast.q.cs.1006.name": "Division by zero",
  "rule.sast.q.cs.1007.description": "The Null dereference checker finds instances of dereferencing a null constant or a null-assigned variable without checking it for null.\nIf a value that might be null is dereferenced, a NullReferenceException exception may occur during program execution. This may result in an abnormal termination of the program.\nA NullReferenceException exception allows for a vulnerability exploited to plan attacks.\nAny variable that can possibly assume a null must be checked for null before used.",
  "rule.sast.q.cs.1007.example.0.dangerous": "Line 11: When a null is given as an argument of ToUpperCase() function, a null dereference occurs.",
  "rule.sast.q.cs.1007.example.0.safe": "Line 11: ToUpperCase() function checks for null before using an argument string.",
  "rule.sast.q.cs.1007.name": "Null dereference",
  "rule.sast.q.cs.1008.description": "The Dereference of Null Return Value checker finds instances of dereferencing a return value without checking it for null.\nA function that might return null must be checked for null before used. Otherwise, the program may be interrupted.\nA NullReferenceException exception allows for a vulnerability exploited to plan attacks.\nA function with a return type must be checked for null before used.",
  "rule.sast.q.cs.1008.example.0.dangerous": "Line 7: A return value of a function that returns nulls is used without a null check.",
  "rule.sast.q.cs.1008.example.0.safe": "Line 7: Check a null for the function that returns nulls.",
  "rule.sast.q.cs.1008.name": "Dereference of Null Return Value",
  "rule.sast.q.cs.1010.description": "The Missing null check checker finds instances in which a variable is once checked for null but later is dereferenced without a null check.\nIf a variable is checked for null at least once, it implies that when writing the null check code, the programmer considered the variable might get null through the execution path reaching that point. And if the same variable is later dereferenced without null check, it is highly likely that the programmer has made a mistake. A NullReferenceException exception allows for a vulnerability exploited to plan attacks.\nUnless a variable is ensured to never be null, make sure it is always checked for null before dereferenced. Conversely, if a variable can never be null and so its null check is unnecessary, have it never checked for null, ensuring consistency and preventing confusion.",
  "rule.sast.q.cs.1010.example.0.dangerous": "Line 6: A null check on a variable x is performed when ToUpper() is called, but not when method ToString() is called. Then, a null dereference can occur.",
  "rule.sast.q.cs.1010.example.0.safe": "Line 9: A null check is performed when method ToString() is called as well.",
  "rule.sast.q.cs.1010.name": "Missing null check",
  "rule.sast.q.cs.1023.description": "The Use of Application.Exit checker finds calls to the Application.Exit() method.\nThis method terminates the program instantly, before the Form.Closed or Form.Closing event is raised, possibly causing a problem.\nDo not use the Application.Exit() method.",
  "rule.sast.q.cs.1023.example.0.dangerous": "Line 5: Application.Exit() is used.",
  "rule.sast.q.cs.1023.example.0.safe": "Line 6: Do not use Application.Exit().",
  "rule.sast.q.cs.1023.name": "Use of Application.Exit",
  "rule.sast.q.cs.1028.description": "The Passing of String to IndexOf checker finds instances in which a string is passed to the IndexOf method.\nWhen getting the index of a single character using the IndexOf method, it ensures better performance to pass a character, rather than a string.\nWhen getting the index of a single character, pass a character to IndexOf.",
  "rule.sast.q.cs.1028.example.0.dangerous": "Line 1: A string is used as an argument of IndexOf.",
  "rule.sast.q.cs.1028.example.0.safe": "Line 1: Instead of the string, use character value.",
  "rule.sast.q.cs.1028.name": "Passing of String to IndexOf",
  "rule.sast.q.cs.1029.description": "The Use of Monitor.Pulse checker finds calls to Monitor.Pulse().\nMonitor.Pulse() does not explicitly specify the target thread.\nUse PulseAll() instead of Pulse().",
  "rule.sast.q.cs.1029.example.0.dangerous": "Line 1: Pulse() method is used.",
  "rule.sast.q.cs.1029.example.0.safe": "Line 1: Instead of Pulse(), use PulseAll() method.",
  "rule.sast.q.cs.1029.name": "Use of Monitor.Pulse",
  "rule.sast.q.cs.1624.description": "The Resource leak checker finds instances of failure to release an allocated resource (file, socket, etc.).\nIf a finite program resource is once allocated and no longer used, it must be reclaimed. If a program error or the framework's garbage collector hinders resources from being quickly reclaimed, the program may run out of resources. This may lead to system performance degradation, interruption of functionality, denial of service (DoS), or failure to claim another resource.\nMake sure any resource allocated in a method is freed before the same method ends. Because such a resource often causes an exception when accessed, it is recommended to enclose it with a try block and have possible exceptions thrown in a finally block.",
  "rule.sast.q.cs.1624.example.0.dangerous": "Line 3: FileStream resource is not freed after allocation.",
  "rule.sast.q.cs.1624.example.0.safe": "Line 3: Allocate resources with using statements. Then, the resources will be naturally freed at the end of the statements.",
  "rule.sast.q.cs.1624.name": "Resource leak",
  "rule.sast.q.cs.1637.description": "The Null return value dereference in standard library checker finds instances of dereferencing a return value from a C# standard library method without checking it for null even through the method can return null.\nIf a standard library method's return is dereferenced without a null check, an exception may be thrown.\nA NullReferenceException exception allows for a vulnerability exploited to plan attacks.\nA return value from a standard library method that can return null must be checked for null before used.",
  "rule.sast.q.cs.1637.example.0.dangerous": "Line 4: The example above shows that Null can be returned from Request.QueryString method. Then, the null dereference can occur by using return values of the method.",
  "rule.sast.q.cs.1637.example.0.safe": "Line 4: Check a null before using return values of Request.QueryString method.",
  "rule.sast.q.cs.1637.name": "Null return value dereference in standard library",
  "rule.sast.q.cs.1842.description": "The Empty finally Block checker finds finally blocks that are empty.\nAn empty finally block may behave unexpectedly.\nRemove empty finally blocks or add meaningful code in them.",
  "rule.sast.q.cs.1842.example.0.dangerous": "Line 31: Finally statements is declared with empty blocks.",
  "rule.sast.q.cs.1842.example.0.safe": "Line 32: Fill the finally blocks with desired code.",
  "rule.sast.q.cs.1842.name": "Empty finally Block",
  "rule.sast.q.cs.940.description": "The Use of forbidden interface checker finds code that implements interfaces, which are supposed not to be implemented.\nYou can optionally specify interfaces that must not be implemented.\nIn particular, the ICloneable interface is forbidden by default, and MSDN officially recommends that this interface not be implemented. It is because this interface does not specify whether an implementation of the Clone() method performs a deep copy or a shallow copy, which is rather implementation-specific; hence callers of this method cannot depend on the method performing a predictable cloning operation. Likewise, because some interfaces are designed to be implemented only in certain classes and to be just used elsewhere without being implemented, you may need to forbid implementation of some interfaces.\nDo not implement interfaces that are specified not to be implemented.",
  "rule.sast.q.cs.940.example.0.dangerous": "Line 1: ICloneable interface forbidden in default setting is inherited.",
  "rule.sast.q.cs.940.example.0.safe": "Line 1: Do not implement a forbidden interface.",
  "rule.sast.q.cs.940.name": "Use of forbidden interface",
  "rule.sast.q.cs.940.option.forbidden_interface.description": "Write forbidden interface.<br />Example) ICloneable",
  "rule.sast.q.cs.940.option.forbidden_interface.name": "Forbidden interface",
  "rule.sast.q.cs.945.description": "The Missing Serializable Attribute checker finds classes that implement the ISerializable interface but do not declare the Serializable attribute.\nWithout the Serializable attribute declared, classes are not serialized.\nIf the Serializable attribute is not declared, an unexpected behavior may occur.\nWhen implementing ISerializable, declare the Serializable attribute.",
  "rule.sast.q.cs.945.example.0.dangerous": "Line 1: A Serializable property is not declared.",
  "rule.sast.q.cs.945.example.0.safe": "Line 1: Declare the Serializable property.",
  "rule.sast.q.cs.945.name": "Missing Serializable Attribute",
  "rule.sast.q.cs.946.description": "The Null Check via Equals Method checker finds instances of using the Equals() method to check an object for null. This always returns false.\nThe unconditional return of false may lead to an unexpected behavior.\nWhen using Equals(), the object must be compared with another object, and a null check must be performed using the == operator.",
  "rule.sast.q.cs.946.example.0.dangerous": "Line 3: Equals() method is used to compare object to null.",
  "rule.sast.q.cs.946.example.0.safe": "Line 3: Use Equals method to compare to other objects, or use == operator to check a null.",
  "rule.sast.q.cs.946.name": "Null Check via Equals Method",
  "rule.sast.q.cs.947.description": "The Just one of defined GetHashCode and Equals checker finds instances of overriding only either of the Equals() and GetHashCode() methods-Equals() is to determine whether two objects are equal, and GetHashCode() is to get a hash code for an object.\nBoth or neither of the GetHashCode() and Equals() methods must be overridden.\nFailure to properly override the GetHashCode() method may result in a program malfunction. If identical objects return different hash codes, or if the same hash code is returned from different objects, an improperly calculated hash object can be added as a field of any hash-based data structure class, thereby causing a malfunction of the data structure.\nIt is recommended to override both methods or neither of them. When implementing their overrides, make sure objects determined by Equals() to be equal have the same GetHashCode() value, and objects having different GetHashCode() values are determined by Equals() to be inequal.",
  "rule.sast.q.cs.947.example.0.dangerous": "Line 2: GetHashCode is overridden.",
  "rule.sast.q.cs.947.example.0.safe": "Line 5: Override Equals() together.",
  "rule.sast.q.cs.947.name": "Just one of defined GetHashCode and Equals",
  "rule.sast.q.cs.948.description": "The Misuse of SqlClientPermission checker finds calls to the SqlClientPermission constructor that have the second argument passed.\nSqlClientPermission's second argument indicates whether a blank password is allowed. If this value is true, a blank password can be used, which is undesirable. Thus, it is safer not to use the second argument.\nDo not pass the second argument to the SqlClientPermission constructor.",
  "rule.sast.q.cs.948.example.0.dangerous": "Line 1: The second argument of SqlClientPermission constructor is used.",
  "rule.sast.q.cs.948.example.0.safe": "Line 1: Do not use the second argument of the SqlClientPermission constructor.",
  "rule.sast.q.cs.948.name": "Misuse of SqlClientPermission",
  "rule.sast.q.cs.951.description": "The Hardcoded file separation character checker finds hardcoded path separators.\nHardcoded path separators can cause compatibility issues when the program is executed on another type of platform.\nInstead of using a hardcoded path separator character, use the language's built-in path separator or define a custom variable representing a path separator.",
  "rule.sast.q.cs.951.example.0.dangerous": "Line 3: A hardcoded file separator is used.",
  "rule.sast.q.cs.951.example.0.safe": "Line 3: Instead of using a hardcoded path separator character, use the language's built-in path separator or define a custom variable representing a path separator.",
  "rule.sast.q.cs.951.name": "Hardcoded file separation character",
  "rule.sast.q.cs.951.option.file_separators.description": "Write hard-coded file separators.<br />Example) //",
  "rule.sast.q.cs.951.option.file_separators.name": "File separators",
  "rule.sast.q.java.1647.description": "The Allowing Javascript on Android checker finds calls to the WebSettings.setJavaScriptEnabled() method that enable the execution of JavaScript scripts.\nIf the execution of JavaScript is allowed, insecure code cannot be prevented.\nDo not call the WebSettings.setJavaScriptEnabled() method.",
  "rule.sast.q.java.1647.example.0.dangerous": "Line 12: setJavaScriptEnabled(true) method is called to execute JavaScript.",
  "rule.sast.q.java.1647.example.0.safe": "Line 12: Do not allow JavaScript to execute.Set setJavaScriptEnabled() method to false, or do not call the method.",
  "rule.sast.q.java.1647.name": "Allowing Javascript on Android",
  "rule.sast.q.java.1647.option.method_name.description": "Write a name of setJavaScriptEnabled method which WebSetting class provides.",
  "rule.sast.q.java.1647.option.method_name.name": "A name of setJavaScriptEnabled method",
  "rule.sast.q.java.1648.description": "The Granting URI permission on Android checker finds instances of granting a permission on an implicit intent.\nAn implicit intent may be intercepted by an external player. Therefore, it is safer to use an explicit intent than to grant an access permission on the URI in an implicit intent.\nDo not call the addFlags() or setFlags() method on an implicit intent to grant a permission on it. Use an explicit intent.",
  "rule.sast.q.java.1648.example.0.dangerous": "Line 9: An implicit intent possible to be leaked is used.",
  "rule.sast.q.java.1648.example.0.safe": "Line 9: Do not allow to use addFlags() method, and recommend to use an explicit intent instead of the implicit intent.",
  "rule.sast.q.java.1648.name": "Granting URI permission on Android",
  "rule.sast.q.java.1648.option.class_fqn.description": "Write a name of Intent class.",
  "rule.sast.q.java.1648.option.class_fqn.name": "A name of Intent class",
  "rule.sast.q.java.1648.option.forbidden_flag.description": "Set a name of forbidden flags.",
  "rule.sast.q.java.1648.option.forbidden_flag.name": "Forbidden flags",
  "rule.sast.q.java.1648.option.method_name.description": "Write a name of addFlags method.",
  "rule.sast.q.java.1648.option.method_name.name": "A name of addFlags",
  "rule.sast.q.java.1649.description": "The Broadcasting intents on Android checker finds calls to the Context.sendBroadcast() method.\nIf an intent is broadcasted globally, sensitive information can be exposed to other applications.\nIt is safe to use intents only within the app.",
  "rule.sast.q.java.1649.example.0.dangerous": "Line 15: Service.sendBraodcast() method is called to send a intent to outside.",
  "rule.sast.q.java.1649.example.0.safe": "Line 14: Use LocalBroadcastManager class to broadcast the intent within the app.",
  "rule.sast.q.java.1649.name": "Broadcasting intents on Android",
  "rule.sast.q.java.1649.option.check_only_method_name.description": "Check only the method name.",
  "rule.sast.q.java.1649.option.check_only_method_name.name": "Check only the method name",
  "rule.sast.q.java.1649.option.class_fqn.description": "Write a name of class which is available to send an intent on broadcast.",
  "rule.sast.q.java.1649.option.class_fqn.name": "A name of broadcasting class",
  "rule.sast.q.java.1649.option.method_name.description": "Write a name of method which is available to send an intent on broadcast.",
  "rule.sast.q.java.1649.option.method_name.name": "A name of broadcasting method",
  "rule.sast.q.java.1650.description": "The Using JavaScript in Android checker finds code that calls addJavascriptInterface() method.\nThe addJavascriptInterface() method allows users to control the Android apps by using Javascript. The method might be useful in certain cases, security issues will arise as well. When untrustworthy HTML is used in the WebView, such as all or parts of the HTML are provided by an unknown person or process, attackers can use the HTML to run client-side code and other malicious code. So, please avoid using the addJavascriptInterface() method unless you need to run HTML with Javascript inside the WebView. Moreover, do not allow users to go from the WebView to external web pages those are not owned by developers.\nDo not use the addJavascriptInterface() method in Android.",
  "rule.sast.q.java.1650.example.0.dangerous": "Line 18: When Javascript is included in an untrustworthy HTML, use the WebView to run its file.",
  "rule.sast.q.java.1650.example.0.safe": "Line 13: Avoid using the addJavascriptInterface() method unless you need to run HTML with Javascript inside the WebView.",
  "rule.sast.q.java.1650.name": "Using JavaScript in Android",
  "rule.sast.q.java.1650.option.class_fqn.description": "Write a name of WebView class.",
  "rule.sast.q.java.1650.option.class_fqn.name": "A name of WebView class",
  "rule.sast.q.java.1650.option.method_name.description": "Write a name of addJavascriptInterface  method.",
  "rule.sast.q.java.1650.option.method_name.name": "A name of addJavascriptInterface method",
  "rule.sast.q.java.1978.description": "The Class loading hijacking on Android checker finds instances of loading a Dalvik class file from an external storage.\nLoading a class from an untrusted source or environment may allow attackers to execute malicious commands. Because access control is not guaranteed with an external storage, it is safe to assume that an attacker may manipulate an arbitrary class file.\nDo not load a class from an external storage.",
  "rule.sast.q.java.1978.example.0.dangerous": "Line 1: An external data storage is gotten.\nLine 2: A file on the external data storage is loaded.",
  "rule.sast.q.java.1978.example.0.safe": "Line 2: Load files with secure paths only.",
  "rule.sast.q.java.1978.name": "Class loading hijacking on Android",
  "rule.sast.q.java.1978.option.alarm.name": "Detection rule",
  "rule.sast.q.java.1978.option.exclude.name": "Exclusion Rule",
  "rule.sast.q.java.1978.option.propagator.name": "Propagator name",
  "rule.sast.q.java.1978.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.q.java.1979.description": "The Class loading hijacking due to absolute paths on Android checker finds instances of loading a Dalvik class file via a relative path.\nLoading a class from an untrusted source or environment may allow attackers to execute malicious commands. A directory name being looked up by an application could be modified to reference a directory controlled by an attacker, thereby allowing for malicious actions.\nAn absolute path from java.io.File.getAbsolutePath must be used.",
  "rule.sast.q.java.1979.example.0.dangerous": "Line 3: A file object, which can be a relative path, is directly used to load classes.",
  "rule.sast.q.java.1979.example.0.safe": "Line 3: Always send absolute paths as the argument.",
  "rule.sast.q.java.1979.name": "Class loading hijacking due to absolute paths on Android",
  "rule.sast.q.java.1979.option.alarm.name": "Detection rule",
  "rule.sast.q.java.1979.option.exclude.name": "Exclusion Rule",
  "rule.sast.q.java.1979.option.propagator.name": "Propagator name",
  "rule.sast.q.java.1979.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.q.java.1980.description": "The Bypassing permission checking on Android checker finds calls to the Context.checkCallingOrSelfPermission() method.\nIf this API is called, an application that lacks the necessary permission or has no permissions at all may use another app's permission to bypass the permission checks. This is risky because a malicious app can be granted an access permission.\nDo not use this method.",
  "rule.sast.q.java.1980.example.0.dangerous": "Line 2: checkCallingOrSelfPermission() method is used to bypass a permission.",
  "rule.sast.q.java.1980.example.0.safe": "Line 2: Do not use the API.",
  "rule.sast.q.java.1980.name": "Bypassing permission checking on Android",
  "rule.sast.q.java.1980.option.check_only_method_name.description": "Check only the method name",
  "rule.sast.q.java.1980.option.check_only_method_name.name": "Check only the method name",
  "rule.sast.q.java.1980.option.method_name.description": "Permissiong check bypass method list",
  "rule.sast.q.java.1980.option.method_name.name": "Permissiong check bypass method list",
  "rule.sast.q.java.2041.description": "The Use of AWT or Swing checker finds instances of using AWT or Swing in an EJB program.\nThe EJB specification prohibits the use of AWT and Swing. Most servers do not allow interactions with their sever system from the application, keyboard, or display.\nDo not use AWT and Swing.",
  "rule.sast.q.java.2041.example.0.dangerous": "Line 1: AWT library is used.\nLine 2: Swing library is used.",
  "rule.sast.q.java.2041.example.0.safe": "Line 1: Do not use the forbidden library.",
  "rule.sast.q.java.2041.name": "Use of AWT or Swing",
  "rule.sast.q.java.2042.description": "The Use of Java IO finds instances of using the java.io package in an EJB program.\nThe EJB specification prohibits the use of java.io.\nWhen accessing files and directories, do not use the java.io package but use a resource management API such as JDBC.",
  "rule.sast.q.java.2042.example.0.dangerous": "Line 1: A class of java.io class is used.",
  "rule.sast.q.java.2042.example.0.safe": "Line 1: Use other resource management APIs permitted from EJB.",
  "rule.sast.q.java.2042.name": "Use of Java IO",
  "rule.sast.q.java.2825.description": "The Android Security Alert Notification checker finds code that calls handler.processed() method from onRecoveredSslError() method without branches.\nThe checker finds the handler.process() method called by the onRecoveredSslError() method without using branch statements. The handler.process() method needs to be called in if statements.\nThis leads to unsafe implementation of WebViewClient.onRecoveredSlError handler in Android applications. In particular, the issue ignores all SSL certificate verification errors, making the app vulnerable to broker attacks. An attacker can manipulate related contents in WebView, read transferred data, for example, login user credentials, or use JavaScript to execute code inside the app.\nEnsure to call the handler.proceed() method in the branch.",
  "rule.sast.q.java.2825.example.0.dangerous": "Line 3: handler.process() method of onRecoveredSslError() method is called without a branch.",
  "rule.sast.q.java.2825.example.0.safe": "Line 4: Call the handler.proceed() method in if statements.\nLine 8: Call the handler.proceed() method in else statements.",
  "rule.sast.q.java.2825.name": "Android Security Alert Notification",
  "rule.sast.q.java.2833.description": "The Cross-site scripting by escapeXml checker finds code that specifies escapeXml attributes to false for c:out tags in Java Standard Tag Library.\nBy default, the value of escapeXml attribute of c:out tag is true. If you set this attribute to false, HTML tag scripts is not converted and printed out to web pages. This may cause cross-site scripting vulnerabilities.\nSet the escapeXml attribute to true.",
  "rule.sast.q.java.2833.example.0.dangerous": "Line 1: escapeXml attribute is set to false. As EL expression with value attribute references a requested parameter, external inputs can be printed out to pages.",
  "rule.sast.q.java.2833.example.0.safe": "Line 1: Set the escapeXml attribute to true.\nLine 2: By default, the value of escapeXml attribute of c:out tag is true.",
  "rule.sast.q.java.2833.name": "Cross-site scripting by escapeXml",
  "rule.sast.q.java.2975.description": "The Missing Broadcaster Permission in Android checker finds code that fails to set permissions for registering broadcast receivers.\nEnsure to use one of the followings: registerReceiver(BroadcastReceiver receiver, IntentFilter filter, String broadcastPermission, Handler scheduler, int flags), or registerReceiver(BroadcastReceiver receiver, IntentFilter filter, String broadcastPermission, Handler scheduler).\nIt is not recommended to use registerReceiver without broadcastPermission, which happens by overconfidence on messages. If the messages contain malicious data or the messages are sent by malicious broadcaster, your applications might get damaged.",
  "rule.sast.q.java.2975.example.0.dangerous": "Line 13: registerReceiver function is used without permission.",
  "rule.sast.q.java.2975.example.0.safe": "Line 15: Set a permission for the registerReceiver function.",
  "rule.sast.q.java.2975.name": "Missing Broadcaster Permission in Android",
  "rule.sast.q.java.2996.description": "The Cross-site scripting in Android checker finds code that uses an external input in HTML without validation.\nIf unvalidated external inputs are allowed for page generation, attackers can inject malicious scripts into the pages. This vulnerability lets attackers take over a user's cookie, session, or other information or execute an abnormal function.\nWhen an external input url is sent to loadUrl function of WebView class, check that the url is secure by using startsWith function.",
  "rule.sast.q.java.2996.example.0.dangerous": "Line 1: An external input is sent to url variable.\nLine 6: The external input url is used for a parameter of loadUrl function.",
  "rule.sast.q.java.2996.example.0.safe": "Line 1: Save an external input to url variable.\nLine 5: Check that the external input url is secure, then use it.",
  "rule.sast.q.java.2996.name": "Cross-site scripting in Android",
  "rule.sast.q.java.2996.option.alarm.name": "Detection Rule",
  "rule.sast.q.java.2996.option.exclude.name": "Exclusion Rule",
  "rule.sast.q.java.2996.option.propagator.name": "Propagator name",
  "rule.sast.q.java.2996.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.q.java.389.description": "The Use of public static final Array checker finds array declarations prefixed with the public static final modifier.\nAn array with at least one element is mutable. Often class member fields are declared public static final with the assumption that their contents will be immutable. But in the case of array fields, even if thus declared, their contents are still mutable and so possibly manipulatable from the client side. This often leads to security vulnerabilities.\nIf an array's elements must stay unchanged, apply the private modifier to its declaration and do not pass the whole array object when its elements need to be accessed. Provide a method that allows access to individual elements of the method, or pass a copy of the array.",
  "rule.sast.q.java.389.example.0.dangerous": "Line 2: A class includes a static public final array, for example, EMPLOYEE_NAME, which can be dangerous.",
  "rule.sast.q.java.389.example.0.safe": "Line 3: It is recommended to declare the array as private and make copies if needed.",
  "rule.sast.q.java.389.name": "Use of public static final Array",
  "rule.sast.q.java.391.description": "The Overloading of equals checker finds definitions of the equals() method that take another parameter type than java.lang.Object.\nUnless for special reasons, overloading Object.equals() instead of overriding it can cause a class behavior that is not straightforwardly understandable to users of the class. \nMake sure the equals() method is defined to take a java.lang.Object parameter. If you want to prevent equals() from being overloaded by mistake, you can put the @Override annotation before the method declaration. The compiler then will throw a compile-time error if such a mistake is made.",
  "rule.sast.q.java.391.example.0.dangerous": "Line 1: The example method definition does not override Object.equals, whose argument is of type Object, but it overrides the equals method that takes an argument of type SomeClass.",
  "rule.sast.q.java.391.example.0.safe": "Line 1: To avoid mistakes, specify @Override and specify the argument type of the equals method as Object.",
  "rule.sast.q.java.391.name": "Overloading of equals",
  "rule.sast.q.java.392.description": "The Use of equals between Arrays checker finds calls to the base equals() method intended for comparison between two array objects.\nThis checker is to detect programming mistakes that occur due to insufficient understanding of how to use the equals() method on objects. A call to the base method of equals(), instead of the overridden Array method of equals(), performs comparison between the addresses of the arrays rather than between their elements.\nIf you need to check if two arrays have identical elements, write a code that compare the elements between the arrays or use the Arrays class's equals() method.",
  "rule.sast.q.java.392.example.0.dangerous": "Line 3: Two arrays are compared by using equals() method.",
  "rule.sast.q.java.392.example.0.safe": "Line 2: Use equals() method provided by Arrays library class to check that the contents of the two arrays are identical.",
  "rule.sast.q.java.392.name": "Use of equals between Arrays",
  "rule.sast.q.java.393.description": "The Missing check of return value from string methods checker finds unused returns called by specific string manipulation methods.\nThe checker searches calls to the following String class methods: trim(), toLowerCase(), substring(), toString(), and toUpperCase(). \nThese methods do not modify the string object passed to them but return a new object that represents the resultant manipulated string. Therefore, if one of these methods is called but its return remains unused, this call is just a waste of time and memory. Because such calls are mostly by the developer's mistake, the checker reports these instances to help fix them.\nCheck if the method calls are used as intended. Such calls may be meaninglessly left over by mistake from editing, or remain incomplete despite further actions being planned with their returns, or placed without the knowledge that the methods do not change the original string object but create a new object.",
  "rule.sast.q.java.393.example.0.dangerous": "Line 2: Substring method is called, but its return value is not stored in any variable.",
  "rule.sast.q.java.393.example.0.safe": "Line 2: Store the return value of substring method to another variable.",
  "rule.sast.q.java.393.name": "Missing check of return value from string methods",
  "rule.sast.q.java.395.description": "The Direct Management of Connections checker finds calls to the DriverManager.getConnection() method, which allows the J2EE application directly manages connections.\nSome of the J2EE APIs are weak-either forbidden for security reasons, or highly prone to be used without enough care. Failure to be aware of such APIs may cause security issues. Even if a secure API is used, a misuse of a function may also allow for security issues.\nUse other connection management methods.",
  "rule.sast.q.java.395.example.0.dangerous": "Line 5: DriverManager.getConnection() method is called. This enables to directly connect to resource on J2EE servlet.",
  "rule.sast.q.java.395.example.0.safe": "Line 8: Use other method to manage connection. Use the resource management feature to connect database.",
  "rule.sast.q.java.395.name": "Direct Management of Connections",
  "rule.sast.q.java.396.description": "The Direct Use of Sockets checker finds instances of a J2EE program directly using sockets through the java.net.Socket class.\nThe J2EE standard permits the use of sockets only for the purpose of communication with legacy systems when no higher-level protocol is available. If sockets are directly used, you must address various security difficulties by yourself, which include in-band vs. out-of-band signaling, protocol version compatibility, channel security, error handling, network restrictions, and session control. Addressing all these issues by yourself is extremely challenging and allows for more security vulnerabilities.\nUse other socket management methods.",
  "rule.sast.q.java.396.example.0.dangerous": "Line 8: A socket is directly used in doGet() method.",
  "rule.sast.q.java.396.example.0.safe": "Line 9: Use another library function instead of directly creating a socket.",
  "rule.sast.q.java.396.name": "Direct Use of Sockets",
  "rule.sast.q.java.397.description": "The Race Condition for Database Connection checker finds static declarations of database connection objects.\nA java.sql.Connection object is regarded as a database connection object.\nTransactional resource objects, such as JDBC connections, must not be stored in static fields. Such an object can only be associated with one transaction at a time. For this reason, storing it in a static field causes invalid sharing between different transactional threads. Therefore, do not store database connections in static fields. In a multithreaded program, if multiple threads concurrently access a transactional resource stored in a static field, a race condition may occur leading to program malfunctions whose causes are not easy to find.\nTransactional resource objects are recommended to be stored in instance fields. ",
  "rule.sast.q.java.397.example.0.dangerous": "Line 2: A database connection object is stored in static field.",
  "rule.sast.q.java.397.example.0.safe": "Line 2: Do not store the database connection object in static field.",
  "rule.sast.q.java.397.name": "Race Condition for Database Connection",
  "rule.sast.q.java.404.description": "The Resource leak checker finds instances of failure to release an allocated resource (file, socket, etc.). \nIf a finite program resource is once allocated and no longer used, it must be reclaimed. If a program error or the JVM garbage collector hinders resources from being quickly reclaimed, the program may run out of resources. This may lead to system performance degradation, interruption of functionality, denial of service (DoS), or failure to claim another resource.\nMake sure any resource allocated in a method is freed before the same method ends. Because such a resource often causes an exception when accessed, it is recommended to enclose it with a try block and have possible exceptions thrown in a finally block.",
  "rule.sast.q.java.404.example.0.dangerous": "Line 4: When an exception occurs after resource allocation, its resource is not released.",
  "rule.sast.q.java.404.example.0.safe": "Line 12: Use try-with-resources to prevent resource leaks.",
  "rule.sast.q.java.404.name": "Resource leak",
  "rule.sast.q.java.405.description": "The Division by zero checker finds instances of division by zero.\nAs the division operation is not defined with a zero divisor, an attempt of division by zero may cause an exception at the CPU level. This may lead to an abnormal shutdown of the program or denial of service (DoS).\nFor any division operations, check if the second operand may possibly be assigned a 0. If the value range of the second operand is not determinable, it is recommended to add a code checking the divisor for zero.",
  "rule.sast.q.java.405.example.0.dangerous": "Line 3: A divisor can be zero, because an input is not validated.",
  "rule.sast.q.java.405.example.0.safe": "Line 4: To avoid division by zero, check that divisor is zero.\nLine 6: When the divisor is zero, print our an error message and throw an ArithmeticException exception.",
  "rule.sast.q.java.405.name": "Division by zero",
  "rule.sast.q.java.406.description": "The Null dereference checker finds instances of dereferencing a null constant or a null-assigned variable without checking it for null. \nIf a value that might be null is dereferenced, a NullPointerException exception may occur during program execution. This may result in an abnormal termination of the program. \nAttackers can use vulnerabilities caused by the NullPointerException exception to plan later attacks.\nUnless a variable is ensured to never be null, make sure it is always checked for null before dereferenced.",
  "rule.sast.q.java.406.example.0.dangerous": "Line 3: A null value is passed to toUpperCase() method.\nLine 6: An argument is dereferenced without a null check.",
  "rule.sast.q.java.406.example.0.safe": "Line 6: Use variables after a null check to avoid a null dereference.",
  "rule.sast.q.java.406.name": "Null dereference",
  "rule.sast.q.java.407.description": "The Null return value dereference checker finds instances of dereferencing a return value without checking it for null.\nIf a method's return is dereferenced without a null check, an exception may be thrown.\nA NullPointerException exception allows for a vulnerability exploited to plan attacks.\nA return value from a method that can return null must be checked for null before used.",
  "rule.sast.q.java.407.example.0.dangerous": "Line 2: returnNull() method returns a null.\nLine 4: A return value of returnNull() method is dereferenced without a null check.",
  "rule.sast.q.java.407.example.0.safe": "Line 5: When calling a method that returns null, check a null before using its return value.",
  "rule.sast.q.java.407.name": "Null return value dereference",
  "rule.sast.q.java.409.description": "The Missing null check checker finds instances in which a variable is once checked for null but later is dereferenced without a null check.\nIf a variable is checked for null at least once, it implies that when writing the null check code, the programmer considered the variable might get null through the execution path reaching that point. And if the same variable is later dereferenced without null check, it is highly likely that the programmer has made a mistake. A NullPointerException exception allows for a vulnerability exploited to plan attacks.\nUnless a variable is ensured to never be null, make sure it is always checked for null before dereferenced. Conversely, if a variable can never be null and so its null check is unnecessary, have it never checked for null, ensuring consistency and preventing confusion. ",
  "rule.sast.q.java.409.example.0.dangerous": "Line 5: Variable x is compared to null.\nLine 8: The variable x, that was compared to null, is used without check.",
  "rule.sast.q.java.409.example.0.safe": "Line 9: A variable is dereferenced after a null check.",
  "rule.sast.q.java.409.name": "Missing null check",
  "rule.sast.q.java.417.description": "The Missing call of super class method checker finds an overriding method definition in which the expected call to the superclass's method is missing.\nThe checker reports a warning if a superclass's method is overridden in a number of its subclasses and only a fraction of the subclasses do not call the superclass's method when overriding it. If the number of subclasses calling its superclass method is A and the number of subclasses not calling its superclass is B, a warning is triggered when A / (A + B) * 100 >= 65% (threshold = 0.65). The threshold is set to 0.65 by default. But even though the threshold is not reached, the checker warns in the following cases:- super.clone() is not called when Object.clone() is overridden. - Object.finalize() is called without a call to super.finalize(). You can whitelist methods for which you do not want reporting from the checker.\nMake sure subclasses consistently do or do not call the superclass method when overriding it.",
  "rule.sast.q.java.417.example.0.dangerous": "Line 3: The clone method does not call a clone method of super class.\nLine 36: Three of four child classes of CallSuperImplTest class is calling a foo function of super to override a foo function. But Daisy class is not calling the foo function.",
  "rule.sast.q.java.417.example.0.safe": "Line 4: Ensure the clone method of super class to be called by the clone method.\nLine 36: Most of subclasses of the CallSuperImplTest class call the foo function of super to override the foo method. Call the foo function in the Daisy class as shown in Line 36.",
  "rule.sast.q.java.417.name": "Missing call of super class method",
  "rule.sast.q.java.419.description": "The Use of Mutable Field in compareTo checker finds overrides of the Comparable.compareTo() method that use mutable fields.\nIf Comparable.compareTo() is overridden to sort objects stored in a collection but non-final or mutable fields are used in the override, objects cannot be compared correctly.\nMake sure only immutable objects are used in evaluation.",
  "rule.sast.q.java.419.example.0.dangerous": "Line 2: SortedSets use compareTo method to order objects when they are inserted.\nLine 8: When a field value to order objects can differ after they are inserted, an unexpected behavior can occur.",
  "rule.sast.q.java.419.example.0.safe": "Line 3: Use immutable values when determining orders between objects with compareTo method.",
  "rule.sast.q.java.419.name": "Use of Mutable Field in compareTo",
  "rule.sast.q.java.420.description": "The Use of Mutable Field in hashCode checker finds overrides of the Object.hashCode() method that use mutable fields.\nThe checker reports a warning when an override of Object.hashCode() reads from a non-final field. As an exception, if a field is not declared final but its value has never been changed after initialized, it can be regarded as a final field.\nWhen implementing an override of the hashCode() method, a hash must be calculated only with objects whose values are never changed since their creation.",
  "rule.sast.q.java.420.example.0.dangerous": "Line 16: A mutable field variable of BadHash class can be changed after object generation. But hashCode method is generating a hash by referencing the variable.",
  "rule.sast.q.java.420.example.0.safe": "Line 11: inferredFianl field does not write any value after initialization, it does not issue MUTABLE_HASHCODE warning.",
  "rule.sast.q.java.420.name": "Use of Mutable Field in hashCode",
  "rule.sast.q.java.423.description": "The Null return value dereference in standard library checker finds instances of dereferencing a return value from a Java standard library method without checking it for null even through the method can return null.\nIf a standard library method's return is dereferenced without a null check, an exception may be thrown.\nA NullPointerException exception allows for a vulnerability exploited to plan attacks.\nA return value from a standard library method that can return null must be checked for null before used.",
  "rule.sast.q.java.423.example.0.dangerous": "Line 6: A return value of readline() method of java.io.BufferedReader class can be a null. If a null is returned, a null dereference occurs by calling toUpperCase() method.",
  "rule.sast.q.java.423.example.0.safe": "Line 7: Use the return value of readLine() method after a null check.",
  "rule.sast.q.java.423.name": "Null return value dereference in standard library",
  "rule.sast.q.java.662.description": "The Improper exception handling checker finds instances of generalizing a wide range of exceptions in handling them.\nFor example, if an exception of root class such as Throwable or Exception is handled, then it can be considered as a generalized exception handling.\nAn extremely wide generalization of exceptions may prevent some specific exceptions from being properly handled; more seriously, this may let even logically implausible cases simply covered by the super generalized handler, hence hindering them from being detected and fixed. As a result, design and implementation defects may remain undiscovered in the development and review phases before the program is deployed into production, possibly leading to serious issues.\nIt is recommended to categorize possible exceptions explicitly and handle them separately. If general exception handling is needed, have it performed in the last place after all specific exceptions are handled. Then, if the flow of execution ever reaches the general exception handling block, it suggests that the caught exception was not considered during development. This helps fix defects implied by unexpected exceptions.",
  "rule.sast.q.java.662.example.0.dangerous": "Line 5: A generalized exception Exception is handled instead of detailed input / output exceptions of using file related APIs.",
  "rule.sast.q.java.662.example.0.safe": "Line 7: Explicitly handle the detailed input / output exceptions.",
  "rule.sast.q.java.662.name": "Improper exception handling",
  "rule.sast.q.java.662.option.check_all_catch_exceptions.description": "If not selected, only one catch statement would be checked using 'Exception'.",
  "rule.sast.q.java.662.option.check_all_catch_exceptions.name": "Check one catch statement.",
  "rule.sast.q.java.662.option.check_all_method_calls.description": "If selected, all excluded methods must be called within catch statement. Otherwise, an issue will be generated.",
  "rule.sast.q.java.662.option.check_all_method_calls.name": "Check calling of all excluded methods",
  "rule.sast.q.java.662.option.excluded_call_name.description": "Write the name of the method to exclude from the checking.<br /><i>Example)</i> getAnonymousLogger",
  "rule.sast.q.java.662.option.excluded_call_name.name": "Excluded Method",
  "rule.sast.q.java.662.option.excluded_class_type.description": "Write the name of the method type to exclude from the checking.<br /><i>Example)</i> java.util.logging.Logger",
  "rule.sast.q.java.662.option.excluded_class_type.name": "Excluded class types",
  "rule.sast.q.java.663.description": "The Invalid Modifier for serialPersistentFields checker finds declarations of the serialPersistentFields field that are not private static final.\nIf the serialPersistentFields field is declared public to be shared, its accuracy may be compromised.\nMake sure this field is declared private static final.",
  "rule.sast.q.java.663.example.0.dangerous": "Line 3: serialPersistentFields is declared as public.",
  "rule.sast.q.java.663.example.0.safe": "Line 3: Declare private, static, or final modifier in SerialPersistentField field.",
  "rule.sast.q.java.663.name": "Invalid Modifier for serialPersistentFields",
  "rule.sast.q.java.664.description": "The Missing synchronization in overriding checker finds instances in which a method is once declared synchronized but later overridden without using the synchronized modifier.\nA synchronized method inherited from the base class must either should not be declared, or should be declared as synchronized if it needs to redefined.",
  "rule.sast.q.java.664.example.0.dangerous": "Line 2: synchronizedMethod method of myClass is declared as synchronized.\nLine 8: synchronizedMethod is overridden without a synchronized in Foo function.",
  "rule.sast.q.java.664.example.0.safe": "Line 7: Use the synchronized keyword for overriding methods in child classes.",
  "rule.sast.q.java.664.name": "Missing synchronization in overriding",
  "rule.sast.q.java.7288.description": "The empty synchronized block checker detects when a synchronized block contains no code. \nSince synchronized blocks are used for thread synchronization, an empty block serves no purpose and only adds unnecessary code. \nIf a synchronized block is empty, it should either be removed or populated with the appropriate synchronization code.",
  "rule.sast.q.java.7288.example.0.dangerous": "Line 4: A synchronized block is empty.",
  "rule.sast.q.java.7288.example.0.safe": "Line 4: Avoid using synchronized keyword unless necessary.\nLine 10: When synchronization is required, write proper synchronization code.",
  "rule.sast.q.java.7288.name": "Empty code within synchronized block",
  "rule.sast.q.java.738.description": "The Double-checked locking checker finds instances of double-checked locking that is performed unnecessarily.\nDouble-checked locking is used for program optimization, but does not behave as intended. Although double-checked locking is attempted to ensure an action is executed only when the intended resource is allocated, it is impossible to ascertain the allocation of a certain resource. To guarantee the allocation of a certain resource, therefore, you need to synchronize the method.\nInstead of uselessly performing repeated checks, have the whole relevant section of code synchronized.",
  "rule.sast.q.java.738.example.0.dangerous": "Line 4: One helper object is assigned.\nLine 6: This seems to guarantee thread safety while avoiding unnecessary synchronization by checking the helper variable value twice. But Java assigns addresses to reference and calls constructors, thus, in case, the helper object can be used without initialization.",
  "rule.sast.q.java.738.example.0.safe": "Line 3: Set sync for the entire methods to make it work as intended.",
  "rule.sast.q.java.738.name": "Double-checked locking",
  "rule.sast.q.java.739.description": "The Use of server socket in EJB checker finds an EJB program directly using a server socket inside a bean to serve the clients.\nThe Enterprise JavaBeans (EJB) specification prohibits a bean from directly using a server socket to serve the clients. An EJB container acts as a network server, and it is designed that all beans in the container serve the EJB clients from the network server; therefore, creating a new server socket within a bean can cause structural confusion.\nComply with the EJB specification.",
  "rule.sast.q.java.739.example.0.dangerous": "Line 2: A server socket is used by an EJB program.",
  "rule.sast.q.java.739.example.0.safe": "Line 3: Do not use the server sockets from the EJB program.",
  "rule.sast.q.java.739.name": "Use of server socket in EJB",
  "rule.sast.q.java.748.description": "The Infinite recursive call checker finds recursive functions that are not properly controlled and thus can be called infinitely.\nIf the program falls into infinite recursion, it keeps on allocating resources such as memory and stack whitespace in most cases, possibly causing performance degradation or an unexpected shutdown of the program. However, it is theoretically impossible to completely prevent an infinite recursion or loop based on static analysis. Therefore, the checker can find only some typical patterns and simple instances.\nPut recursive call statements under proper control statements. If you are not confident of setting recursive termination conditions properly, consider replacing the recursive code with an identically functioning loop.",
  "rule.sast.q.java.748.example.0.dangerous": "Line 5: A recursive call is performed outside a conditional or loop statement block, which commonly results to an infinite recursive call.",
  "rule.sast.q.java.748.example.0.safe": "Line 8: Perform the recursive calls in the conditional or loop statement block.",
  "rule.sast.q.java.748.name": "Infinite recursive call",
  "rule.sast.q.java.751.description": "The Empty catch block checker finds exception-handling blocks that have no relevant content.\nIt detects empty catch blocks containing no actual executable code.\nIf a caught exception is not handled, it is hard to find out the causes of accompanying program errors.\nAdd an exception-handling code in the empty block. If you don't want any measure for an exception, you may simply leave an error message.",
  "rule.sast.q.java.751.example.0.dangerous": "Line 8: An exception is caught in a catch block, but no action is taken.\nLine 10: An exception is caught in a catch block, but no action is taken.",
  "rule.sast.q.java.751.example.0.safe": "Line 10: Take an action for the caught exception.\nLine 17: Take an action for the caught exception.",
  "rule.sast.q.java.751.name": "Empty catch block",
  "rule.sast.q.java.751.option.ignore_close_only.description": "If selected, no issue will be generated although the catch block is empty as long as there is 'close' method within try block.",
  "rule.sast.q.java.751.option.ignore_close_only.name": "Ignore close method within try",
  "rule.sast.q.java.753.description": "The Incorrect overriding of hashCode and equals checker finds instances of overriding only either of the Equals() and GetHashCode() methods-Equals() is to determine whether two objects are equal, and GetHashCode() is to get a hash code for an object.\nBoth or neither of the hashCode() and equals() methods must be overridden.\nFailure to properly override the hashCode() method may result in a program malfunction. This can pose a problem when an improperly implemented object is contained in a hash-based collection class such as HashMap, HashSet, or HashTable.\nIt is recommended to override both methods or neither of them. When implementing their overrides, make sure objects determined by equals() to be equal have the same hashCode() value, and objects having different hashCode() values are determined by equals() to be inequal.",
  "rule.sast.q.java.753.example.0.dangerous": "Line 3: equals() method is overridden but hashCode() is not overridden.\nLine 9: hashCode() method is overridden but equals() is not overridden.",
  "rule.sast.q.java.753.example.0.safe": "Line 2: Override both hashCode() and equals() methods.",
  "rule.sast.q.java.753.name": "Incorrect overriding of hashCode and equals",
  "rule.sast.q.java.754.description": "The Direct Use of Threads checker finds instances of a J2EE Web application directly using threads.\nThread management in a Web application is forbidden by the J2EE standard in some circumstances and is always highly error prone. Managing threads is difficult and is likely to interfere in unpredictable ways with the behavior of the application container.\nFor EJB, use framework approaches for parallel execution, instead of using threads.",
  "rule.sast.q.java.754.example.0.dangerous": "Line 11: A sync error, such as deadlock, race condition, etc., can occur by using threads in J2EE.",
  "rule.sast.q.java.754.example.0.safe": "Line 9: The framework is recommended than threads for parallel processing.",
  "rule.sast.q.java.754.name": "Direct Use of Threads",
  "rule.sast.q.java.755.description": "The Use of System.exit checker finds calls to such methods as System.exit() that terminate the virtual machine.\nAccess to a function that can terminate the application may be exploited for denial-of-service (DoS) attacks. Such functions must be accessible only to authorized administrators. Termination functions pose a security vulnerability. Therefore, a Web application should not call such methods as System.exit() that terminate the virtual machine. It also should not throw any Throwables that may negatively affect the web container. Non-Web programs may include a call to the main() method, but usually the System.exit() method must not be called anywhere in code. If a call to System.exit() is found in code, it is highly likely to be either left over for debugging purposes or derived from a non-J2EE application.\nDo not call the System.exit() method. If a program termination is needed, use another approach such as returning an error code to the caller.",
  "rule.sast.q.java.755.example.0.dangerous": "Line 8: System.exit() method is called.",
  "rule.sast.q.java.755.example.0.safe": "Line 8: System.exit() method cannot be called.",
  "rule.sast.q.java.755.name": "Use of System.exit",
  "rule.sast.q.java.760.description": "The Use of forbidden function checker finds calls to a forbidden method.\nYou can optionally specify methods that should not be called.\nA project may have to prohibit calling certain methods for some reasons: 1) code needs to be consistent throughout the project; 2) those methods have become obsolete and now better approaches are available; or 3) those methods have fundamental defects.\nDo not call forbidden methods. Unless the intended behavior itself is prohibited, you need to consider implementing the same behavior by other means.",
  "rule.sast.q.java.760.example.0.dangerous": "Line 2: Suppose that Forbidden.forbidden() is specified as forbidden. The forbidden method has been called.",
  "rule.sast.q.java.760.example.0.safe": "Line 2: Do not call forbidden methods.",
  "rule.sast.q.java.760.name": "Use of forbidden function",
  "rule.sast.q.java.760.option.forbidden_method.description": "Write the name of the method to forbid in Fully Qualified Name (FQN).<br />Example) com.fasoo.Forbidden.forbidden",
  "rule.sast.q.java.760.option.forbidden_method.name": "Name of the method to forbid",
  "rule.sast.q.java.765.description": "The Division without strictfp qualifier checker finds methods and classes that include a division expression with floating-point numbers but are not declared with the strictfp modifier.\nWithout this modifier, the Java virtual machine may perform a more accurate division operation supported by the platform. This may cause the program to return different results depending on the platform, consequently leading to an unintended behavior. Use the strictfp modifier to stably get a constant result.\nAdd the strictfp modifier to the definition of any method or class that includes a division on floating-point numbers.",
  "rule.sast.q.java.765.example.0.dangerous": "Line 4: A floating point division is performed without a strictfp modifier in its method or class.",
  "rule.sast.q.java.765.example.0.safe": "Line 3: Add the strictfp modifier in the method of the floating point division.",
  "rule.sast.q.java.765.name": "Division without strictfp qualifier",
  "rule.sast.q.java.787.description": "The Missing break statement in case statement checker finds case blocks in switch statements that do not end with a break.\nIf a case block does not end with a jump statement such as a break, return, or throw, the execution flow proceeds to the next case. This situation happens mostly by mistake.\nYou can prevent this mistake by habitually adding a break at the bottom of every case block.",
  "rule.sast.q.java.787.example.0.dangerous": "Line 3: A break is missing in a case 0 block.\nLine 4: A break is missing in a case 1 block.",
  "rule.sast.q.java.787.example.0.safe": "Line 4: Add a break at the end of the case block.\nLine 6: Add a break at the end of the case block.",
  "rule.sast.q.java.787.name": "Missing break statement in case statement",
  "rule.sast.q.java.787.option.check_last_case_only.description": "If selected, only whether there is break statement in the last case exists will be checked.",
  "rule.sast.q.java.787.option.check_last_case_only.name": "Check the last case statement only",
  "rule.sast.q.java.787.option.ignore_if_comment_exists.description": "If the option is enabled, issues with comments will be ignored.",
  "rule.sast.q.java.787.option.ignore_if_comment_exists.name": "Ignore issues if any comments exist",
  "rule.sast.q.java.979.description": "The Globally accessible file checker finds instances of accessing a file in the internal storage not in MODE_PRIVATE mode.\nIf global access to a file in the Android internal stage is enabled, you cannot prevent other programs from accessing the file. It is recommended, therefore, that access to the internal storage be made in MODE_PRIVATE mode.\nUse MODE_PRIVATE mode.",
  "rule.sast.q.java.979.example.0.dangerous": "Line 5: MODE_WORLD_READABLE mode is used to access an internal storage file.",
  "rule.sast.q.java.979.example.0.safe": "Line 5: Change the mode into MODE_PRIVATE.",
  "rule.sast.q.java.979.name": "Globally accessible file",
  "rule.sast.q.java.979.option.forbidden_argument.description": "Write the name of forbidden argument.<br />Example) MODE_WORLD_WRITEABLE",
  "rule.sast.q.java.979.option.forbidden_argument.name": "Forbidden flags",
  "rule.sast.q.java.979.option.method_name.description": "Write the name of target method.<br />Example) openFileOutput",
  "rule.sast.q.java.979.option.method_name.name": "A name of target method.",
  "rule.sast.q.js.1480.description": "The Use of forbidden function checker finds calls to a forbidden function.\nYou can optionally specify functions that should not be called.\nA project may have to prohibit calling certain functions for some reasons: 1) code needs to be consistent throughout the project; 2) those functions have become obsolete and now better approaches are available; or 3) those functions have fundamental defects.\nDo not call forbidden functions. Unless the intended behavior itself is prohibited, you need to consider implementing the same behavior by other means.",
  "rule.sast.q.js.1480.example.0.dangerous": "Line 2: Suppose that forbidden() function is forbidden to call. The forbidden function is called.",
  "rule.sast.q.js.1480.example.0.safe": "Line 2: Do not call forbidden functions.",
  "rule.sast.q.js.1480.name": "Use of forbidden function",
  "rule.sast.q.js.1480.option.forbidden_function.description": "Write a name of the function to be forbidden.<br />Example) .*forbidden.*",
  "rule.sast.q.js.1480.option.forbidden_function.name": "Function to be forbidden",
  "rule.sast.q.js.1958.description": "The Synchronized transaction checker finds calls to a transactional function in synchronous mode.\nA call to a transactional function in synchronous mode may cause a problem with performance.\nUse asynchronous transactions.",
  "rule.sast.q.js.1958.example.0.dangerous": "Line 3: The 7th parameter is set to false to use a transaction function in synchronous mode.",
  "rule.sast.q.js.1958.example.0.safe": "Line 3: Set the 7th parameter to true, or transfer in asynchronous mode without the parameter.",
  "rule.sast.q.js.1958.name": "Synchronized transaction",
  "rule.sast.q.js.1958.option.functionParamCheck.description": "write function name, parameter position, boolean value for check.  ex) Transaction/7/false",
  "rule.sast.q.js.1958.option.functionParamCheck.name": "FunctionName/ParameterNumber/CheckBoolean",
  "rule.sast.q.js.1965.description": "The Empty catch block checker finds exception-handling blocks that have no relevant content.\nIt detects empty catch blocks containing no actual executable code.\nIf a caught exception is not handled, it is hard to find out the causes of accompanying program errors.\nAdd an exception-handling code in the empty block. If you don't want any measure for an exception, you may simply leave an error message.",
  "rule.sast.q.js.1965.example.0.dangerous": "Line 5: An error is caught in a try block, but no action is taken.",
  "rule.sast.q.js.1965.example.0.safe": "Line 5: Properly handle each exception after catching it.",
  "rule.sast.q.js.1965.name": "Empty catch block",
  "rule.sast.q.kt.2918.description": "The Empty catch block checker finds exception-handling blocks that have no relevant content.\nIt detects empty catch blocks containing no actual executable code.\nIf a caught exception is not handled, it is hard to find out the causes of accompanying program errors.\nAdd an exception-handling code in the empty block. If you don't want any measure for an exception, you may simply leave an error message.",
  "rule.sast.q.kt.2918.example.0.dangerous": "Line 10: An exception is caught in a catch block, but no action is taken.",
  "rule.sast.q.kt.2918.example.0.safe": "Line 11: Take an action for the caught exception.",
  "rule.sast.q.kt.2918.name": "Empty catch block",
  "rule.sast.q.kt.2922.description": "The Null return value dereference checker finds instances of dereferencing a return value without checking it for null.\nIf a method's return is dereferenced without a null check, an exception may be thrown. The NullPointerException is not thrown, but a `!!` operator can cause NullPointerException which rarely occurs in Kotlin.\nA NullPointerException exception allows for a vulnerability exploited to plan attacks.\nA return value from a method that can return null must be checked for null before used.",
  "rule.sast.q.kt.2922.example.0.dangerous": "Line 13: The NullPointerException is not thrown, but a `!!` operator can cause NullPointerException which rarely occurs in Kotlin.",
  "rule.sast.q.kt.2922.example.0.safe": "Line 13: Avoid using the !!  operator unless its values are not nullable nulls.",
  "rule.sast.q.kt.2922.name": "Null return value dereference",
  "rule.sast.q.kt.2929.description": "The Use of forbidden function checker finds calls to a forbidden method.\nYou can optionally specify methods that should not be called.\nA project may have to prohibit calling certain methods for some reasons: 1) code needs to be consistent throughout the project; 2) those methods have become obsolete and now better approaches are available; or 3) those methods have fundamental defects.\nDo not call forbidden methods. Unless the intended behavior itself is prohibited, you need to consider implementing the same behavior by other means.",
  "rule.sast.q.kt.2929.example.0.dangerous": "Line 2: A forbidden() function is used.",
  "rule.sast.q.kt.2929.example.0.safe": "Line 2: Do not call the forbidden() function.",
  "rule.sast.q.kt.2929.name": "Use of forbidden function",
  "rule.sast.q.kt.2929.option.forbidden_method.description": "Write a name of the function to be forbidden.<br />Example) .*forbidden.*",
  "rule.sast.q.kt.2929.option.forbidden_method.name": "Function to be forbidden",
  "rule.sast.q.kt.7347.description": "Throwing overly generic exceptions, such as Exception, makes it difficult to pinpoint the exact cause when an exception occurs. Additionally, the lack of additional information during exception propagation can complicate debugging. Throw specific exceptions that are appropriate for the situation, and provide the cause exception and a concise explanatory message when necessary.",
  "rule.sast.q.kt.7347.example.0.dangerous": "Line 3: A broad exception object is thrown.",
  "rule.sast.q.kt.7347.example.0.safe": "Line 3: When throwing an exception object, use an object created from a specific exception class.",
  "rule.sast.q.kt.7347.name": "Throwing overly broad exceptions",
  "rule.sast.q.kt.7348.description": "Using return in a finally block can lead to unpredictable behavior as it may ignore exceptions or return values from the try/catch block. Additionally, using a try expression that returns an unnecessary value in finally might produce an unexpected result and confuse developers.\n\nDo not use return or return values in the finally block. Return decisions and exception handling should be managed within the try/catch block.",
  "rule.sast.q.kt.7348.example.0.dangerous": "Line 7: Using return within the finally block will ignore the exception thrown in the catch.",
  "rule.sast.q.kt.7348.example.0.safe": "Line 7: Since no return is used within the finally block, the exception thrown in the catch is properly propagated to the caller.",
  "rule.sast.q.kt.7348.name": "Using return within finally block",
  "rule.sast.q.kt.7349.description": "Creating temporary instances by calling the constructors of Java's wrapper classes, such as Integer, Long, in Kotlin, and invoking `toString()` method or concatenating to a string, leads to create unnecessary instances. This results in low performance and memory loss.  \nKotlin does not distinguish between primitive types and wrapper classes, so there is no need to create separate wrapper classes. Therefore, when converting values to strings, static methods like `x.toString()` or `Integer.toString(x)` should be used to avoid creating the unnecessary instances.",
  "rule.sast.q.kt.7349.example.0.dangerous": "Line 2: Converting the wrapper class to a string creates unnecessary temporary instances, which leads to low performance and memory loss.",
  "rule.sast.q.kt.7349.example.0.safe": "Line 2: When converting the wrapper class to a string, use a static method to avoid creating the unnecessary temporary instances.",
  "rule.sast.q.kt.7349.name": "Creating unnecessary temporary instance",
  "rule.sast.q.kt.7350.description": "In Kotlin, using the `as`/`as?` operator and casting a type that is neither a super type nor a sub type will result in a runtime exception ClassCastException or always return a null. For example, using `as` operator to convert a String to Int will throw a runtime exception. The rule detects the cast that cannot succeed in this manner.  \nWhen converting basic types, you should use type conversion functions like `toInt()`, `toLong()`, and `toDouble()`. When checking the type of an object, use the `is` operator. The `is` operator applies smart casting, allowing you to safely determine the type without unnecessary casts.  \n\n※ Smart cast: A feature where the compiler checks the type of an object and automatically converts it to that type.",
  "rule.sast.q.kt.7350.example.0.dangerous": "Line 2: Casting a String type to int type. Since the two types are not related through inheritance, this code will always fail, throwing ClassCastException at runtime.",
  "rule.sast.q.kt.7350.example.0.safe": "Line 2: Use the is operator to verify the object’s type. It enables the smart casting, which allows the compiler to safely determine the type without an extra cast.",
  "rule.sast.q.kt.7350.name": "Unsuccessful cast",
  "rule.sast.q.kt.7365.description": "If a developer mistakenly uses the wrong operator, it can lead to issues where the program's control flow behaves differently than intended. These errors can arise from typos or misunderstandings of operator meanings, resulting in conditional expressions not being evaluated correctly and leading to unexpected behavior.\n\nIn Kotlin, confusion can occur between structural equality (==) and referential equality (===). Using the === operator where value comparison is needed, or using the == operator when referential equality should be checked, can cause the program to behave unintentionally.\n\nAdditionally, when the left operand of the in operator is a string literal, `admin` in role behaves like role.contains(`admin`), which means values like `superadmin` can also be evaluated as true, potentially bypassing validation logic.\n\nWhen developing a program, it is essential to carefully check for typos and use operators as intended. In Kotlin, the in operator is internally converted to the contains() method, and when both operands are of String type, it operates as a substring search.\n\nTherefore, when it is necessary to verify the accuracy of values, the use of the in operator should be avoided. If the original intent is a substring search, it is safer to explicitly call the contains() method, and if exact value comparison is required, using the equality operator (==) is recommended. However, it should be noted that the == operator internally calls the equals() method, so if this has not been overridden in the class, a referential equality comparison will be performed.",
  "rule.sast.q.kt.7365.example.0.dangerous": "Line 2: The reference equality operator (===) is used in situations where value comparison is needed. Even if user.role has a string value of \"ADMIN\", the condition will be false if they are different objects.",
  "rule.sast.q.kt.7365.example.0.safe": "Line 2: Use the equality operator (==) to properly validate user roles in situations where value comparison is necessary.",
  "rule.sast.q.kt.7365.name": "Use of incorrect operator",
  "rule.sast.q.kt.7366.description": "If a conditional expression always evaluates to true or false, the program's control flow will behave differently than intended. If it is always false, the corresponding branch will not execute, resulting in dead code where the intended logic is not performed. Conversely, if it is always true, no other branch paths will execute, potentially ignoring error handling or exception responses. These issues can arise from code used for debugging remaining in the conditional expressions or from developer mistakes. \n\nConstant values or boolean literals (true, false) used for debugging purposes should be removed once debugging is complete. Additionally, when using logical operators, such as ||, &&, in conditional expressions, ensure that the result does not always fix to true or false, and write the conditional expressions according to the original intent.",
  "rule.sast.q.kt.7366.example.0.dangerous": "Line 2: The conditional expression is set to false, so the branch statement will not be executed.",
  "rule.sast.q.kt.7366.example.0.safe": "Line 2: The conditional expression evaluates to true or false based on the value of the variable n.",
  "rule.sast.q.kt.7366.name": "Boolean condition",
  "rule.sast.q.kt.7367.description": "Operators are evaluated based on language rules, but in complex expressions written without parentheses, the order cannot be assumed to match the developer's intent. For example, in critical conditional expressions like authentication or authorization checks, mixing operators with different precedence without parentheses can lead to evaluation in an unintended order, resulting in unexpected outcomes. \nTo ensure program stability, parentheses should be used to clearly express the intended operations when using operators with different precedence in complex expressions.",
  "rule.sast.q.kt.7367.example.0.dangerous": "Line 2: A complex expression is written relying on operator precedence without parentheses.",
  "rule.sast.q.kt.7367.example.0.safe": "Line 2: Even if the correct value is calculated according to operator precedence, use parentheses for complex expressions.",
  "rule.sast.q.kt.7367.name": "Ambiguous order of priority of expressions",
  "rule.sast.q.kt.7368.description": "If a variable is assigned a value but not used, unnecessary code remains. Such code can confuse readers, even if it does not directly affect program execution. As a result, readability and maintainability may decrease, and it may sometimes be misunderstood as missing intended logic. \nRemove unused variables and modify the code to ensure that values needed for actual logic are utilized appropriately.",
  "rule.sast.q.kt.7368.example.0.dangerous": "Line 2: The tmp variable is assigned the return value of the test() method, but it is not used in any other statements.",
  "rule.sast.q.kt.7368.example.0.safe": "Line 2: The tmp variable is assigned the return value of the test() method and is used in the process(tmp) method call.",
  "rule.sast.q.kt.7368.name": "Unused value assigned to variable",
  "rule.sast.q.kt.7375.description": "Dead code refers to statements in a program that can never be reached during execution. For example, this includes any executable code that follows a `break` or `return`, or statements that remain after a `throw` that raises an exception. Additionally, methods that are defined but never called can also be considered dead code. Such code is functionally meaningless as it is never executed, and its presence in the source code can confuse other developers and reduce maintainability. \n\nWhen writing code, avoid leaving unnecessary statements, and ensure that no executable code follows control statements that have already terminated. For instance, any code after `break`, `continue`, `return`, `throw`, or calls to functions that return a `Nothing` type should be removed.",
  "rule.sast.q.kt.7375.example.0.dangerous": "Line 3: There is a println() after return, making the code unreachable.",
  "rule.sast.q.kt.7375.example.0.safe": "Line 2: `println()` is executed before the return, so it is not unreachable code.",
  "rule.sast.q.kt.7375.name": "Unreachable code",
  "rule.sast.q.kt.7384.description": "Files, sockets, and database connections are finite resources that a program can use. If these resources are not explicitly released when they are no longer needed, they will remain occupied. The JVM's garbage collector automatically reclaims memory, but it does not guarantee the automatic release of resources like files or sockets. Therefore, if allocated resources are not released and accumulate, it can lead to resource exhaustion, resulting in performance degradation or denial of service (DoS).\n\nResources allocated within a method must be released before the method exits. In particular, since these resources can throw exceptions during use, it is safe to wrap the usage in a try statement and ensure they are released in a finally block.\n\nAdditionally, Kotlin provides a `use` extension function that operates similarly to Java's try-with-resources. By using this function, resources are automatically released when exiting the use block, allowing for reliable resource management even in exceptional situations.",
  "rule.sast.q.kt.7384.example.0.dangerous": "Line 7: If an exception occurs after the resource is allocated, `close()` will not be called, and the resource will not be released.",
  "rule.sast.q.kt.7384.example.0.safe": "Line 13: Resources are released in the `finally` block regardless of whether an exception occurs after they are allocated.",
  "rule.sast.q.kt.7384.name": "Resource leak",
  "rule.sast.q.kt.7388.description": "There are APIs that are no longer used (deprecated) or have been discontinued due to the evolution of programming languages or specific API flaws. Using these APIs may lead to compatibility issues in modern environments, and if the API had security vulnerabilities, it could result in security risks.\n\nThe checker detects instances of using APIs that are recommended to be avoided. Additionally, a list of APIs to avoid can be specified optionally. Remove deprecated or discontinued APIs and replace them with alternative APIs.",
  "rule.sast.q.kt.7388.example.0.dangerous": "Line 4: The deprecated Date class is used.",
  "rule.sast.q.kt.7388.example.0.safe": "Line 4: Use the LocalDateTime class instead of the deprecated Date class to get the current time.",
  "rule.sast.q.kt.7388.name": "Use of deprecated API",
  "rule.sast.q.kt.7391.description": "Division operations using 0 as a divisor are not defined. Executing such operations may result in a runtime exception (ArithmeticException), and if the exception is not handled properly, it could lead to abnormal program termination or denial of service (DoS). \nBefore performing division, you must check if the divisor is 0. If you cannot be certain of the range of the divisor's value, it is advisable to add code that checks whether the divisor is not 0 before the operation.",
  "rule.sast.q.kt.7391.example.0.dangerous": "Line 2: There is no check or exception handling to ensure that the denominator `numRequests` is not 0, which could cause the program to terminate abnormally if 0 is passed.",
  "rule.sast.q.kt.7391.example.0.safe": "Line 2: First, check if the denominator `numRequests` is 0, and if it is, explicitly throw an exception to prevent invalid operations.",
  "rule.sast.q.kt.7391.name": "Division by zero",
  "rule.sast.q.kt.7402.description": "If a database connection object is declared statically, there is a possibility that a single connection instance may be used simultaneously by multiple threads. In Kotlin, variables declared in `object`, `companion object`, or at the top level of a file are stored in the static area of Java when compiled to JVM, or are globally shared through a single instance stored in static fields. Therefore, storing a `java.sql.Connection` object in these locations will result in the same connection being shared across the entire program. The Connection object should only be used by one thread at a time, and if multiple threads access it simultaneously, a race condition may occur, leading to interference between transactions. This can cause the program to behave unexpectedly or result in data corruption.\nDo not declare the database connection object in static structures like `object` or `companion object`, but manage it on a per-request or per-transaction basis. Additionally, instead of creating a new connection object each time, manage it by using a connection pool (DataSource) to acquire connection objects from the pool as needed and return them when done. The connection pool assigns independent connection objects to each thread, thus preventing the situation where the same connection object is used simultaneously by multiple threads. This approach helps to prevent race conditions while minimizing performance degradation caused by connection object creation.",
  "rule.sast.q.kt.7402.example.0.dangerous": "Line 9: The Connection object is being created inside the object. Since the object shares the same instance throughout the program, a race condition may occur if multiple threads use that object simultaneously.",
  "rule.sast.q.kt.7402.example.0.safe": "Line 6: Manages connections safely on a per-request basis through a connection pool (DataSource) instead of keeping the Connection object inside the object.",
  "rule.sast.q.kt.7402.name": "Race Condition for Database Connection",
  "rule.sast.q.kt.7430.description": "The singleton pattern is a design pattern that guarantees that only one instance of a class is created. However, if you implement singletons in a multithreaded environment without proper synchronization, you cannot guarantee singletons because multiple threads can attempt to create instances at the same time.\nTo safely implement the singleton pattern in a multithreaded environment, you must use synchronization to control the creation of instances. This is typically accomplished by using the synchronized keyword. Alternatively, you can utilize language-level mechanisms that ensure thread safety. In Kotlin, the object keyword can be used to automatically handle the synchronization process. This approach guarantees that only a single instance is created and can be safely used without separate synchronization code.",
  "rule.sast.q.kt.7430.example.0.dangerous": "Line 5: An instance is being created without the `synchronized` keyword. In this case, multiple instances may be created in a multithreaded environment.",
  "rule.sast.q.kt.7430.example.0.safe": "Line 1: The `object` keyword in Kotlin guarantees the creation of a single instance at the language level, allowing it to be used safely without additional synchronization code.",
  "rule.sast.q.kt.7430.name": "Using non-thread-safe singletons",
  "rule.sast.q.objc.1880.description": "The Use of system Function checker finds calls to a system() function.\nThe system() function may allow attackers to execute arbitrary shell scripts or executable programs. This may result in the program behaving unexpectedly or running through a path intended by the attacker.\nDo not use the system() function.",
  "rule.sast.q.objc.1880.example.0.dangerous": "Line 2: A system() function is used to delete files. Attackers can exploit this with a privileged permission to manipulate the system in a vulnerable program.",
  "rule.sast.q.objc.1880.example.0.safe": "Line 3: Use unlink() function to delete files. This can prevent the system to be manipulated by others.",
  "rule.sast.q.objc.1880.name": "Use of system",
  "rule.sast.q.objc.1880.option.system_function.description": "input the value that invokes system call",
  "rule.sast.q.objc.1880.option.system_function.name": "System call function",
  "rule.sast.q.objc.1896.description": "The Insecure privilege relinquishment checker finds instances of dropping privileges in a wrong sequence.\nUsing setuid() and setgid() in a wrong sequence may make your privilege settings unsuccessful; these two functions are responsible for user and group permissions, respectively.\nA call to setuid() to drop a privilege makes the user ID no more a superuser. But a call to setgid() might not work without the superuser privilege. Therefore, a preceding call to setuid() may prevent a following call to setgid() from the intended privilege drop. This may be exploited by attackers attempting to use remaining group privileges.\nMake sure a call to setgid() precedes a call to setuid().",
  "rule.sast.q.objc.1896.example.0.dangerous": "Line 1: setuid() is called before dropping a group privilege.",
  "rule.sast.q.objc.1896.example.0.safe": "Line 1: Change the user privilege after dropping the group privilege.",
  "rule.sast.q.objc.1896.name": "Insecure privilege relinquishment",
  "rule.sast.q.objc.1901.description": "The Null dereference checker finds instances of dereferencing a null constant or a null-assigned variable without checking it for null.\nIf a value that might be null is dereferenced, a NullPointerException exception may occur during program execution. This may result in an abnormal termination of the program.\nSuch a null dereference exception allows for a vulnerability and this can be exploited for an attack.\nUnless a variable is ensured to never be null, make sure it is always checked for null before dereferenced.",
  "rule.sast.q.objc.1901.example.0.dangerous": "Line 3: The address value pointed to by the pointer ptr was set to null.\nLine 5: A null pointer dereference error occurred because the address of ptr, whose address value is null, was dereferenced.",
  "rule.sast.q.objc.1901.example.0.safe": "Line 5: Check a null for arguments sent by functions, values externally inputted, or specified values.",
  "rule.sast.q.objc.1901.name": "Null dereference",
  "rule.sast.q.objc.1903.description": "The Double String Formatting checker finds instances of formatting an already formatted string.\nDouble string formatting complicates formatting tokens, thus possibly making the program vulnerable to format string attacks.\nApply string formatting only once. It is safe to use only string constants as format strings.",
  "rule.sast.q.objc.1903.example.0.dangerous": "Line 6: Return values of [NSString stringWithFormat] message are sent as informativeTextWithFormat argument. The argument has been formatted again, which leads to double formatting.",
  "rule.sast.q.objc.1903.example.0.safe": "Line 6: Write to perform string formatting once.",
  "rule.sast.q.objc.1903.name": "Double String Formatting",
  "rule.sast.q.objc.1903.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) return of name(\"filter\")",
  "rule.sast.q.objc.1903.option.taint_filter.name": "External information filter",
  "rule.sast.q.objc.1903.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of \"+\" to return",
  "rule.sast.q.objc.1903.option.taint_propagator.name": "External information propagator",
  "rule.sast.q.objc.1903.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(*) of name(\"add_header\")",
  "rule.sast.q.objc.1903.option.taint_sink.name": "External information sink",
  "rule.sast.q.objc.1903.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of fqn(\"django.http.HttpRequest.field\")",
  "rule.sast.q.objc.1903.option.taint_source.name": "External information source",
  "rule.sast.q.objc.1905.description": "The Buffer overflow by CFArrayGetValueAtIndex checker finds attempts to access a CFArrayRef buffer out of bounds.\nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nIn a call to the CFArrayGetValueAtIndex() function, the index argument must fall within the bounds of the buffer.",
  "rule.sast.q.objc.1905.example.0.dangerous": "Line 4: The first element of A with 0 buffer is accessed.",
  "rule.sast.q.objc.1905.example.0.safe": "Line 4: Access to the element after adjusting or checking its buffer size.",
  "rule.sast.q.objc.1905.name": "Buffer overflow by CFArrayGetValueAtIndex",
  "rule.sast.q.objc.1907.description": "The Division by zero checker finds instances of division by zero.\nAs the division operation is not defined with a zero divisor, an attempt of division by zero may cause an exception at the CPU level. This may lead to an abnormal shutdown of the program or denial of service (DoS).\nFor any division operations, check if the second operand may possibly be assigned a 0. If the value range of the second operand is not determinable, it is recommended to add a code checking the divisor for zero.",
  "rule.sast.q.objc.1907.example.0.dangerous": "Line 6: A division by zero is found.",
  "rule.sast.q.objc.1907.example.0.safe": "Line 6: Check that divisor is 0. If yes, do not perform the division.",
  "rule.sast.q.objc.1907.name": "Division by zero",
  "rule.sast.q.objc.1908.description": "The Invalid Size of Variable-length Array checker finds variable-length array (VLA) declarations that assign the length expression with zero or leave it undefined.\nAn undefined array length may assume an unpredictable arbitrary value allowing for problems, while a constant zero length makes the VLA meaningless.\nThe expression for variable length must be defined to take a non-zero value.",
  "rule.sast.q.objc.1908.example.0.dangerous": "Line 3: Y is not initialized.\nLine 7: X is initialized.",
  "rule.sast.q.objc.1908.example.0.safe": "Line 3: Initialize the variable for an array length.\nLine 7: Check that the result of the array length expression is not 0.",
  "rule.sast.q.objc.1908.name": "Invalid Size of Variable-length Array",
  "rule.sast.q.objc.1917.description": "The Misuse of mktemp checker finds calls to the mktemp() function, which generates a temporary file.\nThe mktemp() function has a security vulnerability. If a temporary file is generated with a predictable name or to be accessible to an arbitrary program, it may allow attackers to manipulate the file for program malfunctions.\nUse the mkstemp() function instead of mktemp().",
  "rule.sast.q.objc.1917.example.0.dangerous": "Line 2: mktemp() function is used.",
  "rule.sast.q.objc.1917.example.0.safe": "Line 2: Use mkstemp() function.",
  "rule.sast.q.objc.1917.name": "Misuse of mktemp",
  "rule.sast.q.objc.1918.description": "The Misuse of vfork checker finds calls to the insecure vfork function.\nUsing the vfork function introduces many portability and security issues. There are many cases in which undefined and implementation-specific behavior can occur, leading to a denial-of-service vulnerability.\nUse the fork() function instead of vfork().",
  "rule.sast.q.objc.1918.example.0.dangerous": "Line 2: vfork() function is used. This makes hard to predict how setuid() function called between vfork() and execve() acts.",
  "rule.sast.q.objc.1918.example.0.safe": "Line 3: Use fork() function.",
  "rule.sast.q.objc.1918.name": "Misuse of vfork",
  "rule.sast.q.objc.1919.description": "The Misuse of CFArrayCreate checker finds calls to the CFArrayCreate() function in which an array of pointers is not passed.\nAccording to the official documentation, the second argument passed to CFArrayCreate() must be an array of pointer values.\nFix the calls to take an array of pointers.",
  "rule.sast.q.objc.1919.example.0.dangerous": "Line 5: An element of array x is not pointer type.\nLine 6: k is not an array.",
  "rule.sast.q.objc.1919.example.0.safe": "Line 4: An element of array y is pointer type.",
  "rule.sast.q.objc.1919.name": "Misuse of CFArrayCreate",
  "rule.sast.q.objc.1925.description": "The Misuse of getpw checker finds calls to the getpw() function.\nThe getpw() function has a security vulnerability.\nUse the getpwuid() function instead of getpw().",
  "rule.sast.q.objc.1925.example.0.dangerous": "Line 3: getpw() function is used.",
  "rule.sast.q.objc.1925.example.0.safe": "Line 4: Use getpwuid() function.",
  "rule.sast.q.objc.1925.name": "Misuse of getpw",
  "rule.sast.q.objc.1926.description": "The Misuse of gets checker finds calls to the gets() function.\nThe gets() function has a security vulnerability.\nUse the fgets() function instead of gets().",
  "rule.sast.q.objc.1926.example.0.dangerous": "Line 3: getpw() function is used.",
  "rule.sast.q.objc.1926.example.0.safe": "Line 3: Use fgets() function.",
  "rule.sast.q.objc.1926.name": "Misuse of gets",
  "rule.sast.q.objc.1927.description": "The Misuse of random checker finds calls to the random() function.\nThe random() function has a security vulnerability.\nUse the arc4random() function instead of random().",
  "rule.sast.q.objc.1927.example.0.dangerous": "Line 2: random() function is used.",
  "rule.sast.q.objc.1927.example.0.safe": "Line 2: Use arc4random() function.",
  "rule.sast.q.objc.1927.name": "Misuse of random",
  "rule.sast.q.objc.1928.description": "The Misuse of strcpy checker finds calls to the strcpy() function.\nThe strcpy() function has a security vulnerability.\nUse the strncpy() function instead of strcpy().",
  "rule.sast.q.objc.1928.example.0.dangerous": "Line 5: strcpy() function is used.",
  "rule.sast.q.objc.1928.example.0.safe": "Line 5: Use strncpy() function.",
  "rule.sast.q.objc.1928.name": "Misuse of strcpy",
  "rule.sast.q.objc.1930.description": "The Misuse of Unix APIs checker finds calls to Unix API functions that violate the protocol.\nFailure to call an API function in accordance with the protocol may cause unwanted effects on the system or unexpected behavior of the program.\nMake sure calls to API functions are made in accordance with their protocol.",
  "rule.sast.q.objc.1930.example.0.dangerous": "Line 1: Use the third argument to send O_CREAT flag as the second one of open() function.\nLine 2: 0 byte is assigned though malloc() function.",
  "rule.sast.q.objc.1930.example.0.safe": "Line 1: Use open() function.\nLine 2: Use malloc() function.",
  "rule.sast.q.objc.1930.name": "Misuse of Unix APIs",
  "rule.sast.q.objc.1976.description": "The Infinite recursive call checker finds recursive functions that are not properly controlled and thus can be called infinitely.\nIf the program falls into infinite recursion, it keeps on allocating resources such as memory and stack whitespace in most cases, possibly causing performance degradation or an unexpected shutdown of the program. However, it is theoretically impossible to completely prevent an infinite recursion or loop based on static analysis. Therefore, the checker can find only some typical patterns and simple instances.\nPut recursive call statements under proper control statements. If you are not confident of setting recursive termination conditions properly, consider replacing the recursive code with an identically functioning loop.",
  "rule.sast.q.objc.1976.example.0.dangerous": "Line 2: An infinite recursive call is resulted by unconditional statements.",
  "rule.sast.q.objc.1976.example.0.safe": "Line 2: Set conditions to prevent the infinite recursive call.",
  "rule.sast.q.objc.1976.name": "Infinite recursive call",
  "rule.sast.q.objc.1988.description": "The Insecure privilege control checker finds instances of using the seteuid() function to get root privileges.\nPassing an argument of 0 to seteuid() allows for attempts to get root privileges.\nIf an attacker gets root privileges, an unwanted information leak may occur.\nDo not allow attempts to get root privileges.",
  "rule.sast.q.objc.1988.example.0.dangerous": "Line 5: 0 is sent as an argument of seteuid() function.",
  "rule.sast.q.objc.1988.example.0.safe": "Line 8: Do not attempt to acquire the root privilege.",
  "rule.sast.q.objc.1988.name": "Insecure privilege control",
  "rule.sast.q.objc.1989.description": "The Insecure privilege reset checker finds instances in which a call to the chroot() function is not followed by a call to the seteuid() function initializing the temporarily granted permission.\nFailure to initialize temporary permissions may expose the program to malicious attacks.\nInitialize any temporarily elevated permissions after they are used.",
  "rule.sast.q.objc.1989.example.0.dangerous": "Line 6: chroot() function is called, but seteuid() is not.",
  "rule.sast.q.objc.1989.example.0.safe": "Line 7: Call the seteuid() function after calling chroot().",
  "rule.sast.q.objc.1989.name": "Insecure privilege reset",
  "rule.sast.q.objc.1990.description": "The Use of Anonymous LDAP Binding checker finds instances of using anonymous binding to execute an LDAP query.\nIf the ldap_simple_bind_s() function is called with second and third arguments of null value, an anonymous bind is performed, thereby exposing information without appropriate authorization.\nIf the anonymous binding is allowed without user authentication, a user's information can be accessed externally.\nMake sure the LDAP binding is performed with the username and password provided.",
  "rule.sast.q.objc.1990.example.0.dangerous": "Line 5: The second and third arguments of ldap_simple_bind_s() function are nulls.",
  "rule.sast.q.objc.1990.example.0.safe": "Line 10: Handle the LDAP authentication.",
  "rule.sast.q.objc.1990.name": "Use of Anonymous LDAP Binding",
  "rule.sast.q.objc.2895.description": "The Use of freed memory checker finds instances of referencing an already freed memory block.\nUse after free may lead to using an abnormal value, causing abnormalities to the system.\nBefore using memory, check it for being freed.",
  "rule.sast.q.objc.2895.example.0.dangerous": "Line 21: buf memory is freed.\nLine 22: A freed memory is used.",
  "rule.sast.q.objc.2895.example.0.safe": "Line 21: Use the memory before freed.",
  "rule.sast.q.objc.2895.name": "Use of freed memory",
  "rule.sast.q.objc.2901.description": "The Use of Dangerous Function checker finds instances of using a function known to be dangerous.\nSome library functions pose security vulnerabilities. Use secure functions instead of the vulnerable ones.\nRestrain from using the functions known to be dangerous.",
  "rule.sast.q.objc.2901.example.0.dangerous": "Line 4: An insecure function strcpy() is used.",
  "rule.sast.q.objc.2901.example.0.safe": "Line 4: Use strncpy() function to prevent the buffer overflow.",
  "rule.sast.q.objc.2901.name": "Use of Dangerous Function",
  "rule.sast.q.objc.2901.option.dangerous_functions.description": "Set up forbidden functions.",
  "rule.sast.q.objc.2901.option.dangerous_functions.name": "Forbidden functions",
  "rule.sast.q.objc.2902.description": "The Memory Leak checker finds instances of failure to release allocated memory which is no longer needed.\nA memory leak is caused by improper handling of malformed data or unexpectedly interrupted sessions. It may lead to system performance degradation or service failure.\nMemory allocated for dynamically allocated variables must be deallocated. Freeing memory is often missing when this freeing code is supposed to be executed following a conditional check and before the function returns consequently.",
  "rule.sast.q.objc.2902.example.0.dangerous": "Line 6: A memory is allocated by using malloc() on variable buf.\nLine 9: The allocated memory is not freed before function is returned.",
  "rule.sast.q.objc.2902.example.0.safe": "Line 9: Deallocate the allocated memory. Free the allocated memory by following a conditional check and before its function returns consequently.",
  "rule.sast.q.objc.2902.name": "Memory Leak",
  "rule.sast.q.php.1682.description": "The Infinite recursive call checker finds recursive functions that are not properly controlled and thus can be called infinitely.\nIf the program falls into infinite recursion, it keeps on allocating resources such as memory and stack whitespace in most cases, possibly causing performance degradation or an unexpected shutdown of the program. However, it is theoretically impossible to completely prevent an infinite recursion or loop based on static analysis. Therefore, the checker can find only some typical patterns and simple instances.\nPut recursive call statements under proper control statements. If you are not confident of setting recursive termination conditions properly, consider replacing the recursive code with an identically functioning loop.",
  "rule.sast.q.php.1682.example.0.dangerous": "Line 2: A recursive call is performed outside a conditional or loop statement block, which commonly results to an infinite recursive call.",
  "rule.sast.q.php.1682.example.0.safe": "Line 2: Perform the recursive calls in the conditional or loop statement block.",
  "rule.sast.q.php.1682.name": "Infinite recursive call",
  "rule.sast.q.php.1684.description": "The Empty catch block checker finds exception-handling blocks that have no relevant content.\nIt detects empty catch blocks containing no actual executable code.\nIf a caught exception is not handled, it is hard to find out the causes of accompanying program errors.\nAdd an exception-handling code in the empty block. If you don't want any measure for an exception, you may simply leave an error message.",
  "rule.sast.q.php.1684.example.0.dangerous": "Line 3: A catch block is found to be empty.",
  "rule.sast.q.php.1684.example.0.safe": "Line 3: Ensure to include exception handling code in a catch block.",
  "rule.sast.q.php.1684.name": "Empty catch block",
  "rule.sast.q.php.1685.description": "The Catching overly broad exceptions checker finds instances of generalizing a wide range of exceptions in handling them.\nAn extremely wide generalization of exceptions may prevent some specific exceptions from being properly handled; more seriously, this may let even logically implausible cases simply covered by the super generalized handler, hence hindering them from being detected and fixed. As a result, design and implementation defects may remain undiscovered in the development and review phases before the program is deployed into production, possibly leading to serious issues.\nIt is recommended to categorize possible exceptions explicitly and handle them separately. If general exception handling is needed, have it performed in the last place after all specific exceptions are handled. Then, if the flow of execution ever reaches the general exception handling block, it suggests that the caught exception was not considered during development. This helps fix defects implied by unexpected exceptions.",
  "rule.sast.q.php.1685.example.0.dangerous": "Line 3: A broad exception class is used to handle exceptions.",
  "rule.sast.q.php.1685.example.0.safe": "Line 3: Ensure to use a detailed exception class.",
  "rule.sast.q.php.1685.name": "Catching overly broad exceptions",
  "rule.sast.q.php.1685.option.overly_broad_exception.description": "Write the names of overly broad exceptions.",
  "rule.sast.q.php.1685.option.overly_broad_exception.name": "Overly Broad Exception",
  "rule.sast.q.php.1686.description": "The Null dereference checker finds instances of dereferencing a null-assigned variable without checking it for null.\nDereferencing a null reference may cause a null pointer exception during program execution, leading to abnormal program shutdown.\nSuch a null exception allows for a vulnerability and this can be exploited for an attack.\nAny variable that can possibly assume a null must be checked for null before used.",
  "rule.sast.q.php.1686.example.0.dangerous": "Line 2: A variable with a null value is referenced.",
  "rule.sast.q.php.1686.example.0.safe": "Line 2: Check a null before referencing the variable.",
  "rule.sast.q.php.1686.name": "Null dereference",
  "rule.sast.q.php.1687.description": "The Resource leak checker finds instances of failure to reclaim an allocated resource.\nIf resources such as files, graphics, and DB links, in particular, are left unfreed, they may remain unavailable until the program terminates.\nThis may lead to system performance degradation, interruption of functionality, denial of service (DoS), or failure of resource reclamation.\nMake sure any resource allocated in a method is freed before the method ends.",
  "rule.sast.q.php.1687.example.0.dangerous": "Line 1: Resources are assigned to $var, and not being freed at the end of function.",
  "rule.sast.q.php.1687.example.0.safe": "Line 4: Free the resources allocated on Line 1.",
  "rule.sast.q.php.1687.name": "Resource leak",
  "rule.sast.q.php.1688.description": "The Use of released resource checker finds instances of reusing an already freed resource.\nThe checker searches for a reuse of an already freed resource. The correct sequence of using a resource is as follows: 1) Open the resource. 2) Read data from the resource. 3) Close the resource.\nAttempts to read data from an already closed resource may cause an abnormal operation of the program.\nUse and free resources in the correct sequence so that freed resources are not reused.",
  "rule.sast.q.php.1688.example.0.dangerous": "Line 5: Resources is accessed again through fread() after getting freed.",
  "rule.sast.q.php.1688.example.0.safe": "Line 5: Free all resource after using.",
  "rule.sast.q.php.1688.name": "Use of released resource",
  "rule.sast.q.php.913.description": "The Use of forbidden function checker finds calls to a forbidden function.\nYou can optionally specify functions that should not be called.\nA project may have to prohibit calling certain functions for some reasons: 1) code needs to be consistent throughout the project; 2) those functions have become obsolete and now better approaches are available; or 3) those functions have fundamental defects.\nDo not call forbidden functions. Unless the intended behavior itself is prohibited, you need to consider implementing the same behavior by other means.",
  "rule.sast.q.php.913.example.0.dangerous": "Line 2: Suppose that forbidden() function is forbidden to call. The forbidden function is called.",
  "rule.sast.q.php.913.example.0.safe": "Line 2: Do not call forbidden functions.",
  "rule.sast.q.php.913.name": "Use of forbidden function",
  "rule.sast.q.php.913.option.forbidden_function.description": "Write the name of the function forbid.<br />Example) .*forbidden.*",
  "rule.sast.q.php.913.option.forbidden_function.name": "Function to be forbidden",
  "rule.sast.q.py.2401.description": "The Hardcoded Path Separator checker finds hardcoded path separators.\nHardcoded path separators can cause compatibility issues when the program is executed on another type of platform.\nInstead of using a hardcoded path separator character, use the language's built-in path separator or define a custom variable representing a path separator.",
  "rule.sast.q.py.2401.example.0.dangerous": "Line 3: A path separator \"/\" is used for Linux. This may cause an unintended behavior in Windows environment.",
  "rule.sast.q.py.2401.example.0.safe": "Line 3: Use API path separator characters such as os.path.sep.\nLine 4: Use os.path.join() function, an API to generate paths.",
  "rule.sast.q.py.2401.name": "Hardcoded Path Separator",
  "rule.sast.q.py.2401.option.file_separators.description": "Write hard-coded file separators.<br />Example) //",
  "rule.sast.q.py.2401.option.file_separators.name": "File separators",
  "rule.sast.q.py.2401.option.path_consumer.description": "Write the function using file path.<br />Example) open:name:1",
  "rule.sast.q.py.2401.option.path_consumer.name": "Path function",
  "rule.sast.q.py.2841.description": "The Use of forbidden function checker finds calls to a forbidden method.\nYou can optionally specify methods that should not be called.\nA project may have to prohibit calling certain methods for some reasons: 1) code needs to be consistent throughout the project; 2) those methods have become obsolete and now better approaches are available; or 3) those methods have fundamental defects.\nDo not call forbidden methods. Unless the intended behavior itself is prohibited, you need to consider implementing the same behavior by other means.",
  "rule.sast.q.py.2841.example.0.dangerous": "Line 2: A forbidden() function is used.",
  "rule.sast.q.py.2841.example.0.safe": "Line 2: Do not call the forbidden() function.",
  "rule.sast.q.py.2841.name": "Use of forbidden function",
  "rule.sast.q.py.2841.option.forbidden_method.description": "Write a name of the function to be forbidden.<br />Example) .*forbidden.*",
  "rule.sast.q.py.2841.option.forbidden_method.name": "Function to be forbidden",
  "rule.sast.q.rust.5881.description": "When developing in the Rust language, you can set compiler options to improve the stability and security of your software. \"debug-assertions\" and \"overflow-checks\" are configuration options in Cargo that control the activation of debug assertions and integer overflow checks, respectively. If you override these variables, you may lose important debugging information or error checking features during development. This can make it difficult to find and fix problems when bugs occur.\nDo not change the settings for the \"debug-assertions\" and \"overflow-checks\" variables in the [profile.dev] and [profile.test] sections of the Cargo.toml file. These variables retain their default values to facilitate debugging and error checking for developers.",
  "rule.sast.q.rust.5881.example.0.dangerous": "Line 4, 8: overflow-checks is set to false, so debug assertions are ignored.\nLine 5, 9: debug-assertions is set to false, so integer overflows are not detected.",
  "rule.sast.q.rust.5881.example.0.safe": "Line 4, 8: overflow-checks defaults to true, which is safe.\nLine 5, 9: debug-assertions defaults to true, which is safe.",
  "rule.sast.q.rust.5881.name": "Improper Cargo Setting",
  "rule.sast.q.rust.5882.description": "Unsafe blocks should be avoided whenever possible, as they do not guarantee memory safety in Rust. However, you can use unsafe when using C language functions, embedded programming, and when it is unavoidable.\nYou should only use unsafe blocks in special cases, and you should always introduce a safe method with a good reason. You should also add the #![forbid(unsafe_code)] attribute whenever possible to prohibit the use of unsafe blocks in your code. These measures will help ensure the safety of your code and prevent related security vulnerabilities.",
  "rule.sast.q.rust.5882.example.0.dangerous": "Line 1: #[forbid(unsafe_code)] attribute is not used, which is dangerous because it does not guarantee memory safety.\nLine 6: unsafe is dangerous because it does not guarantee memory safety.",
  "rule.sast.q.rust.5882.example.0.safe": "Line 5: unsafe is used, but pointer arithmetic inside the block is judged and allowed by the embedded program.",
  "rule.sast.q.rust.5882.name": "Use of unsafe",
  "rule.sast.q.rust.5883.description": "When arithmetic operations have the potential to overflow, you should use specialised functions or types. Overflows during arithmetic operations can lead to unexpected results, which can often lead to security vulnerabilities. Therefore, arithmetic operations with the potential to overflow must handle them appropriately.\nFor arithmetic operations that are likely to overflow, explicitly handle overflows using the overflowing_<op>, wrapping_<op> method or the Wrapping type. Examples of operations that are likely to overflow include operations beyond scope, operations on external input, and operations after type casting.",
  "rule.sast.q.rust.5883.example.0.dangerous": "Line 5: An arithmetic operation with the potential to overflow, which is dangerous because it can lead to unexpected results.",
  "rule.sast.q.rust.5883.example.0.safe": "Line 5: Use wrapping_add() to handle arithmetic operations that are likely to overflow.",
  "rule.sast.q.rust.5883.name": "Wrapping Potential Overflow",
  "rule.sast.q.rust.5884.description": "To improve the readability of your code and make error handling clearer, use the `?` operator, and avoid the use of `try!` macros, which are no longer recommended. `Try!` macros are an outdated syntax, and their use has been discouraged with the introduction of the `?` operator was introduced, its use has been deprecated. Using `try!` macros not only breaks the consistency of your code, but can also be confusing for developers.\nReplacing the `try!` macro with the `?` operator to improve the readability and consistency of your code.",
  "rule.sast.q.rust.5884.example.0.dangerous": "Line 4: The outdated syntax \"try!\" macro is not recommended because it can break the consistency and readability of code.",
  "rule.sast.q.rust.5884.example.0.safe": "Line 4: Use `?` operator to improve the readability and consistency of code.",
  "rule.sast.q.rust.5884.name": "Use of try!",
  "rule.sast.q.rust.5885.description": "You should avoid using functions and macros that can cause a Rust program to panic and terminate unexpectedly, such as unwrap(), expect(), and assert! Panicking can leave resources in an inconsistent state, and can cause data loss or expose vulnerabilities when not handled properly.\nCode that uses unwrap(), expect(), and assert!() should only be allowed if there is a clear reason why they can be used safely. Instead of using unwrap(), expect(), and assert!(), functions should be changed to return a Result or Option type so that the caller must explicitly handle errors. When interactions with external code (FFI) need to be handled safely, the `std::panic::catch_unwind` or `std::panic` modules should be utilised to manage panic situations.",
  "rule.sast.q.rust.5885.example.0.dangerous": "Line 4: Dangerous use of the assert!() macro, which can cause the programme to panic and terminate unexpectedly.",
  "rule.sast.q.rust.5885.example.0.safe": "Line 13: Use a function that return a Result or Option type, which explicitly handles errors and makes code safe.",
  "rule.sast.q.rust.5885.name": "Use of panic Inducing Function",
  "rule.sast.q.rust.5886.description": "Direct array indexing can potentially cause panic, which has the potential to break your program at runtime. To avoid this, you should either make sure that the index is within the scope of the array, or use a get method that returns an Option without panicking.\nBefore indexing an array, make sure that the index is within the size of the array, and use the get method whenever possible to make accessing the index safe. The get method returns None for invalid indexes, so it doesn't cause panic.",
  "rule.sast.q.rust.5886.example.0.dangerous": "Line 3: This could potentially cause panic without explicit validation of the index to be within the scope of the array.",
  "rule.sast.q.rust.5886.example.0.safe": "Line 3: Use GET method that returns None for the invalid index, which makes code safe.",
  "rule.sast.q.rust.5886.name": "Access to Misformatted Array",
  "rule.sast.q.rust.5887.description": "Division is a fundamental operation that is undefined when the denominator is zero, and in most cases will cause a runtime error or panic to handle it.\nThe `/` operator causes panic when trying to divide by zero. To avoid this, it is recommended to utilise the `checked_div` method or explicitly check if the denominator is zero.",
  "rule.sast.q.rust.5887.example.0.dangerous": "Line 5: If the denominator is zero in the division, this is dangerous because it can cause a runtime error or panic to handle it.",
  "rule.sast.q.rust.5887.example.0.safe": "Line 5: Use `checked_div` method that prevents panic from occurring.",
  "rule.sast.q.rust.5887.name": "Division by zero",
  "rule.sast.q.rust.5889.description": "`forget` function in the `std::mem` or `core::mem` modules takes ownership of an object and prevents its destructor from being called. This can be a big problem in safety-critical code, as it can cause memory leaks and resources may not be freed properly.\nYou should use `drop` instead of `forget` to safely return the object's memory and call its destructor. Another way to delay calling an object's destructor is to use `ManuallyDrop`. This gives you manual control over the destructor call while preventing memory leaks.",
  "rule.sast.q.rust.5889.example.0.dangerous": "Line 5: forget function takes ownership of the object and prevents the destructor from being called.",
  "rule.sast.q.rust.5889.example.0.safe": "Line 3: Use drop to safely return the object's memory and call the destructor to make it safe.",
  "rule.sast.q.rust.5889.name": "Use of forget",
  "rule.sast.q.rust.5890.description": "In Rust, functions like Box::leak allow you to intentionally create memory leaks. This may be considered necessary in some specific situations, but uncontrolled memory leaks consume system resources unnecessarily.\nThe use of functions that can cause memory leaks, such as Box::leak, should be minimised. Unless there is a special case where memory leaks are absolutely necessary, it is preferable to avoid using these functions.",
  "rule.sast.q.rust.5890.example.0.dangerous": "Line 3: The use of the Box::leak function is dangerous because it intentionally causes a memory leak.",
  "rule.sast.q.rust.5890.example.0.safe": "Line 5: This is safe because it is automatically released when the main function exits.",
  "rule.sast.q.rust.5890.name": "Memory Leak",
  "rule.sast.q.rust.5891.description": "ManuallyDrop is a wrapper type that allows Rust to explicitly manage memory and manually control memory release. This is used when you want to control drops from happening while maintaining ownership without explicitly calling the destructor.\nInstances created with ManuallyDrop::new must either explicitly call ManuallyDrop::drop to manually release memory, or use ManuallyDrop::into_inner to extract the raw value and take advantage of automatic memory management.",
  "rule.sast.q.rust.5891.example.0.dangerous": "Line 4: ManuallyDrop::new does not free the memory of the created instance, which is dangerous.",
  "rule.sast.q.rust.5891.example.0.safe": "Line 6: Automatic memory management of the instance created with ManuallyDrop::new with ManuallyDrop::into_inner to make code safe.",
  "rule.sast.q.rust.5891.name": "Improper Release of ManuallyDrop",
  "rule.sast.q.rust.5892.description": "Certain types in Rust can be converted to raw pointers via into_raw, which is particularly useful for interfaces between languages, such as Foreign Function Interface (FFI) bindings. However, if raw pointers converted by into_raw are not handled properly, they can lead to memory leaks, data corruption, and application instability.\nPointers created by into_raw must be converted back to safe types by calling from_raw. This process reclaims the memory and puts it back under Rust's safe custody.",
  "rule.sast.q.rust.5892.example.0.dangerous": "Line 5: The pointer created by into_raw is not converted back to a safe type, which can lead to instability.",
  "rule.sast.q.rust.5892.example.0.safe": "Line 7: Call from_raw and convert the pointer created by into_raw to a safe type.",
  "rule.sast.q.rust.5892.name": "Inaccurate Return of Pointer",
  "rule.sast.q.rust.5893.description": "Deprecated since Rust 1.38.0, the use of std::mem::uninitialized or std::mem::MaybeUninit types can lead to unpredictable behaviour and memory safety issues by enabling the use or drop of uninitialised memory.\nYou should avoid using functions or methods that enable the use of uninitialised memory, such as std::mem::uninitialised, std::mem::MaybeUninit, etc.",
  "rule.sast.q.rust.5893.example.0.dangerous": "Line 8: Using std::mem::MaybeUnit::uninit is dangerous because it can lead to memory safety issues.",
  "rule.sast.q.rust.5893.example.0.safe": "Line 6: Initialise the declared structure to make it safe to use.",
  "rule.sast.q.rust.5893.name": "Use of Uninitialized Memory",
  "rule.sast.q.rust.5895.description": "When interfacing with other languages through an external function interface (FFI), it is important to ensure compatibility of data types to maintain data integrity. C-compatible types are important because they ensure that the layout of data in memory follows the layout of the C language, making it predictable and interoperable in the FFI context.\nIt is important to distinguish between C-compatible and incompatible types in FFI.\n- C-compatible types: integer or floating-point primitive types, repr(C)-annotated structures, repr(C) with only one variant and no fields, repr(Int)-annotated enumerations, and pointers.\n- C-incompatible types: dynamic size types, treated objects, enums with fields, tuples (repr(C) tuple structures are possible)",
  "rule.sast.q.rust.5895.example.0.dangerous": "Line 4: FFI uses types that are incompatible with C-compatible types, creating difficulties.",
  "rule.sast.q.rust.5895.example.0.safe": "Line 5: Use the repr(C) annotation to ensure that memory follows the C language layout.",
  "rule.sast.q.rust.5895.name": "Use of Incompatible Type",
  "rule.sast.q.swift.2354.description": "The Transfer over HTTP checker finds data transfers to a server over the HTTP protocol.\nData transferred over HTTP may be exposed in plaintext.\nUse the HTTPS protocol instead.",
  "rule.sast.q.swift.2354.example.0.dangerous": "Line 2: An HTTP protocol is used.",
  "rule.sast.q.swift.2354.example.0.safe": "Line 2: Use the HTTPS protocol.",
  "rule.sast.q.swift.2354.name": "Transmission via HTTP Protocol",
  "rule.sast.q.swift.2908.description": "The Use of forbidden function checker finds calls to a forbidden method.\nYou can optionally specify methods that should not be called.\nA project may have to prohibit calling certain methods for some reasons: 1) code needs to be consistent throughout the project; 2) those methods have become obsolete and now better approaches are available; or 3) those methods have fundamental defects.\nDo not call forbidden methods. Unless the intended behavior itself is prohibited, you need to consider implementing the same behavior by other means.",
  "rule.sast.q.swift.2908.example.0.dangerous": "Line 2: A forbidden() function is used.",
  "rule.sast.q.swift.2908.example.0.safe": "Line 2: Do not call the forbidden() function.",
  "rule.sast.q.swift.2908.name": "Use of forbidden function",
  "rule.sast.q.swift.2908.option.forbidden_method.description": "Write a name of the function to be forbidden.<br />Example) .*forbidden.*",
  "rule.sast.q.swift.2908.option.forbidden_method.name": "Function to be forbidden",
  "rule.sast.q.swift.2914.description": "The Infinite recursive call checker finds recursive functions that are not properly controlled and thus can be called infinitely.\nIf the program falls into infinite recursion, it keeps on allocating resources such as memory and stack whitespace in most cases, possibly causing performance degradation or an unexpected shutdown of the program. However, it is theoretically impossible to completely prevent an infinite recursion or loop based on static analysis. Therefore, the checker can find only some typical patterns and simple instances.\nPut recursive call statements under proper control statements. If you are not confident of setting recursive termination conditions properly, consider replacing the recursive code with an identically functioning loop.",
  "rule.sast.q.swift.2914.example.0.dangerous": "Line 4: An infinite recursive call is resulted by unconditional statements.",
  "rule.sast.q.swift.2914.example.0.safe": "Line 4: Set conditions to prevent the infinite recursive call.",
  "rule.sast.q.swift.2914.name": "Infinite recursive call",
  "rule.sast.q.unknown.3054.description": "The Enabled debuggable option in Android manifest checker finds code that enables the debuggable option in the Android manifest.\nYou can debug your application by setting the android:debuggable attribute to true in the Android manifest. This attribute is disabled by default and is set to false, but it can be changed to true in order to help debugging during development of the application. When the application is deployed with the android:debuggable attribute set to true, sensitive information of the application can be accessed by users. And users can debug the application without accessing to the source code.\nThe android:debuggable attribute needs to be set to false or deleted in order to disable application debugging.",
  "rule.sast.q.unknown.3054.example.0.dangerous": "Line 2: android:debuggable attribute is set to true. So, the application is deployed in the debuggable mode.",
  "rule.sast.q.unknown.3054.example.0.safe": "Line 2: The android:debuggable attribute needs to be set to false or deleted in order to disable application debugging.",
  "rule.sast.q.unknown.3054.name": "Enabled debuggable option in Android manifest",
  "rule.sast.q.unknown.970.description": "The Enabled sharedUserId option in Android manifest checker finds an Android manifest in which the sharedUserId option is set active.\nIf an Android application allows a shared ID using the android:sharedUserId option, the application's information can be accessed by another application using the same ID and signature. This may allow for security issues.\nUnless it is necessary, do not turn on the android:sharedUserId option in the Android manifest.",
  "rule.sast.q.unknown.970.example.0.dangerous": "Line 6: A shared ID is set by activating android:sharedUserId option.",
  "rule.sast.q.unknown.970.example.0.safe": "Line 6: Deactivate the android:sharedUserId option.",
  "rule.sast.q.unknown.970.name": "Enabled sharedUserId option in Android manifest",
  "rule.sast.q.unknown.971.description": "The Enabled exported option in Android manifest checker finds an Android manifest in which the exported option is set true.\nIf android:exported is true in an Android application, its components such as services and activities can be invoked by an external application sending an intent. Unwanted invocation can lead to security issues. Yet, when you use a local broadcast to restrict accesses to its receiver in BroadcastReceiver class, an alarm risen by the receiver element must be a false positive.\nUnless it is necessary, do not turn on the android:exported option in the Android manifest.",
  "rule.sast.q.unknown.971.example.0.dangerous": "Line 7: An intend is sent and executed by activating android:sharedUserId option.",
  "rule.sast.q.unknown.971.example.0.safe": "Line 7: Deactivate the android:exported option.",
  "rule.sast.q.unknown.971.name": "Enabled exported option in Android manifest",
  "rule.sast.q.unknown.971.option.is_activity.description": "Check the activity element.",
  "rule.sast.q.unknown.971.option.is_activity.name": "Check activity",
  "rule.sast.q.unknown.971.option.is_provider.description": "Check the provider element.",
  "rule.sast.q.unknown.971.option.is_provider.name": "Check provider",
  "rule.sast.q.unknown.971.option.is_receiver.description": "Check the receiver element.",
  "rule.sast.q.unknown.971.option.is_receiver.name": "Check receiver",
  "rule.sast.q.unknown.971.option.is_service.description": "Check the service element.",
  "rule.sast.q.unknown.971.option.is_service.name": "Check service",
  "rule.sast.q.unknown.982.description": "The Account information in source code checker finds bank account information included in code.\nPersonal information included in code can pose a security issue.\nDo not include bank account information in code.",
  "rule.sast.q.unknown.982.example.0.dangerous": "Line 1~3: Bank account information is included in code.",
  "rule.sast.q.unknown.982.example.0.safe": "Line 1: Do not include bank account information in code.",
  "rule.sast.q.unknown.982.name": "Account information in source code",
  "rule.sast.q.unknown.982.option.exclude_extension.description": "Set file extensions which will be excluded in analysis.<br />Example) java",
  "rule.sast.q.unknown.982.option.exclude_extension.name": "Exclude file extension",
  "rule.sast.q.unknown.982.option.rule.description": "Write regular expression of accounts.",
  "rule.sast.q.unknown.982.option.rule.name": "Regular expression of accounts",
  "rule.sast.q.unknown.983.description": "The Credit card information in source code checker finds credit card information included in code.\nPersonal information included in code can pose a security issue.\nDo not include credit card information in code.",
  "rule.sast.q.unknown.983.example.0.dangerous": "Line 1: Credit card information is included in code.\nLine 2: Credit card information is included in code.",
  "rule.sast.q.unknown.983.example.0.safe": "Line 1: Do not include credit card information in code.",
  "rule.sast.q.unknown.983.name": "Credit card information in source code",
  "rule.sast.q.unknown.983.option.exclude_extension.description": "Set file extensions which will be excluded in analysis.<br />Example) java",
  "rule.sast.q.unknown.983.option.exclude_extension.name": "Exclude file extension",
  "rule.sast.q.unknown.983.option.rule.description": "Write regular expression of credit cards.",
  "rule.sast.q.unknown.983.option.rule.name": "Regular expression of credit cards",
  "rule.sast.q.unknown.984.description": "The Email information in source code checker finds email information included in code. \nPersonal information included in code can pose a security issue.\nDo not include email information in code.",
  "rule.sast.q.unknown.984.example.0.dangerous": "Line 1: Email information is included in code.",
  "rule.sast.q.unknown.984.example.0.safe": "Line 1: Do not include email information in code.",
  "rule.sast.q.unknown.984.name": "Email information in source code",
  "rule.sast.q.unknown.984.option.exclude_extension.description": "Set file extensions which will be excluded in analysis.<br />Example) java",
  "rule.sast.q.unknown.984.option.exclude_extension.name": "Exclude file extension",
  "rule.sast.q.unknown.984.option.rule.description": "Write regular expression of e-mail.",
  "rule.sast.q.unknown.984.option.rule.name": "Regular expression of e-mail",
  "rule.sast.q.unknown.985.description": "The Foreigner registry number in source code checker finds alien registration number information included in code.\nPersonal information included in code can pose a security issue.\nDo not include alien registration number information in code.",
  "rule.sast.q.unknown.985.example.0.dangerous": "Line 1: Alien registration number information is included in code.",
  "rule.sast.q.unknown.985.example.0.safe": "Line 1: Do not include foreigner registry number in code.",
  "rule.sast.q.unknown.985.name": "Foreigner registry number in source code",
  "rule.sast.q.unknown.985.option.exclude_extension.description": "Set file extensions which will be excluded in analysis.<br />Example) java",
  "rule.sast.q.unknown.985.option.exclude_extension.name": "Exclude file extension",
  "rule.sast.q.unknown.985.option.rule.description": "Write a regular expression of foreigner id.",
  "rule.sast.q.unknown.985.option.rule.name": "Regular expression of foreigner id",
  "rule.sast.q.unknown.986.description": "The IP information in source code checker finds IP information included in code.\nPersonal information included in code can pose a security issue.\nDo not include IP information in code.",
  "rule.sast.q.unknown.986.example.0.dangerous": "Line 1: IP information is included in code.",
  "rule.sast.q.unknown.986.example.0.safe": "Line 1: Do not include IP information in code.",
  "rule.sast.q.unknown.986.name": "IP information in source code",
  "rule.sast.q.unknown.986.option.exclude_extension.description": "Set file extensions which will be excluded in analysis.<br />Example) java",
  "rule.sast.q.unknown.986.option.exclude_extension.name": "Exclude file extension",
  "rule.sast.q.unknown.986.option.rule.description": "Write regular expression of ip address.",
  "rule.sast.q.unknown.986.option.rule.name": "Regular expression of ip address",
  "rule.sast.q.unknown.987.description": "The Resident registration number in source code checker finds social security number information included in code.\nPersonal information included in code can pose a security issue.\nDo not include social security number information in code.",
  "rule.sast.q.unknown.987.example.0.dangerous": "Line 1: Social security number information is included in code.\nLine 2: Social security number information is included in code.",
  "rule.sast.q.unknown.987.example.0.safe": "Line 1: Do not include social security number information in code.",
  "rule.sast.q.unknown.987.name": "Resident registration number in source code",
  "rule.sast.q.unknown.987.option.exclude_extension.description": "Set file extensions which will be excluded in analysis.<br />Example) java",
  "rule.sast.q.unknown.987.option.exclude_extension.name": "Exclude file extension",
  "rule.sast.q.unknown.987.option.rule.description": "Write regular expression of national id.",
  "rule.sast.q.unknown.987.option.rule.name": "Regular expression of national id",
  "rule.sast.q.unknown.988.description": "The Passport number in source code checker finds passport number information included in code.\nPersonal information included in code can pose a security issue.\nDo not include passport number information in code.",
  "rule.sast.q.unknown.988.example.0.dangerous": "Line 1: Passport number information is included in code.\nLine 2: Passport number information is included in code.",
  "rule.sast.q.unknown.988.example.0.safe": "Line 1: Do not include passport number in code.",
  "rule.sast.q.unknown.988.name": "Passport number in source code",
  "rule.sast.q.unknown.988.option.exclude_extension.description": "Set file extensions which will be excluded in analysis.<br />Example) java",
  "rule.sast.q.unknown.988.option.exclude_extension.name": "Exclude file extension",
  "rule.sast.q.unknown.988.option.rule.description": "Write regular expression of passport numbers.",
  "rule.sast.q.unknown.988.option.rule.name": "Regular expression of passport numbers",
  "rule.sast.q.unknown.989.description": "The Phone number in source code checker finds phone number information included in code.\nPersonal information included in code can pose a security issue.\nDo not include phone number information in code.",
  "rule.sast.q.unknown.989.example.0.dangerous": "Line 1~3: Phone number information is included in code.",
  "rule.sast.q.unknown.989.example.0.safe": "Line 1: Do not include phone number in code.",
  "rule.sast.q.unknown.989.name": "Phone number in source code",
  "rule.sast.q.unknown.989.option.exclude_extension.description": "Set file extensions which will be excluded in analysis.<br />Example) java",
  "rule.sast.q.unknown.989.option.exclude_extension.name": "Exclude file extension",
  "rule.sast.q.unknown.989.option.rule.description": "Write regular expression of phone numbers.",
  "rule.sast.q.unknown.989.option.rule.name": "Regular expression of phone numbers",
  "rule.sast.q.unknown.990.description": "The Driver license information in source code checker finds driver's license number information included in code.\nPersonal infomation included in code can pose a security issue.\nDo not include driver's license number information in code.",
  "rule.sast.q.unknown.990.example.0.dangerous": "Line 1: Driver's license number information is included in code.\nLine 2: Driver's license number information is included in code.",
  "rule.sast.q.unknown.990.example.0.safe": "Line 1: Do not include driver license number in code.",
  "rule.sast.q.unknown.990.name": "Driver license information in source code",
  "rule.sast.q.unknown.990.option.exclude_extension.description": "Set file extensions which will be excluded in analysis.<br />Example) java",
  "rule.sast.q.unknown.990.option.exclude_extension.name": "Exclude file extension",
  "rule.sast.q.unknown.990.option.rule.description": "Write regular expression of driver licenses.",
  "rule.sast.q.unknown.990.option.rule.name": "Regular expression of driver licenses",
  "rule.sast.q.vbnet.1712.description": "The Use of forbidden function checker finds calls to a forbidden function.\nYou can optionally specify functions that should not be called.\nA project may have to prohibit calling certain functions for some reasons: 1) code needs to be consistent throughout the project; 2) those functions have become obsolete and now better approaches are available; or 3) those functions have fundamental defects.\nDo not call forbidden functions. Unless the intended behavior itself is prohibited, you need to consider implementing the same behavior by other means.",
  "rule.sast.q.vbnet.1712.example.0.dangerous": "Line 2: A forbidden() function is called.",
  "rule.sast.q.vbnet.1712.example.0.safe": "Line 2: Do not call the forbidden() function.",
  "rule.sast.q.vbnet.1712.name": "Use of forbidden function",
  "rule.sast.q.vbnet.1712.option.forbidden_function.description": "Write the name of the forbidden function.<br />Example) forbidden",
  "rule.sast.q.vbnet.1712.option.forbidden_function.name": "Function to be forbidden",
  "rule.sast.q.vbnet.1714.description": "The Empty branch statement checker finds an empty branch.\nIf a branch is empty, the consequent flow may be handled inadequately when its condition is true.\nAdd handling code in the branch block.",
  "rule.sast.q.vbnet.1714.example.0.dangerous": "Line 3: No action is taken in an else block.",
  "rule.sast.q.vbnet.1714.example.0.safe": "Line 3: Do not handle or create else statements if unnecessary. The else statements has been removed from this example.",
  "rule.sast.q.vbnet.1714.name": "Empty branch statement",
  "rule.sast.sw.asp.1005.description": "The Cross-site scripting checker finds instances of including an external input in HTML without validating it.\nIf unvalidated external inputs are allowed for page generation, attackers can inject malicious scripts into the pages. This vulnerability lets attackers take over a user's cookie, session, or other information or execute an abnormal function.\nTo prevent external inputs from being used for scripts, use a text replacement function or method to substitute characters such as <, >, &, and \" with &lt;, &gt;, &amp;, and &quot;, respectively. For bulletin boards that allow using HTML tags, make a whitelist of allowable HTML tags.",
  "rule.sast.sw.asp.1005.example.0.dangerous": "Line 4: An external input string is used without filtering.",
  "rule.sast.sw.asp.1005.example.0.safe": "Line 4: Use Replace() method in the external input string to replace \"<\" or \">\" into \"&lt;\" or \"&gt;\", which is used to create HTML scripts. This can reduce risks to run malicious scripts. But this cannot completely remove the risks.",
  "rule.sast.sw.asp.1005.name": "Cross-site scripting",
  "rule.sast.sw.asp.1009.description": "The SQL Injection checker finds SQL queries that use an untrusted external input without validating it.\nIf an unvalidated external input is allowed in SQL queries, attackers can inject a crafted query that has an altered meaning. This vulnerability lets attackers access or manipulate information in the database.\nExternal inputs must be validated or parameterized before being used in SQL queries.",
  "rule.sast.sw.asp.1009.example.0.dangerous": "Line 5: Input data is used to create SQL queries without validation, which can cause the SQL injection attack.",
  "rule.sast.sw.asp.1009.example.0.safe": "Line 10: Write a parameterized statement to prevent structures of SQL queries from being changed.",
  "rule.sast.sw.asp.1009.name": "SQL Injection",
  "rule.sast.sw.asp.1590.description": "The Command injection checker finds instances in which an internal system command is executed by an unvalidated external input.\nIf a user input that has not been properly validated constitutes the whole or part of an OS command to execute it in an unintended way, this may cause improper permission changes or harmful effects on the system's processes or operations.\nIf a command needs to be generated or selected based on an external input, whitelist safe values for command generation and restrict values determined by external inputs to those selected from within the whitelist.",
  "rule.sast.sw.asp.1590.example.0.dangerous": "Line 5: An internal input string, fileName, is used to specify a file name to be executed without validation.",
  "rule.sast.sw.asp.1590.example.0.safe": "Line 4: Use a regular expression to verify the external input string.",
  "rule.sast.sw.asp.1590.name": "Command injection",
  "rule.sast.sw.asp.1591.description": "The LDAP Injection checker finds instances of using an untrusted external input without validating it.\nIf untrusted external inputs are used in the web application, attackers can alter LDAP query commands to arbitrarily authorize and run unintended actions. Therefore, untrusted external input strings must be validated before they are used.\nIf unvalidated external inputs are used to be part of an LDAP query, attackers can make the meaning of the query arbitrarily modified when it is executed.\nUntrusted external input strings must be validated before used to be part of an LDAP query.",
  "rule.sast.sw.asp.1591.example.0.dangerous": "Line 10: Value loginName sent by an external input is used to create an LDAP query without validation.",
  "rule.sast.sw.asp.1591.example.0.safe": "Line 12: Use a regular expression to verify the external input.",
  "rule.sast.sw.asp.1591.name": "LDAP Injection",
  "rule.sast.sw.asp.1592.description": "The Path Manipulation checker finds instances in which an unvalidated external input creates a path accessible to the file system.\nIf unvalidated external inputs are allowed to be used for access to files, servers, or other system resources, attackers can manipulate inputs to access an unintended path in the program. In other words, path manipulation can be used to obtain illegitimate access to modify or execute settings files.\nIf external inputs are used as identifiers for resources (such as files), make sure they pass appropriate validation. Especially, if external inputs are filenames, use a filter to remove characters such as \", /, \\ and ..  that can be exploited for a directory traversal attack.",
  "rule.sast.sw.asp.1592.example.0.dangerous": "Line 6: A directory string is created with an external input. So, attackers can cause unintended system malfunctions by using the directory traveral.",
  "rule.sast.sw.asp.1592.example.0.safe": "Line 8: Use Replace method to remove insecure strings, such as /, \\, from the external inputs.",
  "rule.sast.sw.asp.1592.name": "Path Traversal",
  "rule.sast.sw.asp.1593.description": "The XQuery Injection checker finds XQuery statements that include an unvalidated external input.\nIf an appropriate validation process is not established for external inputs that are used to create dynamic queries for XML data in XQuery, attackers may arbitrarily modify the query structure. This modification enables them to access restricted data or bypass the authorization checks. In the case of `username='local_user1'`, for example, XQuery uses single quotation marks to delimit the text value to be checked against the username. If an external input is used for the value to be checked against and single quotation marks are allowed in it, you can enter as follows: `admin' or ''='`. Then the query's conditional clause will be as follows: `username = 'admin' or ''=''`. As`''=''`always evaluates to true, the condition comparing against username can be bypassed.\nMake sure external input data used in XQuery are filtered for special characters and reserved words.",
  "rule.sast.sw.asp.1593.example.0.dangerous": "Line 7: Xquery created with external inputs, such as UserTextBox.Text and PwdTextBox.Text, is used to access XML data without validation.",
  "rule.sast.sw.asp.1593.example.0.safe": "Line 10: Use String.Replace method to remove insecure strings from values created with external inputs.",
  "rule.sast.sw.asp.1593.name": "XQuery Injection",
  "rule.sast.sw.asp.1594.description": "The HTTP Response Splitting checker finds HTTP responses created with an unvalidated external input.\nWhen arguments passed in an HTTP request are sent back through an HTTP response header, newline characters such as CRs (carriage returns) and LFs (line feeds) contained in the inputs can split the HTTP response into two or more. By exploiting this, attackers can use a newline to stop the first response and inject a malicious code into the second one for an XSS or cache poisoning attack.\nIf you need to include request parameters in an HTTP response header such as Set-Cookie, make sure all CRs and LFs are filtered out.",
  "rule.sast.sw.asp.1594.example.0.dangerous": "Line 6: A value created with external inputs is used to send HTTP response headers. Setting <httpRuntime enableHeaderChecking=\"false\"/> on web.config file of ASP.NET framework is vulnerable to the HTTP splitting attacks.",
  "rule.sast.sw.asp.1594.example.0.safe": "Line 4: Filter out the new-line characters, such as '\\n' or '\\r'.",
  "rule.sast.sw.asp.1594.name": "HTTP Response Splitting",
  "rule.sast.sw.asp.1595.description": "The XPath Injection checker finds XPath queries that include an unvalidated external input.\nIf external inputs are allowed in XPath queries without appropriately validating them, attackers can feed an unexpected string to twist a query's meaning or alter its structure, thereby gaining access to restricted data.\nMake sure external inputs used in XPath queries are filtered for special characters (`, [, ], /, =, @, etc.) and reserved words.",
  "rule.sast.sw.asp.1595.example.0.dangerous": "Line 13: External input acctId sent by requests is used to create XPath queries.",
  "rule.sast.sw.asp.1595.example.0.safe": "Line 8: Verify the inputs by specifying a parameter with XPathExpression object instead of creating a direct query string.",
  "rule.sast.sw.asp.1595.name": "XPath Injection",
  "rule.sast.sw.asp.1596.description": "The Resource injection checker finds resource identifiers created with an unvalidated external input.\nIf unvalidated external inputs are allowed for accessing or identifying files, servers, or other system resources, attackers can manipulate an input to arbitrarily access system-protected resources. Resource injection vulnerabilities can be exploited to modify or delete resources, leak system information, and cause conflicts between system resources leading to service failures.\nIf external inputs need to be used for resource identifiers (such as socket ports), whitelist appropriate identifiers and restrict values determined by external inputs to those selected from within the whitelist.",
  "rule.sast.sw.asp.1596.example.0.dangerous": "Line 10: An external input sent by the request is used to connect sockets.",
  "rule.sast.sw.asp.1596.example.0.safe": "Line 8: Use a verified input or select a value from whitelists.",
  "rule.sast.sw.asp.1596.name": "Resource injection",
  "rule.sast.sw.asp.1597.description": "The Redirection to untrusted site checker finds instances of redirecting to a URL generated with an unvalidated external input.\nAlthough connecting to a client-provided URL is often believed to be safe, an attacker can modify the request and redirect the user to a malicious site.\nMaintain a whitelist of external site URLs and domains allowed for redirection, which needs to be checked when a user input is passed as a redirect URL.",
  "rule.sast.sw.asp.1597.example.0.dangerous": "Line 6: A string variable URL of an unvalidate external input is used to connect.",
  "rule.sast.sw.asp.1597.example.0.safe": "Line 9: Check that the external string is a local URL. You can manually implement IsLocalUri method to validate the sting, or directly use Url.IsLocalUrl defined in System.Web.Mvc namespace of MVC 3 or later.",
  "rule.sast.sw.asp.1597.name": "Redirection to untrusted site",
  "rule.sast.sw.asp.1598.description": "The Cleartext transmission of sensitive information checker finds instances of transferring sensitive information without encrypting it.\nIf data containing important user or system information is sent or received in plaintext, this poses a security vulnerability allowing unauthorized users to sniff sensitive data from the communication channel.\nSensitive information transferring via communication channels must be encrypted. If necessary, secure channels such as SSL or HTTPS should be used.",
  "rule.sast.sw.asp.1598.example.0.dangerous": "Line 19: A password is transferred through a network. Then, the password can be exposed by packet sniffing.",
  "rule.sast.sw.asp.1598.example.0.safe": "Line 13: Encrypt your password before sending it to a server through the network.",
  "rule.sast.sw.asp.1598.name": "Cleartext transmission of sensitive information",
  "rule.sast.sw.asp.1599.description": "The Cross site scripting via error messages checker finds instances in which an error message is sent containing an external input.\nIf an error message is sent containing an external input, this may allow for cross-site scripting (XSS) attacks. Attackers can run a crafted script to leak information or take other harmful actions.\nYou must disallow error messages from directly containing an external input.",
  "rule.sast.sw.asp.1599.example.0.dangerous": "Line 11: An external input variable userInput is included in an error message. Sending external inputs may be vulnerable to cross-site scripting (XSS) attacks.",
  "rule.sast.sw.asp.1599.example.0.safe": "Line 10: Do not include the external user input to the error message.",
  "rule.sast.sw.asp.1599.name": "Cross site scripting via error messages",
  "rule.sast.sw.asp.1634.description": "The Reliance on DNS lookups in security decisions checker finds instances in which authentication and access controls rely solely on the domain name.\nBecause DNS servers are targeted for spoofing, reliance on the domain name allows attackers to modify the DNS to point the domain name to their IP address. They can create fake DNS entries, and you must avoid security decisions (authentication, access controls, etc.) solely based on the domain name. A tainted local DNS cache may let the network traffic between a particular server and users transferred through an attacker.\nFor servers with known IP addresses, use their IP addresses.",
  "rule.sast.sw.asp.1634.example.0.dangerous": "Line 8: Dns.GetHostByAddress() method and HostName property is used to import a domain name.\nLine 10: Credibility of the site is decided by its domain name. Then, attackers can manipulate DNS cash to send invalid credibility.",
  "rule.sast.sw.asp.1634.example.0.safe": "Line 8: Modify to compare IP addresses directly without comparing hostnames through DNS lookups.",
  "rule.sast.sw.asp.1634.name": "Reliance on DNS lookups in security decisions",
  "rule.sast.sw.asp.1635.description": "The Weak password requirements checker finds instances in which user passwords are accepted without checking for their complexity.\nFully numeric passwords, such as 123123, and some other simple passwords are vulnerable to brute-force attacks. If password patterns are not verified, users can use weak passwords.\nAdministrators can impose restrictions on users to use strong password patterns. For example, these can require to include a certain number of uppercase and lowercase letters, numerals, and special characters, or disallow consecutive identical characters. Refer to the password setting rules from \"KISA Cryptographic Usage Guidelines\".",
  "rule.sast.sw.asp.1635.example.0.dangerous": "Line 4: A password for Password.Text is verified to be strong enough to create user accounts.",
  "rule.sast.sw.asp.1635.example.0.safe": "Line 3: Check that a password for Password.Text is strong enough to create a user account.\nLine 7: Do not create a user account with a password that lacks complexity.",
  "rule.sast.sw.asp.1635.name": "Weak password requirements",
  "rule.sast.sw.asp.1636.description": "The Persistent cookie checker finds instances of storing sensitive date in a cookie whose lifespan is set too long.\nMost web programming environments create non-persistent cookies. This type of cookie resides only in memory (not recorded in the disc drive) and disappears when the browser is closed. Programmers can set cookies to persist for browser sessions until a specific future date. These cookies are recorded in the disc drive and persist even after restarting the browser session or device. Persistent cookies are commonly used to profile users when interacting with sites. Such tracked data in persistent cookies can be exploited to leak user privacy, depending upon how the data is used. If privacy information is stored in a persistent cookie with a long expiration, attackers can be given enough time to steal such data.\nCookie expiration must be set minimum in consideration of session duration, and permanent cookies should not contain important information such as user privileges and session IDs.",
  "rule.sast.sw.asp.1636.example.0.dangerous": "Line 9: Cookie expiration time is specified by a value sent by UserInput.Text.",
  "rule.sast.sw.asp.1636.example.0.safe": "Line 5: Set the expiration time and comply with it.",
  "rule.sast.sw.asp.1636.name": "Persistent cookie",
  "rule.sast.sw.asp.1638.description": "The Exposure of system information checker finds instances of displaying system information.\nIf system-related information leaks via an output stream or logging, this may allow for malicious attacks.\nExposed error messages may contain sensitive information helping attack the system.\nMake sure system information is not exposed.",
  "rule.sast.sw.asp.1638.example.0.dangerous": "Line 10: Cookie information is printed out by Console.WriteLine.",
  "rule.sast.sw.asp.1638.example.0.safe": "Line 10: Do not directly print out system information to files or screens.",
  "rule.sast.sw.asp.1638.name": "Exposure of system information",
  "rule.sast.sw.asp.1643.description": "The Untrusted Regex checker finds regex strings that contain an unvalidated external input.\nIf users are allowed to enter any string for regex pattern matching, some patterns may extremely degrade the program's performance. Thus exploited for attacks such as denial of service (DoS).\nIt is recommended not to allow user-typed inputs to be used for generating a regex. If it is necessary, have those inputs filtered out for special regex characters.",
  "rule.sast.sw.asp.1643.example.0.dangerous": "Line 4: A regular expression is created with unverified external inputs.",
  "rule.sast.sw.asp.1643.example.0.safe": "Line 4: Filter the external inputs to create the regular expression.",
  "rule.sast.sw.asp.1643.name": "Untrusted Regex",
  "rule.sast.sw.asp.1644.description": "The Unrestricted File Upload checker finds instances of failure to restrict file types and size.\nIf server-executable scripts (files in asp, jsp, php, etc.) can be uploaded and attackers can run those files by themselves on the Web, it can be exploited to run internal system commands or connect the system to an external source to control it therefrom.\nMake sure users can upload only those files whose extensions are allowed in the whitelist. Have the names and extensions of uploaded files changed into unpredictable strings when they are stored in the server.",
  "rule.sast.sw.asp.1644.example.0.dangerous": "Line 19: An unvalidated attachment file is stored.",
  "rule.sast.sw.asp.1644.example.0.safe": "Line 19: Save the attachment files after checking their format, size, name, etc.",
  "rule.sast.sw.asp.1644.name": "Unrestricted File Upload",
  "rule.sast.sw.asp.1856.description": "The Storing Unencrypted Password checker finds instances of storing unencrypted passwords externally.\nIf passwords are loaded from an external source and used without being post-processed, it implies storing unencrypted passwords and thus is subject to detection.\nIf passwords are not encrypted when stored in an external environment file or read out via a communication channel, data may be exposed to or sniffed by unauthorized agents.\nMake sure that privacy information (ID numbers, passport numbers, etc.), financial information (card numbers, account numbers, etc.), passwords, and other sensitive information are encrypted when stored, and it is read and written only through authorized access. Passwords, in particular, have to be encrypted using a one-way encryption algorithm-SHA-256 or a more secure one.",
  "rule.sast.sw.asp.1856.example.0.dangerous": "Line 14: A password is stored to a file without encryption or hash.",
  "rule.sast.sw.asp.1856.example.0.safe": "Line 14: Hash the password with SHA256 and store it.",
  "rule.sast.sw.asp.1856.name": "Storing Unencrypted Password",
  "rule.sast.sw.c.72.description": "The Missing check of return value checker finds function return values that are never used after the functions are called. \nThe checker reports for a function return value that has not been used after the function call. \nIf return values are not used, the program may behave unexpectedly. Programmers often mis-assume that function calls never fail. But function calls may sometimes fail, and this can be exploited to attack the program or allow for security vulnerabilities.\nFor the function calls producing those unused return values, perform exception handling or other appropriate post-processing actions. ",
  "rule.sast.sw.c.72.example.0.dangerous": "Line 3: A return value of scanf() function is not used.",
  "rule.sast.sw.c.72.example.0.safe": "Line 3: Use the return value of :scanf() function to check that the function is succeeded.",
  "rule.sast.sw.c.72.name": "Missing check of return value",
  "rule.sast.sw.c.72.option.function.description": "Write names of functions.",
  "rule.sast.sw.c.72.option.function.name": "List of functions of which return values should not be ignored.",
  "rule.sast.sw.ccpp.1151.description": "The Insecure file identification checker finds instances of identifying a file based on a single criterion.\nThere are a number of criteria used to identify files, including filename, datetime created, and owner.\nIf files are identified only based on one criterion such as filename, they can be accessed to an unintended file. This may allow for unauthorized access to the files by attackers, leading to a security vulnerability.\nMake sure that files are opened after they are identified by multiple criteria.",
  "rule.sast.sw.ccpp.1151.example.0.dangerous": "Line 4: A file is identified by its name. When the file executes with a root permission, such as setuid-root, an attacker can exploit it to read unauthorized files.",
  "rule.sast.sw.ccpp.1151.example.0.safe": "Line 4: Use open() function instead of fopen().\nLine 8: Open the file, and use fstat() function to compare a user ID and group ID. Then, a permission can be checked for the file.",
  "rule.sast.sw.ccpp.1151.name": "Insecure file identification",
  "rule.sast.sw.ccpp.1152.description": "The Incorrect permission assignment in file creation checker finds instances of creating a file without setting up proper access permissions.\nCreating a file with insufficiently restrictive access permissions may allow an unprivileged user to access that file. This may pose security vulnerabilities.\nWhen opening a file, be sure to explicitly set up access permissions.",
  "rule.sast.sw.ccpp.1152.example.0.dangerous": "Line 6: open() function is used for creating a file. Yet, no permission is specified.",
  "rule.sast.sw.ccpp.1152.example.0.safe": "Line 7: Specify permission as well for a file open",
  "rule.sast.sw.ccpp.1152.name": "Incorrect permission assignment in file creation",
  "rule.sast.sw.ccpp.1157.description": "The Duplicated environment variable name checker finds instances in which different environment variables take identical names with different cases.\nEnvironment variables refer to strings passed to the getenv() or putenv() function.\nThey can be recognized either case-sensitively or case-insensitively depending on the operating system. Therefore, those with case-insensitively identical names may not be distinguished.\nTaking portability into consideration, name all environment variables with different spellings.",
  "rule.sast.sw.ccpp.1157.example.0.dangerous": "Line 1: An environment variable is passed to putenv() function.\nLine 4: An environment variable is passed to putenv() function. An identical name is used for both cases, when they are case-insensitive.",
  "rule.sast.sw.ccpp.1157.example.0.safe": "Line 4: Use an unique name different from the environment in Line 1.",
  "rule.sast.sw.ccpp.1157.name": "Duplicated environment variable name",
  "rule.sast.sw.ccpp.1158.description": "The Reliance on Environment Pointer checker finds expressions that rely on an environment pointer passed as an argument to the main function.\nAvoid reliance on an environment pointer. Such an environment pointer may become invalidated by subsequent operations. For example, when the main function receives a third argument which relates to an environment value, do not rely on it.\nReliance on an environment pointer is not safe because it may become invalidated by subsequent operations. This can result in a reference to an invalid value.\nDo not rely on an environment pointer, but reference a global variable like environ.",
  "rule.sast.sw.ccpp.1158.example.0.dangerous": "Line 2: setenv() function is called.\nLine 6: setenv() function is called, then envp pointer variable is accessed. No environment variable is referenced by envp after Line 2.",
  "rule.sast.sw.ccpp.1158.example.0.safe": "Line 7: Use global variable environ instead of accessing to environment variable.",
  "rule.sast.sw.ccpp.1158.name": "Reliance on Environment Pointer",
  "rule.sast.sw.ccpp.1160.description": "The Use of in-band error indicator checker finds instances of using an in-band error indicator when designing interfaces.\nAn in-band error indicator refers to a library function return value on error that can never be returned by a successful call to that library function. One example of a troublesome in-band error indicator in the C standard is EOF.\nThis practice is commonly used by C library functions but is not preferable. In particular, failure to distinguish error values and regular return values when handling them may lead to an unintended result.\nAvoid in-band error indicators while designing interfaces.",
  "rule.sast.sw.ccpp.1160.example.0.dangerous": "Line 6: -1 is returned by sprintf() function against an error. When an error has occurred in the first call, a count variable will be evaluated as -1, which leads to accessing to an invalid memory area.",
  "rule.sast.sw.ccpp.1160.example.0.safe": "Line 1: Change function designs of return value to print out the error status only.",
  "rule.sast.sw.ccpp.1160.name": "Use of in-band error indicator",
  "rule.sast.sw.ccpp.1168.description": "The Missing check of symbolic links checker finds instances of failure to check for a symbolic link when opening a file.\nYou can check for a symbolic link by setting the O_NOFOLLOW flag when calling the open() function.\nIf the process is running with elevated privileges, an attacker can exploit this code, for example, by replacing the file with a symbolic link to the /etc/passwd authentication file. The attacker can then overwrite data stored in the password file to create a new root account with no password. This way, opening a symbolic link can create security issues. In the case of a system like VxWorks, however, a false positive may occur because of the absence of the flag.\nBe sure to check for a symbolic link before opening a file.",
  "rule.sast.sw.ccpp.1168.example.0.dangerous": "Line 4: file_name file is opened with read and write permissions. If the process is running with extended permissions, an attacker can exploit this code to generate a root account by changing a symbolic link for /etc/passwd authentication file.",
  "rule.sast.sw.ccpp.1168.example.0.safe": "Line 4: Open the file by setting O_NOFOLLOW flag to ON. Then, the flag has been set to On, and the symbolic link has been specified to file_name. You will be failed to open the file.",
  "rule.sast.sw.ccpp.1168.name": "Missing check of symbolic links",
  "rule.sast.sw.ccpp.1171.description": "The Use of non-static variable as argument of putenv checker finds expressions that pass a pointer to an automatic variable to the putenv() function.\nProviding a pointer to a buffer of automatic storage duration as an argument to putenv() may cause that buffer to take on an unintended value. Depending on how and when the buffer is used, it can cause unexpected program behavior or possibly allow an attacker to run arbitrary code.\nWhen calling putenv(), pass a pointer to a static variable instead.",
  "rule.sast.sw.ccpp.1171.example.0.dangerous": "Line 7: An automatic variable is used as an argument of putenv() function.",
  "rule.sast.sw.ccpp.1171.example.0.safe": "Line 7: Use a static variable for an argument of putenv() function.",
  "rule.sast.sw.ccpp.1171.name": "Use of non-static variable as argument of putenv",
  "rule.sast.sw.ccpp.1172.description": "The File descriptor race condition checker finds instances in which a race condition is caused by using a file descriptor and the fork() function concurrently.\nA race condition can occur in the following sequence: Open a file, then store its descriptor in a variable.Call fork() function. Then, have both the parent and child processes use the opened file descriptor, and they will share the file descriptor.\nWhen a file is opened, a fork() call leading to having both the parent and child share the same file descriptor causes a race condition. This might get unpredictable results.\nClose the file descriptor in the child after forking and then reopen it.",
  "rule.sast.sw.ccpp.1172.example.0.dangerous": "Line 4: A file is opened.A file directive has been stored to fd variable.\nLine 11: fork() function is called. This can lead to a race condition.",
  "rule.sast.sw.ccpp.1172.example.0.safe": "Line 28: Close and open the file directive in child process when fork() function is called.",
  "rule.sast.sw.ccpp.1172.name": "File descriptor race condition",
  "rule.sast.sw.ccpp.1212.description": "The Misuse of signal handler checker finds instances of failure to ensure a signal handler persists in different OS environments.\nA signal handler's persistence and behavior differ depending on the operating system and the implementation. Therefore, you need to understand implementation-specific details of its behavior.\nDepending on the OS, a handler registered by the signal() function automatically persists or gets unregistered only after handling the first signal. To address the latter case, often the handler re-registers itself inside it, but this approach is not safe: If a new signal is generated in the interval between the time of the handler being called and the time of the handler re-registering itself using signal(), the default signal handler will be executed instead.\nTo make a signal handler persist, use an appropriate, safe approach.",
  "rule.sast.sw.ccpp.1212.example.0.dangerous": "Line 3: signal() function is called from inside to persist a signal handler, and registers the resetted handler again. A race window has been found between a time of call for the handler and time of use for the signal() function.",
  "rule.sast.sw.ccpp.1212.example.0.safe": "Line 4: The POSIX can use flags to control persistence of the signal handler. But Windows does not support solutions.",
  "rule.sast.sw.ccpp.1212.name": "Misuse of signal handler",
  "rule.sast.sw.ccpp.1214.description": "The Use of signal in interruptible signal handler checker finds race conditions caused by a signal() call from within an interruptible handler for a recurrable signal.\nIf a new signal is generated in the interval between the time of the handler being called and the time of the handler re-registering itself using signal(), the default signal handler will be executed instead. Depending on when the interrupt reoccurs, it may lead to an unintended result, causing a race condition.\nMake sure signal() is not called while the interrupt is handling a recurrable signal.",
  "rule.sast.sw.ccpp.1214.example.0.dangerous": "Line 2: signal() function is called within signal handler.",
  "rule.sast.sw.ccpp.1214.example.0.safe": "Line 2: Do not call signal() function within signal handler.",
  "rule.sast.sw.ccpp.1214.name": "Use of signal in interruptible signal handler",
  "rule.sast.sw.ccpp.1217.description": "The Library race condition checker finds instances of using an empty HMAC private key.\nSome library functions are designed not for use in a multithreaded environment; for example, they use global variables without dealing with possible race conditions. These functions must not be used in a multithreaded environment.\nDo not use those functions.",
  "rule.sast.sw.ccpp.1217.example.0.dangerous": "Line 5: An error can be caused by strerror() function in multi-threaded environment.",
  "rule.sast.sw.ccpp.1217.example.0.safe": "Line 7: Use strerror_s() function, which is secure from race condition.",
  "rule.sast.sw.ccpp.1217.name": "Library race condition",
  "rule.sast.sw.ccpp.1318.description": "The Information leak due to structure padding checker finds struct padding bits that can cause a leak of sensitive information when the structure is passed across a trust boundary.\nThe offset of each member field of a struct is determined differently depending on the compiler, but is typically aligned to a multiple of a base size like 4 bytes (32 bits). If a member field's given address does not start with a boundary of the base size, the compiler adds padding bits to align its offset. It is not defined by the language's standard but compiler-specific what happens in the padding bits when each struct field is assigned a value. Some compilers initialize the padding bits while other compilers leave unchanged the values therein. If a compiler of the latter type is used, it may be risky because a register for padding bits may expose some of its bits to the outside.\nThere are some ways to avoid such an information leak through padding bits. One option is to disable padding in structs although it is not easy to make it apply to all compilers because each compiler has a different padding strategy, including about the base alignment size for struct fields and whether the compiler has a directive for eliminating padding. If only a particular compiler is used in your project and thus portability does not matter, this approach may work. Another solution to safely copy data of a struct out of a sensitive area to an untrusted context is to store the struct's member fields in a non-padded buffer and then to pass those fields through this packed buffer, instead of from the original struct.",
  "rule.sast.sw.ccpp.1318.example.0.dangerous": "Line 11: memset() function is called to initialize structure padding.\nLine 13: However, fields of char types are differently written to memories depending on compilers: an entire value of 32-bits register or only 1 byte without changing padding of other 3 byte. Information stored in the register of the 3 byte can be exposed depending on compiler implementation.",
  "rule.sast.sw.ccpp.1318.example.0.safe": "Line 4: Check padding of compiler in case of a project with the specified compiler, then, explicitly declare the padding byte.",
  "rule.sast.sw.ccpp.1318.name": "Information leak due to structure padding",
  "rule.sast.sw.ccpp.1404.description": "The Missing limitation for string length checker finds instances of failure to limit the length of the string inserted via a format specifier.\nFailure to limit the length of a format specifier string may allow attempts to store an arbitrary long string in the buffer. This may cause buffer overflow.\nBe sure to limit the length of the strings inserted via format specifiers.",
  "rule.sast.sw.ccpp.1404.example.0.dangerous": "Line 5: The size of string is not limited.A buffer overflow can occur in filename.\nLine 6: A max size of sting is set too long.A buffer overflow can occur in buf.\nLine 7: The size of string is not limited.A buffer overflow can occur in msg.\nLine 8: The size of string is not limited.A buffer overflow can occur in buf.",
  "rule.sast.sw.ccpp.1404.example.0.safe": "Line 5: Specify an appropriate size on string.\nLine 6: Specify an appropriate size on string.",
  "rule.sast.sw.ccpp.1404.name": "Missing limitation for string length",
  "rule.sast.sw.ccpp.1416.description": "The Writing sensitive information to disk checker finds instances of writing sensitive data in memory out to the disk, thus unexpectedly exposing it externally.\nIt may be configured that the state of process memory is written to disk for later examination by a debugger in case of an abnormal termination of the program. In this configuration, if the program abnormally terminates before sensitive data is cleared out of memory, this data can be exposed through the disk.\nMake sure sensitive data resides in memory for the shortest time possible and is cleared from memory immediately after its use. Also, to prevent sensitive data from being written to disk, disable memory dumps that are generated from an abnormal termination of the program.",
  "rule.sast.sw.ccpp.1416.example.0.dangerous": "Line 7: memset_s() function is used to clear stored memory. However, information of variable secret can be exposed by memory dump due to abnormal shutdown of the program before the function completed.",
  "rule.sast.sw.ccpp.1416.example.0.safe": "Line 5: Use setrlimit() function to avoid memory dump. Which can be applied in POSIX only.",
  "rule.sast.sw.ccpp.1416.name": "Writing sensitive information to disk",
  "rule.sast.sw.ccpp.1416.option.target_var_name.description": "Set variables name which will be include in analysis.<br />Example) secret",
  "rule.sast.sw.ccpp.1416.option.target_var_name.name": "Target Variable Name",
  "rule.sast.sw.ccpp.1710.description": "The Violation of privilege to use functions in Windows checker finds instances of failure to properly take care of access privileges in a call to a Windows function, such as CreateProcess*(), RegCreateKey*(), SHRegCreate*(), or SHRegOpen*().\nTake care when using Windows functions such as CreateProcess*(), RegCreateKey*(), SHRegCreate*(), and SHRegOpen*(). Windows functions whose name starts with \"CreateProcess\" can possibly execute a wrong binary if the execution path is not enclosed by quotation marks. Windows functions whose name starts with \"RegCreateKey\" must use HKEY_CURRENT_USER instead of HKEY_LOCAL_MACHINE. Windows functions whose name starts with \"SHRegCreate\" must use SHREGSET_HKCU instead of SHREGSET_HKLM.\nA function parsing a blank may allow for executing a malicious binary.\nWhen using Windows functions, comply with the precautions specific to each function.",
  "rule.sast.sw.ccpp.1710.example.0.dangerous": "Line 6: SHREGSET_HKLM is used.\nLine 10: A path, \"C:\\Program Files\\GoodApp\", is not enclosed with quotation marks. Its binary can execute with Program.exe.\nLine 15: HKEY_LOCAL_MACHINE is used.",
  "rule.sast.sw.ccpp.1710.example.0.safe": "Line 6: Use SHREGSET_HKCU.\nLine 10: A path, \"C:\\Program Files\\GoodApp\", is enclosed with quotation marks.\nLine 15: Use HKEY_CURRENT_USER.",
  "rule.sast.sw.ccpp.1710.name": "Violation of privilege to use functions in Windows",
  "rule.sast.sw.ccpp.1732.description": "The Weak hash checker finds instances of using a hashing algorithm known to be insecure.\nIt also finds calls to an hash function such as MMD2, MD5, and SHA1, which is insecure.\nNon-standard hashing algorithms can be more easily encryptanalyzed and cracked by attackers. Some old algorithms have been weak over time as computing power grows-It used to be expected to take an extremely long time to crack them in the past, but now they can be broken in a couple of days or hours. Using an old or non-standard hashing algorithm may allow attackers to cryptanalyze and disable it. Hashes created by MD5 or other old algorithms can be cracked by means of rainbow tables.\nUse secure algorithms.",
  "rule.sast.sw.ccpp.1732.example.0.dangerous": "Line 1: A hash is encrypted by CryptCreateHash() function with MD2 algorithm. Do not use an insecure MD2 algorithm.",
  "rule.sast.sw.ccpp.1732.example.0.safe": "Line 1: A hash is encrypted with SHA-512 algorithm.",
  "rule.sast.sw.ccpp.1732.name": "Weak hash",
  "rule.sast.sw.ccpp.1733.description": "The Improper encryption checker finds instances of failure to call functions necessary for encryption.\nThis rule requires calls to the following functions in the defined sequence:  CryptAcquireContext(); CryptCreatehash(); CryptHasData();\nIf a necessary function is missing, encryption will not be successful. This may pose security vulnerabilities.\nMake sure all necessary encryption functions are called.",
  "rule.sast.sw.ccpp.1733.example.0.dangerous": "Line 5: CryptHashData() function is called without CryptCreateHash() call.",
  "rule.sast.sw.ccpp.1733.example.0.safe": "Line 5: Call CryptCreateHash() function before CryptHashData() call.",
  "rule.sast.sw.ccpp.1733.name": "Improper encryption",
  "rule.sast.sw.ccpp.181.description": "The Improper random number generation checker finds instances of using a predictable random value. \nrand() should not be used to generate random values and the seeding function must be called prior to a call to a random value generation function. The checker reports a defect for a call to random() without a call to srandom() or for a call to CryptGenRandom() without a call to CryptAcquireContext(). It also finds calls to rand(), which is vulnerable to security threats.\nThe random() function is used mainly for encryption in secure communication protocols. If random() is called without a call to srandom(), it will produce the same value repeatedly. To avoid this security risk, the use of srandom() is recommended.\nYou need to use cryptographically secure approaches that generate unpredictable random values.",
  "rule.sast.sw.ccpp.181.example.0.dangerous": "Line 4: Results from the program execution are identical, which causes an error. Although srand() function can be used to change the results, they span too small scopes to use for encryption.",
  "rule.sast.sw.ccpp.181.example.0.safe": "Line 2: To get a secure random number, use srandom() function instead of the srand().\nLine 4: To get a secure random number, use random() function instead of the rand().",
  "rule.sast.sw.ccpp.181.name": "Improper random number generation",
  "rule.sast.sw.ccpp.181.option.targets.description": "Describe random and random seed function name like this (random function name),(random seed function). White spaces are not allowed",
  "rule.sast.sw.ccpp.181.option.targets.name": "Random and random seed functions",
  "rule.sast.sw.ccpp.184.description": "The Leftover debug code checker finds debug code that remains not removed. \nDebug code may contain parts that output sensitive information or allow control over the system. If the program is deployed with debug code remaining, attackers may bypass an authentication process or access restricted information.\nRemove all debug code before deploying the application.",
  "rule.sast.sw.ccpp.184.example.0.dangerous": "Line 2: main() function is used for debugging, and printf() function is used to print it.",
  "rule.sast.sw.ccpp.184.example.0.safe": "Line 2: Remove code starting with 'main()' to be used for debugging.",
  "rule.sast.sw.ccpp.184.name": "Leftover debug code",
  "rule.sast.sw.ccpp.184.option.debug_string.description": "Write a string which indicates debugging.<br />Example) debug",
  "rule.sast.sw.ccpp.184.option.debug_string.name": "Debugging string",
  "rule.sast.sw.ccpp.184.option.print_function.description": "Write the name of the print function.<br />Example) printf",
  "rule.sast.sw.ccpp.184.option.print_function.name": "Printing function",
  "rule.sast.sw.ccpp.184.option.target_func.description": "Set target functions with regular expressions",
  "rule.sast.sw.ccpp.184.option.target_func.name": "Target function to analyze",
  "rule.sast.sw.ccpp.1841.description": "The Multiple signal assignments to same handler checker finds instances of connecting multiple signals to a single signal handler.\nThis can cause an unexpected termination of software.\nMake sure that one signal handler is connected with one signal.",
  "rule.sast.sw.ccpp.1841.example.0.dangerous": "Line 1: A signal handler, handler(), is defined.\nLine 5: SIGUSR1 signal is connected to a handler.\nLine 6: SIGUSR2 signal is connected to the handler.",
  "rule.sast.sw.ccpp.1841.example.0.safe": "Line 8: Each signal can be connected to a single handler.",
  "rule.sast.sw.ccpp.1841.name": "Multiple signal assignments to same handler",
  "rule.sast.sw.ccpp.1851.description": "The Use of RSA Algorithm without OAEP checker finds instances of using the RSA encryption algorithm without using OAEP.\nDo not use the RSA algorithm alone without OAEP. \nThis allows for easier decryption by attackers.\nWhen using the RSA algorithm, be sure to use OAEP together.",
  "rule.sast.sw.ccpp.1851.example.0.dangerous": "Line 1: OAEP is not used to call CryptEncrypt().",
  "rule.sast.sw.ccpp.1851.example.0.safe": "Line 1: OAEP is used to call CryptEncrypt().",
  "rule.sast.sw.ccpp.1851.name": "Use of RSA Algorithm without OAEP",
  "rule.sast.sw.ccpp.1861.description": "The Heap inspection checker finds instances of failure to completely clear heap memory before release.\nWhen sensitive data such as a password or an encryption key is not removed from memory, it could be exposed to an attacker using a `heap inspection` attack that reads the sensitive data using memory dumps or other methods.\nBe sure to completely clear heap memory before release.",
  "rule.sast.sw.ccpp.1861.example.0.dangerous": "Line 1: A variable password is declared, which will be used as a password.\nLine 4: The variable password is used as a password in LogonUserA().\nLine 20: free() function is called without clearing heap memory.",
  "rule.sast.sw.ccpp.1861.example.0.safe": "Line 19: Heap is cleared with SecureZeroMemory() function.",
  "rule.sast.sw.ccpp.1861.name": "Heap inspection",
  "rule.sast.sw.ccpp.1861.option.prevent_functions.description": "prevent functions",
  "rule.sast.sw.ccpp.1861.option.prevent_functions.name": "prevent functions",
  "rule.sast.sw.ccpp.1861.option.sink_functions.description": "sink functions",
  "rule.sast.sw.ccpp.1861.option.sink_functions.name": "sink functions",
  "rule.sast.sw.ccpp.1861.option.source_functions.description": "source functions",
  "rule.sast.sw.ccpp.1861.option.source_functions.name": "source functions",
  "rule.sast.sw.ccpp.1881.description": "The Switch statement race condition checker finds switch statements in which the switched variable can be modified while the switch is still executing.\nIn a switch statement, the switched variable may be modified while the switch is still executing.\nIf the variable being tested by the switch changes in the course of execution, this may result in unexpected behavior.\nStore the test variable in a separate variable and use this variable instead for the switch statement.",
  "rule.sast.sw.ccpp.1881.example.0.dangerous": "Line 9: A switch statement is always evaluated to zero or one. Thus, it cannot reach to a default clause. The first case is performed when \"st_ctime % 2\" is 1, and the second case is performed when the \"st_ctime %2\" is 0 over time.",
  "rule.sast.sw.ccpp.1881.example.0.safe": "Line 8: Store a value of sb->st_ctime to another variable, then use it.",
  "rule.sast.sw.ccpp.1881.name": "Switch statement race condition",
  "rule.sast.sw.ccpp.1915.description": "The Improper pointer scaling checker finds instances of performing a pointer operation inaccurately.\nYou need to ensure pointer operations are performed accurately. Operations on pointers may unexpectedly result in them pointing to wrong addresses.\nReading a wrong memory address can cause information leaks. This also may lead to a write to a restricted location, potentially allowing for a buffer overflow.\nMake sure pointer operations are performed correctly.",
  "rule.sast.sw.ccpp.1915.example.0.dangerous": "Line 9: A pointer is moved to multiple of the buf size and its int type. But, a programmer intends to move the pointer to the buf size. A pointer moves 320 instead of 80 for a 32-bit machine in this example.",
  "rule.sast.sw.ccpp.1915.example.0.safe": "Line 9: Perform a pointer operation instead of using sizeof() function.",
  "rule.sast.sw.ccpp.1915.name": "Improper pointer scaling",
  "rule.sast.sw.ccpp.1944.description": "The Insufficient exponent for cryptographic key checker finds RSA (Rivest Shamir Adleman) public key exponents that are not 65,537.\nBeing an asymmetric cryptography algorithm, RSA is recommended to be used with a public key exponent of 2^16 + 1, which equals 65,537 (0x10001 in hexadecimal). This value is the optimal number for public-key operations involved in cryptographic computations or signature verification. Using this value is not mandatory but recommended for optimal security and speed of the algorithm.\nWhen using RSA asymmetric encryption, set the public key exponent to 65,537.",
  "rule.sast.sw.ccpp.1944.example.0.dangerous": "Line 13: 13 is used as an exponent of public key. This can improve performance, but lower security.",
  "rule.sast.sw.ccpp.1944.example.0.safe": "Line 13: Use 65537 optimized in terms of security and operation speed.",
  "rule.sast.sw.ccpp.1944.name": "Insufficient exponent for cryptographic key",
  "rule.sast.sw.ccpp.1962.description": "The Buffer overflow dynamically assigned in wrong condition checker finds instances in which an improper conditional evaluation causes reading from or writing to memory out of an allocated buffer.\nThis type of fault includes the following situations: The address value is outside the bounds of the memory buffer. The argument range is determined by an improper condition. The faulty argument is dynamically allocated memory.\nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen reading from or writing to a buffer, set conditions properly to keep within the specified range.",
  "rule.sast.sw.ccpp.1962.example.0.dangerous": "Line 2: A dynamically assigned memory is assigned to buf. The size of buf is set to 10.\nLine 3: An idx value is passed with scanf() function.\nLine 5: The size of idx is compared to be evaluated between zero and ten.\nLine 6: The idx can be 10 by a condition on Line 5. This leads to a buffer overflow.",
  "rule.sast.sw.ccpp.1962.example.0.safe": "Line 5: The size of idx is compared to be evaluated between zero and nine.\nLine 6: An array can be accessed in scope of condition on Line 5.",
  "rule.sast.sw.ccpp.1962.name": "Buffer overflow dynamically assigned in wrong condition",
  "rule.sast.sw.ccpp.1963.description": "The Dynamically Assigned Buffer Underflow checker finds instances of reading or writing below the lower bound of an object in memory.\nThis type of fault includes the following situations: A value is used that attempts to read from or write to a memory location lower than the specified range of indices. The faulty argument is dynamically allocated memory.\nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen reading from or writing to a buffer, keep within its specified range.",
  "rule.sast.sw.ccpp.1963.example.0.dangerous": "Line 2: -20 is assigned to an argument.\nLine 6: -10 is assigned to an index of buf[], which causes an error.",
  "rule.sast.sw.ccpp.1963.example.0.safe": "Line 7: The buffer index needs to be larger than 0 or smaller than the buffer. Caution is needed particularly in argument settings.",
  "rule.sast.sw.ccpp.1963.name": "Dynamically Assigned Buffer Underflow",
  "rule.sast.sw.ccpp.1964.description": "The Dynamically Assigned Buffer Underflow Caused by Improper Condition checker finds instances in which an improper conditional evaluation causes reading from or writing to memory out of an allocated buffer.\nThis type of fault includes the following situations: A value is used that attempts to read from or write to a memory location lower than the specified range of indices. The argument range is determined by an improper condition. The faulty argument is dynamically allocated memory.\nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen reading from or writing to a buffer, set conditions properly to keep within the specified range.",
  "rule.sast.sw.ccpp.1964.example.0.dangerous": "Line 2: x is compared to -20.\nLine 3: An argument value is assigned to foo2().\nLine 7: An index value of str[] is set to smaller than -20, which causes an error.",
  "rule.sast.sw.ccpp.1964.example.0.safe": "Line 2: The buffer index needs to be larger than 0, or smaller than buffer size. Because the index size of str[] is 11 without nulls, set size of n between 0 to 10.",
  "rule.sast.sw.ccpp.1964.name": "Dynamically Assigned Buffer Underflow Caused by Improper Condition",
  "rule.sast.sw.ccpp.1986.description": "The TOCTOU race condition on filename checker finds race conditions occurring between the time of checking a file's state by filename and the time of using it.\nThe checker reports when an already opened file's name is passed in a call to a file function such as chown(), stat(), chmod(), or remove().\nWhen coding to check the state of a resource and access it based on the checked state, programmers often assume that the checked state will persist until the resource is accessed. But the resource's state can change between the check and the use. This can happen even in a non-multithreaded program because the state of resources such as files can be changed by other programs or the operating system. These race conditions can cause the program to perform invalid actions or throw an exception and may help attackers gain access to unauthorized resources.\nBy using a file pointer or descriptor, you can reduce the risk of accessing an unintended file. When performing a file operation, fchown(), fstat(), and fchmod() are recommended over chown(), stat(), and chmod(), respectively, because they don't trigger race conditions.",
  "rule.sast.sw.ccpp.1986.example.0.dangerous": "Line 8: An error occurs by a filename used by chmod().",
  "rule.sast.sw.ccpp.1986.example.0.safe": "Line 8: Use a file descriptor with fchmod() instead of filename to access to the file.",
  "rule.sast.sw.ccpp.1986.name": "TOCTOU race condition on filename",
  "rule.sast.sw.ccpp.2007.description": "The Invalid umask Argument checker finds calls to umask() function in which an invalid value is passed as an argument.\nThe checker checks for passing 077 or more size to an argument of the umask().\nThe chmod and umask commands use similar argument formats, which however are interpreted oppositely from one another, thus causing confusion. In the chmod command, 7 means all rights (read, write, and execute) granted and 0 means no rights granted. In the umask command, in contrast, 7 means no rights granted and 0 means all rights granted. In addition, chmod receives a three-digit octal number as an argument while umask receives a two-digit octal number. Since the Python function of umask() works in the same way as the OS command of umask, its argument also has to be passed in the same format.\nPass an argument of a two-digit octal number to umask() in the correct format.",
  "rule.sast.sw.ccpp.2007.example.0.dangerous": "Line 3: umask() function is called with an invalid argument.",
  "rule.sast.sw.ccpp.2007.example.0.safe": "Line 3: Use a valid argument to call the umask().",
  "rule.sast.sw.ccpp.2007.name": "Invalid umask Argument",
  "rule.sast.sw.ccpp.210.description": "The Reallocation of aligned memory checker finds instances of using the realloc() function to reallocate the memory allocated by aligned_alloc().\nThe alignment of memory returned by aligned_alloc() is not the same as the alignment of memory reallocated by realloc(). Thus, such a practice may result in an unexpected behavior.\nMake sure memory allocated by aligned_alloc() it not reallocated by realloc(). ",
  "rule.sast.sw.ccpp.210.example.0.dangerous": "Line 5: ptr is aligned to 4096 byte.\nLine 8: Memory with different alignment is assigned to ptr.",
  "rule.sast.sw.ccpp.210.example.0.safe": "Line 8: Ensure to assign a different size of memory with the same alignment. Then, use memcpy() function to import the value from earlier memory.",
  "rule.sast.sw.ccpp.210.name": "Reallocation of aligned memory",
  "rule.sast.sw.ccpp.214.description": "The Command injection of call on system function checker finds calls to exec system functions that are passed with user inputs but without a `--` string included.\nWithout `--` included, an attacker can use an arbitrary option to try a command injection attack.\nMake sure the user-input arguments passed in a call to an exec system function include a `--` string.",
  "rule.sast.sw.ccpp.214.example.0.dangerous": "Line 7: A string \"--\" is missing from a login command to call getenv() function.",
  "rule.sast.sw.ccpp.214.example.0.safe": "Line 6: Use the string \"--\" to prevent other command options from executing. Thus, \"USER\" information gets compromised by the other command options.",
  "rule.sast.sw.ccpp.214.name": "Command injection of call on system function",
  "rule.sast.sw.ccpp.216.description": "The Missing null termination character checker finds expressions that produce or use strings that are not terminated with nulls.\nIn case of a call to strncpy(dst, src, size), if the size of src argument is larger than the third argument of size, a buffer of dst argument's result may not be null-terminated.\nBecause a string is not terminated with a null, it is hard to determine its last character. So, the non-null terminated string is not secure for an argument of a standard string function. Thus, this may produce an unexpected result.\nYou need to ensure that expression strings are terminated with nulls.\nWhen calling strncpy(), make sure the size of the second argument is no greater than the value of the third argument.",
  "rule.sast.sw.ccpp.216.example.0.dangerous": "Line 3: A null character is missed by copying src that is larger than dst.",
  "rule.sast.sw.ccpp.216.example.0.safe": "Line 4: Check the size and the null for src, then copy to strcpy().",
  "rule.sast.sw.ccpp.216.name": "Missing null termination character",
  "rule.sast.sw.ccpp.217.description": "The Misuse of unbounded input checker finds expressions that store external user input data in a stack array. \nAn expression that stores external input data in a stack array is as follows: The strcat() function's second argument is user input data and its first argument is a local variable. \nBeing a local variable, the array is a fixed-size buffer declared on the stack. Therefore, if external input data is written out of the bounds of the buffer, a buffer overflow may occur. Buffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nDo not store external input data in a stack array, but in a dynamically allocated buffer. This prevents buffer overflows regardless of the size of external data. Note that when the buffer is dynamically allocated, its size must be set larger than the size of external data. ",
  "rule.sast.sw.ccpp.217.example.0.dangerous": "Line 5: An external input data, argv, is stored to a stack array, variable cmdline through strcat() function.",
  "rule.sast.sw.ccpp.217.example.0.safe": "Line 9: Assign dynamically assigned buffer to the cmdline through realloc() function at the size of the external input data.\nLine 13: Copy the external input data to the cmdline.",
  "rule.sast.sw.ccpp.217.name": "Misuse of unbounded input",
  "rule.sast.sw.ccpp.2252.description": "The Buffer overflow by function checker finds calls with an error for copying a specific size of data from memories.\nThe error mentioned above refers the following examples. A function call or argument in the memory address of upper bounds is used to write and read. The faulty argument is a local variable.\nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen using a function that copies a specific size of in-memory data, make sure the specified range is kept.",
  "rule.sast.sw.ccpp.2252.example.0.dangerous": "Line 1: An array size of buf1 is declared as 100.\nLine 2: An array size of buf2 is declared as 200.\nLine 4: An out-of-ranged copy is performed with memcpy() function. The range to copy is 200, size of buf2, but size of buf1 is 100.",
  "rule.sast.sw.ccpp.2252.example.0.safe": "Line 4: Pass the copying range to 100, the buf1 size.",
  "rule.sast.sw.ccpp.2252.name": "Buffer overflow by function",
  "rule.sast.sw.ccpp.2253.description": "The Buffer overflow by function in wrong condition checker finds calls with an error for copying a specific size of data from memories.\nThe error mentioned above refers the following examples. A function call or argument in the memory address of upper bounds is used to write and read. The argument range is determined by an improper condition. The faulty argument is a local variable.\nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen using a function that copies a specific size of in-memory data, make sure the specified range is kept in proper conditions.",
  "rule.sast.sw.ccpp.2253.example.0.dangerous": "Line 2: A size of y array is declared as 100.\nLine 3: Return n when it is greater than sizeof(y)+100. In other words, Line 4 is executed when n is greater than sizeof(y).\nLine 4: The size of n can be greater than 100, the size of y array.",
  "rule.sast.sw.ccpp.2253.example.0.safe": "Line 3: Set the condition of the if statements in Line 4 to copy the range.",
  "rule.sast.sw.ccpp.2253.name": "Buffer overflow by function in wrong condition",
  "rule.sast.sw.ccpp.2254.description": "The Field buffer overflow by function checker finds calls with an error for copying a specific size of data from memories.\nThis type of fault includes the following situations: A function call or argument in the memory address of upper bounds is used to write and read. The faulty argument is a field of a class or struct.\nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. The malicious code can be executed for causing a denial-of-service (DoS) attack or various other problems.\nWhen using a function that copies a specific size of in-memory data, make sure the specified range is kept.",
  "rule.sast.sw.ccpp.2254.example.0.dangerous": "Line 1: A struct node is defined.\nLine 2: An array field ch is defined. The size of array has been set to 100.\nLine 7: Field \"ch\" of structure node \"x\" is accessed with index 200. The array index exceeds its size.",
  "rule.sast.sw.ccpp.2254.example.0.safe": "Line 7: Access to field \"ch\" of structure node \"x\" with index less than 100.",
  "rule.sast.sw.ccpp.2254.name": "Field buffer overflow by function",
  "rule.sast.sw.ccpp.2255.description": "The Field buffer overflow by function in wrong condition checker finds calls with an error for copying a specific size of data from memories.\nThe error mentioned above refers the following examples. A function call or argument in the memory address of upper bounds is used to write and read. The argument range is determined by an improper condition. The faulty argument is a field of a class or struct.\nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen using a function that copies a specific size of in-memory data, make sure the specified range is kept in proper conditions.",
  "rule.sast.sw.ccpp.2255.example.0.dangerous": "Line 1: A node struct is declared.\nLine 2: Ch array, a field of node struct, is declared as size 100.\nLine 7: Returns n when it is greater than 300.\nLine 8: The n size can be greater than 100, the ch array size.",
  "rule.sast.sw.ccpp.2255.example.0.safe": "Line 7: Set the condition of the if statements in Line 8 to copy the range.",
  "rule.sast.sw.ccpp.2255.name": "Field buffer overflow by function in wrong condition",
  "rule.sast.sw.ccpp.2256.description": "The Buffer overflow dynamically assigned by function checker finds calls with an error from copying the specific size of data on memory.\nThe error mentioned above refers the following examples. A function call or argument in the memory address of upper bounds is used to write and read. The faulty argument is dynamically allocated memory.\nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen using a function that copies a specific size of in-memory data, make sure the specified range is kept.",
  "rule.sast.sw.ccpp.2256.example.0.dangerous": "Line 1: A buf1 pointer size is dynamically allocated to 100.\nLine 2: A buf2 pointer size is dynamically allocated to 200.\nLine 4: An out-of-ranged copy is performed with memcpy() function. The range to copy is 200, size of buf2, but size of buf1 is 100.",
  "rule.sast.sw.ccpp.2256.example.0.safe": "Line 4: Pass the copying range to 100, the buf1 size.",
  "rule.sast.sw.ccpp.2256.name": "Buffer overflow dynamically assigned by function",
  "rule.sast.sw.ccpp.2257.description": "The Buffer overflow dynamically assigned by function in wrong condition checker finds calls with an error for copying a specific size of data from memories.\nThe error mentioned above refers the following examples. A function call or argument in the memory address of upper bounds is used to write and read. The argument range is determined by an improper condition. The faulty argument is dynamically allocated memory.\nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen using a function that copies a specific size of in-memory data, make sure the specified range is kept in proper conditions.",
  "rule.sast.sw.ccpp.2257.example.0.dangerous": "Line 2: A dynamically allocated value, 100, is assigned to variable y.\nLine 3: n is compared to be evaluated to more than 'sizeof(y) + 100'.\nLine 4: A buffer overflow can occur by copying a value larger than y in memcpy() on Line 3.",
  "rule.sast.sw.ccpp.2257.example.0.safe": "Line 3: Set a condition not to exceed scopes of the copied buffer.",
  "rule.sast.sw.ccpp.2257.name": "Buffer overflow dynamically assigned by function in wrong condition",
  "rule.sast.sw.ccpp.2258.description": "The Field Buffer Underflow from Function checker finds calls with an error for copying a specific size of data from memories.\nThe error mentioned above refers the following examples. A function call or argument in the memory address of lower bounds is used to write and read. The faulty argument is a field of a class or struct.\nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen using a function that copies a specific size of in-memory data, make sure the specified range is kept.",
  "rule.sast.sw.ccpp.2258.example.0.dangerous": "Line 8: The result of evaluating the third argument of the memset() function is -10 by Line 13. Negative memories are accessed.\nLine 12: The n value is resulted to -20.\nLine 13: A type_under() function is called. Its argument is -20.",
  "rule.sast.sw.ccpp.2258.example.0.safe": "Line 13: Initialize n so that it is not a negative on Line 8.",
  "rule.sast.sw.ccpp.2258.name": "Field Buffer Underflow from Function",
  "rule.sast.sw.ccpp.2259.description": "The Field Buffer Underflow from Function Caused by Improper Condition checker finds calls with an error for copying a specific size of data from memories.\nThe error mentioned above refers the following examples. A function call or argument in the memory address of lower bounds is used to write and read. The argument range is determined by an improper condition. The faulty argument is a field of a class or struct.\nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen using a function that copies a specific size of in-memory data, make sure the specified range is kept in proper conditions.",
  "rule.sast.sw.ccpp.2259.example.0.dangerous": "Line 8: Return n when it is 0 or greater.\nLine 9: The third argument of the memset() function is less than zero. Negative memories are accessed.",
  "rule.sast.sw.ccpp.2259.example.0.safe": "Line 8: Set the if statement condition to prevent value n from becoming a negative number on Line 9.",
  "rule.sast.sw.ccpp.2259.name": "Field Buffer Underflow from Function Caused by Improper Condition",
  "rule.sast.sw.ccpp.226.description": "The Missing changing working directory checker finds instances in which the chroot() function is called to modify the root directory but it is not followed by a call to the chdir() function, which is required to change the working directory. \nThe chroot() function makes a specific directory recognized as the root directory of the file system. If the current working directory is not changed subsequently, an unexpected directory can be accessed via a relative path.\nIf a call to chroot() is not followed by a call to chdir(), an unexpected result may occur.",
  "rule.sast.sw.ccpp.226.example.0.dangerous": "Line 5: chroot() function is used, but is not changing a work directory.",
  "rule.sast.sw.ccpp.226.example.0.safe": "Line 6: Use chdir(\"/\") function to move the current directory into a subdirectory of root.",
  "rule.sast.sw.ccpp.226.name": "Missing changing working directory",
  "rule.sast.sw.ccpp.226.option.function_target_begin_call_function.description": "Target functions begin call",
  "rule.sast.sw.ccpp.226.option.function_target_begin_call_function.name": "Target functions begin call",
  "rule.sast.sw.ccpp.226.option.should_be_call_param.description": "Set up required call parameters",
  "rule.sast.sw.ccpp.226.option.should_be_call_param.name": "Required call parameters",
  "rule.sast.sw.ccpp.2260.description": "The Buffer Underflow from Function checker finds calls with an error for copying a specific size of data from memories.\nThe error mentioned above refers the following examples. A function call or argument in the memory address of lower bounds is used to write and read. The faulty argument is a local variable.\nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen using a function that copies a specific size of in-memory data, make sure the specified range is kept.",
  "rule.sast.sw.ccpp.2260.example.0.dangerous": "Line 3: The result of evaluating the third argument of the memset() function is -10 by Line 7. Negative memories are accessed.\nLine 7: The n value is resulted to -20.\nLine 8: under_function() function is called. Its argument is -20.",
  "rule.sast.sw.ccpp.2260.example.0.safe": "Line 8: Initialize so that the n value is not negative on Line 3.",
  "rule.sast.sw.ccpp.2260.name": "Buffer Underflow from Function",
  "rule.sast.sw.ccpp.2261.description": "The Buffer Underflow from Function Caused by Improper Condition checker finds calls with an error for copying a specific size of data from memories.\nThe error mentioned above refers the following examples. A function call or argument in the memory address of lower bounds is used to write and read. The argument range is determined by an improper condition. The faulty argument is a local variable.\nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen using a function that copies a specific size of in-memory data, make sure the specified range is kept in proper conditions.",
  "rule.sast.sw.ccpp.2261.example.0.dangerous": "Line 3: n is returned when it is zero or greater.\nLine 4: The third argument of the memset() function is less than zero. Negative memories are accessed.",
  "rule.sast.sw.ccpp.2261.example.0.safe": "Line 3: An if statement condition is set so that n value is not converted into a negative on Line 4.",
  "rule.sast.sw.ccpp.2261.name": "Buffer Underflow from Function Caused by Improper Condition",
  "rule.sast.sw.ccpp.2262.description": "The Dynamically Assigned Buffer Underflow from Function checker finds calls with an error for copying a specific size of data from memories.\nThe error mentioned above refers the following examples. A function call or argument in the memory address of lower bounds is used to write and read. The faulty argument is dynamically allocated memory.\nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen using a function that copies a specific size of in-memory data, make sure the specified range is kept.",
  "rule.sast.sw.ccpp.2262.example.0.dangerous": "Line 3: The result of evaluating the third argument of the memset() function is -10 by Line 8. Negative memories are accessed.\nLine 8: The n value is resulted to -20.\nLine 9: under_function() function is called. Its argument is -20.",
  "rule.sast.sw.ccpp.2262.example.0.safe": "Line 9: Initialize so that the n value is not negative on Line 3.",
  "rule.sast.sw.ccpp.2262.name": "Dynamically Assigned Buffer Underflow from Function",
  "rule.sast.sw.ccpp.2263.description": "The Dynamically Assigned Buffer Underflow from Function Caused by Improper Condition checker finds calls with an error for copying a specific size of data from memories.\nThe error mentioned above refers the following examples. A function call or argument in the memory address of lower bounds is used to write and read. The argument range is determined by an improper condition. The faulty argument is dynamically allocated memory.\nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen using a function that copies a specific size of in-memory data, make sure the specified range is kept in proper conditions.",
  "rule.sast.sw.ccpp.2263.example.0.dangerous": "Line 3: n is returned when it is zero or greater.\nLine 4: The third argument of the memset() function is less than zero. Negative memories are accessed.",
  "rule.sast.sw.ccpp.2263.example.0.safe": "Line 3: An if statement condition is set so that n value is not converted into a negative on Line 4.",
  "rule.sast.sw.ccpp.2263.name": "Dynamically Assigned Buffer Underflow from Function Caused by Improper Condition",
  "rule.sast.sw.ccpp.227.description": "The Reliance on DNS lookups in security decisions checker finds instances in which authentication and access controls rely solely on the domain name.\nBecause DNS servers are targeted for spoofing, reliance on the domain name allows attackers to modify the DNS to point the domain name to their IP address. They can create fake DNS entries, and you must avoid security decisions (authentication, access controls, etc.) solely based on the domain name. A tainted local DNS cache may let the network traffic between a particular server and users transferred through an attacker.\nFor servers with known IP addresses, use their IP addresses.",
  "rule.sast.sw.ccpp.227.example.0.dangerous": "Line 6: Gethostbyaddr() function is used to acquire a DNS name.\nLine 8: A client is checked without DNS name verification.",
  "rule.sast.sw.ccpp.227.example.0.safe": "Line 2: Check the client through its IP address instead of the DNS name.",
  "rule.sast.sw.ccpp.227.name": "Reliance on DNS lookups in security decisions",
  "rule.sast.sw.ccpp.227.option.dns_decision_function.description": "Write the name of the function which makes security decisions by using the DNS as a parameter.<br />Example) strcmp",
  "rule.sast.sw.ccpp.227.option.dns_decision_function.name": "Security decision function",
  "rule.sast.sw.ccpp.227.option.dns_lookup_function.description": "Write the name of the function which looks up the DNS.<br />Example) gethostbyaddr",
  "rule.sast.sw.ccpp.227.option.dns_lookup_function.name": "DNS Lookup function",
  "rule.sast.sw.ccpp.229.description": "The Use of getlogin in multi-threaded program checker finds instances of using the getlogin() function in a multithreaded environment to get a user account.\nYou can optionally add functions forbidden in a multithreaded environment.\nThe getlogin() function returns the username of the called thread. If used in a multithreaded environment, its return may be modified by the thread of another username.\nDo not use getlogin() in a multithreaded environment.",
  "rule.sast.sw.ccpp.229.example.0.dangerous": "Line 3: getlogin() function is used whose return value is mutable in other threads.",
  "rule.sast.sw.ccpp.229.example.0.safe": "Line 4: Use getlogin_r() function secure in a multi-threaded environment.",
  "rule.sast.sw.ccpp.229.name": "Use of getlogin in multi-threaded program",
  "rule.sast.sw.ccpp.229.option.function_should_not_be_used.description": "Set up forbidden functions",
  "rule.sast.sw.ccpp.229.option.function_should_not_be_used.name": "Forbidden functions",
  "rule.sast.sw.ccpp.230.description": "The Hardcoded password checker finds calls to SQLConnect() that pass a hardcoded password.\nYou can optionally specify the format of hardcoded passwords. \nIt is risky to write a password directly in the code for outbound communication to external components or inbound authentication. It is hard for administrators to catch attackers accessing the system and stealing hardcoded passwords, and whenever a password is changed, a new deployment is required.\nDo not put a hardcoded password in a call to SQLConnect().",
  "rule.sast.sw.ccpp.230.example.0.dangerous": "Line 6: A hardcoded \"pwd\" is included.",
  "rule.sast.sw.ccpp.230.example.0.safe": "Line 6: Modify the password to be acquired from outside and ensure to be encrypted.",
  "rule.sast.sw.ccpp.230.name": "Hardcoded password",
  "rule.sast.sw.ccpp.230.option.call_param_target_in_function.description": "Write the target function name and the parameter location where passwords are used. Use a format such as \"(parameter location):(function name)\".<br />Example) 6:SQLConnect",
  "rule.sast.sw.ccpp.230.option.call_param_target_in_function.name": "Target function and parameters",
  "rule.sast.sw.ccpp.230.option.password_variable_name.description": "Write the name of the variable used as a password.<br />Example) password",
  "rule.sast.sw.ccpp.230.option.password_variable_name.name": "Name of the password variable",
  "rule.sast.sw.ccpp.231.description": "The Hardcoded user name checker finds calls to SQLConnect() that pass a hardcoded user account.\nIt is risky to write a user account directly in the code for outbound communication to external components or inbound authentication. It is hard for administrators to catch attackers accessing the system and stealing hardcoded user accounts, and whenever a user account or password is changed, a new deployment is required.\nDo not put a hardcoded user account in a call to SQLConnect().",
  "rule.sast.sw.ccpp.231.example.0.dangerous": "Line 9: An unvalidated and hardcoded user account is used.",
  "rule.sast.sw.ccpp.231.example.0.safe": "Line 9: Verify the user account and password.",
  "rule.sast.sw.ccpp.231.name": "Hardcoded user name",
  "rule.sast.sw.ccpp.231.option.call_param_target_in_function.description": "Write target function and parameter index. Ex) 4th parameter in SQLConnect = 4:SQLConnect",
  "rule.sast.sw.ccpp.231.option.call_param_target_in_function.name": "Target function and parameter index",
  "rule.sast.sw.ccpp.232.description": "The Weak cryptographic algorithm checker finds instances of using a simple cryptographic algorithm for password encryption.\nThe checker searches for calls to SQLConnect() in which the password in the sixth argument is encrypted by a simple cryptographic algorithm. The recommended cryptographic modules are the RSA_private_decrypt() and RSA_private_decrypt_assign() functions.\nUsing a simple encryption function may allow for exposal of passwords.\nDo not use a weak cryptographic algorithm for password encryption.",
  "rule.sast.sw.ccpp.232.example.0.dangerous": "Line 9: A password is encrypted by encoding algorithm, not an encryption.",
  "rule.sast.sw.ccpp.232.example.0.safe": "Line 7: Use RSA encryption algorithm instead of the weak one.",
  "rule.sast.sw.ccpp.232.name": "Weak cryptographic algorithm",
  "rule.sast.sw.ccpp.232.option.call_param_target_in_function.description": "Write the target function name and the parameter location where the key is used. Use a format such as \"(parameter location):(function name)\".<br />Example) 1:RSA_generate_key",
  "rule.sast.sw.ccpp.232.option.call_param_target_in_function.name": "Target function and parameters",
  "rule.sast.sw.ccpp.232.option.need_function.description": "Set up recommended encryption modules. <br />How to ) [param index]:[function name]  <br />param index : -1  - assign      ex) passwd = function();<br />0   - all         Available if the parameter is 1<br />1~  - index       ex) function(test, passwd);",
  "rule.sast.sw.ccpp.232.option.need_function.name": "Recommended encryption modules",
  "rule.sast.sw.ccpp.233.description": "The Insecure privilege control checker finds instances of using the seteuid() function to elevate the user's permission in some part of code.\nElevated user permissions may cause information leaks.\nDo not use seteuid() to grand a permission.",
  "rule.sast.sw.ccpp.233.example.0.dangerous": "Line 4: seteuid(0) is used to gain the most elevated permissions.\nLine 7: A real UID of a current process is used for lower privileges.",
  "rule.sast.sw.ccpp.233.example.0.safe": "Line 4: Do not gain lower or higher privileges, and use accessible resources only.",
  "rule.sast.sw.ccpp.233.name": "Insecure privilege control",
  "rule.sast.sw.ccpp.233.option.call_param_target_in_function.description": "Required parameter in call function",
  "rule.sast.sw.ccpp.233.option.call_param_target_in_function.name": "Required parameter in call function",
  "rule.sast.sw.ccpp.234.description": "The Insecure privilege reset checker finds instances in which the permission is elevated to perform a particular action but is not de-elevated afterword.\nYou can optionally specify functions subject to analysis and sequences of functions.\nIf the permission remains elevated even after finishing the relevant actions, attackers can easily obtain access and users can abuse the permission.\nPermissions elevated for a particular action must be de-elevated on the completion of the action.",
  "rule.sast.sw.ccpp.234.example.0.dangerous": "Line 4: A root privilege is not restored after an action.",
  "rule.sast.sw.ccpp.234.example.0.safe": "Line 8: Call the seteuid() function after calling chroot() to restore the privileges.",
  "rule.sast.sw.ccpp.234.name": "Insecure privilege reset",
  "rule.sast.sw.ccpp.234.option.function_target.description": "Set target functions with regular expressions",
  "rule.sast.sw.ccpp.234.option.function_target.name": "Target function to analyze",
  "rule.sast.sw.ccpp.234.option.function_used_order.description": "Set up function call order",
  "rule.sast.sw.ccpp.234.option.function_used_order.name": "Function call order",
  "rule.sast.sw.ccpp.235.description": "The Insufficient cryptographic key size checker finds encryption keys that are too short.\nYou can optionally specify the minimum key length that ensures security.\nAn encryption key is used for encryption and decryption purposes; if it is not long enough, it can be uncovered in a practically short time even with a verified cryptographic algorithm used. This can be exploited to decrypt encrypted data or passwords.\nEach major algorithm suggests an appropriate length of a key that ensures an extremely long time is taken to break the key at the currently known level of technology, thus making attacks on it practically impossible. It is recommended to use a key no shorter than the suggested length. For instance, the RSA algorithm must be used with a key of at least 2,048 bits (as of 2015), while symmetric encryption algorithms require a key of at least 128 bits.",
  "rule.sast.sw.ccpp.235.example.0.dangerous": "Line 4: A 512 bit key is used.",
  "rule.sast.sw.ccpp.235.example.0.safe": "Line 4: Set the key length to 2048 bit at least.",
  "rule.sast.sw.ccpp.235.name": "Insufficient cryptographic key size",
  "rule.sast.sw.ccpp.235.option.call_param_target_in_function.description": "Write the target function name and the parameter location where the key is used. Use a format such as \"(parameter location):(function name)\".<br />Example) 1:RSA_generate_key",
  "rule.sast.sw.ccpp.235.option.call_param_target_in_function.name": "Target function and parameters",
  "rule.sast.sw.ccpp.235.option.min_value.description": "Write the minimum key length to allow during use of the encryption algorithm.<br />Example) 1024",
  "rule.sast.sw.ccpp.235.option.min_value.name": "Minimum key length",
  "rule.sast.sw.ccpp.236.description": "The Inappropriate RSA Padding checker finds RSA padding schemes that are inappropriate for the RSA algorithm.\nRSA_NO_PADDING should not be passed as a padding option.\nProper RSA padding ensures secure encryption. Therefore, use a padding scheme that is secure enough to meet the recommendations.\nIt is recommended to use OAEP.",
  "rule.sast.sw.ccpp.236.example.0.dangerous": "Line 4: Insecure RSA_NO_PADDING () argument is used.",
  "rule.sast.sw.ccpp.236.example.0.safe": "Line 4: Use other arguments instead of RSA_NO_PADDING for strong encryption.",
  "rule.sast.sw.ccpp.236.name": "Inappropriate RSA Padding",
  "rule.sast.sw.ccpp.236.option.call_param_should_not_be_name.description": "Set up forbidden macro on call.",
  "rule.sast.sw.ccpp.236.option.call_param_should_not_be_name.name": "Forbidden macro on call parameters",
  "rule.sast.sw.ccpp.236.option.call_param_target_in_function.description": "Target functions",
  "rule.sast.sw.ccpp.236.option.call_param_target_in_function.name": "Target function to analyze",
  "rule.sast.sw.ccpp.237.description": "The Hardcoded salt checker finds instances of using a hardcoded salt for hash calculation.\nNot only does a hardcoded salt allow all of the project's developers to view the salt, it also becomes extremely difficult to change after the application is in production. Furthermore, if attackers know the value of the salt, they can calculate `rainbow tables` for the application and more easily determine the hashed values.\nUse a cryptographically secure approach that generates unpredictable salts randomly, or have salts generated from an external source.",
  "rule.sast.sw.ccpp.237.example.0.dangerous": "Line 4: A hardcoded salt xp is used.",
  "rule.sast.sw.ccpp.237.example.0.safe": "Line 3: Enable to generate the random salt at every time.",
  "rule.sast.sw.ccpp.237.name": "Hardcoded salt",
  "rule.sast.sw.ccpp.237.option.call_param_target_in_function.description": "Write the target function name and the parameter location where salt value is used. Use a format such as \"(parameter location):(function name)\".<br />Example) 2:crypt",
  "rule.sast.sw.ccpp.237.option.call_param_target_in_function.name": "Target function and parameters",
  "rule.sast.sw.ccpp.237.option.excluded_expr.description": "Write an expression of salt value to exclude.<br />Example) safe",
  "rule.sast.sw.ccpp.237.option.excluded_expr.name": "Salt expression to exclude (exception)",
  "rule.sast.sw.ccpp.237.option.target_expr.description": "Write an expression of salt value to detect. If there is no value entered, all constant salt values will be detected.<br />Example) salt",
  "rule.sast.sw.ccpp.237.option.target_expr.name": "Salt expression to allow (target)",
  "rule.sast.sw.ccpp.238.description": "The Weak cryptographic algorithm of password checker finds instances of using a cryptographic algorithm known to be insecure.\nThe weak cryptographic algorithms subject to the detection of the checker include RC2, RC4, RC5, RC6, MD4, MD5, SHA1, and DES.\nNon-standard cryptographic algorithms can be more easily cryptanalyzed and cracked by attackers. Some old algorithms have been weak over time as computing power grows-It used to be expected to take an extremely long time to crack them in the past, but now they can be broken in a couple of days or hours. Using an old or non-standard cryptographic algorithm may allow attackers to cryptanalyze and disable it.\nDeveloping your own cryptographic algorithm is dangerous; instead, use standard algorithms that have been proven in academia and industry. Use secure algorithms such as 3DES, AES, and SEED instead of those considered weak such as DES and RC5. And encryption keys must be long enough in accordance with the appropriate length suggested by each standard, secure algorithm.",
  "rule.sast.sw.ccpp.238.example.0.dangerous": "Line 4: EVP_des_ecb() is using the weak DES algorithm.",
  "rule.sast.sw.ccpp.238.example.0.safe": "Line 4: Use the secure 3-DES, or AES algorithm.",
  "rule.sast.sw.ccpp.238.name": "Weak cryptographic algorithm of password",
  "rule.sast.sw.ccpp.238.option.crypt_string.description": "Write a string which indicates the encryption status.<br />Example) crypt.*",
  "rule.sast.sw.ccpp.238.option.crypt_string.name": "Encryption string",
  "rule.sast.sw.ccpp.238.option.decrypt_string.description": "Write a string which indicates decryption status.<br />Example) decrypt.*",
  "rule.sast.sw.ccpp.238.option.decrypt_string.name": "Decryption string",
  "rule.sast.sw.ccpp.238.option.risky_algorithm.description": "Write the name of the weak encryption algorithm function.<br />Example) EVP_des_ecb",
  "rule.sast.sw.ccpp.238.option.risky_algorithm.name": "Weak encryption algorithm",
  "rule.sast.sw.ccpp.238.option.risky_algorithm_id.description": "Write an ID of the weak encryption algorithm.<br />Example) DES",
  "rule.sast.sw.ccpp.238.option.risky_algorithm_id.name": "Weak encryption algorithm ID",
  "rule.sast.sw.ccpp.238.option.safe_algorithm.description": "Write a name of the strong encryption algorithm function.<br />Example) EVP_aes_128_cbc",
  "rule.sast.sw.ccpp.238.option.safe_algorithm.name": "Strong encryption algorithm",
  "rule.sast.sw.ccpp.239.description": "The Multiple bindings to same port checker finds instances in which multiple services run on one port.\nIf a single port is used by multiple services, data packets can be stolen or spoofed while transferred.\nMake sure multiple services do not run on the same port.",
  "rule.sast.sw.ccpp.239.example.0.dangerous": "Line 9: Among several socket options, SO_REUSSEADDR is set.\nLine 12: INADDR_ANY is used as a server address.\nLine 14: Multiple sockets can be bound by using SO_REUSSEADDR, INADDR_ANY.",
  "rule.sast.sw.ccpp.239.example.0.safe": "Line 9: Ensure not to use SO_REUSEADDR and INADDR_ANY together among the socket options.",
  "rule.sast.sw.ccpp.239.name": "Multiple bindings to same port",
  "rule.sast.sw.ccpp.240.description": "The Incorrect permission assignment for critical resource checker finds instances of granting a read or edit privilege improperly.\nAn improperly granted privilege can cause system information leaks or abuse by users leading to system malfunctions.\nMake sure granting a privilege does not lead to exposal of system information.",
  "rule.sast.sw.ccpp.240.example.0.dangerous": "Line 1: umask(0) is allowing all user permissions to read and write.",
  "rule.sast.sw.ccpp.240.example.0.safe": "Line 1: Use umask() to set proper permissions.",
  "rule.sast.sw.ccpp.240.name": "Incorrect permission assignment for critical resource",
  "rule.sast.sw.ccpp.240.option.access_function.description": "Write the name of the functions accessing sensitive information.<br />Example) open",
  "rule.sast.sw.ccpp.240.option.access_function.name": "Functions accessing sensitive information",
  "rule.sast.sw.ccpp.242.description": "The SQL Injection checker finds SQL queries that include an unvalidated external input.\nIf an unvalidated external input is allowed in SQL queries, attackers can inject a crafted query that has an altered meaning. This vulnerability lets attackers access or manipulate information in the database.\nExternal inputs must be validated or parameterized before being used in SQL queries.",
  "rule.sast.sw.ccpp.242.example.0.dangerous": "Line 8: SQL query is used without any check.If \"name' OR 'a'='a\" string is entered, a WHERE clause is always be a true.",
  "rule.sast.sw.ccpp.242.example.0.safe": "Line 6: Process an SQL query to prevent manipulation, then inject.\nLine 7: Process an SQL query to prevent manipulation, then inject.",
  "rule.sast.sw.ccpp.242.name": "SQL Injection",
  "rule.sast.sw.ccpp.242.option.clear_call.description": "Write the name of the function that checks sensitive information for security.<br />Example) makeSecureString",
  "rule.sast.sw.ccpp.242.option.clear_call.name": "Function to check for sensitive information",
  "rule.sast.sw.ccpp.242.option.param_on_sql_injection.description": "All parameters are regarded as tainted data hence many issues are expected",
  "rule.sast.sw.ccpp.242.option.param_on_sql_injection.name": "Making parameters be tainted",
  "rule.sast.sw.ccpp.242.option.sink_call.description": "Write the name of the function causing risks when containing sensitive information.<br />Example) SQLExecDirect",
  "rule.sast.sw.ccpp.242.option.sink_call.name": "Function leaking sensitive information",
  "rule.sast.sw.ccpp.242.option.source_call.description": "Specify functions that receives sensitive information.<br />Example) getenv",
  "rule.sast.sw.ccpp.242.option.source_call.name": "Function receiving sensitive information",
  "rule.sast.sw.ccpp.243.description": "The Path Manipulation checker finds instances in which an unvalidated external input creates a path accessible to the file system.\nIf unvalidated external inputs are allowed to be used for access to files, servers, or other system resources, attackers can manipulate inputs to access an unintended path in the program. In other words, path manipulation can be used to obtain illegitimate access to modify or execute settings files.\nIf external inputs are used as identifiers for resources (such as files), make sure they pass appropriate validation. Especially, if external inputs are filenames, use a filter to remove characters such as `, /, \\, and ..  that can be exploited for a directory traversal attack.",
  "rule.sast.sw.ccpp.243.example.0.dangerous": "Line 2: \"reportName\" file name is decided by an external input. Then, attackers can manipulate an arbitrary file.",
  "rule.sast.sw.ccpp.243.example.0.safe": "Line 3: Do not set a file path with the external input.",
  "rule.sast.sw.ccpp.243.name": "Path Traversal",
  "rule.sast.sw.ccpp.243.option.sink_call.description": "Write the name of the function causing risks when containing sensitive information.<br />Example) unlink",
  "rule.sast.sw.ccpp.243.option.sink_call.name": "Function leaking sensitive information",
  "rule.sast.sw.ccpp.243.option.source_call.description": "Specify functions that receives sensitive information.<br />Example) getenv",
  "rule.sast.sw.ccpp.243.option.source_call.name": "Function receiving sensitive information",
  "rule.sast.sw.ccpp.244.description": "The OS Command Injection checker finds instances in which an internal system command is executed by an unvalidated external input.\nIf an external input is not validated by the strpbrk() function before executing a system command, the checker reports a defect. \nIf a user input that has not been properly validated constitutes the whole or part of an OS command to execute it in an unintended way, this may cause improper permission changes or harmful effects on the system's processes or operations.\nIf a command needs to be generated or selected based on an external input, whitelist safe values for command generation and restrict values determined by external inputs to those selected from within the whitelist. ",
  "rule.sast.sw.ccpp.244.example.0.dangerous": "Line 6: An external input is entered to a command.\nLine 10: The command is used without proper validation. For example, entering a command such as \"file_name.txt; rm -rf\" can delete all files on the directory.",
  "rule.sast.sw.ccpp.244.example.0.safe": "Line 7: Use strpbrk() function to check for dangerous characters used for injection attacks.",
  "rule.sast.sw.ccpp.244.name": "Command injection",
  "rule.sast.sw.ccpp.244.option.clear_call.description": "Write the name of the function that checks sensitive information for security.<br />Example) strpbrk",
  "rule.sast.sw.ccpp.244.option.clear_call.name": "Function to check for sensitive information",
  "rule.sast.sw.ccpp.244.option.sink_call.description": "Write the name of the function causing risks when containing sensitive information.<br />Example) system",
  "rule.sast.sw.ccpp.244.option.sink_call.name": "Function leaking sensitive information",
  "rule.sast.sw.ccpp.244.option.sink_call_any.description": "Write the name of the function causing risks upon receiving sensitive information from the socket.<br />Example) execl",
  "rule.sast.sw.ccpp.244.option.sink_call_any.name": "Function leaking sensitive information",
  "rule.sast.sw.ccpp.244.option.source_call.description": "Specify functions that receives sensitive information.<br />Example) getenv",
  "rule.sast.sw.ccpp.244.option.source_call.name": "Function receiving sensitive information",
  "rule.sast.sw.ccpp.245.description": "The LDAP Injection checker finds LDAP (Lightweight Directory Access Protocol) queries built with an unvalidated external input.\nUnvalidated external inputs can be exploited to execute unintended LDAP commands. To be specific, if the web application does not handle user inputs properly, attackers can alter LDAP query commands, thereby enabling the process to behave with the same authentication as the command executor component.\nMake sure user inputs provided for distinguished names (DNs) and filters do not include special characters. If special characters have to be allowed in inputs, have =, +, <, >, #, ;, and \\ recognized as plain characters, not as executable commands.",
  "rule.sast.sw.ccpp.245.example.0.dangerous": "Line 2: An LDAP query is created without verification. Entering a string such as '|' can show all items.",
  "rule.sast.sw.ccpp.245.example.0.safe": "Line 2: Use an LDAP query without an external input.",
  "rule.sast.sw.ccpp.245.name": "LDAP Injection",
  "rule.sast.sw.ccpp.245.option.sink_call.description": "Write the name of the function causing risks when containing sensitive information.<br />Example) ldap_search_ext_s",
  "rule.sast.sw.ccpp.245.option.sink_call.name": "Function leaking sensitive information",
  "rule.sast.sw.ccpp.245.option.source_call.description": "Specify functions that receives sensitive information.<br />Example) getenv",
  "rule.sast.sw.ccpp.245.option.source_call.name": "Function receiving sensitive information",
  "rule.sast.sw.ccpp.246.description": "The Resource injection checker finds resource identifiers created with an unvalidated external input.\nIf unvalidated external inputs are allowed for accessing or identifying files, servers, or other system resources, attackers can manipulate an input to arbitrarily access system-protected resources. Resource injection vulnerabilities can be exploited to modify or delete resources, leak system information, and cause conflicts between system resources leading to service failures.\nIf external inputs need to be used for resource identifiers (such as socket ports), whitelist appropriate identifiers and restrict values determined by external inputs to those selected from within the whitelist.",
  "rule.sast.sw.ccpp.246.example.0.dangerous": "Line 2: A port number is entered by an external input through getenv() function. A socket has been generated with an arbitrary port number.\nLine 6: The port number is copied to buf through strncpy() function.\nLine 7: A value of buf is used in connect() function.",
  "rule.sast.sw.ccpp.246.example.0.safe": "Line 9: Use a whitelisted port number.",
  "rule.sast.sw.ccpp.246.name": "Resource injection",
  "rule.sast.sw.ccpp.246.option.sink_call.description": "Write the name of the function causing risks when containing sensitive information.<br />Example) connect",
  "rule.sast.sw.ccpp.246.option.sink_call.name": "Function leaking sensitive information",
  "rule.sast.sw.ccpp.246.option.source_call.description": "Specify functions that receives sensitive information.<br />Example) getenv",
  "rule.sast.sw.ccpp.246.option.source_call.name": "Function receiving sensitive information",
  "rule.sast.sw.ccpp.247.description": "The External Control of System or Configuration Setting checker finds calls to the sethostid() function where the argument is not properly processed.\nExternal control of system settings may allow for system malfunctions or malicious deletion of system data.\nMake sure an external input is not directly used as an argument for sethostid().",
  "rule.sast.sw.ccpp.247.example.0.dangerous": "Line 2: A host ID of current system is changed through sethostid() function. A malicious user can change the host ID to manipulate system settings.",
  "rule.sast.sw.ccpp.247.example.0.safe": "Line 2: Do not use an external input as an argument of sethostid() function.",
  "rule.sast.sw.ccpp.247.name": "External Control of System or Configuration Setting",
  "rule.sast.sw.ccpp.247.option.sink_call.description": "Specify risky functions that may contain sensitive information.<br />Example) sethostid",
  "rule.sast.sw.ccpp.247.option.sink_call.name": "Function leaking sensitive information",
  "rule.sast.sw.ccpp.247.option.source_call.description": "Specify functions that receives sensitive information.<br />Example) getenv",
  "rule.sast.sw.ccpp.247.option.source_call.name": "Function receiving sensitive information",
  "rule.sast.sw.ccpp.248.description": "The Insecure direct object reference checker finds instances of using an externally provided path to load a library or execute a command.\nUsing an externally provided path for a library can lead to invalid library loading or malicious command execution.\nMake sure externally provided paths are not loaded into a library.",
  "rule.sast.sw.ccpp.248.example.0.dangerous": "Line 3: A library with an external input path is used through getenv() function.",
  "rule.sast.sw.ccpp.248.example.0.safe": "Line 3: Use a library with an absolute path.",
  "rule.sast.sw.ccpp.248.name": "Insecure direct object reference",
  "rule.sast.sw.ccpp.248.option.sink_call.description": "Write the name of the function causing risks when containing sensitive information.<br />Example) dlopen",
  "rule.sast.sw.ccpp.248.option.sink_call.name": "Function leaking sensitive information",
  "rule.sast.sw.ccpp.248.option.source_call.description": "Specify functions that receives sensitive information.<br />Example) getenv",
  "rule.sast.sw.ccpp.248.option.source_call.name": "Function receiving sensitive information",
  "rule.sast.sw.ccpp.251.description": "The Password in comment checker finds comments that contain password information. \nPassword information contained in comments can be exposed to attackers. This practice may allow for security threats to the system. Passwords are often written in comments for development convenience, but they are hard to remove once the software is deployed into production. Do not include IDs, passwords, and other security-sensitive information in comments. If an attacker can access the source code or use reverse engineering to view the code, the attacker will be able to easily intrude the system.\nEliminate password information in comments.",
  "rule.sast.sw.ccpp.251.example.0.dangerous": "Line 1: A password is specified in comments.\nLine 2: A passwd is specified in comments.",
  "rule.sast.sw.ccpp.251.example.0.safe": "Line 1: Do not include the password in comments.",
  "rule.sast.sw.ccpp.251.name": "Password in comment",
  "rule.sast.sw.ccpp.251.option.allowed_max_word_length.description": "Write the maximum length of a single word to be allowed in comments.<br />Example) 40",
  "rule.sast.sw.ccpp.251.option.allowed_max_word_length.name": "Maximum consecutive word length",
  "rule.sast.sw.ccpp.251.option.check_header.description": "If the option is enabled, all comments in the header files will be checked.",
  "rule.sast.sw.ccpp.251.option.check_header.name": "Inspect header files",
  "rule.sast.sw.ccpp.251.option.check_password_only.description": "If selected, password expressions will be detected even if it exists solely.",
  "rule.sast.sw.ccpp.251.option.check_password_only.name": "Check password expressions solely existing",
  "rule.sast.sw.ccpp.251.option.consecutive_word_expr.description": "Write an expression of the consecutive word which exceeds the maximum length to be detected.<br />Example) [a-zA-Z0-9]+",
  "rule.sast.sw.ccpp.251.option.consecutive_word_expr.name": "Consecutive word expressions to detect",
  "rule.sast.sw.ccpp.251.option.fixed_key_length.description": "Write a fixed length of key.",
  "rule.sast.sw.ccpp.251.option.fixed_key_length.name": "A fixed length of key",
  "rule.sast.sw.ccpp.251.option.password_expr.description": "Write the expression of a string that may be considered as a password.<br />Example) password",
  "rule.sast.sw.ccpp.251.option.password_expr.name": "Password expression",
  "rule.sast.sw.ccpp.251.option.using_fixed_key_length.description": "If the option is enabled, the fixed length of key string will be detected.",
  "rule.sast.sw.ccpp.251.option.using_fixed_key_length.name": "Check a fixed length of key",
  "rule.sast.sw.ccpp.252.description": "The Improper authorization checker finds instances of using anonymous binding to execute an LDAP query.\nIf the anonymous binding is allowed without user authentication, a user's information can be accessed externally.\nMake sure the LDAP binding is performed with the username and password provided.",
  "rule.sast.sw.ccpp.252.example.0.dangerous": "Line 8: LDAP search is tried without user authentication. Because user login information and username of an argument are not verified through comparison, user information can be shown.",
  "rule.sast.sw.ccpp.252.example.0.safe": "Line 7: Get authentication for username, and verify that username and login information are matched before LDAP search.",
  "rule.sast.sw.ccpp.252.name": "Improper authorization",
  "rule.sast.sw.ccpp.252.option.clear_call.description": "Write the name of the function that checks sensitive information for security.<br />Example) strcmp",
  "rule.sast.sw.ccpp.252.option.clear_call.name": "Function to check for sensitive information",
  "rule.sast.sw.ccpp.252.option.sink_call.description": "Write the name of the function causing risks when containing sensitive information.<br />Example) system",
  "rule.sast.sw.ccpp.252.option.sink_call.name": "Function leaking sensitive information",
  "rule.sast.sw.ccpp.252.option.source_variable.description": "Write the name of the variable containing sensitive information.<br />Example) username",
  "rule.sast.sw.ccpp.252.option.source_variable.name": "Sensitive information variable",
  "rule.sast.sw.ccpp.253.description": "The Cleartext storage of password checker finds instances of storing unencrypted passwords.\nIf sensitive information regarding users and the system is stored in plaintext while being processed, such information may be exposed to attackers.\nPasswords must be encrypted by a highly secure cryptographic algorithm before stored and managed.",
  "rule.sast.sw.ccpp.253.example.0.dangerous": "Line 9: A password is read from a file.\nLine 19: An unencrypted password is directly connected to access database.",
  "rule.sast.sw.ccpp.253.example.0.safe": "Line 12: Verify an externally entered password.\nLine 20: Connect with the validated password.",
  "rule.sast.sw.ccpp.253.name": "Cleartext storage of password",
  "rule.sast.sw.ccpp.253.option.clear_call.description": "Write the name of the function that checks sensitive information for security.<br />Example) verify",
  "rule.sast.sw.ccpp.253.option.clear_call.name": "Function to check for sensitive information",
  "rule.sast.sw.ccpp.253.option.sink_call.description": "Write the name of the function causing risks when containing sensitive information.<br />Example) SQLConnect",
  "rule.sast.sw.ccpp.253.option.sink_call.name": "Function leaking sensitive information",
  "rule.sast.sw.ccpp.253.option.source_variable.description": "Write the name of the variable containing sensitive information.<br />Example) passwd",
  "rule.sast.sw.ccpp.253.option.source_variable.name": "Sensitive information variable",
  "rule.sast.sw.ccpp.254.description": "The Hardcoded cryptographic key checker finds encryption keys hardcoded in source code.\nHardcoded encryption keys present in source code can be used to decrypt ciphertext data back into the original information in case it leaks. Encryption keys are often hardcoded in the wrong assumption that their exposal poses no significant security threat, although some hash functions can possibly be reversed by brute-force attacks. In addition, hardcoded encryption keys are not easy to change.\nMake sure encryption keys never assume constant values. And, even if in ciphertext, they should not be hardcoded in source code.",
  "rule.sast.sw.ccpp.254.example.0.dangerous": "Line 12: An encrypted key is directly compared as an const.",
  "rule.sast.sw.ccpp.254.example.0.safe": "Line 16: Write a module to gain encrypted password with proper validation, then compare the password with a encrypted string.",
  "rule.sast.sw.ccpp.254.name": "Hardcoded cryptographic key",
  "rule.sast.sw.ccpp.254.option.sink_call_with_constant.description": "Issue detected when any of the parameters in these functions receive sensitive information.<br />Example) strcmp",
  "rule.sast.sw.ccpp.254.option.sink_call_with_constant.name": "Function with constant parameters leaking sensitive information",
  "rule.sast.sw.ccpp.254.option.source_call.description": "Write the name of the function receiving sensitive information.<br />Example) crypt",
  "rule.sast.sw.ccpp.254.option.source_call.name": "Function receiving sensitive information",
  "rule.sast.sw.ccpp.254.option.source_variable.description": "Write the name of the variable containing sensitive information.<br />Example) cryptokey*",
  "rule.sast.sw.ccpp.254.option.source_variable.name": "Sensitive information variable",
  "rule.sast.sw.ccpp.2832.description": "The Use of Tainted Value checker finds instances of using tainted values without validation.\nSuch as an argument of an insecure function, an index of an array, or a control variable of a loop. Yet, for an pointer type argument of an insecure function, a tainted value can be used in its object, not its offset.\nUsing tainted values may cause security vulnerabilities or unexpected behaviors.\nDo not use tainted values. To be specific, check scope of the tainted values, or use a filter function to secure the values before using them.",
  "rule.sast.sw.ccpp.2832.example.0.dangerous": "Line 16: The tainted values were used in a dangerous way.",
  "rule.sast.sw.ccpp.2832.example.0.safe": "Line 15: The tainted value should be checked for safety before use.",
  "rule.sast.sw.ccpp.2832.name": "Use of Tainted Value",
  "rule.sast.sw.ccpp.2832.option.clear_call.description": "Write a name and a type of the function which filters external information.",
  "rule.sast.sw.ccpp.2832.option.clear_call.name": "External information filter",
  "rule.sast.sw.ccpp.2832.option.clear_compare.description": "Determines whether to filter external information by comparing ranges of integer values in conditional statements.",
  "rule.sast.sw.ccpp.2832.option.clear_compare.name": "Check whether external information is filtered by comparison.",
  "rule.sast.sw.ccpp.2832.option.sink_call.description": "Write a name and a type of the function causing risks when containing external information.",
  "rule.sast.sw.ccpp.2832.option.sink_call.name": "External information sink",
  "rule.sast.sw.ccpp.2937.description": "The Redirection to untrusted site checker finds instances of redirecting to a URL generated with an unvalidated external input.\nAlthough connecting to a client-provided URL is often believed to be safe, an attacker can modify the request and redirect the user to a malicious site.\nMaintain a whitelist of external site URLs and domains allowed for redirection, which needs to be checked when a user input is passed as a redirect URL.",
  "rule.sast.sw.ccpp.2937.example.0.dangerous": "Line 5: A Qstring variable link includes an external input.\nLine 6: The variable link is not verified and used to open a URL.",
  "rule.sast.sw.ccpp.2937.example.0.safe": "Line 10: Use urlchecker() method to verify the variable link.\nLine 21: Use the verified link to open a URL.",
  "rule.sast.sw.ccpp.2937.name": "Redirection to untrusted site",
  "rule.sast.sw.ccpp.2937.option.clear_call.description": "Write the name of the function that checks sensitive information for security.<br />Example) urlchecker",
  "rule.sast.sw.ccpp.2937.option.clear_call.name": "Function to check for sensitive information",
  "rule.sast.sw.ccpp.2937.option.sink_call.description": "Write a name and a type of the function causing risks when containing external information.",
  "rule.sast.sw.ccpp.2937.option.sink_call.name": "External information sink",
  "rule.sast.sw.ccpp.2937.option.source_call.description": "Specify functions that receives sensitive information.<br />Example) getenv",
  "rule.sast.sw.ccpp.2937.option.source_call.name": "Function receiving sensitive information",
  "rule.sast.sw.ccpp.2938.description": "The XQuery Injection checker finds XQuery statements that include an unvalidated external input.\nIf an appropriate validation process is not established for external inputs that are used to create dynamic queries for XML data in XQuery, attackers may arbitrarily modify the query structure. This modification enables them to access restricted data or bypass the authorization checks.\nIn the case of `username='local_user1'` for example, XQuery uses single quotation marks to delimit the text value to be checked against the username. If an external input is used for the value to be checked against and single quotation marks are allowed in it, you can enter as follows: \n`'admin' or ''=''`\nThen the query's conditional clause will be as follows: \n`username = 'admin' or ''=''`\nAs `''=''` always evaluates to true, the condition comparing against username can be bypassed.\nMake sure external input data used in XQuery are filtered for special characters and reserved words.",
  "rule.sast.sw.ccpp.2938.example.0.dangerous": "Line 7: A query is ready for name, and id values.\nLine 10: A query is executed with externally entered name, id, and salary values..",
  "rule.sast.sw.ccpp.2938.example.0.safe": "Line 5: Use urlchecker() method to verify an external input.\nLine 20: Set the query ready with the verified external input.\nLine 23: Execute the query with the verified external input.",
  "rule.sast.sw.ccpp.2938.name": "XQuery Injection",
  "rule.sast.sw.ccpp.2938.option.clear_call.description": "Write the name of the function that checks sensitive information for security.<br />Example) urlchecker",
  "rule.sast.sw.ccpp.2938.option.clear_call.name": "Function to check for sensitive information",
  "rule.sast.sw.ccpp.2938.option.sink_call.description": "Write a name and a type of the function causing risks when containing external information.",
  "rule.sast.sw.ccpp.2938.option.sink_call.name": "External information sink",
  "rule.sast.sw.ccpp.2938.option.source_call.description": "Specify functions that receives sensitive information.<br />Example) getenv",
  "rule.sast.sw.ccpp.2938.option.source_call.name": "Function receiving sensitive information",
  "rule.sast.sw.ccpp.2939.description": "The XPath Injection checker finds XPath queries that include an unvalidated external input.\nIf external inputs are allowed in XPath queries without appropriately validating them, attackers can feed an unexpected string to twist a query's meaning or alter its structure, thereby gaining access to restricted data.\nExternal inputs used in XPath queries should be filtered for special characters (`, [, ], /, =, @, etc.) and reserved worlds.",
  "rule.sast.sw.ccpp.2939.example.0.dangerous": "Line 3: A QString variable temp includes an external input.\nLine 5: An external input value is used for setQuery() method.",
  "rule.sast.sw.ccpp.2939.example.0.safe": "Line 5: Use urlchecker() method to verify the query.\nLine 17: Use the validated tempt to secifpy a query.",
  "rule.sast.sw.ccpp.2939.name": "XPath Injection",
  "rule.sast.sw.ccpp.2939.option.clear_call.description": "Write the name of the function that checks sensitive information for security.<br />Example) urlchecker",
  "rule.sast.sw.ccpp.2939.option.clear_call.name": "Function to check for sensitive information",
  "rule.sast.sw.ccpp.2939.option.sink_call.description": "Write a name and a type of the function causing risks when containing external information.",
  "rule.sast.sw.ccpp.2939.option.sink_call.name": "External information sink",
  "rule.sast.sw.ccpp.2939.option.source_call.description": "Specify functions that receives sensitive information.<br />Example) getenv",
  "rule.sast.sw.ccpp.2939.option.source_call.name": "Function receiving sensitive information",
  "rule.sast.sw.ccpp.294.description": "The Mismatched resource release method checker finds instances in which a resource is allocated and deallocated with mutually mismatching functions.\nResources subject to checking include files, handles, and sockets.\nA resource is not deallocated by a mismatching function. Resources that remain allocated can lead to resource and memory leaks. This can be exploited by attackers to exhaust the resource pool for a denial-of-service (DoS) attack. Resource and memory leaks can cause a serious degradation of system performance.\nBe sure to use correct allocation and deallocation functions suitable for each resource type, as indicated below: Allocate file resources with fopen() and deallocate them with fclose(). Allocate handle resources with CreateFile() and deallocate them with CloseHandle(). Allocate socket resources with open() and deallocate them with close().",
  "rule.sast.sw.ccpp.294.example.0.dangerous": "Line 5: CreateFile() function is used to assign handle resources.\nLine 13: fclose() function is used to close the resource. Yet, the resources need to be closed through CloseHandle().",
  "rule.sast.sw.ccpp.294.example.0.safe": "Line 13: Use the CloseHandle() function to free the resources.",
  "rule.sast.sw.ccpp.294.name": "Mismatched resource release method",
  "rule.sast.sw.ccpp.2940.description": "The Persistent Cookie checker finds code that stores sensitive data in cookies with too long lifespans.\nMost web programming environments create non-persistent cookies. This type of cookie resides only in memory (not recorded in the disc drive) and disappears when the browser is closed. Programmers can set cookies to persist for browser sessions until a specific future date. These cookies are recorded in the disc drive and persist even after restarting the browser session or device. Persistent cookies are commonly used to profile users when interacting with sites. Such tracked data in persistent cookies can be exploited to leak user privacy, depending upon how the data is used. If privacy information is stored in a persistent cookie with a long expiration, attackers can be given enough time to steal such data. addDays(), addMonths(), or addYears() method is forbidden.\nCookie expiration must be set minimum in consideration of session duration, and permanent cookies should not contain important information such as user privileges and session IDs. You need to put a value specified in the option for addSecs(), or addMSecs() method.",
  "rule.sast.sw.ccpp.2940.example.0.dangerous": "Line 9: addYears() method is used.\nLine 10: addSecs() method has an argument value higher than specified in the option.",
  "rule.sast.sw.ccpp.2940.example.0.safe": "Line 9: Do not use the addYears() method.\nLine 10: addSecs() method has an argument with an optionally specified value.",
  "rule.sast.sw.ccpp.2940.name": "Persistent cookie",
  "rule.sast.sw.ccpp.2940.option.max_time.description": "Set the number of seconds allowed.",
  "rule.sast.sw.ccpp.2940.option.max_time.name": "Allow Time (seconds)",
  "rule.sast.sw.ccpp.2944.description": "The Improper Reference of XML Entity checker finds code that enables to use external entities in XML libraries.\nTo be specific, a function call or argument which allows to use an external entity.\nIf the external entity is allowed for XML libraries, attackers can access to unauthorized or important files. This may lead to SSRF (Server Side Request Forgery) vulnerability.\nDo not use a function call or argument which allows to use an external entity.",
  "rule.sast.sw.ccpp.2944.example.0.dangerous": "Line 3: An argument of setCreateEntityReferenceNodes() function is set to false. This is vulnerable to XXE attacks.\nLine 4: An argument of setDisableDefaultEntityResolution() function is set to false. This is vulnerable to XXE attacks.",
  "rule.sast.sw.ccpp.2944.example.0.safe": "Line 3: Set the argument of the setCreateEntityReferenceNodes() function to true.\nLine 4: Set the argument of the setDisableDefaultEntityResolution() function to true.",
  "rule.sast.sw.ccpp.2944.name": "Improper Reference of XML Entity",
  "rule.sast.sw.ccpp.2953.description": "The Weak Server Certificate checker finds code that fails to properly validate certificates.\nIt is required to validate X.509 certificates in order to create secure SSL/TLS sessions which are safe against the MITM(Man in the Middle) attacks. If you are not perform proper validation for the certificates, it may lead to security issues. \nEnsure to use a proper value for arguments of validating function that is provided by libraries.",
  "rule.sast.sw.ccpp.2953.example.0.dangerous": "Line 7: In curl_easy_setopt() function call, the second argument is specified to CURLOPT_SSL_VERIFYPEER, and the third argument is specified to 0. Therefore, a certificate is not correctly validated.",
  "rule.sast.sw.ccpp.2953.example.0.safe": "Line 7: Set the third argument to 1.",
  "rule.sast.sw.ccpp.2953.name": "Weak Server Certificate",
  "rule.sast.sw.ccpp.2955.description": "The Code Injection of Return Address checker finds code that may get modified its return address and exploited.\nSpecifically, when you declare a local variable and assign a buffer to stack area, but, an external input can cause an underflow and then, change a function address.\nIf attackers can control a run thread of the function, it may lead to abnormal actions of the program. Furthermore, this can be a start point of another attacks.\nSo, ensure to prevent an external input from causing an underflow on stack memories and modifying the return address. For example, check an offset value, or store the external input to the heap area instead of the stack.",
  "rule.sast.sw.ccpp.2955.example.0.dangerous": "Line 7: If var is -1 and var2 is a malicious address, it may lead to code injection.",
  "rule.sast.sw.ccpp.2955.example.0.safe": "Line 7: Check the size of var, and modify code in order to avoid an underflow.",
  "rule.sast.sw.ccpp.2955.name": "Code Injection of Return Address",
  "rule.sast.sw.ccpp.296.description": "The Missing login control checker checker finds instances of failure to implement a logic to limit the number of login attempts.\nYou can optionally specify the name of a login routine. The checker checks for a logic that ensure: Login attempts are controlled in a loop prior to a call to a login routine. If the condition expression always evaluates to true, the checker determines that login attempts are not properly controlled. The conditional expression in the loop uses a comparison operator.\nIf login attempt count is not limited, attackers may use the error to login or get permission with a brute-force attack and take unauthorized permissions.\nA logic that limits login attempt count must be implemented.",
  "rule.sast.sw.ccpp.296.example.0.dangerous": "Line 2: A login routine is called without login attempt limit.",
  "rule.sast.sw.ccpp.296.example.0.safe": "Line 3: Set the login attempt limit to call the login routine.",
  "rule.sast.sw.ccpp.296.name": "Missing login control",
  "rule.sast.sw.ccpp.296.option.authentification_functions.description": "Write the functions used for log-in.",
  "rule.sast.sw.ccpp.296.option.authentification_functions.name": "Functions used for log-in",
  "rule.sast.sw.ccpp.296.option.loop_inside_target_function.description": "If the option is enabled, function calling within an uncontrolled loop will be detected.",
  "rule.sast.sw.ccpp.296.option.loop_inside_target_function.name": "Detect function calling within an uncontrolled loop.",
  "rule.sast.sw.ccpp.296.option.target_function_inside_loop.description": "If the option is enabled, a uncontrolled loop within a function is detected.",
  "rule.sast.sw.ccpp.296.option.target_function_inside_loop.name": "Detect uncontrolled loop within a function.",
  "rule.sast.sw.ccpp.297.description": "The Missing authentication checker finds instances of failure to implement a control routine using authentication.\nYou can optionally specify the name of the authentication routine that should be called and the names of pages that must call the routine.\nIf an authentication routine is not called, an unauthorized user can obtain a permission.\nMake sure an appropriate authentication routine is called at each necessary position.",
  "rule.sast.sw.ccpp.297.example.0.dangerous": "Line 1: Suppose that authentication() function is specified. An authentication control routine is not called by the function.",
  "rule.sast.sw.ccpp.297.example.0.safe": "Line 2: Suppose that control() function is the authentication control routine. Call this function from the authentication().",
  "rule.sast.sw.ccpp.297.name": "Missing authentication",
  "rule.sast.sw.ccpp.297.option.target_callee.description": "Write the functions used for checking.",
  "rule.sast.sw.ccpp.297.option.target_callee.name": "List of the functions used for checking.",
  "rule.sast.sw.ccpp.297.option.target_caller.description": "Write the functions that need to be checked for authentication status.",
  "rule.sast.sw.ccpp.297.option.target_caller.name": "List of the functions to check authentication status",
  "rule.sast.sw.ccpp.298.description": "The Missing password recovery control checker finds instances of failure to implement a logic to limit the number of password restore attempts.\nYou can optionally specify the name of a password restore routine. The checker checks for a logic that ensure: Password restore attempts are controlled in a loop prior to a call to a password restore routine. If the condition expression always evaluates to true, the checker determines that password restore attempts are not properly controlled. The conditional expression in the loop uses a comparison operator. \nIf password restore attempts are not limited, attackers may succeed to change passwords by a brute-force attack. This can give an unauthorized accessor a permission.\nA logic that limits password restore attempts must be implemented.",
  "rule.sast.sw.ccpp.298.example.0.dangerous": "Line 2: A password restore routine is called without password restore attempt limit.",
  "rule.sast.sw.ccpp.298.example.0.safe": "Line 3: Set the password restore attempt limit to call the password restore routine.",
  "rule.sast.sw.ccpp.298.name": "Missing password recovery control",
  "rule.sast.sw.ccpp.298.option.authentification_functions.description": "Write the password restoring functions.",
  "rule.sast.sw.ccpp.298.option.authentification_functions.name": "Password restoring functions",
  "rule.sast.sw.ccpp.298.option.loop_inside_target_function.description": "If the option is enabled, function calling within an uncontrolled loop will be detected.",
  "rule.sast.sw.ccpp.298.option.loop_inside_target_function.name": "Detect function calling within an uncontrolled loop.",
  "rule.sast.sw.ccpp.298.option.target_function_inside_loop.description": "If the option is enabled, a uncontrolled loop within a function is detected.",
  "rule.sast.sw.ccpp.298.option.target_function_inside_loop.name": "Detect uncontrolled loop within a function.",
  "rule.sast.sw.ccpp.3061.description": "The Transmission of Key Security Information and Vehicle Information in Plain Text checker finds code that sends key security information or vehicle information in plain text without encryption or integrity verification.\nThe key security information such as the private key applied to the public key algorithm or the private key applied to the symmetric key algorithm must never be transmitted or exposed in the form of plain text outside the controller. The private key must be generated and stored by the possessor, and transmitted in cyphertext when it is being distributed. You can use block encryption algorithms, such as AES and TDES, or asymmetric key encryption algorithms, such as RSA and ECC, to generate the ciphertext. If you cannot generate the ciphertext, security information must be delivered with physical connection, such as USB and JTAG, rather than a wired or wireless network. In addition, key security information you are possessing must not be stored in plain text on external storages, such as USB memory or SD card. Make sure them to be stored in encrypted or uncrackable form if you need to use the external storages. \nLikewise, the integrity of sensitive information about vehicles or information that can be misused by attackers must all be preserved. If sensitive driving-related information, whose integrity is not guaranteed, is tampered with and misused by an attacker, it can lead to fatal accidents. In order to preserve integrity, authentication information such as MAC must be added, message and hash values must be transmitted to the outside in encrypted forms, and a person with the permission only can verify message authentication and integrity.\nThe leak of sensitive information does not end with information exposure, but also brings vulnerabilities for relay attacks or brute force attacks in the future. \nEnsure to encrypt sensitive information or verify integrity before transmitting.",
  "rule.sast.sw.ccpp.3061.example.0.dangerous": "Line 9: A private key is transmitted to the outside of the controller in plain text.\nLine 27: Critical information about vehicle such as speed data is transmitted to the outside in plain text.",
  "rule.sast.sw.ccpp.3061.example.0.safe": "Line 21: Transmit the information in the ciphertext form instead of plaintext.\nLine 60: Use MAC to ensure integrity.",
  "rule.sast.sw.ccpp.3061.name": "Transmission of Key Security Information and Vehicle Information in Plain Text",
  "rule.sast.sw.ccpp.3061.option.clear_call.description": "Encryption or integrity verification function",
  "rule.sast.sw.ccpp.3061.option.clear_call.name": "Enter the name of a function that securely encrypts plaintext information or verifies its integrity.",
  "rule.sast.sw.ccpp.3062.description": "The Use of Low-security Encryption Algorithm checker finds use of encryption algorithms or hash functions that are not strong enough for the level of required protection.\nIt is recommended to satisfy the security strength of 112-bit or higher for a symmetric key, also called a secret key, based encryption algorithm or hash function In addition, a key size with 112-bit or higher is recommended for an asymmetric key encryption algorithm to enhance security as possible.\nIf these recommended key size is not satisfied, an attacker can analyze and crack the algorithm.\nComply with the key sizes to ensure that encryption algorithms maintain sufficient security level.",
  "rule.sast.sw.ccpp.3062.example.0.dangerous": "Line 5: 2TDEA is used by two keys: which is 80-bit. So it does not satisfy the recommended key size of 112-bit or more.\nLine 15: EscRsa_KEY_BYTES is declared to use the RSA 1024 bits.",
  "rule.sast.sw.ccpp.3062.example.0.safe": "Line 6: Make sure to use 3TDEA that meets the recommended security level.\nLine 16: Declare EscRsa_KEY_BYTES to use the RSA 2048 bits.",
  "rule.sast.sw.ccpp.3062.name": "Use of Low-security Encryption Algorithm",
  "rule.sast.sw.ccpp.3063.description": "The Missing Message ID when Generating MAC checker finds code that does not includes message IDs for message authentication code (MAC) so that an attacker can reuse authentication.\nThe MAC tag is generated using a unique value and secret key of the message in order to guarantee authentication and integrity of the message. If an attacker intercepts and transmits the message and MAC value, it can bypass authentication as a normal request. In order to prevent the reuse attack with the authentication, a unique value must be included to generate a different MAC from the identical message.\nAfter hijacking, an attacker can reuse the authentication value to induce its receiver to behave abnormally.\nMake sure to include a timestamp or a random value in the default text while generating the MAC. This can guarantee to generate a different MAC from the same message.",
  "rule.sast.sw.ccpp.3063.example.0.dangerous": "Line 25: Any unique value, such as timestamps, that can prevent reuse attacks, is not used. So, an attacker can intercept messages with a generated MAC and reuse them later.",
  "rule.sast.sw.ccpp.3063.example.0.safe": "Line 7: Use a unique value generated with current time to generate the MAC. This can secure the reuse attack.",
  "rule.sast.sw.ccpp.3063.name": "Missing Message ID when Generating MAC",
  "rule.sast.sw.ccpp.3067.description": "The Grammatically Ambiguous Declaration checker finds code that is too ambiguous to interpret as either an expression or a declaration.\nWhen a programmer write a grammatically ambiguous declaration, compilers might have difficulty to determine it as either a declaration or an expression. In order to avoid ambiguity, you need to use braced-init-list, remove meaningless parentheses around, or use initializer with \"=\" for the explicit declaration. Additionally, avoid using function-style casts, such as  MyClass(3) and int(10), that can be ambiguous to be identified between a call and variable declaration.\nCode can be misinterpreted and cause unintended behavior.\nAvoid unnecessary parentheses after variable declarations or use the braced-init_list.",
  "rule.sast.sw.ccpp.3067.example.0.dangerous": "Line 8: It is ambiguous to determine as a function pointer that returns a Widget object or an object declaration of Widget class.",
  "rule.sast.sw.ccpp.3067.example.0.safe": "Line 8: Remove the parentheses behind the variable declaration. Then, it is a variable declaration instead of the function declaration.\nLine 9: Use the braced-init-list to initialize the local variable directly.",
  "rule.sast.sw.ccpp.3067.name": "Grammatically Ambiguous Declaration",
  "rule.sast.sw.ccpp.3072.description": "The Unhandled Exception from Statically Scoped Object Declaration checker finds an unhandled exception when an object is declared in static or thread-persistent scope, but not in a function block or constructor.\nNot all exceptions can be handled in C++. In particular, exceptions raised by constructors of objects in static scopes are not caught by a function-try-block. The unhandled exceptions must not be raised when the objects are declared in static scopes rather than in function blocks or constructors.\nIf object O is generated in the static scope and calls function list F while being created, the checker finds the object O that contains function G among the function list F, which does not satisfy either of the following conditions.\nDeclared using the noexcept keyword. \nDeclared using the noexcept(true) keyword.",
  "rule.sast.sw.ccpp.3072.example.0.dangerous": "Line 2: An exception can be thrown by a constructor of HAEBMBE_S.\nLine 5: An exception can be thrown by a function HAEBMBE_F().\nLine 7: An unhandled exception can be thrown by a constructor of S when globalS object is generated in static scope.\nLine 8: An unhandled exception can be thrown by a function f() when variable i is initialized in static scope.",
  "rule.sast.sw.ccpp.3072.example.0.safe": "Line 8: When the globalS() function is called for the first time, the constructor of S is called. At this point, an exception can be thrown while an object is generated.\nLine 15: The exception is handled: leaving a log message and ending the program when the HAEBMBE_F() function is called within the HAEBMBE_F_helper() function.",
  "rule.sast.sw.ccpp.3072.name": "Unhandled Exception from Statically Scoped Object Declaration",
  "rule.sast.sw.ccpp.3077.description": "The Casting of Out-of-range Enum Value checker finds code that casts a value to enum, but fails to check its range within the range of the enum.\nIn C++, enumerations come in two forms: scoped enumerations where the underlying type is fixed, and unscoped enumerations where the underlying type may or may not be fixed. In general, values that are declared as enumeration types are represented by an less than 4 bytes integer type of explicitly assigned values. The values of the integer or enum type can be explicitly converted to enumerations.\nEnsure to check the range of values before casting them into enum.",
  "rule.sast.sw.ccpp.3077.example.0.dangerous": "Line 7: Unvalidated intVar is cast into an enumeration EnumType with no ranges.",
  "rule.sast.sw.ccpp.3077.example.0.safe": "Line 7: Check that the value can be represented as an enum before casting.",
  "rule.sast.sw.ccpp.3077.name": "Casting of Out-of-range Enum Value",
  "rule.sast.sw.ccpp.33.description": "The Buffer overflow checker finds instances of reading from or writing to memory out of an allocated buffer.\nThis type of fault includes the following situations: The address value is outside the bounds of the memory buffer. The faulty argument is a local variable.\nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen reading from or writing to a buffer, keep within its specified range. ",
  "rule.sast.sw.ccpp.33.example.0.dangerous": "Line 2: Buffers for 10 int data is declared.(accessible indexes are from 0 to 9)\nLine 3: Index i is increased up to 10 through for statements.\nLine 6: The index is used to access to buf, which causes a buffer overflow.",
  "rule.sast.sw.ccpp.33.example.0.safe": "Line 5: Prevent incorrect access by adding the condition that the value of i is greater than or equal to 0 and less than 10.\nLine 6: This code does not execute because the value of i is 10.",
  "rule.sast.sw.ccpp.33.name": "Buffer overflow",
  "rule.sast.sw.ccpp.34.description": "The Buffer overflow in wrong condition checker finds instances in which an improper conditional evaluation causes reading from or writing to memory out of an allocated buffer.\nThis type of fault includes the following situations: The address value is outside the bounds of the memory buffer. The index range is determined by an improper conditional evaluation. The faulty argument is a local variable. \nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen reading from or writing to a buffer, set conditions properly to keep within the specified range.",
  "rule.sast.sw.ccpp.34.example.0.dangerous": "Line 2: Buffers for 10 int data is declared.(accessible indexes are from 0 to 9)\nLine 3: idx value is entered through scanf statement.\nLine 5: A buffer overflow error is caused by allowing idx 10 to access to the buffer through conditions.",
  "rule.sast.sw.ccpp.34.example.0.safe": "Line 5: Set the conditions not to accept idx value, 10.",
  "rule.sast.sw.ccpp.34.name": "Buffer overflow in wrong condition",
  "rule.sast.sw.ccpp.351.description": "The Field buffer overflow in wrong condition checker finds instances in which an improper conditional evaluation causes reading from or writing to memory out of an allocated buffer.\nThis type of fault includes the following situations: The address value is outside the bounds of the memory buffer. The index range is determined by an improper conditional evaluation. The faulty argument is a field of a class or struct.\nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen reading from or writing to a buffer, set conditions properly to keep within the specified range.",
  "rule.sast.sw.ccpp.351.example.0.dangerous": "Line 6: n is compared to 50.\nLine 7: n-1 is used as an index of type.b. This value is smaller than 50, a condition of Line 6. When the n-1 is equal or greater than 40, a buffer overflow can occur.",
  "rule.sast.sw.ccpp.351.example.0.safe": "Line 6: Add a comparison of n-1 always smaller than 40.",
  "rule.sast.sw.ccpp.351.name": "Field buffer overflow in wrong condition",
  "rule.sast.sw.ccpp.352.description": "The Field buffer overflow checker finds instances of reading from or writing to memory out of an allocated buffer. \nThis type of fault includes the following situations: The address value is outside the bounds of the memory buffer. The faulty argument is a field of a class or struct.\nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen reading from or writing to a buffer, keep within its specified range.",
  "rule.sast.sw.ccpp.352.example.0.dangerous": "Line 2: The size of array a of type_static struc is declared to 100.\nLine 6: An index value 98 is sent to foo2() function.\nLine 10: index+5 is used as an index of type_static.a. leading to a buffer overflow.",
  "rule.sast.sw.ccpp.352.example.0.safe": "Line 6: Send an index value 20 to the foo2().\nLine 10: Set a limit to index ranges not to allow accesses to out of bounds of the array.",
  "rule.sast.sw.ccpp.352.name": "Field buffer overflow",
  "rule.sast.sw.ccpp.36.description": "The Buffer overflow in range-bound copy checker finds misuses of a function such as memcpy() or strncpy() that copies its specified size (length) of in-memory data.\nThe functions subject to detection includes memset(), bzero(), memcpy(), strncat(), wcsncat(), strncpy(), and wcsncpy().\nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen using a function that copies a specific size of in-memory data, make sure the specified range is kept.",
  "rule.sast.sw.ccpp.36.example.0.dangerous": "Line 1: An array size of buf1 is declared as 100.\nLine 2: An array size of buf2 is declared as 200.\nLine 4: An out-of-ranged copy is performed with memcpy() function. The range to copy is 200, size of buf2, but size of buf1 is 100.",
  "rule.sast.sw.ccpp.36.example.0.safe": "Line 4: Pass the copying range to 100, the buf1 size.",
  "rule.sast.sw.ccpp.36.name": "Buffer overflow in range-bound copy",
  "rule.sast.sw.ccpp.375.description": "The Cross-site scripting checker finds instances of including an external input in HTML without validating it.\nIf unvalidated external inputs are allowed for page generation, attackers can inject malicious scripts into the pages. This vulnerability lets attackers take over a user's cookie, session, or other information or execute an abnormal function.\nTo prevent external inputs from being used for scripts, use a text replacement function or method to substitute characters such as <, >, &, and \" with &lt;, &gt;, &amp;, and &quot;, respectively. For bulletin boards that allow using HTML tags, make a whitelist of allowable HTML tags.",
  "rule.sast.sw.ccpp.375.example.0.dangerous": "Line 1: An external input is stored in cookieName variable.\nLine 2: An external input is stored in data variable.\nLine 4: External inputs are used by cgiHeaderCookieSetString(). The inputs are not validated before being used.",
  "rule.sast.sw.ccpp.375.example.0.safe": "Line 4: Verify the cookieName variable.\nLine 5: Verify the data variable.\nLine 7: Use the external input validated through cgiHeaderCookieSetString() function.",
  "rule.sast.sw.ccpp.375.name": "Cross-site scripting",
  "rule.sast.sw.ccpp.376.description": "The Weak password requirements checker finds instances in which user passwords are accepted without checking for their complexity.\nFully numeric passwords, such as 123123, and some other simple passwords are vulnerable to brute-force attacks. If password patterns are not verified, users can use weak passwords.\nAdministrators can impose restrictions on users to use strong password patterns. For example, these can require to include a certain number of uppercase and lowercase letters, numerals, and special characters, or disallow consecutive identical characters. Refer to the password setting rules from \"KISA Cryptographic Usage Guidelines\".",
  "rule.sast.sw.ccpp.376.example.0.dangerous": "Line 3: A password stored in pwd variable is not validated.\nLine 4: An unvalidated password is used to connect SQL.",
  "rule.sast.sw.ccpp.376.example.0.safe": "Line 4: Perform a proper validation for pwd variable in condition.\nLine 5: Use a validated password to connect SQL.",
  "rule.sast.sw.ccpp.376.name": "Weak password requirements",
  "rule.sast.sw.ccpp.376.option.connect_function.description": "Write connection function names and password parameter position for checking weak password (FunctionName|PasswordParameterPosition).",
  "rule.sast.sw.ccpp.376.option.connect_function.name": "SQL Connection function names",
  "rule.sast.sw.ccpp.377.description": "The Use of Hash without Salt checker finds instances of calculating a hash without a salt.\nIf sensitive data is hashed without a salt, attackers can precalculate the hashes using rainbow tables to find original values.\nWhen hashing a password or other sensitive data, pass a salt to the hashing function and use the consequently returned hash value.",
  "rule.sast.sw.ccpp.377.example.0.dangerous": "Line 4: A null pointer argument is used for a salt. Then, a hash has been executed without a salt.",
  "rule.sast.sw.ccpp.377.example.0.safe": "Line 4: Use a valid argument for the salt.",
  "rule.sast.sw.ccpp.377.name": "Use of Hash without Salt",
  "rule.sast.sw.ccpp.377.option.hash_function.description": "Write hash function names and salt parameter position for checking whether have a salt.(HashFunctionName|SaltParameterPosition",
  "rule.sast.sw.ccpp.377.option.hash_function.name": "Hash function name",
  "rule.sast.sw.ccpp.378.description": "The Missing limit of login attempts checker finds instances of failure to implement a logic to limit the number of login attempts. \nYou can optionally specify the name of the login routine to enable the checker to identify the ID and password variables involved in the routine. The checker checks for a logic that ensure: Login attempts are controlled in a loop prior to a call to a login routine. If the attempt count is unlimited, the checker determines that login attempts are not properly controlled. The conditional expression in the loop uses one of the comparison operators: <, >, <=, and >=.\nIf login attempt count is not limited, attackers may succeed in login by a brute-force attack. This can give an unauthorized accessor a permission.\nA logic that limits login attempt count must be implemented. ",
  "rule.sast.sw.ccpp.378.example.0.dangerous": "Line 1: Login attempts to enter login information is not limited.",
  "rule.sast.sw.ccpp.378.example.0.safe": "Line 2: Limit the login attempts to enter the information.",
  "rule.sast.sw.ccpp.378.name": "Missing limit of login attempts",
  "rule.sast.sw.ccpp.378.option.id_regex.description": "Write regular expressions for checking identification variables.",
  "rule.sast.sw.ccpp.378.option.id_regex.name": "Identification regular expressions.",
  "rule.sast.sw.ccpp.378.option.pwd_regex.description": "Write regular expressions for checking password variables.",
  "rule.sast.sw.ccpp.378.option.pwd_regex.name": "Password regual expressions.",
  "rule.sast.sw.ccpp.379.description": "The TOCTOU race condition checker finds race conditions occurring between the time of checking a resource's state and the time of using it.\nWhen coding to check the state of a resource and access it based on the checked state, programmers often assume that the checked state will persist until the resource is accessed. But the resource's state can change between the check and the use. This can happen even in a non-multithreaded program because the state of resources such as files can be changed by other programs or the operating system. These race conditions can cause the program to perform invalid actions or throw an exception and may help attackers gain access to unauthorized resources.\nIf resource accessibility needs to be determined based on resource state, use approaches such as synchronization that ensure exclusive access to resources. Or, there are some APIs available that help implement actions handling file resources. They attempt the given resource action and return different results based on the resource's state.",
  "rule.sast.sw.ccpp.379.example.0.dangerous": "Line 3: Resource states between access() and open() functions can be different, which is vulnerable.",
  "rule.sast.sw.ccpp.379.example.0.safe": "Line 3: Use open() function to specify mode.\nLine 5: Use a file descriptor of the open() with fchmod() instead of chmod().",
  "rule.sast.sw.ccpp.379.name": "TOCTOU race condition",
  "rule.sast.sw.ccpp.380.description": "The Missing check of return value checker finds instances in which a function return is not used, or a function return is inspected but followed by no safeguards against possible errors. \nYou can optionally add functions subject to checking.\nIf a function return is not used, or an inspected return is left with no safeguards, the program may behave in an unexpected manner. Programmers often mis-assume that function calls never fail. But function calls may sometimes fail, and this can be exploited to attack the program or allow for security vulnerabilities.\nMake sure the specified functions' returns are inspected and safeguards are taken according to the inspection results. ",
  "rule.sast.sw.ccpp.380.example.0.dangerous": "Line 2: A return value is not checked.\nLine 3: A return value of fputs() is inspected, but left without a safequard.",
  "rule.sast.sw.ccpp.380.example.0.safe": "Line 3: Check return values, and write code to handle errors.",
  "rule.sast.sw.ccpp.380.name": "Missing check of return value",
  "rule.sast.sw.ccpp.380.option.target_grp1.description": "Write functions in condition test list.",
  "rule.sast.sw.ccpp.380.option.target_grp1.name": "Functions in condition test",
  "rule.sast.sw.ccpp.380.option.target_grp2.description": "Write windows functions.",
  "rule.sast.sw.ccpp.380.option.target_grp2.name": "errno functions",
  "rule.sast.sw.ccpp.381.description": "The Download of code without integrity check checker finds instances of downloading an executable code without checking its origin or integrity.\nWhen providing a code that is to be downloaded, such as for automatic updates of software, failure to use cryptographic signatures allows for a security vulnerability. If the program downloads a risky executable file from a remote location and executes it at the client side without sufficiently verifying the origin and integrity of the code, an attacker can execute a malicious action.\nTake measures such as using a public-key algorithm to check code files for manipulation.",
  "rule.sast.sw.ccpp.381.example.0.dangerous": "Line 5: File integrity is not checked through return values.",
  "rule.sast.sw.ccpp.381.example.0.safe": "Line 6: Verify the return values to check the file integrity, then use them in a file.",
  "rule.sast.sw.ccpp.381.name": "Download of code without integrity check",
  "rule.sast.sw.ccpp.382.description": "The Reliance on untrusted inputs in security decisions checker finds instances of storing user credentials in a cookie.\nDevelopers may assume that inputs such as cookies, environment variables, and hidden form fields cannot be modified. However, an attacker could change these inputs using various approaches and this change might not be detected. When security decisions such as authentication and authorization are made based on the values of these inputs, attackers can bypass the security checks of the application. Therefore, inputs from external users should not be trusted.\nMake sure that critical information such as state information, sensitive data, and user sessions is stored in the server, and security checks are performed on the server side. Understand all the potential areas where untrusted inputs can enter your application. Identify all inputs that are used for security decisions and determine if you can modify the design so that you do not have to rely on submitted inputs at all.",
  "rule.sast.sw.ccpp.382.example.0.dangerous": "Line 1: An insecure external value is passed from outside.\nLine 2: The insecure value is used to validate.",
  "rule.sast.sw.ccpp.382.example.0.safe": "Line 1: Import the value from secure locations.\nLine 2: Verify with a secure value.",
  "rule.sast.sw.ccpp.382.name": "Reliance on untrusted inputs in security decisions",
  "rule.sast.sw.ccpp.382.option.gather_function.description": "Write functions that use external input, return value or parameter location(FunctionName|ParameterPosition). It uses return value if ParameterPosition is 0.",
  "rule.sast.sw.ccpp.382.option.gather_function.name": "Functions that use external input",
  "rule.sast.sw.ccpp.382.option.security_variable_regex.description": "Write the regular expression of the security decision variable.",
  "rule.sast.sw.ccpp.382.option.security_variable_regex.name": "Security decision variable.",
  "rule.sast.sw.ccpp.382.option.verification_function.description": "Write verification function.",
  "rule.sast.sw.ccpp.382.option.verification_function.name": "Verification function",
  "rule.sast.sw.ccpp.62.description": "The Field Buffer Underflow Caused by Improper Condition checker finds instances in which an improper condition triggers reading or writing below the lower bound of an object in memory.\nThis type of fault includes the following situations: A value is used that attempts to read from or write to a memory location lower than the specified range of indices. The argument range is determined by an improper condition. The faulty argument is a field of a class or struct.\nWhen reading from or writing to a buffer, set conditions properly to keep within the specified range. Buffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen reading from or writing to a buffer, set proper conditions and keep within its specified range.",
  "rule.sast.sw.ccpp.62.example.0.dangerous": "Line 6: If index \"n-1\" is equal or smaller than 0, an underrun error causes.",
  "rule.sast.sw.ccpp.62.example.0.safe": "Line 6: Because the buffer index needs to be larger than 0, or smaller than buffer size.",
  "rule.sast.sw.ccpp.62.name": "Field Buffer Underflow Caused by Improper Condition",
  "rule.sast.sw.ccpp.63.description": "The Field Buffer Underflow checker finds instances of reading or writing below the lower bound of an object in memory.\nThis type of fault includes the following situations: A value is used that attempts to read from or write to a memory location lower than the specified range of indices. The faulty argument is a field of a class or struct.\nWhen reading from or writing to a buffer, keep within its specified range. Buffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen reading from or writing to a buffer, keep within its specified range.",
  "rule.sast.sw.ccpp.63.example.0.dangerous": "Line 5: -10 is assigned to an argument.\nLine 8: Another -5 is assigned to an index of type.a[], which causes an error.",
  "rule.sast.sw.ccpp.63.example.0.safe": "Line 8: The buffer index needs to be larger than 0 or smaller than the buffer. Caution is needed particularly in argument settings.",
  "rule.sast.sw.ccpp.63.name": "Field Buffer Underflow",
  "rule.sast.sw.ccpp.64.description": "The Buffer Underflow checker finds instances of reading or writing below the lower bound of an object in memory.\nThis type of fault includes the following situations: A value is used that attempts to read from or write to a memory location lower than the specified range of indices. The faulty argument is a local variable.\nWhen reading from or writing to a buffer, keep within its specified range. Buffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen reading from or writing to a buffer, keep within its specified range.",
  "rule.sast.sw.ccpp.64.example.0.dangerous": "Line 2: -20 is assigned to an argument.\nLine 6: -10 is assigned to an index of buf[], which causes an error.",
  "rule.sast.sw.ccpp.64.example.0.safe": "Line 6: The buffer index needs to be larger than 0 or smaller than the buffer. Caution is needed particularly in argument settings.",
  "rule.sast.sw.ccpp.64.name": "Buffer Underflow",
  "rule.sast.sw.ccpp.6477.description": "Because alloca() allocates memory on the stack, it can cause stack overflows or unexpected behavior if used incorrectly within a loop.\nAvoid using stack memory allocation functions like alloca() within a loop; if necessary, you should preallocate memory outside of the loop or use heap memory to manage memory.",
  "rule.sast.sw.ccpp.6477.example.0.dangerous": "Line 6: alloca() is called inside a loop, which is dangerous.",
  "rule.sast.sw.ccpp.6477.example.0.safe": "Line 5: We're safe because we're not calling alloca() inside the iterator.",
  "rule.sast.sw.ccpp.6477.name": "Improper sequential memory allocation",
  "rule.sast.sw.ccpp.65.description": "The Buffer Underflow Caused by Improper Condition checker finds instances in which an improper condition triggers reading from or writing below the lower bound of an object in memory.\nThis type of fault includes the following situations: A value is used that attempts to read from or write to a memory location lower than the specified range of indices. The argument range is determined by an improper condition. The faulty argument is a local variable. \nWhen reading from or writing to a buffer, set conditions properly to keep within the specified range. Buffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen reading from or writing to a buffer, set conditions properly to keep within the specified range.",
  "rule.sast.sw.ccpp.65.example.0.dangerous": "Line 2: x is compared to -20.\nLine 3: An argument value is assigned to foo2().\nLine 7: An index value of str[] is set to smaller than -20, which causes an error.",
  "rule.sast.sw.ccpp.65.example.0.safe": "Line 2: The buffer index needs to be larger than 0, or smaller than buffer size. Because the index size of str[] is 11 without nulls, set size of n between 0 to 10.",
  "rule.sast.sw.ccpp.65.name": "Buffer Underflow Caused by Improper Condition",
  "rule.sast.sw.ccpp.67.description": "The Format string injection checker finds type mismatches between format specifiers and their corresponding arguments.\nThe format specifiers used in C programming are as follows: Int type: d, i unsigned int type: u double type: f, F, e, E, g, G, a, A unsigned int type: x, X, o char pointer or string type: s char type: c void pointer type: p The Length field can be one of the following: hh: Promotes char to int. h: Promotes short to int. l: For integer types, causes to expect long; for floating point types, causes to expect double.ll: For integer types, causes to expect long long.L: For floating point types, causes to expect long double.\nFormat string issues may allow for program information leaks or external attacks. For example, if a printf() call's format specifiers and arguments match in type, no issues arise. However, failure in matching their types may let in-memory data exposed. In addition, the exposed memory area may allow for code injection, threatening security.\nFix the mismatches between format specifiers and the types of their arguments. You can change either format specifiers or the types of arguments.",
  "rule.sast.sw.ccpp.67.example.0.dangerous": "Line 4: A format string of buf string is \"%s.\" \"%d\" of int format string is used.",
  "rule.sast.sw.ccpp.67.example.0.safe": "Line 4: Fix the format string as specified.",
  "rule.sast.sw.ccpp.67.name": "Format string injection",
  "rule.sast.sw.ccpp.67.option.proframe_targets.description": "Write a function to check for format strings of type number_s.",
  "rule.sast.sw.ccpp.67.option.proframe_targets.name": "Functions to analyze when analyzing a frame.",
  "rule.sast.sw.ccpp.67.option.targets.description": "only checks within below list.",
  "rule.sast.sw.ccpp.67.option.targets.name": "string format function to analyze.",
  "rule.sast.sw.ccpp.75.description": "The Exposure of system information checker finds instances in which the program's sensitive internal information may be exposed through such means as an error message.\nThe checker reports a defect when an error message exposes the program's internal information regarding the environment, users, and relevant data. An alarm may be triggered from the use of the printf() and fprintf() functions.\nIf a thrown error exposes its details or other program information, it helps attackers figure out the program's structure. And if environmental variables are displayed, the information defined by those variables can be exposed to attackers. Therefore, it is recommended to restrain from printing out error messages unless for debugging purposes.\nWhen using printf() or fprintf(), make sure not to leak information.",
  "rule.sast.sw.ccpp.75.example.0.dangerous": "Line 2: A path of an environment variable is loaded and assigned, which is vulnerable to expose.\nLine 3: A path of an environment variable is exposed, which is vulnerable.",
  "rule.sast.sw.ccpp.75.example.0.safe": "Line 3: Remove the statement with fprint() function. Use the function to print out the error message only for debugging purpose.",
  "rule.sast.sw.ccpp.75.name": "Exposure of system information",
  "rule.sast.sw.ccpp.75.option.sink_call.description": "Write the name of the function causing risks when containing sensitive information.<br />Example) printf",
  "rule.sast.sw.ccpp.75.option.sink_call.name": "Function leaking sensitive information",
  "rule.sast.sw.ccpp.75.option.source_call.description": "Specify functions that receives sensitive information.<br />Example) getenv",
  "rule.sast.sw.ccpp.75.option.source_call.name": "Function receiving sensitive information",
  "rule.sast.sw.cpp.1151.description": "The Insecure file identification checker finds instances of identifying a file based on a single criterion.\nThere are a number of criteria used to identify files, including filename, datetime created, and owner.\nIf files are identified only based on one criterion such as filename, they can be accessed to an unintended file. This may allow for unauthorized access to the files by attackers, leading to a security vulnerability.\nMake sure that files are opened after they are identified by multiple criteria.",
  "rule.sast.sw.cpp.1151.example.0.dangerous": "Line 4: A file is identified by its name. When the file executes with a root permission, such as setuid-root, an attacker can exploit it to read unauthorized files.",
  "rule.sast.sw.cpp.1151.example.0.safe": "Line 4: Use open() function instead of fopen().\nLine 8: Open the file, and use fstat() function to compare a user ID and group ID. Then, a permission can be checked for the file.",
  "rule.sast.sw.cpp.1151.name": "Insecure file identification",
  "rule.sast.sw.cpp.1152.description": "The Incorrect permission assignment in file creation checker finds instances of creating a file without setting up proper access permissions.\nCreating a file with insufficiently restrictive access permissions may allow an unprivileged user to access that file. This may pose security vulnerabilities.\nWhen opening a file, be sure to explicitly set up access permissions.",
  "rule.sast.sw.cpp.1152.example.0.dangerous": "Line 6: open() function is used for creating a file. Yet, no permission is specified.",
  "rule.sast.sw.cpp.1152.example.0.safe": "Line 7: Specify permission as well for a file open",
  "rule.sast.sw.cpp.1152.name": "Incorrect permission assignment in file creation",
  "rule.sast.sw.cpp.1157.description": "The Duplicated environment variable name checker finds instances in which different environment variables take identical names with different cases.\nEnvironment variables refer to strings passed to the getenv() or putenv() function.\nThey can be recognized either case-sensitively or case-insensitively depending on the operating system. Therefore, those with case-insensitively identical names may not be distinguished.\nTaking portability into consideration, name all environment variables with different spellings.",
  "rule.sast.sw.cpp.1157.example.0.dangerous": "Line 1: An environment variable is passed to putenv() function.\nLine 4: An environment variable is passed to putenv() function. An identical name is used for both cases, when they are case-insensitive.",
  "rule.sast.sw.cpp.1157.example.0.safe": "Line 4: Use an unique name different from the environment in Line 1.",
  "rule.sast.sw.cpp.1157.name": "Duplicated environment variable name",
  "rule.sast.sw.cpp.1158.description": "The Reliance on Environment Pointer checker finds expressions that rely on an environment pointer passed as an argument to the main function.\nAvoid reliance on an environment pointer. Such an environment pointer may become invalidated by subsequent operations. For example, when the main function receives a third argument which relates to an environment value, do not rely on it.\nReliance on an environment pointer is not safe because it may become invalidated by subsequent operations. This can result in a reference to an invalid value.\nDo not rely on an environment pointer, but reference a global variable like environ.",
  "rule.sast.sw.cpp.1158.example.0.dangerous": "Line 2: setenv() function is called.\nLine 6: setenv() function is called, then envp pointer variable is accessed. No environment variable is referenced by envp after Line 2.",
  "rule.sast.sw.cpp.1158.example.0.safe": "Line 7: Use global variable environ instead of accessing to environment variable.",
  "rule.sast.sw.cpp.1158.name": "Reliance on Environment Pointer",
  "rule.sast.sw.cpp.1160.description": "The Use of in-band error indicator checker finds instances of using an in-band error indicator when designing interfaces.\nAn in-band error indicator refers to a library function return value on error that can never be returned by a successful call to that library function. One example of a troublesome in-band error indicator in the C standard is EOF.\nThis practice is commonly used by C library functions but is not preferable. In particular, failure to distinguish error values and regular return values when handling them may lead to an unintended result.\nAvoid in-band error indicators while designing interfaces.",
  "rule.sast.sw.cpp.1160.example.0.dangerous": "Line 6: -1 is returned by sprintf() function against an error. When an error has occurred in the first call, a count variable will be evaluated as -1, which leads to accessing to an invalid memory area.",
  "rule.sast.sw.cpp.1160.example.0.safe": "Line 1: Change function designs of return value to print out the error status only.",
  "rule.sast.sw.cpp.1160.name": "Use of in-band error indicator",
  "rule.sast.sw.cpp.1168.description": "The Missing check of symbolic links checker finds instances of failure to check for a symbolic link when opening a file.\nYou can check for a symbolic link by setting the O_NOFOLLOW flag when calling the open() function.\nIf the process is running with elevated privileges, an attacker can exploit this code, for example, by replacing the file with a symbolic link to the /etc/passwd authentication file. The attacker can then overwrite data stored in the password file to create a new root account with no password. This way, opening a symbolic link can create security issues. In the case of a system like VxWorks, however, a false positive may occur because of the absence of the flag.\nBe sure to check for a symbolic link before opening a file.",
  "rule.sast.sw.cpp.1168.example.0.dangerous": "Line 4: file_name file is opened with read and write permissions. If the process is running with extended permissions, an attacker can exploit this code to generate a root account by changing a symbolic link for /etc/passwd authentication file.",
  "rule.sast.sw.cpp.1168.example.0.safe": "Line 4: Open the file by setting O_NOFOLLOW flag to ON. Then, the flag has been set to On, and the symbolic link has been specified to file_name. You will be failed to open the file.",
  "rule.sast.sw.cpp.1168.name": "Missing check of symbolic links",
  "rule.sast.sw.cpp.1171.description": "The Use of non-static variable as argument of putenv checker finds expressions that pass a pointer to an automatic variable to the putenv() function.\nProviding a pointer to a buffer of automatic storage duration as an argument to putenv() may cause that buffer to take on an unintended value. Depending on how and when the buffer is used, it can cause unexpected program behavior or possibly allow an attacker to run arbitrary code.\nWhen calling putenv(), pass a pointer to a static variable instead.",
  "rule.sast.sw.cpp.1171.example.0.dangerous": "Line 7: An automatic variable is used as an argument of putenv() function.",
  "rule.sast.sw.cpp.1171.example.0.safe": "Line 7: Use a static variable for an argument of putenv() function.",
  "rule.sast.sw.cpp.1171.name": "Use of non-static variable as argument of putenv",
  "rule.sast.sw.cpp.1172.description": "The File descriptor race condition checker finds instances in which a race condition is caused by using a file descriptor and the fork() function concurrently.\nA race condition can occur in the following sequence: Open a file, then store its descriptor in a variable.Call fork() function. Then, have both the parent and child processes use the opened file descriptor, and they will share the file descriptor.\nWhen a file is opened, a fork() call leading to having both the parent and child share the same file descriptor causes a race condition. This might get unpredictable results.\nClose the file descriptor in the child after forking and then reopen it.",
  "rule.sast.sw.cpp.1172.example.0.dangerous": "Line 4: A file is opened.A file directive has been stored to fd variable.\nLine 11: fork() function is called. This can lead to a race condition.",
  "rule.sast.sw.cpp.1172.example.0.safe": "Line 28: Close and open the file directive in child process when fork() function is called.",
  "rule.sast.sw.cpp.1172.name": "File descriptor race condition",
  "rule.sast.sw.cpp.1212.description": "The Misuse of signal handler checker finds instances of failure to ensure a signal handler persists in different OS environments.\nA signal handler's persistence and behavior differ depending on the operating system and the implementation. Therefore, you need to understand implementation-specific details of its behavior.\nDepending on the OS, a handler registered by the signal() function automatically persists or gets unregistered only after handling the first signal. To address the latter case, often the handler re-registers itself inside it, but this approach is not safe: If a new signal is generated in the interval between the time of the handler being called and the time of the handler re-registering itself using signal(), the default signal handler will be executed instead.\nTo make a signal handler persist, use an appropriate, safe approach.",
  "rule.sast.sw.cpp.1212.example.0.dangerous": "Line 3: signal() function is called from inside to persist a signal handler, and registers the resetted handler again. A race window has been found between a time of call for the handler and time of use for the signal() function.",
  "rule.sast.sw.cpp.1212.example.0.safe": "Line 4: The POSIX can use flags to control persistence of the signal handler. But Windows does not support solutions.",
  "rule.sast.sw.cpp.1212.name": "Misuse of signal handler",
  "rule.sast.sw.cpp.1214.description": "The Use of signal in interruptible signal handler checker finds race conditions caused by a signal() call from within an interruptible handler for a recurrable signal.\nIf a new signal is generated in the interval between the time of the handler being called and the time of the handler re-registering itself using signal(), the default signal handler will be executed instead. Depending on when the interrupt reoccurs, it may lead to an unintended result, causing a race condition.\nMake sure signal() is not called while the interrupt is handling a recurrable signal.",
  "rule.sast.sw.cpp.1214.example.0.dangerous": "Line 2: signal() function is called within signal handler.",
  "rule.sast.sw.cpp.1214.example.0.safe": "Line 2: Do not call signal() function within signal handler.",
  "rule.sast.sw.cpp.1214.name": "Use of signal in interruptible signal handler",
  "rule.sast.sw.cpp.1217.description": "The Library race condition checker finds instances of using an empty HMAC private key.\nSome library functions are designed not for use in a multithreaded environment; for example, they use global variables without dealing with possible race conditions. These functions must not be used in a multithreaded environment.\nDo not use those functions.",
  "rule.sast.sw.cpp.1217.example.0.dangerous": "Line 5: An error can be caused by strerror() function in multi-threaded environment.",
  "rule.sast.sw.cpp.1217.example.0.safe": "Line 7: Use strerror_s() function, which is secure from race condition.",
  "rule.sast.sw.cpp.1217.name": "Library race condition",
  "rule.sast.sw.cpp.1318.description": "The Information leak due to structure padding checker finds struct padding bits that can cause a leak of sensitive information when the structure is passed across a trust boundary.\nThe offset of each member field of a struct is determined differently depending on the compiler, but is typically aligned to a multiple of a base size like 4 bytes (32 bits). If a member field's given address does not start with a boundary of the base size, the compiler adds padding bits to align its offset. It is not defined by the language's standard but compiler-specific what happens in the padding bits when each struct field is assigned a value. Some compilers initialize the padding bits while other compilers leave unchanged the values therein. If a compiler of the latter type is used, it may be risky because a register for padding bits may expose some of its bits to the outside.\nThere are some ways to avoid such an information leak through padding bits. One option is to disable padding in structs although it is not easy to make it apply to all compilers because each compiler has a different padding strategy, including about the base alignment size for struct fields and whether the compiler has a directive for eliminating padding. If only a particular compiler is used in your project and thus portability does not matter, this approach may work. Another solution to safely copy data of a struct out of a sensitive area to an untrusted context is to store the struct's member fields in a non-padded buffer and then to pass those fields through this packed buffer, instead of from the original struct.",
  "rule.sast.sw.cpp.1318.example.0.dangerous": "Line 11: memset() function is called to initialize structure padding.\nLine 13: However, fields of char types are differently written to memories depending on compilers: an entire value of 32-bits register or only 1 byte without changing padding of other 3 byte. Information stored in the register of the 3 byte can be exposed depending on compiler implementation.",
  "rule.sast.sw.cpp.1318.example.0.safe": "Line 4: Check padding of compiler in case of a project with the specified compiler, then, explicitly declare the padding byte.",
  "rule.sast.sw.cpp.1318.name": "Information leak due to structure padding",
  "rule.sast.sw.cpp.1404.description": "The Missing limitation for string length checker finds instances of failure to limit the length of the string inserted via a format specifier.\nFailure to limit the length of a format specifier string may allow attempts to store an arbitrary long string in the buffer. This may cause buffer overflow.\nBe sure to limit the length of the strings inserted via format specifiers.",
  "rule.sast.sw.cpp.1404.example.0.dangerous": "Line 5: The size of string is not limited.A buffer overflow can occur in filename.\nLine 6: A max size of sting is set too long.A buffer overflow can occur in buf.\nLine 7: The size of string is not limited.A buffer overflow can occur in msg.\nLine 8: The size of string is not limited.A buffer overflow can occur in buf.",
  "rule.sast.sw.cpp.1404.example.0.safe": "Line 5: Specify an appropriate size on string.\nLine 6: Specify an appropriate size on string.",
  "rule.sast.sw.cpp.1404.name": "Missing limitation for string length",
  "rule.sast.sw.cpp.1416.description": "The Writing sensitive information to disk checker finds instances of writing sensitive data in memory out to the disk, thus unexpectedly exposing it externally.\nIt may be configured that the state of process memory is written to disk for later examination by a debugger in case of an abnormal termination of the program. In this configuration, if the program abnormally terminates before sensitive data is cleared out of memory, this data can be exposed through the disk.\nMake sure sensitive data resides in memory for the shortest time possible and is cleared from memory immediately after its use. Also, to prevent sensitive data from being written to disk, disable memory dumps that are generated from an abnormal termination of the program.",
  "rule.sast.sw.cpp.1416.example.0.dangerous": "Line 7: memset_s() function is used to clear stored memory. However, information of variable secret can be exposed by memory dump due to abnormal shutdown of the program before the function completed.",
  "rule.sast.sw.cpp.1416.example.0.safe": "Line 5: Use setrlimit() function to avoid memory dump. Which can be applied in POSIX only.",
  "rule.sast.sw.cpp.1416.name": "Writing sensitive information to disk",
  "rule.sast.sw.cpp.1416.option.target_var_name.description": "Set variables name which will be include in analysis.<br />Example) secret",
  "rule.sast.sw.cpp.1416.option.target_var_name.name": "Target Variable Name",
  "rule.sast.sw.cpp.1709.description": "The Missing check of input length checker finds calls to the \"cin\" operator without specifying the maximum number of characters to be read in the input buffer.\ncin is a C++ standard library object used to accept user input from the console.\nIf the string coming in from cin is longer than the buffer size, a buffer overflow vulnerability can occur.\nCall the cin.width method to specify the maximum allowed number of input characters.",
  "rule.sast.sw.cpp.1709.example.0.dangerous": "Line 3: An input operator of cin is used without specifying the maximum value of a user input string.",
  "rule.sast.sw.cpp.1709.example.0.safe": "Line 3: Call the width () method to specify the maximum value of the string that the user can enter.",
  "rule.sast.sw.cpp.1709.name": "Missing check of input length",
  "rule.sast.sw.cpp.1710.description": "The Violation of privilege to use functions in Windows checker finds instances of failure to properly take care of access privileges in a call to a Windows function, such as CreateProcess*(), RegCreateKey*(), SHRegCreate*(), or SHRegOpen*().\nTake care when using Windows functions such as CreateProcess*(), RegCreateKey*(), SHRegCreate*(), and SHRegOpen*(). Windows functions whose name starts with \"CreateProcess\" can possibly execute a wrong binary if the execution path is not enclosed by quotation marks. Windows functions whose name starts with \"RegCreateKey\" must use HKEY_CURRENT_USER instead of HKEY_LOCAL_MACHINE. Windows functions whose name starts with \"SHRegCreate\" must use SHREGSET_HKCU instead of SHREGSET_HKLM.\nA function parsing a blank may allow for executing a malicious binary.\nWhen using Windows functions, comply with the precautions specific to each function.",
  "rule.sast.sw.cpp.1710.example.0.dangerous": "Line 6: SHREGSET_HKLM is used.\nLine 10: A path, \"C:\\Program Files\\GoodApp\", is not enclosed with quotation marks. Its binary can execute with Program.exe.\nLine 15: HKEY_LOCAL_MACHINE is used.",
  "rule.sast.sw.cpp.1710.example.0.safe": "Line 6: Use SHREGSET_HKCU.\nLine 10: A path, \"C:\\Program Files\\GoodApp\", is enclosed with quotation marks.\nLine 15: Use HKEY_CURRENT_USER.",
  "rule.sast.sw.cpp.1710.name": "Violation of privilege to use functions in Windows",
  "rule.sast.sw.cpp.1732.description": "The Weak hash checker finds instances of using a hashing algorithm known to be insecure.\nIt also finds calls to an hash function such as MMD2, MD5, and SHA1, which is insecure.\nNon-standard hashing algorithms can be more easily encryptanalyzed and cracked by attackers. Some old algorithms have been weak over time as computing power grows-It used to be expected to take an extremely long time to crack them in the past, but now they can be broken in a couple of days or hours. Using an old or non-standard hashing algorithm may allow attackers to cryptanalyze and disable it. Hashes created by MD5 or other old algorithms can be cracked by means of rainbow tables.\nUse secure algorithms.",
  "rule.sast.sw.cpp.1732.example.0.dangerous": "Line 1: A hash is encrypted by CryptCreateHash() function with MD2 algorithm. Do not use an insecure MD2 algorithm.",
  "rule.sast.sw.cpp.1732.example.0.safe": "Line 1: A hash is encrypted with SHA-512 algorithm.",
  "rule.sast.sw.cpp.1732.name": "Weak hash",
  "rule.sast.sw.cpp.1733.description": "The Improper encryption checker finds instances of failure to call functions necessary for encryption.\nThis rule requires calls to the following functions in the defined sequence:  CryptAcquireContext(); CryptCreatehash(); CryptHasData();\nIf a necessary function is missing, encryption will not be successful. This may pose security vulnerabilities.\nMake sure all necessary encryption functions are called.",
  "rule.sast.sw.cpp.1733.example.0.dangerous": "Line 5: CryptHashData() function is called without CryptCreateHash() call.",
  "rule.sast.sw.cpp.1733.example.0.safe": "Line 5: Call CryptCreateHash() function before CryptHashData() call.",
  "rule.sast.sw.cpp.1733.name": "Improper encryption",
  "rule.sast.sw.cpp.181.description": "The Improper random number generation checker finds instances of using a predictable random value. \nrand() should not be used to generate random values and the seeding function must be called prior to a call to a random value generation function. The checker reports a defect for a call to random() without a call to srandom() or for a call to CryptGenRandom() without a call to CryptAcquireContext(). It also finds calls to rand(), which is vulnerable to security threats.\nThe random() function is used mainly for encryption in secure communication protocols. If random() is called without a call to srandom(), it will produce the same value repeatedly. To avoid this security risk, the use of srandom() is recommended.\nYou need to use cryptographically secure approaches that generate unpredictable random values.",
  "rule.sast.sw.cpp.181.example.0.dangerous": "Line 4: Results from the program execution are identical, which causes an error. Although srand() function can be used to change the results, they span too small scopes to use for encryption.",
  "rule.sast.sw.cpp.181.example.0.safe": "Line 2: To get a secure random number, use srandom() function instead of the srand().\nLine 4: To get a secure random number, use random() function instead of the rand().",
  "rule.sast.sw.cpp.181.name": "Improper random number generation",
  "rule.sast.sw.cpp.181.option.targets.description": "Describe random and random seed function name like this (random function name),(random seed function). White spaces are not allowed",
  "rule.sast.sw.cpp.181.option.targets.name": "Random and random seed functions",
  "rule.sast.sw.cpp.184.description": "The Leftover debug code checker finds debug code that remains not removed. \nDebug code may contain parts that output sensitive information or allow control over the system. If the program is deployed with debug code remaining, attackers may bypass an authentication process or access restricted information.\nRemove all debug code before deploying the application.",
  "rule.sast.sw.cpp.184.example.0.dangerous": "Line 2: main() function is used for debugging, and printf() function is used to print it.",
  "rule.sast.sw.cpp.184.example.0.safe": "Line 2: Remove code starting with 'main()' to be used for debugging.",
  "rule.sast.sw.cpp.184.name": "Leftover debug code",
  "rule.sast.sw.cpp.184.option.debug_string.description": "Write a string which indicates debugging.<br />Example) debug",
  "rule.sast.sw.cpp.184.option.debug_string.name": "Debugging string",
  "rule.sast.sw.cpp.184.option.print_function.description": "Write the name of the print function.<br />Example) printf",
  "rule.sast.sw.cpp.184.option.print_function.name": "Printing function",
  "rule.sast.sw.cpp.184.option.target_func.description": "Set target functions with regular expressions",
  "rule.sast.sw.cpp.184.option.target_func.name": "Target function to analyze",
  "rule.sast.sw.cpp.1841.description": "The Multiple signal assignments to same handler checker finds instances of connecting multiple signals to a single signal handler.\nThis can cause an unexpected termination of software.\nMake sure that one signal handler is connected with one signal.",
  "rule.sast.sw.cpp.1841.example.0.dangerous": "Line 1: A signal handler, handler(), is defined.\nLine 5: SIGUSR1 signal is connected to a handler.\nLine 6: SIGUSR2 signal is connected to the handler.",
  "rule.sast.sw.cpp.1841.example.0.safe": "Line 8: Each signal can be connected to a single handler.",
  "rule.sast.sw.cpp.1841.name": "Multiple signal assignments to same handler",
  "rule.sast.sw.cpp.1851.description": "The Use of RSA Algorithm without OAEP checker finds instances of using the RSA encryption algorithm without using OAEP.\nDo not use the RSA algorithm alone without OAEP. \nThis allows for easier decryption by attackers.\nWhen using the RSA algorithm, be sure to use OAEP together.",
  "rule.sast.sw.cpp.1851.example.0.dangerous": "Line 1: OAEP is not used to call CryptEncrypt().",
  "rule.sast.sw.cpp.1851.example.0.safe": "Line 1: OAEP is used to call CryptEncrypt().",
  "rule.sast.sw.cpp.1851.name": "Use of RSA Algorithm without OAEP",
  "rule.sast.sw.cpp.1861.description": "The Heap inspection checker finds instances of failure to completely clear heap memory before release.\nWhen sensitive data such as a password or an encryption key is not removed from memory, it could be exposed to an attacker using a 'heap inspection' attack that reads the sensitive data using memory dumps or other methods.\nBe sure to completely clear heap memory before release.",
  "rule.sast.sw.cpp.1861.example.0.dangerous": "Line 1: A variable password is declared, which will be used as a password.\nLine 4: The variable password is used as a password in LogonUserA().\nLine 20: free() function is called without clearing heap memory.",
  "rule.sast.sw.cpp.1861.example.0.safe": "Line 19: Heap is cleared with SecureZeroMemory() function.",
  "rule.sast.sw.cpp.1861.name": "Heap inspection",
  "rule.sast.sw.cpp.1861.option.prevent_functions.description": "prevent functions",
  "rule.sast.sw.cpp.1861.option.prevent_functions.name": "prevent functions",
  "rule.sast.sw.cpp.1861.option.sink_functions.description": "sink functions",
  "rule.sast.sw.cpp.1861.option.sink_functions.name": "sink functions",
  "rule.sast.sw.cpp.1861.option.source_functions.description": "source functions",
  "rule.sast.sw.cpp.1861.option.source_functions.name": "source functions",
  "rule.sast.sw.cpp.1872.description": "The Catching overly broad exceptions checker finds instances of generalizing a wide range of exceptions in handling them.\nThe checker reports a catch statement to handle an extremely generalized exception such as std::exception.\nAn extremely wide generalization of exceptions may prevent some specific exceptions from being properly handled; more seriously, this may let even logically implausible cases simply covered by the super generalized handler, hence hindering them from being detected and fixed. As a result, design and implementation defects may remain undiscovered in the development and review phases before the program is deployed into production, possibly leading to serious issues.\nIt is recommended to categorize possible exceptions explicitly and handle them separately. If general exception handling is needed, have it performed in the last place after all specific exceptions are handled. Then, if the flow of execution ever reaches the general exception handling block, it suggests that the caught exception was not considered during development. This helps fix defects implied by unexpected exceptions.",
  "rule.sast.sw.cpp.1872.example.0.dangerous": "Line 5: std::exception is handling extremely generalized exceptions. Moreover, other exception classes is inheriting the std::exception.",
  "rule.sast.sw.cpp.1872.example.0.safe": "Line 5: Handle more specific exception types.",
  "rule.sast.sw.cpp.1872.name": "Catching overly broad exceptions",
  "rule.sast.sw.cpp.1881.description": "The Switch statement race condition checker finds switch statements in which the switched variable can be modified while the switch is still executing.\nIn a switch statement, the switched variable may be modified while the switch is still executing.\nIf the variable being tested by the switch changes in the course of execution, this may result in unexpected behavior.\nStore the test variable in a separate variable and use this variable instead for the switch statement.",
  "rule.sast.sw.cpp.1881.example.0.dangerous": "Line 9: A switch statement is always evaluated to zero or one. Thus, it cannot reach to a default clause. The first case is performed when \"st_ctime % 2\" is 1, and the second case is performed when the \"st_ctime %2\" is 0 over time.",
  "rule.sast.sw.cpp.1881.example.0.safe": "Line 8: Store a value of sb->st_ctime to another variable, then use it.",
  "rule.sast.sw.cpp.1881.name": "Switch statement race condition",
  "rule.sast.sw.cpp.1915.description": "The Improper pointer scaling checker finds instances of performing a pointer operation inaccurately.\nYou need to ensure pointer operations are performed accurately. Operations on pointers may unexpectedly result in them pointing to wrong addresses.\nReading a wrong memory address can cause information leaks. This also may lead to a write to a restricted location, potentially allowing for a buffer overflow.\nMake sure pointer operations are performed correctly.",
  "rule.sast.sw.cpp.1915.example.0.dangerous": "Line 9: A pointer is moved to multiple of the buf size and its int type. But, a programmer intends to move the pointer to the buf size. A pointer moves 320 instead of 80 for a 32-bit machine in this example.",
  "rule.sast.sw.cpp.1915.example.0.safe": "Line 9: Perform a pointer operation instead of using sizeof() function.",
  "rule.sast.sw.cpp.1915.name": "Improper pointer scaling",
  "rule.sast.sw.cpp.1944.description": "The Insufficient exponent for cryptographic key checker finds RSA (Rivest Shamir Adleman) public key exponents that are not 65,537.\nBeing an asymmetric cryptography algorithm, RSA is recommended to be used with a public key exponent of 2^16 + 1, which equals 65,537 (0x10001 in hexadecimal). This value is the optimal number for public-key operations involved in cryptographic computations or signature verification. Using this value is not mandatory but recommended for optimal security and speed of the algorithm.\nWhen using RSA asymmetric encryption, set the public key exponent to 65,537.",
  "rule.sast.sw.cpp.1944.example.0.dangerous": "Line 13: 13 is used as an exponent of public key. This can improve performance, but lower security.",
  "rule.sast.sw.cpp.1944.example.0.safe": "Line 13: Use 65537 optimized in terms of security and operation speed.",
  "rule.sast.sw.cpp.1944.name": "Insufficient exponent for cryptographic key",
  "rule.sast.sw.cpp.1962.description": "The Buffer overflow dynamically assigned in wrong condition checker finds instances in which an improper conditional evaluation causes reading from or writing to memory out of an allocated buffer.\nThis type of fault includes the following situations: The address value is outside the bounds of the memory buffer. The argument range is determined by an improper condition. The faulty argument is dynamically allocated memory.\nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen reading from or writing to a buffer, set conditions properly to keep within the specified range.",
  "rule.sast.sw.cpp.1962.example.0.dangerous": "Line 2: A dynamically assigned memory is assigned to buf. The size of buf is set to 10.\nLine 3: An idx value is passed with scanf() function.\nLine 5: The size of idx is compared to be evaluated between zero and ten.\nLine 6: The idx can be 10 by a condition on Line 5. This leads to a buffer overflow.",
  "rule.sast.sw.cpp.1962.example.0.safe": "Line 5: The size of idx is compared to be evaluated between zero and nine.\nLine 6: An array can be accessed in scope of condition on Line 5.",
  "rule.sast.sw.cpp.1962.name": "Buffer overflow dynamically assigned in wrong condition",
  "rule.sast.sw.cpp.1963.description": "The Dynamically Assigned Buffer Underflow checker finds instances of reading or writing below the lower bound of an object in memory.\nThis type of fault includes the following situations: A value is used that attempts to read from or write to a memory location lower than the specified range of indices. The faulty argument is dynamically allocated memory.\nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen reading from or writing to a buffer, keep within its specified range.",
  "rule.sast.sw.cpp.1963.example.0.dangerous": "Line 2: -20 is assigned to an argument.\nLine 6: -10 is assigned to an index of buf[], which causes an error.",
  "rule.sast.sw.cpp.1963.example.0.safe": "Line 7: The buffer index needs to be larger than 0 or smaller than the buffer. Caution is needed particularly in argument settings.",
  "rule.sast.sw.cpp.1963.name": "Dynamically Assigned Buffer Underflow",
  "rule.sast.sw.cpp.1964.description": "The Dynamically Assigned Buffer Underflow Caused by Improper Condition checker finds instances in which an improper conditional evaluation causes reading from or writing to memory out of an allocated buffer.\nThis type of fault includes the following situations: A value is used that attempts to read from or write to a memory location lower than the specified range of indices. The argument range is determined by an improper condition. The faulty argument is dynamically allocated memory.\nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen reading from or writing to a buffer, set conditions properly to keep within the specified range.",
  "rule.sast.sw.cpp.1964.example.0.dangerous": "Line 2: x is compared to -20.\nLine 3: An argument value is assigned to foo2().\nLine 7: An index value of str[] is set to smaller than -20, which causes an error.",
  "rule.sast.sw.cpp.1964.example.0.safe": "Line 2: The buffer index needs to be larger than 0, or smaller than buffer size. Because the index size of str[] is 11 without nulls, set size of n between 0 to 10.",
  "rule.sast.sw.cpp.1964.name": "Dynamically Assigned Buffer Underflow Caused by Improper Condition",
  "rule.sast.sw.cpp.1986.description": "The TOCTOU race condition on filename checker finds race conditions occurring between the time of checking a file's state by filename and the time of using it.\nThe checker reports when an already opened file's name is passed in a call to a file function such as chown(), stat(), chmod(), or remove().\nWhen coding to check the state of a resource and access it based on the checked state, programmers often assume that the checked state will persist until the resource is accessed. But the resource's state can change between the check and the use. This can happen even in a non-multithreaded program because the state of resources such as files can be changed by other programs or the operating system. These race conditions can cause the program to perform invalid actions or throw an exception and may help attackers gain access to unauthorized resources.\nBy using a file pointer or descriptor, you can reduce the risk of accessing an unintended file. When performing a file operation, fchown(), fstat(), and fchmod() are recommended over chown(), stat(), and chmod(), respectively, because they don't trigger race conditions.",
  "rule.sast.sw.cpp.1986.example.0.dangerous": "Line 8: An error occurs by a filename used by chmod().",
  "rule.sast.sw.cpp.1986.example.0.safe": "Line 8: Use a file descriptor with fchmod() instead of filename to access to the file.",
  "rule.sast.sw.cpp.1986.name": "TOCTOU race condition on filename",
  "rule.sast.sw.cpp.2005.description": "The Private collection returned by public method checker finds instances in which a non-private method returns a private-declared array or collection field's object.\nIf a private-declared collection or pointer object is returned by a public method, the object's address is exposed externally, allowing the object to be manipulated from the outside.\nDo not have a private collection object returned as it is by a public method. If such an implementation is needed, return a copy of it instead, or define another public method that controls access and modification to the data of the private collection.",
  "rule.sast.sw.cpp.2005.example.0.dangerous": "Line 6: A private field is returned by a public method.",
  "rule.sast.sw.cpp.2005.example.0.safe": "Line 7: Copy and return the private field.",
  "rule.sast.sw.cpp.2005.name": "Private collection returned by public method",
  "rule.sast.sw.cpp.2006.description": "The Storage of External Data in Private Collection checker finds instances of storing an externally accessible collection or pointer object in a private field.\nA collection or pointer object sent as a public field variable or a variable argument sent by a public method can be accessed into from outside.\nA private collection of pointer field must assume an object created directly in a class. When passing external data to the field, do not store the object itself, but store a copy of its individual elements.\nIf a field declared private assumes an externally accessible collection or pointer object, the private collection also becomes externally accessible, practically disabling the access control. This may result in user data or other restricted information exposed, leading to a serious security issue.",
  "rule.sast.sw.cpp.2006.example.0.dangerous": "Line 6: A private field is assigned by a public method.",
  "rule.sast.sw.cpp.2006.example.0.safe": "Line 6: Assign a copied value to the private field.",
  "rule.sast.sw.cpp.2006.name": "Storage of External Data in Private Collection",
  "rule.sast.sw.cpp.2007.description": "The Invalid umask Argument checker finds calls to umask() function in which an invalid value is passed as an argument.\nThe checker checks for passing 077 or more size to an argument of the umask().\nThe chmod and umask commands use similar argument formats, which however are interpreted oppositely from one another, thus causing confusion. In the chmod command, 7 means all rights (read, write, and execute) granted and 0 means no rights granted. In the umask command, in contrast, 7 means no rights granted and 0 means all rights granted. In addition, chmod receives a three-digit octal number as an argument while umask receives a two-digit octal number. Since the Python function of umask() works in the same way as the OS command of umask, its argument also has to be passed in the same format.\nPass an argument of a two-digit octal number to umask() in the correct format.",
  "rule.sast.sw.cpp.2007.example.0.dangerous": "Line 3: umask() function is called with an invalid argument.",
  "rule.sast.sw.cpp.2007.example.0.safe": "Line 3: Use a valid argument to call the umask().",
  "rule.sast.sw.cpp.2007.name": "Invalid umask Argument",
  "rule.sast.sw.cpp.2008.description": "The Storage of External Data in Private Field checker finds instances of storing an externally accessible object in a private field.\nA object sent as a public field variable or a variable argument sent by a public method can be accessed into from outside.\nIf a field declared private assumes an externally accessible object, the private collection also becomes externally accessible, practically disabling the access control. This may result in user data or other restricted information exposed, leading to a serious security issue.\nA private field must assume an object created directly in a class. Or, assume a value through a private method.",
  "rule.sast.sw.cpp.2008.example.0.dangerous": "Line 6: A private field is directly assigned by a public method.",
  "rule.sast.sw.cpp.2008.example.0.safe": "Line 9: Call the private method to assign the private field.",
  "rule.sast.sw.cpp.2008.name": "Storage of External Data in Private Field",
  "rule.sast.sw.cpp.2009.description": "The Critical Public Variable checker finds critical variables that are declared public in a class.\nTypically, you can declare private fields. However, critical fields are often declared public so that they can be accessed from outside. However, not every public field is a critical field. You can optionally specify names of critical fields.\nMake sure any critical fields are declared private.\nFrom an object-orientation point of view, fields are recommended to be declared private. The checker is used to allow only non-critical fields to be declared public.",
  "rule.sast.sw.cpp.2009.example.0.dangerous": "Line 4: An important field is declared as public.",
  "rule.sast.sw.cpp.2009.example.0.safe": "Line 3: Declare the important field as private.",
  "rule.sast.sw.cpp.2009.name": "Critical Public Variable",
  "rule.sast.sw.cpp.2009.option.variable_name.description": "Use regex for variable name.",
  "rule.sast.sw.cpp.2009.option.variable_name.name": "Target Variable Name",
  "rule.sast.sw.cpp.210.description": "The Reallocation of aligned memory checker finds instances of using the realloc() function to reallocate the memory allocated by aligned_alloc().\nThe alignment of memory returned by aligned_alloc() is not the same as the alignment of memory reallocated by realloc(). Thus, such a practice may result in an unexpected behavior.\nMake sure memory allocated by aligned_alloc() it not reallocated by realloc(). ",
  "rule.sast.sw.cpp.210.example.0.dangerous": "Line 5: ptr is aligned to 4096 byte.\nLine 8: Memory with different alignment is assigned to ptr.",
  "rule.sast.sw.cpp.210.example.0.safe": "Line 8: Ensure to assign a different size of memory with the same alignment. Then, use memcpy() function to import the value from earlier memory.",
  "rule.sast.sw.cpp.210.name": "Reallocation of aligned memory",
  "rule.sast.sw.cpp.214.description": "The Command injection of call on system function checker finds calls to exec system functions that are passed with user inputs but without a \"--\" string included.\nWithout \"--\" included, an attacker can use an arbitrary option to try a command injection attack.\nMake sure the user-input arguments passed in a call to an exec system function include a \"--\" string.",
  "rule.sast.sw.cpp.214.example.0.dangerous": "Line 7: A string \"--\" is missing from a login command to call getenv() function.",
  "rule.sast.sw.cpp.214.example.0.safe": "Line 6: Use the string \"--\" to prevent other command options from executing. Thus, \"USER\" information gets compromised by the other command options.",
  "rule.sast.sw.cpp.214.name": "Command injection of call on system function",
  "rule.sast.sw.cpp.216.description": "The Missing null termination character checker finds expressions that produce or use strings that are not terminated with nulls.\nIn case of a call to strncpy(dst, src, size), if the size of src argument is larger than the third argument of size, a buffer of dst argument's result may not be null-terminated.\nBecause a string is not terminated with a null, it is hard to determine its last character. So, the non-null terminated string is not secure for an argument of a standard string function. Thus, this may produce an unexpected result.\nYou need to ensure that expression strings are terminated with nulls.\nWhen calling strncpy(), make sure the size of the second argument is no greater than the value of the third argument.",
  "rule.sast.sw.cpp.216.example.0.dangerous": "Line 3: A null character is missed by copying src that is larger than dst.",
  "rule.sast.sw.cpp.216.example.0.safe": "Line 4: Check the size and the null for src, then copy to strcpy().",
  "rule.sast.sw.cpp.216.name": "Missing null termination character",
  "rule.sast.sw.cpp.217.description": "The Misuse of unbounded input checker finds expressions that store external user input data in a stack array. \nAn expression that stores external input data in a stack array is as follows: The strcat() function's second argument is user input data and its first argument is a local variable. \nBeing a local variable, the array is a fixed-size buffer declared on the stack. Therefore, if external input data is written out of the bounds of the buffer, a buffer overflow may occur. Buffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nDo not store external input data in a stack array, but in a dynamically allocated buffer. This prevents buffer overflows regardless of the size of external data. Note that when the buffer is dynamically allocated, its size must be set larger than the size of external data. ",
  "rule.sast.sw.cpp.217.example.0.dangerous": "Line 5: An external input data, argv, is stored to a stack array, variable cmdline through strcat() function.",
  "rule.sast.sw.cpp.217.example.0.safe": "Line 9: Assign dynamically assigned buffer to the cmdline through realloc() function at the size of the external input data.\nLine 13: Copy the external input data to the cmdline.",
  "rule.sast.sw.cpp.217.name": "Misuse of unbounded input",
  "rule.sast.sw.cpp.2252.description": "The Buffer overflow by function checker finds calls with an error for copying a specific size of data from memories.\nThe error mentioned above refers the following examples. A function call or argument in the memory address of upper bounds is used to write and read. The faulty argument is a local variable.\nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen using a function that copies a specific size of in-memory data, make sure the specified range is kept.",
  "rule.sast.sw.cpp.2252.example.0.dangerous": "Line 1: An array size of buf1 is declared as 100.\nLine 2: An array size of buf2 is declared as 200.\nLine 4: An out-of-ranged copy is performed with memcpy() function. The range to copy is 200, size of buf2, but size of buf1 is 100.",
  "rule.sast.sw.cpp.2252.example.0.safe": "Line 4: Pass the copying range to 100, the buf1 size.",
  "rule.sast.sw.cpp.2252.name": "Buffer overflow by function",
  "rule.sast.sw.cpp.2253.description": "The Buffer overflow by function in wrong condition checker finds calls with an error for copying a specific size of data from memories.\nThe error mentioned above refers the following examples. A function call or argument in the memory address of upper bounds is used to write and read. The argument range is determined by an improper condition. The faulty argument is a local variable.\nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen using a function that copies a specific size of in-memory data, make sure the specified range is kept in proper conditions.",
  "rule.sast.sw.cpp.2253.example.0.dangerous": "Line 2: A size of y array is declared as 100.\nLine 3: Return n when it is greater than sizeof(y)+100. In other words, Line 4 is executed when n is greater than sizeof(y).\nLine 4: The size of n can be greater than 100, the size of y array.",
  "rule.sast.sw.cpp.2253.example.0.safe": "Line 3: Set the condition of the if statements in Line 4 to copy the range.",
  "rule.sast.sw.cpp.2253.name": "Buffer overflow by function in wrong condition",
  "rule.sast.sw.cpp.2254.description": "The Field buffer overflow by function checker finds calls with an error for copying a specific size of data from memories.\nThis type of fault includes the following situations: A function call or argument in the memory address of upper bounds is used to write and read. The faulty argument is a field of a class or struct.\nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. The malicious code can be executed for causing a denial-of-service (DoS) attack or various other problems.\nWhen using a function that copies a specific size of in-memory data, make sure the specified range is kept.",
  "rule.sast.sw.cpp.2254.example.0.dangerous": "Line 1: A struct node is defined.\nLine 2: An array field ch is defined. The size of array has been set to 100.\nLine 7: Field \"ch\" of structure node \"x\" is accessed with index 200. The array index exceeds its size.",
  "rule.sast.sw.cpp.2254.example.0.safe": "Line 7: Access to field \"ch\" of structure node \"x\" with index less than 100.",
  "rule.sast.sw.cpp.2254.name": "Field buffer overflow by function",
  "rule.sast.sw.cpp.2255.description": "The Field buffer overflow by function in wrong condition checker finds calls with an error for copying a specific size of data from memories.\nThe error mentioned above refers the following examples. A function call or argument in the memory address of upper bounds is used to write and read. The argument range is determined by an improper condition. The faulty argument is a field of a class or struct.\nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen using a function that copies a specific size of in-memory data, make sure the specified range is kept in proper conditions.",
  "rule.sast.sw.cpp.2255.example.0.dangerous": "Line 1: A node struct is declared.\nLine 2: Ch array, a field of node struct, is declared as size 100.\nLine 7: Returns n when it is greater than 300.\nLine 8: The n size can be greater than 100, the ch array size.",
  "rule.sast.sw.cpp.2255.example.0.safe": "Line 7: Set the condition of the if statements in Line 8 to copy the range.",
  "rule.sast.sw.cpp.2255.name": "Field buffer overflow by function in wrong condition",
  "rule.sast.sw.cpp.2256.description": "The Buffer overflow dynamically assigned by function checker finds calls with an error from copying the specific size of data on memory.\nThe error mentioned above refers the following examples. A function call or argument in the memory address of upper bounds is used to write and read. The faulty argument is dynamically allocated memory.\nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen using a function that copies a specific size of in-memory data, make sure the specified range is kept.",
  "rule.sast.sw.cpp.2256.example.0.dangerous": "Line 1: A buf1 pointer size is dynamically allocated to 100.\nLine 2: A buf2 pointer size is dynamically allocated to 200.\nLine 4: An out-of-ranged copy is performed with memcpy() function. The range to copy is 200, size of buf2, but size of buf1 is 100.",
  "rule.sast.sw.cpp.2256.example.0.safe": "Line 4: Pass the copying range to 100, the buf1 size.",
  "rule.sast.sw.cpp.2256.name": "Buffer overflow dynamically assigned by function",
  "rule.sast.sw.cpp.2257.description": "The Buffer overflow dynamically assigned by function in wrong condition checker finds calls with an error for copying a specific size of data from memories.\nThe error mentioned above refers the following examples. A function call or argument in the memory address of upper bounds is used to write and read. The argument range is determined by an improper condition. The faulty argument is dynamically allocated memory.\nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen using a function that copies a specific size of in-memory data, make sure the specified range is kept in proper conditions.",
  "rule.sast.sw.cpp.2257.example.0.dangerous": "Line 2: A dynamically allocated value, 100, is assigned to variable y.\nLine 3: n is compared to be evaluated to more than 'sizeof(y) + 100'.\nLine 4: A buffer overflow can occur by copying a value larger than y in memcpy() on Line 3.",
  "rule.sast.sw.cpp.2257.example.0.safe": "Line 3: Set a condition not to exceed scopes of the copied buffer.",
  "rule.sast.sw.cpp.2257.name": "Buffer overflow dynamically assigned by function in wrong condition",
  "rule.sast.sw.cpp.2258.description": "The Field Buffer Underflow from Function checker finds calls with an error for copying a specific size of data from memories.\nThe error mentioned above refers the following examples. A function call or argument in the memory address of lower bounds is used to write and read. The faulty argument is a field of a class or struct.\nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen using a function that copies a specific size of in-memory data, make sure the specified range is kept.",
  "rule.sast.sw.cpp.2258.example.0.dangerous": "Line 8: The result of evaluating the third argument of the memset() function is -10 by Line 13. Negative memories are accessed.\nLine 12: The n value is resulted to -20.\nLine 13: A type_under() function is called. Its argument is -20.",
  "rule.sast.sw.cpp.2258.example.0.safe": "Line 13: Initialize n so that it is not a negative on Line 8.",
  "rule.sast.sw.cpp.2258.name": "Field Buffer Underflow from Function",
  "rule.sast.sw.cpp.2259.description": "The Field Buffer Underflow from Function Caused by Improper Condition checker finds calls with an error for copying a specific size of data from memories.\nThe error mentioned above refers the following examples. A function call or argument in the memory address of lower bounds is used to write and read. The argument range is determined by an improper condition. The faulty argument is a field of a class or struct.\nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen using a function that copies a specific size of in-memory data, make sure the specified range is kept in proper conditions.",
  "rule.sast.sw.cpp.2259.example.0.dangerous": "Line 8: Return n when it is 0 or greater.\nLine 9: The third argument of the memset() function is less than zero. Negative memories are accessed.",
  "rule.sast.sw.cpp.2259.example.0.safe": "Line 8: Set the if statement condition to prevent value n from becoming a negative number on Line 9.",
  "rule.sast.sw.cpp.2259.name": "Field Buffer Underflow from Function Caused by Improper Condition",
  "rule.sast.sw.cpp.226.description": "The Missing changing working directory checker finds instances in which the chroot() function is called to modify the root directory but it is not followed by a call to the chdir() function, which is required to change the working directory. \nThe chroot() function makes a specific directory recognized as the root directory of the file system. If the current working directory is not changed subsequently, an unexpected directory can be accessed via a relative path.\nIf a call to chroot() is not followed by a call to chdir(), an unexpected result may occur.",
  "rule.sast.sw.cpp.226.example.0.dangerous": "Line 5: chroot() function is used, but is not changing a work directory.",
  "rule.sast.sw.cpp.226.example.0.safe": "Line 6: Use chdir(\"/\") function to move the current directory into a subdirectory of root.",
  "rule.sast.sw.cpp.226.name": "Missing changing working directory",
  "rule.sast.sw.cpp.226.option.function_target_begin_call_function.description": "Target functions begin call",
  "rule.sast.sw.cpp.226.option.function_target_begin_call_function.name": "Target functions begin call",
  "rule.sast.sw.cpp.226.option.should_be_call_param.description": "Set up required call parameters",
  "rule.sast.sw.cpp.226.option.should_be_call_param.name": "Required call parameters",
  "rule.sast.sw.cpp.2260.description": "The Buffer Underflow from Function checker finds calls with an error for copying a specific size of data from memories.\nThe error mentioned above refers the following examples. A function call or argument in the memory address of lower bounds is used to write and read. The faulty argument is a local variable.\nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen using a function that copies a specific size of in-memory data, make sure the specified range is kept.",
  "rule.sast.sw.cpp.2260.example.0.dangerous": "Line 3: The result of evaluating the third argument of the memset() function is -10 by Line 7. Negative memories are accessed.\nLine 7: The n value is resulted to -20.\nLine 8: under_function() function is called. Its argument is -20.",
  "rule.sast.sw.cpp.2260.example.0.safe": "Line 8: Initialize so that the n value is not negative on Line 3.",
  "rule.sast.sw.cpp.2260.name": "Buffer Underflow from Function",
  "rule.sast.sw.cpp.2261.description": "The Buffer Underflow from Function Caused by Improper Condition checker finds calls with an error for copying a specific size of data from memories.\nThe error mentioned above refers the following examples. A function call or argument in the memory address of lower bounds is used to write and read. The argument range is determined by an improper condition. The faulty argument is a local variable.\nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen using a function that copies a specific size of in-memory data, make sure the specified range is kept in proper conditions.",
  "rule.sast.sw.cpp.2261.example.0.dangerous": "Line 3: n is returned when it is zero or greater.\nLine 4: The third argument of the memset() function is less than zero. Negative memories are accessed.",
  "rule.sast.sw.cpp.2261.example.0.safe": "Line 3: An if statement condition is set so that n value is not converted into a negative on Line 4.",
  "rule.sast.sw.cpp.2261.name": "Buffer Underflow from Function Caused by Improper Condition",
  "rule.sast.sw.cpp.2262.description": "The Dynamically Assigned Buffer Underflow from Function checker finds calls with an error for copying a specific size of data from memories.\nThe error mentioned above refers the following examples. A function call or argument in the memory address of lower bounds is used to write and read. The faulty argument is dynamically allocated memory.\nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen using a function that copies a specific size of in-memory data, make sure the specified range is kept.",
  "rule.sast.sw.cpp.2262.example.0.dangerous": "Line 3: The result of evaluating the third argument of the memset() function is -10 by Line 8. Negative memories are accessed.\nLine 8: The n value is resulted to -20.\nLine 9: under_function() function is called. Its argument is -20.",
  "rule.sast.sw.cpp.2262.example.0.safe": "Line 9: Initialize so that the n value is not negative on Line 3.",
  "rule.sast.sw.cpp.2262.name": "Dynamically Assigned Buffer Underflow from Function",
  "rule.sast.sw.cpp.2263.description": "The Dynamically Assigned Buffer Underflow from Function Caused by Improper Condition checker finds calls with an error for copying a specific size of data from memories.\nThe error mentioned above refers the following examples. A function call or argument in the memory address of lower bounds is used to write and read. The argument range is determined by an improper condition. The faulty argument is dynamically allocated memory.\nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen using a function that copies a specific size of in-memory data, make sure the specified range is kept in proper conditions.",
  "rule.sast.sw.cpp.2263.example.0.dangerous": "Line 3: n is returned when it is zero or greater.\nLine 4: The third argument of the memset() function is less than zero. Negative memories are accessed.",
  "rule.sast.sw.cpp.2263.example.0.safe": "Line 3: An if statement condition is set so that n value is not converted into a negative on Line 4.",
  "rule.sast.sw.cpp.2263.name": "Dynamically Assigned Buffer Underflow from Function Caused by Improper Condition",
  "rule.sast.sw.cpp.227.description": "The Reliance on DNS lookups in security decisions checker finds instances in which authentication and access controls rely solely on the domain name.\nBecause DNS servers are targeted for spoofing, reliance on the domain name allows attackers to modify the DNS to point the domain name to their IP address. They can create fake DNS entries, and you must avoid security decisions (authentication, access controls, etc.) solely based on the domain name. A tainted local DNS cache may let the network traffic between a particular server and users transferred through an attacker.\nFor servers with known IP addresses, use their IP addresses.",
  "rule.sast.sw.cpp.227.example.0.dangerous": "Line 6: Gethostbyaddr() function is used to acquire a DNS name.\nLine 8: A client is checked without DNS name verification.",
  "rule.sast.sw.cpp.227.example.0.safe": "Line 2: Check the client through its IP address instead of the DNS name.",
  "rule.sast.sw.cpp.227.name": "Reliance on DNS lookups in security decisions",
  "rule.sast.sw.cpp.227.option.dns_decision_function.description": "Write the name of the function which makes security decisions by using the DNS as a parameter.<br />Example) strcmp",
  "rule.sast.sw.cpp.227.option.dns_decision_function.name": "Security decision function",
  "rule.sast.sw.cpp.227.option.dns_lookup_function.description": "Write the name of the function which looks up the DNS.<br />Example) gethostbyaddr",
  "rule.sast.sw.cpp.227.option.dns_lookup_function.name": "DNS Lookup function",
  "rule.sast.sw.cpp.229.description": "The Use of getlogin in multi-threaded program checker finds instances of using the getlogin() function in a multithreaded environment to get a user account.\nYou can optionally add functions forbidden in a multithreaded environment.\nThe getlogin() function returns the username of the called thread. If used in a multithreaded environment, its return may be modified by the thread of another username.\nDo not use getlogin() in a multithreaded environment.",
  "rule.sast.sw.cpp.229.example.0.dangerous": "Line 3: getlogin() function is used whose return value is mutable in other threads.",
  "rule.sast.sw.cpp.229.example.0.safe": "Line 4: Use getlogin_r() function secure in a multi-threaded environment.",
  "rule.sast.sw.cpp.229.name": "Use of getlogin in multi-threaded program",
  "rule.sast.sw.cpp.229.option.function_should_not_be_used.description": "Set up forbidden functions",
  "rule.sast.sw.cpp.229.option.function_should_not_be_used.name": "Forbidden functions",
  "rule.sast.sw.cpp.230.description": "The Hardcoded password checker finds calls to SQLConnect() that pass a hardcoded password.\nYou can optionally specify the format of hardcoded passwords. \nIt is risky to write a password directly in the code for outbound communication to external components or inbound authentication. It is hard for administrators to catch attackers accessing the system and stealing hardcoded passwords, and whenever a password is changed, a new deployment is required.\nDo not put a hardcoded password in a call to SQLConnect().",
  "rule.sast.sw.cpp.230.example.0.dangerous": "Line 6: A hardcoded \"pwd\" is included.",
  "rule.sast.sw.cpp.230.example.0.safe": "Line 6: Modify the password to be acquired from outside and ensure to be encrypted.",
  "rule.sast.sw.cpp.230.name": "Hardcoded password",
  "rule.sast.sw.cpp.230.option.call_param_target_in_function.description": "Write the target function name and the parameter location where passwords are used. Use a format such as \"(parameter location):(function name)\".<br />Example) 6:SQLConnect",
  "rule.sast.sw.cpp.230.option.call_param_target_in_function.name": "Target function and parameters",
  "rule.sast.sw.cpp.230.option.password_variable_name.description": "Write the name of the variable used as a password.<br />Example) password",
  "rule.sast.sw.cpp.230.option.password_variable_name.name": "Name of the password variable",
  "rule.sast.sw.cpp.231.description": "The Hardcoded user name checker finds calls to SQLConnect() that pass a hardcoded user account.\nIt is risky to write a user account directly in the code for outbound communication to external components or inbound authentication. It is hard for administrators to catch attackers accessing the system and stealing hardcoded user accounts, and whenever a user account or password is changed, a new deployment is required.\nDo not put a hardcoded user account in a call to SQLConnect().",
  "rule.sast.sw.cpp.231.example.0.dangerous": "Line 9: An unvalidated and hardcoded user account is used.",
  "rule.sast.sw.cpp.231.example.0.safe": "Line 9: Verify the user account and password.",
  "rule.sast.sw.cpp.231.name": "Hardcoded user name",
  "rule.sast.sw.cpp.231.option.call_param_target_in_function.description": "Write target function and parameter index. Ex) 4th parameter in SQLConnect = 4:SQLConnect",
  "rule.sast.sw.cpp.231.option.call_param_target_in_function.name": "Target function and parameter index",
  "rule.sast.sw.cpp.232.description": "The Weak cryptographic algorithm checker finds instances of using a simple cryptographic algorithm for password encryption.\nThe checker searches for calls to SQLConnect() in which the password in the sixth argument is encrypted by a simple cryptographic algorithm. The recommended cryptographic modules are the RSA_private_decrypt() and RSA_private_decrypt_assign() functions.\nUsing a simple encryption function may allow for exposal of passwords.\nDo not use a weak cryptographic algorithm for password encryption.",
  "rule.sast.sw.cpp.232.example.0.dangerous": "Line 9: A password is encrypted by encoding algorithm, not an encryption.",
  "rule.sast.sw.cpp.232.example.0.safe": "Line 7: Use RSA encryption algorithm instead of the weak one.",
  "rule.sast.sw.cpp.232.name": "Weak cryptographic algorithm",
  "rule.sast.sw.cpp.232.option.call_param_target_in_function.description": "Write the target function name and the parameter location where the key is used. Use a format such as \"(parameter location):(function name)\".<br />Example) 1:RSA_generate_key",
  "rule.sast.sw.cpp.232.option.call_param_target_in_function.name": "Target function and parameters",
  "rule.sast.sw.cpp.232.option.need_function.description": "Set up recommended encryption modules. <br />How to ) [param index]:[function name]  <br />param index : -1  - assign      example) passwd = function();<br />0   - all         Available if the parameter is 1<br />1~  - index       example) function(test, passwd);",
  "rule.sast.sw.cpp.232.option.need_function.name": "Recommended encryption modules",
  "rule.sast.sw.cpp.233.description": "The Insecure privilege control checker finds instances of using the seteuid() function to elevate the user's permission in some part of code.\nElevated user permissions may cause information leaks.\nDo not use seteuid() to grand a permission.",
  "rule.sast.sw.cpp.233.example.0.dangerous": "Line 4: seteuid(0) is used to gain the most elevated permissions.\nLine 7: A real UID of a current process is used for lower privileges.",
  "rule.sast.sw.cpp.233.example.0.safe": "Line 4: Do not gain lower or higher privileges, and use accessible resources only.",
  "rule.sast.sw.cpp.233.name": "Insecure privilege control",
  "rule.sast.sw.cpp.233.option.call_param_target_in_function.description": "Required parameter in call function",
  "rule.sast.sw.cpp.233.option.call_param_target_in_function.name": "Required parameter in call function",
  "rule.sast.sw.cpp.234.description": "The Insecure privilege reset checker finds instances in which the permission is elevated to perform a particular action but is not de-elevated afterword.\nYou can optionally specify functions subject to analysis and sequences of functions.\nIf the permission remains elevated even after finishing the relevant actions, attackers can easily obtain access and users can abuse the permission.\nPermissions elevated for a particular action must be de-elevated on the completion of the action.",
  "rule.sast.sw.cpp.234.example.0.dangerous": "Line 4: A root privilege is not restored after an action.",
  "rule.sast.sw.cpp.234.example.0.safe": "Line 8: Call the seteuid() function after calling chroot() to restore the privileges.",
  "rule.sast.sw.cpp.234.name": "Insecure privilege reset",
  "rule.sast.sw.cpp.234.option.function_target.description": "Set target functions with regular expressions",
  "rule.sast.sw.cpp.234.option.function_target.name": "Target function to analyze",
  "rule.sast.sw.cpp.234.option.function_used_order.description": "Set up function call order",
  "rule.sast.sw.cpp.234.option.function_used_order.name": "Function call order",
  "rule.sast.sw.cpp.235.description": "The Insufficient cryptographic key size checker finds encryption keys that are too short.\nYou can optionally specify the minimum key length that ensures security.\nAn encryption key is used for encryption and decryption purposes; if it is not long enough, it can be uncovered in a practically short time even with a verified cryptographic algorithm used. This can be exploited to decrypt encrypted data or passwords.\nEach major algorithm suggests an appropriate length of a key that ensures an extremely long time is taken to break the key at the currently known level of technology, thus making attacks on it practically impossible. It is recommended to use a key no shorter than the suggested length. For instance, the RSA algorithm must be used with a key of at least 2,048 bits (as of 2015), while symmetric encryption algorithms require a key of at least 128 bits.",
  "rule.sast.sw.cpp.235.example.0.dangerous": "Line 4: A 512 bit key is used.",
  "rule.sast.sw.cpp.235.example.0.safe": "Line 4: Set the key length to 2048 bit at least.",
  "rule.sast.sw.cpp.235.name": "Insufficient cryptographic key size",
  "rule.sast.sw.cpp.235.option.call_param_target_in_function.description": "Write the target function name and the parameter location where the key is used. Use a format such as \"(parameter location):(function name)\".<br />Example) 1:RSA_generate_key",
  "rule.sast.sw.cpp.235.option.call_param_target_in_function.name": "Target function and parameters",
  "rule.sast.sw.cpp.235.option.min_value.description": "Write the minimum key length to allow during use of the encryption algorithm.<br />Example) 1024",
  "rule.sast.sw.cpp.235.option.min_value.name": "Minimum key length",
  "rule.sast.sw.cpp.236.description": "The Inappropriate RSA Padding checker finds RSA padding schemes that are inappropriate for the RSA algorithm.\nRSA_NO_PADDING should not be passed as a padding option.\nProper RSA padding ensures secure encryption. Therefore, use a padding scheme that is secure enough to meet the recommendations.\nIt is recommended to use OAEP.",
  "rule.sast.sw.cpp.236.example.0.dangerous": "Line 4: Insecure RSA_NO_PADDING () argument is used.",
  "rule.sast.sw.cpp.236.example.0.safe": "Line 4: Use other arguments instead of RSA_NO_PADDING for strong encryption.",
  "rule.sast.sw.cpp.236.name": "Inappropriate RSA Padding",
  "rule.sast.sw.cpp.236.option.call_param_should_not_be_name.description": "Set up forbidden macro on call.",
  "rule.sast.sw.cpp.236.option.call_param_should_not_be_name.name": "Forbidden macro on call parameters",
  "rule.sast.sw.cpp.236.option.call_param_target_in_function.description": "Target functions",
  "rule.sast.sw.cpp.236.option.call_param_target_in_function.name": "Target function to analyze",
  "rule.sast.sw.cpp.237.description": "The Hardcoded salt checker finds instances of using a hardcoded salt for hash calculation.\nNot only does a hardcoded salt allow all of the project's developers to view the salt, it also becomes extremely difficult to change after the application is in production. Furthermore, if attackers know the value of the salt, they can calculate \"rainbow tables\" for the application and more easily determine the hashed values.\nUse a cryptographically secure approach that generates unpredictable salts randomly, or have salts generated from an external source.",
  "rule.sast.sw.cpp.237.example.0.dangerous": "Line 4: A hardcoded salt xp is used.",
  "rule.sast.sw.cpp.237.example.0.safe": "Line 3: Enable to generate the random salt at every time.",
  "rule.sast.sw.cpp.237.name": "Hardcoded salt",
  "rule.sast.sw.cpp.237.option.call_param_target_in_function.description": "Write the target function name and the parameter location where salt value is used. Use a format such as \"(parameter location):(function name)\".<br />Example) 2:crypt",
  "rule.sast.sw.cpp.237.option.call_param_target_in_function.name": "Target function and parameters",
  "rule.sast.sw.cpp.237.option.excluded_expr.description": "Write an expression of salt value to exclude.<br />Example) safe",
  "rule.sast.sw.cpp.237.option.excluded_expr.name": "Salt expression to exclude (exception)",
  "rule.sast.sw.cpp.237.option.target_expr.description": "Write an expression of salt value to detect. If there is no value entered, all constant salt values will be detected.<br />Example) salt",
  "rule.sast.sw.cpp.237.option.target_expr.name": "Salt expression to allow (target)",
  "rule.sast.sw.cpp.238.description": "The Weak cryptographic algorithm of password checker finds instances of using a cryptographic algorithm known to be insecure.\nThe weak cryptographic algorithms subject to the detection of the checker include RC2, RC4, RC5, RC6, MD4, MD5, SHA1, and DES.\nNon-standard cryptographic algorithms can be more easily cryptanalyzed and cracked by attackers. Some old algorithms have been weak over time as computing power grows-It used to be expected to take an extremely long time to crack them in the past, but now they can be broken in a couple of days or hours. Using an old or non-standard cryptographic algorithm may allow attackers to cryptanalyze and disable it.\nDeveloping your own cryptographic algorithm is dangerous; instead, use standard algorithms that have been proven in academia and industry. Use secure algorithms such as 3DES, AES, and SEED instead of those considered weak such as DES and RC5. And encryption keys must be long enough in accordance with the appropriate length suggested by each standard, secure algorithm.",
  "rule.sast.sw.cpp.238.example.0.dangerous": "Line 4: EVP_des_ecb() is using the weak DES algorithm.",
  "rule.sast.sw.cpp.238.example.0.safe": "Line 4: Use the secure 3-DES, or AES algorithm.",
  "rule.sast.sw.cpp.238.name": "Weak cryptographic algorithm of password",
  "rule.sast.sw.cpp.238.option.crypt_string.description": "Write a string which indicates the encryption status.<br />Example) crypt.*",
  "rule.sast.sw.cpp.238.option.crypt_string.name": "Encryption string",
  "rule.sast.sw.cpp.238.option.decrypt_string.description": "Write a string which indicates decryption status.<br />Example) decrypt.*",
  "rule.sast.sw.cpp.238.option.decrypt_string.name": "Decryption string",
  "rule.sast.sw.cpp.238.option.risky_algorithm.description": "Write the name of the weak encryption algorithm function.<br />Example) EVP_des_ecb",
  "rule.sast.sw.cpp.238.option.risky_algorithm.name": "Weak encryption algorithm",
  "rule.sast.sw.cpp.238.option.risky_algorithm_id.description": "Write an ID of the weak encryption algorithm.<br />Example) DES",
  "rule.sast.sw.cpp.238.option.risky_algorithm_id.name": "Weak encryption algorithm ID",
  "rule.sast.sw.cpp.238.option.safe_algorithm.description": "Write a name of the strong encryption algorithm function.<br />Example) EVP_aes_128_cbc",
  "rule.sast.sw.cpp.238.option.safe_algorithm.name": "Strong encryption algorithm",
  "rule.sast.sw.cpp.239.description": "The Multiple bindings to same port checker finds instances in which multiple services run on one port.\nIf a single port is used by multiple services, data packets can be stolen or spoofed while transferred.\nMake sure multiple services do not run on the same port.",
  "rule.sast.sw.cpp.239.example.0.dangerous": "Line 9: Among several socket options, SO_REUSSEADDR is set.\nLine 12: INADDR_ANY is used as a server address.\nLine 14: Multiple sockets can be bound by using SO_REUSSEADDR, INADDR_ANY.",
  "rule.sast.sw.cpp.239.example.0.safe": "Line 9: Ensure not to use SO_REUSEADDR and INADDR_ANY together among the socket options.",
  "rule.sast.sw.cpp.239.name": "Multiple bindings to same port",
  "rule.sast.sw.cpp.240.description": "The Incorrect permission assignment for critical resource checker finds instances of granting a read or edit privilege improperly.\nAn improperly granted privilege can cause system information leaks or abuse by users leading to system malfunctions.\nMake sure granting a privilege does not lead to exposal of system information.",
  "rule.sast.sw.cpp.240.example.0.dangerous": "Line 1: umask(0) is allowing all user permissions to read and write.",
  "rule.sast.sw.cpp.240.example.0.safe": "Line 1: Use umask() to set proper permissions.",
  "rule.sast.sw.cpp.240.name": "Incorrect permission assignment for critical resource",
  "rule.sast.sw.cpp.240.option.access_function.description": "Write the name of the functions accessing sensitive information.<br />Example) open",
  "rule.sast.sw.cpp.240.option.access_function.name": "Functions accessing sensitive information",
  "rule.sast.sw.cpp.242.description": "The SQL Injection checker finds SQL queries that include an unvalidated external input.\nIf an unvalidated external input is allowed in SQL queries, attackers can inject a crafted query that has an altered meaning. This vulnerability lets attackers access or manipulate information in the database.\nExternal inputs must be validated or parameterized before being used in SQL queries.",
  "rule.sast.sw.cpp.242.example.0.dangerous": "Line 8: SQL query is used without any check.If \"name' OR 'a'='a\" string is entered, a WHERE clause is always be a true.",
  "rule.sast.sw.cpp.242.example.0.safe": "Line 6: Process an SQL query to prevent manipulation, then inject.\nLine 7: Process an SQL query to prevent manipulation, then inject.",
  "rule.sast.sw.cpp.242.name": "SQL Injection",
  "rule.sast.sw.cpp.242.option.clear_call.description": "Write the name of the function that checks sensitive information for security.<br />Example) makeSecureString",
  "rule.sast.sw.cpp.242.option.clear_call.name": "Function to check for sensitive information",
  "rule.sast.sw.cpp.242.option.param_on_sql_injection.description": "All parameters are regarded as tainted data hence many issues are expected",
  "rule.sast.sw.cpp.242.option.param_on_sql_injection.name": "Making parameters be tainted",
  "rule.sast.sw.cpp.242.option.sink_call.description": "Write the name of the function causing risks when containing sensitive information.<br />Example) SQLExecDirect",
  "rule.sast.sw.cpp.242.option.sink_call.name": "Function leaking sensitive information",
  "rule.sast.sw.cpp.242.option.source_call.description": "Specify functions that receives sensitive information.<br />Example) getenv",
  "rule.sast.sw.cpp.242.option.source_call.name": "Function receiving sensitive information",
  "rule.sast.sw.cpp.243.description": "The Path Manipulation checker finds instances in which an unvalidated external input creates a path accessible to the file system.\nIf unvalidated external inputs are allowed to be used for access to files, servers, or other system resources, attackers can manipulate inputs to access an unintended path in the program. In other words, path manipulation can be used to obtain illegitimate access to modify or execute settings files.\nIf external inputs are used as identifiers for resources (such as files), make sure they pass appropriate validation. Especially, if external inputs are filenames, use a filter to remove characters such as \", /, \\, and ..  that can be exploited for a directory traversal attack.",
  "rule.sast.sw.cpp.243.example.0.dangerous": "Line 2: \"reportName\" file name is decided by an external input. Then, attackers can manipulate an arbitrary file.",
  "rule.sast.sw.cpp.243.example.0.safe": "Line 3: Do not set a file path with the external input.",
  "rule.sast.sw.cpp.243.name": "Path Traversal",
  "rule.sast.sw.cpp.243.option.sink_call.description": "Write the name of the function causing risks when containing sensitive information.<br />Example) unlink",
  "rule.sast.sw.cpp.243.option.sink_call.name": "Function leaking sensitive information",
  "rule.sast.sw.cpp.243.option.source_call.description": "Specify functions that receives sensitive information.<br />Example) getenv",
  "rule.sast.sw.cpp.243.option.source_call.name": "Function receiving sensitive information",
  "rule.sast.sw.cpp.244.description": "The OS Command Injection checker finds instances in which an internal system command is executed by an unvalidated external input.\nIf an external input is not validated by the strpbrk() function before executing a system command, the checker reports a defect. \nIf a user input that has not been properly validated constitutes the whole or part of an OS command to execute it in an unintended way, this may cause improper permission changes or harmful effects on the system's processes or operations.\nIf a command needs to be generated or selected based on an external input, whitelist safe values for command generation and restrict values determined by external inputs to those selected from within the whitelist. ",
  "rule.sast.sw.cpp.244.example.0.dangerous": "Line 6: An external input is entered to a command.\nLine 10: The command is used without proper validation. For example, entering a command such as \"file_name.txt; rm -rf\" can delete all files on the directory.",
  "rule.sast.sw.cpp.244.example.0.safe": "Line 7: Use strpbrk() function to check for dangerous characters used for injection attacks.",
  "rule.sast.sw.cpp.244.name": "Command injection",
  "rule.sast.sw.cpp.244.option.clear_call.description": "Write the name of the function that checks sensitive information for security.<br />Example) strpbrk",
  "rule.sast.sw.cpp.244.option.clear_call.name": "Function to check for sensitive information",
  "rule.sast.sw.cpp.244.option.sink_call.description": "Write the name of the function causing risks when containing sensitive information.<br />Example) system",
  "rule.sast.sw.cpp.244.option.sink_call.name": "Function leaking sensitive information",
  "rule.sast.sw.cpp.244.option.sink_call_any.description": "Write the name of the function causing risks upon receiving sensitive information from the socket.<br />Example) execl",
  "rule.sast.sw.cpp.244.option.sink_call_any.name": "Function leaking sensitive information",
  "rule.sast.sw.cpp.244.option.source_call.description": "Specify functions that receives sensitive information.<br />Example) getenv",
  "rule.sast.sw.cpp.244.option.source_call.name": "Function receiving sensitive information",
  "rule.sast.sw.cpp.245.description": "The LDAP Injection checker finds LDAP (Lightweight Directory Access Protocol) queries built with an unvalidated external input.\nUnvalidated external inputs can be exploited to execute unintended LDAP commands. To be specific, if the web application does not handle user inputs properly, attackers can alter LDAP query commands, thereby enabling the process to behave with the same authentication as the command executor component.\nMake sure user inputs provided for distinguished names (DNs) and filters do not include special characters. If special characters have to be allowed in inputs, have =, +, <, >, #, ;, and \\ recognized as plain characters, not as executable commands.",
  "rule.sast.sw.cpp.245.example.0.dangerous": "Line 2: An LDAP query is created without verification. Entering a string such as '|' can show all items.",
  "rule.sast.sw.cpp.245.example.0.safe": "Line 2: Use an LDAP query without an external input.",
  "rule.sast.sw.cpp.245.name": "LDAP Injection",
  "rule.sast.sw.cpp.245.option.sink_call.description": "Write the name of the function causing risks when containing sensitive information.<br />Example) ldap_search_ext_s",
  "rule.sast.sw.cpp.245.option.sink_call.name": "Function leaking sensitive information",
  "rule.sast.sw.cpp.245.option.source_call.description": "Specify functions that receives sensitive information.<br />Example) getenv",
  "rule.sast.sw.cpp.245.option.source_call.name": "Function receiving sensitive information",
  "rule.sast.sw.cpp.246.description": "The Resource injection checker finds resource identifiers created with an unvalidated external input.\nIf unvalidated external inputs are allowed for accessing or identifying files, servers, or other system resources, attackers can manipulate an input to arbitrarily access system-protected resources. Resource injection vulnerabilities can be exploited to modify or delete resources, leak system information, and cause conflicts between system resources leading to service failures.\nIf external inputs need to be used for resource identifiers (such as socket ports), whitelist appropriate identifiers and restrict values determined by external inputs to those selected from within the whitelist.",
  "rule.sast.sw.cpp.246.example.0.dangerous": "Line 2: A port number is entered by an external input through getenv() function. A socket has been generated with an arbitrary port number.\nLine 6: The port number is copied to buf through strncpy() function.\nLine 7: A value of buf is used in connect() function.",
  "rule.sast.sw.cpp.246.example.0.safe": "Line 9: Use a whitelisted port number.",
  "rule.sast.sw.cpp.246.name": "Resource injection",
  "rule.sast.sw.cpp.246.option.sink_call.description": "Write the name of the function causing risks when containing sensitive information.<br />Example) connect",
  "rule.sast.sw.cpp.246.option.sink_call.name": "Function leaking sensitive information",
  "rule.sast.sw.cpp.246.option.source_call.description": "Specify functions that receives sensitive information.<br />Example) getenv",
  "rule.sast.sw.cpp.246.option.source_call.name": "Function receiving sensitive information",
  "rule.sast.sw.cpp.247.description": "The External Control of System or Configuration Setting checker finds calls to the sethostid() function where the argument is not properly processed.\nExternal control of system settings may allow for system malfunctions or malicious deletion of system data.\nMake sure an external input is not directly used as an argument for sethostid().",
  "rule.sast.sw.cpp.247.example.0.dangerous": "Line 2: A host ID of current system is changed through sethostid() function. A malicious user can change the host ID to manipulate system settings.",
  "rule.sast.sw.cpp.247.example.0.safe": "Line 2: Do not use an external input as an argument of sethostid() function.",
  "rule.sast.sw.cpp.247.name": "External Control of System or Configuration Setting",
  "rule.sast.sw.cpp.247.option.sink_call.description": "Specify risky functions that may contain sensitive information.<br />Example) sethostid",
  "rule.sast.sw.cpp.247.option.sink_call.name": "Function leaking sensitive information",
  "rule.sast.sw.cpp.247.option.source_call.description": "Specify functions that receives sensitive information.<br />Example) getenv",
  "rule.sast.sw.cpp.247.option.source_call.name": "Function receiving sensitive information",
  "rule.sast.sw.cpp.248.description": "The Insecure direct object reference checker finds instances of using an externally provided path to load a library or execute a command.\nUsing an externally provided path for a library can lead to invalid library loading or malicious command execution.\nMake sure externally provided paths are not loaded into a library.",
  "rule.sast.sw.cpp.248.example.0.dangerous": "Line 3: A library with an external input path is used through getenv() function.",
  "rule.sast.sw.cpp.248.example.0.safe": "Line 3: Use a library with an absolute path.",
  "rule.sast.sw.cpp.248.name": "Insecure direct object reference",
  "rule.sast.sw.cpp.248.option.sink_call.description": "Write the name of the function causing risks when containing sensitive information.<br />Example) dlopen",
  "rule.sast.sw.cpp.248.option.sink_call.name": "Function leaking sensitive information",
  "rule.sast.sw.cpp.248.option.source_call.description": "Specify functions that receives sensitive information.<br />Example) getenv",
  "rule.sast.sw.cpp.248.option.source_call.name": "Function receiving sensitive information",
  "rule.sast.sw.cpp.251.description": "The Password in comment checker finds comments that contain password information. \nPassword information contained in comments can be exposed to attackers. This practice may allow for security threats to the system. Passwords are often written in comments for development convenience, but they are hard to remove once the software is deployed into production. Do not include IDs, passwords, and other security-sensitive information in comments. If an attacker can access the source code or use reverse engineering to view the code, the attacker will be able to easily intrude the system.\nEliminate password information in comments.",
  "rule.sast.sw.cpp.251.example.0.dangerous": "Line 1: A password is specified in comments.\nLine 2: A passwd is specified in comments.",
  "rule.sast.sw.cpp.251.example.0.safe": "Line 1: Do not include the password in comments.",
  "rule.sast.sw.cpp.251.name": "Password in comment",
  "rule.sast.sw.cpp.251.option.allowed_max_word_length.description": "Write the maximum length of a single word to be allowed in comments.<br />Example) 40",
  "rule.sast.sw.cpp.251.option.allowed_max_word_length.name": "Maximum consecutive word length",
  "rule.sast.sw.cpp.251.option.check_header.description": "If the option is enabled, all comments in the header files will be checked.",
  "rule.sast.sw.cpp.251.option.check_header.name": "Inspect header files",
  "rule.sast.sw.cpp.251.option.check_password_only.description": "If selected, password expressions will be detected even if it exists solely.",
  "rule.sast.sw.cpp.251.option.check_password_only.name": "Check password expressions solely existing",
  "rule.sast.sw.cpp.251.option.consecutive_word_expr.description": "Write an expression of the consecutive word which exceeds the maximum length to be detected.<br />Example) [a-zA-Z0-9]+",
  "rule.sast.sw.cpp.251.option.consecutive_word_expr.name": "Consecutive word expressions to detect",
  "rule.sast.sw.cpp.251.option.fixed_key_length.description": "Write a fixed length of key.",
  "rule.sast.sw.cpp.251.option.fixed_key_length.name": "A fixed length of key",
  "rule.sast.sw.cpp.251.option.password_expr.description": "Write the expression of a string that may be considered as a password.<br />Example) password",
  "rule.sast.sw.cpp.251.option.password_expr.name": "Password expression",
  "rule.sast.sw.cpp.251.option.using_fixed_key_length.description": "If the option is enabled, the fixed length of key string will be detected.",
  "rule.sast.sw.cpp.251.option.using_fixed_key_length.name": "Check a fixed length of key",
  "rule.sast.sw.cpp.252.description": "The Improper authorization checker finds instances of using anonymous binding to execute an LDAP query.\nIf the anonymous binding is allowed without user authentication, a user's information can be accessed externally.\nMake sure the LDAP binding is performed with the username and password provided.",
  "rule.sast.sw.cpp.252.example.0.dangerous": "Line 8: LDAP search is tried without user authentication. Because user login information and username of an argument are not verified through comparison, user information can be shown.",
  "rule.sast.sw.cpp.252.example.0.safe": "Line 7: Get authentication for username, and verify that username and login information are matched before LDAP search.",
  "rule.sast.sw.cpp.252.name": "Improper authorization",
  "rule.sast.sw.cpp.252.option.clear_call.description": "Write the name of the function that checks sensitive information for security.<br />Example) strcmp",
  "rule.sast.sw.cpp.252.option.clear_call.name": "Function to check for sensitive information",
  "rule.sast.sw.cpp.252.option.sink_call.description": "Write the name of the function causing risks when containing sensitive information.<br />Example) system",
  "rule.sast.sw.cpp.252.option.sink_call.name": "Function leaking sensitive information",
  "rule.sast.sw.cpp.252.option.source_variable.description": "Write the name of the variable containing sensitive information.<br />Example) username",
  "rule.sast.sw.cpp.252.option.source_variable.name": "Sensitive information variable",
  "rule.sast.sw.cpp.253.description": "The Cleartext storage of password checker finds instances of storing unencrypted passwords.\nIf sensitive information regarding users and the system is stored in plaintext while being processed, such information may be exposed to attackers.\nPasswords must be encrypted by a highly secure cryptographic algorithm before stored and managed.",
  "rule.sast.sw.cpp.253.example.0.dangerous": "Line 9: A password is read from a file.\nLine 19: An unencrypted password is directly connected to access database.",
  "rule.sast.sw.cpp.253.example.0.safe": "Line 12: Verify an externally entered password.\nLine 20: Connect with the validated password.",
  "rule.sast.sw.cpp.253.name": "Cleartext storage of password",
  "rule.sast.sw.cpp.253.option.clear_call.description": "Write the name of the function that checks sensitive information for security.<br />Example) verify",
  "rule.sast.sw.cpp.253.option.clear_call.name": "Function to check for sensitive information",
  "rule.sast.sw.cpp.253.option.sink_call.description": "Write the name of the function causing risks when containing sensitive information.<br />Example) SQLConnect",
  "rule.sast.sw.cpp.253.option.sink_call.name": "Function leaking sensitive information",
  "rule.sast.sw.cpp.253.option.source_variable.description": "Write the name of the variable containing sensitive information.<br />Example) passwd",
  "rule.sast.sw.cpp.253.option.source_variable.name": "Sensitive information variable",
  "rule.sast.sw.cpp.254.description": "The Hardcoded cryptographic key checker finds encryption keys hardcoded in source code.\nHardcoded encryption keys present in source code can be used to decrypt ciphertext data back into the original information in case it leaks. Encryption keys are often hardcoded in the wrong assumption that their exposal poses no significant security threat, although some hash functions can possibly be reversed by brute-force attacks. In addition, hardcoded encryption keys are not easy to change.\nMake sure encryption keys never assume constant values. And, even if in ciphertext, they should not be hardcoded in source code.",
  "rule.sast.sw.cpp.254.example.0.dangerous": "Line 12: An encrypted key is directly compared as an const.",
  "rule.sast.sw.cpp.254.example.0.safe": "Line 16: Write a module to gain encrypted password with proper validation, then compare the password with a encrypted string.",
  "rule.sast.sw.cpp.254.name": "Hardcoded cryptographic key",
  "rule.sast.sw.cpp.254.option.sink_call_with_constant.description": "Issue detected when any of the parameters in these functions receive sensitive information.<br />Example) strcmp",
  "rule.sast.sw.cpp.254.option.sink_call_with_constant.name": "Function with constant parameters leaking sensitive information",
  "rule.sast.sw.cpp.254.option.source_call.description": "Write the name of the function receiving sensitive information.<br />Example) crypt",
  "rule.sast.sw.cpp.254.option.source_call.name": "Function receiving sensitive information",
  "rule.sast.sw.cpp.254.option.source_variable.description": "Write the name of the variable containing sensitive information.<br />Example) cryptokey*",
  "rule.sast.sw.cpp.254.option.source_variable.name": "Sensitive information variable",
  "rule.sast.sw.cpp.2832.description": "The Use of Tainted Value checker finds instances of using tainted values without validation.\nSuch as an argument of an insecure function, an index of an array, or a control variable of a loop. Yet, for an pointer type argument of an insecure function, a tainted value can be used in its object, not its offset.\nUsing tainted values may cause security vulnerabilities or unexpected behaviors.\nDo not use tainted values. To be specific, check scope of the tainted values, or use a filter function to secure the values before using them.",
  "rule.sast.sw.cpp.2832.example.0.dangerous": "Line 16: The tainted values were used in a dangerous way.",
  "rule.sast.sw.cpp.2832.example.0.safe": "Line 15: The tainted values should be checked for safety before use.",
  "rule.sast.sw.cpp.2832.name": "Use of Tainted Value",
  "rule.sast.sw.cpp.2832.option.clear_call.description": "Write a name and a type of the function which filters external information.",
  "rule.sast.sw.cpp.2832.option.clear_call.name": "External information filter",
  "rule.sast.sw.cpp.2832.option.clear_compare.description": "Determines whether to filter external information by comparing ranges of integer values in conditional statements.",
  "rule.sast.sw.cpp.2832.option.clear_compare.name": "Check whether external information is filtered by comparison.",
  "rule.sast.sw.cpp.2832.option.sink_call.description": "Write a name and a type of the function causing risks when containing external information.",
  "rule.sast.sw.cpp.2832.option.sink_call.name": "External information sink",
  "rule.sast.sw.cpp.293.description": "The Empty catch block checker finds exception-handling blocks that have no relevant content.\nIt detects empty catch blocks containing no actual executable code.\nIf a caught exception is not handled, it is hard to find out the causes of accompanying program errors.\nAdd an exception-handling code in the empty block. If you don't want any measure for an exception, you may simply leave an error message.",
  "rule.sast.sw.cpp.293.example.0.dangerous": "Line 6: A proper exception handling statement is not included to catch statements.",
  "rule.sast.sw.cpp.293.example.0.safe": "Line 6: Add a proper exception handling statement to the catch statements.",
  "rule.sast.sw.cpp.293.name": "Empty catch block",
  "rule.sast.sw.cpp.2936.description": "The Unrestricted File Upload checker finds code that allows files to be uploaded without checking types and sizes.\nIf server-executable scripts (files in asp, jsp, php, etc.) can be uploaded and attackers can run those files by themselves on the Web, it can be exploited to run internal system commands or connect the system to an external source to control it therefrom.\nMake sure users can upload only those files whose extensions are allowed in the whitelist. Have the names and extensions of uploaded files changed into unpredictable strings when they are stored in the server.",
  "rule.sast.sw.cpp.2936.example.0.dangerous": "Line 5: \"reportName\" file name is decided by an external input. Then, attackers can manipulate an arbitrary file.",
  "rule.sast.sw.cpp.2936.example.0.safe": "Line 5: Do not set a file path with the external input.",
  "rule.sast.sw.cpp.2936.name": "Unrestricted File Upload",
  "rule.sast.sw.cpp.2936.option.sink_call.description": "Write a name and a type of the function causing risks when containing external information.",
  "rule.sast.sw.cpp.2936.option.sink_call.name": "External information sink",
  "rule.sast.sw.cpp.2936.option.source_call.description": "Specify functions that receives sensitive information.<br />Example) getenv",
  "rule.sast.sw.cpp.2936.option.source_call.name": "Function receiving sensitive information",
  "rule.sast.sw.cpp.2937.description": "The Redirection to untrusted site checker finds instances of redirecting to a URL generated with an unvalidated external input.\nAlthough connecting to a client-provided URL is often believed to be safe, an attacker can modify the request and redirect the user to a malicious site.\nMaintain a whitelist of external site URLs and domains allowed for redirection, which needs to be checked when a user input is passed as a redirect URL.",
  "rule.sast.sw.cpp.2937.example.0.dangerous": "Line 5: A Qstring variable link includes an external input.\nLine 6: The variable link is not verified and used to open a URL.",
  "rule.sast.sw.cpp.2937.example.0.safe": "Line 10: Use urlchecker() method to verify the variable link.\nLine 21: Use the verified link to open a URL.",
  "rule.sast.sw.cpp.2937.name": "Redirection to untrusted site",
  "rule.sast.sw.cpp.2937.option.clear_call.description": "Write the name of the function that checks sensitive information for security.<br />Example) urlchecker",
  "rule.sast.sw.cpp.2937.option.clear_call.name": "Function to check for sensitive information",
  "rule.sast.sw.cpp.2937.option.sink_call.description": "Write a name and a type of the function causing risks when containing external information.",
  "rule.sast.sw.cpp.2937.option.sink_call.name": "External information sink",
  "rule.sast.sw.cpp.2937.option.source_call.description": "Specify functions that receives sensitive information.<br />Example) getenv",
  "rule.sast.sw.cpp.2937.option.source_call.name": "Function receiving sensitive information",
  "rule.sast.sw.cpp.2938.description": "The XQuery Injection checker finds XQuery statements that include an unvalidated external input.\nIf an appropriate validation process is not established for external inputs that are used to create dynamic queries for XML data in XQuery, attackers may arbitrarily modify the query structure. This modification enables them to access restricted data or bypass the authorization checks.\nIn the case of `username='local_user1'`, for example, XQuery uses single quotation marks to delimit the text value to be checked against the username. If an external input is used for the value to be checked against and single quotation marks are allowed in it, you can enter as follows: \n`'admin' or ''=''`\nThen the query's conditional clause will be as follows: \n`username = 'admin' or ''=''`\nAs `''=''` always evaluates to true, the condition comparing against username can be bypassed.\nMake sure external input data used in XQuery are filtered for special characters and reserved words.",
  "rule.sast.sw.cpp.2938.example.0.dangerous": "Line 7: A query is ready for name, and id values.\nLine 10: A query is executed with externally entered name, id, and salary values..",
  "rule.sast.sw.cpp.2938.example.0.safe": "Line 5: Use urlchecker() method to verify an external input.\nLine 20: Set the query ready with the verified external input.\nLine 23: Execute the query with the verified external input.",
  "rule.sast.sw.cpp.2938.name": "XQuery Injection",
  "rule.sast.sw.cpp.2938.option.clear_call.description": "Write the name of the function that checks sensitive information for security.<br />Example) urlchecker",
  "rule.sast.sw.cpp.2938.option.clear_call.name": "Function to check for sensitive information",
  "rule.sast.sw.cpp.2938.option.sink_call.description": "Write a name and a type of the function causing risks when containing external information.",
  "rule.sast.sw.cpp.2938.option.sink_call.name": "External information sink",
  "rule.sast.sw.cpp.2938.option.source_call.description": "Specify functions that receives sensitive information.<br />Example) getenv",
  "rule.sast.sw.cpp.2938.option.source_call.name": "Function receiving sensitive information",
  "rule.sast.sw.cpp.2939.description": "The XPath Injection checker finds XPath queries that include an unvalidated external input.\nIf external inputs are allowed in XPath queries without appropriately validating them, attackers can feed an unexpected string to twist a query's meaning or alter its structure, thereby gaining access to restricted data.\nExternal inputs used in XPath queries should be filtered for special characters (\", [, ], /, =, @, etc.) and reserved worlds.",
  "rule.sast.sw.cpp.2939.example.0.dangerous": "Line 3: A QString variable temp includes an external input.\nLine 5: An external input value is used for setQuery() method.",
  "rule.sast.sw.cpp.2939.example.0.safe": "Line 5: Use urlchecker() method to verify the query.\nLine 17: Use the validated tempt to secifpy a query.",
  "rule.sast.sw.cpp.2939.name": "XPath Injection",
  "rule.sast.sw.cpp.2939.option.clear_call.description": "Write the name of the function that checks sensitive information for security.<br />Example) urlchecker",
  "rule.sast.sw.cpp.2939.option.clear_call.name": "Function to check for sensitive information",
  "rule.sast.sw.cpp.2939.option.sink_call.description": "Write a name and a type of the function causing risks when containing external information.",
  "rule.sast.sw.cpp.2939.option.sink_call.name": "External information sink",
  "rule.sast.sw.cpp.2939.option.source_call.description": "Specify functions that receives sensitive information.<br />Example) getenv",
  "rule.sast.sw.cpp.2939.option.source_call.name": "Function receiving sensitive information",
  "rule.sast.sw.cpp.294.description": "The Mismatched resource release method checker finds instances in which a resource is allocated and deallocated with mutually mismatching functions.\nResources subject to checking include files, handles, and sockets.\nA resource is not deallocated by a mismatching function. Resources that remain allocated can lead to resource and memory leaks. This can be exploited by attackers to exhaust the resource pool for a denial-of-service (DoS) attack. Resource and memory leaks can cause a serious degradation of system performance.\nBe sure to use correct allocation and deallocation functions suitable for each resource type, as indicated below: Allocate file resources with fopen() and deallocate them with fclose(). Allocate handle resources with CreateFile() and deallocate them with CloseHandle(). Allocate socket resources with open() and deallocate them with close().",
  "rule.sast.sw.cpp.294.example.0.dangerous": "Line 5: CreateFile() function is used to assign handle resources.\nLine 13: fclose() function is used to close the resource. Yet, the resources need to be closed through CloseHandle().",
  "rule.sast.sw.cpp.294.example.0.safe": "Line 13: Use the CloseHandle() function to free the resources.",
  "rule.sast.sw.cpp.294.name": "Mismatched resource release method",
  "rule.sast.sw.cpp.2940.description": "The Persistent Cookie checker finds code that stores sensitive data in cookies with too long lifespans.\nMost web programming environments create non-persistent cookies. This type of cookie resides only in memory (not recorded in the disc drive) and disappears when the browser is closed. Programmers can set cookies to persist for browser sessions until a specific future date. These cookies are recorded in the disc drive and persist even after restarting the browser session or device. Persistent cookies are commonly used to profile users when interacting with sites. Such tracked data in persistent cookies can be exploited to leak user privacy, depending upon how the data is used. If privacy information is stored in a persistent cookie with a long expiration, attackers can be given enough time to steal such data. addDays(), addMonths(), or addYears() method is forbidden.\nCookie expiration must be set minimum in consideration of session duration, and permanent cookies should not contain important information such as user privileges and session IDs. You need to put a value specified in the option for addSecs(), or addMSecs() method.",
  "rule.sast.sw.cpp.2940.example.0.dangerous": "Line 9: addYears() method is used.\nLine 10: addSecs() method has an argument value higher than specified in the option.",
  "rule.sast.sw.cpp.2940.example.0.safe": "Line 9: Do not use the addYears() method.\nLine 10: addSecs() method has an argument with an optionally specified value.",
  "rule.sast.sw.cpp.2940.name": "Persistent cookie",
  "rule.sast.sw.cpp.2940.option.max_time.description": "Set the number of seconds allowed.",
  "rule.sast.sw.cpp.2940.option.max_time.name": "Allow Time (seconds)",
  "rule.sast.sw.cpp.2944.description": "The Improper Reference of XML Entity checker finds code that enables to use external entities in XML libraries.\nTo be specific, a function call or argument which allows to use an external entity.\nIf the external entity is allowed for XML libraries, attackers can access to unauthorized or important files. This may lead to SSRF (Server Side Request Forgery) vulnerability.\nDo not use a function call or argument which allows to use an external entity.",
  "rule.sast.sw.cpp.2944.example.0.dangerous": "Line 3: An argument of setCreateEntityReferenceNodes() function is set to false. This is vulnerable to XXE attacks.\nLine 4: An argument of setDisableDefaultEntityResolution() function is set to false. This is vulnerable to XXE attacks.",
  "rule.sast.sw.cpp.2944.example.0.safe": "Line 3: Set the argument of the setCreateEntityReferenceNodes() function to true.\nLine 4: Set the argument of the setDisableDefaultEntityResolution() function to true.",
  "rule.sast.sw.cpp.2944.name": "Improper Reference of XML Entity",
  "rule.sast.sw.cpp.2953.description": "The Weak Server Certificate checker finds code that fails to properly validate certificates.\nIt is required to validate X.509 certificates in order to create secure SSL/TLS sessions which are safe against the MITM(Man in the Middle) attacks. If you are not perform proper validation for the certificates, it may lead to security issues. \nEnsure to use a proper value for arguments of validating function that is provided by libraries.",
  "rule.sast.sw.cpp.2953.example.0.dangerous": "Line 7: In curl_easy_setopt() function call, the second argument is specified to CURLOPT_SSL_VERIFYPEER, and the third argument is specified to 0. Therefore, a certificate is not correctly validated.",
  "rule.sast.sw.cpp.2953.example.0.safe": "Line 7: Set the third argument to 1.",
  "rule.sast.sw.cpp.2953.name": "Weak Server Certificate",
  "rule.sast.sw.cpp.2955.description": "The Code Injection of Return Address checker finds code that may get modified its return address and exploited.\nSpecifically, when you declare a local variable and assign a buffer to stack area, but, an external input can cause an underflow and then, change a function address.\nIf attackers can control a run thread of the function, it may lead to abnormal actions of the program. Furthermore, this can be a start point of another attacks.\nSo, ensure to prevent an external input from causing an underflow on stack memories and modifying the return address. For example, check an offset value, or store the external input to the heap area instead of the stack.",
  "rule.sast.sw.cpp.2955.example.0.dangerous": "Line 7: If var is -1 and var2 is a malicious address, it may lead to code injection.",
  "rule.sast.sw.cpp.2955.example.0.safe": "Line 7: Check the size of var, and modify code in order to avoid an underflow.",
  "rule.sast.sw.cpp.2955.name": "Code Injection of Return Address",
  "rule.sast.sw.cpp.296.description": "The Missing login control checker checker finds instances of failure to implement a logic to limit the number of login attempts.\nYou can optionally specify the name of a login routine. The checker checks for a logic that ensure: Login attempts are controlled in a loop prior to a call to a login routine. If the condition expression always evaluates to true, the checker determines that login attempts are not properly controlled. The conditional expression in the loop uses a comparison operator.\nIf login attempt count is not limited, attackers may use the error to login or get permission with a brute-force attack and take unauthorized permissions.\nA logic that limits login attempt count must be implemented.",
  "rule.sast.sw.cpp.296.example.0.dangerous": "Line 2: A login routine is called without login attempt limit.",
  "rule.sast.sw.cpp.296.example.0.safe": "Line 3: Set the login attempt limit to call the login routine.",
  "rule.sast.sw.cpp.296.name": "Missing login control",
  "rule.sast.sw.cpp.296.option.authentification_functions.description": "Write the functions used for log-in.",
  "rule.sast.sw.cpp.296.option.authentification_functions.name": "Functions used for log-in",
  "rule.sast.sw.cpp.296.option.loop_inside_target_function.description": "If the option is enabled, function calling within an uncontrolled loop will be detected.",
  "rule.sast.sw.cpp.296.option.loop_inside_target_function.name": "Detect function calling within an uncontrolled loop.",
  "rule.sast.sw.cpp.296.option.target_function_inside_loop.description": "If the option is enabled, a uncontrolled loop within a function is detected.",
  "rule.sast.sw.cpp.296.option.target_function_inside_loop.name": "Detect uncontrolled loop within a function.",
  "rule.sast.sw.cpp.297.description": "The Missing authentication checker finds instances of failure to implement a control routine using authentication.\nYou can optionally specify the name of the authentication routine that should be called and the names of pages that must call the routine.\nIf an authentication routine is not called, an unauthorized user can obtain a permission.\nMake sure an appropriate authentication routine is called at each necessary position.",
  "rule.sast.sw.cpp.297.example.0.dangerous": "Line 1: Suppose that authentication() function is specified. An authentication control routine is not called by the function.",
  "rule.sast.sw.cpp.297.example.0.safe": "Line 2: Suppose that control() function is the authentication control routine. Call this function from the authentication().",
  "rule.sast.sw.cpp.297.name": "Missing authentication",
  "rule.sast.sw.cpp.297.option.target_callee.description": "Write the functions used for checking.",
  "rule.sast.sw.cpp.297.option.target_callee.name": "List of the functions used for checking.",
  "rule.sast.sw.cpp.297.option.target_caller.description": "Write the functions that need to be checked for authentication status.",
  "rule.sast.sw.cpp.297.option.target_caller.name": "List of the functions to check authentication status",
  "rule.sast.sw.cpp.298.description": "The Missing password recovery control checker finds instances of failure to implement a logic to limit the number of password restore attempts.\nYou can optionally specify the name of a password restore routine. The checker checks for a logic that ensure: Password restore attempts are controlled in a loop prior to a call to a password restore routine. If the condition expression always evaluates to true, the checker determines that password restore attempts are not properly controlled. The conditional expression in the loop uses a comparison operator. \nIf password restore attempts are not limited, attackers may succeed to change passwords by a brute-force attack. This can give an unauthorized accessor a permission.\nA logic that limits password restore attempts must be implemented.",
  "rule.sast.sw.cpp.298.example.0.dangerous": "Line 2: A password restore routine is called without password restore attempt limit.",
  "rule.sast.sw.cpp.298.example.0.safe": "Line 3: Set the password restore attempt limit to call the password restore routine.",
  "rule.sast.sw.cpp.298.name": "Missing password recovery control",
  "rule.sast.sw.cpp.298.option.authentification_functions.description": "Write the password restoring functions.",
  "rule.sast.sw.cpp.298.option.authentification_functions.name": "Password restoring functions",
  "rule.sast.sw.cpp.298.option.loop_inside_target_function.description": "If the option is enabled, function calling within an uncontrolled loop will be detected.",
  "rule.sast.sw.cpp.298.option.loop_inside_target_function.name": "Detect function calling within an uncontrolled loop.",
  "rule.sast.sw.cpp.298.option.target_function_inside_loop.description": "If the option is enabled, a uncontrolled loop within a function is detected.",
  "rule.sast.sw.cpp.298.option.target_function_inside_loop.name": "Detect uncontrolled loop within a function.",
  "rule.sast.sw.cpp.3061.description": "The Transmission of Key Security Information and Vehicle Information in Plain Text checker finds code that sends key security information or vehicle information in plain text without encryption or integrity verification.\nThe key security information such as the private key applied to the public key algorithm or the private key applied to the symmetric key algorithm must never be transmitted or exposed in the form of plain text outside the controller. The private key must be generated and stored by the possessor, and transmitted in cyphertext when it is being distributed. You can use block encryption algorithms, such as AES and TDES, or asymmetric key encryption algorithms, such as RSA and ECC, to generate the ciphertext. If you cannot generate the ciphertext, security information must be delivered with physical connection, such as USB and JTAG, rather than a wired or wireless network. In addition, key security information you are possessing must not be stored in plain text on external storages, such as USB memory or SD card. Make sure them to be stored in encrypted or uncrackable form if you need to use the external storages. \nLikewise, the integrity of sensitive information about vehicles or information that can be misused by attackers must all be preserved. If sensitive driving-related information, whose integrity is not guaranteed, is tampered with and misused by an attacker, it can lead to fatal accidents. In order to preserve integrity, authentication information such as MAC must be added, message and hash values must be transmitted to the outside in encrypted forms, and a person with the permission only can verify message authentication and integrity.\nThe leak of sensitive information does not end with information exposure, but also brings vulnerabilities for relay attacks or brute force attacks in the future. \nEnsure to encrypt sensitive information or verify integrity before transmitting.",
  "rule.sast.sw.cpp.3061.example.0.dangerous": "Line 9: A private key is transmitted to the outside of the controller in plain text.\nLine 27: Critical information about vehicle such as speed data is transmitted to the outside in plain text.",
  "rule.sast.sw.cpp.3061.example.0.safe": "Line 21: Transmit the information in the ciphertext form instead of plaintext.\nLine 60: Use MAC to ensure integrity.",
  "rule.sast.sw.cpp.3061.name": "Transmission of Key Security Information and Vehicle Information in Plain Text",
  "rule.sast.sw.cpp.3061.option.clear_call.description": "Encryption or integrity verification function",
  "rule.sast.sw.cpp.3061.option.clear_call.name": "Enter the name of a function that securely encrypts plaintext information or verifies its integrity.",
  "rule.sast.sw.cpp.3062.description": "The Use of Low-security Encryption Algorithm checker finds use of encryption algorithms or hash functions that are not strong enough for the level of required protection.\nIt is recommended to satisfy the security strength of 112-bit or higher for a symmetric key, also called a secret key, based encryption algorithm or hash function In addition, a key size with 112-bit or higher is recommended for an asymmetric key encryption algorithm to enhance security as possible.\nIf these recommended key size is not satisfied, an attacker can analyze and crack the algorithm.\nComply with the key sizes to ensure that encryption algorithms maintain sufficient security level.",
  "rule.sast.sw.cpp.3062.example.0.dangerous": "Line 5: 2TDEA is used by two keys: which is 80-bit. So it does not satisfy the recommended key size of 112-bit or more.\nLine 15: EscRsa_KEY_BYTES is declared to use the RSA 1024 bits.",
  "rule.sast.sw.cpp.3062.example.0.safe": "Line 6: Make sure to use 3TDEA that meets the recommended security level.\nLine 16: Declare EscRsa_KEY_BYTES to use the RSA 2048 bits.",
  "rule.sast.sw.cpp.3062.name": "Use of Low-security Encryption Algorithm",
  "rule.sast.sw.cpp.3063.description": "The Missing Message ID when Generating MAC checker finds code that does not includes message IDs for message authentication code (MAC) so that an attacker can reuse authentication.\nThe MAC tag is generated using a unique value and secret key of the message in order to guarantee authentication and integrity of the message. If an attacker intercepts and transmits the message and MAC value, it can bypass authentication as a normal request. In order to prevent the reuse attack with the authentication, a unique value must be included to generate a different MAC from the identical message.\nAfter hijacking, an attacker can reuse the authentication value to induce its receiver to behave abnormally.\nMake sure to include a timestamp or a random value in the default text while generating the MAC. This can guarantee to generate a different MAC from the same message.",
  "rule.sast.sw.cpp.3063.example.0.dangerous": "Line 25: Any unique value, such as timestamps, that can prevent reuse attacks, is not used. So, an attacker can intercept messages with a generated MAC and reuse them later.",
  "rule.sast.sw.cpp.3063.example.0.safe": "Line 7: Use a unique value generated with current time to generate the MAC. This can secure the reuse attack.",
  "rule.sast.sw.cpp.3063.name": "Missing Message ID when Generating MAC",
  "rule.sast.sw.cpp.3067.description": "The Grammatically Ambiguous Declaration checker finds code that is too ambiguous to interpret as either an expression or a declaration.\nWhen a programmer write a grammatically ambiguous declaration, compilers might have difficulty to determine it as either a declaration or an expression. In order to avoid ambiguity, you need to use braced-init-list, remove meaningless parentheses around, or use initializer with \"=\" for the explicit declaration. Additionally, avoid using function-style casts, such as  MyClass(3) and int(10), that can be ambiguous to be identified between a call and variable declaration.\nCode can be misinterpreted and cause unintended behavior.\nAvoid unnecessary parentheses after variable declarations or use the braced-init_list.",
  "rule.sast.sw.cpp.3067.example.0.dangerous": "Line 8: It is ambiguous to determine as a function pointer that returns a Widget object or an object declaration of Widget class.",
  "rule.sast.sw.cpp.3067.example.0.safe": "Line 8: Remove the parentheses behind the variable declaration. Then, it is a variable declaration instead of the function declaration.\nLine 9: Use the braced-init-list to initialize the local variable directly.",
  "rule.sast.sw.cpp.3067.name": "Grammatically Ambiguous Declaration",
  "rule.sast.sw.cpp.3068.description": "The Missing Exception Safety checker finds when a program is terminated by an exception which has the potential to adversely affect the program.\nProper handling of errors and exceptions is essential for the software. The possibility of abnormal effects on the program raised by the exceptions must be eliminated in advance. Code that avoids the abnormal effects is called to be guaranteed for exception safety. Exception safety is divided into three: \n\nStrong exception safety: While ensuring basic exception safety, if an operation is terminated by an exception, there is no observable effect on the program state. \nBasic exception safety: The basic exception safety prevents resource leaks and makes the program state stable when the program is terminated by an exception. \nNone: This does not guarantee either strong exception safety or basic exception safety.\nA security vulnerability can occur when the program state changes while it is not using exception handling to control the termination of the program or performing recovery from an exception condition.\nModify your code so that the non-local variable value can be changed after an exception is raised.",
  "rule.sast.sw.cpp.3068.example.0.dangerous": "Line 17: Memory is allocated for the array object using new operator. An exception can be raised at this point.\nLine 18: An exception is thrown, but unreachable and the state of the class remains changed.",
  "rule.sast.sw.cpp.3068.example.0.safe": "Line 14, 18: Allocate memory to the tmp variable by using the new operator. Then, change the object state only when the memory allocation succeeds.",
  "rule.sast.sw.cpp.3068.name": "Missing Exception Safety",
  "rule.sast.sw.cpp.3069.description": "The Missing Exception Handling checker finds code that throws an exception, but does not handle it.\nWhen an unintended exception occurs, it must be caught and handled.\nThis can lead to unintentional system crash, exposure of sensitive information, and unintended behavior.\nPut functions that might throw exceptions inside the exception handling statements.",
  "rule.sast.sw.cpp.3069.example.0.dangerous": "Line 6: A stack overflow exception is thrown when _alloca() function fails to allocate space.",
  "rule.sast.sw.cpp.3069.example.0.safe": "Line 5, 15: Use __try-__except blocks to handle unintended exceptions.",
  "rule.sast.sw.cpp.3069.name": "Missing Exception Handling",
  "rule.sast.sw.cpp.3070.description": "The Reuse of Moved-from Object checker finds code that relies on and reuse the value of a moved-from object.\nMany types provided by the standard template library support move of objects by using std::move() function. Most object values are left in a valid, but unspecified state after the move operation, either move initialization or move assignment, is performed. Once the objects are moved-from, the only operations that can be safely performed on the object instances are the ones that has no preconditions. Because it is unknown whether the objects of the moved-from state satisfy the preconditions or not.\nEven if the objects are in valid after the moved-from state, their use may lead to unspecified behaviors.\nAvoid reusing the moved-from objects.",
  "rule.sast.sw.cpp.3070.example.0.dangerous": "Line 10: s is in moved-from state, but referenced in the next iteration again.",
  "rule.sast.sw.cpp.3070.example.0.safe": "Line 8: Initialize the object on each iteration to ensure that the moved-from object is never referenced again.",
  "rule.sast.sw.cpp.3070.name": "Reuse of Moved-from Object",
  "rule.sast.sw.cpp.3071.description": "The Use of placement new Operator on Improper Object checker finds placement new operation that allocates memory to an object that has not been checked for sufficient space or is not properly aligned.\nWhen a new expression is called for a given type, the default global new operator will attempt to allocate sufficient storage, and if successful, return a pointer. However, the default placement new operator simply returns the given pointer back to the caller without guaranteeing that there is sufficient space in which to construct the object.\nThe placement new operator can cause undefined behavior for an object that is not properly aligned. In addition, if smaller space is allocated than the required, the out-of-bound memory will be initialized, causing undefined behavior.\nMake sure to allocate sufficient space of the buffer when using the placement new operator. Also, use declaration specifiers such as alignas and ensure buffers to be properly aligned.",
  "rule.sast.sw.cpp.3071.example.0.dangerous": "Line 4: An undefined behavior occurs on the architecture where sizeof(short) &lt; sizeof(long) is not allocated with enough space.\nLine 8: The sufficient size of buffer is configured, but not properly aligned.",
  "rule.sast.sw.cpp.3071.example.0.safe": "Line 4: Allocate sufficient buffer space. Perform declaration with the alignas specifier to ensure that the buffer is aligned as long.",
  "rule.sast.sw.cpp.3071.name": "Use of placement new Operator on Improper Object",
  "rule.sast.sw.cpp.3072.description": "The Unhandled Exception from Statically Scoped Object Declaration checker finds an unhandled exception when an object is declared in static or thread-persistent scope, but not in a function block or constructor.\nNot all exceptions can be handled in C++. In particular, exceptions raised by constructors of objects in static scopes are not caught by a function-try-block. The unhandled exceptions must not be raised when the objects are declared in static scopes rather than in function blocks or constructors.\nIf object O is generated in the static scope and calls function list F while being created, the checker finds the object O that contains function G among the function list F, which does not satisfy either of the following conditions.\nDeclared using the noexcept keyword. \nDeclared using the noexcept(true) keyword.",
  "rule.sast.sw.cpp.3072.example.0.dangerous": "Line 2: An exception can be thrown by a constructor of HAEBMBE_S.\nLine 5: An exception can be thrown by a function HAEBMBE_F().\nLine 7: An unhandled exception can be thrown by a constructor of S when globalS object is generated in static scope.\nLine 8: An unhandled exception can be thrown by a function f() when variable i is initialized in static scope.",
  "rule.sast.sw.cpp.3072.example.0.safe": "Line 8: When the globalS() function is called for the first time, the constructor of S is called. At this point, an exception can be thrown while an object is generated.\nLine 15: The exception is handled: leaving a log message and ending the program when the HAEBMBE_F() function is called within the HAEBMBE_F_helper() function.",
  "rule.sast.sw.cpp.3072.name": "Unhandled Exception from Statically Scoped Object Declaration",
  "rule.sast.sw.cpp.3073.description": "The Pointer-to-member Operator for Non-existent Member Access checker finds code that uses a pointer-to-member operator to access to a non-existent member.\nThe pointer-to-member operators, such as . and ->, are used to get objects or function as members of the base objects. The C++ standard specifies the pointer-to-member operator as follows: In E1.*E2, E1 is called as the object expression. If the dynamic type of E1 does not contain the member to which E2 refers, an undefined behavior occurs. If an operand has a null pointer to a member value, an undefined behavior occurs. Therefore, do not use a pointer-to-member expression where the dynamic type of the first operand does not contain the member to which the second operand refers, including the use of a null pointer-to-member value as the second operand.\nWhen the dynamic type of the first operand does not contain the member variable or function, this results in undefined behavior.\nAvoid using operators on non-existent members.",
  "rule.sast.sw.cpp.3073.example.0.dangerous": "Line 14: A pointer-to-member object is brought by D::g, but is converted to B::* through upcast.\nLine 15: g is called by B class object. Since the g function is not defined in B, an undefined behavior occurs.",
  "rule.sast.sw.cpp.3073.example.0.safe": "Line 15: Use the objects and methods of the class D with the D::g instead of the parent class.",
  "rule.sast.sw.cpp.3073.name": "Pointer-to-member Operator for Non-existent Member Access",
  "rule.sast.sw.cpp.3077.description": "The Casting of Out-of-range Enum Value checker finds code that casts a value to enum, but fails to check its range within the range of the enum.\nIn C++, enumerations come in two forms: scoped enumerations where the underlying type is fixed, and unscoped enumerations where the underlying type may or may not be fixed. In general, values that are declared as enumeration types are represented by an less than 4 bytes integer type of explicitly assigned values. The values of the integer or enum type can be explicitly converted to enumerations.\nEnsure to check the range of values before casting them into enum.",
  "rule.sast.sw.cpp.3077.example.0.dangerous": "Line 7: Unvalidated intVar is cast into an enumeration EnumType with no ranges.",
  "rule.sast.sw.cpp.3077.example.0.safe": "Line 7: Check that the value can be represented as an enum before casting.",
  "rule.sast.sw.cpp.3077.name": "Casting of Out-of-range Enum Value",
  "rule.sast.sw.cpp.33.description": "The Buffer overflow checker finds instances of reading from or writing to memory out of an allocated buffer.\nThis type of fault includes the following situations: The address value is outside the bounds of the memory buffer. The faulty argument is a local variable.\nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen reading from or writing to a buffer, keep within its specified range. ",
  "rule.sast.sw.cpp.33.example.0.dangerous": "Line 2: Buffers for 10 int data is declared.(accessible indexes are from 0 to 9)\nLine 3: Index i is increased up to 10 through for statements.\nLine 6: The index is used to access to buf, which causes a buffer overflow.",
  "rule.sast.sw.cpp.33.example.0.safe": "Line 5: Prevent incorrect access by adding the condition that the value of i is greater than or equal to 0 and less than 10.\nLine 6: This code does not execute because the value of i is 10.",
  "rule.sast.sw.cpp.33.name": "Buffer overflow",
  "rule.sast.sw.cpp.34.description": "The Buffer overflow in wrong condition checker finds instances in which an improper conditional evaluation causes reading from or writing to memory out of an allocated buffer.\nThis type of fault includes the following situations: The address value is outside the bounds of the memory buffer. The index range is determined by an improper conditional evaluation. The faulty argument is a local variable. \nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen reading from or writing to a buffer, set conditions properly to keep within the specified range.",
  "rule.sast.sw.cpp.34.example.0.dangerous": "Line 2: Buffers for 10 int data is declared.(accessible indexes are from 0 to 9)\nLine 3: idx value is entered through scanf statement.\nLine 5: A buffer overflow error is caused by allowing idx 10 to access to the buffer through conditions.",
  "rule.sast.sw.cpp.34.example.0.safe": "Line 5: Set the conditions not to accept idx value, 10.",
  "rule.sast.sw.cpp.34.name": "Buffer overflow in wrong condition",
  "rule.sast.sw.cpp.351.description": "The Field buffer overflow in wrong condition checker finds instances in which an improper conditional evaluation causes reading from or writing to memory out of an allocated buffer.\nThis type of fault includes the following situations: The address value is outside the bounds of the memory buffer. The index range is determined by an improper conditional evaluation. The faulty argument is a field of a class or struct.\nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen reading from or writing to a buffer, set conditions properly to keep within the specified range.",
  "rule.sast.sw.cpp.351.example.0.dangerous": "Line 6: n is compared to 50.\nLine 7: n-1 is used as an index of type.b. This value is smaller than 50, a condition of Line 6. When the n-1 is equal or greater than 40, a buffer overflow can occur.",
  "rule.sast.sw.cpp.351.example.0.safe": "Line 6: Add a comparison of n-1 always smaller than 40.",
  "rule.sast.sw.cpp.351.name": "Field buffer overflow in wrong condition",
  "rule.sast.sw.cpp.352.description": "The Field buffer overflow checker finds instances of reading from or writing to memory out of an allocated buffer. \nThis type of fault includes the following situations: The address value is outside the bounds of the memory buffer. The faulty argument is a field of a class or struct.\nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen reading from or writing to a buffer, keep within its specified range.",
  "rule.sast.sw.cpp.352.example.0.dangerous": "Line 2: The size of array a of type_static struc is declared to 100.\nLine 6: An index value 98 is sent to foo2() function.\nLine 10: index+5 is used as an index of type_static.a. leading to a buffer overflow.",
  "rule.sast.sw.cpp.352.example.0.safe": "Line 6: Send an index value 20 to the foo2().\nLine 10: Set a limit to index ranges not to allow accesses to out of bounds of the array.",
  "rule.sast.sw.cpp.352.name": "Field buffer overflow",
  "rule.sast.sw.cpp.36.description": "The Buffer overflow in range-bound copy checker finds misuses of a function such as memcpy() or strncpy() that copies its specified size (length) of in-memory data.\nThe functions subject to detection includes memset(), bzero(), memcpy(), strncat(), wcsncat(), strncpy(), and wcsncpy().\nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen using a function that copies a specific size of in-memory data, make sure the specified range is kept.",
  "rule.sast.sw.cpp.36.example.0.dangerous": "Line 1: An array size of buf1 is declared as 100.\nLine 2: An array size of buf2 is declared as 200.\nLine 4: An out-of-ranged copy is performed with memcpy() function. The range to copy is 200, size of buf2, but size of buf1 is 100.",
  "rule.sast.sw.cpp.36.example.0.safe": "Line 4: Pass the copying range to 100, the buf1 size.",
  "rule.sast.sw.cpp.36.name": "Buffer overflow in range-bound copy",
  "rule.sast.sw.cpp.375.description": "The Cross-site scripting checker finds instances of including an external input in HTML without validating it.\nIf unvalidated external inputs are allowed for page generation, attackers can inject malicious scripts into the pages. This vulnerability lets attackers take over a user's cookie, session, or other information or execute an abnormal function.\nTo prevent external inputs from being used for scripts, use a text replacement function or method to substitute characters such as <, >, &, and \" with &lt;, &gt;, &amp;, and &quot;, respectively. For bulletin boards that allow using HTML tags, make a whitelist of allowable HTML tags.",
  "rule.sast.sw.cpp.375.example.0.dangerous": "Line 1: An external input is stored in cookieName variable.\nLine 2: An external input is stored in data variable.\nLine 4: External inputs are used by cgiHeaderCookieSetString(). The inputs are not validated before being used.",
  "rule.sast.sw.cpp.375.example.0.safe": "Line 4: Verify the cookieName variable.\nLine 5: Verify the data variable.\nLine 7: Use the external input validated through cgiHeaderCookieSetString() function.",
  "rule.sast.sw.cpp.375.name": "Cross-site scripting",
  "rule.sast.sw.cpp.376.description": "The Weak password requirements checker finds instances in which user passwords are accepted without checking for their complexity.\nFully numeric passwords, such as 123123, and some other simple passwords are vulnerable to brute-force attacks. If password patterns are not verified, users can use weak passwords.\nAdministrators can impose restrictions on users to use strong password patterns. For example, these can require to include a certain number of uppercase and lowercase letters, numerals, and special characters, or disallow consecutive identical characters. Refer to the password setting rules from \"KISA Cryptographic Usage Guidelines\".",
  "rule.sast.sw.cpp.376.example.0.dangerous": "Line 3: A password stored in pwd variable is not validated.\nLine 4: An unvalidated password is used to connect SQL.",
  "rule.sast.sw.cpp.376.example.0.safe": "Line 4: Perform a proper validation for pwd variable in condition.\nLine 5: Use a validated password to connect SQL.",
  "rule.sast.sw.cpp.376.name": "Weak password requirements",
  "rule.sast.sw.cpp.376.option.connect_function.description": "Write connection function names and password parameter position for checking weak password (FunctionName|PasswordParameterPosition).",
  "rule.sast.sw.cpp.376.option.connect_function.name": "SQL Connection function names",
  "rule.sast.sw.cpp.377.description": "The Use of Hash without Salt checker finds instances of calculating a hash without a salt.\nIf sensitive data is hashed without a salt, attackers can precalculate the hashes using rainbow tables to find original values.\nWhen hashing a password or other sensitive data, pass a salt to the hashing function and use the consequently returned hash value.",
  "rule.sast.sw.cpp.377.example.0.dangerous": "Line 4: A null pointer argument is used for a salt. Then, a hash has been executed without a salt.",
  "rule.sast.sw.cpp.377.example.0.safe": "Line 4: Use a valid argument for the salt.",
  "rule.sast.sw.cpp.377.name": "Use of Hash without Salt",
  "rule.sast.sw.cpp.377.option.hash_function.description": "Write hash function names and salt parameter position for checking whether have a salt.(HashFunctionName|SaltParameterPosition",
  "rule.sast.sw.cpp.377.option.hash_function.name": "Hash function name",
  "rule.sast.sw.cpp.378.description": "The Missing limit of login attempts checker finds instances of failure to implement a logic to limit the number of login attempts. \nYou can optionally specify the name of the login routine to enable the checker to identify the ID and password variables involved in the routine. The checker checks for a logic that ensure: Login attempts are controlled in a loop prior to a call to a login routine. If the attempt count is unlimited, the checker determines that login attempts are not properly controlled. The conditional expression in the loop uses one of the comparison operators: <, >, <=, and >=.\nIf login attempt count is not limited, attackers may succeed in login by a brute-force attack. This can give an unauthorized accessor a permission.\nA logic that limits login attempt count must be implemented. ",
  "rule.sast.sw.cpp.378.example.0.dangerous": "Line 1: Login attempts to enter login information is not limited.",
  "rule.sast.sw.cpp.378.example.0.safe": "Line 2: Limit the login attempts to enter the information.",
  "rule.sast.sw.cpp.378.name": "Missing limit of login attempts",
  "rule.sast.sw.cpp.378.option.id_regex.description": "Write regular expressions for checking identification variables.",
  "rule.sast.sw.cpp.378.option.id_regex.name": "Identification regular expressions.",
  "rule.sast.sw.cpp.378.option.pwd_regex.description": "Write regular expressions for checking password variables.",
  "rule.sast.sw.cpp.378.option.pwd_regex.name": "Password regual expressions.",
  "rule.sast.sw.cpp.379.description": "The TOCTOU race condition checker finds race conditions occurring between the time of checking a resource's state and the time of using it.\nWhen coding to check the state of a resource and access it based on the checked state, programmers often assume that the checked state will persist until the resource is accessed. But the resource's state can change between the check and the use. This can happen even in a non-multithreaded program because the state of resources such as files can be changed by other programs or the operating system. These race conditions can cause the program to perform invalid actions or throw an exception and may help attackers gain access to unauthorized resources.\nIf resource accessibility needs to be determined based on resource state, use approaches such as synchronization that ensure exclusive access to resources. Or, there are some APIs available that help implement actions handling file resources. They attempt the given resource action and return different results based on the resource's state.",
  "rule.sast.sw.cpp.379.example.0.dangerous": "Line 3: Resource states between access() and open() functions can be different, which is vulnerable.",
  "rule.sast.sw.cpp.379.example.0.safe": "Line 3: Use open() function to specify mode.\nLine 5: Use a file descriptor of the open() with fchmod() instead of chmod().",
  "rule.sast.sw.cpp.379.name": "TOCTOU race condition",
  "rule.sast.sw.cpp.380.description": "The Missing check of return value checker finds instances in which a function return is not used, or a function return is inspected but followed by no safeguards against possible errors. \nYou can optionally add functions subject to checking.\nIf a function return is not used, or an inspected return is left with no safeguards, the program may behave in an unexpected manner. Programmers often mis-assume that function calls never fail. But function calls may sometimes fail, and this can be exploited to attack the program or allow for security vulnerabilities.\nMake sure the specified functions' returns are inspected and safeguards are taken according to the inspection results.",
  "rule.sast.sw.cpp.380.example.0.dangerous": "Line 2: A return value is not checked.\nLine 3: A return value of fputs() is inspected, but left without a safequard.",
  "rule.sast.sw.cpp.380.example.0.safe": "Line 3: Check return values, and write code to handle errors.",
  "rule.sast.sw.cpp.380.name": "Missing check of return value",
  "rule.sast.sw.cpp.380.option.target_grp1.description": "Write functions in condition test list.",
  "rule.sast.sw.cpp.380.option.target_grp1.name": "Functions in condition test",
  "rule.sast.sw.cpp.380.option.target_grp2.description": "Write windows functions.",
  "rule.sast.sw.cpp.380.option.target_grp2.name": "errno functions",
  "rule.sast.sw.cpp.381.description": "The Download of code without integrity check checker finds instances of downloading an executable code without checking its origin or integrity.\nWhen providing a code that is to be downloaded, such as for automatic updates of software, failure to use cryptographic signatures allows for a security vulnerability. If the program downloads a risky executable file from a remote location and executes it at the client side without sufficiently verifying the origin and integrity of the code, an attacker can execute a malicious action.\nTake measures such as using a public-key algorithm to check code files for manipulation.",
  "rule.sast.sw.cpp.381.example.0.dangerous": "Line 5: File integrity is not checked through return values.",
  "rule.sast.sw.cpp.381.example.0.safe": "Line 6: Verify the return values to check the file integrity, then use them in a file.",
  "rule.sast.sw.cpp.381.name": "Download of code without integrity check",
  "rule.sast.sw.cpp.382.description": "The Reliance on untrusted inputs in security decisions checker finds instances of storing user credentials in a cookie.\nDevelopers may assume that inputs such as cookies, environment variables, and hidden form fields cannot be modified. However, an attacker could change these inputs using various approaches and this change might not be detected. When security decisions such as authentication and authorization are made based on the values of these inputs, attackers can bypass the security checks of the application. Therefore, inputs from external users should not be trusted.\nMake sure that critical information such as state information, sensitive data, and user sessions is stored in the server, and security checks are performed on the server side. Understand all the potential areas where untrusted inputs can enter your application. Identify all inputs that are used for security decisions and determine if you can modify the design so that you do not have to rely on submitted inputs at all.",
  "rule.sast.sw.cpp.382.example.0.dangerous": "Line 1: An insecure external value is passed from outside.\nLine 2: The insecure value is used to validate.",
  "rule.sast.sw.cpp.382.example.0.safe": "Line 1: Import the value from secure locations.\nLine 2: Verify with a secure value.",
  "rule.sast.sw.cpp.382.name": "Reliance on untrusted inputs in security decisions",
  "rule.sast.sw.cpp.382.option.gather_function.description": "Write functions that use external input, return value or parameter location(FunctionName|ParameterPosition). It uses return value if ParameterPosition is 0.",
  "rule.sast.sw.cpp.382.option.gather_function.name": "Functions that use external input",
  "rule.sast.sw.cpp.382.option.security_variable_regex.description": "Write the regular expression of the security decision variable.",
  "rule.sast.sw.cpp.382.option.security_variable_regex.name": "Security decision variable.",
  "rule.sast.sw.cpp.382.option.verification_function.description": "Write verification function.",
  "rule.sast.sw.cpp.382.option.verification_function.name": "Verification function",
  "rule.sast.sw.cpp.62.description": "The Field Buffer Underflow Caused by Improper Condition checker finds instances in which an improper condition triggers reading or writing below the lower bound of an object in memory.\nThis type of fault includes the following situations: A value is used that attempts to read from or write to a memory location lower than the specified range of indices. The argument range is determined by an improper condition. The faulty argument is a field of a class or struct.\nWhen reading from or writing to a buffer, set conditions properly to keep within the specified range. Buffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen reading from or writing to a buffer, set proper conditions and keep within its specified range.",
  "rule.sast.sw.cpp.62.example.0.dangerous": "Line 6: If index \"n-1\" is equal or smaller than 0, an underrun error causes.",
  "rule.sast.sw.cpp.62.example.0.safe": "Line 6: Because the buffer index needs to be larger than 0, or smaller than buffer size.",
  "rule.sast.sw.cpp.62.name": "Field Buffer Underflow Caused by Improper Condition",
  "rule.sast.sw.cpp.63.description": "The Field Buffer Underflow checker finds instances of reading or writing below the lower bound of an object in memory.\nThis type of fault includes the following situations: A value is used that attempts to read from or write to a memory location lower than the specified range of indices. The faulty argument is a field of a class or struct.\nWhen reading from or writing to a buffer, keep within its specified range. Buffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen reading from or writing to a buffer, keep within its specified range.",
  "rule.sast.sw.cpp.63.example.0.dangerous": "Line 5: -10 is assigned to an argument.\nLine 8: Another -5 is assigned to an index of type.a[], which causes an error.",
  "rule.sast.sw.cpp.63.example.0.safe": "Line 8: The buffer index needs to be larger than 0 or smaller than the buffer. Caution is needed particularly in argument settings.",
  "rule.sast.sw.cpp.63.name": "Field Buffer Underflow",
  "rule.sast.sw.cpp.64.description": "The Buffer Underflow checker finds instances of reading or writing below the lower bound of an object in memory.\nThis type of fault includes the following situations: A value is used that attempts to read from or write to a memory location lower than the specified range of indices. The faulty argument is a local variable.\nWhen reading from or writing to a buffer, keep within its specified range. Buffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen reading from or writing to a buffer, keep within its specified range.",
  "rule.sast.sw.cpp.64.example.0.dangerous": "Line 2: -20 is assigned to an argument.\nLine 6: -10 is assigned to an index of buf[], which causes an error.",
  "rule.sast.sw.cpp.64.example.0.safe": "Line 6: The buffer index needs to be larger than 0 or smaller than the buffer. Caution is needed particularly in argument settings.",
  "rule.sast.sw.cpp.64.name": "Buffer Underflow",
  "rule.sast.sw.cpp.6477.description": "Because alloca() allocates memory on the stack, it can cause stack overflows or unexpected behavior if used incorrectly within a loop.\nAvoid using stack memory allocation functions like alloca() within a loop; if necessary, you should preallocate memory outside of the loop or use heap memory to manage memory.",
  "rule.sast.sw.cpp.6477.example.0.dangerous": "Line 6: alloca() is called inside a loop, which is dangerous.",
  "rule.sast.sw.cpp.6477.example.0.safe": "Line 5: We're safe because we're not calling alloca() inside the iterator.",
  "rule.sast.sw.cpp.6477.name": "Improper sequential memory allocation",
  "rule.sast.sw.cpp.6478.description": "The singleton pattern ensures that only one instance of a class exists, but when used without synchronization in a multi-threaded environment, multiple instances can be created. This can compromise data integrity and result in unexpected behavior.\nWhen using the singleton pattern in a multi-threaded environment, you should apply a synchronization mechanism to ensure that only one instance is created. To do this, you can use std::mutex, std::lock, std::lock_guard, std::unique_lock, std::call_once, etc. provided by the standard library.",
  "rule.sast.sw.cpp.6478.example.0.dangerous": "Line 11: No synchronization library is used within the static method, which is dangerous.",
  "rule.sast.sw.cpp.6478.example.0.safe": "Line 13: Use call_once() in the static method for synchronization, so it's safe.",
  "rule.sast.sw.cpp.6478.name": "Using multithreading without synchronization in the Singleton pattern",
  "rule.sast.sw.cpp.65.description": "The Buffer Underflow Caused by Improper Condition checker finds instances in which an improper condition triggers reading from or writing below the lower bound of an object in memory.\nThis type of fault includes the following situations: A value is used that attempts to read from or write to a memory location lower than the specified range of indices. The argument range is determined by an improper condition. The faulty argument is a local variable. \nWhen reading from or writing to a buffer, set conditions properly to keep within the specified range. Buffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen reading from or writing to a buffer, set conditions properly to keep within the specified range.",
  "rule.sast.sw.cpp.65.example.0.dangerous": "Line 2: x is compared to -20.\nLine 3: An argument value is assigned to foo2().\nLine 7: An index value of str[] is set to smaller than -20, which causes an error.",
  "rule.sast.sw.cpp.65.example.0.safe": "Line 2: The buffer index needs to be larger than 0, or smaller than buffer size. Because the index size of str[] is 11 without nulls, set size of n between 0 to 10.",
  "rule.sast.sw.cpp.65.name": "Buffer Underflow Caused by Improper Condition",
  "rule.sast.sw.cpp.67.description": "The Format string injection checker finds type mismatches between format specifiers and their corresponding arguments.\nThe format specifiers used in C programming are as follows: Int type: d, i unsigned int type: u double type: f, F, e, E, g, G, a, A unsigned int type: x, X, o char pointer or string type: s char type: c void pointer type: p The Length field can be one of the following: hh: Promotes char to int. h: Promotes short to int. l: For integer types, causes to expect long; for floating point types, causes to expect double.ll: For integer types, causes to expect long long.L: For floating point types, causes to expect long double.\nFormat string issues may allow for program information leaks or external attacks. For example, if a printf() call's format specifiers and arguments match in type, no issues arise. However, failure in matching their types may let in-memory data exposed. In addition, the exposed memory area may allow for code injection, threatening security.\nFix the mismatches between format specifiers and the types of their arguments. You can change either format specifiers or the types of arguments.",
  "rule.sast.sw.cpp.67.example.0.dangerous": "Line 4: A format string of buf string is \"%s.\" \"%d\" of int format string is used.",
  "rule.sast.sw.cpp.67.example.0.safe": "Line 4: Fix the format string as specified.",
  "rule.sast.sw.cpp.67.name": "Format string injection",
  "rule.sast.sw.cpp.67.option.proframe_targets.description": "Write a function to check for format strings of type number_s.",
  "rule.sast.sw.cpp.67.option.proframe_targets.name": "Functions to analyze when analyzing a frame.",
  "rule.sast.sw.cpp.67.option.targets.description": "only checks within below list.",
  "rule.sast.sw.cpp.67.option.targets.name": "string format function to analyze.",
  "rule.sast.sw.cpp.75.description": "The Exposure of system information checker finds instances in which the program's sensitive internal information may be exposed through such means as an error message.\nThe checker reports a defect when an error message exposes the program's internal information regarding the environment, users, and relevant data. An alarm may be triggered from the use of the printf() and fprintf() functions.\nIf a thrown error exposes its details or other program information, it helps attackers figure out the program's structure. And if environmental variables are displayed, the information defined by those variables can be exposed to attackers. Therefore, it is recommended to restrain from printing out error messages unless for debugging purposes.\nWhen using printf() or fprintf(), make sure not to leak information.",
  "rule.sast.sw.cpp.75.example.0.dangerous": "Line 2: A path of an environment variable is loaded and assigned, which is vulnerable to expose.\nLine 3: A path of an environment variable is exposed, which is vulnerable.",
  "rule.sast.sw.cpp.75.example.0.safe": "Line 3: Remove the statement with fprint() function. Use the function to print out the error message only for debugging purpose.",
  "rule.sast.sw.cpp.75.name": "Exposure of system information",
  "rule.sast.sw.cpp.75.option.sink_call.description": "Write the name of the function causing risks when containing sensitive information.<br />Example) printf",
  "rule.sast.sw.cpp.75.option.sink_call.name": "Function leaking sensitive information",
  "rule.sast.sw.cpp.75.option.source_call.description": "Specify functions that receives sensitive information.<br />Example) getenv",
  "rule.sast.sw.cpp.75.option.source_call.name": "Function receiving sensitive information",
  "rule.sast.sw.cs.1633.description": "The Hardcoded user name and password checker finds instances of passing a string constant to a parameter that represents a password.\nIt is risky to write a user account directly in the code for outbound communication to external components or inbound authentication. It is hard for administrators to catch attackers accessing the system and stealing hardcoded user accounts, and whenever a user account or password is changed, a new deployment is required.\nDo not use hardcoded usernames and passwords.",
  "rule.sast.sw.cs.1633.example.0.dangerous": "Line 6: A hardcoded const string is used in System.Data.SqlClient.SqlConnection to connect database.",
  "rule.sast.sw.cs.1633.example.0.safe": "Line 6: Instead of the hardcoded const string, use ConfigurationManager to import data from setting files.",
  "rule.sast.sw.cs.1633.name": "Hardcoded user name and password",
  "rule.sast.sw.cs.1639.description": "The Non-ASCII character used in file name and path checker finds instances of including a non-ASCII character in a file name or path.\nAlthough it is rare on modern operating systems, a file path that includes a non-ASCII character can cause system malfunctions and failure to access the file in some system environments. Also, when a file path is accessed from a command-line interface, special characters in it can disrupt the correct parsing of the command and thus allow for attacks.\nMake sure paths to a file system do not contain strange characters.",
  "rule.sast.sw.cs.1639.example.0.dangerous": "Line 4: A non-ASCII character is used to a file name.",
  "rule.sast.sw.cs.1639.example.0.safe": "Line 4: Use ASCII characters only in the file name.",
  "rule.sast.sw.cs.1639.name": "Non-ASCII character used in file name and path",
  "rule.sast.sw.cs.1640.description": "The Integer Overflow checker finds instances in which the result of an arithmetic operation exceeds the size of the given integer type.\nIf the result is out of the range of the integer type, an overflow occurs to return a negative number or an unexpected value. If such an unexpected return value is used for memory allocation or a loop conditional, the program may become vulnerable to security threats.\nYou must consider the ranges of integer types specific to each language or platform. When an integer-type variable is used in an operation, use a module that checks the possible range of the result value. If an external input is used for dynamic memory allocation, the variable must be checked for being within the valid range.",
  "rule.sast.sw.cs.1640.example.0.dangerous": "Line 5: A value is dynamically evaluated from an external input args[0], then used to determine the array size. When the array size is evaluated to a negative due to an overflow, which can cause a problem on the system.",
  "rule.sast.sw.cs.1640.example.0.safe": "Line 4: Verify the external input value used as an index of arrays.",
  "rule.sast.sw.cs.1640.name": "Integer Overflow",
  "rule.sast.sw.cs.1641.description": "The Missing XML validation checker finds instances of creating an XML document from an external input without validating it.\nThe use of an XML document created from an external input without validating it can allow for attacks. XML inputs must be checked for the validity of the XML schemas and DTDs.\nValidate XML documents created from external inputs before using them.",
  "rule.sast.sw.cs.1641.example.0.dangerous": "Line 8: An XML schema or DTD is not verified for a created XML.",
  "rule.sast.sw.cs.1641.example.0.safe": "Line 8: Use XmlDocument.Validate() method to verify XML schema or DTD.",
  "rule.sast.sw.cs.1641.name": "Missing XML validation",
  "rule.sast.sw.cs.1645.description": "The Use of Hash without Salt checker finds instances of calculating a hash without a salt.\nIf sensitive data is hashed without a salt, attackers can precalculate the hashes using rainbow tables to find original values.\nWhen hashing a password or other sensitive data, pass a salt to the hashing function and use the consequently returned hash value.",
  "rule.sast.sw.cs.1645.example.0.dangerous": "Line 1: A hash for a password is loaded without salt for storing the password.",
  "rule.sast.sw.cs.1645.example.0.safe": "Line 1: Use the password and salt as arguments of the hash function to evaluate the hash.",
  "rule.sast.sw.cs.1645.name": "Use of Hash without Salt",
  "rule.sast.sw.cs.1844.description": "The Public data assigned to private array checker finds instances of storing an externally accessible array object in a private array field.\nIf an array field declared private assumes an externally accessible object, the private array also becomes externally accessible, practically disabling the access control. This may result in user data or other restricted information exposed, leading to a serious security issue.\nA private array field must assume an array created directly in a class. When passing external data to an array, do not store the array object itself, but store a copy of its individual elements.",
  "rule.sast.sw.cs.1844.example.0.dangerous": "Line 10: UserRoles field is declared as private.\nLine 14: When an external array is assigned by setUserRoles() method declared as public, userRoles can be accessed into from outside.",
  "rule.sast.sw.cs.1844.example.0.safe": "Line 15: Instead of assigning the array itself, copy elements of the array.",
  "rule.sast.sw.cs.1844.name": "Public data assigned to private array",
  "rule.sast.sw.cs.1845.description": "The Private collection returned by public method checker finds instances in which a non-private method returns a private-declared array or collection field's object.\nIf a private-declared collection object is returned by a public method, the object's address is exposed externally, allowing the object to be manipulated from the outside.\nDo not have a private collection object returned as it is by a public method. If such an implementation is needed, return a copy of it instead, or define another public method that controls access and modification to the data of the private collection.",
  "rule.sast.sw.cs.1845.example.0.dangerous": "Line 18: The private field colors and secureName is returned by public method from Line 18 and 23.",
  "rule.sast.sw.cs.1845.example.0.safe": "Line 18: Copy colors and secureName, and return them to prevent manipulating.",
  "rule.sast.sw.cs.1845.name": "Private collection returned by public method",
  "rule.sast.sw.cs.1846.description": "The Name-based Type Check checker finds instances of determining an object's type based on its class name.\nIf an attacker injects an identically named class or there exist multiple classes that have the same name, the program may malfunction.\nInstead of the class name string, use the Type object or other means to identify the type.",
  "rule.sast.sw.cs.1846.example.0.dangerous": "Line 12: A type is checked by a class name string someThing.Special.",
  "rule.sast.sw.cs.1846.example.0.safe": "Line 12: Instead of the class name string, use the Type object or other means to identify the type.",
  "rule.sast.sw.cs.1846.name": "Name-based Type Check",
  "rule.sast.sw.cs.1847.description": "The Improper authorization checker finds code that fails to fully control accesses of execution paths after user authentication.\nIf validation for access control is not performed or completed for all execution paths, attackers can exploit the accessible path to leak information.\nCategorize information of the application based on its features to reduce attack surfaces, exposed to attackers, as much as possible. Also, manage access control list (ACL) of the application based on user permissions to reduce risk to leak the information.",
  "rule.sast.sw.cs.1847.example.0.dangerous": "Line 8: A method is exposed to all users; this method needs to be restricted on users.",
  "rule.sast.sw.cs.1847.example.0.safe": "Line 7: By using AuthorizeAttribute class, restrict access to an action method rendering its view to control access to ASP.NET MVC views.",
  "rule.sast.sw.cs.1847.name": "Improper authorization",
  "rule.sast.sw.cs.1847.option.authz_needed_class.description": "Write class names which need authorization.",
  "rule.sast.sw.cs.1847.option.authz_needed_class.name": "Authorization-critical classes",
  "rule.sast.sw.cs.1847.option.authz_needed_method.description": "Write method names which need authorization.",
  "rule.sast.sw.cs.1847.option.authz_needed_method.name": "Authorization-critical methods",
  "rule.sast.sw.cs.1847.option.custom_authz_attribute.description": "Write customized authorize attribute if any.",
  "rule.sast.sw.cs.1847.option.custom_authz_attribute.name": "Custom authorization attribute.",
  "rule.sast.sw.cs.1848.description": "The Missing login control checker finds instances of failure to implement a logic to limit the number of login attempts.\nYou can optionally specify the name of the login routine to enable the checker to identify the ID and password variables involved in the routine. The checker checks for a logic that ensure: Login attempts are controlled in a loop prior to a call to a login routine. If the attempt count is unlimited, the checker determines that login attempts are not properly controlled. The conditional expression in the loop uses one of the comparison operators: <, >, <=, and >=. \nIf login attempt count is not limited, attackers may succeed in login by a brute-force attack. This can give an unauthorized accessor a permission.\nA logic that limits login attempt count must be implemented.",
  "rule.sast.sw.cs.1848.example.0.dangerous": "Line 14: No action is taken for a login error caused by OnLoginError.",
  "rule.sast.sw.cs.1848.example.0.safe": "Line 19: If LoginErrors is caused more than three times, reconnect to PasswordRecovertUrl.",
  "rule.sast.sw.cs.1848.name": "Missing login control",
  "rule.sast.sw.cs.1848.option.login_classes.description": "Write down class which contains the functionality for the login.",
  "rule.sast.sw.cs.1848.option.login_classes.name": "Login Classes",
  "rule.sast.sw.cs.1848.option.login_error_event_handlers.description": "Write down login error event handler.",
  "rule.sast.sw.cs.1848.option.login_error_event_handlers.name": "Login Error Event Handler",
  "rule.sast.sw.cs.1849.description": "The Missing authentication for critical function checker finds instances of failure to perform authentication for critical functions.\nYou can optionally specify critical functions subject to checking and how to control authentication.\nIt is risky to allow those not properly authenticated to access or modify critical information (bank accounts, personal data) or to use functions that consume a significant amount of resources. Protect the server against attackers bypassing the client-side checks, and require re-authentication for access to critical pages such as wire transfer. Additionally, consider using libraries with authentication capabilities such as OpenSSL or the ESAPI Authenticator.\nRequire authentication before giving access to critical functions.",
  "rule.sast.sw.cs.1849.example.0.dangerous": "Line 16: Re-authentication process is not found.",
  "rule.sast.sw.cs.1849.example.0.safe": "Line 16: Add re-authentication logic.",
  "rule.sast.sw.cs.1849.name": "Missing authentication for critical function",
  "rule.sast.sw.cs.1849.option.authentication_functions.description": "Write authentication methods.",
  "rule.sast.sw.cs.1849.option.authentication_functions.name": "Authentication method",
  "rule.sast.sw.cs.1849.option.critical_functions.description": "Write authentication-critical methods.",
  "rule.sast.sw.cs.1849.option.critical_functions.name": "Authentication-critical methods",
  "rule.sast.sw.cs.1850.description": "The Password in comment checker finds comments that contain password information.\nOptionally specified password information contained in comments can be exposed to attackers. So, this practice may allow for security threats to the system. Passwords are often written in comments for development convenience, but they are hard to remove once the software is deployed into production. Do not include IDs, passwords, and other security-sensitive information in comments. If an attacker can access the source code or use reverse engineering to view the code, the attacker will be able to easily intrude the system.\nEliminate password information in comments.",
  "rule.sast.sw.cs.1850.example.0.dangerous": "Line 13: An optionally specified sensitive information such as \"password\" is included in comments.",
  "rule.sast.sw.cs.1850.example.0.safe": "Line 13: Remove the password from the comments.",
  "rule.sast.sw.cs.1850.name": "Password in comment",
  "rule.sast.sw.cs.1850.option.sensitive_data.description": "Write sensitive data pattern.",
  "rule.sast.sw.cs.1850.option.sensitive_data.name": "Sensitive Information Pattern",
  "rule.sast.sw.cs.1852.description": "The XSLT Injection checker finds instances of transforming XML data using an unvalidated XSLT style sheet..\nIf unvalidated XSL transformation commands are allowed, attackers may access arbitrary files in a file system or have malicious scripts executed in a user's browser.\nMake sure only trusted XSLT style sheets are used for transformation",
  "rule.sast.sw.cs.1852.example.0.dangerous": "Line 18: A style sheet with an external input is used to convert.",
  "rule.sast.sw.cs.1852.example.0.safe": "Line 18: Use the prepared, trusted style sheet to convert.",
  "rule.sast.sw.cs.1852.name": "XSLT Injection",
  "rule.sast.sw.cs.1853.description": "The Data Leak between Sessions checker finds instances in which a field is declared in a class implementing the IHttpHandler interface in a multithreaded environment.\nIf a field is declared in an IHttpHandler class, a race condition may occur over the information stored in the field when the http handler is executed in a multithreaded environment.\nDo not declare a member field in an IHttpHandler implementing class unless this is inevitable; instead, declare a local variable.",
  "rule.sast.sw.cs.1853.example.0.dangerous": "Line 11: A field variable is included to a class of multithreaded environment to implement IHttpHandler.",
  "rule.sast.sw.cs.1853.example.0.safe": "Line 14: A race condition can occur in the singleton object fields for the environment. Ensure a field to store data not to be included to a class to implement IHttpHandler in the environment. Then, other sessions cannot access to data in this session. Declare a local or session variable instead of the member field, if needed.",
  "rule.sast.sw.cs.1853.name": "Data Leak between Sessions",
  "rule.sast.sw.cs.1855.description": "The Hardcoded cryptographic key checker finds encryption keys hardcoded in source code.\nHardcoded encryption keys present in source code can be used to decrypt ciphertext data back into the original information in case it leaks. Encryption keys are often hardcoded in the wrong assumption that their exposal poses no significant security threat, although some hash functions can possibly be reversed by brute-force attacks. In addition, hardcoded encryption keys are not easy to change.\nMake sure encryption keys never assume constant values. And, even if in ciphertext, they should not be hardcoded in source code.",
  "rule.sast.sw.cs.1855.example.0.dangerous": "Line 10: A hardcoded const array is transferred to CreateEncryptor method.",
  "rule.sast.sw.cs.1855.example.0.safe": "Line 12: Use the secure key which is auto-generated.",
  "rule.sast.sw.cs.1855.name": "Hardcoded cryptographic key",
  "rule.sast.sw.cs.1857.description": "The Download of code without integrity check checker finds instances of downloading an executable code without checking its origin or integrity.\nWhen providing a code that is to be downloaded, such as for automatic updates of software, failure to use cryptographic signatures allows for a security vulnerability. If the program downloads a risky executable file from a remote location and executes it at the client side without sufficiently verifying the origin and integrity of the code, an attacker can execute a malicious action.\nTake measures such as using a public-key algorithm to check code files for manipulation.",
  "rule.sast.sw.cs.1857.example.0.dangerous": "Line 3: The code cannot be guaranteed to be correctly loaded without checking its code integrity.",
  "rule.sast.sw.cs.1857.example.0.safe": "Line 10: Check code integrity by executing strong-named assembly before loading the class.",
  "rule.sast.sw.cs.1857.name": "Download of code without integrity check",
  "rule.sast.sw.cs.1858.description": "The TOCTOU race condition checker finds race conditions occurring between the time of checking a resource's state and the time of using it.\nWhen coding to check the state of a resource and access it based on the checked state, programmers often assume that the checked state will persist until the resource is accessed. But the resource's state can change between the check and the use. This can happen even in a non-multithreaded program because the state of resources such as files can be changed by other programs or the operating system. These race conditions can cause the program to perform invalid actions or throw an exception and may help attackers gain access to unauthorized resources.\nIf resource accessibility needs to be determined based on resource state, use approaches such as synchronization that ensure exclusive access to resources. Or, there are some APIs available that help implement actions handling file resources. They attempt the given resource action and return different results based on the resource's state.",
  "rule.sast.sw.cs.1858.example.0.dangerous": "Line 3: A file is deleted after Exists() function is called. The file has a different access point.",
  "rule.sast.sw.cs.1858.example.0.safe": "Line 6: Instead of Exists() function, reference return values or verify the file with exception.",
  "rule.sast.sw.cs.1858.name": "TOCTOU race condition",
  "rule.sast.sw.cs.1859.description": "The Incorrect permission assignment for critical resource checker finds instances of allowing users other than software administrators to read or write to security-critical resources such as configuration files, executables, and libraries.\nA misuse of a method such as DirectorySecurity.AddAccessRule() may result in non-administrators assigned with a read or white permission for a configuration file, executable, or library.\nIf the software specifies inappropriate permissions for a security-critical resource in a way that allows that resource to be read or edited, unintended users can have control of it.\nFor critical resources, grant access permissions only to necessary users.",
  "rule.sast.sw.cs.1859.example.0.dangerous": "Line 10: A privileged right to handle sensitive files is granted to all users.",
  "rule.sast.sw.cs.1859.example.0.safe": "Line 10: For critical resources, grant access permissions only to necessary users.",
  "rule.sast.sw.cs.1859.name": "Incorrect permission assignment for critical resource",
  "rule.sast.sw.cs.2213.description": "The Weak Security Requirements for Serialization Implementation checker finds code that a serialization constructor is not secured by security checks for regular constructors.\nBy inheriting the System.Runtime.Serialization.ISerializable interface, you can implement custom serialization. When writing a class that implements custom serialization in an assembly allowing partially trusted callers (AllowPartiallyTrustedCallers), you need to protect your custom serialization constructor with all security checks that present on regular constructors.\nBecause the serialization constructor allocates and initializes objects, security checks that are present on regular constructors must also be present on the serialization constructor. If you violate this rule, callers that could not otherwise create an instance could use the serialization constructor to do this.\nProtect the serialization constructor with security demands that are identical to those protecting other constructors.",
  "rule.sast.sw.cs.2213.example.0.dangerous": "Line 16: A certain requirement for the privileged right is required to all users.\nLine 23: As this requirement is not granted to serialization constructor, it can be bypassed.",
  "rule.sast.sw.cs.2213.example.0.safe": "Line 22: Grant the conditions granted to the generic constructor to the serialization constructor.",
  "rule.sast.sw.cs.2213.name": "Weak Security Checks on Serialization Implementation",
  "rule.sast.sw.cs.2691.description": "The Empty password checker finds code that uses an empty value for password initialization.\nSecurity of a system depends on passwords. Using empty passwords makes the system vulnerable for attacks.\nDo not use empty passwords.",
  "rule.sast.sw.cs.2691.example.0.dangerous": "Line 15: An initialization vector, an argument of NetworkCredential() function is empty.\nLine 20: A password of vuln_myCred is initialized to an empty value.",
  "rule.sast.sw.cs.2691.example.0.safe": "Line 15: Use an externally imported password as the argument of NetworkCredential().",
  "rule.sast.sw.cs.2691.name": "Blank Password",
  "rule.sast.sw.cs.2692.description": "The Hardcoded HMAC Private Key checker finds code that uses a hardcoded HMAC private key.\nA privileged user to access to source code can get the HMAC private key. If the private key is leaked, HMAC functions also get vulnerable.\nDo not hardcode HMAC private keys.",
  "rule.sast.sw.cs.2692.example.0.dangerous": "Line 17: An HMAC private key 'key' is hardcoded.\nLine 18: An HMAC private key 'key' is hardcoded.",
  "rule.sast.sw.cs.2692.example.0.safe": "Line 15: Use an externally imported value for the HMAC private key.",
  "rule.sast.sw.cs.2692.name": "Hardcoded HMAC Private Key",
  "rule.sast.sw.cs.2692.option.hmac_algorithm.description": "Enter HMAC algorithm you want to detect.",
  "rule.sast.sw.cs.2692.option.hmac_algorithm.name": "HMAC algorithm.",
  "rule.sast.sw.cs.2693.description": "The Hardcoded Initialization Vector finds instances of using a hardcoded initialization vector.\nAn initialization vector needs to generate through a cryptographically secure random number generator. An encryption statement with hardcoded initialization vector (IV) is predictable and vulnerable to dictionary attacks.\nDo not hardcode an initialization vector.",
  "rule.sast.sw.cs.2693.example.0.dangerous": "Line 12: A private key 'key' of encryption algorithm class 'rijn' is hardcoded.",
  "rule.sast.sw.cs.2693.example.0.safe": "Line 12: Use an externally imported value for the initialization vector.",
  "rule.sast.sw.cs.2693.name": "Hardcoded Initialization Vector",
  "rule.sast.sw.cs.2696.description": "The Empty HMAC Private Key checker finds code that uses an empty key for the HMAC function.\nEncryption strength of a HMAC depends on its private key size. An empty private key may lead to vulnerability of HMAC function.\nEnsure the HMAC private key not to be empty.",
  "rule.sast.sw.cs.2696.example.0.dangerous": "Line 25: An HMAC private key 'key' is empty.\nLine 26: An HMAC private key 'key' is empty.",
  "rule.sast.sw.cs.2696.example.0.safe": "Line 23: Use an externally imported value for the HMAC private key.",
  "rule.sast.sw.cs.2696.name": "Empty HMAC Private Key",
  "rule.sast.sw.cs.2696.option.hmac_algorithm.description": "Enter HMAC algorithm you want to detect.",
  "rule.sast.sw.cs.2696.option.hmac_algorithm.name": "HMAC algorithm.",
  "rule.sast.sw.cs.2701.description": "The Key Derivation Function with Blank Password checker finds instances of using a password based key derivation function as an empty password.\nUsing a password based key derivation function as an empty password makes a key to be generated by its salt only. This lowers entropy of results, and enables attackers to predict the key.\nPass the password for the password based key derivation function.",
  "rule.sast.sw.cs.2701.example.0.dangerous": "Line 15: An empty password is passed when generating object Rfc2898DeriveBytes of a password based key derivation function.",
  "rule.sast.sw.cs.2701.example.0.safe": "Line 15: Pass a proper password for generating the key derivation function.",
  "rule.sast.sw.cs.2701.name": "Key Derivation Function with Blank Password",
  "rule.sast.sw.cs.2702.description": "The Key Derivation Function with Hardcoded Password checker finds instances of using a password based key derivation function for hardcoded password.\nUsing a password based key derivation function as a hardcoded password allows developers to view the key, and raises a chance to leak.\nDo not use a constant as an encryption key for a password based key derivation function.",
  "rule.sast.sw.cs.2702.example.0.dangerous": "Line 17: A hardcoded password is passed when generating object Rfc2898DeriveBytes of a password based key derivation function.",
  "rule.sast.sw.cs.2702.example.0.safe": "Line 11: Use an externally imported password for the password based key derivation function.",
  "rule.sast.sw.cs.2702.name": "Key Derivation Function with Hardcoded Password",
  "rule.sast.sw.cs.2703.description": "The Use of Unsafe DLL checker finds instances to load unvalidated DLLs.\nYou can optionally specify a list of secure DLLs.\nA dll file contains assembly languages written in different languages or generated by unvalidated source code. Therefore, security cannot be guaranteed for a DLL written in an unsupported language or unable to access to its source code.\nUse validated dll files only, which are optionally specified.",
  "rule.sast.sw.cs.2703.example.0.dangerous": "Line 8: An unvalidated yourdll.dll file is loaded.",
  "rule.sast.sw.cs.2703.example.0.safe": "Line 9: Load a validated user32.dll file.",
  "rule.sast.sw.cs.2703.name": "Use of Unsafe DLL",
  "rule.sast.sw.cs.2703.option.exception_dll.description": "Enter exceptional DLL.",
  "rule.sast.sw.cs.2703.option.exception_dll.name": "Exceptional DLL",
  "rule.sast.sw.cs.2704.description": "The Missing header file checker finds code that disables a feature of header check.\nSetting EnableHeaderChecking to False may allow for header forgery attacks. Do not set EnableHeaderChecking attribute to False.\nSet EnableHeaderChecking attribute to True.",
  "rule.sast.sw.cs.2704.example.0.dangerous": "Line 15: EnableHeaderChecking attribute is set to False.",
  "rule.sast.sw.cs.2704.example.0.safe": "Line 7: Set EnableHeaderCheking to true. A default of the EnableViewStateMac is true, without additional code, do not change the setting.",
  "rule.sast.sw.cs.2704.name": "Missing header file",
  "rule.sast.sw.cs.2705.description": "The Disabling of EnableViewStateMac checker finds instances of disabling the EnableViewStateMac attribute to false.\nThe EnableViewStateMac attribute determines to perform Machine Authentication Check (MAC) of ViewState for reloading a web page from a client in ASP.NET. MSDN recommends not to set the EnableViewStateMac attribut to false. (https://docs.microsoft.com/en-us/dotnet/api/system.web.ui.page.enableviewstatemac)\nDo not set EnableViewStateMac attribut to true.",
  "rule.sast.sw.cs.2705.example.0.dangerous": "Line 17: EnableViewStateMac attribute is set to false.\nLine 19: EnableViewStateMac attribute is set to false.",
  "rule.sast.sw.cs.2705.example.0.safe": "Line 7: Set the EnableViewStateMac to true. A default of the EnableViewStateMac is true, without additional code, do not change the setting.",
  "rule.sast.sw.cs.2705.name": "Disabling of EnableViewStateMac",
  "rule.sast.sw.cs.2708.description": "The Use of Predictable Salt checker finds code that uses an easily predictable salt.\nRfc2898DeriveBytes is a concrete class of password based key derivation function (PBKDF2). Using the predictable salts, attackers can exploit tables to find out passwords. The checker searches for predictable salts, for example, when a salt is set to the same value with its password.\nUsing the predictable salts, attackers can exploit tables to find out passwords.\nSpecify unpredictable salts.",
  "rule.sast.sw.cs.2708.example.0.dangerous": "Line 18: A salt is set to the same value with a password.\nLine 19: A salt is set to the same value with a password.",
  "rule.sast.sw.cs.2708.example.0.safe": "Line 15: Set different values for salt and password.",
  "rule.sast.sw.cs.2708.name": "Use of Predictable Salt",
  "rule.sast.sw.cs.2710.description": "The Key Derivation Function with Insecure Iteration Count checker finds code that uses too low iteration count for a password-based key derivation function.\nLow iteration count cannot guarantee entropy of password hash for the password-based key derivation function. It is recommended to use 10,000 or more iteration count for security purpose.\nEnsure to use a full iteration count of hash.",
  "rule.sast.sw.cs.2710.example.0.dangerous": "Line 17: Insufficient iteration count of hash.\nLine 20: The hash in the third argument of the Rfc2898DeriveBytes constructor is not sufficiently iterated.",
  "rule.sast.sw.cs.2710.example.0.safe": "Line 15: Set 10,000 or more count to iterate hash.",
  "rule.sast.sw.cs.2710.name": "Key Derivation Function with Insecure Iteration Count",
  "rule.sast.sw.cs.2710.option.iter_num.description": "Enter minimum iteration count",
  "rule.sast.sw.cs.2710.option.iter_num.name": "Minimum iteration count",
  "rule.sast.sw.cs.2712.description": "The Inappropriate RSA Padding checker finds RSA padding schemes that are inappropriate for the RSA algorithm.\nCode gets vulnerable by encrypting RSACryptoServiceProvider class without OAEP padding. Do not pass false as the second argument of Encrypt(Byte[], Boolean) method.\nProper RSA padding ensures secure encryption. Therefore, use a padding scheme that is secure enough to meet the recommendations.\nIt is recommended to use OAEP.",
  "rule.sast.sw.cs.2712.example.0.dangerous": "Line 44: The second argument of 'Encrpyt()' is set to false in RSA of RSACryptoServiceProvider instance.",
  "rule.sast.sw.cs.2712.example.0.safe": "Line 3: Set the second argument of 'Encrpyt()' to true in RSA of RSACryptoServiceProvider instance.",
  "rule.sast.sw.cs.2712.name": "Inappropriate RSA Padding",
  "rule.sast.sw.cs.2714.description": "The Use of Anonymous LDAP Binding checker finds instances of using anonymous binding to execute an LDAP query.\nIf the anonymous binding is allowed without user authentication, a user's information can be accessed externally.\nMake sure the LDAP binding is performed with the username and password provided.",
  "rule.sast.sw.cs.2714.example.0.dangerous": "Line 12: If a client is attempted to connect with LDAP binding, anonymous LDAP access can be allowed by its server.So, the server settings need to be changed to prevent attackers from gaining access to the LDAP directory.",
  "rule.sast.sw.cs.2714.example.0.safe": "Line 12: If anonymous access to the LDAP server is not allowed, delete the code to access from the client to the server anonymously: it is meaningless.",
  "rule.sast.sw.cs.2714.name": "Use of Anonymous LDAP Binding",
  "rule.sast.sw.cs.2721.description": "The Non-HttpOnly cookie checker finds instances in which the HttpOnly flag for a cookie is set enabled.\nIf this attribute is off, scripts cannot be prevented from accessing the cookie and attackers can easily access it.\nSet HttpOnly attribute to on for the cookie.",
  "rule.sast.sw.cs.2721.example.0.dangerous": "Line 19: HttpOnly property is not set to true for vulnCookie of HttpCookie instance.",
  "rule.sast.sw.cs.2721.example.0.safe": "Line 19: Modify the HttpOnly property of the cookie to true.",
  "rule.sast.sw.cs.2721.name": "Non-HttpOnly cookie",
  "rule.sast.sw.cs.2722.description": "The Use of cookie with overly broad domain checker finds instances of using a cookie with a domain set to an overly broad domain.\nDevelopers often set cookies to be active across a base domain such as `.example.com`. This exposes the cookie to all web applications on the base domain and any subdomains. Because cookies often carry sensitive information such as session identifiers, sharing cookies across applications can cause a vulnerability in one application to compromise another application.\nAvoid having cookies with an overly broad domain.",
  "rule.sast.sw.cs.2722.example.0.dangerous": "Line 18: Too broad domain is set for vulnCookie of HttpCookie instance.\nLine 23: A forbidden domain has been used.",
  "rule.sast.sw.cs.2722.example.0.safe": "Line 13: Set 3 or more of the domain length.",
  "rule.sast.sw.cs.2722.name": "Use of cookie with overly broad domain",
  "rule.sast.sw.cs.2722.option.broad_custom_domain.description": "Enter custom domain you want to check.",
  "rule.sast.sw.cs.2722.option.broad_custom_domain.name": "Custom domain you want to check.",
  "rule.sast.sw.cs.2722.option.exception_domain.description": "Enter exceptional domain.",
  "rule.sast.sw.cs.2722.option.exception_domain.name": "Exceptional domain.",
  "rule.sast.sw.cs.2723.description": "The Use of Cookie with Overly Broad Path checker finds instances of using a cookie with a path set to the root path.\nDevelopers often set cookies to be accessible from the root context path (`/`). This exposes the cookie to all web applications on the domain. Because cookies often carry sensitive information such as session identifiers, sharing cookies across applications can cause a vulnerability in one application to compromise another application.\nAvoid having cookies with an overly broad path.",
  "rule.sast.sw.cs.2723.example.0.dangerous": "Line 18: Too broad domain is set for vulnCookie of HttpCookie instance.",
  "rule.sast.sw.cs.2723.example.0.safe": "Line 18: Set more specific domain for the cookie.",
  "rule.sast.sw.cs.2723.name": "Use of Cookie with Overly Broad Path",
  "rule.sast.sw.cs.2723.option.path_pattern.description": "Enter Path pattern(Depth).",
  "rule.sast.sw.cs.2723.option.path_pattern.name": "Path pattern(Depth).",
  "rule.sast.sw.cs.2724.description": "The Use of Cryptographic Algorithm in ECB Mode checker finds instances of encryption in ECB mode.\nECB mode poses a security vulnerability that encrypting the same block of plaintext in this mode always yields the same block of ciphertext.\nUse a secure mode such as CBC or CFB.",
  "rule.sast.sw.cs.2724.example.0.dangerous": "Line 26: aes mode of AesCryptoServiceProvider instance is set to ECB mode.",
  "rule.sast.sw.cs.2724.example.0.safe": "Line 2: Set the aes mode of AesCryptoServiceProvider instance to a secure mode such as CBC or CFB.",
  "rule.sast.sw.cs.2724.name": "Use of Cryptographic Algorithm in ECB Mode",
  "rule.sast.sw.cs.2724.option.sym_crypto_class.description": "Enter symmetric cryptography class.",
  "rule.sast.sw.cs.2724.option.sym_crypto_class.name": "Symmetric cryptography class.",
  "rule.sast.sw.cs.2724.option.vuln_mode.description": "Enter vulnerable mode.",
  "rule.sast.sw.cs.2724.option.vuln_mode.name": "Vulnerable mode.",
  "rule.sast.sw.cs.2725.description": "The Short Signature Key checker finds code that uses the key size of signature shorter than the optionally specified size.\nEncryption strength of a signature depends on its key size. Longer keys provide stronger encryption and vise versa.\nUse a sufficient length of key for the signature.",
  "rule.sast.sw.cs.2725.example.0.dangerous": "Line 14: DSAalg_0 of DSACryptoServiceProvider does not have a sufficient size of key.\nLine 15: DSAalg_1 of DSACryptoServiceProvider does not have a sufficient size of key.",
  "rule.sast.sw.cs.2725.example.0.safe": "Line 14: Set a sufficient size of key for DSACryptoServiceProvider instance: longer than 1024.",
  "rule.sast.sw.cs.2725.name": "Short Signature Key",
  "rule.sast.sw.cs.2725.option.minimum_key_size.description": "Enter minimum key size.",
  "rule.sast.sw.cs.2725.option.minimum_key_size.name": "Minimum key length",
  "rule.sast.sw.cs.2725.option.weak_encryption.description": "Enter encryption algorithm.",
  "rule.sast.sw.cs.2725.option.weak_encryption.name": "Encryption algorithm.",
  "rule.sast.sw.cs.2726.description": "The Sensitive Information Exposal in UI Loading checker finds code that exposes sensitive information while loading UIs.\nYou need to hide sensitive information such as password. For example, if [DataType(DataType.Password)] attribute is not specified for a password, the password cannot be hidden in the UI. You can modify the sensitive information and patterns in an option file.\nEnsure the sensitive information not to be exposed in the UI loading.",
  "rule.sast.sw.cs.2726.example.0.dangerous": "Line 26: Sensitive information 'pw' is not hidden.\nLine 30: Sensitive information 'ConfirmPassword' is not hidden.",
  "rule.sast.sw.cs.2726.example.0.safe": "Line 17: Set the sensitive information such as password in DataType.Password attribute.",
  "rule.sast.sw.cs.2726.name": "Sensitive Information Exposal in UI Loading",
  "rule.sast.sw.cs.2726.option.sensitive_property_pattern.description": "Enter sensitive property pattern.",
  "rule.sast.sw.cs.2726.option.sensitive_property_pattern.name": "Sensitive property pattern.",
  "rule.sast.sw.cs.2737.description": "The Hardcoded Private Key in Symmetric Key Algorithm checker finds instances of using a hardcoded private key in symmetric key algorithm.\nHardcoded private keys present in source code can be used to decrypt ciphertext data back into the original information in case it leaks. Using a hardcoded private key allows developers to view the key, and raises a chance to leak. Especially, for a web service with numerous users, exposing private keys leads to a massive leak of accessed user information.\nMake sure encryption keys never assume constant values.",
  "rule.sast.sw.cs.2737.example.0.dangerous": "Line 26: A hardcoded private key 'KeyArray' is assigned to class 'aes' in symmetric key algorithm.",
  "rule.sast.sw.cs.2737.example.0.safe": "Line 26: Use an externally imported value as the private key of AES algorithm.",
  "rule.sast.sw.cs.2737.name": "Hardcoded Private Key in Symmetric Key Algorithm",
  "rule.sast.sw.cs.2737.option.sym_crypto_class.description": "Enter symmetric cryptography class.",
  "rule.sast.sw.cs.2737.option.sym_crypto_class.name": "Symmetric cryptography class.",
  "rule.sast.sw.cs.2797.description": "The Hardcoded Password checker finds hardcoded passwords.\nIf program code contains a hardcoded password that is used for internal authentication or for communications with an external component, it can be exploited to leak administrator information.\nPasswords are recommended to be encrypted and stored in a separate file.",
  "rule.sast.sw.cs.2797.example.0.dangerous": "Line 15: ChangePassword() method is used with an argument of string to set a password of MembershipUser object.",
  "rule.sast.sw.cs.2797.example.0.safe": "Line 16: Use ChangePassword() method with an argument of externally imported value to set a password of MembershipUser object.",
  "rule.sast.sw.cs.2797.name": "Hardcoded Password",
  "rule.sast.sw.cs.2797.option.candidate_class.description": "Write a class name using a password.",
  "rule.sast.sw.cs.2797.option.candidate_class.name": "Class which uses password.",
  "rule.sast.sw.cs.2797.option.method.description": "Write the method name to set the password.",
  "rule.sast.sw.cs.2797.option.method.name": "Setter method for password",
  "rule.sast.sw.cs.2798.description": "The Comparison with Hardcoded Password checker finds password checks performed against a hardcoded string.\nThis practice allows those having access to source code to obtain passwords.\nDo not compare a password with a hardcoded string.",
  "rule.sast.sw.cs.2798.example.0.dangerous": "Line 11: A hardcoded password req_password is compared.",
  "rule.sast.sw.cs.2798.example.0.safe": "Line 10: Get the password from outside.\nLine 11: By comparing the input with the password, make sure that users who don't have accesses to password.ini file cannot check the password.",
  "rule.sast.sw.cs.2798.name": "Comparison with Hardcoded Password",
  "rule.sast.sw.cs.2799.description": "The Exception Information Exposure checker finds exception handlers that exhibit exception information.\nThis practice exposes system information such as stack traces.\nFrom such exposed system information, attackers can find vulnerabilities and exploit them.\nDo not print out exception information.",
  "rule.sast.sw.cs.2799.example.0.dangerous": "Line 17: Exception information is printed out in exception handling.\nLine 18: Exception information is printed out in exception handling.",
  "rule.sast.sw.cs.2799.example.0.safe": "Line 17: Instead of printing exception, record it in a log file.",
  "rule.sast.sw.cs.2799.name": "Exception Information Exposure",
  "rule.sast.sw.cs.2976.description": "The Dynamic code manipulation checker finds code that uses unvalidated external input without filtering.\nExternal inputs used in dynamic applications must be verified. Unless, attackers can execute arbitrary code, access sensitive information, and modify it. This may leads to unintended action or malfunction. Ensure not to access to whole system by using the following mitigations: make a whitelist for allowed values, or perform casting to safe types.\nUse a verification method to validate the external input imported by ServletRequest.getParameter() method.",
  "rule.sast.sw.cs.2976.example.0.dangerous": "Line 3: An external input is sent to a variable.\nLine 7: A tainted value is sent to the second argument of CompileAssemblyFromSource function. Attackers can execute desired code.",
  "rule.sast.sw.cs.2976.example.0.safe": "Line 3: An external input is sent to a variable.\nLine 6: Ensure that a value tainted by the external input is safe.\nLine 9: After the safety check, you can execute the CompileAssemblyFromSource function.",
  "rule.sast.sw.cs.2976.name": "Dynamic code manipulation",
  "rule.sast.sw.cs.2978.description": "The Weak XML Transformer checker finds code that uses the XML parser, but fails to specify security options.\nThe XML External Entity or XSLT External Entity (XXE) vulnerability occurs when the XML parser is created without forbidding external DTD or DTD entities. Attackers can control external data to expose sensitive data, cause DoS attacks, forfeit server-side requests, or perform port scans on their parser devices. And this may lead to system errors. For C#, vulnerability might not exist in some version of .Net Framework. Make sure to check checker options or fill out the version of .Net Framework you used.\nFor .Net Framework 4.5.2 or later:\n- do not use XmlUrlResolver type for System.Xml.XmlDocument.XmlResolver. \n- do not use XmlUrlResolver type for System.Xml.XmlTextReader.XmlResolver. \n- do not send DtdProcessing.Parse or XmlUrlResolver to the second argument of XmlReader.Create function by using XmlReaderSettings. \n\nFor .Net Framework 4.5.2 before:\n- do not use XmlDocument, XmlTextReader, or XPathDocument function without further setting.",
  "rule.sast.sw.cs.2978.example.0.dangerous": "Line 4: XmlUrlResolver is assigned to XmlDocument.XmlResolver property.",
  "rule.sast.sw.cs.2978.example.0.safe": "Line 3: Do not use the XmlUrlResolver in the XmlDocument class.",
  "rule.sast.sw.cs.2978.name": "Weak XML Transformer",
  "rule.sast.sw.cs.2978.option._net_version.description": "Write the .Net Framework version.",
  "rule.sast.sw.cs.2978.option._net_version.name": ".Net version",
  "rule.sast.sw.cs.2979.description": "The Server-side Request Forgery checker finds accesses to an unvalidated URL that contains an external input.\nIf a service operating on an open web server is allowed to access an unvalidated URL that contains an external input, it will attempt access to any URL even though the URL links to the internal server. The internal server then will send back a normal response because the received request is from a web server in the same internal network. If such a vulnerability is known to an attacker, the weak web server can be exploited to send a request to the internal server which itself is not directly accessible to the attacker. This may lead to exposing sensitive information.\nWhen accessing a URL that contains an external input, make sure it passes appropriate validation.",
  "rule.sast.sw.cs.2979.example.0.dangerous": "Line 3: An external input is sent to a variable.\nLine 5: A tainted value is sent to the first argument of WebRequest.Create function. Attackers can send desired requests to the internal server.",
  "rule.sast.sw.cs.2979.example.0.safe": "Line 3: An external input is sent to a variable.\nLine 7: Ensure that a value tainted by the external input is safe.\nLine 9: After the safety check, call WebRequest.Create function.",
  "rule.sast.sw.cs.2979.name": "Server-side Request Forgery",
  "rule.sast.sw.cs.2980.description": "The Inappropriate Signature checker finds code that fails to check a signature from a file with the electronic signature.\nIf you do not check the electronic signature, attackers can use a forged file and make the program to access an unexpected URL or get tainted by malicious code. Also, if you do not use an encrypted signature to create JSON Web Token, the signature can be exploited and attackers can disguise themselves as you.\nWhen you call Decode function in JwtDecoder class or MustVerifySignature function in JwtBuilder class, set the third argument, verify, to true.",
  "rule.sast.sw.cs.2980.example.0.dangerous": "Line 10: The third argument of Decode function is set to false in JwtDecoder class.\nLine 16: The JwtBuilder class is used without further signature.",
  "rule.sast.sw.cs.2980.example.0.safe": "Line 10: Set the third argument of the Decode function to true.\nLine 16: Make signature for the JwtBuilder class by using MustVerifySignature function.",
  "rule.sast.sw.cs.2980.name": "Inappropriate Signature",
  "rule.sast.sw.cs.2981.description": "The Weak Server Certificate checker finds code that creates SSL/TLS sessions, but fails to validate X.509 certificates, therefore, trusts all certificates.\nIt is required to validate X.509 certificates in order to create secure SSL/TLS sessions which are safe against the MITM(Man in the Middle) attacks.\nEnsure that a callback assigned to ServicePointManager.ServerCertificateValidationCallback does not always return true.",
  "rule.sast.sw.cs.2981.example.0.dangerous": "Line 5: Because returns are set to true, SSL/TLS certificates are generated without validation.",
  "rule.sast.sw.cs.2981.example.0.safe": "Line 6: Generate the SSL/TLS certificates under certain conditions.\nLine 14: Generate the SSL/TLS certificates under certain conditions.",
  "rule.sast.sw.cs.2981.name": "Weak Server Certificate",
  "rule.sast.sw.cs.2982.description": "The Deserialization of Untrusted Data checker finds code that uses an insecure deserialization method.\nYou can serialize objects for storing or transmitting, and deserialize them when you need. Then, the objects can be kept as immutable. However, if you deserialize untrusted data without separate protection, it can run malicious code by adding a tainted object or variable.\nMake a whitelist or check your mac address while deserializing objects by using BinaryFormatter, NetDataContractSerializer, SoapFormatter, JavaScriptSerializer, or LosFormatter class.",
  "rule.sast.sw.cs.2982.example.0.dangerous": "Line 7: A deserialize function is used in BinaryFormatter class without restriction.",
  "rule.sast.sw.cs.2982.example.0.safe": "Line 19: Make a whitelist for the deserialize function to perform deserialization under certain condition.",
  "rule.sast.sw.cs.2982.name": "Deserialization of Untrusted Data",
  "rule.sast.sw.cs.6535.description": "Cross-site request forgery is an attack that causes an attacker to request an intended action (modify, delete, register, etc.) against a specific website, regardless of the user's intent.\nIn ASP.NET, for POST requests that include user input, you must use `@Html.AntiForgeryToken()` to prevent CSRF attacks.",
  "rule.sast.sw.cs.6535.example.0.dangerous": "Line 1: The form is vulnerable to a CSRF attack because a CSRF-protected token is not used within the form.",
  "rule.sast.sw.cs.6535.example.0.safe": "Line 3: You can use a CSRF-resistant token to securely process user input.",
  "rule.sast.sw.cs.6535.name": "Cross-site Request Forgery",
  "rule.sast.sw.cs.941.description": "The Catching NullPointerException checker finds instances of catching NullReferenceException. \nThe NullReferenceException exception shows that the program can contain an underlining error by dereferencing a null pointer.\nIt is recommended to remove the underlining error of the NullReferenceException exception than catch the exception.",
  "rule.sast.sw.cs.941.example.0.dangerous": "Line 5: NullReferenceException is caught.",
  "rule.sast.sw.cs.941.example.0.safe": "Line 4: NullReferenceException is not caught.\nLine 7: Fix a root cause of a null pointer exception.",
  "rule.sast.sw.cs.941.name": "Catching NullPointerException",
  "rule.sast.sw.cs.942.description": "The Empty catch block checker finds exception-handling blocks that have no relevant content.\nIt detects empty catch blocks containing no actual executable code.\nIf a caught exception is not handled, it is hard to find out the causes of accompanying program errors.\nAdd an exception-handling code in the empty block. If you don't want any measure for an exception, you may simply leave an error message.",
  "rule.sast.sw.cs.942.example.0.dangerous": "Line 5: An error is caught in a CATCH block, but no action is taken.",
  "rule.sast.sw.cs.942.example.0.safe": "Line 5: After an exception is caught, ensure that each exception is properly handled.",
  "rule.sast.sw.cs.942.name": "Empty catch block",
  "rule.sast.sw.cs.943.description": "The Use of HtmlInputHidden checker finds instances of using an HtmlInputHidden object.\nAn HtmlInputHidden object can be exploited by attackers to access or manipulate hidden form fields. It is recommended, therefore, not to create an HtmlInputHidden object. An HtmlInputHidden object can be exploited to access or manipulate hidden form fields.\nDo not create an HtmlInputHidden object.",
  "rule.sast.sw.cs.943.example.0.dangerous": "Line 3: HtmlInputHidden object is created.",
  "rule.sast.sw.cs.943.example.0.safe": "Line 3: Do not create a hidden form field.",
  "rule.sast.sw.cs.943.name": "Use of HtmlInputHidden",
  "rule.sast.sw.cs.944.description": "The Exposure of system information checker finds catch statements displaying system information.\nExposed error messages may contain sensitive information helping attack the system.\nMake sure system information is not exposed.",
  "rule.sast.sw.cs.944.example.0.dangerous": "Line 5: System information is exposed through Console.WriteLine() function.",
  "rule.sast.sw.cs.944.example.0.safe": "Line 5: Do not print out system information.",
  "rule.sast.sw.cs.944.name": "Exposure of system information",
  "rule.sast.sw.cs.944.option.sink_class.description": "Write poor logging class.<br />Example) Console",
  "rule.sast.sw.cs.944.option.sink_class.name": "Poor logging class",
  "rule.sast.sw.cs.944.option.sink_method.description": "Write poor logging method.<br />Example) WriteLine",
  "rule.sast.sw.cs.944.option.sink_method.name": "Poor logging method",
  "rule.sast.sw.cs.949.description": "The Catching overly broad exceptions checker finds instances of generalizing a wide range of exceptions in handling them.\nYou must not place a catch block that handles a widely inclusive exception.\nAn extremely wide generalization of exceptions may prevent some specific exceptions from being properly handled; more seriously, this may let even logically implausible cases simply covered by the super generalized handler, hence hindering them from being detected and fixed. As a result, design and implementation defects may remain undiscovered in the development and review phases before the program is deployed into production, possibly leading to serious issues.\nIt is recommended to categorize possible exceptions explicitly and handle them separately. If general exception handling is needed, have it performed in the last place after all specific exceptions are handled. Then, if the flow of execution ever reaches the general exception handling block, it suggests that the caught exception was not considered during development. This helps fix defects implied by unexpected exceptions.",
  "rule.sast.sw.cs.949.example.0.dangerous": "Line 3: It is handled by the highest exception.",
  "rule.sast.sw.cs.949.example.0.safe": "Line 3: Refine ways to handle each exception.",
  "rule.sast.sw.cs.949.name": "Catching overly broad exceptions",
  "rule.sast.sw.cs.950.description": "The Insecure logging checker finds code that uses forbidden methods to generate logs.\nDo not use Console.WriteLine() method for printing out logs. You can optionally specify methods that should not be used.\nLogging on the console results in a long accumulated log; finding the cause of a trouble on it is not efficient, nor is access to it easily controllable.\nUse a dedicated logging library instead.",
  "rule.sast.sw.cs.950.example.0.dangerous": "Line 3: Console.WriteLine() method is used to print out logs.",
  "rule.sast.sw.cs.950.example.0.safe": "Line 3: Do not use the method to print out logs.",
  "rule.sast.sw.cs.950.name": "Insecure logging",
  "rule.sast.sw.cs.950.option.logging_method.description": "Write poor logging method.<br />Example) WriteLine",
  "rule.sast.sw.cs.950.option.logging_method.name": "Poor logging method",
  "rule.sast.sw.cs.952.description": "The Weak hash checker finds code with hashing algorithms known to be insecure.\nNon-standard hashing algorithms can be more easily cryptanalyzed and cracked by attackers. Some outdated hashing algorithms are vulnerable as computer performance grows. As results, the old cryptographic algorithms can be easily decrypted in days or hours. Using an old or non-standard hashing algorithm may allow attackers to cryptanalyze and disable it. Hashes created by MD5 or other old algorithms can be cracked by means of rainbow tables.\nIt is insecure to develop and use your own hash algorithm. You should use already-validated and standardized algorithms. Use secure algorithms such as SHA-256 and SHA-512 instead of those considered weak such as MD5 and SHA-1. In addition, use unpredictable salts together to ensure stronger security.",
  "rule.sast.sw.cs.952.example.0.dangerous": "Line 3: An insecure SHA-1 encryption algorithm is used.",
  "rule.sast.sw.cs.952.example.0.safe": "Line 3: Use secure hash algorithms such as SHA-256.",
  "rule.sast.sw.cs.952.name": "Weak hash",
  "rule.sast.sw.cs.952.option.weak_cryptographic_hash.description": "Write weak cryptographic hash class.<br />Example) MD5CryptoServiceProvider",
  "rule.sast.sw.cs.952.option.weak_cryptographic_hash.name": "Weak cryptographic hash class",
  "rule.sast.sw.cs.953.description": "The Weak Cryptographic Algorithm checker finds code with encryption algorithms known to be insecure.\nCryptographic algorithms such as DES are no more secure.\nNon-standard cryptographic algorithms can be more easily cryptanalyzed and cracked by attackers. Some outdated cryptographic algorithms are vulnerable as computer performance grows. As results, the old cryptographic algorithms can be easily decrypted in days or hours. Using an old or non-standard cryptographic algorithm may allow attackers to cryptanalyze and disable it.\nDeveloping your own cryptographic algorithm is dangerous; instead, use standard algorithms that have been proven in academia and industry. Use secure algorithms such as 3DES, AES, and SEED instead of those considered weak such as DES and RC5. And encryption keys must be long enough in accordance with the appropriate length suggested by each standard, secure algorithm.",
  "rule.sast.sw.cs.953.example.0.dangerous": "Line 3: An insecure DES encryption algorithm is used.",
  "rule.sast.sw.cs.953.example.0.safe": "Line 3: Use secure algorithms such as AES.",
  "rule.sast.sw.cs.953.name": "Weak cryptographic algorithm",
  "rule.sast.sw.cs.953.option.weak_encryption.description": "Write vulnerable encryption clsss.<br />Example) DESCryptoServiceProvider",
  "rule.sast.sw.cs.953.option.weak_encryption.name": "Vulnerable Encryption Class",
  "rule.sast.sw.cs.954.description": "The Insufficient cryptographic key size checker finds encryption keys that are too short.\nYou can optionally specify the minimum key length that ensures security.\nAn encryption key is used for encryption and decryption purposes; if it is not long enough, it can be uncovered in a practically short time even with a verified cryptographic algorithm used. This can be exploited to decrypt encrypted data or passwords.\nEach major algorithm suggests an appropriate length of a key that ensures an extremely long time is taken to break the key at the currently known level of technology, thus making attacks on it practically impossible. It is recommended to use a key no shorter than the suggested length. For example, the RSA algorithm must be used with a key of at least 2,048 bits as of 2015, while symmetric encryption algorithms require a key of at least 128 bits.",
  "rule.sast.sw.cs.954.example.0.dangerous": "Line 3: An encryption algorithm key is set too short.",
  "rule.sast.sw.cs.954.example.0.safe": "Line 3: Specify the key length for encryption.",
  "rule.sast.sw.cs.954.name": "Insufficient cryptographic key size",
  "rule.sast.sw.cs.954.option.minimum_key_size.description": "Write the minimum secure key size.<br />Example) 1024",
  "rule.sast.sw.cs.954.option.minimum_key_size.name": "Minimum key size",
  "rule.sast.sw.cs.954.option.weak_encryption.description": "Write vulnerable encryption clsss.<br />Example) RSAcryptoserviceprovider",
  "rule.sast.sw.cs.954.option.weak_encryption.name": "Vulnerable Encryption Class",
  "rule.sast.sw.cs.958.description": "The Improper random number generation checker finds instances of using a predictable random value.\nA random number generated by creating a System.Random object and calling the Next method is predictable and thus insecure.\nIf a predictable random number is used when an unpredictable number is demanded, an attacker can predict subsequently generated numbers and use them to attack the system. Languages provide their specific built-in statistical PRNG (pseudorandom number generator) functionality. But numbers generated by such a generator are often easily predictable, and security can be threatened simply by an effective seed setting.\nYou need to use cryptographically secure approaches that generate unpredictable random values. Use a System.Security.Cryptography.RNGCryptoServiceProvider object to generate an unpredictable random number.",
  "rule.sast.sw.cs.958.example.0.dangerous": "Line 4: A password is created with a predictable System.Random object.",
  "rule.sast.sw.cs.958.example.0.safe": "Line 4: Create a password by using the System.Security.Cryptography.RNGCryptoServiceProvider object.",
  "rule.sast.sw.cs.958.name": "Improper random number generation",
  "rule.sast.sw.dart.6457.description": "Including hardcoded API keys within your source code is a big security mistake because it exposes that information to the outside world when the source code is made public, increasing the risk of unauthorized access. For example, if this information is found in a public repository or collaborative codebase, a malicious user could hijack your system or gain unauthorized access to your data.\nStore your API keys securely, such as in an environment variable or an encrypted configuration file, so that you can access them when you need them.",
  "rule.sast.sw.dart.6457.example.0.dangerous": "Line 5: The API Key value is hardcoded, which is dangerous.",
  "rule.sast.sw.dart.6457.example.0.safe": "Line 6: Use the API Key value utilizing the .env file to be safe.",
  "rule.sast.sw.dart.6457.name": "Hardcoded API key",
  "rule.sast.sw.dart.6458.description": "Basic authentication schemes that embed usernames and passwords within URLs can lead to serious security issues. This method exposes credentials in plain text in the URL, which can lead to information leakage from log files or browser history. It's also vulnerable to man-in-the-middle attacks, increasing the likelihood that malicious users can access user data or launch phishing attacks.\nYou should avoid embedding usernames and passwords in URLs and use more secure authentication methods, such as OAuth or managing credentials through environment variables.",
  "rule.sast.sw.dart.6458.example.0.dangerous": "Line 7: The default credentials, including username and password, are hardcoded, which is dangerous.",
  "rule.sast.sw.dart.6458.example.0.safe": "Line 8: Secure your basic credentials, including username and password, using an .env file.",
  "rule.sast.sw.dart.6458.name": "Hardcoded Credential",
  "rule.sast.sw.dart.6459.description": "Email addresses embedded within source code can be targets for spamming, phishing attacks, and can even provide hackers with information about internal data management if the personal email of an administrator or other sensitive person is accidentally exposed.\nTake care to ensure that email addresses are not hardcoded within your code, and if necessary, implement them so that they can be loaded dynamically via environment variables or configuration files.",
  "rule.sast.sw.dart.6459.example.0.dangerous": "Line 8: The email information is hardcoded, which is dangerous.",
  "rule.sast.sw.dart.6459.example.0.safe": "Line 9: Use email information as user input to be safe.",
  "rule.sast.sw.dart.6459.name": "Hard-coded email addresses",
  "rule.sast.sw.dart.6460.description": "IP addresses contained within source code or comments can be the source of a variety of security threats. Exposed IP addresses can give attackers hints about the structure of your network and make you a target for distributed denial-of-service (DDoS) attacks, sniffing, or more subtle attacks.\nBe careful not to hardcode IP addresses in your source code, and if necessary, implement them to be loaded dynamically via environment variables or configuration files.",
  "rule.sast.sw.dart.6460.example.0.dangerous": "Line 4: The IP information is hardcoded, which is dangerous.",
  "rule.sast.sw.dart.6460.example.0.safe": "Line 5: Use the IP value utilizing the .env file to be safe.",
  "rule.sast.sw.dart.6460.name": "Hardcoded IP addresses",
  "rule.sast.sw.dart.6462.description": "A hash function is a one-way function that maps data of different lengths to a fixed length of random data. It's used to store a user's password, for example, because using the same data always yields the same data. However, while hash functions like MD5 and SHA1 are very fast and simple to compute a hash, which makes them seem like a good performance choice, they are vulnerable to randomization attacks by hackers. Furthermore, using hash functions on simple data is risky because it is stored and shared in a rainbow table.\nThere are many functions that are used to overcome the shortcomings of MD5 and SHA1. You can easily replace them by using SHA2, SHA3, or more modern and secure algorithms such as Bcrypt, Blake2, Argon2, PBKDF2, Scrypt, etc.",
  "rule.sast.sw.dart.6462.example.0.dangerous": "Line 9: It uses a hash function that is vulnerable to randomization attacks, which is dangerous.",
  "rule.sast.sw.dart.6462.example.0.safe": "Line 8: It's secure, using a relatively modern, secure hash function.",
  "rule.sast.sw.dart.6462.name": "Weak Hash",
  "rule.sast.sw.dart.6463.description": "Cryptographically insecure random number generators can produce predictable values, which can lead to security vulnerabilities.\nMost modern languages provide secure randomization methods. It is usually easy to replace a random number that was not created with security in mind by using a more secure random number method.",
  "rule.sast.sw.dart.6463.example.0.dangerous": "Line 10: Using the predictable random number generation function Random() is risky.",
  "rule.sast.sw.dart.6463.example.0.safe": "Line 10: Secure by using the unpredictable random number generator function Random.secure().",
  "rule.sast.sw.dart.6463.name": "Vulnerable Random Number",
  "rule.sast.sw.dart.6464.description": "Weak encryption algorithms can give attackers the opportunity to decrypt data. Algorithms that were once thought to take billions of years to crack can now be cracked in days or even hours. Examples include algorithms like RC2, DES, and Blowfish.\nDeveloping your own encryption algorithms is risky, and it's better to use standardized algorithms that have already been proven in academia and industry. Use secure encryption algorithms like AES, RSA, ECC, and others instead of those known to be weak.",
  "rule.sast.sw.dart.6464.example.0.dangerous": "Line 16: The encryption process is risky because DES, a weak encryption algorithm, is used.",
  "rule.sast.sw.dart.6464.example.0.safe": "Line 16: The encryption process is secure because AES, a strong encryption algorithm, is used.",
  "rule.sast.sw.dart.6464.name": "Weak cryptographic algorithm",
  "rule.sast.sw.dart.6465.description": "RSA encryption is one of the public key encryption mechanism: the longer key makes the encryption stronger. In general, a key length of 2048 bits is considered as appropriate. Because it is practically impossible to decrypt the encryption without the key.\nIt is recommended to use a 2048 bits or longer key for the RSA. Although 3072 or 4096 bits key enhances security on the encryption, 2048 bits key is more recommendable than others. Since computing resources get increased on encryption and decryption of the longer key.\n",
  "rule.sast.sw.dart.6465.example.0.dangerous": "Line 12: RSA key length is less than 2048 bits, which is dangerous.",
  "rule.sast.sw.dart.6465.example.0.safe": "Line 12: RSA key length is set to 2048 bits or more, which is secure.",
  "rule.sast.sw.dart.6465.name": "Insufficient RSA Encryption Key Length",
  "rule.sast.sw.dart.6491.description": "Including hard-coded API keys within comments is a big security mistake because it exposes that information to the outside world when the source code is released, increasing the risk of unauthorized access. For example, if this information is found in a public repository or collaborative codebase, a malicious user could hijack your system or gain unauthorized access to your data.\nStore your API keys securely, such as in an environment variable or an encrypted configuration file, so that you can access them when you need them.",
  "rule.sast.sw.dart.6491.example.0.dangerous": "Line 2: The API Key value is present in the comment, which is dangerous.",
  "rule.sast.sw.dart.6491.example.0.safe": "Line 1-4: The API Key value does not exist within the comment, so it is safe.",
  "rule.sast.sw.dart.6491.name": "API keys in comments",
  "rule.sast.sw.dart.6492.description": "Basic authentication schemes that embed usernames and passwords within URLs can lead to serious security issues. This method exposes credentials in plain text in the URL, which can lead to information leakage from log files or browser history. It's also vulnerable to man-in-the-middle attacks, increasing the likelihood that malicious users can access user data or launch phishing attacks.\nYou should avoid embedding usernames and passwords in URLs and use more secure authentication methods, such as OAuth or managing credentials through environment variables.",
  "rule.sast.sw.dart.6492.example.0.dangerous": "Line 4: Basic authentication information, including username and password, is present within the comment, which is dangerous.",
  "rule.sast.sw.dart.6492.example.0.safe": "Line 2-16: The default authentication information, including username and password, does not exist within the comment, so it is safe.",
  "rule.sast.sw.dart.6492.name": "Credentials in comments",
  "rule.sast.sw.dart.6493.description": "Email addresses included in comments can be targets for spamming, phishing attacks, and can even provide hackers with information about internal data management if the personal emails of administrators or other important people are accidentally exposed.\nBe careful not to hardcode email addresses into comments, and if necessary, implement them so that they can be loaded dynamically via environment variables or configuration files.",
  "rule.sast.sw.dart.6493.example.0.dangerous": "Line 3: The presence of email information in the comment is dangerous.",
  "rule.sast.sw.dart.6493.example.0.safe": "Line 2-7: The email information in the comment doesn't exist, so it's safe.",
  "rule.sast.sw.dart.6493.name": "Email addresses in comments",
  "rule.sast.sw.dart.6494.description": "IP addresses contained in comments can be the source of a variety of security threats. Exposed IP addresses can give attackers hints about the structure of your network and make you a target for distributed denial-of-service (DDoS) attacks, sniffing, or more subtle attacks.\nBe careful not to hardcode IP addresses in comments, and if necessary, implement them to be loaded dynamically via environment variables or configuration files.",
  "rule.sast.sw.dart.6494.example.0.dangerous": "Line 3: IP information is present in the comment, which is dangerous.",
  "rule.sast.sw.dart.6494.example.0.safe": "Line 2-7: No IP information exists within the comment, so it's safe.",
  "rule.sast.sw.dart.6494.name": "IP addresses in comments",
  "rule.sast.sw.go.5860.description": "The html/template package is implemented to create HTML template in Golang. The package basically handles HTML escaping and helps to prevent Cross-site scripting (XSS) attacks. However, two functions i.e. `template.HTML` and `template.HTMLAttr` do not escape characters in the html/template. If an unverified external input is included in the functions, it can cause vulnerabilities against the XSS attacks.\nYou can manually change special characters, such as &, <, >, `, ` into HTML entities: yet, html/template supports an escape function, `EscapeString`. `EscapeString` can be an option for escaping the input. Still, the user input needs to be avoided if possible.",
  "rule.sast.sw.go.5860.example.0.dangerous": "Line 3: This is insecure because an external input value is used in template.HTML() without escaping.",
  "rule.sast.sw.go.5860.example.0.safe": "Line 3: This is secure because the external input value is escaped using HTMLEscapeString().",
  "rule.sast.sw.go.5860.name": "Cross-site Script (HTML)",
  "rule.sast.sw.go.5860.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) operand(*) of \"in\"",
  "rule.sast.sw.go.5860.option.taint_filter.name": "External information filter",
  "rule.sast.sw.go.5860.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) sparrow.my.filter.utils.is_safe()",
  "rule.sast.sw.go.5860.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.go.5860.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of \"+\" to return",
  "rule.sast.sw.go.5860.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.go.5860.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) base of name(\"openConnection\")",
  "rule.sast.sw.go.5860.option.taint_sink.name": "External information sink",
  "rule.sast.sw.go.5860.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of fqn(\"java.io.BufferedInputStream.read(byte[])\")",
  "rule.sast.sw.go.5860.option.taint_source.name": "External information source",
  "rule.sast.sw.go.5861.description": "The `html/template` package in the Go language includes the functions `template.JS` and `template.JSStr`. Both functions treat strings as JavaScript code, which makes your code vulnerable to Cross-site Script (XSS) attacks. Since those functions are interpreted as JavaScript code within the template, converting a user input without validation allows users to inject attack code.\nTo prevent any XSS risk, all user input should be escaped. However, functions such as `html.EscapeString` in the `html/template` package do not perform correct escaping for the `template.JS` function. While it is discouraged to pass user input directly, use the `JSEscape` or `JSEscapeString` function if necessary.",
  "rule.sast.sw.go.5861.example.0.dangerous": "Line 3: This is insecure because an external value is included in template.JS().",
  "rule.sast.sw.go.5861.example.0.safe": "Line 3: This is secure because the external input is escaped using template.JSEscapeString().",
  "rule.sast.sw.go.5861.name": "Cross-site Script (JS)",
  "rule.sast.sw.go.5861.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) operand(*) of \"in\"",
  "rule.sast.sw.go.5861.option.taint_filter.name": "External information filter",
  "rule.sast.sw.go.5861.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) sparrow.my.filter.utils.is_safe()",
  "rule.sast.sw.go.5861.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.go.5861.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of \"+\" to return",
  "rule.sast.sw.go.5861.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.go.5861.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) base of name(\"openConnection\")",
  "rule.sast.sw.go.5861.option.taint_sink.name": "External information sink",
  "rule.sast.sw.go.5861.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of fqn(\"java.io.BufferedInputStream.read(byte[])\")",
  "rule.sast.sw.go.5861.option.taint_source.name": "External information source",
  "rule.sast.sw.go.5862.description": "The Go language provides two template engines, `text/template` and `html/template`. The `text/template` package does not provide any HTML escaping function. When a user input is directly inserted into HTML elements, an attacker can use unescaped HTML tags or script code to inject malicious scripts. To generate HTML outputs with `text/template`, developers need to manually escape all dynamic content, which exposes an application to XSS attacks. \nThe `html/template` package also provides an HTML escaping function to create HTML content securely in a web application. HTML escaping is crucial for web applications. Therefore, it is recommended to use the `html/template` package in web applications whenever possible.",
  "rule.sast.sw.go.5862.example.0.dangerous": "Line 1: Data is not escaped using the text/template package.",
  "rule.sast.sw.go.5862.example.0.safe": "Line 2: This is secure because html/template is used instead of text/template.",
  "rule.sast.sw.go.5862.name": "Cross-site Script (template)",
  "rule.sast.sw.go.5863.description": "Using an unescaped function such as `template.CSS` or `template.Srcset` exposes your code to Cross-site Script (XSS) attacks in Golang. It is dangerous to pass a user input without validation, as an attacker can change the input in an unexpected way. Generating CSS from the user input gives no more than an attack vector to hackers.\nUsing predefined styles prevents CSS to be dynamically changed by the user input. `template.HTML` can be an option instead of srcset. Still, the user input needs to be avoided if possible.",
  "rule.sast.sw.go.5863.example.0.dangerous": "Line 4: External input is used in template.CSS() without escaping, which is dangerous.",
  "rule.sast.sw.go.5863.example.0.safe": "Line 4: Use predefined strings in template.CSS(), which is safe.",
  "rule.sast.sw.go.5863.example.1.dangerous": "Line 4: This is insecure because an external input value is used in template.Srcset() without escaping.",
  "rule.sast.sw.go.5863.example.1.safe": "Line 4: This is secure because the predefined string is used in template.Srcset().",
  "rule.sast.sw.go.5863.name": "Cross-site Script (etc.)",
  "rule.sast.sw.go.5863.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) operand(*) of \"in\"",
  "rule.sast.sw.go.5863.option.taint_filter.name": "External information filter",
  "rule.sast.sw.go.5863.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) sparrow.my.filter.utils.is_safe()",
  "rule.sast.sw.go.5863.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.go.5863.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of \"+\" to return",
  "rule.sast.sw.go.5863.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.go.5863.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) base of name(\"openConnection\")",
  "rule.sast.sw.go.5863.option.taint_sink.name": "External information sink",
  "rule.sast.sw.go.5863.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of fqn(\"java.io.BufferedInputStream.read(byte[])\")",
  "rule.sast.sw.go.5863.option.taint_source.name": "External information source",
  "rule.sast.sw.go.5864.description": "Golang `template.URL` generates URLs that are considered to be safe. However, when the function uses a user input, an attacker can manipulate the URLs to direct to dangerous sites or execute dangerous scripts.\nIt is recommended not to include any user input. Yet, if it is inevitably needed, make sure to escape its characters. Golang provides escape functions: `URLQueryEscaper` in the `html/template` package or `QueryEscape` and `PathEscape` in the `net/url` package. Secure the URLs with the Golang escape functions.",
  "rule.sast.sw.go.5864.example.0.dangerous": "Line 4: This is insecure because an external input value is used in template.URL() without escaping.",
  "rule.sast.sw.go.5864.example.0.safe": "Line 4: This is secure because the external input value is escaped using URLQueryEscaper().",
  "rule.sast.sw.go.5864.name": "Cross-site Script (URL)",
  "rule.sast.sw.go.5864.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) operand(*) of \"in\"",
  "rule.sast.sw.go.5864.option.taint_filter.name": "External information filter",
  "rule.sast.sw.go.5864.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) sparrow.my.filter.utils.is_safe()",
  "rule.sast.sw.go.5864.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.go.5864.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of \"+\" to return",
  "rule.sast.sw.go.5864.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.go.5864.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of fqn(\"java.io.BufferedInputStream.read(byte[])\")",
  "rule.sast.sw.go.5864.option.taint_source.name": "External information source",
  "rule.sast.sw.go.5864.option.url_taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) base of name(\"openConnection\")",
  "rule.sast.sw.go.5864.option.url_taint_sink.name": "External information sink",
  "rule.sast.sw.go.5865.description": "When code does not validate data entered on a web program and the program integrates with the database, an attacker can inject SQL statements in an input form or URL field to view or manipulate information from the database. A vulnerable web application creates dynamic queries with user input. This can execute unintended queries and cause data leak.\nThe most efficient way to defend against SQL injection attacks is to use predefined static query statements or to bind parameters. When creating query statements that may contain user input, you should use proper binding characters such as `?`, `$`, `:` and so on for the database. ",
  "rule.sast.sw.go.5865.example.0.dangerous": "Line 6: This is insecure because an external input value is used in a query statement without proper binding.",
  "rule.sast.sw.go.5865.example.0.safe": "Line 6: This is secure because the external input value is used in the query statement after proper binding.",
  "rule.sast.sw.go.5865.name": "SQL Injection",
  "rule.sast.sw.go.5865.option.custom_taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) base of name(\"openConnection\")",
  "rule.sast.sw.go.5865.option.custom_taint_sink.name": "External information sink",
  "rule.sast.sw.go.5865.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) operand(*) of \"in\"",
  "rule.sast.sw.go.5865.option.taint_filter.name": "External information filter",
  "rule.sast.sw.go.5865.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) sparrow.my.filter.utils.is_safe()",
  "rule.sast.sw.go.5865.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.go.5865.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of \"+\" to return",
  "rule.sast.sw.go.5865.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.go.5865.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of fqn(\"java.io.BufferedInputStream.read(byte[])\")",
  "rule.sast.sw.go.5865.option.taint_source.name": "External information source",
  "rule.sast.sw.go.5866.description": "A hash function is a one-way function that generates fixed length of output by mapping random data. It is commonly used to store user passwords because it always produces the same output for the given input. The hash functions, such as MD5 and SHA, may give the illusion of high performance as they calculate hash very quickly, but they are vulnerable to random brute-force attacks. Furthermore, using a hash function for simple data is dangerous because it can be stored and shared in the rainbow table.\nThere are many functions that are enabled to overcome the shortcomings of MD5 and SHA. In Go, these can be easily replaced by enabling relatively newer algorithms such as Blake2, Argon2, PBKDF2, or Scrypt.",
  "rule.sast.sw.go.5866.example.0.dangerous": "Line 1: This is insecure because a vulnerable hash, md5, is used.",
  "rule.sast.sw.go.5866.example.0.safe": "Line 1: This is secure because a secure hash, black2b, is used.",
  "rule.sast.sw.go.5866.name": "Weak hash",
  "rule.sast.sw.go.5867.description": "The security vulnerability is caused by using a vulnerable random number algorithm. This makes its results to be predictable. If you use predictable random numbers, an attacker can predict the next number that is generated in the software and use the information to attack the system.\nThe `math/rand` package in the Go language is insecure because it does not generate random numbers with security as a priority. You can easily replace it with the more secure `crypto/rand` package.",
  "rule.sast.sw.go.5867.example.0.dangerous": "Line 1: This is insecure because math/rand is used.",
  "rule.sast.sw.go.5867.example.0.safe": "Line 1: This is secure because crypto/rand is used.",
  "rule.sast.sw.go.5867.name": "Vulnerable Random Number",
  "rule.sast.sw.go.5868.description": "When an application generates an error message that contains sensitive information and exposes it, an attacker may exploit the information for malicious purposes. This is because attackers can deduce the structure of a program from the exception error message.\nAn `error` is interface type in Go. It is insecure to directly print out the `error` type to users. It is recommended to pass a predefined message rather than the result of `error` type in stdout, or HTTP response.",
  "rule.sast.sw.go.5868.example.0.dangerous": "Line 4: This is insecure because important information could be exposed due to the output statement containing an error type.",
  "rule.sast.sw.go.5868.example.0.safe": "Line 4: This is secure because a predefined string is used in the output statement.",
  "rule.sast.sw.go.5868.name": "Error Message Information Exposed",
  "rule.sast.sw.go.5869.description": "Cookie settings should be properly managed in web application development. When the cookies are not properly set, this can lead to security vulnerabilities such as Session hijacking, XSS, and CSRF. To protect your cookies against the attacks, set secure cookie flags i.e. Secure, HttpOnly, SameSite.\n\n1. Secure: The Secure flag ensures that cookies are sent only over the HTTPS protocol. Therefore, it will prevent cookie information from being exposed by man-in-the-middle attacks.\n2. HttpOnly: Enabling the HttpOnly flag prevents cookies from being accessed via JavaScript, enhancing protection against XSS attacks.\n3. SameSite: The SameSite flag bans sending cookies with cross-site requests, thereby protecting the cookies against CSRF attacks.\nIn Go, you can use the `http.SetCookie` function in the `net/http` package to configure secure cookie flags. The `Secure` and `HttpOnly` flags should always be set to `true`, and it is safe to set the `SameSite` flag to `Lax` or stricter.",
  "rule.sast.sw.go.5869.example.0.dangerous": "Line 8: This is insecure because the application is exposed to multiple vulnerabilities due to the undeclared secure cookie flags.",
  "rule.sast.sw.go.5869.example.0.safe": "Line 11: This is secure because the Secure, HttpOnly, and SameSite flags are securely configured in the cookie settings.",
  "rule.sast.sw.go.5869.name": "Improper Cookie Flag Setting",
  "rule.sast.sw.go.5870.description": "The Go language has packages like `unsafe` and `testing` that are required in limited situations. `unsafe` can bypass memory safety, while `testing` is used only in testing environments, not in production code.\nExcept for special circumstances, avoid using these packages: \n- Unsafe, Testing, net/http/cgi.",
  "rule.sast.sw.go.5870.example.0.dangerous": "Line 2: Using an unsafe package may result in security vulnerabilities.\nLine 3: Use the testing package for testing only.",
  "rule.sast.sw.go.5870.example.0.safe": "Line 2: This is secure because the unsafe package is not used.\nLine 3: This is secure because the testing package is not used.",
  "rule.sast.sw.go.5870.name": "Vulnerable Package",
  "rule.sast.sw.go.5871.description": "Hardcoded passwords are a common mistake that leads to security weaknesses. Hardcoding refers to directly inputting a fixed value including a password into the source code, and it may cause issues such as password leaks and difficulties in adapting to various environments.\nInstead of writing the password directly into the code, you may use environment variables, settings files, databases, or separate secret management systems including AWS Secrets Manager, HashiCorp Vault.",
  "rule.sast.sw.go.5871.example.0.dangerous": "Line 2: This is insecure because the variable contains data assumed to be a password.",
  "rule.sast.sw.go.5871.example.0.safe": "Line 2: This is secure because the variable contains statically unidentifiable data assumed to be a password.",
  "rule.sast.sw.go.5871.name": "Hardcoded password",
  "rule.sast.sw.go.5872.description": "Using `0.0.0.0` as the IP address means receiving all connection requests from all network interfaces in the system. In general, it is recommended that servers only accept connections from specific network interfaces. If not, servers may accept a connection request from an unexpected network interface, allowing a hacker to attempt an attack. \nWhen configuring a server, ensure to specify a specific IP address rather than `0.0.0.0` to determine which connections are accepted by each network interface.",
  "rule.sast.sw.go.5872.example.0.dangerous": "Line 1: This is insecure because all connection requests from all network interfaces are received.",
  "rule.sast.sw.go.5872.example.0.safe": "Line 1: This is secure because only connection requests from a specific IP are received.",
  "rule.sast.sw.go.5872.name": "Improper Network Settings",
  "rule.sast.sw.go.5873.description": "ssh.InsecureIgnoreHostKey() function prevents an SSH client from verifying a server's public key in establishment of connection to the server. When establishing an SSH connection, the client usually stores the public key of the original server. And the key is used to verify the server's identity in subsequent connections. If the public key is not verified, a man-in-the-middle (MITM) attack may occur in the process.\nThe ssh.InsecureIgnoreHostKey() allows the client to connect to any server without verifying the server's public key. Therefore, the ssh.InsecureIgnoreHostKey() function should never be used in an actual service for security. Make sure to validate the server's host key using ssh.FixedHostKey() instead of ssh.InsecureIgnoreHostKey(), or send a request to verify the server's public key to the user.",
  "rule.sast.sw.go.5873.example.0.dangerous": "Line 10: A man-in-the-middle attack may occur because InsecureIgnoreHostKey() is used.",
  "rule.sast.sw.go.5873.example.0.safe": "Line 10: Logic for validating the server is required because InsecureIgnoreHostKey() is not used.",
  "rule.sast.sw.go.5873.name": "Improper SSH Key Settings",
  "rule.sast.sw.go.5874.description": "Using a url from an external link entered by a user is dangerous. Consequently, malicious requests can be sent, leading to problems such as forgery of server-side requests. This is a security vulnerability in which an attacker can manipulate the server to send a request related to the internal network.\nThe `net/url` package provides a function for URL parsing and validation to verify that the user input is in a valid URL format. However, the package alone cannot guarantee the input is completely secure. Therefore, it is recommended to use proper filtering as well or creating a whitelist exclusively for allowed domains.",
  "rule.sast.sw.go.5874.example.0.dangerous": "Line 4: This is insecure because an external input is used in http.get() without validation.",
  "rule.sast.sw.go.5874.example.0.safe": "Line 8: This is secure because the external input has been validated as a predefined address before use.",
  "rule.sast.sw.go.5874.name": "Server-side Request Forgery",
  "rule.sast.sw.go.5874.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) operand(*) of \"in\"",
  "rule.sast.sw.go.5874.option.taint_filter.name": "External information filter",
  "rule.sast.sw.go.5874.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) sparrow.my.filter.utils.is_safe()",
  "rule.sast.sw.go.5874.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.go.5874.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of \"+\" to return",
  "rule.sast.sw.go.5874.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.go.5874.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) base of name(\"openConnection\")",
  "rule.sast.sw.go.5874.option.taint_sink.name": "External information sink",
  "rule.sast.sw.go.5874.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of fqn(\"java.io.BufferedInputStream.read(byte[])\")",
  "rule.sast.sw.go.5874.option.taint_source.name": "External information source",
  "rule.sast.sw.go.5875.description": "When converting a string into an integer in Golang, mainly two functions are used: `strconv.Atoi` and `strconv.ParseInt`. `strconv.Atoi` converts a string into an int. In Golang, the int type varies in size based on the system, functioning as int32 in the 32-bit system and int64 in the 64-bit system. If you first convert a string into an int and then into a smaller integer type, it may cause overflow.\n`strconv.ParseInt` converts a string into an integer with a defined size. You can use the second parameter of this function to specify the range of an integer to be converted, in bits. This can guarantee that the converted integer is within the specified range. If the converting value is out of the specified range, the function returns an error.",
  "rule.sast.sw.go.5875.example.0.dangerous": "Line 3: This is insecure because strconv.Atoi() adjusts its size based on the system, which makes it vulnerable to overflow.",
  "rule.sast.sw.go.5875.example.0.safe": "Line 3: This is secure because the size to convert is predefined with strconv.ParseInt().",
  "rule.sast.sw.go.5875.name": "Integer Conversion Overflow",
  "rule.sast.sw.go.5876.description": "Slowloris is an attack that sends requests slowly to the server, consumes the server resources, and blocks access from other users to the server. This attack keeps the server connections open through partial requests, blocking the server from accepting new connections.\nOne way to defend against the slowloris attack is to put a timeout for the connection on the server that receives data. For the timeout, the HTTP server in Go can use ReadTimeout or ReadHeaderTimeout option. By adding the timeout option, the server can prevent prolonged connections with data slowly sent by clients.",
  "rule.sast.sw.go.5876.example.0.dangerous": "Line 1: This is insecure because no timeout is set in the http.Server structure.",
  "rule.sast.sw.go.5876.example.0.safe": "Line 4-6: This is secure because the timeout is set in the http.Server structure.\n",
  "rule.sast.sw.go.5876.name": "Slowloris Attack",
  "rule.sast.sw.go.5877.description": "Improper file privilege setting can pose a significant threat to system security based on the way to control file access in a certain OS. If proper privileges are not set to create a file or directory, an attacker can exploit the file or directory to conduct malicious actions, such as attacking its system or stealing sensitive data.\nWhen creating a file or a directory, proper privileges must be set for the file or directory. To avoid this issue, developers are advised to comply with the \"principle of least privilege (PoLP)\" when creating a file or directory. In particular, it is recommended to avoid extensive privilege settings, such as 777 and 666.\n",
  "rule.sast.sw.go.5877.example.0.dangerous": "Line 3: This is insecure because extensive privileges are set.",
  "rule.sast.sw.go.5877.example.0.safe": "Line 3: This is secure because limited privileges are set.",
  "rule.sast.sw.go.5877.name": "Improper File Privilege Setting",
  "rule.sast.sw.go.5878.description": "Path traversal is a vulnerability in which a user can access or modify arbitrary files in the application. This may occur when a user input is used as a file path without restrictions. Using a file path directly from a user input is dangerous. It is recommended to not use a file path from a user input whenever possible. If it is necessary, ensure that the user input is validated. If it becomes necessary, ensure that the user input is validated. \nIn Golang, the path can be used securely by using filepath.Join() or removing `.` or `..` through filepath.Clean().",
  "rule.sast.sw.go.5878.example.0.dangerous": "Line 3: This is vulnerable to path traversal because an external input is used in function without filtering.",
  "rule.sast.sw.go.5878.example.0.safe": "Line 3: This is secure because the external input is filtered using filepath.Clean().",
  "rule.sast.sw.go.5878.name": "Path Traversal",
  "rule.sast.sw.go.5878.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) operand(*) of \"in\"",
  "rule.sast.sw.go.5878.option.taint_filter.name": "External information filter",
  "rule.sast.sw.go.5878.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) sparrow.my.filter.utils.is_safe()",
  "rule.sast.sw.go.5878.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.go.5878.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of \"+\" to return",
  "rule.sast.sw.go.5878.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.go.5878.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) base of name(\"openConnection\")",
  "rule.sast.sw.go.5878.option.taint_sink.name": "External information sink",
  "rule.sast.sw.go.5878.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of fqn(\"java.io.BufferedInputStream.read(byte[])\")",
  "rule.sast.sw.go.5878.option.taint_source.name": "External information source",
  "rule.sast.sw.go.5879.description": "`InsecureSkipVerify` option sets the client to not verify the SSL/TLS certificate of the server. Using this option can cause vulnerabilities such as a man-in-the-middle attack or certificate forgery because the certificate for the server is not verified.\nBecause `InsecureSkipVerify` is `false` by default, it is secure unless declared as true.",
  "rule.sast.sw.go.5879.example.0.dangerous": "Line 2: This is insecure because InsecureSkipVerify is used to skip certificate verification.",
  "rule.sast.sw.go.5879.example.0.safe": "Line 2: This is secure because InsecureSkipVerify is not used and certificate verification is required.",
  "rule.sast.sw.go.5879.name": "Improper TLS Settings",
  "rule.sast.sw.go.5880.description": "RSA encryption is one of the public key encryption mechanism: the longer key makes the encryption stronger. In general, a key length of 2048 bits is considered as appropriate. Because it is practically impossible to decrypt the encryption without the key.\nIt is recommended to use a 2048 bits or longer key for the RSA. Although 3072 or 4096 bits key enhances security on the encryption, 2048 bits key is more recommendable than others. Since computing resources get increased on encryption and decryption of the longer key.\n",
  "rule.sast.sw.go.5880.example.0.dangerous": "Line 3: This is insecure because the RSA key is set to 1024 bits.",
  "rule.sast.sw.go.5880.example.0.safe": "Line 3: This is secure because the RSA key is set to a recommended length of 2048 bits.",
  "rule.sast.sw.go.5880.name": "Insufficient RSA Encryption Key Length",
  "rule.sast.sw.html.899.description": "The Exposure of password checker finds instances of sending a password by the GET method.\nData transferred via GET is assumed to be non-sensitive and thus its content may be logged or cached, meaning that it can be easily exposed to the outside.\nSensitive data such as passwords must be transferred by the POST method.",
  "rule.sast.sw.html.899.example.0.dangerous": "Line 1: A password is sent by GET method as specified.",
  "rule.sast.sw.html.899.example.0.safe": "Line 1: Send the password through HTTP POST method, which is secure.",
  "rule.sast.sw.html.899.name": "Exposure of password",
  "rule.sast.sw.html.900.description": "The Inclusion of Script from External Site checker finds HTML elements that include a script from an external site.\nIf an HTML page includes a JavaScript script that is not managed in your site, a malicious script may be passed, causing a security issue.\nMake sure only JavaScript scripts under direct control of your site are included.",
  "rule.sast.sw.html.900.example.0.dangerous": "Line 1: JavaScript code from other site is used.",
  "rule.sast.sw.html.900.example.0.safe": "Line 1: Use the script managed from current sites.",
  "rule.sast.sw.html.900.name": "Inclusion of Script from External Site",
  "rule.sast.sw.html.981.description": "The Password Field with Autocomplete Enabled checker finds instances of defining a password field with the autocomplete attribute enabled in an HTML form.\nIf the autocomplete attribute of a password field in an HTML form is on, it may pose security threats.\nSet the autocomplete attribute of password fields to off.",
  "rule.sast.sw.html.981.example.0.dangerous": "Line 4: autocomplete property of password field is set to on.",
  "rule.sast.sw.html.981.example.0.safe": "Line 4: Set autocomplete property of password field to off.",
  "rule.sast.sw.html.981.name": "Password Field with Autocomplete Enabled",
  "rule.sast.sw.java.1454.description": "The Unlimited appending to collection checker finds instances of calling an injection method on a collection class.\nIf the collection class is used improperly, heap memories can get exhausted. The checker finds an injection method to be called when condition of while statement is not restricted by an integer.\nDo not call a method to increase the size of collection in while statements.",
  "rule.sast.sw.java.1454.example.0.dangerous": "Line 16: A method to increase the size of collection is called in while statements.",
  "rule.sast.sw.java.1454.example.0.safe": "Line 31: The method is called in a fixed iterative for statement.",
  "rule.sast.sw.java.1454.name": "Unlimited appending to collection",
  "rule.sast.sw.java.1454.option.exclude_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.1454.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.1454.option.exclude_method.description": "Write method name to be included to analysis.",
  "rule.sast.sw.java.1454.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.1454.option.exclude_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.1454.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.1454.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.1454.option.include_class.name": "Including class",
  "rule.sast.sw.java.1454.option.include_method.description": "Write method name to be included to analysis.",
  "rule.sast.sw.java.1454.option.include_method.name": "Including method",
  "rule.sast.sw.java.1454.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.1454.option.include_package.name": "Including package",
  "rule.sast.sw.java.1454.option.method_name.description": "Write an appending item method in collection",
  "rule.sast.sw.java.1454.option.method_name.name": "Name of appending item method",
  "rule.sast.sw.java.1454.option.type_name.description": "Write a type name of Collection",
  "rule.sast.sw.java.1454.option.type_name.name": "Collection type name",
  "rule.sast.sw.java.1455.description": "The Deletion of item of collection in loop checker finds instances of modifying items of collection in loops.\nAn undefined action can occur by modifying an item of collections without calling Iteration.remove() method in a loop.\nDo not remove a collection item in a loop.",
  "rule.sast.sw.java.1455.example.0.dangerous": "Line 11: An item of collection is deleted in a loop.",
  "rule.sast.sw.java.1455.example.0.safe": "Line 11: Use an iterator to remove the item.",
  "rule.sast.sw.java.1455.name": "Deletion of item of collection in loop",
  "rule.sast.sw.java.1455.option.exclude_class.description": "Write class name to be excluded from analyzing.",
  "rule.sast.sw.java.1455.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.1455.option.exclude_method.description": "Write method name to be excluded from analyzing.",
  "rule.sast.sw.java.1455.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.1455.option.exclude_package.description": "Write package name to be excluded from analyzing.",
  "rule.sast.sw.java.1455.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.1455.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.1455.option.include_class.name": "Including class",
  "rule.sast.sw.java.1455.option.include_method.description": "Write method name to be included to analysis.",
  "rule.sast.sw.java.1455.option.include_method.name": "Including method",
  "rule.sast.sw.java.1455.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.1455.option.include_package.name": "Including package",
  "rule.sast.sw.java.1455.option.iterator_type_name.description": "Write a type of Iterator.",
  "rule.sast.sw.java.1455.option.iterator_type_name.name": "Iterator type name",
  "rule.sast.sw.java.1455.option.method_name.description": "Write a method name which removes a item in collection.",
  "rule.sast.sw.java.1455.option.method_name.name": "Remove item method name.",
  "rule.sast.sw.java.1455.option.type_name.description": "Write a kind of collection type name to detect.",
  "rule.sast.sw.java.1455.option.type_name.name": "Collection type name",
  "rule.sast.sw.java.1456.description": "The Non-static serializable inner class checker finds instances of serializing a non-static inner class.\nserialPersistentFields cannot be set for the non-static inner class.\nDeclare a static inner class to serialize it.",
  "rule.sast.sw.java.1456.example.0.dangerous": "Line 3: A non-static inner class is attempted to be serialized.",
  "rule.sast.sw.java.1456.example.0.safe": "Line 3: Serialize a static inner class.",
  "rule.sast.sw.java.1456.name": "Non-static serializable inner class",
  "rule.sast.sw.java.1456.option.class_type_name.description": "Write a type name of Serializable",
  "rule.sast.sw.java.1456.option.class_type_name.name": "Serializable type name",
  "rule.sast.sw.java.1456.option.exclude_class.description": "Write class name to be excluded from analyzing.",
  "rule.sast.sw.java.1456.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.1456.option.exclude_method.description": "Write method name to be excluded from analyzing.",
  "rule.sast.sw.java.1456.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.1456.option.exclude_package.description": "Write package name to be excluded from analyzing.",
  "rule.sast.sw.java.1456.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.1456.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.1456.option.include_class.name": "Including class",
  "rule.sast.sw.java.1456.option.include_method.description": "Write method name to be included to analysis.",
  "rule.sast.sw.java.1456.option.include_method.name": "Including method",
  "rule.sast.sw.java.1456.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.1456.option.include_package.name": "Including package",
  "rule.sast.sw.java.1459.description": "The Improper implementation of Externalizable interface checker finds instances of calling a specified method without a synchronize block in an externalizable class.\nwriteExternal and readExternal methods are implemented by a public class, this can be lead to exposure.\nWhen a serialization or deserialization method is called by readExternal() or writeExternal() method, make sure to call the method in a synchronized block, which avoid overriding other class information. Use an if statement in synchronized to protect race conditions.",
  "rule.sast.sw.java.1459.example.0.dangerous": "Line 2: A call to deserialized method is exposed.",
  "rule.sast.sw.java.1459.example.0.safe": "Line 7: Make sure to call an exposed deserialized method in a synchronized block.",
  "rule.sast.sw.java.1459.name": "Improper implementation of Externalizable interface",
  "rule.sast.sw.java.1459.option.call_name.description": "Write a method name of Serialize and Deserialize method calls.",
  "rule.sast.sw.java.1459.option.call_name.name": "Serialize and Deserialize method",
  "rule.sast.sw.java.1459.option.call_type.description": "Write a type name of Serialize and Deserialize classes.",
  "rule.sast.sw.java.1459.option.call_type.name": "Serialize and Deserialize class type",
  "rule.sast.sw.java.1459.option.method_name.description": "Write a method name of implementing Externalizable interface.",
  "rule.sast.sw.java.1459.option.method_name.name": "Externalizable method",
  "rule.sast.sw.java.1460.description": "The Untrusted input in AccessController.doPrivileged checker finds instances of using unvalidated external values to AccessController.doPrivileged() method.\nAn attacker can use the unvalidated external values to access to system files.\nDo not use the unvalidated or untrusted values in privileged blocks.",
  "rule.sast.sw.java.1460.example.0.dangerous": "Line 10: An unvalidated external input, filename, is used in AccessController.doPrivileged() method.",
  "rule.sast.sw.java.1460.example.0.safe": "Line 16: Verify an external input by using cleanAFilenameAndPath() method before using.",
  "rule.sast.sw.java.1460.name": "Untrusted input in AccessController.doPrivileged",
  "rule.sast.sw.java.1460.option.method_name.description": "Write a name of doPrivileged method.",
  "rule.sast.sw.java.1460.option.method_name.name": "A name of doPrivileged  method",
  "rule.sast.sw.java.1460.option.type_name.description": "Write a name of AccessController class.",
  "rule.sast.sw.java.1460.option.type_name.name": "A name of AccessController  class",
  "rule.sast.sw.java.1464.description": "The Cycle in class initialization checker finds instances of creating fields and instances in incorrect orders in field operation.\nUnexpected results can occur by initialization cycle.Different values are evaluated from member variables by their creating or operating sequences.\nEnsure to comply sequences for creating member variables and their instances while performing operations in constructors.",
  "rule.sast.sw.java.1464.example.0.dangerous": "Line 3: A member variable cycle is declared and initialized, while another variable deposit is not defined. This can lead to an unexpected result.",
  "rule.sast.sw.java.1464.example.0.safe": "Line 4: Ensure to initialize a variable in a constructor before declaring the member variable, cycle.",
  "rule.sast.sw.java.1464.name": "Cycle in class initialization",
  "rule.sast.sw.java.1465.description": "The Cycle in class initialization checker finds initialization cycles within classes.\nThe initialization cycle results in an unexpected action. You can only check the issue by comparing source code of related classes, not each one of them. Different values are evaluated from static member variables by their initialization sequences. \nRemove the initialization cycles of static member variables from inner classes.",
  "rule.sast.sw.java.1465.example.0.dangerous": "Line 2: An initialized static final variable cannot be changed. Different values can be evaluated by a sequence in initialization cycle.\nLine 6: Same as above.\nLine 11: Same as above.",
  "rule.sast.sw.java.1465.example.0.safe": "Line 2: Remove the initialization cycle.",
  "rule.sast.sw.java.1465.name": "Cycle in class initialization",
  "rule.sast.sw.java.1465.option.exclude_class.description": "Write class name to be excluded from analyzing.",
  "rule.sast.sw.java.1465.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.1465.option.exclude_method.description": "Write method name to be excluded from analyzing.",
  "rule.sast.sw.java.1465.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.1465.option.exclude_package.description": "Write package name to be excluded from analyzing.",
  "rule.sast.sw.java.1465.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.1465.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.1465.option.include_class.name": "Including class",
  "rule.sast.sw.java.1465.option.include_method.description": "Write method name to be included to analysis.",
  "rule.sast.sw.java.1465.option.include_method.name": "Including method",
  "rule.sast.sw.java.1465.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.1465.option.include_package.name": "Including package",
  "rule.sast.sw.java.1467.description": "The Non-final loop index checker finds missing final qualifiers of loop variables in for each statements.\nThe loop variables cannot be changed in the for-each statements. Therefore, explicitly specify final qualifiers to the loop variables to avoid unintended results.\nEnsure to use a final qualifier in a for each loop variable.",
  "rule.sast.sw.java.1467.example.0.dangerous": "Line 3: A final qualifier is not used for a for each loop variable.",
  "rule.sast.sw.java.1467.example.0.safe": "Line 3: Ensure to use a final qualifier for a for each loop variable to avoid changing the variable.",
  "rule.sast.sw.java.1467.name": "Non-final loop index",
  "rule.sast.sw.java.1467.option.exclude_class.description": "Write class name to be excluded from analyzing.",
  "rule.sast.sw.java.1467.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.1467.option.exclude_package.description": "Write package name to be excluded from analyzing.",
  "rule.sast.sw.java.1467.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.1467.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.1467.option.include_class.name": "Including class",
  "rule.sast.sw.java.1467.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.1467.option.include_package.name": "Including package",
  "rule.sast.sw.java.1470.description": "The Expression in assert statement checker finds instances of calling methods or using incremental / assignment statements in assert statements.\nAssert statement is not enabled by default. Calling a method or inserting statements such as incrementation or assignment will change subsequent code flows. If the assertion is enabled, its code runs as expected. If not, it does not run.\nIt is recommended to assign a return to a boolean variable rather than calling a method in assert statements.",
  "rule.sast.sw.java.1470.example.0.dangerous": "Line 6: A method is called by assert statements.\nLine 7: An assignment is used in assert statements.",
  "rule.sast.sw.java.1470.example.0.safe": "Line 7: Modify the assert do not change program logic.",
  "rule.sast.sw.java.1470.name": "Expression in assert statement",
  "rule.sast.sw.java.1470.option.exclude_class.description": "Write class name to be excluded from analyzing.",
  "rule.sast.sw.java.1470.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.1470.option.exclude_package.description": "Write package name to be excluded from analyzing.",
  "rule.sast.sw.java.1470.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.1470.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.1470.option.include_class.name": "Including class",
  "rule.sast.sw.java.1470.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.1470.option.include_package.name": "Including package",
  "rule.sast.sw.java.1473.description": "The Lost of precision in casting checker finds instances of casting float types into int or long types, or double types into long types.\nThe least significant bits can be lost by casting a float type into an int or long type, or a double type into a long type. Ensure not to perform such kind of casts. \nAvoid a loss of the least significant bits caused by an invalid cast from floating-point to integer types.",
  "rule.sast.sw.java.1473.example.0.dangerous": "Line 4: A float type is cast into an int.\nLine 8: A double type is cast into a long.",
  "rule.sast.sw.java.1473.example.0.safe": "Line 4: A double type can be cast into an int.",
  "rule.sast.sw.java.1473.name": "Lost of precision in casting",
  "rule.sast.sw.java.1473.option.exclude_class.description": "Write class name to be excluded from analyzing.",
  "rule.sast.sw.java.1473.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.1473.option.exclude_package.description": "Write package name to be excluded from analyzing.",
  "rule.sast.sw.java.1473.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.1473.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.1473.option.include_class.name": "Including class",
  "rule.sast.sw.java.1473.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.1473.option.include_package.name": "Including package",
  "rule.sast.sw.java.1474.description": "The Use of raw type collection checker finds when raw type collections call methods.\nJava compiler will report an unchecked warning while compiling the raw type of collections. Fix this issue and remove the warning, or it can result in a potential error.\nDo not specify a raw type on arguments of collections.",
  "rule.sast.sw.java.1474.example.0.dangerous": "Line 6: A type of List item is not specified. An error occurs by injecting an invalid type of object. Since the type is not defined at compile time.",
  "rule.sast.sw.java.1474.example.0.safe": "Line 6: Ensure to specify a type of List item.",
  "rule.sast.sw.java.1474.name": "Use of raw type collection",
  "rule.sast.sw.java.1474.option.type_name.description": "Write a name of raw collection type.",
  "rule.sast.sw.java.1474.option.type_name.name": "Raw collection type name",
  "rule.sast.sw.java.1475.description": "The Unsafe mutable class checker finds instances of assigning mutable values of constructor arguments to fields.\nWhen an argument value is directly assigned to a field, an untrusted code can change the trusted field value.\nUse a copy constructor to save copied values to a field.",
  "rule.sast.sw.java.1475.example.0.dangerous": "Line 4: A reference is assigned by a constructor to date field. The value of date can be changed by external input.",
  "rule.sast.sw.java.1475.example.0.safe": "Line 5: Use a copy constructor to ensure that external values cannot affect date field.",
  "rule.sast.sw.java.1475.name": "Unsafe mutable class",
  "rule.sast.sw.java.1475.option.exclude_class.description": "Write class name to be excluded from analyzing.",
  "rule.sast.sw.java.1475.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.1475.option.exclude_package.description": "Write package name to be excluded from analyzing.",
  "rule.sast.sw.java.1475.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.1475.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.1475.option.include_class.name": "Including class",
  "rule.sast.sw.java.1475.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.1475.option.include_package.name": "Including package",
  "rule.sast.sw.java.1476.description": "The Inheritance of sensitive class checker finds instances that a subclass of Cloneable class with sensitive information performs clone() method.\nAn object can be copied in Java by copying memory status of the object and avoiding class constructor execution for a new instance. Sensitive information can be exposed or changed from the class.\nMake the class with sensitive information a final, or use final clone method to avoid being cloned.",
  "rule.sast.sw.java.1476.example.0.dangerous": "Line 7: A Cloneable class with sensitive information is inherited. This can lead to expose the sensitive information.",
  "rule.sast.sw.java.1476.example.0.safe": "Line 7: Make the class not to be inherited by clone() method.",
  "rule.sast.sw.java.1476.name": "Inheritance of sensitive class",
  "rule.sast.sw.java.1476.option.exclude_class.description": "Write class name to be excluded from analyzing.",
  "rule.sast.sw.java.1476.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.1476.option.exclude_method.description": "Write method name to be excluded from analyzing.",
  "rule.sast.sw.java.1476.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.1476.option.exclude_package.description": "Write package name to be excluded from analyzing.",
  "rule.sast.sw.java.1476.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.1476.option.implement_list.description": "Create an inheritance class name for analysis.",
  "rule.sast.sw.java.1476.option.implement_list.name": "Analysis Target Inheritance Class",
  "rule.sast.sw.java.1476.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.1476.option.include_class.name": "Including class",
  "rule.sast.sw.java.1476.option.include_method.description": "Write method name to be included to analysis.",
  "rule.sast.sw.java.1476.option.include_method.name": "Including method",
  "rule.sast.sw.java.1476.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.1476.option.include_package.name": "Including package",
  "rule.sast.sw.java.1476.option.method_names.description": "Enter the name of the method to be analyzed.",
  "rule.sast.sw.java.1476.option.method_names.name": "Analysis Target Method",
  "rule.sast.sw.java.1476.option.throw_names.description": "Enter the name of the exception processing class to be analyzed.",
  "rule.sast.sw.java.1476.option.throw_names.name": "Analysis Target Exception Class",
  "rule.sast.sw.java.1484.description": "The Log injection checker finds instances of printing out unvalidated user inputs in a log.\nIf unvalidated user inputs are printed out in a log, an attacker can insert arbitrary content in the log to confuse security personnel who consult the log. If a manipulated log successfully leads to making an inappropriate decision, the attacker can exploit the consequences.\nHave external inputs validated before they are logged. It is particularly recommended to delete newline characters.",
  "rule.sast.sw.java.1484.example.0.dangerous": "Line 2: An external input is directly printed in logs.\nLine 4: An external input is directly printed in logs.",
  "rule.sast.sw.java.1484.example.0.safe": "Line 1: Check the external input form before printing out the logs.",
  "rule.sast.sw.java.1484.name": "Log injection",
  "rule.sast.sw.java.1484.option.alarm.name": "Detection rule",
  "rule.sast.sw.java.1484.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.1484.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.1484.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.1485.description": "The Insecure File Extraction through ZipInputStream checker finds instances of uncompressing an untrusted archive file without checking the contained files' sizes and names.\nIf the files contained in an archive file are not renamed when extracted into the file system, an attacker can use file names that adversely affect the file system. And if an extremely huge file is extracted without being validated, it can overload the system or occupy a significantly large whitespace on the disk.\nWhen extracting files from an archive file, check the contained files' names and sizes before storing them.",
  "rule.sast.sw.java.1485.example.0.dangerous": "Line 14: A compressed file name is used to print out.\nLine 16: A file size is printed out to the file system without validation.",
  "rule.sast.sw.java.1485.example.0.safe": "Line 33: Verify the file name to release before using.\nLine 36: Set a limit to the file size to release.",
  "rule.sast.sw.java.1485.name": "Insecure File Extraction through ZipInputStream",
  "rule.sast.sw.java.1485.option.alarm.name": "Detection rule",
  "rule.sast.sw.java.1485.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.1485.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.1485.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.1486.description": "The Non-ASCII character used in file name and path checker finds instances of including a non-ASCII character in a file name or path.\nAlthough it is rare on modern operating systems, a file path that includes a non-ASCII character can cause system malfunctions and failure to access the file in some system environments. Also, when a file path is accessed from a command-line interface, special characters in it can disrupt the correct parsing of the command and thus allow for attacks.\nMake sure paths to a file system do not contain strange characters.",
  "rule.sast.sw.java.1486.example.0.dangerous": "Line 1: A non-ASCII character is included in a file path.",
  "rule.sast.sw.java.1486.example.0.safe": "Line 1: Name a file by using ASCII characters.",
  "rule.sast.sw.java.1486.name": "Non-ASCII character used in file name and path",
  "rule.sast.sw.java.1486.option.alarm.name": "Detection rule",
  "rule.sast.sw.java.1486.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.1486.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.1486.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.1488.description": "The Untrusted Regex checker finds regex strings that contain an unvalidated external input.\nIf users are allowed to enter any string for regex pattern matching, some patterns may extremely degrade the program's performance, Thus exploited for attacks such as denial of service (DoS).\nIt is recommended not to allow user-typed inputs to be used for generating a regex. If it is necessary, have those inputs filtered out for special regex characters.",
  "rule.sast.sw.java.1488.example.0.dangerous": "Line 47: A regular expression is created with unverified external inputs.",
  "rule.sast.sw.java.1488.example.0.safe": "Line 8: Filter the external input to create the regular expression.",
  "rule.sast.sw.java.1488.name": "Untrusted Regex",
  "rule.sast.sw.java.1488.option.alarm.name": "Detection Rule",
  "rule.sast.sw.java.1488.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.1488.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.1488.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.1489.description": "The Non-character used in input validation checker finds instances of validating an input string without removing non-characters from it.\nWhen filtering a substring from an input string, non-characters must be removed in advance from the string. Suppose that, for example, you are to remove the substring \"<script>\" from an input string that includes non-characters such as \"<scri??pt>.\" If validation is performed on the input with those non-characters included, the target substring will not be filtered.\nIf the deletion of non-characters is included in the validating process, have it conducted prior to substring filtering.",
  "rule.sast.sw.java.1489.example.0.dangerous": "Line 6: An invalid character is sent for regular expression test.",
  "rule.sast.sw.java.1489.example.0.safe": "Line 5: Remove the invalid character before sending them for the regex test.",
  "rule.sast.sw.java.1489.name": "Non-character used in input validation",
  "rule.sast.sw.java.1489.option.alarm.name": "Detection Rule",
  "rule.sast.sw.java.1489.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.1489.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.1489.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.1491.description": "The Missing NaN Check for Real Number checker finds code that do not properly check external inputs when they have floating points.\nThe floating-point is used to represent a real number. It can have a positive infinity, a negative infinity, or a Not-a-Number (NaN) value. If an untrusted external input is used for an argument of Double.valueOf function, the user can enter a NaN value. This may lead to an action that is unintended by its developer.\nAn external input, val variable can be validated by Double.isNaN function.",
  "rule.sast.sw.java.1491.example.0.dangerous": "Line 6: An untrusted external input is used for an argument of Double.valueOf function. A NaN value can be returned.\nLine 11: An exception is thrown if the val variable is a NaN value.",
  "rule.sast.sw.java.1491.example.0.safe": "Line 6: An untrusted external input is used for an argument of Double.valueOf function. A NaN value can be returned.\nLine 11: An external input, val variable can be validated by Double.isNaN() function.",
  "rule.sast.sw.java.1491.name": "Missing NaN Check for Real Number",
  "rule.sast.sw.java.1491.option.alarm.name": "Detection rule",
  "rule.sast.sw.java.1491.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.1491.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.1491.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.1492.description": "The Comparing with string representation of floating point values checker finds instances in which a double or float value is converted to a string and compared with another string.\nA real number should not be compared or checked in a string representation. A real number can be outputted as a different value than expected. For example, 0.001 can be outputted as 0.0010. Moreover, if operations are performed on a real number, errors may add up, possibly yielding an unexpected value.\nTo check whether two floating-point numbers are equal, you must do it by checking whether their difference is within the predefined tolerance. Use the BigDecimal class if you need to represent a precise decimal real number.",
  "rule.sast.sw.java.1492.example.0.dangerous": "Line 3: A double is converted to a string to compare with 0.001 string.",
  "rule.sast.sw.java.1492.example.0.safe": "Line 3: Use BigDecimal class to compare a real type written in decimal.",
  "rule.sast.sw.java.1492.name": "Comparing with string representation of floating point values",
  "rule.sast.sw.java.1492.option.alarm.name": "Detection rule",
  "rule.sast.sw.java.1492.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.1492.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.1492.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.1493.description": "The Dangerous downcasting checker finds instances of casting an integer to a narrower type.\nAn integer downcast can result in an arbitrary loss of high-order bits depending on the range of the type. This may lead to an unexpected malfunction.\nBefore an integer is downcast, the destination type must be checked if it could accommodate the original value. If you have a clear reason for downcasting, perform bitwise operations to discard high-order bits prior to the cast, thereby clarifying your intention.",
  "rule.sast.sw.java.1493.example.0.dangerous": "Line 8: A value is downcast from int type 128 into byte type -128 without validation.",
  "rule.sast.sw.java.1493.example.0.safe": "Line 4: Decide to cast based on its scopes.",
  "rule.sast.sw.java.1493.name": "Dangerous downcasting",
  "rule.sast.sw.java.1494.description": "The Direct use of mutable inputs and internal components checker finds code that does not create a copy of the mutable object before it saves and returns it.\nThe mutable object of internal components includes List, ArrayList, HashMap, Date, and Array. Status of the mutable object has a risk to be changed between the time to be validated and the time to be used. Because of this period of time between TOC and TOU (Time-of-Check and Time-of-User), an attacker can perform a race condition attack.\nCreate a copy of the cookie object for the mutable internal component. So that an argument value used for validation or function call does not get changed by external inputs.",
  "rule.sast.sw.java.1494.example.0.dangerous": "Line 3: A cookie object of HttpCookie class is a mutable internal component.\nLine 9: hasExpired function is called to check that the cookie is expired.\nLine 14: An attacker can expire the cookie before it is used as an argument of doLogic function.",
  "rule.sast.sw.java.1494.example.0.safe": "Line 3: A cookie object of HttpCookie class is a mutable internal component.\nLine 9: Create a copy of the cookie object for the mutable internal component. So that an argument value used for validation or function call does not get changed by external inputs.",
  "rule.sast.sw.java.1494.name": "Direct use of mutable inputs and internal components",
  "rule.sast.sw.java.1494.option.alarm.name": "Detection rule",
  "rule.sast.sw.java.1494.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.1494.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.1494.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.1496.description": "The Blocked external process on IO buffer checker finds instances of using an external process that may be interrupted due to negligent management of the input or output buffer.\nIf an external process indefinitely waits for an input from the standard input stream, it may fall into a wait state unless the standard input stream is piped. A wait also may occur if the process's error or output stream is left unemptied until it becomes full. An external process created without such consideration may lead to an unexpected exception or a denial-of-service (DoS) attack.\nUse methods such as redirectErrorStream() to redirect and handle the input and output buffers appropriately.",
  "rule.sast.sw.java.1496.example.0.dangerous": "Line 5: exitValue() method is called. By calling the exitValue() method for acting process, IllegalThreadStateException exception has occur. Ouput buffers are not properly managed.",
  "rule.sast.sw.java.1496.example.0.safe": "Line 5: Call redirectErrorStream(true) method to combine the error and output streams.\nLine 7: Access to the combined error and output streams.\nLine 9: Ensure to import values from streams to clear out them.",
  "rule.sast.sw.java.1496.name": "Blocked external process on IO buffer",
  "rule.sast.sw.java.1496.option.alarm.name": "Detection rule",
  "rule.sast.sw.java.1496.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.1496.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.1496.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.1497.description": "The Inadequate integer value of argument of write checker finds instances of using the write() method to output an integer that does not fall within the range of 0 to 255.\nAlthough the OutputStream.write() method takes a 32-bit integer as its argument, it outputs only the least significant eight bits and discards the 24 higher-order bits according to the official documentation. You need to understand this when using the method. If an integer outside the range of 0 to 255 is passed, it is highly likely that the programmer is not aware of the loss of the higher-order bits and thus an unwanted value is returned leading to an unexpected issue.\nPass only an integer of 0 to 255 to the write() method. If you aim at getting the lead significant eight bits from a larger integer, use bitwise operations to extract the eight bits before passing the integer, thereby clarifying your intention.",
  "rule.sast.sw.java.1497.example.0.dangerous": "Line 4: An external input is directly sent to write() without scope test. A value out of bounds can be passed.",
  "rule.sast.sw.java.1497.example.0.safe": "Line 5: Handle the exceptions only for values out of the scope.",
  "rule.sast.sw.java.1497.name": "Inadequate integer value of argument of write",
  "rule.sast.sw.java.1497.option.alarm.name": "Detection rule",
  "rule.sast.sw.java.1497.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.1497.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.1497.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.1498.description": "The Use of Untrusted File Link checker finds instances of accessing a file without checking it for linkage to another file.\nAccess to a linking file may lead to access to another file. Aiming at causing program malfunctions, an attacker can provide a symlink file in the path accessed by the program, making the program eventually access another file it points to.\nCheck files for linkage to another file before they are accessed, and if an unintended file link is found, do not proceed to accessing the problematic file.",
  "rule.sast.sw.java.1498.example.0.dangerous": "Line 3: An untrusted file path is directly accessed.",
  "rule.sast.sw.java.1498.example.0.safe": "Line 4: Check the links on the files before accessing them.",
  "rule.sast.sw.java.1498.name": "Use of Untrusted File Link",
  "rule.sast.sw.java.1498.option.alarm.name": "Detection rule",
  "rule.sast.sw.java.1498.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.1498.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.1498.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.1499.description": "The Incorrect Serialization Order checker finds instances of object serialization not performed in the order of signing, sealing, and outputting.\nAn unsigned or unsealed object can be modified. Signing subsequent to sealing is also risky because of no guarantee of the signer's integrity. Therefore, serialization must be performed in the correct order.\nSerialize objects in the order of signing, sealing, and outputting.",
  "rule.sast.sw.java.1499.example.0.dangerous": "Line 14: Target data is enveloped.\nLine 21: The enveloped data is signed. Incorrect serialization order.",
  "rule.sast.sw.java.1499.example.0.safe": "Line 9: First, ensure to sign data.\nLine 21: Then, envelope the signed data. Now this data can be trusted.",
  "rule.sast.sw.java.1499.name": "Incorrect Serialization Order",
  "rule.sast.sw.java.1500.description": "The Memory and resource leakages during serialization checker finds code that reuses java.io.ObjectOutputStream object while the object is previously created in order to serialize data without any reference to another object.\nThe java.io.ObjectOutputStream object ensures that each object is written to the stream only once by retaining a reference to each object written to the stream. When an previously written object is subsequently written to the stream again, it is replaced with a reference to the originally written object, regardless of whether the object's contents have changed or not. At this point, a table of reference will be maintained to keep tracks of previously serialized objects. The table prevents garbage collection of the previously serialized objects.\nAfter the write operation, clear out the cache by resetting output stream through java.io.ObjectOutputStream.reset() method.",
  "rule.sast.sw.java.1500.example.0.dangerous": "Line 16: SensorData object is newly created and returned whenever readSensorData() method is called.\nLine 17: java.io.ObjectOutputStream maintains cache from objects that are previously written. All SensorData objects will remain until garbage collection.",
  "rule.sast.sw.java.1500.example.0.safe": "Line 11: After the write operation, clear out the cache by resetting output stream through java.io.ObjectOutputStream.reset() method. As a result, the cache no longer maintains references to objects that are previously used for writing.",
  "rule.sast.sw.java.1500.name": "Memory and resource leakages during serialization",
  "rule.sast.sw.java.1502.description": "The Use of default automatic signature verification checker finds code that uses the default auto-signature verification only, but does not check that the signature is correct.\nJava typically uses the JAR format to package and distribute files in a platform-independent way. The JAR is preferred for deployment of Enterprise Java Beans (EJBs), MIDlets (J2ME) or Weblogic Server J2EE application. In addition, the Java Web Start uses the JAR format for point-and-click installation. Vendors of the JAR file also can sign the file when necessary. However, while a signature guarantees who signs the code, it does not guarantee that the code is secure. Moreover, client code may not properly validate the signature. For example, URLClassLoader and its subclasses and instances of java.util.jar automatically verify the signature of the JAR file. But, custom class loaders created by individual programmers may not have this verification. Even for URLClassLoader, automatic verification checks code integrity only. This may fail to verify loaded classes because it uses a public key contained in the JAR file without validating the key.\nUse java.security.cert.Certificate.verify function to verify the signature.",
  "rule.sast.sw.java.1502.example.0.dangerous": "Line 50: A loaded class is used without verification.",
  "rule.sast.sw.java.1502.example.0.safe": "Line 6: After loading the class, check its signature first.",
  "rule.sast.sw.java.1502.name": "Use of default automatic signature verification",
  "rule.sast.sw.java.1503.description": "The Improper use of return value from readInt checker finds instances of using return values of readInt() method without `0xFFFFFFFFL` masking for long type variables.\nThe most significant bit gives the sign of numbers. For 32-bit unsigned data, the most significant bit does not give a sign. But it can be misunderstood to represent a sign, and occur unexpected results.\nPerform `0xFFFFFFFF` masking on a return of readInt() method to use it for a long type variable.",
  "rule.sast.sw.java.1503.example.0.dangerous": "Line 3: A long type is returned by readInt() method without masking.",
  "rule.sast.sw.java.1503.example.0.safe": "Line 3: The data is returned after a masking for the most significant bit.",
  "rule.sast.sw.java.1503.name": "Improper use of return value from readInt",
  "rule.sast.sw.java.1503.option.method_name.description": "Write a name of readInt() method.",
  "rule.sast.sw.java.1503.option.method_name.name": "A name of readInt()",
  "rule.sast.sw.java.1503.option.type_name.description": "Write class names including readInt() method.",
  "rule.sast.sw.java.1503.option.type_name.name": "Class names including readInt()",
  "rule.sast.sw.java.1504.description": "The Throwing exception in constructor finds instances of throwing exceptions within constructors.\nThis can lead to initialization. References of instances can be intercepted by inheriting external values as well.\nMake sure to declare a class as final, override finalize() method with final, or declare an initialized flag with an optionally specified name.",
  "rule.sast.sw.java.1504.example.0.dangerous": "Line 4: A throw statement is used within a constructor.",
  "rule.sast.sw.java.1504.example.0.safe": "Line 1: Make it to a final class not to inherited by external values.",
  "rule.sast.sw.java.1504.name": "Throwing exception in constructor",
  "rule.sast.sw.java.1504.option.initialized_flag.description": "Write a name of a flag of sucess initializing.",
  "rule.sast.sw.java.1504.option.initialized_flag.name": "A flag of sucess initializing",
  "rule.sast.sw.java.1505.description": "The Improper comparison between key objects checker finds instances of comparing encryption keys by using key.equals() method.\nComparing objects from java.security.Key is not possible by comparing the objects only. For precise comparison, information such as encoding of the key, a private key, etc., need to be compared separately.\nEnsure to call key.getEncoded() method to compare the encryption key.",
  "rule.sast.sw.java.1505.example.0.dangerous": "Line 3: Object key1 and key2 are not precisely compared.",
  "rule.sast.sw.java.1505.example.0.safe": "Line 3: Other than object comparison, compare properties of the keys to check equality between them.",
  "rule.sast.sw.java.1505.name": "Improper comparison between key objects",
  "rule.sast.sw.java.1505.option.method_name.description": "Write a name of equals() method.",
  "rule.sast.sw.java.1505.option.method_name.name": "eqauls() method",
  "rule.sast.sw.java.1505.option.safe_method.description": "Write a name of comparing attributes method.",
  "rule.sast.sw.java.1505.option.safe_method.name": "Comparing attributes method",
  "rule.sast.sw.java.1505.option.type_name.description": "Write a name of Key class",
  "rule.sast.sw.java.1505.option.type_name.name": "A name of Key class",
  "rule.sast.sw.java.1506.description": "The Improper URL comparison checker finds calls to URL.equals() method.\nAn identical IP address can be used by a single computer through virtual hosting. In this case, if you use equals() method to compare different URLs with the identical IP address, they are evaluated as one object.\nEnsure not to use URL.equals() method to compare URL objects.",
  "rule.sast.sw.java.1506.example.0.dangerous": "Line 4: Instances of URL objects are compared.",
  "rule.sast.sw.java.1506.example.0.safe": "Line 4: Compare URL addresses as intended.",
  "rule.sast.sw.java.1506.name": "Improper URL comparison",
  "rule.sast.sw.java.1506.option.method_names.description": "Write a name of equals() method.",
  "rule.sast.sw.java.1506.option.method_names.name": "eqauls() method",
  "rule.sast.sw.java.1506.option.throw_names.description": "Write a URL exception class name.",
  "rule.sast.sw.java.1506.option.throw_names.name": "URL Exception Class",
  "rule.sast.sw.java.1506.option.type_names.description": "Write a name of URL class.",
  "rule.sast.sw.java.1506.option.type_names.name": "A name of URL class",
  "rule.sast.sw.java.1508.description": "The Improper Restoration on Failure checker finds instances of assigning a value to a field after an exception is thrown by a try block.\nThe exception is not applied when a value is assigned to a field after a throw statement of try block. The field value can be changed by a catch or finally block.\nIf needed, assign the value before the throw statement.",
  "rule.sast.sw.java.1508.example.0.dangerous": "Line 26-28: When an assignment is added after a throw of try block,",
  "rule.sast.sw.java.1508.example.0.safe": "Line 30-32: modify to assign its value before the throw statement.",
  "rule.sast.sw.java.1508.name": "Improper Restoration on Failure",
  "rule.sast.sw.java.1509.description": "The Use of same thread pool checker finds instances of using a thread pool and performing a sub-task on the same pool.\nWhen all threads are running, other tasks on the threads get stopped. And their incomplete sub-tasks will be stopped as well. Therefore, it is recommended not to perform upper tasks and sub-tasks on the same thread pool.\nDo not perform a sub-task on the same pool with thread pool.",
  "rule.sast.sw.java.1509.example.0.dangerous": "Line 21: A thread is running by ValidateInput class on the same pool.",
  "rule.sast.sw.java.1509.example.0.safe": "Line 8: Modify to perform ValidateInput class on a pool.",
  "rule.sast.sw.java.1509.name": "Use of same thread pool",
  "rule.sast.sw.java.1509.option.method_name.description": "Write a name of excuting thread method.",
  "rule.sast.sw.java.1509.option.method_name.name": "A name of excuting thread method",
  "rule.sast.sw.java.1509.option.type_name.description": "Write a name of excuting thread class.",
  "rule.sast.sw.java.1509.option.type_name.name": "A name of excuting thread class",
  "rule.sast.sw.java.1510.description": "The Not reinitialized ThreadLocal field checker finds instances of using execute() methods for class of ThreadLocal type fields without try-finally blocks.\nThe class of ThreadLocal needs to be reinitialized in a finally block. You can optionally specify values of the checker to set to target methods and reinitialization functions. \nThe class of ThreadLocal needs to be reinitialized in a finally block.",
  "rule.sast.sw.java.1510.example.0.dangerous": "Line 35: A finally statement is not found as well as reinitialization after threads running.",
  "rule.sast.sw.java.1510.example.0.safe": "Line 17: Insert an initialization statement of the class after running its thread.",
  "rule.sast.sw.java.1510.name": "Not reinitialized ThreadLocal field",
  "rule.sast.sw.java.1510.option.executor_method.description": "Write a name of Executor class.",
  "rule.sast.sw.java.1510.option.executor_method.name": "Executor class",
  "rule.sast.sw.java.1510.option.method_names.description": "Enter override method name for analysis.",
  "rule.sast.sw.java.1510.option.method_names.name": "Analysis Target Override Method",
  "rule.sast.sw.java.1510.option.reinitializer_method.description": "Write a name of re-initializer method.",
  "rule.sast.sw.java.1510.option.reinitializer_method.name": "Re-initializer method",
  "rule.sast.sw.java.1510.option.type_names.description": "Enter class type name for analysis.",
  "rule.sast.sw.java.1510.option.type_names.name": "Analysis Target Class Type",
  "rule.sast.sw.java.1511.description": "The Partially initialized object checker finds a partially initialized object when created by a thread.\nAn unexpected result can occur by possibility of partially initialized object shared in multithreaded environment. You can optionally specify initialization methods. The checker finds the non-synchronized methods with a non-final or non-volatile field.\nDeclare the initialization method as synchronized, or fields of the initialization method as final or volatile.",
  "rule.sast.sw.java.1511.example.0.dangerous": "Line 8: An initialization method is used: a non-synchronized method with a non-final or non-volatile field.",
  "rule.sast.sw.java.1511.example.0.safe": "Line 8: Use a synchronized method to initialize the field.",
  "rule.sast.sw.java.1511.name": "Partially initialized object",
  "rule.sast.sw.java.1511.option.initializer_method.description": "Write a name of initialize method.",
  "rule.sast.sw.java.1511.option.initializer_method.name": "Initialize method",
  "rule.sast.sw.java.1524.description": "The Improper use of return value from reading checker finds instances of receiving a non-integer return of InputStream.read() and comparing it with -1.\nread() method of InputStream class returns an int type: If the return type gets converted, an action can be unexpectedly ended.\nMake sure to receive the return of InputStream.read() to an int variable.",
  "rule.sast.sw.java.1524.example.0.dangerous": "Line 6: A return of read() method is compared with a byte.",
  "rule.sast.sw.java.1524.example.0.safe": "Line 7: Ensure to compare the return of read() method with an int.",
  "rule.sast.sw.java.1524.name": "Improper use of return value from reading",
  "rule.sast.sw.java.1524.option.exclude_class.description": "Write class name to be excluded from analyzing.",
  "rule.sast.sw.java.1524.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.1524.option.exclude_method.description": "Write method name to be excluded from analyzing.",
  "rule.sast.sw.java.1524.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.1524.option.exclude_package.description": "Write package name to be excluded from analyzing.",
  "rule.sast.sw.java.1524.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.1524.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.1524.option.include_class.name": "Including class",
  "rule.sast.sw.java.1524.option.include_method.description": "Write method name to be included to analysis.",
  "rule.sast.sw.java.1524.option.include_method.name": "Including method",
  "rule.sast.sw.java.1524.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.1524.option.include_package.name": "Including package",
  "rule.sast.sw.java.1524.option.method_name.description": "Wirte a name of a READ method.",
  "rule.sast.sw.java.1524.option.method_name.name": "READ Method",
  "rule.sast.sw.java.1524.option.type_name.description": "Write a name of input classes.",
  "rule.sast.sw.java.1524.option.type_name.name": "A name of input class",
  "rule.sast.sw.java.1525.description": "The Incomplete Static Initializer Block checker finds a static field that can be incompletely initialized.\nA static initializer block can be incompletely initialized even in a static initializer. By declaring a static field as final, a nullable value is allowed. At the same time, it ensures to reference fully initialized objects instead of null.\nMake sure to declare static fields to final.",
  "rule.sast.sw.java.1525.example.0.dangerous": "Line 5: A static initializer cannot be initialized due to an error.",
  "rule.sast.sw.java.1525.example.0.safe": "Line 2: Modify to append final to stock member variable, or perform initialization in finally statement next to catch statement.",
  "rule.sast.sw.java.1525.name": "Incomplete Static Initializer Block",
  "rule.sast.sw.java.1527.description": "The Use of system environment variables checker finds a call to System.getEnv() method.\nAn environment value can be differed depending on its platforms. For example, you can use variable USERNAME to get usernames in Windows, but use USER in Unix system. This allows an attacker to set a certain variable to execute a malicious program.\nSystem.getEnv() method must not be called.",
  "rule.sast.sw.java.1527.example.0.dangerous": "Line 5: System.getenv() method is called.\nLine 9: System.getenv() method is called.",
  "rule.sast.sw.java.1527.example.0.safe": "Line 5: Do not use System.getenv() method.\nLine 9: System.getenv() method is called.",
  "rule.sast.sw.java.1527.name": "Use of system environment variables",
  "rule.sast.sw.java.1527.option.exclude_class.description": "Write class name to be excluded from analyzing.",
  "rule.sast.sw.java.1527.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.1527.option.exclude_method.description": "Write method name to be excluded from analyzing.",
  "rule.sast.sw.java.1527.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.1527.option.exclude_package.description": "Write package name to be excluded from analyzing.",
  "rule.sast.sw.java.1527.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.1527.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.1527.option.include_class.name": "Including class",
  "rule.sast.sw.java.1527.option.include_method.description": "Write method name to be included to analysis.",
  "rule.sast.sw.java.1527.option.include_method.name": "Including method",
  "rule.sast.sw.java.1527.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.1527.option.include_package.name": "Including package",
  "rule.sast.sw.java.1527.option.method_name.description": "Write a name of getenv() method.",
  "rule.sast.sw.java.1527.option.method_name.name": "A name of getenv method",
  "rule.sast.sw.java.1527.option.type_name.description": "Write a name of System class.",
  "rule.sast.sw.java.1527.option.type_name.name": "A name of System class",
  "rule.sast.sw.java.1528.description": "The Use of ReflectPermission checker finds instances of gaining permission with java.lang.ReflectPermission.\nYou can get all permissions to access fields by using name of suppressAccessChecks in ReflectPermission. Then, private, and protected fields can be exposed. \nDo not use java.lang.ReflectPermission to gain permissions.",
  "rule.sast.sw.java.1528.example.0.dangerous": "Line 5: ReflectionPermission is used to gain permissions.",
  "rule.sast.sw.java.1528.example.0.safe": "Line 5: Do not use ReflectPermission to give permissions.",
  "rule.sast.sw.java.1528.name": "Use of ReflectPermission",
  "rule.sast.sw.java.1528.option.class_type_name.description": "Write a type's name of thread classes.",
  "rule.sast.sw.java.1528.option.class_type_name.name": "A type of thread class",
  "rule.sast.sw.java.1528.option.exclude_class.description": "Write class name to be excluded from analyzing.",
  "rule.sast.sw.java.1528.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.1528.option.exclude_method.description": "Write method name to be excluded from analyzing.",
  "rule.sast.sw.java.1528.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.1528.option.exclude_package.description": "Write package name to be excluded from analyzing.",
  "rule.sast.sw.java.1528.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.1528.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.1528.option.include_class.name": "Including class",
  "rule.sast.sw.java.1528.option.include_method.description": "Write method name to be included to analysis.",
  "rule.sast.sw.java.1528.option.include_method.name": "Including method",
  "rule.sast.sw.java.1528.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.1528.option.include_package.name": "Including package",
  "rule.sast.sw.java.1528.option.method_name.description": "Write a name of add method.",
  "rule.sast.sw.java.1528.option.method_name.name": "A name of add method",
  "rule.sast.sw.java.1528.option.type_name.description": "Write a name of PermissionCollection class",
  "rule.sast.sw.java.1528.option.type_name.name": "A name of PermissionCollection class",
  "rule.sast.sw.java.1532.description": "The Comparing class name checker finds instances of comparing classes with their names.\nIf classes get compared by name, two different classes can be evaluated as identical. Therefore, do not compare classes by name.\nClasses cannot be compared with their names.",
  "rule.sast.sw.java.1532.example.0.dangerous": "Line 3: Classes are compared by name.",
  "rule.sast.sw.java.1532.example.0.safe": "Line 3: Compare classes themselves, not by name.",
  "rule.sast.sw.java.1532.name": "Comparing class name",
  "rule.sast.sw.java.1532.option.exclude_class.description": "Write class name to be excluded from analyzing.",
  "rule.sast.sw.java.1532.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.1532.option.exclude_method.description": "Write method name to be excluded from analyzing.",
  "rule.sast.sw.java.1532.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.1532.option.exclude_package.description": "Write package name to be excluded from analyzing.",
  "rule.sast.sw.java.1532.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.1532.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.1532.option.include_class.name": "Including class",
  "rule.sast.sw.java.1532.option.include_method.description": "Write method name to be included to analysis.",
  "rule.sast.sw.java.1532.option.include_method.name": "Including method",
  "rule.sast.sw.java.1532.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.1532.option.include_package.name": "Including package",
  "rule.sast.sw.java.1533.description": "The Use of parameter in assert statement checker finds instances of using a method argument in assert statements.\nIf you validate method arguments by using assert statements, exception handling cannot be checked. \nDo not use assertion to validate the arguments of public method.",
  "rule.sast.sw.java.1533.example.0.dangerous": "Line 3: Method argument x is used in an assert statement.\nLine 4: Method argument y is used in an assert statement.",
  "rule.sast.sw.java.1533.example.0.safe": "Line 5: Do not use a method argument in an assert.",
  "rule.sast.sw.java.1533.name": "Use of parameter in assert statement",
  "rule.sast.sw.java.1533.option.exclude_class.description": "Write class name to be excluded from analyzing.",
  "rule.sast.sw.java.1533.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.1533.option.exclude_method.description": "Write method name to be excluded from analyzing.",
  "rule.sast.sw.java.1533.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.1533.option.exclude_package.description": "Write package name to be excluded from analyzing.",
  "rule.sast.sw.java.1533.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.1533.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.1533.option.include_class.name": "Including class",
  "rule.sast.sw.java.1533.option.include_method.description": "Write method name to be included to analysis.",
  "rule.sast.sw.java.1533.option.include_method.name": "Including method",
  "rule.sast.sw.java.1533.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.1533.option.include_package.name": "Including package",
  "rule.sast.sw.java.1535.description": "The Critical public method without final modifier checker finds instances of declaring a certain kind of method as public or non-final.\nWhen a security sensitive method is declared as public or non-final, it can be overridden by a malicious method. \nEnsure to declare the security sensitive method as private or final. ",
  "rule.sast.sw.java.1535.example.0.dangerous": "Line 2: If readSensitiveFile method performs security checks, it needs to be declared as final.",
  "rule.sast.sw.java.1535.example.0.safe": "Line 2: Declare the security sensitive method as final to prevent it from overriding.",
  "rule.sast.sw.java.1535.name": "Critical public method without final modifier",
  "rule.sast.sw.java.1535.option.exclude_class.description": "Write class name to be excluded from analyzing.",
  "rule.sast.sw.java.1535.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.1535.option.exclude_method.description": "Write method name to be excluded from analyzing.",
  "rule.sast.sw.java.1535.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.1535.option.exclude_package.description": "Write package name to be excluded from analyzing.",
  "rule.sast.sw.java.1535.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.1535.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.1535.option.include_class.name": "Including class",
  "rule.sast.sw.java.1535.option.include_method.description": "Write method name to be included to analysis.",
  "rule.sast.sw.java.1535.option.include_method.name": "Including method",
  "rule.sast.sw.java.1535.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.1535.option.include_package.name": "Including package",
  "rule.sast.sw.java.1535.option.type_names.description": "Creates a type name for the variable that contains the analysis.",
  "rule.sast.sw.java.1535.option.type_names.name": "Type name of variable with analysis",
  "rule.sast.sw.java.1536.description": "The Increased accessibility of method checker finds when a method with a protected qualifier overrides other methods to public in sub-classes.\nIf overridden methods get expanded their accessibilities, malicious sub-classes can access to the methods.\nEnsure to declare the method as final to prevent it from overriding.",
  "rule.sast.sw.java.1536.example.0.dangerous": "Line 2: doLogic() method is overridden to public.",
  "rule.sast.sw.java.1536.example.0.safe": "Line 2: Declare the method as final to prevent it from overriding.",
  "rule.sast.sw.java.1536.name": "Increased accessibility of method",
  "rule.sast.sw.java.1536.option.exclude_class.description": "Write class name to be excluded from analyzing.",
  "rule.sast.sw.java.1536.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.1536.option.exclude_method.description": "Write method name to be excluded from analyzing.",
  "rule.sast.sw.java.1536.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.1536.option.exclude_package.description": "Write package name to be excluded from analyzing.",
  "rule.sast.sw.java.1536.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.1536.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.1536.option.include_class.name": "Including class",
  "rule.sast.sw.java.1536.option.include_method.description": "Write method name to be included to analysis.",
  "rule.sast.sw.java.1536.option.include_method.name": "Including method",
  "rule.sast.sw.java.1536.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.1536.option.include_package.name": "Including package",
  "rule.sast.sw.java.1537.description": "The Overridable method call in clone method checker finds a call to methods that can be overridden by clone() method.\nAn attacker can exploit inheritance of overridable methods. The overridable methods tend to be affected by external inputs. The clone() method can be changed by overridden method.\nEnsure not to call method to be overridden by clone() method.",
  "rule.sast.sw.java.1537.example.0.dangerous": "Line 17: doSomething() method that can be overridden by clone() method is called in Sub class.",
  "rule.sast.sw.java.1537.example.0.safe": "Line 24: Declare the method as final to prevent it from overriding.",
  "rule.sast.sw.java.1537.name": "Overridable method call in clone method",
  "rule.sast.sw.java.1537.option.exclude_class.description": "Write the name of class names to be excluded from analyzing.",
  "rule.sast.sw.java.1537.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.1537.option.exclude_package.description": "Write the name of package names to be excluded from analyzing.",
  "rule.sast.sw.java.1537.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.1537.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.1537.option.include_class.name": "Including class",
  "rule.sast.sw.java.1537.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.1537.option.include_package.name": "Including package",
  "rule.sast.sw.java.1538.description": "The Overriding public static method checker finds instances that a public static method is used to override in a superclass.\nThis may lead to output an identical result upon different instances. The checker finds a public static method overridded to a superclass Yet, when the class directly calls the method, you can use a public static method as an exception.\nDo not use a public static method to override in a superclass.",
  "rule.sast.sw.java.1538.example.0.dangerous": "Line 2: A public static overriding method is declared.\nLine 8: System.getenv() method is called.",
  "rule.sast.sw.java.1538.example.0.safe": "Line 2: Do not declare the overriding method to static.\nLine 8: Do not declare the overriding method to static.",
  "rule.sast.sw.java.1538.name": "Overriding public static method",
  "rule.sast.sw.java.1538.option.exclude_class.description": "Write class name to be excluded from analyzing.",
  "rule.sast.sw.java.1538.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.1538.option.exclude_method.description": "Write method name to be excluded from analyzing.",
  "rule.sast.sw.java.1538.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.1538.option.exclude_package.description": "Write package name to be excluded from analyzing.",
  "rule.sast.sw.java.1538.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.1538.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.1538.option.include_class.name": "Including class",
  "rule.sast.sw.java.1538.option.include_method.description": "Write method name to be included to analysis.",
  "rule.sast.sw.java.1538.option.include_method.name": "Including method",
  "rule.sast.sw.java.1538.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.1538.option.include_package.name": "Including package",
  "rule.sast.sw.java.1540.description": "The Unhandled exception in finally block checker finds instances that exception handling is not performed from a method.\nFor example, after an exception occurs in a finally block, code flow will stop.\nEnsure to handle the exception resulted by a method of the finally block.",
  "rule.sast.sw.java.1540.example.0.dangerous": "Line 10: IOException is thrown by close() method of BufferedReader.",
  "rule.sast.sw.java.1540.example.0.safe": "Line 11: Ensure to handle the exception.",
  "rule.sast.sw.java.1540.name": "Unhandled exception in finally block",
  "rule.sast.sw.java.1540.option.exclude_class.description": "Write class name to be excluded from analyzing.",
  "rule.sast.sw.java.1540.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.1540.option.exclude_method.description": "Write method name to be excluded from analyzing.",
  "rule.sast.sw.java.1540.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.1540.option.exclude_package.description": "Write package name to be excluded from analyzing.",
  "rule.sast.sw.java.1540.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.1540.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.1540.option.include_class.name": "Including class",
  "rule.sast.sw.java.1540.option.include_method.description": "Write method name to be included to analysis.",
  "rule.sast.sw.java.1540.option.include_method.name": "Including method",
  "rule.sast.sw.java.1540.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.1540.option.include_package.name": "Including package",
  "rule.sast.sw.java.1541.description": "The Non-volatile shared field between threads checker finds instances of using a primitive non-volatile field in run() method.\nInformation may not be shared between threads due to a non-volatile field. \nEnsure to declare a primitive non-volatile field in run() method.",
  "rule.sast.sw.java.1541.example.0.dangerous": "Line 2: A non-volatile variable is used to be shared between threads.\nLine 3: System.getenv() method is called.",
  "rule.sast.sw.java.1541.example.0.safe": "Line 2: Ensure to declare the variable as volatile.\nLine 3: System.getenv() method is called.",
  "rule.sast.sw.java.1541.name": "Non-volatile shared field between threads",
  "rule.sast.sw.java.1541.option.exclude_class.description": "Write class name to be excluded from analyzing.",
  "rule.sast.sw.java.1541.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.1541.option.exclude_method.description": "Write method name to be excluded from analyzing.",
  "rule.sast.sw.java.1541.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.1541.option.exclude_package.description": "Write package name to be excluded from analyzing.",
  "rule.sast.sw.java.1541.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.1541.option.implement_list.description": "Write a name of runnable interface.",
  "rule.sast.sw.java.1541.option.implement_list.name": "Runnable interface",
  "rule.sast.sw.java.1541.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.1541.option.include_class.name": "Including class",
  "rule.sast.sw.java.1541.option.include_method.description": "Write method name to be included to analysis.",
  "rule.sast.sw.java.1541.option.include_method.name": "Including method",
  "rule.sast.sw.java.1541.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.1541.option.include_package.name": "Including package",
  "rule.sast.sw.java.1541.option.thread_list.description": "Write a name of thread class.",
  "rule.sast.sw.java.1541.option.thread_list.name": "Thread class",
  "rule.sast.sw.java.1541.option.type_name.description": "Write a name of shared variable types.",
  "rule.sast.sw.java.1541.option.type_name.name": "Shared variable type",
  "rule.sast.sw.java.1544.description": "The Non-thread-safe method chaining checker finds method chaining patterns which makes threads unsafe.\nMethod chaining does not contain atomicity in its method chaining pattern. Therefore, ensure that calls to the chained method are atomic.\nUse the method chaining pattern for nested static classes to make threads secure.",
  "rule.sast.sw.java.1544.example.0.dangerous": "Line 1: A method chaining pattern is used, and makes threads unsafe.",
  "rule.sast.sw.java.1544.example.0.safe": "Line 1: Use a static builder to ensure security of the threads.",
  "rule.sast.sw.java.1544.name": "Non-thread-safe method chaining",
  "rule.sast.sw.java.1544.option.exclude_class.description": "Write class name to be excluded from analyzing.",
  "rule.sast.sw.java.1544.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.1544.option.exclude_method.description": "Write method name to be excluded from analyzing.",
  "rule.sast.sw.java.1544.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.1544.option.exclude_package.description": "Write package name to be excluded from analyzing.",
  "rule.sast.sw.java.1544.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.1544.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.1544.option.include_class.name": "Including class",
  "rule.sast.sw.java.1544.option.include_method.description": "Write the name of the method to be called for analysis.",
  "rule.sast.sw.java.1544.option.include_method.name": "Name of the method called to be analyzed",
  "rule.sast.sw.java.1544.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.1544.option.include_package.name": "Including package",
  "rule.sast.sw.java.1544.option.method_name.description": "Write the name of the method to be detected.",
  "rule.sast.sw.java.1544.option.method_name.name": "Target method",
  "rule.sast.sw.java.1545.description": "The Use of non-atomic data type checker finds code that performs compound operations on shared variables in a multi-threaded environment, but does not guarantee atomicity for the shared variables.\nThe atomicity needs to be guaranteed for shared variables in the multi-threaded environment. If not, unexpected results may get returned on each thread. For example, when complex operations with *=, /=, %=, +=, -=, &lt;&lt;=, >>=, >>>=, ^= , |= is performed on shared variables and the variables are returned, the atomicity might not be guaranteed.\nAll methods need to be specified to synchronized when a private member variable is used as an operand of a compound operator and returned outside.",
  "rule.sast.sw.java.1545.example.0.dangerous": "Line 5: A private member variable is used as an operand of compound operator by a normal method.\nLine 9: A private member variable is returned by a normal method.",
  "rule.sast.sw.java.1545.example.0.safe": "Line 5: Use a private member variable as an operand of compound operator in a synchronized method.\nLine 9: Return a private member variable in a synchronized method.",
  "rule.sast.sw.java.1545.name": "Use of non-atomic data type",
  "rule.sast.sw.java.1545.option.excluded_class.description": "Write the name of a class to exclude.<br />Example) .*Dto",
  "rule.sast.sw.java.1545.option.excluded_class.name": "Name of the class to exclude from the checking",
  "rule.sast.sw.java.1545.option.excluded_method.description": "Write the name of a method to exclude.<br />Example) .*Dto",
  "rule.sast.sw.java.1545.option.excluded_method.name": "Excluded Method",
  "rule.sast.sw.java.1545.option.excluded_package.description": "Write the name of a package to exclude.<br />Example) .*dto",
  "rule.sast.sw.java.1545.option.excluded_package.name": "Excluded package",
  "rule.sast.sw.java.1547.description": "The Use of reusable object as lock instance checker finds instances that a reusable object is used to a synchronized object for lock.\nIn this case, attackers can lead a program to a deadlock by changing the object value with malicious external or internal code.\nDo not use the reusable object to the synchronized object for lock.",
  "rule.sast.sw.java.1547.example.0.dangerous": "Line 7: A reusable type is used for lock.",
  "rule.sast.sw.java.1547.example.0.safe": "Line 7: Do not use a reusable object for lock.",
  "rule.sast.sw.java.1547.name": "Use of reusable object as lock instance",
  "rule.sast.sw.java.1547.option.exclude_class.description": "Write class name to be excluded from analyzing.",
  "rule.sast.sw.java.1547.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.1547.option.exclude_method.description": "Write method name to be excluded from analyzing.",
  "rule.sast.sw.java.1547.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.1547.option.exclude_package.description": "Write package name to be excluded from analyzing.",
  "rule.sast.sw.java.1547.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.1547.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.1547.option.include_class.name": "Including class",
  "rule.sast.sw.java.1547.option.include_method.description": "Write method name to be included to analysis.",
  "rule.sast.sw.java.1547.option.include_method.name": "Including method",
  "rule.sast.sw.java.1547.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.1547.option.include_package.name": "Including package",
  "rule.sast.sw.java.1547.option.type_name.description": "Write a name of reusable type classes.",
  "rule.sast.sw.java.1547.option.type_name.name": "Reusable type",
  "rule.sast.sw.java.1548.description": "The Use of class object in synchronization checker finds instances that getClass() method is used to an object for lock in a synchronized block.\nYou can use getClass() method to get objects, expecting that the getClass() method get objects from a superclass to a subclass, which will make the superclass to be synchronized. However, as its subclass is used for synchronization, an unexpected result may occur.\nDo not use the getClass() method as a lock object in the synchronized block.",
  "rule.sast.sw.java.1548.example.0.dangerous": "Line 6: getClass() method is used for lock object.",
  "rule.sast.sw.java.1548.example.0.safe": "Line 5: Use a java class file for the lock object.\nLine 12: System.getenv() method is called.",
  "rule.sast.sw.java.1548.name": "Use of class object in synchronization",
  "rule.sast.sw.java.1548.option.exclude_class.description": "Write class name to be excluded from analyzing.",
  "rule.sast.sw.java.1548.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.1548.option.exclude_method.description": "Write method name to be excluded from analyzing.",
  "rule.sast.sw.java.1548.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.1548.option.exclude_package.description": "Write package name to be excluded from analyzing.",
  "rule.sast.sw.java.1548.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.1548.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.1548.option.include_class.name": "Including class",
  "rule.sast.sw.java.1548.option.include_method.description": "Write method name to be included to analysis.",
  "rule.sast.sw.java.1548.option.include_method.name": "Including method",
  "rule.sast.sw.java.1548.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.1548.option.include_package.name": "Including package",
  "rule.sast.sw.java.1548.option.method_name.description": "Write a name of getClass() method.",
  "rule.sast.sw.java.1548.option.method_name.name": "getClass() method",
  "rule.sast.sw.java.1549.description": "The Use of high-level concurrent object as lock instance checker finds instances of using objects that implement either or both of the Lock and Condition interfaces to synchronize on intrinsic locks.\nIf a high-level concurrency object gets synched by a unique lock of its class, an unexpected action may occur due to inconsistent locking policy.\nEnsure to use a high-level locking facility provided by an interface.",
  "rule.sast.sw.java.1549.example.0.dangerous": "Line 5: An instance of ReentrantLock that implements Lock interface is used for lock in a synchronized block.",
  "rule.sast.sw.java.1549.example.0.safe": "Line 5: Use a non-synchronized lock or unlock.",
  "rule.sast.sw.java.1549.name": "Use of high-level concurrent object as lock instance",
  "rule.sast.sw.java.1549.option.exclude_class.description": "Write class name to be excluded from analyzing.",
  "rule.sast.sw.java.1549.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.1549.option.exclude_method.description": "Write method name to be excluded from analyzing.",
  "rule.sast.sw.java.1549.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.1549.option.exclude_package.description": "Write package name to be excluded from analyzing.",
  "rule.sast.sw.java.1549.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.1549.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.1549.option.include_class.name": "Including class",
  "rule.sast.sw.java.1549.option.include_method.description": "Write method name to be included to analysis.",
  "rule.sast.sw.java.1549.option.include_method.name": "Including method",
  "rule.sast.sw.java.1549.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.1549.option.include_package.name": "Including package",
  "rule.sast.sw.java.1549.option.type_name.description": "Write a name of Implemented classes by Lock or Condition interface.",
  "rule.sast.sw.java.1549.option.type_name.name": "Implemented class by Lock or Condition interface",
  "rule.sast.sw.java.1550.description": "The Initialization from another collection checker finds instances of using other collection values for initialization.\nFor example, the checker finds that a value from other collections is used for initialization while a Set variable is used for lock in a synchronized block. A locking policy needs to be specified for accessible collections when a backing collection is used by a data structure class such as Map. For example, if the Map class uses a keySet in a loop, a policy for synchronization gets broken by access to the Map.\nCheck accessible collections to lock when backing collection are used in a multithreaded environment.",
  "rule.sast.sw.java.1550.example.0.dangerous": "Line 15: A keyset of mapView, setView, is used to lock in a synchronized block.",
  "rule.sast.sw.java.1550.example.0.safe": "Line 15: Use mapView instead of setView to lock in the synchronized block.",
  "rule.sast.sw.java.1550.name": "Initialization from another collection",
  "rule.sast.sw.java.1550.option.method_name.description": "Write a name of keySet() method.",
  "rule.sast.sw.java.1550.option.method_name.name": "keySet() method",
  "rule.sast.sw.java.1550.option.type_name.description": "Name of collection to detect",
  "rule.sast.sw.java.1550.option.type_name.name": "collection name",
  "rule.sast.sw.java.1551.description": "The Non-synchronized static field checker finds instances that a static field is not defined in a synchronized block.\nFor a public method, which can be accessed by external inputs, a static field is not thread-safe. Therefore, make the static field to be synched.\nEnsure that a static field is defined in a synchronized block.",
  "rule.sast.sw.java.1551.example.0.dangerous": "Line 4: A static field is used in a public method.",
  "rule.sast.sw.java.1551.example.0.safe": "Line 7: Put the field in a synchronized block.",
  "rule.sast.sw.java.1551.name": "Non-synchronized static field",
  "rule.sast.sw.java.1551.option.exclude_class.description": "Write class name to be excluded from analyzing.",
  "rule.sast.sw.java.1551.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.1551.option.exclude_method.description": "Write method name to be excluded from analyzing.",
  "rule.sast.sw.java.1551.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.1551.option.exclude_package.description": "Write package name to be excluded from analyzing.",
  "rule.sast.sw.java.1551.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.1551.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.1551.option.include_class.name": "Including class",
  "rule.sast.sw.java.1551.option.include_method.description": "Write method name to be included to analysis.",
  "rule.sast.sw.java.1551.option.include_method.name": "Including method",
  "rule.sast.sw.java.1551.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.1551.option.include_package.name": "Including package",
  "rule.sast.sw.java.1553.description": "The Deadlock checker finds instances of using a class to perform two or more locks in a synchronized block.\nA deadlock may occur due to several locks and unlocks taken by the same order.\nDo not perform two or more locks by using a single class in a synchronized block.",
  "rule.sast.sw.java.1553.example.0.dangerous": "Line 11: A deadlock occurs when this and ba is equal in two synchronized blocks.",
  "rule.sast.sw.java.1553.example.0.safe": "Line 17: Check instances of locks in the synchronized blocks before using.",
  "rule.sast.sw.java.1553.name": "Deadlock",
  "rule.sast.sw.java.1555.description": "The Waiting while holding lock checker finds instances of a method called by a synchronized method to stop threads.\nWhen Thread.sleep() method is called by a synchronized method, other threads cannot use the synch method. This may damage their performance.\nEnsure not to call a method to stop threads in a synchronized method.",
  "rule.sast.sw.java.1555.example.0.dangerous": "Line 5: A method to stop threads is called in a synchronized method.",
  "rule.sast.sw.java.1555.example.0.safe": "Line 5: Modify to call the method to suspend method in conditional statements.",
  "rule.sast.sw.java.1555.name": "Waiting while holding lock",
  "rule.sast.sw.java.1555.option.exclude_class.description": "Write class name to be excluded from analyzing.",
  "rule.sast.sw.java.1555.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.1555.option.exclude_method.description": "Write method name to be excluded from analyzing.",
  "rule.sast.sw.java.1555.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.1555.option.exclude_package.description": "Write package name to be excluded from analyzing.",
  "rule.sast.sw.java.1555.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.1555.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.1555.option.include_class.name": "Including class",
  "rule.sast.sw.java.1555.option.include_method.description": "Write method name to be included to analysis.",
  "rule.sast.sw.java.1555.option.include_method.name": "Including method",
  "rule.sast.sw.java.1555.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.1555.option.include_package.name": "Including package",
  "rule.sast.sw.java.1555.option.method_name.description": "Write a name of holding thread method.",
  "rule.sast.sw.java.1555.option.method_name.name": "Thread holding method",
  "rule.sast.sw.java.1555.option.type_name.description": "Write a name of holding thread class.",
  "rule.sast.sw.java.1555.option.type_name.name": "Thread holding class",
  "rule.sast.sw.java.1559.description": "The Infinitely waiting thread checker finds instances of using a volatile flag or Thread.interrupted() method with an I/O controlling method in a while expression.\nBecause network I/Os are not terminated by the volatile flag or Thread.interrupted method, it may delay execution of threads.\nEnsure not to use a volatile flag or Thread.interrupted() method with an I/O controlling method in a while expression.",
  "rule.sast.sw.java.1559.example.0.dangerous": "Line 14: Thread.interrupted() and readLine() methods are used in while expressions.",
  "rule.sast.sw.java.1559.example.0.safe": "Line 15: Modify to terminate a socket instead of interrupting threads.",
  "rule.sast.sw.java.1559.name": "Infinitely waiting thread",
  "rule.sast.sw.java.1559.option.exclude_class.description": "Write class name to be excluded from analyzing.",
  "rule.sast.sw.java.1559.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.1559.option.exclude_method.description": "Write method name to be excluded from analyzing.",
  "rule.sast.sw.java.1559.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.1559.option.exclude_package.description": "Write package name to be excluded from analyzing.",
  "rule.sast.sw.java.1559.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.1559.option.file_io_list.description": "Write a list of file I/O method.",
  "rule.sast.sw.java.1559.option.file_io_list.name": "File I/O method",
  "rule.sast.sw.java.1559.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.1559.option.include_class.name": "Including class",
  "rule.sast.sw.java.1559.option.include_method.description": "Write method name to be included to analysis.",
  "rule.sast.sw.java.1559.option.include_method.name": "Including method",
  "rule.sast.sw.java.1559.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.1559.option.include_package.name": "Including package",
  "rule.sast.sw.java.1559.option.method_name.description": "Write a name of interrupted method.",
  "rule.sast.sw.java.1559.option.method_name.name": "Interrupted method",
  "rule.sast.sw.java.1559.option.type_name.description": "Write a name of thread class.",
  "rule.sast.sw.java.1559.option.type_name.name": "Thread class",
  "rule.sast.sw.java.1560.description": "The Abrupt thread termination checker finds a call to Thread.stop() method.\nThread.stop() is often used to stop threads. However, it is about to be deprecated due to usability issue.\nUse Thread.interrupt() method instead of Thread.stop() to stop threads.",
  "rule.sast.sw.java.1560.example.0.dangerous": "Line 7: Thread.stop() Method is called.",
  "rule.sast.sw.java.1560.example.0.safe": "Line 7: Use Thread.interrupt() method instead of Thread.stop().",
  "rule.sast.sw.java.1560.name": "Abrupt thread termination",
  "rule.sast.sw.java.1560.option.exclude_class.description": "Write class name to be excluded from analyzing.",
  "rule.sast.sw.java.1560.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.1560.option.exclude_method.description": "Write method name to be excluded from analyzing.",
  "rule.sast.sw.java.1560.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.1560.option.exclude_package.description": "Write package name to be excluded from analyzing.",
  "rule.sast.sw.java.1560.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.1560.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.1560.option.include_class.name": "Including class",
  "rule.sast.sw.java.1560.option.include_method.description": "Write method name to be included to analysis.",
  "rule.sast.sw.java.1560.option.include_method.name": "Including method",
  "rule.sast.sw.java.1560.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.1560.option.include_package.name": "Including package",
  "rule.sast.sw.java.1560.option.method_name.description": "Write a name of method including class name. <br> Example) java.lang.Thread.stop",
  "rule.sast.sw.java.1560.option.method_name.name": "Thread stop method",
  "rule.sast.sw.java.1561.description": "The Unused thread pool checker finds instances that thread pools are not used for thread-per-message pattern.\nThe thread-per-message pattern indicates a pattern to generate threads for requested messages. Resources may not be assigned to the threads in case of using a pattern without thread pools.\nEnsure to use thread pools for thread-per-message pattern.",
  "rule.sast.sw.java.1561.example.0.dangerous": "Line 5: A thread-per-message pattern specifies to use threads without specific size of thread pools.",
  "rule.sast.sw.java.1561.example.0.safe": "Line 8: Specify the size of thread pools to execute the threads as much as specified.",
  "rule.sast.sw.java.1561.name": "Unused thread pool",
  "rule.sast.sw.java.1561.option.executor_method_name.description": "Write a name of thread executor method.",
  "rule.sast.sw.java.1561.option.executor_method_name.name": "Thread run method",
  "rule.sast.sw.java.1561.option.executor_type_name.description": "Write a name of thread executor class.",
  "rule.sast.sw.java.1561.option.executor_type_name.name": "Thread executor class",
  "rule.sast.sw.java.1561.option.socket_type_name.description": "Write a name of socket class.",
  "rule.sast.sw.java.1561.option.socket_type_name.name": "Socket class",
  "rule.sast.sw.java.1561.option.thread_pool_method_name.description": "Write a name of thread pool method.",
  "rule.sast.sw.java.1561.option.thread_pool_method_name.name": "Thread pool method",
  "rule.sast.sw.java.1562.description": "The Uninterruptible thread in synchronized block checker finds instances that Thread.interrupted() method is not called by a Runnable or thread-inheriting class in a synchronized block.\nThread.interrupted() method needs to be called to stop threads. When a task takes time to be executed in a synchronized block, you may need to stop its threads. Unless they are not stopped by Thread.interrupted() method, this may lead to denial of service (DoS) due to unterminated thread pools.\nEnsure to call the Thread.interrupted() method by a Runnable or thread-inheriting class in a synchronized block.",
  "rule.sast.sw.java.1562.example.0.dangerous": "Line 16: Thread.interrupted() method is called by a synchronized block of run() method.",
  "rule.sast.sw.java.1562.example.0.safe": "Line 13: Check that threads are interrupted by calling Thread.interrupted() method.",
  "rule.sast.sw.java.1562.name": "Uninterruptible thread in synchronized block",
  "rule.sast.sw.java.1562.option.class_type_name.description": "Write a name of thread class or interface.",
  "rule.sast.sw.java.1562.option.class_type_name.name": "Thread class or interface",
  "rule.sast.sw.java.1562.option.exclude_class.description": "Write class name to be excluded from analyzing.",
  "rule.sast.sw.java.1562.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.1562.option.exclude_method.description": "Write method name to be excluded from analyzing.",
  "rule.sast.sw.java.1562.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.1562.option.exclude_package.description": "Write package name to be excluded from analyzing.",
  "rule.sast.sw.java.1562.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.1562.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.1562.option.include_class.name": "Including class",
  "rule.sast.sw.java.1562.option.include_method.description": "Write method name to be included to analysis.",
  "rule.sast.sw.java.1562.option.include_method.name": "Including method",
  "rule.sast.sw.java.1562.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.1562.option.include_package.name": "Including package",
  "rule.sast.sw.java.1562.option.method_name.description": "Write a name of interrupt method.",
  "rule.sast.sw.java.1562.option.method_name.name": "Interrupt method",
  "rule.sast.sw.java.1562.option.type_name.description": "Write a name of thread class.",
  "rule.sast.sw.java.1562.option.type_name.name": "Thread class",
  "rule.sast.sw.java.1563.description": "The Improper creation of thread pool checker finds instances of using Executors.newFixedThreadPool() method to create an object of thread pools.\nIf an exception occurs in a thread created by the object of thread pools where exceptions cannot be handled, you are unable to check exceptions and perform exception handling. Therefore, ensure to create the object to be able to handle exceptions. Except for ThreadFactory type argument that can handle exception as arguments of constructor while creating thread pool instances.\nDo not use Executors.newFixedThreadPool() method or use ThreadFactory argument to create an thread pool object.",
  "rule.sast.sw.java.1563.example.0.dangerous": "Line 4: A thread pool is used without ThreadFactory type argument. As an exception is thrown by the thread, ThreadFactory is needed.",
  "rule.sast.sw.java.1563.example.0.safe": "Line 4: Use ThreadFactory type argument to handle exceptions from the thread.",
  "rule.sast.sw.java.1563.name": "Improper creation of thread pool",
  "rule.sast.sw.java.1563.option.call_base_type.description": "Write a name of executors class.",
  "rule.sast.sw.java.1563.option.call_base_type.name": "Executors class",
  "rule.sast.sw.java.1563.option.call_method_name.description": "Write a name of thread pool method.",
  "rule.sast.sw.java.1563.option.call_method_name.name": "Thread pool method",
  "rule.sast.sw.java.1563.option.exclude_class.description": "Write class name to be excluded from analyzing.",
  "rule.sast.sw.java.1563.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.1563.option.exclude_method.description": "Write method name to be excluded from analyzing.",
  "rule.sast.sw.java.1563.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.1563.option.exclude_package.description": "Write package name to be excluded from analyzing.",
  "rule.sast.sw.java.1563.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.1563.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.1563.option.include_class.name": "Including class",
  "rule.sast.sw.java.1563.option.include_method.description": "Write method name to be included to analysis.",
  "rule.sast.sw.java.1563.option.include_method.name": "Including method",
  "rule.sast.sw.java.1563.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.1563.option.include_package.name": "Including package",
  "rule.sast.sw.java.1563.option.target_method.description": "Write a name of executing method.",
  "rule.sast.sw.java.1563.option.target_method.name": "Executing method",
  "rule.sast.sw.java.1564.description": "The Thread execution in constructor checker finds a call to a method to execute a thread in a constructor.\nIf this keyword is escaped before the constructor is called, a uninitialized or partially initialized this keyword can be referenced by other threads. Therefore, do not let the this reference escape during object construction.\nEnsure that the this keyword is not escaped in object constructor.",
  "rule.sast.sw.java.1564.example.0.dangerous": "Line 2: A method to execute a thread is called by a constructor.",
  "rule.sast.sw.java.1564.example.0.safe": "Line 2: Make another method instead of the constructor to call the method.",
  "rule.sast.sw.java.1564.name": "Thread execution in constructor",
  "rule.sast.sw.java.1564.option.exclude_class.description": "Write class name to be excluded from analyzing.",
  "rule.sast.sw.java.1564.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.1564.option.exclude_method.description": "Write method name to be excluded from analyzing.",
  "rule.sast.sw.java.1564.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.1564.option.exclude_package.description": "Write package name to be excluded from analyzing.",
  "rule.sast.sw.java.1564.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.1564.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.1564.option.include_class.name": "Including class",
  "rule.sast.sw.java.1564.option.include_method.description": "Write method name to be included to analysis.",
  "rule.sast.sw.java.1564.option.include_method.name": "Including method",
  "rule.sast.sw.java.1564.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.1564.option.include_package.name": "Including package",
  "rule.sast.sw.java.1564.option.method_name.description": "Write a name of run method. <br> Example) run",
  "rule.sast.sw.java.1564.option.method_name.name": "Thread run method",
  "rule.sast.sw.java.1564.option.type_name.description": "Write a name of thread class.",
  "rule.sast.sw.java.1564.option.type_name.name": "Thread class",
  "rule.sast.sw.java.1565.description": "The Publishing before initialization checker finds instances of publishing instances from specified classes before initialization.\nIf this keyword is referenced before other variables are initialized, a partially initialized object can be referenced by other threads. Ensure that objects can be referenced after fully initialized. The checker finds cases when an uninitialized class gets published to an instance, or an initialized object gets published to a non-static non-volatile instance.\nDo not publish an uninitialized class to an instance. In addition, make initialized object to be published to a static volatile instance.",
  "rule.sast.sw.java.1565.example.0.dangerous": "Line 9: Another field is initialized before a non-volatile class.",
  "rule.sast.sw.java.1565.example.0.safe": "Line 9: Ensure to use a non-public non-volatile qualifier to prevent access of an external input.",
  "rule.sast.sw.java.1565.name": "Publishing before initialization",
  "rule.sast.sw.java.1565.option.exclude_class.description": "Write class name to be excluded from analyzing.",
  "rule.sast.sw.java.1565.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.1565.option.exclude_method.description": "Write method name to be excluded from analyzing.",
  "rule.sast.sw.java.1565.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.1565.option.exclude_package.description": "Write package name to be excluded from analyzing.",
  "rule.sast.sw.java.1565.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.1565.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.1565.option.include_class.name": "Including class",
  "rule.sast.sw.java.1565.option.include_method.description": "Write method name to be included to analysis.",
  "rule.sast.sw.java.1565.option.include_method.name": "Including method",
  "rule.sast.sw.java.1565.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.1565.option.include_package.name": "Including package",
  "rule.sast.sw.java.1566.description": "The Creation of thread in static initialization block checker finds instances of using a thread before a class gets initialized.\nIf a background thread starts during class initialization, a deadlock may occur. Therefore, check that a class is initialized before starting a thread.\nEnsure to initialize a class to start a thread.",
  "rule.sast.sw.java.1566.example.0.dangerous": "Line 6: A thread starts during initialization in a static block.",
  "rule.sast.sw.java.1566.example.0.safe": "Line 3: Use ThreadLocal to put a connection instance for each thread.",
  "rule.sast.sw.java.1566.name": "Creation of thread in static initialization block",
  "rule.sast.sw.java.1566.option.exclude_class.description": "Write class name to be excluded from analyzing.",
  "rule.sast.sw.java.1566.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.1566.option.exclude_method.description": "Write method name to be excluded from analyzing.",
  "rule.sast.sw.java.1566.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.1566.option.exclude_package.description": "Write package name to be excluded from analyzing.",
  "rule.sast.sw.java.1566.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.1566.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.1566.option.include_class.name": "Including class",
  "rule.sast.sw.java.1566.option.include_method.description": "Write method name to be included to analysis.",
  "rule.sast.sw.java.1566.option.include_method.name": "Including method",
  "rule.sast.sw.java.1566.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.1566.option.include_package.name": "Including package",
  "rule.sast.sw.java.1566.option.type_name.description": "Write a name of thread class.",
  "rule.sast.sw.java.1566.option.type_name.name": "Thread class",
  "rule.sast.sw.java.1567.description": "The Misuse of delete for File instance checker finds instances of calling delete() method.\nThe delete() method does not raise an error for failure. This makes it hard to find cause of the error. Therefore, check a return of the delete() method to handle its consequences whether it is succeeded or failed.\nDo not call a delete() method from an instance of a file object.",
  "rule.sast.sw.java.1567.example.0.dangerous": "Line 2: A return of file.delete() method is not checked.",
  "rule.sast.sw.java.1567.example.0.safe": "Line 2: This will check a file to be deleted.",
  "rule.sast.sw.java.1567.name": "Misuse of delete for File instance",
  "rule.sast.sw.java.1567.option.exclude_class.description": "Write class name to be excluded from analyzing.",
  "rule.sast.sw.java.1567.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.1567.option.exclude_method.description": "Write method name to be excluded from analyzing.",
  "rule.sast.sw.java.1567.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.1567.option.exclude_package.description": "Write package name to be excluded from analyzing.",
  "rule.sast.sw.java.1567.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.1567.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.1567.option.include_class.name": "Including class",
  "rule.sast.sw.java.1567.option.include_method.description": "Write method name to be included to analysis.",
  "rule.sast.sw.java.1567.option.include_method.name": "Including method",
  "rule.sast.sw.java.1567.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.1567.option.include_package.name": "Including package",
  "rule.sast.sw.java.1567.option.method_name.description": "Write a name of deleting method.",
  "rule.sast.sw.java.1567.option.method_name.name": "Delete method",
  "rule.sast.sw.java.1567.option.type_name.description": "Write a name of file class.",
  "rule.sast.sw.java.1567.option.type_name.name": "File class",
  "rule.sast.sw.java.1568.description": "The Misuse of deleteOnExit checker finds instances of calling createTempFile() and deleteOnExit() methods in sequence.\nTemporary files are used to share and save data between programs. If the temp files are not removed, an attacker can change or manipulate the files to run malicious files. Therefore, ensure to remove the created temporary files before the program ends. \nDo not call createTempFile() and deleteOnExit() methods in sequence.",
  "rule.sast.sw.java.1568.example.0.dangerous": "Line 13: deleteOnExit() method deletes the temp files when the Java Virtual Machine (JVM) gets terminated.",
  "rule.sast.sw.java.1568.example.0.safe": "Line 6-8: If a file is opened by try-with-resources constructor in Java 7, it will be naturally closed in case of an error. Use DELETE_ON_CLOSE option, which remove a file at the same time to close it, remove temp files.",
  "rule.sast.sw.java.1568.name": "Misuse of deleteOnExit",
  "rule.sast.sw.java.1568.option.exclude_class.description": "Write class name to be excluded from analyzing.",
  "rule.sast.sw.java.1568.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.1568.option.exclude_method.description": "Write method name to be excluded from analyzing.",
  "rule.sast.sw.java.1568.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.1568.option.exclude_package.description": "Write package name to be excluded from analyzing.",
  "rule.sast.sw.java.1568.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.1568.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.1568.option.include_class.name": "Including class",
  "rule.sast.sw.java.1568.option.include_method.description": "Write method name to be included to analysis.",
  "rule.sast.sw.java.1568.option.include_method.name": "Including method",
  "rule.sast.sw.java.1568.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.1568.option.include_package.name": "Including package",
  "rule.sast.sw.java.1568.option.source_method_name.description": "Write a name of creating temporary file method.",
  "rule.sast.sw.java.1568.option.source_method_name.name": "Creating temp file method",
  "rule.sast.sw.java.1568.option.target_method_name.description": "Write a name of deleting temporary file method.",
  "rule.sast.sw.java.1568.option.target_method_name.name": "Deleting temp file method",
  "rule.sast.sw.java.1568.option.type_name.description": "Write a name of file class.",
  "rule.sast.sw.java.1568.option.type_name.name": "File class",
  "rule.sast.sw.java.1569.description": "The Exposure of buffer checker finds instances that a value of CharBuffer type is copied by duplicate() method.\nwrap() method is used by Buffer class to convert common data types into Buffer objects. In addition, duplicate() method is used to copy the Buffer objects and convert data. Therefore, call asReadOnlyBuffer() method while wrap() or duplicate() method is used. This ensure that data types are not changed.\nDo not use duplicate() method to copy CharBuffer type.",
  "rule.sast.sw.java.1569.example.0.dangerous": "Line 10: duplicate() method is used to copy CharBuffer. However, a return of getBufferCopy() method can be changed.",
  "rule.sast.sw.java.1569.example.0.safe": "Line 10: CharBuffer, a read only buffer, is returned.",
  "rule.sast.sw.java.1569.name": "Exposure of buffer",
  "rule.sast.sw.java.1569.option.method_name.description": "Write a name of target methods.",
  "rule.sast.sw.java.1569.option.method_name.name": "Target method",
  "rule.sast.sw.java.1569.option.type_name.description": "Write a name of target classes.",
  "rule.sast.sw.java.1569.option.type_name.name": "Target class",
  "rule.sast.sw.java.1570.description": "The Missing Size Argument for read() Method checker finds instances that a data length is not specified for byte[] argument of read() method.\nThe read() method with byte[] argument alone can stop reading data before its array is filled. Therefore, check returns of the read() method to handle cases that the array is not filled. \nEnsure to enter a value with offset to the byte[] argument of read().",
  "rule.sast.sw.java.1570.example.0.dangerous": "Line 5: A data length is not specified for byte[] argument of read() method.",
  "rule.sast.sw.java.1570.example.0.safe": "Line 7: Set an offset for byte[] argument of read() method.",
  "rule.sast.sw.java.1570.name": "Missing Size Argument for read() Method",
  "rule.sast.sw.java.1570.option.data_type.description": "read() Enter the method return value type.",
  "rule.sast.sw.java.1570.option.data_type.name": "read() method return value type",
  "rule.sast.sw.java.1570.option.exclude_class.description": "Write class name to be excluded from analyzing.",
  "rule.sast.sw.java.1570.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.1570.option.exclude_method.description": "Write method name to be excluded from analyzing.",
  "rule.sast.sw.java.1570.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.1570.option.exclude_package.description": "Write package name to be excluded from analyzing.",
  "rule.sast.sw.java.1570.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.1570.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.1570.option.include_class.name": "Including class",
  "rule.sast.sw.java.1570.option.include_method.description": "Write method name to be included to analysis.",
  "rule.sast.sw.java.1570.option.include_method.name": "Including method",
  "rule.sast.sw.java.1570.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.1570.option.include_package.name": "Including package",
  "rule.sast.sw.java.1570.option.method_name.description": "Write a name of target methods.",
  "rule.sast.sw.java.1570.option.method_name.name": "Target method",
  "rule.sast.sw.java.1570.option.type_name.description": "Write a name of target classes.",
  "rule.sast.sw.java.1570.option.type_name.name": "Target class",
  "rule.sast.sw.java.1573.description": "The Use of big endian only methods checker finds calls to methods to read and write big endian data only.\nIn case, you can send and receive different endian data depending on your platforms. Check the endian to use compatible data. An error can occur by calling a method to read and write big endian data only.\nDo not call the method to read and write big endian data only.",
  "rule.sast.sw.java.1573.example.0.dangerous": "Line 8: readInt() method to read big endian data only is called. Therefore, little-endian data can be read into big-endian data.",
  "rule.sast.sw.java.1573.example.0.safe": "Line 8: Convert byte order while using DataInputStream.",
  "rule.sast.sw.java.1573.name": "Use of big endian only methods",
  "rule.sast.sw.java.1573.option.exclude_class.description": "Write class name to be excluded from analyzing.",
  "rule.sast.sw.java.1573.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.1573.option.exclude_method.description": "Write method name to be excluded from analyzing.",
  "rule.sast.sw.java.1573.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.1573.option.exclude_package.description": "Write package name to be excluded from analyzing.",
  "rule.sast.sw.java.1573.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.1573.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.1573.option.include_class.name": "Including class",
  "rule.sast.sw.java.1573.option.include_method.description": "Write method name to be included to analysis.",
  "rule.sast.sw.java.1573.option.include_method.name": "Including method",
  "rule.sast.sw.java.1573.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.1573.option.include_package.name": "Including package",
  "rule.sast.sw.java.1573.option.method_name.description": "Write a name of target methods.",
  "rule.sast.sw.java.1573.option.method_name.name": "Target method",
  "rule.sast.sw.java.1573.option.type_name.description": "Write a name of stream classes.",
  "rule.sast.sw.java.1573.option.type_name.name": "Stream class",
  "rule.sast.sw.java.1577.description": "The Exposure of field of serialized class checker finds fields without private transient keywords.\nSerialize classes can expose their member variables with sensitive information. \nDeclare the member variables with private transient keywords to avoid sensitive data being serialized.",
  "rule.sast.sw.java.1577.example.0.dangerous": "Line 2: A member variable of serialized class can be exposed.\nLine 3: A member variable of serialized class can be exposed.",
  "rule.sast.sw.java.1577.example.0.safe": "Line 2: Declare the variable with private transient keyword to avoid the variable being serialized.",
  "rule.sast.sw.java.1577.name": "Exposure of field of serialized class",
  "rule.sast.sw.java.1577.option.exclude_class.description": "Write class name to be excluded from analyzing.",
  "rule.sast.sw.java.1577.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.1577.option.exclude_field.description": "Write field name to be excluded from analyzing.",
  "rule.sast.sw.java.1577.option.exclude_field.name": "Excluding field",
  "rule.sast.sw.java.1577.option.exclude_method.description": "Write method name to be excluded from analyzing.",
  "rule.sast.sw.java.1577.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.1577.option.exclude_package.description": "Write package name to be excluded from analyzing.",
  "rule.sast.sw.java.1577.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.1577.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.1577.option.include_class.name": "Including class",
  "rule.sast.sw.java.1577.option.include_field.description": "Write field name to be included to analysis.",
  "rule.sast.sw.java.1577.option.include_field.name": "Including field",
  "rule.sast.sw.java.1577.option.include_method.description": "Write method name to be included to analysis.",
  "rule.sast.sw.java.1577.option.include_method.name": "Including method",
  "rule.sast.sw.java.1577.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.1577.option.include_package.name": "Including package",
  "rule.sast.sw.java.1578.description": "The Improper implementation of Serializable interface checker finds instances that Serializable methods are not overridden or errors are not generated.\nWhile parent classes calls Serializable methods, writeObject(), readObject(), and readObjectNoData() methods need to be checked in subclasses. Ensure that NotSerializableException is thrown by the methods. Unless the methods are not restricted to be called, it is hard to avoid malicious overriding from the subclasses. \nEnsure to override writeObject(), readObject(), and readObjectNoData() methods in subclasses, and throw NotSerializableException.",
  "rule.sast.sw.java.1578.example.0.dangerous": "Line 1: A Serializable method is called by Number, a parent class of SensitiveClass.\nLine 5: The Serializable method is not overridden by SensitiveClass.",
  "rule.sast.sw.java.1578.example.0.safe": "Line 5: Ensure to throw NotSerializableException to avoid serialization of SensitiveClass.",
  "rule.sast.sw.java.1578.name": "Improper implementation of Serializable interface",
  "rule.sast.sw.java.1578.option.exclude_class.description": "Write class name to be excluded from analyzing.",
  "rule.sast.sw.java.1578.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.1578.option.exclude_method.description": "Write method name to be excluded from analyzing.",
  "rule.sast.sw.java.1578.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.1578.option.exclude_package.description": "Write package name to be excluded from analyzing.",
  "rule.sast.sw.java.1578.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.1578.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.1578.option.include_class.name": "Including class",
  "rule.sast.sw.java.1578.option.include_method.description": "Write method name to be included to analysis.",
  "rule.sast.sw.java.1578.option.include_method.name": "Including method",
  "rule.sast.sw.java.1578.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.1578.option.include_package.name": "Including package",
  "rule.sast.sw.java.1578.option.method_name.description": "Write a name of implementing serializable method.",
  "rule.sast.sw.java.1578.option.method_name.name": "Serializable implementing method",
  "rule.sast.sw.java.1578.option.throws_list.description": "Write a name of exception which would be thrown.",
  "rule.sast.sw.java.1578.option.throws_list.name": "Throws exception",
  "rule.sast.sw.java.1579.description": "The Overridable method call in readObject method checker finds instances that readObject() method calls another method to override.\nBy calling another method to override, readObject() method can provide access to uninitialized objects to the overriding method.\nRemove the call to the overriding method from readObject() method. If you cannot remove the call, declare the method as private or final.",
  "rule.sast.sw.java.1579.example.0.dangerous": "Line 7: An overriding method is called by readObject() method.",
  "rule.sast.sw.java.1579.example.0.safe": "Line 7: Call a non-overriding method from readObject() method.",
  "rule.sast.sw.java.1579.name": "Overridable method call in readObject method",
  "rule.sast.sw.java.1579.option.exclude_class.description": "Write class name to be excluded from analyzing.",
  "rule.sast.sw.java.1579.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.1579.option.exclude_method.description": "Write method name to be excluded from analyzing.",
  "rule.sast.sw.java.1579.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.1579.option.exclude_package.description": "Write package name to be excluded from analyzing.",
  "rule.sast.sw.java.1579.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.1579.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.1579.option.include_class.name": "Including class",
  "rule.sast.sw.java.1579.option.include_method.description": "Write method name to be included to analysis.",
  "rule.sast.sw.java.1579.option.include_method.name": "Including method",
  "rule.sast.sw.java.1579.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.1579.option.include_package.name": "Including package",
  "rule.sast.sw.java.1581.description": "The Missing privilege check checker finds instance that methods to check security are not called by specified method.\nFor a method to evaluate sensitive information, a method call for security check is inevitable. The checker finds that a method for security check is specified in an option, and the method is not named as specified.\nPerform a security check before critical functions.",
  "rule.sast.sw.java.1581.example.0.dangerous": "Line 4: Permission to remove data is not checked.",
  "rule.sast.sw.java.1581.example.0.safe": "Line 5: Perform a security check before critical functions.",
  "rule.sast.sw.java.1581.name": "Missing privilege check",
  "rule.sast.sw.java.1581.option.allow_security_call.description": "Write a name of security methods.",
  "rule.sast.sw.java.1581.option.allow_security_call.name": "Security method",
  "rule.sast.sw.java.1581.option.class_type.description": "Enter the class name of the data structure that contains sensitive information.",
  "rule.sast.sw.java.1581.option.class_type.name": "Classes of data structures that contain sensitive information",
  "rule.sast.sw.java.1581.option.exclude_class.description": "Write class name to be excluded from analyzing.",
  "rule.sast.sw.java.1581.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.1581.option.exclude_method.description": "Write method name to be excluded from analyzing.",
  "rule.sast.sw.java.1581.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.1581.option.exclude_package.description": "Write package name to be excluded from analyzing.",
  "rule.sast.sw.java.1581.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.1581.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.1581.option.include_class.name": "Including class",
  "rule.sast.sw.java.1581.option.include_method.description": "Write method name to be included to analysis.",
  "rule.sast.sw.java.1581.option.include_method.name": "Including method",
  "rule.sast.sw.java.1581.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.1581.option.include_package.name": "Including package",
  "rule.sast.sw.java.1581.option.security_type.description": "Write a name of securityManager class.",
  "rule.sast.sw.java.1581.option.security_type.name": "SecurityManager class",
  "rule.sast.sw.java.1581.option.target_method_name.description": "Enter the method name to include in the detection target.",
  "rule.sast.sw.java.1581.option.target_method_name.name": "Methods to include in detection target",
  "rule.sast.sw.java.1582.description": "The Use of reflection checker finds instances of using Java Reflection that specifies permissions to classes, methods, or fields.\nJava Reflection allows a program to inspect and change itself. However, as it also ignores permissions and access to program data, it is not recommended to use the feature.\nDo not use the Java Reflection which can ignore permissions and access to data.",
  "rule.sast.sw.java.1582.example.0.dangerous": "Line 8: Java Reflection is used for a method called by a public method.",
  "rule.sast.sw.java.1582.example.0.safe": "Line 5: Declare a private or final to prevent external access in case of using Java Reflection.",
  "rule.sast.sw.java.1582.name": "Use of reflection",
  "rule.sast.sw.java.1582.option.exclude_class.description": "Write class name to be excluded from analyzing.",
  "rule.sast.sw.java.1582.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.1582.option.exclude_method.description": "Write method name to be excluded from analyzing.",
  "rule.sast.sw.java.1582.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.1582.option.exclude_package.description": "Write package name to be excluded from analyzing.",
  "rule.sast.sw.java.1582.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.1582.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.1582.option.include_class.name": "Including class",
  "rule.sast.sw.java.1582.option.include_method.description": "Write method name to be included to analysis.",
  "rule.sast.sw.java.1582.option.include_method.name": "Including method",
  "rule.sast.sw.java.1582.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.1582.option.include_package.name": "Including package",
  "rule.sast.sw.java.1582.option.method_name.description": "Write a name of target classes.",
  "rule.sast.sw.java.1582.option.method_name.name": "Target method",
  "rule.sast.sw.java.1582.option.type_name.description": "Write a name of target classes.",
  "rule.sast.sw.java.1582.option.type_name.name": "Target class",
  "rule.sast.sw.java.1583.description": "The Missing call of super class method in getPermissions method checker finds instances that super.getPermissions is not called by an overriding function of getPermissions() for a class inheriting URLClassLoader.\nUnless getPermission() method of superclass is not called to override getPermission() method, permission policy cannot be applied.\nEnsure to call the getPermission() method of superclass to override getPermission() method.",
  "rule.sast.sw.java.1583.example.0.dangerous": "Line 3: getPermission() method of superclass is not called by a method overriding getPermission() method.",
  "rule.sast.sw.java.1583.example.0.safe": "Line 3: Call getPermission() method of URLClassLoader class.",
  "rule.sast.sw.java.1583.name": "Missing call of super class method in getPermissions method",
  "rule.sast.sw.java.1583.option.exclude_class.description": "Write class name to be excluded from analyzing.",
  "rule.sast.sw.java.1583.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.1583.option.exclude_method.description": "Write method name to be excluded from analyzing.",
  "rule.sast.sw.java.1583.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.1583.option.exclude_package.description": "Write package name to be excluded from analyzing.",
  "rule.sast.sw.java.1583.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.1583.option.extends_name.description": "Write a name of extending ClassLoader class.",
  "rule.sast.sw.java.1583.option.extends_name.name": "Extending ClassLoader class",
  "rule.sast.sw.java.1583.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.1583.option.include_class.name": "Including class",
  "rule.sast.sw.java.1583.option.include_method.description": "Write method name to be included to analysis.",
  "rule.sast.sw.java.1583.option.include_method.name": "Including method",
  "rule.sast.sw.java.1583.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.1583.option.include_package.name": "Including package",
  "rule.sast.sw.java.1583.option.method_name.description": "Write a name of target methods.",
  "rule.sast.sw.java.1583.option.method_name.name": "Target method",
  "rule.sast.sw.java.1583.option.type_name.description": "Write a name of target classes.",
  "rule.sast.sw.java.1583.option.type_name.name": "Target class",
  "rule.sast.sw.java.1584.description": "The Importing untrusted class checker finds code that contains untrusted code.\nIn the Java SE 6 and later, privileged code needs to be signed either by using the AccessController mechanism or by a trusted owner or provider. However, when the code directly or indirectly calls out code from other packages, an attacker can connect the privileged code to malicious code. This may become an indirect cause to occur an abnormal behavior. This attack is called as the mix-and-match attack. When the privileged code uses a class from untrusted containers, an attacker can replace the class with a malicious one. Then, even the trusted code can receive unintended results and execute the malicious code.\nEnsure to import and use trusted classes only. ",
  "rule.sast.sw.java.1584.example.0.dangerous": "Line 1: An untrusted import statement is added.",
  "rule.sast.sw.java.1584.example.0.safe": "Line 1: Modify to add trusted import statements only.",
  "rule.sast.sw.java.1584.name": "Importing untrusted class",
  "rule.sast.sw.java.1584.option.exclude_path.description": "Enter the path to exclude from the analysis. <br / > example).*\\test\\.*",
  "rule.sast.sw.java.1584.option.exclude_path.name": "Excluded path",
  "rule.sast.sw.java.1584.option.trust_list.description": "Write a name of trusted packages.",
  "rule.sast.sw.java.1584.option.trust_list.name": "Trusted package",
  "rule.sast.sw.java.1586.description": "The Missing infinity check of float input checker finds code that do not properly check external inputs when they have floating points.\nThe floating-point is used to represent a real number. It can have a positive infinity, a negative infinity, or a Not-a-Number (NaN) value. If an untrusted external input is used for an argument of Double.valueOf function, the user can enter an infinity value. This may lead to an action that is unintended by its developer.\nAn external input, val variable can be validated by Double.isInfinite() function.",
  "rule.sast.sw.java.1586.example.0.dangerous": "Line 6: An untrusted external input is used for an argument of Double.valueOf function. A positive infinity or negative infinite value can be returned.\nLine 11: An exception is thrown if the val variable is an infinite value.",
  "rule.sast.sw.java.1586.example.0.safe": "Line 6: An untrusted external input is used for an argument of Double.valueOf function. A positive infinity or negative infinite value can be returned.\nLine 11: An external input, val variable can be validated by Double.isInfinite() function.",
  "rule.sast.sw.java.1586.name": "Missing infinity check of float input",
  "rule.sast.sw.java.1586.option.alarm.name": "Detection rule",
  "rule.sast.sw.java.1586.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.1586.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.1586.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.1788.description": "The Cross site scripting via attributes in request checker finds instances of outputting an html page using the attribute value carried by an unvalidated input.\nIf unvalidated external inputs are allowed for page generation, attackers can inject malicious scripts into the pages. This vulnerability lets attackers take over a user's cookie, session, or other information or execute an abnormal function.\nTo prevent external inputs from being used for scripts, use a text replacement function or method to substitute characters such as <, >, &, and \" with &lt;, &gt;, &amp;, and &quot;, respectively. For bulletin boards that allow using HTML tags, make a whitelist of allowable HTML tags.",
  "rule.sast.sw.java.1788.example.0.dangerous": "Line 13: name with an external input is used to generate a result page without validation. If the following script is entered to name value, an attacker can execute attack.jsp with an elevated privilege to give damages such as cookie information exposure. (For example : <script>URL = \"http://devil.com/attack.jsp\";</script>)",
  "rule.sast.sw.java.1788.example.0.safe": "Line 13: Use replaceAll() method to change \"<\" and \">\" used for HTML scripts into \"&lt;\" and \"&gt;\", which can reduce risks to run malicious scripts. But this cannot completely remove the risks. There are other ways to prevent the attacks.",
  "rule.sast.sw.java.1788.name": "Cross site scripting via attributes in request",
  "rule.sast.sw.java.1788.option.alarm.name": "Detection rule",
  "rule.sast.sw.java.1788.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.1788.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.1788.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.1877.description": "The Violation of Trust Boundary checker finds instances of mixing up trusted and untrusted data.\nSending an untrusted external input as a session value or attribute could be an example.\nIf trusted and untrusted data is mixed, the programmer may trust untrusted data by mistake. The boundary of trusted data can be thought of as a separating line: On one side of the line lies untrusted data. Data on the other side can be trusted. Data validation is a process of moving data over this boundary line, i.e., from the untrusted side to the trusted side. In case the two sides are blended somehow, the trust boundary is violated. This often happens in a data structure that contains trusted and untrusted data together.\nTrusted data must be managed in a separate storage. Any external inputs should be validated before deposited in this storage.",
  "rule.sast.sw.java.1877.example.0.dangerous": "Line 12: An untrusted value sent by cookies in request is directly stored to session.",
  "rule.sast.sw.java.1877.example.0.safe": "Line 12: Use the external input after checking its desired form.",
  "rule.sast.sw.java.1877.name": "Violation of Trust Boundary",
  "rule.sast.sw.java.1877.option.alarm.name": "Detection rule",
  "rule.sast.sw.java.1877.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.1877.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.1877.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.1983.description": "The Generating predictable random value checker finds instances of using a predictable random value.\nIf a predictable random number is used when an unpredictable number is demanded, an attacker can predict subsequently generated numbers and use them to attack the system. Languages provide their specific built-in statistical PRNG (pseudorandom number generator) functionality. But numbers generated by such a generator are often easily predictable, and security can be threatened simply by an effective seed setting.\nYou need to use cryptographically secure approaches that generate unpredictable random values. The SecureRandom class enables creating secure random values.",
  "rule.sast.sw.java.1983.example.0.dangerous": "Line 2: The random () method of the java.lang.Math class is dangerous because the seed cannot be reset. Moreover, java.util.Random class can reset the seed.",
  "rule.sast.sw.java.1983.example.0.safe": "Line 6: Create the unpredictable random number by setting a seed by SecureRandom class than using java.util.Random.",
  "rule.sast.sw.java.1983.name": "Generating predictable random value",
  "rule.sast.sw.java.1983.option.alarm.name": "Detection rule",
  "rule.sast.sw.java.1983.option.allowed_random.description": "Write the name of the method to be checked for usage.<br />Example) java.util.Random.nextBoolean",
  "rule.sast.sw.java.1983.option.allowed_random.name": "Target random method",
  "rule.sast.sw.java.1983.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.1983.option.forbidden_random.description": "Write the name of the random method to forbid.<br />example) Math.random",
  "rule.sast.sw.java.1983.option.forbidden_random.name": "Forbidden random method",
  "rule.sast.sw.java.1983.option.forbidden_seed_argument_call.description": "Write the name of forbidden seed method.<br />example) Integer.valueOf",
  "rule.sast.sw.java.1983.option.forbidden_seed_argument_call.name": "Forbidden seed Method",
  "rule.sast.sw.java.1983.option.is_check_util_random.description": "Check java.util.Random. <br />example) true",
  "rule.sast.sw.java.1983.option.is_check_util_random.name": "Check java.util.Random",
  "rule.sast.sw.java.1983.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.1983.option.random_key_class.description": "Write the name of the class to be used for self-generation of random keys.<br />example) java.util.Date",
  "rule.sast.sw.java.1983.option.random_key_class.name": "Class for self-generation of random keys",
  "rule.sast.sw.java.1983.option.random_seed.description": "Write the name of Random seed method.<br />Example) java.util.Random.setSeed",
  "rule.sast.sw.java.1983.option.random_seed.name": "Random seed method",
  "rule.sast.sw.java.1983.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.2834.description": "The Comparison of Boxed Primitives checker finds object type variables that are used for operands of equality operators.\nYou cannot compare boxed primitives, that is, object types, by using == or != operator. The comparison of == or != is not performed on values, but references between object types. Moreover, this leads to unexpected results in some scopes due to caching. \nYou need to compare the boxed primitives, that means object types, by using equals() method instead of the == or != operator.",
  "rule.sast.sw.java.2834.example.0.dangerous": "Line 5: Integer type variables, i1 and i2, are compared by using == operator.\nLine 6: Integer type variables, i1 and i2, are compared by using != operator.\nLine 20: The first index and the second index of ArrayList are compared by using == operator.",
  "rule.sast.sw.java.2834.example.0.safe": "Line 5: Use equals() method instead of == operator to compare the variables.\nLine 6: Use equals() method instead of != operator to compare the variables.\nLine 20: Use equals() method instead of == operator to compare the variables.",
  "rule.sast.sw.java.2834.name": "Comparison of Boxed Primitives",
  "rule.sast.sw.java.2834.option.boxed_type.description": "Set the boxed primitive type to be detected.",
  "rule.sast.sw.java.2834.option.boxed_type.name": "boxed primitive type",
  "rule.sast.sw.java.2835.description": "The Missing Visibility of Shared immutable Object checker finds a non-final or non-volatile field within a specific method that is not declared as synchronized.\nYou may misunderstand that all threads can reflect an updated value when a shared reference value of an immutable object gets updated in a multi-threaded environment. For example, a programmer may mistake a class with a pointer to an immutable object as immutable and thread-safe. But, even the shared object is immutable, the reference used to access the object can be mutable: so, the object with the reference cannot be updated. Therefore, access to the reference of the shared object needs to be synched in synchronized programs. References to both shared immutable and shared mutable objects must be made visible to all the threads that reference the objects. Then, immutable objects can be shared safely among multiple threads. However, references to mutable objects can be made visible before the objects are fully constructed.\nDo not use a non-final or non-volatile field within a method that is not declared as synchronized.",
  "rule.sast.sw.java.2835.example.0.dangerous": "Line 18: Help class is an immutable, but setHelper() method of the DangerousFoo class returns a mutable helper field variable so that the helper field can be referenced elsewhere.",
  "rule.sast.sw.java.2835.example.0.safe": "Line 18: Synchronize methods of Foo class to prevent other threads from using the helper reference in the incomplete state.",
  "rule.sast.sw.java.2835.name": "Missing Visibility of Shared immutable Object",
  "rule.sast.sw.java.2835.option.exclude_class.description": "Write the name of class names to exclude an analysis.",
  "rule.sast.sw.java.2835.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.2835.option.exclude_method.description": "Write the name of method names to exclude an analysis.",
  "rule.sast.sw.java.2835.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.2835.option.exclude_package.description": "Write the name of package names to exclude an analysis.",
  "rule.sast.sw.java.2835.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.2835.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.2835.option.include_class.name": "Including class",
  "rule.sast.sw.java.2835.option.include_method.description": "Write method name to be included to analysis.",
  "rule.sast.sw.java.2835.option.include_method.name": "Including method",
  "rule.sast.sw.java.2835.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.2835.option.include_package.name": "Including package",
  "rule.sast.sw.java.2836.description": "The Use of Socket Class checker finds java.net.Socket or java.net.ServerSocket class.\nThe javax.net.ssl.SSLSocket class needs to be used instead of java.net.Socket class to send sensitive data over an insecure communication channel. The SSLSocket class provides security protocols such as Secure Sockets Layer/Transport Layer Security (SSL/TLS) to keep channels being secure from hijacking or manipulation attacks.\nEnsure to use javax.net.ssl.SSLSocket class instead of java.net.Socket or java.net.ServerSocket class. ",
  "rule.sast.sw.java.2836.example.0.dangerous": "Line 3: java.net.ServerSocket is used.\nLine 6: java.net.Socket is used.\nLine 30: java.net.Socket is used.",
  "rule.sast.sw.java.2836.example.0.safe": "Line 3: Use javax.net.ssl.SSLServerSocket instead of java.net.ServerSocket.\nLine 7: Use javax.net.ssl.SSLSocket instead of java.net.Socket.\nLine 31: Use javax.net.ssl.SSLSocket instead of java.net.Socket.",
  "rule.sast.sw.java.2836.name": "Use of Socket Class",
  "rule.sast.sw.java.2836.option.target_api.description": "Enter the class type to be analyzed.",
  "rule.sast.sw.java.2836.option.target_api.name": "Analysis Target Class Type",
  "rule.sast.sw.java.2942.description": "The Dynamic code manipulation checker finds code that uses unvalidated external input without filtering.\nExternal inputs used in dynamic applications must be verified. Unless, attackers can execute arbitrary code, access sensitive information, and modify it. This may leads to unintended action or malfunction. To control system access, you can generate a whitelist of accessible values, or cast the inputs into secure types.\nUse a verification method to validate the external input imported by ServletRequest.getParameter() method.",
  "rule.sast.sw.java.2942.example.0.dangerous": "Line 8: A variable input created in Line 4 is used for an argument of ScriptEngine.eval() method without validation.",
  "rule.sast.sw.java.2942.example.0.safe": "Line 4: Verify the external input before using it.",
  "rule.sast.sw.java.2942.name": "Dynamic code manipulation",
  "rule.sast.sw.java.2942.option.class_type.description": "Sets the class name that uses the external input value.",
  "rule.sast.sw.java.2942.option.class_type.name": "Class name that uses external input values",
  "rule.sast.sw.java.2942.option.filter_method.description": "Enter name of the method that validates the external input values.<br />example) whitelist",
  "rule.sast.sw.java.2942.option.filter_method.name": "External Input Value Validation Method",
  "rule.sast.sw.java.2942.option.filter_set.name": "filter_set",
  "rule.sast.sw.java.2942.option.request_method.description": "Enter name of the method that acquires the external input value.<br />example) javax.servlet.http.HttpServletRequest.getParameter",
  "rule.sast.sw.java.2942.option.request_method.name": "GET Method of External Input",
  "rule.sast.sw.java.2942.option.target_method_name.description": "Sets the method of the class that uses the external input value.",
  "rule.sast.sw.java.2942.option.target_method_name.name": "Methods for classes that use external input values",
  "rule.sast.sw.java.2943.description": "The SpEL Expression Unchecked checker finds code that creates SpelExpression without external input checks.\nSpEL(Spring Expression Language) is a powerful expression language that supports to query and manipulate object graphs in runtime. Allowing unvalidated expressions to be evaluated makes attackers execute arbitrary code.\nUse a separate method to check an external input used for creating SpelExpression.",
  "rule.sast.sw.java.2943.example.0.dangerous": "Line 5: A variable expression created in Line 3 is used for an argument of SpelExpressionParser.parseRaw() method without validation.\nLine 6: An argument of SpelExpressionParser.parseRaw() method is used without validation.",
  "rule.sast.sw.java.2943.example.0.safe": "Line 11: Verify the external input before using it.",
  "rule.sast.sw.java.2943.name": "SpEL Expression Unchecked",
  "rule.sast.sw.java.2943.option.class_type.description": "Sets the class name that uses the external input value.",
  "rule.sast.sw.java.2943.option.class_type.name": "Class name that uses external input values",
  "rule.sast.sw.java.2943.option.filter_method.description": "Enter name of the method that validates the external input values.<br />example) whitelist",
  "rule.sast.sw.java.2943.option.filter_method.name": "External Input Value Validation Method",
  "rule.sast.sw.java.2943.option.filter_set.name": "filter_set",
  "rule.sast.sw.java.2943.option.request_method.description": "Enter name of the method that acquires the external input value.<br />example) javax.servlet.http.HttpServletRequest.getParameter",
  "rule.sast.sw.java.2943.option.request_method.name": "GET Method of External Input",
  "rule.sast.sw.java.2943.option.target_method_name.description": "Sets the method of the class that uses the external input value.",
  "rule.sast.sw.java.2943.option.target_method_name.name": "Methods for classes that use external input values",
  "rule.sast.sw.java.2945.description": "The OGNL Expression Unchecked checker finds code that creates Object without external input checks.\nOGNL(Object-Graph Navigation Language) is an open source expression language for Java. It allows to evaluate expression language expressions in context of the Struts 2 Value Stack. When you can compare unvalidated expressions with Value Stack to evaluate, attackers can access to the system to manipulate system variables or execute arbitrary code.\nUse Ognl.parseExpression() method to check an external input used for creating Object.",
  "rule.sast.sw.java.2945.example.0.dangerous": "Line 4: A variable expression created in Line 3 is used for an argument of Ognl.parseExpression() method without validation.\nLine 5: An argument of Ognl.parseExpression() method is used without validation.",
  "rule.sast.sw.java.2945.example.0.safe": "Line 10: Verify the external input before using it.",
  "rule.sast.sw.java.2945.name": "OGNL Expression Unchecked",
  "rule.sast.sw.java.2945.option.class_type.description": "Sets the class name that uses the external input value.",
  "rule.sast.sw.java.2945.option.class_type.name": "Class name that uses external input values",
  "rule.sast.sw.java.2945.option.filter_method.description": "Enter name of the method that validates the external input values.<br />example) whitelist",
  "rule.sast.sw.java.2945.option.filter_method.name": "External Input Value Validation Method",
  "rule.sast.sw.java.2945.option.filter_set.name": "filter_set",
  "rule.sast.sw.java.2945.option.request_method.description": "Enter name of the method that acquires the external input value.<br />example) javax.servlet.http.HttpServletRequest.getParameter",
  "rule.sast.sw.java.2945.option.request_method.name": "GET Method of External Input",
  "rule.sast.sw.java.2945.option.target_method_name.description": "Sets the method of the class that uses the external input value.",
  "rule.sast.sw.java.2945.option.target_method_name.name": "Methods for classes that use external input values",
  "rule.sast.sw.java.2946.description": "The Weak XML Transformer checker finds code that uses the XML parser, but fails to specify security options.\nThe XML External Entity or XSLT External Entity (XXE) vulnerability occurs when javax.xml.transform.Transformer is created without security measurements or the XML parser is used without forbidding external DTD or DTD entities. Attackers can control external data to expose sensitive data, cause DoS attacks, forfeit server-side requests, or perform port scans on their parser devices. And this may lead to system errors.\nSpecify to forbid external DTD or DTD entities before creating Transformer object.",
  "rule.sast.sw.java.2946.example.0.dangerous": "Line 3: TransformerFactory object without security options is used to create Transformer object.\nLine 5: TransformerFactory object without security options is used to create Transformer object.",
  "rule.sast.sw.java.2946.example.0.safe": "Line 3: Create TransformerFactory object.\nLine 3: Create TransformerFactory options.\nLine 4: Create TransformerFactory options.\nLine 7: Use TransformerFactory object with specified options to create Transformer object.",
  "rule.sast.sw.java.2946.name": "Weak XML Transformer",
  "rule.sast.sw.java.2947.description": "The Weak Server Certificate checker finds a child class that inherits X509TrustManager class, but fails to redefine an overriding function, or throw an exception from the child class.\nWhen implemented X509TrustManager fails to control certificate validation, this can lead to an error. Implement X509TrustManager interface, and validate certificates.\nIt is required to validate X.509 certificates in order to create secure SSL/TLS sessions which are safe against the MITM(Man in the Middle) attacks.",
  "rule.sast.sw.java.2947.example.0.dangerous": "Line 4: Overriden checkServerTrusted() method is not implemented, and does not throw an exception.",
  "rule.sast.sw.java.2947.example.0.safe": "Line 4: Implement checkServerTrusted() not to be empty.\nLine 15: Throw CertificateException.",
  "rule.sast.sw.java.2947.name": "Weak Server Certificate",
  "rule.sast.sw.java.2948.description": "The Server-side Request Forgery checker finds accesses to an unvalidated URL that contains an external input.\nIf a service operating on an open web server is allowed to access an unvalidated URL that contains an external input, it will attempt access to any URL even though the URL links to the internal server. The internal server then will send back a normal response because the received request is from a web server in the same internal network. If such a vulnerability is known to an attacker, the weak web server can be exploited to send a request to the internal server which itself is not directly accessible to the attacker. This may lead to exposing sensitive information.\nWhen accessing a URL that contains an external input, make sure it passes appropriate validation.",
  "rule.sast.sw.java.2948.example.0.dangerous": "Line 2: An external input is used to initialize a URL.",
  "rule.sast.sw.java.2948.example.0.safe": "Line 3: Verify the external input before using it.",
  "rule.sast.sw.java.2948.name": "Server-side Request Forgery",
  "rule.sast.sw.java.2948.option.class_type.description": "Sets the class name that uses the external input value.",
  "rule.sast.sw.java.2948.option.class_type.name": "Class name that uses external input values",
  "rule.sast.sw.java.2948.option.filter_method.description": "Enter name of the method that validates the external input values.<br />example) whitelist",
  "rule.sast.sw.java.2948.option.filter_method.name": "External Input Value Validation Method",
  "rule.sast.sw.java.2948.option.filter_set.name": "filter_set",
  "rule.sast.sw.java.2948.option.request_method.description": "Enter name of the method that acquires the external input value.<br />example) javax.servlet.http.HttpServletRequest.getParameter",
  "rule.sast.sw.java.2948.option.request_method.name": "GET Method of External Input",
  "rule.sast.sw.java.2957.description": "The Deserialization of Unsafe Jackson checker finds code that performs deserialization with Jackson libraries or that imports sensitive data from an untrusted source.\nJackson is an open framework to be used for serialization or deserialization in Java. Java supports to serialize and deserialize xml, and json type strings. Attackers can execute arbitrary code in a server by calling enableDefaultTyping before deserializing ObjectMapper.\nUse @JsonTypeInfo(use = Id.NAME) instead of @JsonTypeInfo(use = Id.CLASS) or @JsonTypeInfo(use = Id.MINIMAL_CLASS). Do not call enableDefaultTyping before deserializing ObjectMapper. And upgrade your Jackson to 2.7.10 and later version or 2.8.9 and later version. You can specify your option to find enableDefaultTyping() calls.",
  "rule.sast.sw.java.2957.example.0.dangerous": "Line 3: @JsonTypeInfo(use = Id.CLASS) is used.\nLine 7: @JsonTypeInfo(use = Id.MINIMAL_CLASS) is used.\nLine 12: ObjectMapper.enableDefaultTyping() method is called.",
  "rule.sast.sw.java.2957.example.0.safe": "Line 3: Use @JsonTypeInfo(use = Id.NAME).\nLine 7: Use @JsonTypeInfo(use = Id.NAME).\nLine 12: Remove the ObjectMapper.enableDefaultTyping() method call or upgrade your libraries.",
  "rule.sast.sw.java.2957.name": "Deserialization of Unsafe Jackson",
  "rule.sast.sw.java.2957.option.target_method_switch.description": "Sets whether the method is detected or not.",
  "rule.sast.sw.java.2957.option.target_method_switch.name": "Set whether or not to detect the method.",
  "rule.sast.sw.java.2958.description": "The Deserialization of Unsafe XStream checker finds code that calls XStream.fromXML() method.\nWhen you perform deserialization on XML documents in runtime, attackers can exploit it to execute malicious code.\nCheck your library upgrade to avoid a vulnerability from deserialization of XStream. Xstream 1.46 and earlier version is vulnerable for the issue. Ensure to use Xstream 1.47 and later version. If needed, upgrade your Struts version into 2.3.34 or 2.5.13 and later. After upgrading your libraries, you can specify your option not to find XStream.fromXML() method calls.",
  "rule.sast.sw.java.2958.example.0.dangerous": "Line 5: XStream.fromXML() method is called.",
  "rule.sast.sw.java.2958.example.0.safe": "Line 5: Check your Struts and XStream version.",
  "rule.sast.sw.java.2958.name": "Deserialization of Unsafe XStream",
  "rule.sast.sw.java.2958.option.target_method_switch.description": "Sets whether the method is detected or not.",
  "rule.sast.sw.java.2958.option.target_method_switch.name": "Set whether or not to detect the method.",
  "rule.sast.sw.java.2972.description": "The Insecure Hostname Unchecked in Android checker finds verify function that returns true only in HostnameVerifier interface.\nEven when a certificate is well configured, signed, and verified by a chain of trust, it is generated for other sites, not for the site that the program expected. \nWhen verify function of HostnameVerifier interface always returns true in Android, all certificates will be accepted. Therefore, attackers can use certificates with incorrect hostnames in the MITM attacks.\nEnsure to return a true for the verify function of HostnameVerifier only when its certificates are properly verified.",
  "rule.sast.sw.java.2972.example.0.dangerous": "Line 12: A function always returns true regardless of a certificate hostname.",
  "rule.sast.sw.java.2972.example.0.safe": "Line 19: Check that the hostname is correct.\nLine 20: Return true only when the hostname is correct.\nLine 22: Return false when the hostname is incorrect.",
  "rule.sast.sw.java.2972.name": "Insecure Hostname Unchecked in Android",
  "rule.sast.sw.java.30.description": "A security weakness that allows an attacker to cause software to behave abnormally by injecting arbitrary code to change the intended behavior of the software.\nIf you use a function that dynamically executes code, such as `eval()`, and accept code to user inputs, an attacker can execute the unintended code to take over privileges, bypass authentication, execute system commands, and more.\nIt's safe to avoid using `eval()` function that executes dynamic code. If needed, filter out special characters through a regular expression before using it.",
  "rule.sast.sw.java.30.example.0.dangerous": "Line 10: An external input of src is received in GET method, and used in eval function, which is dangerous.",
  "rule.sast.sw.java.30.example.0.safe": "Line 4: Use a regular expression in src to throw an exception on special characters, which is safe.",
  "rule.sast.sw.java.30.name": "Code injection",
  "rule.sast.sw.java.3015.description": "The Unnormalized String before Validation checker finds unvalidated external inputs with strings that are not normalized.\nUnicode presents strings in various formats. For example, `<` character can be shown as `\\uFE64`. Therefore, unless Unicode strings are not normalized and converted into unified interpretation, an attacker can perform unintended actions by sending inputs that bypass validation checks. \nIf you want to validate the untrusted external inputs, strings need to be normalized first and then perform validation on them.",
  "rule.sast.sw.java.3015.example.0.dangerous": "Line 2: An external input is sent to s variable.\nLine 5: An external value is validated without normalization. So, an attacker can put an action with arbitrary code.",
  "rule.sast.sw.java.3015.example.0.safe": "Line 2: An external input is sent to s variable.\nLine 4: Please normalize the external input and convert it into an interpretable value.",
  "rule.sast.sw.java.3015.name": "Unnormalized String before Validation",
  "rule.sast.sw.java.3015.option.alarm.name": "Detection Rule",
  "rule.sast.sw.java.3015.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.3015.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.3015.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.3016.description": "The XML Insertion checker finds code that uses an untrusted external input that is not properly filtered out in XML document.\nXML (eXtensible Markup Language) is a language designed for storing and passing data. If an external input is included in the XML document without filtering, an attacker can insert XML tags to manipulate its data.\nThe untrusted external input, userInput variable, needs to be converted into an unsigned integer type, which disables to insert any XML tags.",
  "rule.sast.sw.java.3016.example.0.dangerous": "Line 9: An untrusted external input value, userInput, is used without any filtering for a variable to be stored in XML.",
  "rule.sast.sw.java.3016.example.0.safe": "Line 9: The untrusted external input, userInput variable, needs to be converted into an unsigned integer type, which disables to insert any XML tags.",
  "rule.sast.sw.java.3016.name": "XML Insertion",
  "rule.sast.sw.java.3016.option.alarm.name": "Detection Rule",
  "rule.sast.sw.java.3016.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.3016.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.3016.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.3018.description": "The Simultaneous Bitwise and Arithmetic Operations checker finds code that performs an arithmetic operation and bit operation on the same data at a time.\nBitwise operation usually uses &lt;&lt;, >>, &amp;, or ^ operator on arithmetic values, which often leads to premature optimization. It is possible to compile when a bitwise and arithmetic operations are performed on the same data. But the code becomes less readable and portable.\nRather than performing bitwise and arithmetic operations on one data, use an arithmetic operator only. Then, the readability of the code should improve.",
  "rule.sast.sw.java.3018.example.0.dangerous": "Line 3: Variable x is evaluated by an arithmetic and bitwise operations.\nLine 8: A result of bitwise operation on x is assigned to variable y.\nLine 9: Variable y is resulted by the bitwise operation on x. So, it equals to perform both the bitwise and the arithmetic operation.",
  "rule.sast.sw.java.3018.example.0.safe": "Line 3: Use the arithmetic operator only to increase readability.",
  "rule.sast.sw.java.3018.name": "Simultaneous Bitwise and Arithmetic Operations",
  "rule.sast.sw.java.3019.description": "The Use of Shift Operator checker finds an external input that is used for a shift operation without proper validation.\nThe value to the right of a shift operation must be within the appropriate range for the type of the numeric value to the left of the shift operation. For example, if the value to the left of the shift operation is int, the range to the right of the shift operation must be between 0 and 63. If a value larger than the value to the left of the shift operation is used for the range, an unintended behavior may occur.\nThe external input needs to be validated before the shift operation.",
  "rule.sast.sw.java.3019.example.0.dangerous": "Line 3: An unvalidated external input param is used for shift operation.",
  "rule.sast.sw.java.3019.example.0.safe": "Line 3: Verify the range of the external input param.\nLine 6: The validated input param is used in the shift operation.",
  "rule.sast.sw.java.3019.name": "Use of Shift Operator",
  "rule.sast.sw.java.3020.description": "The Unvalidated Method Argument checker finds code that assigns unvalidated external inputs to member variables.\nThe assigned arguments need to be validated within the called method, or before the method calls. It's common to perform validation either within or before the method than in both cases. If the arguments are used without validation, unintended behavior may occur. The checker searches validation checks on the arguments within the method only. So you can throw an exception when the validation check is properly performed on every method call.\nWhen assigning an external input to a member variable, it needs to be assigned after proper validation.",
  "rule.sast.sw.java.3020.example.0.dangerous": "Line 5: An unvalidated external input state is assigned to a member object myState.",
  "rule.sast.sw.java.3020.example.0.safe": "Line 5: Validate the external input state.\nLine 8: Assign the validated input state to the member object.",
  "rule.sast.sw.java.3020.name": "Unvalidated Method Argument",
  "rule.sast.sw.java.3020.option.excluded_class.description": "Write the name of a class to exclude.<br />Example) .*Dto",
  "rule.sast.sw.java.3020.option.excluded_class.name": "Name of the class to exclude from the checking",
  "rule.sast.sw.java.3020.option.excluded_method.description": "Write the name of a method to exclude.<br />Example) .*Dto",
  "rule.sast.sw.java.3020.option.excluded_method.name": "Excluded Method",
  "rule.sast.sw.java.3020.option.excluded_package.description": "Write the name of a package to exclude.<br />Example) .*dto",
  "rule.sast.sw.java.3020.option.excluded_package.name": "Excluded package",
  "rule.sast.sw.java.3021.description": "The Incomplete validate Method Definition checker finds a validate method that is not defined or incorrectly defined in a subclass of a specific class.\nIf the validate method is not defined when the following class is inherited, or if the super.validate method is not called within the defined validate method to run validation, this may lead to a vulnerability. There are four inherited classes: `org.apache.struts.validator.ValidatorForm`, `org.apache.struts.validator.ValidatorActionForm`, `org.apache.struts.validator.DynaValidatorForm`, `org.apache.struts.validator.DynaValidatorActionForm`.\nThe validate method must be defined in the class that inherits the following four classes, and the super.validate method must be called within the defined validate method. `org.apache.struts.validator.ValidatorForm`, `org.apache.struts.validator.ValidatorActionForm`, `org.apache.struts.validator.DynaValidatorForm`, `org.apache.struts.validator.DynaValidatorActionForm`.",
  "rule.sast.sw.java.3021.example.0.dangerous": "Line 1: org.apache.struts.validator.ValidatorForm class is inherited.\nLine 9: A validate method is defined, but super.validate method is not called by the validate method.",
  "rule.sast.sw.java.3021.example.0.safe": "Line 10: Complete validation checks by calling the super.validate method within the validate method.",
  "rule.sast.sw.java.3021.name": "Incomplete validate Method Definition",
  "rule.sast.sw.java.3022.description": "The Inheriting Validation Class checker finds a class that inherits ActionForm or DynaActionForm class.\nSince Form Bean does not extend ActionForm subclass of Validator framework, so that an application may expose to other weaknesses due to insufficient input validation.\nActionForm or DynaActionForm class must not to be inherited. In order to use the Struts Validator, a form must extend one of the following: ValidatorForm, ValidatorActionForm, DynaValidatorActionForm, and DynaValidatorForm. Because the Struts Validator is used for an application by implementing the validate() method on the classes, you need to extend one of above classes.",
  "rule.sast.sw.java.3022.example.0.dangerous": "Line 3: ActionForm class is inherited.",
  "rule.sast.sw.java.3022.example.0.safe": "Line 3: Inherit ValidatorForm class instead of the ActionForm class.",
  "rule.sast.sw.java.3022.name": "Inheriting Validation Class",
  "rule.sast.sw.java.3023.description": "The Use of sync Primitives checker finds code that uses synchronized methods in the Enterprise JavaBeans specification.\nIf you use a synchronized keyword to synchronize in the EJB specification, this might lower synchronization quality. The EJB specification is determined by inheriting javax.ejb.SessionBean.\nAvoid to use the synchronized keyword in the EJB specification.",
  "rule.sast.sw.java.3023.example.0.dangerous": "Line 5-6: A synchronized method is used.",
  "rule.sast.sw.java.3023.example.0.safe": "Line 5-6: Use a regular method instead of the synchronized method.",
  "rule.sast.sw.java.3023.name": "Use of sync Primitives",
  "rule.sast.sw.java.3029.description": "The Multiple Buffer Wrappers on Single Byte or Character Stream checker finds two or more wrappers that are created and used for an object with non-blocking I/O, such as Scanner and BufferedInputStream.\nJava input classes such as Scanner and BufferedInputStream facilitate fast, non-blocking I/O by buffering an underlying input stream. However, programs that use multiple wrappers around an input stream can cause unexpected behavior depending on whether the wrappers allow look-ahead or not. In general, any input stream that supports I/O with non-blocking buffers is susceptible to this misuse. The input stream must not have more than one buffered wrapper. Instead, create and use only one wrapper per input stream by passing it as an argument to a method or declaring it as a class variable. Likewise, the output stream must not have more than one buffered wrapper as multiple wrappers can cause multiple output strings to be printed out in an unexpected order. For example, javax.servlet.ServletResponse allows for the creation of PrintWriter or OutputStream to hold responses generated by web servlets. But you should use either one, not both.\nAvoid calling the argument System.in from Java input classes like Scanner and BufferedInputStream within methods.",
  "rule.sast.sw.java.3029.example.0.dangerous": "Line 3: A buffered wrapper with BufferedInputStream is unsafe. This can be exploited while using the scanner.",
  "rule.sast.sw.java.3029.example.0.safe": "Line 2: Create and use one BufferedInputStream for System.in. In this case, the method is declared as a class variable. So that only one BufferedInputStream can be accessed.",
  "rule.sast.sw.java.3029.name": "Multiple Buffer Wrappers on Single Byte or Character Stream",
  "rule.sast.sw.java.3029.option.stream_list.description": "Enter the analysis target to detect.",
  "rule.sast.sw.java.3029.option.stream_list.name": "Analysis target",
  "rule.sast.sw.java.3042.description": "The Reuse of Public Identifier in Java Standard Library checker finds a class or interface identifier that is identically defined with a public identifier of the Java Standard Library. \nAs specified in the \"Java Language Specification (JLS), 6.3.2 Obscured Declarations [JLS 2005]\", a custom type vector might shadow a class name of `java.util.Vector`. Then, an unexpected behavior can occur. Well-defined import statements can resolve these issues. However, when reused name definitions are imported from other packages, use of the `type-import-on-demand` declaration can complicate a programmer's attempt to determine which specific definition was intended to be used.\nAdditionally, a common practice that can lead to errors is to produce the import statements after writing the code, often via automatic inclusion of import statements by an IDE, which creates further ambiguity with respect to the names. Moreover, when a custom type is found earlier than the intended type in the Java include path, no further searches are conducted. Consequently, the wrong type is silently adopted.\nAvoid defining identifiers for classes or interfaces to be identical to public identifiers of the Java Standard Library.\nIts identifier list can be checked in `rt.jar`.",
  "rule.sast.sw.java.3042.example.0.dangerous": "Line 1: A class reuses the name of java.util.Vector class in the Java standard library.",
  "rule.sast.sw.java.3042.example.0.safe": "Line 1: Do not shadow the class name of the Java Standard Library.",
  "rule.sast.sw.java.3042.name": "Reuse of Public Identifier in Java Standard Library",
  "rule.sast.sw.java.3046.description": "The Information Exposure via Java Runtime Error Message checker finds code in which sensitive information is exposed via runtime error messages.\nIn most cases, an attacker can gain unauthorized access to the system by using a condition that raises an unhandled exception error. In order to gain unauthorized access to the system, the attacker gathers unintended information from the runtime error messages.\nDo not contain information about file paths in the error message output information.",
  "rule.sast.sw.java.3046.example.0.dangerous": "Line 5: The Linux file path is included in the linuxPath variable.\nLine 5: The Windows file path is included in the DEFAULT_FILE_PATH variable.\nLine 18: linuxPath variable is printed out. Vulnerable to security.\nLine 19: inputFilePath variable is printed out. Vulnerable to security.\nLine 20: inputFilePath variable is printed out. Vulnerable to security.",
  "rule.sast.sw.java.3046.example.0.safe": "Line 18: Remove the file path output.",
  "rule.sast.sw.java.3046.name": "Information Exposure via Java Runtime Error Message",
  "rule.sast.sw.java.3046.option.exclude_method.description": "Write method name to be excluded from analyzing.example).*Print",
  "rule.sast.sw.java.3046.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.3046.option.exclude_path.description": "Enter the path to exclude from the analysis.<br /> example).*\\test\\.*",
  "rule.sast.sw.java.3046.option.exclude_path.name": "Excluded path",
  "rule.sast.sw.java.3046.option.target_pattern.description": "Enter the path to include from the analysis.",
  "rule.sast.sw.java.3046.option.target_pattern.name": "Including path",
  "rule.sast.sw.java.3047.description": "The Sensitive information in log checker finds code that records sensitive information such as personally identifiable information in the log.\nLogging sensitive data poses concerns, including privacy security, restrictions by the law on collection of personal information, and the potential for data exposure by insiders.\nLogging is essential for debugging and incident response. Nevertheless, logging sensitive data poses concerns, including privacy security, restrictions by the law on collection of personal information, and the potential for data exposure by insiders. For example, leaking unencrypted credit card numbers into log files can violate PCI DSS regulations. Consequently, logs must not contain sensitive data, especially in case when it is prohibited by the law. Other information, such as credit card numbers, may only be included in the log in encrypted form. Information such as passwords should not be logged at all.\nIf you record personally identifiable information such as an IP address, username and password, email address, credit card number, and social security number in the log, delete that line.",
  "rule.sast.sw.java.3047.example.0.dangerous": "Line 10: An IP address of the remote client is recorded when the server throws a security exception. This data can be misused, for example, to profile users' browsing habits, which violates legal restrictions in many countries. The log must not contain the IP address and any information about the SecurityExcepton as it can leak the IP address.\nLine 18: By default, INFO, WARNING, and SERVER levels print out messages to a console which is accessible to end users and system administrators. So, this is improper code.",
  "rule.sast.sw.java.3047.example.0.safe": "Line 10: In the code, no security exceptions are logged, except for the log executed implicitly by MyExceptionReporter.\nLine 24: In the code, information about passenger ages is recorded at the FINEST level, so that it is not shown in the console. So the passenger ages will be recorded in the system log file, but not in the console.",
  "rule.sast.sw.java.3047.name": "Sensitive information in log",
  "rule.sast.sw.java.3047.option.alarm.name": "Detection rule",
  "rule.sast.sw.java.3047.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.3047.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.3047.option.sensitive_variable.description": "Write the sensitive variable name.",
  "rule.sast.sw.java.3047.option.sensitive_variable.name": "sensitive variable name",
  "rule.sast.sw.java.3047.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.3051.description": "The Servlet Action after Committed Response checker finds when some action is performed after the servlet's response is committed.\nWhen a web servlet receives a request from a client, it must produce a suitable response. During this process, Java's HttpServlet provides the HttpServletResponse object to capture a suitable response. The response can be built using an output stream provided by getOutputStream() method or a writer provided by getWriter(). And the response is committed when its status code and HTML header have been sent. However, while additional data can be appended to the response after the response is committed, but some actions cannot. For example, the encoding cannot be changed once it is committed because the encoding is included in the HTML header. javax.servlet.http.HttpServletResponse.sendError(int)\njavax.servlet.http.HttpServletResponse.sendError(int, java.lang.String)\njavax.servlet.http.HttpServletResponse.sendRedirect(java.lang.String)\njavax.servlet.http.HttpServletResponse.setDateHeader(java.lang.String,long)\njavax.servlet.http.HttpServletResponse.setHeader(java.lang.String,java.lang.String)\njavax.servlet.http.HttpServletResponse.setIntHeader(java.lang.String,int)\njavax.servlet.http.HttpServletResponse.setStatus(int)\njavax.servlet.http.HttpServletResponse.setStatus(int,java.lang.String)\njava.io.PrintWriter.flush()\njava.io.PrintWriter.append() \njava.io.PrintWriter.format() \njava.io.PrintWriter.print() \njava.io.PrintWriter.printf() \njava.io.PrintWriter.println() \njava.io.PrintWriter.write()\njavax.servlet.ServletOutputStream.flush()\njavax.servlet.ServletOutputStream.print()\njavax.servlet.ServletOutputStream.println()\nMake sure not to call certain methods after java.io.PrintWriter.flush() or javax.servlet.ServletOutputStream.flush() is called.",
  "rule.sast.sw.java.3051.example.0.dangerous": "Line 10: After calling a flush() method on the stream, an IOException is raised and a catch clause is executed. Then, the stream is committed and the sendError() raises IllegalStateException.\nLine 11: After calling the flush() method, another flush() method is called.",
  "rule.sast.sw.java.3051.example.0.safe": "Line 6: The sendError() method can overwrite the output, so call it before the output stream or the writer is generated.\nLine 13: Ensure to output an error with a valid HTML when the output stream or writer is generated.\nLine 15: Call the flush() method once in the finally clause.",
  "rule.sast.sw.java.3051.name": "Servlet Action after Committed Response",
  "rule.sast.sw.java.3051.option.exclude_method.description": "Write method name to be excluded from analyzing.example).*Print",
  "rule.sast.sw.java.3051.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.3051.option.exclude_path.description": "Enter the path to exclude from the analysis. <br / > example).*\\test\\.*",
  "rule.sast.sw.java.3051.option.exclude_path.name": "Excluded path",
  "rule.sast.sw.java.3052.description": "The Logging sensitive information in Android checker finds logs that print out data with external inputs.\nAndroid provides capabilities for an app to output logging information and obtain log output. Applications can send information to log output using android.util.Log class. And applications can execute logcat command to obtain log output information. Prior to Android 4.0, any applications with READ_LOGS permission can obtain log output from other applications. However, after Android 4.1, even an application with READ_LOGS permission cannot obtain log output information from other applications. However, by connecting your Android device to your PC, you can obtain log output from other applications. Therefore, applications should avoid sending out sensitive information to logs. The checker finds where a specified target parameter of the following methods satisfies the following conditions: android.util.Log.d(java.lang.String,java.lang.String): 2nd parameter android.util.Log.e(java.lang.String,java.lang.String): 2nd parameter android.util.Log.i(java.lang.String,java.lang.String): 2nd parameter android.util.Log.v(java.lang.String,java.lang.String): 2nd parameter android.util.Log.w(java.lang.String,java.lang.String): 2nd parameter android.util.Log.wtf(java.lang.String,java.lang.String): 2nd parameter android.util.Log.println(int,java.lang.String,java.lang.String): 3rd parameter\nDo not print out the external input other than the permitted methods or variables specified in the checker option.",
  "rule.sast.sw.java.3052.example.0.dangerous": "Line 2: A sensitive information, Facebook access token, is printed out in plaintext on logs.",
  "rule.sast.sw.java.3052.example.0.safe": "Line 1: Remove the sensitive information from the log information.",
  "rule.sast.sw.java.3052.name": "Logging sensitive information in Android",
  "rule.sast.sw.java.3052.option.exclude_method.description": "Write method name to be excluded from analyzing.example).*Print",
  "rule.sast.sw.java.3052.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.3052.option.exclude_path.description": "Enter the path to exclude from the analysis. <br / > example).*\\test\\.*",
  "rule.sast.sw.java.3052.option.exclude_path.name": "Excluded path",
  "rule.sast.sw.java.3052.option.include_method.description": "Enter the function FQN to allow the output of the return value in the log.",
  "rule.sast.sw.java.3052.option.include_method.name": "Function FQN to allow output of return value to log",
  "rule.sast.sw.java.3052.option.include_variable.description": "Enter the name of the variable in the log to allow the output of the value.",
  "rule.sast.sw.java.3052.option.include_variable.name": "Name of variable to allow value output to the log",
  "rule.sast.sw.java.3053.description": "The Missing Canonicalization before File Exchange through Content Provider checker finds file names that are not canonicalized before exchanging the files with content providers.\nThe content provider android.content.ContentProvider class provides other applications capabilities to access application data through openFile() method. However, depending on the implementation of the class, use of the openFile() method can lead to a directory traversal vulnerability. Therefore, when exchanging files through a content provider, the path to the file must be canonicalized before it is used.\nBefore exchanging the file via the content provider, it must be canonicalized using File.getCanonicalPath().",
  "rule.sast.sw.java.3053.example.0.dangerous": "Line 4: Uri.getLastPathSegment() method internally calls Uri.getPathSegment(). The Uri.getPathSegments() method divides the path into segments by using \"/\" splitter. However, if the path is URL-encoded, the splitter will be \"%2F\" instead of \"/\". The Uri.getLastPathSegment() method may not correctly return the last segment of the path.",
  "rule.sast.sw.java.3053.example.0.safe": "Line 6: Create the file object, and call java.util.File.getCanonicalPath() function in order to canonicalize the path. This checks that it contains an allowed path.",
  "rule.sast.sw.java.3053.name": "Missing Canonicalization before File Exchange through Content Provider",
  "rule.sast.sw.java.3053.option.exclude_method.description": "Write method name to be excluded from analyzing.example).*Print",
  "rule.sast.sw.java.3053.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.3053.option.exclude_path.description": "Enter the path to exclude from the analysis. <br / > example).*\\test\\.*",
  "rule.sast.sw.java.3053.option.exclude_path.name": "Excluded path",
  "rule.sast.sw.java.3055.description": "The Missing Normalization before Validation checker finds file names that are not normalized before they are validated for paths.\nThe path name of the java.io.File class can be absolute or relative. The absolute path is complete in respect with no other information is required to find the file. In contrast, the relative path needs to be interpreted in terms of information taken from other path names. The absolute or relative pathnames can contain file links such as symbolic (soft) links, hard links, shortcuts, shadows, and aliases. These file links need to be checked before their files are validated. Additionally, naming conventions can make validation difficult depending on the operating system and filesystem. Normalizing file names makes it easier to validate path names. Therefore, pathnames need to be fully-checked or normalized before validation.\nPlease normalize the filenames before validating them for paths.",
  "rule.sast.sw.java.3055.example.0.dangerous": "Line 5: A file name is normalized after validation, which makes validation useless.",
  "rule.sast.sw.java.3055.example.0.safe": "Line 6: Normalize and validate the file name that comes from an untrusted user input by using a whitelist of pathnames.",
  "rule.sast.sw.java.3055.name": "Missing Normalization before Validation",
  "rule.sast.sw.java.3055.option.alarm.name": "Detection rule",
  "rule.sast.sw.java.3055.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.3055.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.3055.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.3056.description": "The Failure to Check Permission on Geolocation API checker finds code that uses the Geolocation API to obtain the user location information, but fails to check user permission on it.\nThe Geolocation API allows a web browser to access the geographic location of a user device. Specification of the API prohibits user agents from sending location information to websites without the user's permissions as follows: \n\"User Agents must not send location information to Web sites without the express permission of the user. User agents must acquire permission through a user interface, unless they have prearranged trust relationships with users, as described below. Those permissions that are acquired through the user interface must be revocable and user agents must respect revoked permissions.\" \nTo comply with the requirement above, you need to obtain permissions through the user interface to send location information to the website.\nThe checker finds where executable code does not exist between a call to super.onGeolocationPermissionsShowPrompt() and a call to android.webkit.GeolocationPermissions.Callback.invoke().\nCheck the user permission by placing executable code between the call to super.onGeolocationPermissionsShowPrompt() and the call to android.webkit.GeolocationPermissions.Callback.invoke().",
  "rule.sast.sw.java.3056.example.0.dangerous": "Line 3: Location information is sent without requiring a permission for a user.",
  "rule.sast.sw.java.3056.example.0.safe": "Line 6: If the geolocation setting is enabled, the screen will show a message asking for the user permission.",
  "rule.sast.sw.java.3056.name": "Failure to Check Permission on Geolocation API",
  "rule.sast.sw.java.3056.option.exclude_method.description": "Write method name to be excluded from analyzing.example).*Print",
  "rule.sast.sw.java.3056.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.3056.option.exclude_path.description": "Enter the path to exclude from the analysis.<br /> example).*\\test\\.*",
  "rule.sast.sw.java.3056.option.exclude_path.name": "Excluded path",
  "rule.sast.sw.java.3057.description": "The XML External Entity Attack checker finds code that an XML input containing references to external entities is processed by an improperly configured XML parser.\nThe entities are declared to define shortcuts to commonly used texts or special characters. You can define internal or external entities. For internal entities, the contents are provided in the declaration: for external entities, the contents are specified by Uniform Resource Identifier (URI). The entities may or may not be parsed. The contents of the parsed entities are called as replacement text. The unparsed entities may or may not have textual contents. If they do, the contents may or may not be XML. \n\nThe parsed entities are invoked by name using entity references: the unparsed entities are invoked by name. According to the \"XML W3C Recommendation, section 4.4.3, Included If Validating\" [W3C 2008], When an XML processor recognizes a reference to a parsed entity, to validate the document, the processor MUST include its replacement text. If the entity is external, and the processor is not attempting to validate the XML document, the processor MAY, but need not, include the entity's replacement text. \n\nBecause inclusion of replacement text from an external entity is optional, not all XML processors are vulnerable to external entity attacks during validation. An XML external entity (XXE) attack occurs when XML input containing a reference to an external entity is processed by an improperly configured XML parser.\nYou must not use `javax.xml.parsers.SAXParser.parse()`. Or You need to call `org.xml.sax.XMLReader.setEntityResolver()` in advance of a call of `org.xml.sax.XMLReader.parse()`.",
  "rule.sast.sw.java.3057.example.0.dangerous": "Line 6: javax.xml.parsers.SAXParser.parse() is called.\nLine 12: org.xml.sax.XMLReader.parser() is called without calling org.xml.sax.XMLReader.setEntityResolver().",
  "rule.sast.sw.java.3057.example.0.safe": "Line 12: Perform validation by calling XMLReader.setEntityResolver() before calling XMLReader.parser(). Do not call the vulnerable SAXParser.parse().",
  "rule.sast.sw.java.3057.name": "XML External Entity Attack",
  "rule.sast.sw.java.3057.option.exclude_method.description": "Write method name to be excluded from analyzing.example).*Print",
  "rule.sast.sw.java.3057.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.3057.option.exclude_path.description": "Enter the path to exclude from the analysis. <br / > example).*\\test\\.*",
  "rule.sast.sw.java.3057.option.exclude_path.name": "Excluded path",
  "rule.sast.sw.java.3058.description": "The Use of mutable Field within equals checker finds a mutable field that is used to execute a method that compares objects.\nEven some fields are mutable, java.lang.Object.equals() methods must consider only immutable state when comparing objects. Violation of this rule can produce inconsistent orderings in collections.\nYou must use final fields within equals().",
  "rule.sast.sw.java.3058.example.0.dangerous": "Line 20: A mutable field name is used.",
  "rule.sast.sw.java.3058.example.0.safe": "Line 17: Use the immutable field.",
  "rule.sast.sw.java.3058.name": "Use of mutable Field within equals",
  "rule.sast.sw.java.3058.option.exclude_method.description": "Write method name to be excluded from analyzing.example).*Print",
  "rule.sast.sw.java.3058.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.3058.option.exclude_path.description": "Enter the path to exclude from the analysis. <br / > example).*\\test\\.*",
  "rule.sast.sw.java.3058.option.exclude_path.name": "Excluded path",
  "rule.sast.sw.java.3060.description": "The Non-serializable Object Stored in Session checker finds code that stores non-serializable objects in the session.\nJ2EE applications can use multiple JVMs in order to improve application reliability and performance. To allow multiple JVMs to appear as a single application to the end user, the J2EE container replicates the javax.servlet.http.HttpSession object between the JVMs so that each JVM can take action without interfering the application flow. This is possible only when all sessions are serialized and replicated between JVMs. The checker finds where types of the second argument of the following methods does not inherit java.io.Serializable interface. `javax.servlet.http.HttpSession.setAttribute(java.lang.String,java.lang.Object)` \n`javax.servlet.http.HttpSession.putValue(java.lang.String,java.lang.Object)`\nMake sure that the type of the object to be serialized inherits the java.io.Serializable interface.",
  "rule.sast.sw.java.3060.example.0.dangerous": "Line 5: A DataGlob object this, that is a non-serializable, is stored in javax.servlet.http.HttpSession object.",
  "rule.sast.sw.java.3060.example.0.safe": "Line 1: The object stored in the session must be serializable.",
  "rule.sast.sw.java.3060.name": "Non-serializable Object Stored in Session",
  "rule.sast.sw.java.3060.option.exclude_method.description": "Write method name to be excluded from analyzing.example).*Print",
  "rule.sast.sw.java.3060.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.3060.option.exclude_path.description": "Enter the path to exclude from the analysis. <br / > example).*\\test\\.*",
  "rule.sast.sw.java.3060.option.exclude_path.name": "Excluded path",
  "rule.sast.sw.java.3064.description": "The Unwrapped Native Method checker finds a native method that is declared as private and called directly without using a wrapper method.\nNative methods are written in C and C++ languages and are defined in Java. This extensibility allows the native methods to be flexible and portable, rather than dependent on Java. The native methods are used to perform platform-specific operations, interfacing with legacy library code, and improving program performance. Defining a wrapper method facilitates installing appropriate security manager checks, validating arguments passed to native code, validating return values, defensively copying mutable inputs, and sanitizing untrusted data. Consequently, every native method must be private and must be invoked only by a wrapper method. \nThe checker finds two cases as followings: \n1: A method is declared as native modifier, but a private is not used. \n2: A method is declared as public modifier, which satisfies all of the following conditions: \n 1) Another method N is declared as native modifier for the same object.\n 2) Function F calls the method N within the method. 3) Function F is executed on all execution paths.\nDeclare the native method as private, and perform a security check using a conditional statement before calling the native method.",
  "rule.sast.sw.java.3064.example.0.dangerous": "Line 3: nativeOperation() method is a native and is declared as a public method. So an untrusted user can call it.\nLine 6: No validation or security check is performed on input while calling nativeOperation() method.",
  "rule.sast.sw.java.3064.example.0.safe": "Line 3: Declare the nativeOperation() method as private.\nLine 17: Check the ranges of arguments and perform validation to secure the passed input before calling the nativeOperation() method.",
  "rule.sast.sw.java.3064.name": "Unwrapped Native Method",
  "rule.sast.sw.java.3064.option.exclude_method.description": "Write method name to be excluded from analyzing.example).*Print",
  "rule.sast.sw.java.3064.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.3064.option.exclude_path.description": "Enter the path to exclude from the analysis. <br / > example).*\\test\\.*",
  "rule.sast.sw.java.3064.option.exclude_path.name": "Excluded path",
  "rule.sast.sw.java.3065.description": "The Security Check for Untrusted Sources checker finds code that directly performs security checks without copying objects or arguments from untrusted sources.\nAny untrusted object or argument must be copied before a security check is performed. The copy operation must be a deep copy. In particular, implementation of the clone() method may produce a shallow copy, the clone() method itself can be compromised by an attacker. The checker finds the following targets: TargetAn argument of java.security.AccessController.doPrivileged() argumentAn argument of java.security.AccessController.doPrivilegedWithCombiner()Rule1) The argument refers to a object with PARAM class type instead of a final parameter in the method. 2) An object P created by clone() an final PARAM object is used as a parameter of the method.\nEnsure not to use non-final type of variables passed to parameters in the specified method. Do not use the copied object created by clone() of the variables in the specified doPrivileged or doPrivilegedWithCombiner function.",
  "rule.sast.sw.java.3065.example.0.dangerous": "Line 2: java.io.File object is not declared as final. So an attacker can extend the class to insert untrusted arguments. If an attacker overrides the java.io.File.getPath() method used for a security check, the security check will be passed on the first time when it is called: but on the second time, it can change its value to refer to a sensitive file.",
  "rule.sast.sw.java.3065.example.0.safe": "Line 2: Perform a deep copy and create a new java.io.File object by using the standard constructor, even if the java.io.File object is not final.",
  "rule.sast.sw.java.3065.name": "Security Check for Untrusted Sources",
  "rule.sast.sw.java.3065.option.exclude_method.description": "Write method name to be excluded from analyzing.example).*Print",
  "rule.sast.sw.java.3065.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.3065.option.exclude_path.description": "Enter the path to exclude from the analysis. <br / > example).*\\test\\.*",
  "rule.sast.sw.java.3065.option.exclude_path.name": "Excluded path",
  "rule.sast.sw.java.3116.description": "When a vulnerable XML parser processes an XML value that refers to an external input, it can run code injected by attacker and lead to access to server files, use unnecessary resources, bypass authentication, or leak information.\nThe vulnerability occurs when XML external entities are accepted from the server.\nDisable the XML parser from defining doctypes, and exclude external generic entities and external parameters. Also, disable external DTDs, set functions to disable XInclude or set the generated parser not to expand entity reference nodes.",
  "rule.sast.sw.java.3116.example.0.dangerous": "Line 1: A used without setting external entity reference restrictions is declared, which is dangerous.",
  "rule.sast.sw.java.3116.example.0.safe": "Line 2-8: Disable DOCTYPE declaration and external entity declaration, prohibit using protocols by external entities, and disable entity reference expansion in line 1, which is safe.",
  "rule.sast.sw.java.3116.name": "Improper XML external entity reference",
  "rule.sast.sw.java.3117.description": "Serialization involves copying instance information into a byte stream that replicates the state of the object running in memory, which is then saved as a file or passed to the receiving end. \nDeserialization is the opposite operation, transforming a binary file or byte stream into an object with a structure. During the process of sending serialized data over a network from a sender to a receiver, an attacker may manipulate the transmitted or stored stream. This untrusted deserialization creates a security vulnerability that can lead to integrity violations, remote code execution, and denial of service (DoS) attacks.\nVariables in uninitialized stack memory areas may be considered as inconsequential random numbers. However, they may store the values used in previous functions. An attacker can exploit this weakness to read values stored in memory or execute specific code.\nAfter inheriting `ObjectInputStream`, implement a `WhitelistedObjectInputStream` object for its use. When you execute `readObject()` in `WhitelistedObjectInputStream`, the `resolveClass` function is called for whitelist validation. This throws exceptions for any data that are not included in the list.",
  "rule.sast.sw.java.3117.example.0.dangerous": "Line 7: Malicious code could be executed because the input values of a byte array are deserialized through readObject() without validation.",
  "rule.sast.sw.java.3117.example.0.safe": "Line 29: This is secure because deserialization is performed after whitelist validation.",
  "rule.sast.sw.java.3117.name": "Deserialization of Untrusted Data",
  "rule.sast.sw.java.3117.option.exclude_method.description": "Write method name to be excluded from analyzing.example).*Print",
  "rule.sast.sw.java.3117.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.3117.option.exclude_path.description": "Enter the path to exclude from the analysis. <br / > example).*\\test\\.*",
  "rule.sast.sw.java.3117.option.exclude_path.name": "Excluded path",
  "rule.sast.sw.java.3270.description": "If you store sensitive information, such as information about your web program or source code, in comments, it is possible for a hacker to understand the structure of your program and expose hidden pages. \nIn JSPs, you can use two types of comments. When you use HTML comments in the form of `<!-- -->`, the content of the comment is exposed in the page source view. If you need to store information in a comment that shouldn't be exposed, you should use a JSP comment, such as `<%-- --%>`, which doesn't leak from the source view.",
  "rule.sast.sw.java.3270.example.0.dangerous": "Line 1: Information can be exposed because the HTML comment is used.",
  "rule.sast.sw.java.3270.example.0.safe": "Line 1: The content is not exposed in View page source because the JSP comment is used.",
  "rule.sast.sw.java.3270.name": "Sensitive Information Included in Comments",
  "rule.sast.sw.java.3270.option.exclude_dir.description": "Write a exclusion of folder path using glob pattern.<br />Example) src/java/**/core/**",
  "rule.sast.sw.java.3270.option.exclude_dir.name": "Exclusion of folder path",
  "rule.sast.sw.java.3270.option.exclude_extension.description": "Write a exclusion of file extension.<br />Example) java",
  "rule.sast.sw.java.3270.option.exclude_extension.name": "Exclusion of file extension",
  "rule.sast.sw.java.3270.option.rule.description": "Write a rule of analysis using regular expressions.",
  "rule.sast.sw.java.3270.option.rule.name": "Detection rule",
  "rule.sast.sw.java.3270.option.target_dir.description": "Write a target of folder path using glob pattern.<br />Example) src/java/**/core/**",
  "rule.sast.sw.java.3270.option.target_dir.name": "Target of folder path",
  "rule.sast.sw.java.3270.option.target_extension.description": "Write a target of file extension.<br />Example) html",
  "rule.sast.sw.java.3270.option.target_extension.name": "Target of file extension",
  "rule.sast.sw.java.398.description": "The Direct Use of Unsafe JNI checker finds instances of using the Java Native Interface (JNI) to call code written in another programming language.\nThe checker determines that any methods defined with the native modifier may be vulnerable. Refrain from using the JNI so long as possible. \nIf a program coded in another language is used through the JNI, it must be validated for potential problems applicable to that language; to warn about the need of this validation, the checker regards the use of the native modifier as posing a vulnerability. If security checks are not performed on a routine written in another language, the Java class that calls the routine via the JNI will be exposed to the weaknesses of the routine.\nIf the use of the JNI is inevitable, perform relevant security checks on the native code and also verify for possible vulnerabilities caused by interactions between the native code and the Java program that calls it.",
  "rule.sast.sw.java.398.example.0.dangerous": "Line 2: A method defined as a native modifier is used.",
  "rule.sast.sw.java.398.example.0.safe": "Line 2: Do not directly use an insecure JNI.",
  "rule.sast.sw.java.398.name": "Direct Use of Unsafe JNI",
  "rule.sast.sw.java.399.description": "The Hardcoded user name and password checker finds instances of passing a string constant to a parameter that takes a username or password. \nThe checker verifies arguments passed to the username and password parameters of java.sql.DriverManager.getConnection() method. \nIf program code contains a hardcoded password that is used for internal authentication or for communications with an external component, it can be exploited to leak administrator information.\nIt is recommended that passwords be stored in a separate source in ciphertext and decrypted only when read from there. ",
  "rule.sast.sw.java.399.example.0.dangerous": "Line 3: A constant string is used in a password argument of java.sql.DriverManager.getConnection() function.",
  "rule.sast.sw.java.399.example.0.safe": "Line 2: Use a variable instead of constant string.",
  "rule.sast.sw.java.399.name": "Hardcoded user name and password",
  "rule.sast.sw.java.399.option.alarm.name": "Detection Rule",
  "rule.sast.sw.java.399.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.399.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.399.option.properties_password_expr.description": "Write the expression of the password key in Properties.<br />Example) password",
  "rule.sast.sw.java.399.option.properties_password_expr.name": "Password key expression of Properties",
  "rule.sast.sw.java.399.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.400.description": "The Insufficient session expiration checker finds instances of passing an argument of -1 to the HttpSession.setMaxInactiveInterval() method.\nAn argument of -1 to HttpSession.setMaxInactiveInterval() sets the session timeout indefinite. Too long a session duration may lead to an unintended exposure of user information to a subsequent user.\nWhen setting a session timeout, use an appropriate positive number to ensure the session expires after a certain period.",
  "rule.sast.sw.java.400.example.0.dangerous": "Line 5: -1 is passed as an argument of setMaxInactiveInterval() method, which sets a session expiration time to unlimited.",
  "rule.sast.sw.java.400.example.0.safe": "Line 5: Specify a reasonable positive number for the session expiration time.",
  "rule.sast.sw.java.400.name": "Insufficient session expiration",
  "rule.sast.sw.java.400.option.min_session_timeout.description": "Write the minimum of session timeout in seconds.",
  "rule.sast.sw.java.400.option.min_session_timeout.name": "Minimum session timeout (in seconds)",
  "rule.sast.sw.java.400.option.session_class.description": "Write a class which represents the 'Session' object.",
  "rule.sast.sw.java.400.option.session_class.name": "Write a class which represents the 'Session' object.",
  "rule.sast.sw.java.400.option.session_method.description": "A method called by session objects to set the session timeout. (i.e. setMaxInactiveInterval)",
  "rule.sast.sw.java.400.option.session_method.name": "Method called by session objects to set the session timeout",
  "rule.sast.sw.java.401.description": "The Insecure direct object reference checker finds instances of specifying a relative path to a library file to be loaded.\nThe checker considers it risky to pass a string other than an absolute path to one of the following process generation methods: java.lang.Runtime.load(), java.lang.Runtime.loadLibrary(), java.lang.System.load(), and java.lang.System.loadLibrary(). \nThrough appropriate permission control, library files to be loaded must be protected against manipulation. The system's safe paths can be accurately specified by using absolute paths, whereas relative paths are more vulnerable to manipulation. Path manipulation can be exploited to inject malicious code into the program.\nPass only absolute paths to those methods.",
  "rule.sast.sw.java.401.example.0.dangerous": "Line 1: An executable code stored in memory by using a relative path can be vulnerable.",
  "rule.sast.sw.java.401.example.0.safe": "Line 1: Use an absolute path to explicitly specify libraries to store in memory.",
  "rule.sast.sw.java.401.name": "Insecure direct object reference",
  "rule.sast.sw.java.402.description": "The Dynamic Class Loading checker finds calls to the java.lang.Class.forName() method.\nUsing this method for dynamic class loading may allow for the injection of malicious code. The checker warns on instances of dynamic class loading so that the programmer may check if they are necessary.\nConsider if any other approach can be used instead of dynamic class loading. If a class can be statically loaded, you can expect the same behavior by suffixing the class name with \".class.\" In the case that dynamic class loading is inevitable, write a defensive code while considering all possible attacks and properly document the situation.",
  "rule.sast.sw.java.402.example.0.dangerous": "Line 5: A dynamically loaded class can be malicious code.",
  "rule.sast.sw.java.402.example.0.safe": "Line 3: Do not use a dynamic load, if possible.",
  "rule.sast.sw.java.402.name": "Dynamic Class Loading",
  "rule.sast.sw.java.403.description": "The Weak Cryptographic Algorithm checker finds instances of using a cryptographic algorithm known to be insecure.\nNon-standard cryptographic algorithms can be more easily cryptanalyzed and cracked by attackers. Some old algorithms have been weak over time as computing power grows-It used to be expected to take an extremely long time to crack them in the past, but now they can be broken in a couple of days or hours. Using an old or non-standard cryptographic algorithm may allow attackers to cryptanalyze and disable it.\nDeveloping your own cryptographic algorithm is dangerous; instead, use standard algorithms that have been proven in academia and industry. Use secure algorithms such as 3DES, AES, and SEED instead of those considered weak such as DES and RC5. And encryption keys must be long enough in accordance with the appropriate length suggested by each standard, secure algorithm.",
  "rule.sast.sw.java.403.example.0.dangerous": "Line 8: An encryption is performed with a weak DES algorithm.",
  "rule.sast.sw.java.403.example.0.safe": "Line 8: Use AES algorithms known to be secure.",
  "rule.sast.sw.java.403.name": "Weak cryptographic algorithm",
  "rule.sast.sw.java.403.option.variable_name_for_password.description": "Write the name of the variable containing a password.<br />Example) password",
  "rule.sast.sw.java.403.option.variable_name_for_password.name": "Name of the variable representing a password",
  "rule.sast.sw.java.403.option.weak_algorithm.description": "Write the name of the weak cryptographic algorithm.<br />Example) DES",
  "rule.sast.sw.java.403.option.weak_algorithm.name": "Weak cryptographic algorithm",
  "rule.sast.sw.java.403.option.weak_class.description": "Cryptoclasses considered weak",
  "rule.sast.sw.java.403.option.weak_class.name": "Weak classes",
  "rule.sast.sw.java.403.option.weak_method.description": "crypto methods considered weak",
  "rule.sast.sw.java.403.option.weak_method.name": "Weak methods",
  "rule.sast.sw.java.408.description": "The SQL Injection checker finds SQL queries that include an unvalidated external input.\nFailure to validate input data received from a Web application may allow attackers to inject SQL queries through input forms or the address bar, thereby accessing or manipulating information in the database.\nUse a PreparedStatement object to send precompiled query statements (constants) to the database. PreparedStatement enables filtering database queries for special characters and reserved words.",
  "rule.sast.sw.java.408.example.0.dangerous": "Line 3: An external input, request.getParameter(\"customerName\") is included in a query without validation.\nLine 6: A query is passed as an argument of statement.executeQuery(). Which enables attackers to execute commands on database.",
  "rule.sast.sw.java.408.example.0.safe": "Line 5: This prevent the query from being changed by preparedStatement() even when attackers inject the SQL commands.",
  "rule.sast.sw.java.408.name": "SQL Injection",
  "rule.sast.sw.java.408.option.alarm.name": "Detection rule",
  "rule.sast.sw.java.408.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.408.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.408.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.421.description": "The Private collection returned by public method checker finds instances in which a non-private method returns a private-declared array or collection field's object.\nIf a private-declared collection object is returned by a public method, the object's address is exposed externally, allowing the object to be manipulated from the outside.\nDo not have a private collection object returned as it is by a public method. If such an implementation is needed, return a copy of it instead, or define another public method that controls access and modification to the data of the private collection.",
  "rule.sast.sw.java.421.example.0.dangerous": "Line 3: Field variable colors is declared as private.\nLine 4: The private field is returned by getColors() method.\nLine 15: A private field colors can be manipulated out of a class if an attacker want.",
  "rule.sast.sw.java.421.example.0.safe": "Line 7: Copy colors, and return it to prevent manipulating.",
  "rule.sast.sw.java.421.name": "Private collection returned by public method",
  "rule.sast.sw.java.421.option.check_array_only.description": "If the option is enabled, only private arrays will be checked.",
  "rule.sast.sw.java.421.option.check_array_only.name": "Check Array Only",
  "rule.sast.sw.java.421.option.excluded_class.description": "Write the name of a class to exclude.<br />Example) .*Dto",
  "rule.sast.sw.java.421.option.excluded_class.name": "Name of the class to exclude from the checking",
  "rule.sast.sw.java.421.option.excluded_method.description": "Write the name of a method to exclude.<br />Example) .*Dto",
  "rule.sast.sw.java.421.option.excluded_method.name": "Excluded Method",
  "rule.sast.sw.java.421.option.excluded_package.description": "Write the name of a package to exclude.<br />Example) .*dto",
  "rule.sast.sw.java.421.option.excluded_package.name": "Excluded package",
  "rule.sast.sw.java.5.description": "A security weakness in files, programs, libraries, and code where there is inadequate validation of electronic signatures, which could allow an attacker to execute malicious code.\nWhen using JarFile, you should check the electronic signature for validation, which keeps it safe.\nUse true for the second parameter of JarFile() to validate the electronic signature. After verifying the electronic signature is used through JarFile(file, true), add the JarEntry.getCodeSigners() method to determine if who created the electronic signature for the JAR object is trusted.",
  "rule.sast.sw.java.5.example.0.dangerous": "Line 2: The downloaded JarFile is used without validation, which can lead to malware injection.",
  "rule.sast.sw.java.5.example.0.safe": "Line 2: Use a boolean-type parameter in the JarFile constructor to verify the electronic signature.\nLine 9: Use the JarEntry.getCodeSigners() method to verify that who created the electronic signature for the JAR object is trusted.",
  "rule.sast.sw.java.5.name": "Improper electronic signature verification",
  "rule.sast.sw.java.6.description": "A security weakness where an attacker's malicious code can be executed due to improper validation of electronic signatures in files, programs, libraries, and code.\nWhen using JWT, you should validate them by checking the e-signature, for example, with parseClaimsJws(token).\nUse methods to generate and validate JWT with electronic signature. Use signWith() in Jwts.builder() and sign() in JWT.create() for signing. Use parseClaimsJws(token) for Jwts.parser() and validate with a value like Algorithm.HMAC256(SECRET_KEY) as a parameter to JWT.require(A).",
  "rule.sast.sw.java.6.example.0.dangerous": "Line 2: Generates a JWT without signing it, which is dangerous.\nLine 3: parse(token) doesn't validate the e-signature, which can be exploited by an attacker.",
  "rule.sast.sw.java.6.example.0.safe": "Line 2: Sign and generate the JWT with signWith(key).\nLine 3: Validate the JWT signature with parseClaimsJws(token).",
  "rule.sast.sw.java.6.name": "Improper electronic signature verification (JWT)",
  "rule.sast.sw.java.6466.description": "If the custom error page is missing, the default error page is displayed to the user. The default error page can contain internal information about your server, which can provide useful information to attackers.\nCreate and set custom error pages for major HTTP error codes, such as 404 and 500.",
  "rule.sast.sw.java.6466.example.0.dangerous": "Line 1: There is no error-page setting in the web.xml file, which is dangerous.",
  "rule.sast.sw.java.6466.example.0.safe": "Line 7-18: Add the error-page settings in the web.xml file, which is safe.",
  "rule.sast.sw.java.6466.name": "Setting up missing J2EE error pages",
  "rule.sast.sw.java.6467.description": "By default, validation interceptors are enabled in web applications that use the Struts2 framework. However, if a developer disables validation or excludes it from certain methods, there is no validation of user input, and malicious input can be passed to the system.\nRather than disabling validation, implement appropriate validation logic for all required inputs.",
  "rule.sast.sw.java.6467.example.0.dangerous": "Line 14: Disabling validation within the action tag, which is dangerous.",
  "rule.sast.sw.java.6467.example.0.safe": "Line 12: Validation within the action tag is enabled, so it's safe.",
  "rule.sast.sw.java.6467.name": "Validating disabled Struts",
  "rule.sast.sw.java.6468.description": "In a web application that uses the Struts2 framework, if the form fields that are validated do not match the form fields defined in the Java class, correct validation will not occur.\nYou must ensure that all form fields defined in the Struts configuration file (*-validation.xml) and the Java class match, and add or remove them as necessary to ensure consistency.",
  "rule.sast.sw.java.6468.example.0.dangerous": "Line 13: A field name exists within the validation.xml file that is not declared in the java file, which is dangerous.",
  "rule.sast.sw.java.6468.example.0.safe": "Line 3-17: The field names in both the validation.xml file and the java file match, so it's safe.",
  "rule.sast.sw.java.6468.name": "Validation and form field mismatches",
  "rule.sast.sw.java.6469.description": "Reflection occurs when you use the Reflection feature to dynamically select and execute classes or methods using data input from an external source. This makes it possible for an attacker to enter malicious data to execute unwanted code or take control of the system.\nWhen using external input to select classes or methods, ensure that only trusted input is used, and validate input values or use whitelisting to ensure that only allowed values are processed.",
  "rule.sast.sw.java.6469.example.0.dangerous": "Line 4: The reflection method contains external input as a parameter, which is dangerous.",
  "rule.sast.sw.java.6469.example.0.safe": "Line 3: The reflection method uses an internal string as a parameter, which is safe.",
  "rule.sast.sw.java.6469.name": "Validating Unsafe Reflection Input",
  "rule.sast.sw.java.6469.option.alarm.name": "Detection rule",
  "rule.sast.sw.java.6469.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.6469.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.6469.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.6470.description": "Caused by asynchronous access to shared resources, such as static variables, in a multi-threaded environment. Asynchronous accesses can cause data races, which can lead to unexpected behavior, data corruption, security vulnerabilities, and more.\nWhen accessing shared resources, use synchronization to prevent multiple threads from accessing them simultaneously. In Java, synchronization can be implemented using the synchronized, ReentrantLock class, and others.",
  "rule.sast.sw.java.6470.example.0.dangerous": "Line 4: Concurrent access to shared resources without synchronization is possible and dangerous.",
  "rule.sast.sw.java.6470.example.0.safe": "Line 4: Proceed with synchronization for shared resources to be safe.",
  "rule.sast.sw.java.6470.name": "Asynchronous access to shared data",
  "rule.sast.sw.java.6471.description": "EJB containers follow specific class loading rules to ensure the stability and security of your application. However, if developers use a direct class loader to load classes, they are bypassing the container's class loading rules, which can lead to security vulnerabilities.\nAvoid using direct class loaders in EJB applications.",
  "rule.sast.sw.java.6471.example.0.dangerous": "Line 6, 8: Using the class loader directly in an EJB environment is dangerous.",
  "rule.sast.sw.java.6471.example.0.safe": "Line 4-13: Do not use the class loaders in an EJB environment, which is safe.",
  "rule.sast.sw.java.6471.name": "Using Direct Class Loader in EJB Environment",
  "rule.sast.sw.java.6472.description": "finalize() is a method called by the garbage collector, primarily to clean up resources when an object is destroyed. finalize() should be declared protected; if it is declared public, it can be called arbitrarily from the outside, which can destabilize the object and cause unexpected errors.\nYou should declare finalize() as protected so that it cannot be accessed from the outside. As of JDK 9, finalize() is deprecated and its use is not recommended.",
  "rule.sast.sw.java.6472.example.0.dangerous": "Line 4: finalize() is declared as public, which is dangerous.",
  "rule.sast.sw.java.6472.example.0.safe": "Line 3: finalize() is declared protected, so it's safe.",
  "rule.sast.sw.java.6472.name": "finalize() declared as public",
  "rule.sast.sw.java.6473.description": "Attempting to save an unserialized object will result in a NotSerializableException exception, which can cause data loss and system crashes.\nWhen calling key methods that use unserialized objects, modify the object to implement Serializable.",
  "rule.sast.sw.java.6473.example.0.dangerous": "Line 23: Storing a non-serializable object, which is dangerous.",
  "rule.sast.sw.java.6473.example.0.safe": "Line 23: Storing a serializable object to make it safe.",
  "rule.sast.sw.java.6473.name": "Storing objects that cannot be serialized",
  "rule.sast.sw.java.6474.description": "In Apache Struts 2, the ActionSupport class is the base class for action classes and is used to encapsulate and validate form data. Fields in the ActionSupport class should generally be declared private to maintain the integrity and encapsulation of the data. Using public fields can lead to data leakage and integrity issues.\nAll fields in the ActionSupport class should be declared private, and the fields should be accessed through getter and setter methods.",
  "rule.sast.sw.java.6474.example.0.dangerous": "Line 4: Declaring a public field within ActionSupport is dangerous because it can leak data even without a getter function.",
  "rule.sast.sw.java.6474.example.0.safe": "Line 4-5: The private field is declared in ActionSupport, which is safe.",
  "rule.sast.sw.java.6474.name": "Using public fields in ActionSupport",
  "rule.sast.sw.java.6475.description": "Autoboxing and unboxing refers to the process of converting primitive data into wrapper class objects and vice versa. During the autoboxing process of converting primitive data to objects, new objects are created and stored in heap memory. This increases the burden on the garbage collector and increases memory usage. In particular, when autoboxing or unboxing occurs in a loop, objects are created as many times as the number of iterations, which can increase memory usage and cause performance degradation.\nWithin iterations, use primitive types like long and int instead of wrapper classes like Long and Integer to avoid performance degradation.",
  "rule.sast.sw.java.6475.example.0.dangerous": "Line 3: Autoboxing and unboxing can occur due to the use of wrapper classes within a loop.",
  "rule.sast.sw.java.6475.example.0.safe": "Line 3: Do not use the wrapper classes within the loop, which is safe.",
  "rule.sast.sw.java.6475.name": "Incorrect autoboxing and unboxing within loops",
  "rule.sast.sw.java.6476.description": "When performing a bit shift operation, an incorrect operation can occur if the number of bits to be shifted is not between 0 and 31.\nVerify that the number of bits to be shifted is at least 0 and no more than 31.",
  "rule.sast.sw.java.6476.example.0.dangerous": "Line 2-4: This is dangerous because an incorrect bit shift operation can lead to unexpected results.",
  "rule.sast.sw.java.6476.example.0.safe": "Line 2: The variable is of type int and the bits to be shifted are between 0 and 31, so it's safe.",
  "rule.sast.sw.java.6476.name": "Invalid integer bit shift operations",
  "rule.sast.sw.java.6536.description": "The singleton pattern is a design pattern that guarantees that only one instance of a class is created. However, if you implement singletons in a multithreaded environment without proper synchronization, you cannot guarantee singletons because multiple threads can attempt to create instances at the same time.\nTo safely implement the singleton pattern in a multithreaded environment, you must use synchronization to control the creation of instances. This is typically accomplished by using the synchronized keyword.",
  "rule.sast.sw.java.6536.example.0.dangerous": "Line 7: Implementing a singleton without proper synchronization, which is dangerous.",
  "rule.sast.sw.java.6536.example.0.safe": "Line 8: Use proper synchronization and then implement a singleton to be safe.",
  "rule.sast.sw.java.6536.name": "Using non-thread-safe singletons",
  "rule.sast.sw.java.661.description": "The Weak password requirements checker finds instances in which user passwords are accepted without checking for their complexity.\nFully numeric passwords, such as 123123, and some other simple passwords are vulnerable to brute-force attacks. If password patterns are not verified, users can use weak passwords.\nAdministrators can impose restrictions on users to use strong password patterns. For example, these can require to include a certain number of uppercase and lowercase letters, numerals, and special characters, or disallow consecutive identical characters. Refer to the password setting rules from \"KISA Cryptographic Usage Guidelines\".",
  "rule.sast.sw.java.661.example.0.dangerous": "Line 3: A password is not validated.",
  "rule.sast.sw.java.661.example.0.safe": "Line 5: Enable strong validation for the password, for example, a length limit.",
  "rule.sast.sw.java.661.name": "Weak password requirements",
  "rule.sast.sw.java.661.option.alarm.name": "Detection rule",
  "rule.sast.sw.java.661.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.661.option.filter_method.description": "Write the name of the method that verifies password complexity.<br />Example) matches",
  "rule.sast.sw.java.661.option.filter_method.name": "Password verification method",
  "rule.sast.sw.java.661.option.password_expr.description": "Write the expression of the string to use upon password acquisition.<br />Example) password",
  "rule.sast.sw.java.661.option.password_expr.name": "Password expression",
  "rule.sast.sw.java.661.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.661.option.request_method.description": "Write the name of the method that acquires the password.<br />Example) javax.servlet.http.HttpServletRequest.getParameter",
  "rule.sast.sw.java.661.option.request_method.name": "GET Method of Password",
  "rule.sast.sw.java.661.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.665.description": "The Data Leak between Sessions checker finds instances in which a field is declared in a servlet in a multithreaded environment.\nIf a field is declared in an HttpServlet subclass, a race condition may occur over the information stored in the field when the servlet is executed in a multithreaded environment.\nDo not declare a member field in an HttpServlet subclass unless this is inevitable; instead, declare a local variable.",
  "rule.sast.sw.java.665.example.0.dangerous": "Line 2: Information is stored in a field of a servlet.",
  "rule.sast.sw.java.665.example.0.safe": "Line 4: Do not put a field to store information on the servlet.",
  "rule.sast.sw.java.665.name": "Data Leak between Sessions",
  "rule.sast.sw.java.665.option.excluded_class_name.description": "Write the name of the class to exclude from the checking.<br />Example) com.test.Excluded",
  "rule.sast.sw.java.665.option.excluded_class_name.name": "Names of classes to be excluded",
  "rule.sast.sw.java.665.option.excluded_field_annotation.description": "Write the annotation of the field to exclude from the checking.<br />Example) Autowired",
  "rule.sast.sw.java.665.option.excluded_field_annotation.name": "Annotations of fields to be excluded",
  "rule.sast.sw.java.665.option.excluded_field_name.description": "Write the name of the field to exclude from the checking.<br />Example) field",
  "rule.sast.sw.java.665.option.excluded_field_name.name": "Names of fields to be excluded",
  "rule.sast.sw.java.665.option.excluded_field_type.description": "Write the type of the field to exclude from the checking.<br />Example) Logger",
  "rule.sast.sw.java.665.option.excluded_field_type.name": "Types of fields to be excluded",
  "rule.sast.sw.java.665.option.target_annotation.description": "Write the annotation to distinguish controllers.<br />Example) Controller",
  "rule.sast.sw.java.665.option.target_annotation.name": "Target annotation of controllers",
  "rule.sast.sw.java.665.option.target_parent_class.description": "Write the name of the class that may result in data leakage between sessions.<br />Example) javax.servlet.http.HttpServlet",
  "rule.sast.sw.java.665.option.target_parent_class.name": "Target class",
  "rule.sast.sw.java.666.description": "The Leftover debug code checker finds debug code that remains not removed. \nThe checker searches for a call to a main() method included for debugging purposes or an optionally specified debugging method. If a main() method is needed as an entry point of a deployed program, you can optionally exclude its class from checking.\nDebug code may contain parts that output sensitive information or allow control over the system. If the program is deployed with debug code remaining, attackers may bypass an authentication process or access restricted information.\nRemove all debug code before deploying the application.",
  "rule.sast.sw.java.666.example.0.dangerous": "Line 2: main() method is found. The main() method is unnecessary for J2EE.",
  "rule.sast.sw.java.666.example.0.safe": "Line 2: Remove the main() method in J2EE applications.",
  "rule.sast.sw.java.666.name": "Leftover debug code",
  "rule.sast.sw.java.666.option.check_class_type.description": "Type of the class calling debug code method.<br />Example)In request.getParameter(\"debug\"), \"HttpServletRequest\" type is the request.",
  "rule.sast.sw.java.666.option.check_class_type.name": "Type of the class calling debug code methods",
  "rule.sast.sw.java.666.option.check_method.description": "Name of the debug code method.<br />Example)In request.getParameter(\"debug\"), getParameter is the method name.",
  "rule.sast.sw.java.666.option.check_method.name": "Name of the debug code method",
  "rule.sast.sw.java.666.option.debug_message_pattern.description": "Patterns in messages that indicate debug code",
  "rule.sast.sw.java.666.option.debug_message_pattern.name": "Debug message patterns",
  "rule.sast.sw.java.666.option.exclude_class.description": "Write the name of a class to exclude.<br />Example) com.fasoo.sparrow.Test",
  "rule.sast.sw.java.666.option.exclude_class.name": "Name of the class to exclude from the checking",
  "rule.sast.sw.java.666.option.exclude_extend_class.description": "Enter superclass names of main method to be excluded from the check of the main method implementation. Example) *.ExcludeClass",
  "rule.sast.sw.java.666.option.exclude_extend_class.name": "Regex of superclass name excluded from main method check",
  "rule.sast.sw.java.666.option.main_class.description": "Enter class names of main method to be excluded from the check of the main method implementation. Example) *.MainClass",
  "rule.sast.sw.java.666.option.main_class.name": "Regex of class name excluded from main method check",
  "rule.sast.sw.java.666.option.method_param_value.description": "Write the (single) parameter value of a debug code method. Regular expression is supported.<br />Example)In request.getParameter(\"debug\"), \"debug\" is the parameter value.",
  "rule.sast.sw.java.666.option.method_param_value.name": "Parameter value of the debug code method",
  "rule.sast.sw.java.667.description": "The Nested Class Containing Sensitive Data checker finds instances in which a nested class accesses a private field that belongs to its nesting class.\nIf a private field is accessed by a nested class, its accessibility is changed to the package level, possibly causing an unintended information leak. Therefore, you should not allow a private field to be accessed by a nested class. Do not use a nested class so long as possible, and if its use is necessary, declare it as a static, local, or anonymous class.\nMake sure nested classes are declared static and do not access private fields that belong to their nesting classes.",
  "rule.sast.sw.java.667.example.0.dangerous": "Line 3: A private field, innerString, of outer class MyClass is accessed by an inner class InnerClass. Then, accessibility of innerString in MyClass has been changed into a package level of the private field.",
  "rule.sast.sw.java.667.example.0.safe": "Line 4: In case of the inner class, declare it as static and avoid accessing to private fields of the outer class.",
  "rule.sast.sw.java.667.name": "Nested Class Containing Sensitive Data",
  "rule.sast.sw.java.668.description": "The Critical public variable without final modifier checker finds instances in which a critical member field that should not be arbitrarily modified is declared public static without the final modifier.\nBecause the checker cannot determine which fields are considered critical by the programmer, it regards primitive-type fields as critical, which are usually used as global constants.\nFields that are not declared final can be arbitrarily modified from the outside.\nWhen declaring primitive fields as public static, add the final modifier. In the case of critical fields that need to be mutable, do not declare them public and have them accessed via static methods.",
  "rule.sast.sw.java.668.example.0.dangerous": "Line 4: A final modifier is not specified for var variable that is declared as public static.",
  "rule.sast.sw.java.668.example.0.safe": "Line 4: Declare a final modifier in important public variables.",
  "rule.sast.sw.java.668.name": "Critical public variable without final modifier",
  "rule.sast.sw.java.710.description": "The SQL Injection via JDO API checker finds instances in which an SQL or JDOQL statement executed via the Java Data Objects (JDO) API is built with an unvalidated external input.\nFailure to validate input data received from a Web application may allow attackers to inject SQL queries through input forms or the address bar, thereby accessing or manipulating information in the database.\nDo not insert external inputs directly into query statements; instead, create statements with '?' signs put as placeholders for external inputs and when they are executed, pass external inputs as arguments.",
  "rule.sast.sw.java.710.example.0.dangerous": "Line 19: Attackers enter input as \"name '; DELETE FROM MYTABLE;-\" to execute the following queries and delete the table. (SELECT cal1 FROM MYTABLE WHERE name ='name' ; DELETE FROM MYTABLE; --')",
  "rule.sast.sw.java.710.example.0.safe": "Line 15: Set an external input to ? (parameterized query).\nLine 18: Even the attacker places any value, the query structure is not changed.",
  "rule.sast.sw.java.710.name": "SQL Injection via JDO API",
  "rule.sast.sw.java.710.option.alarm.name": "Detection Rule",
  "rule.sast.sw.java.710.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.710.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.710.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.711.description": "The SQL Injection via J2EE Persistence API checker finds instances in which an SQL statement executed via the J2EE Persistence API is built with an unvalidated external input.\nIf an application using the J2EE Persistence API uses an external input in building a query statement without validating it, attackers can feed a malicious input to twist a query's meaning or alter its structure, thereby executing an arbitrary query command.\nWhen creating a query statement, use only string constants and the javax.persistence.Query.setParameter() method.",
  "rule.sast.sw.java.711.example.0.dangerous": "Line 14: When an attacker enters \"foo '; DELETE FROM MYTABLE;-\" as an input, the following query is executed and the table is deleted. (SELECT col1 FROM MYTABLE WHERE name = 'foo' ; DELETE FROM MYTABLE;--')",
  "rule.sast.sw.java.711.example.0.safe": "Line 13: Create and run a query that accepts specified arguments. This prevent the query structure from being changed by the input.",
  "rule.sast.sw.java.711.name": "SQL Injection via J2EE Persistence API",
  "rule.sast.sw.java.711.option.alarm.name": "Detection Rule",
  "rule.sast.sw.java.711.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.711.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.711.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.712.description": "The SQL Injection via Hibernate checker finds instances in which an SQL statement executed via the Hibernate API is built with an unvalidated external input.\nIf an application using the Hibernate API uses an external input in building a query statement without properly validating it, attackers can feed an unexpected string to twist a query's meaning or alter its structure, thereby executing an arbitrary database command.\nDo not insert external inputs directly into query statements; instead, create statements with '?' signs put as placeholders for external inputs and when they are executed, pass external inputs as arguments.",
  "rule.sast.sw.java.712.example.0.dangerous": "Line 5: An external input name value is used in an SQL query of Hibernate API without validation. Which enables attackers to execute commands on database.",
  "rule.sast.sw.java.712.example.0.safe": "Line 5: Set an external input to ? (parameterized query). Ensure the attackers not to change the query structure.",
  "rule.sast.sw.java.712.name": "SQL Injection via Hibernate",
  "rule.sast.sw.java.712.option.alarm.name": "Detection rule",
  "rule.sast.sw.java.712.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.712.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.712.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.713.description": "The Command injection checker finds instances in which an internal system command is executed by an unvalidated external input.\nIf a user input that has not been properly validated constitutes the whole or part of an OS command to execute it in an unintended way, this may cause improper permission changes or harmful effects on the system's processes or operations.\nIf a command needs to be generated or selected based on an external input, whitelist safe values for command generation and restrict values determined by external inputs to those selected from within the whitelist.",
  "rule.sast.sw.java.713.example.0.dangerous": "Line 9: An external input props.getProperty(\"dir_type\") is used to run commands without validation.",
  "rule.sast.sw.java.713.example.0.safe": "Line 10: Make sure it is of the intended type and use the value selected in the pre-generated version array based on the input.Before generating the command with the external input props.getProperty (\"dir_type\")",
  "rule.sast.sw.java.713.name": "Command injection",
  "rule.sast.sw.java.713.option.alarm.name": "Detection rule",
  "rule.sast.sw.java.713.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.713.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.713.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.714.description": "The LDAP Injection checker finds LDAP (Lightweight Directory Access Protocol) queries built with an unvalidated external input.\nUnvalidated external inputs can be exploited to execute unintended LDAP commands. To be specific, if the web application does not handle user inputs properly, attackers can alter LDAP query commands, thereby enabling the process to behave with the same authentication as the command executor component.\nMake sure user inputs provided for distinguished names (DNs) and filters do not include special characters. If special characters have to be allowed in inputs, have =, +, <, >, #, ;, and \\ recognized as plain characters, not as executable commands.",
  "rule.sast.sw.java.714.example.0.dangerous": "Line 11: A filter string condition is always true by passing * as variables to userSN and userPassword, which can cause unintended behaviors.",
  "rule.sast.sw.java.714.example.0.safe": "Line 11: Remove tainted strings from external inputs used as the filter string for search, which can partially reduce risks.",
  "rule.sast.sw.java.714.name": "LDAP Injection",
  "rule.sast.sw.java.714.option.alarm.name": "Detection rule",
  "rule.sast.sw.java.714.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.714.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.714.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.715.description": "The Resource injection checker finds resource identifiers created with an unvalidated external input.\nIf unvalidated external inputs are allowed for accessing or identifying files, servers, or other system resources, attackers can manipulate an input to arbitrarily access system-protected resources. Resource injection vulnerabilities can be exploited to modify or delete resources, leak system information, and cause conflicts between system resources leading to service failures.\nIf external inputs need to be used for resource identifiers (such as socket ports), whitelist appropriate identifiers and restrict values determined by external inputs to those selected from within the whitelist.",
  "rule.sast.sw.java.715.example.0.dangerous": "Line 12: A socket number received from outside is used without validation. If an attacker set the number to 80 and another service is already running on the socket, an error can occur by conflicts with an earlier service.",
  "rule.sast.sw.java.715.example.0.safe": "Line 13: Choose a predetermined port based on external input to avoid an attacker using a random port.",
  "rule.sast.sw.java.715.name": "Resource injection",
  "rule.sast.sw.java.715.option.alarm.name": "Detection rule",
  "rule.sast.sw.java.715.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.715.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.715.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.716.description": "The Path Manipulation checker finds instances in which an unvalidated external input creates a path accessible to the file system.\nIf unvalidated external inputs are allowed to be used for access to files, servers, or other system resources, attackers can manipulate inputs to access an unintended path in the program. In other words, path manipulation can be used to obtain illegitimate access to modify or execute settings files.\nIf external inputs are used as identifiers for resources (such as files), make sure they pass appropriate validation. Especially, if external inputs are filenames, use a filter to remove characters such as `, /, \\, and ..  that can be exploited for a directory traversal attack.",
  "rule.sast.sw.java.716.example.0.dangerous": "Line 4: An external input request.getProperty(\"filename\") is used to access to a file without validation.",
  "rule.sast.sw.java.716.example.0.safe": "Line 4: Use a filter to remove special characters vulnerable to attacks before accessing to the file with the external input.",
  "rule.sast.sw.java.716.name": "Path Traversal",
  "rule.sast.sw.java.716.option.alarm.name": "Detection rule",
  "rule.sast.sw.java.716.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.716.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.716.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.717.description": "The HTTP Response Splitting checker finds HTTP responses created with an unvalidated external input.\nWhen arguments passed in an HTTP request are sent back through an HTTP response header, newline characters such as CRs (carriage returns) and LFs (line feeds) contained in the inputs can split the HTTP response into two or more. By exploiting this, attackers can use a newline to stop the first response and inject a malicious code into the second one for an XSS or cache poisoning attack.\nIf you need to include request parameters in an HTTP response header such as Set-Cookie, make sure all CRs and LFs are filtered out.",
  "rule.sast.sw.java.717.example.0.dangerous": "Line 6: A cookie value is set with an external input, lastLogin. If an attacker set the lastLogin to \"Wiley Hacker/r/nHTTP/1.1 200 OK/r/n\", then a detached response can be sent and its texts can be manipulated.",
  "rule.sast.sw.java.717.example.0.safe": "Line 6: To prevent a response from splitting up, remove a newline character and use it as a response header value.",
  "rule.sast.sw.java.717.name": "HTTP Response Splitting",
  "rule.sast.sw.java.717.option.alarm.name": "Detection Rule",
  "rule.sast.sw.java.717.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.717.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.717.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.718.description": "The External Control of System or Configuration Setting checker finds instances of modifying a system or configuration setting using an unvalidated external input.\nControllability of a system or configuration setting may cause an unexpected result (such as service interruption) or allow for security attacks.\nDo not use an external input in creating an argument to pass to the Connection.setCatalog() method.",
  "rule.sast.sw.java.718.example.0.dangerous": "Line 13: An external input, catalog, is used to enable an activated catalog in JDBC. An unexpected result can occur by passing nonexistent or unprivileged catalog name.",
  "rule.sast.sw.java.718.example.0.safe": "Line 19: Do not directly use the external input to change a catalog name, but select one of whitelisted ones.",
  "rule.sast.sw.java.718.name": "External Control of System or Configuration Setting",
  "rule.sast.sw.java.718.option.alarm.name": "Detection rule",
  "rule.sast.sw.java.718.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.718.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.718.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.719.description": "The Redirection to untrusted site checker finds instances of redirecting to a URL generated with an unvalidated external input.\nAlthough connecting to a client-provided URL is often believed to be safe, an attacker can modify the request and redirect the user to a malicious site.\nMaintain a whitelist of external site URLs and domains allowed for redirection, which needs to be checked when a user input is passed as a redirect URL.",
  "rule.sast.sw.java.719.example.0.dangerous": "Line 18: An external input is stored in variable rd without validation, and directly passed to sendRedirect() method. An attacker can inject the following link to get users accessed to a phishing sites.<a href=\"http://bank.example.com/redirect?URL=http://attacker.example.net\">Click</a>",
  "rule.sast.sw.java.719.example.0.safe": "Line 1: Make a whitelist of URLs and domains to connect to.\nLine 5: Choose a URL from whitelisted URLs, and block an access to insecure sites.",
  "rule.sast.sw.java.719.name": "Redirection to untrusted site",
  "rule.sast.sw.java.719.option.alarm.name": "Detection rule",
  "rule.sast.sw.java.719.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.719.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.719.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.720.description": "The XQuery Injection checker finds XQuery statements that include an unvalidated external input.\nIf an appropriate validation process is not established for external inputs that are used to create dynamic queries for XML data in XQuery, attackers may arbitrarily modify the query structure. This modification enables them to access restricted data or bypass the authorization checks. In the case of `username='local_user1'` for example, XQuery uses single quotation marks to delimit the text value to be checked against the username. If an external input is used for the value to be checked against and single quotation marks are allowed in it, you can enter as follows: `admin' or ''='`. Then the query's conditional clause will be as follows: `username = 'admin' or ''=''`. As `''=''` always evaluates to true, the condition comparing against \"username\" can be bypassed.\nMake sure external input data used in XQuery are filtered for special characters and reserved words.",
  "rule.sast.sw.java.720.example.0.dangerous": "Line 3: An external input name is used as a query parameter without validation. This ensures attackers to print out all values within files.",
  "rule.sast.sw.java.720.example.0.safe": "Line 5: Use bindString() function to avoid altering XQuery query structure after receiving an external input value. This ensures the query structure not to be changed by the external input.",
  "rule.sast.sw.java.720.name": "XQuery Injection",
  "rule.sast.sw.java.720.option.alarm.name": "Detection rule",
  "rule.sast.sw.java.720.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.720.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.720.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.721.description": "The XPath Injection checker finds XPath queries that include an unvalidated external input.\nIf external inputs are allowed in XPath queries without appropriately validating them, attackers can feed an unexpected string to twist a query's meaning or alter its structure, thereby gaining access to restricted data.\nExternal inputs used in XPath queries should be filtered for special characters (`, [, ], /, =, @, etc.) and reserved worlds.",
  "rule.sast.sw.java.721.example.0.dangerous": "Line 7: An XPath query is generated without validation for name and password inputs. If the input is used to generate or execute XPath query, an attacker can manipulate the XPath query.",
  "rule.sast.sw.java.721.example.0.safe": "Line 7: Use an XQuery to generate a query skeleton, which can prevent its query structure from being changed by the external input. Remove code to manipulate the XPath query.",
  "rule.sast.sw.java.721.name": "XPath Injection",
  "rule.sast.sw.java.721.option.alarm.name": "Detection rule",
  "rule.sast.sw.java.721.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.721.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.721.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.722.description": "The Persistent cookie checker finds instances of storing sensitive date in a cookie whose lifespan is set too long.\nMost web programming environments create non-persistent cookies. This type of cookie resides only in memory (not recorded in the disc drive) and disappears when the browser is closed. Programmers can set cookies to persist for browser sessions until a specific future date. These cookies are recorded in the disc drive and persist even after restarting the browser session or device. Persistent cookies are commonly used to profile users when interacting with sites. Such tracked data in persistent cookies can be exploited to leak user privacy, depending upon how the data is used. If privacy information is stored in a persistent cookie with a long expiration, attackers can be given enough time to steal such data.\nCookie expiration must be set minimum in consideration of session duration, and permanent cookies should not contain important information such as user privileges and session IDs.",
  "rule.sast.sw.java.722.example.0.dangerous": "Line 9: A cookie expiration period is set too long, for example, one year.",
  "rule.sast.sw.java.722.example.0.safe": "Line 9: Set the cookie expiration period to the minimum based on the features.",
  "rule.sast.sw.java.722.name": "Persistent cookie",
  "rule.sast.sw.java.722.option.alarm.name": "Detection rule",
  "rule.sast.sw.java.722.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.722.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.722.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.723.description": "The Cross-site scripting checker finds instances of including an external input in HTML without validating it.\nIf unvalidated external inputs are allowed for page generation, attackers can inject malicious scripts into the pages. This vulnerability lets attackers take over a user's cookie, session, or other information or execute an abnormal function.\nTo prevent external inputs from being used for scripts, use a text replacement function or method to substitute characters such as <, >, &, and \" with &lt;, &gt;, &amp;, and &quot;, respectively. For bulletin boards that allow using HTML tags, make a whitelist of allowable HTML tags.",
  "rule.sast.sw.java.723.example.0.dangerous": "Line 13: name with an external input is used to generate a result page without validation. If the following script is entered to name value, an attacker can execute attack.jsp with an elevated privilege to give damages such as cookie information exposure. (For example : <script>URL = \"http://devil.com/attack.jsp\";</script>)\nLine 17: A parameter ID is entered with script code that prints out cookie information. Then, attackers can use code to steal the cookie information.",
  "rule.sast.sw.java.723.example.0.safe": "Line 13: Use replaceAll() method to change \"<\" and \">\" used for HTML scripts into \"&lt;\" and \"&gt;\", which can reduce risks to run malicious scripts. But this cannot completely remove the risks. There are other ways to prevent the attacks.\nLine 25: Encode outputs with JSTL HTML in JSP.\nLine 27: the output is treated as a text by using a JSTL Core output format in JSP.\nLine 30: Filter the output by using a well-designed an external XSSFilter library.",
  "rule.sast.sw.java.723.name": "Cross-site scripting",
  "rule.sast.sw.java.723.option.alarm.name": "Detection rule",
  "rule.sast.sw.java.723.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.723.option.ignored_member_method.description": "Write member method name to ignore using external values.<br />example) String.toString",
  "rule.sast.sw.java.723.option.ignored_member_method.name": "Ignored Member Method",
  "rule.sast.sw.java.723.option.output_method.description": "Write the expression of the dangerous method name when printing out the external input.<br/>example) JspWriter.print",
  "rule.sast.sw.java.723.option.output_method.name": "Output Method",
  "rule.sast.sw.java.723.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.723.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.724.description": "The DOM based cross site scripting checker finds instances of creating a DOM object with an external input in JSP.\nThe methods for creating a DOM object include document.write().\nIf unvalidated external inputs are allowed for page generation, attackers can inject malicious scripts into the pages. This vulnerability lets attackers take over a user's cookie, session, or other information or execute an abnormal function.\nTo prevent external inputs from being used for scripts, use a text replacement function or method to substitute characters such as <, >, &, and \" with &lt;, &gt;, &amp;, and &quot;, respectively. For bulletin boards that allow using HTML tags, make a whitelist of allowable HTML tags.",
  "rule.sast.sw.java.724.example.0.dangerous": "Line 7: An external input name passed in request.getParameter() is used to generate an argument of document.write().",
  "rule.sast.sw.java.724.example.0.safe": "Line 6: Change all strings used in script generation in HTML, such as \"<\" and \">\" from external input (name), to \"&lt;\" and \"&gt;\".",
  "rule.sast.sw.java.724.name": "DOM based cross site scripting",
  "rule.sast.sw.java.725.description": "The Direct dynamic code evaluation checker finds instances of using unvalidated external inputs in dynamic evaluation code.\nStrings passed to the Eval() function during program execution are considered part of code to be executed.\nIf an unvalidated external input is allowed in dynamically executable code, attackers can execute an arbitrary action to achieve their aim.\nCheck if the dynamic evaluation is necessary in the program design; if possible, replace it with a static code that behaves identically. Most ordinary program actions can be implemented without dynamic evaluation; in many cases, programmers use dynamic code simply in order to avoid some bothersome coding. If the use of dynamic code with untrusted external inputs is inevitable, have those inputs filtered, or restrict argument values determined by external inputs to those selected from within a preconfigured array of appropriate values.",
  "rule.sast.sw.java.725.example.0.dangerous": "Line 13: An external input, evalParam, is used as an argument of eval() function. The eval() will execute JavaScript code of an external input.",
  "rule.sast.sw.java.725.example.0.safe": "Line 14: Avoid executing external inputs by changing the characters, such as <,>, &, \\, etc, used for scripts. But, this cannot be a perfect measure.",
  "rule.sast.sw.java.725.name": "Direct dynamic code evaluation",
  "rule.sast.sw.java.726.description": "The Reliance on DNS lookups in security decisions checker finds instances in which authentication and access controls rely solely on the domain name.\nBecause DNS servers are targeted for spoofing, reliance on the domain name allows attackers to modify the DNS to point the domain name to their IP address. They can create fake DNS entries, and you must avoid security decisions (authentication, access controls, etc.) solely based on the domain name. A tainted local DNS cache may let the network traffic between a particular server and users transferred through an attacker.\nFor servers with known IP addresses, use their IP addresses.",
  "rule.sast.sw.java.726.example.0.dangerous": "Line 3: A request is verified to be trusted through a domain name. Then, attackers can manipulate DNS cash to send invalid credibility.",
  "rule.sast.sw.java.726.example.0.safe": "Line 3: Modify to compare the IP addresses directly instead of the hostname by DNS lookup.",
  "rule.sast.sw.java.726.name": "Reliance on DNS lookups in security decisions",
  "rule.sast.sw.java.726.option.alarm.name": "Detection rule",
  "rule.sast.sw.java.726.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.726.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.726.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.727.description": "The Cross site request forgery checker finds form data transfers that are not made via the POST method.\nAn attacker may cause a malicious website to behave harmfully in an authenticated user session. If the user session is of an administrator, the attacker can arbitrarily execute administrator-exclusive functions such as user permission settings, deletion of posts, and user registration to achieve the attacker's aim. If the web application sends a GET request, attackers can easily identify the information in it and send modified information to carry out their desired operations.\nWhen writing an input form, choose the POST method over the GET method. And use a token between the input form and the processor for inputs therefrom so that direct URL exploitation can be prevented. For an attempt to access critical functions, in particular, be sure to demand session verification and re-authentication.",
  "rule.sast.sw.java.727.example.0.dangerous": "Line 1: A GET method is sending values by appending form data as a suffix of a URL, which can be easily exposed by CSRF attacks.",
  "rule.sast.sw.java.727.example.0.safe": "Line 1: Reduce risks by using a POST method.",
  "rule.sast.sw.java.727.name": "Cross site request forgery",
  "rule.sast.sw.java.727.option.argument_type_for_critical_function.description": "Argument type of the critical function. All such argument types will be checked. Regular expression supported.",
  "rule.sast.sw.java.727.option.argument_type_for_critical_function.name": "Argument type of the critical function",
  "rule.sast.sw.java.727.option.authenticated_block.description": "If selected, calling of any critical function will be considered safe in the authenticated block - if, switch, while, and for as well as the conditions of the ternary operators.",
  "rule.sast.sw.java.727.option.authenticated_block.name": "Authenticated code block",
  "rule.sast.sw.java.727.option.authentication_function.description": "Write the name of the method to be called for authentication. In case there are multiple methods, all methods must be called for the authentication.<br />Example) java.lang.String.equals",
  "rule.sast.sw.java.727.option.authentication_function.name": "Authentication method",
  "rule.sast.sw.java.727.option.critical_class.description": "Write the class type of an object calling a critical function (in full name including the package name, for example, java.lang.String). Regular expression supported.",
  "rule.sast.sw.java.727.option.critical_class.name": "Object type of the critical function",
  "rule.sast.sw.java.727.option.critical_function.description": "Critical function. Regular expression supported.",
  "rule.sast.sw.java.727.option.critical_function.name": "Critical function",
  "rule.sast.sw.java.727.option.need_token_cmp_class_base.description": "Write the base class of a class that need comparing csrf token.<br />Example) org.apache.jasper.runtime.HttpJspBase",
  "rule.sast.sw.java.727.option.need_token_cmp_class_base.name": "Base class need comparing csrf token",
  "rule.sast.sw.java.727.option.request_class.description": "Write the class representing HTTP request.<br />Example) javax.servlet.http.HttpServletRequest",
  "rule.sast.sw.java.727.option.request_class.name": "HTTP request class",
  "rule.sast.sw.java.727.option.session_class.description": "Write the class representing HTTP session.<br />Example) javax.servlet.http.HttpSession",
  "rule.sast.sw.java.727.option.session_class.name": "HTTP session class",
  "rule.sast.sw.java.727.option.token_target_file.description": "Write the name of the file to authenticate through token comparison.<br />Example) CSRF.jsp",
  "rule.sast.sw.java.727.option.token_target_file.name": "Files to be authenticated through token comparison",
  "rule.sast.sw.java.7275.description": "Calling overridable methods in a Java constructor can lead to unintended behavior or exceptions during object initialization, as the overridden methods in subclasses may be executed before the object is fully initialized.\nIf an overridable method is called within a constructor, declare that method as final, static, or private.",
  "rule.sast.sw.java.7275.example.0.dangerous": "Line 3: An overridable method is called within a constructor.",
  "rule.sast.sw.java.7275.example.0.safe": "Line 3: Unable to override due to final declaration.",
  "rule.sast.sw.java.7275.name": "Forbidden call to overridable method in constructor",
  "rule.sast.sw.java.728.description": "The Exposure of password by memory dump checker finds instances of storing a password in a string object.\nIn Java, string objects are immutable and thus unable to be deallocated from memory by the program and always remain in memory until the JVM garbage collector disposes of them. Therefore, if they are dumped in memory as a result of an abnormal program termination, their data can be exposed externally.\nSecurity-sensitive data such as passwords must be stored in mutable objects, together with a logic implemented to get rid of it from memory. No longer used sensitive data should be immediately removed from memory.",
  "rule.sast.sw.java.728.example.0.dangerous": "Line 13: A password is sent to create String object.",
  "rule.sast.sw.java.728.example.0.safe": "Line 14: Do not send the password to create the immutable String object.",
  "rule.sast.sw.java.728.name": "Exposure of password by memory dump",
  "rule.sast.sw.java.729.description": "The Insufficient cryptographic key size checker finds encryption keys that are too short.\nYou can optionally specify the minimum key length that ensures security.\nAn encryption key is used for encryption and decryption purposes; if it is not long enough, it can be uncovered in a practically short time even with a verified cryptographic algorithm used. This can be exploited to decrypt encrypted data or passwords.\nEach major algorithm suggests an appropriate length of a key that ensures an extremely long time is taken to break the key at the currently known level of technology, thus making attacks on it practically impossible. It is recommended to use a key no shorter than the suggested length. For instance, the RSA algorithm must be used with a key of at least 2,048 bits (as of 2015), while symmetric encryption algorithms require a key of at least 128 bits.",
  "rule.sast.sw.java.729.example.0.dangerous": "Line 4: Key length for RSA algorithm is set to 512 bits, which can be attacked.",
  "rule.sast.sw.java.729.example.0.safe": "Line 4: Set the key length for RSA encryption to 2,048 bits or more.",
  "rule.sast.sw.java.729.name": "Insufficient cryptographic key size",
  "rule.sast.sw.java.729.option.AES.description": "Enter key size for AES algorithm",
  "rule.sast.sw.java.729.option.AES.name": "Key size allowed in AES algorithm",
  "rule.sast.sw.java.729.option.EC.description": "Enter key size for Elliptic Curve algorithm",
  "rule.sast.sw.java.729.option.EC.name": "Key size allowed in Elliptic Curve algorithm",
  "rule.sast.sw.java.729.option.RSA.description": "Enter key size for RSA algorithm (Signature/Cipher)",
  "rule.sast.sw.java.729.option.RSA.name": "Key size allowed in RSA algorithm (Signature/Cipher)",
  "rule.sast.sw.java.729.option.SEED.description": "Write the name of a block cipher algorithm SEED",
  "rule.sast.sw.java.729.option.SEED.name": "Write the name of a block cipher algorithm SEED",
  "rule.sast.sw.java.729.option.SHA-1.description": "Write the name of message migest algorithm SHA-1",
  "rule.sast.sw.java.729.option.SHA-1.name": "Write the name of message migest algorithm SHA-1",
  "rule.sast.sw.java.729.option.alarm.name": "Detection rule",
  "rule.sast.sw.java.729.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.729.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.729.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.730.description": "The Hardcoded cryptographic key checker finds encryption keys hardcoded in source code.\nHardcoded encryption keys present in source code can be used to decrypt ciphertext data back into the original information in case it leaks. Encryption keys are often hardcoded in the wrong assumption that their exposal poses no significant security threat, although some hash functions can possibly be reversed by brute-force attacks. In addition, hardcoded encryption keys are not easy to change.\nMake sure encryption keys never assume constant values. And, even if in ciphertext, they should not be hardcoded in source code.",
  "rule.sast.sw.java.730.example.0.dangerous": "Line 6: A const type key is used for encryption, which risks to expose its source or the key itself in case of restoring code.",
  "rule.sast.sw.java.730.example.0.safe": "Line 8: Do not define the encryption key used for password decryption as const type.",
  "rule.sast.sw.java.730.name": "Hardcoded cryptographic key",
  "rule.sast.sw.java.730.option.excluded_algorithm.description": "Write the name of a cryptographic algorithm to exclude.<br />Example) DESede",
  "rule.sast.sw.java.730.option.excluded_algorithm.name": "Excluded cryptographic algorithm",
  "rule.sast.sw.java.731.description": "The Inappropriate RSA Padding checker finds RSA padding schemes that are inappropriate for the RSA algorithm.\n`RSA/NONE/NoPadding` should not be passed as a padding option.\nProper RSA padding ensures secure encryption. Therefore, use a padding scheme that is secure enough to meet the recommendations.\nIt is recommended to use OAEP.",
  "rule.sast.sw.java.731.example.0.dangerous": "Line 5: An RSA algorithm is used without padding.",
  "rule.sast.sw.java.731.example.0.safe": "Line 5: Use the OAEP padding.",
  "rule.sast.sw.java.731.name": "Inappropriate RSA Padding",
  "rule.sast.sw.java.732.description": "The Hardcoded salt checker finds instances of using a hardcoded salt for hash calculation.\nNot only does a hardcoded salt allow all of the project's developers to view the salt, it also becomes extremely difficult to change after the application is in production. Furthermore, if attackers know the value of the salt, they can calculate \"rainbow tables\" for the application and more easily determine the hashed values.\nUse a cryptographically secure approach that generates unpredictable salts randomly, or have salts generated from an external source.",
  "rule.sast.sw.java.732.example.0.dangerous": "Line 8: A salt defined as a constant is used.",
  "rule.sast.sw.java.732.example.0.safe": "Line 8: Implement a logic to generate unpredictable random numbers for salt or nonce.",
  "rule.sast.sw.java.732.name": "Hardcoded salt",
  "rule.sast.sw.java.733.description": "The Improper random number generation checker finds code with predictable random values.\nYou can optionally specify random number generating methods that should not be used.\nIf a predictable random number is used when an unpredictable number is demanded, an attacker can predict subsequently generated numbers and use them to attack the system.\nUse secure way to generate random numbers rather than forbidden methods specified in the options.",
  "rule.sast.sw.java.733.example.0.dangerous": "Line 4: Seeds cannot be reset by Random() method of java.lang.Math class, which is insecure.",
  "rule.sast.sw.java.733.example.0.safe": "Line 5: Use the java.util.Random class to reset the seed. Therefore, Random class can be more secure to use.",
  "rule.sast.sw.java.733.name": "Improper random number generation",
  "rule.sast.sw.java.733.option.allowed_random.description": "Write the name of the method to be checked for usage.<br />Example) java.util.Random.nextBoolean",
  "rule.sast.sw.java.733.option.allowed_random.name": "Target random method",
  "rule.sast.sw.java.733.option.forbidden_random.description": "Write the name of the random method to forbid.<br />Example) Math.random",
  "rule.sast.sw.java.733.option.forbidden_random.name": "Forbidden random method",
  "rule.sast.sw.java.733.option.forbidden_seed_argument_call.description": "Write the name of forbidden seed method.<br />Example) Integer.valueOf",
  "rule.sast.sw.java.733.option.forbidden_seed_argument_call.name": "Forbidden seed Method",
  "rule.sast.sw.java.733.option.is_check_util_random.description": "Check java.util.Random <br />Example) true",
  "rule.sast.sw.java.733.option.is_check_util_random.name": "Check java.util.Random",
  "rule.sast.sw.java.733.option.random_key_class.description": "Write the name of the class to be used for self-generation of random keys.<br />Example) java.util.Date",
  "rule.sast.sw.java.733.option.random_key_class.name": "Class for self-generation of random keys",
  "rule.sast.sw.java.733.option.random_seed.description": "Write the name of Random seed method.<br />Example) java.util.Random.setSeed",
  "rule.sast.sw.java.733.option.random_seed.name": "Random seed method",
  "rule.sast.sw.java.734.description": "The Exposure of password in address bar checker finds instances of sending a GET response including a password.\nIf data containing important user or system information is sent or received in plaintext, this poses a security vulnerability allowing unauthorized users to sniff sensitive data from the communication channel. Using the GET method is risky because parameters can be exposed in the URL.\nSensitive data must be encrypted when transferred over a communication channel; if necessary, those transfers must be conducted over a secure channel, such as SSL or HTTPS. When using a secure channel such as HTTPS or storing sensitive data in a browser cookie, set the cookie object's security attributes enabled to protect the data against leaks. Responses that include sensitive data should be sent via POST, instead of GET.",
  "rule.sast.sw.java.734.example.0.dangerous": "Line 8: A response of an HTTP request is resent by using GET method.",
  "rule.sast.sw.java.734.example.0.safe": "Line 15: Use the POST method, not the GET method to send the parameter of sensitive information into other pages.",
  "rule.sast.sw.java.734.name": "Exposure of password in address bar",
  "rule.sast.sw.java.735.description": "The Multiple bindings to same port checker finds instances in which multiple services run on one port.\nIf a single port is used by multiple services, data packets can be stolen or spoofed while transferred.\nDisable the port reuse option.",
  "rule.sast.sw.java.735.example.0.dangerous": "Line 6: Multiple sockets are allowed to be bound to a single port number, which can be exposed to packet sniffing attacks.",
  "rule.sast.sw.java.735.example.0.safe": "Line 6: Do not set the reuse option of the port regardless of the protocol.",
  "rule.sast.sw.java.735.name": "Multiple bindings to same port",
  "rule.sast.sw.java.736.description": "The Insecure Cookie checker finds instances of transferring an unencrypted cookie.\nFor browser cookies that store data, the setSecure() methods must be called with true.\nYou may assume that if services run solely over HTTPS, all information will be safely transferred in ciphertext.However, if security-sensitive data is stored in a browser cookie without the security attribute set enabled, it is not transferred via a security protocol such as SSL. This may expose sensitive information in plaintext to attackers. This vulnerability must be noted especially when the cookie contains privacy information or a session ID. Note that if the setSecure method is called in a site (domain) that uses HTTP only or HTTP and HTTPS together, data in browser cookies may not be transferred leading to a service failure.\nMake sure that the setSecure() method is called on every cookie object with a value of true passed in.",
  "rule.sast.sw.java.736.example.0.dangerous": "Line 6: Cookie is sent in HTTPS only without security properties, which can expose information to attackers.",
  "rule.sast.sw.java.736.example.0.safe": "Line 9: Call setSecure(true) method of Cookie object in case of using cookies with sensitive information sent in HTTPS only.",
  "rule.sast.sw.java.736.name": "Insecure Cookie",
  "rule.sast.sw.java.736.option.alarm.name": "Detection rule",
  "rule.sast.sw.java.736.option.cookie_class.description": "Cookie classes for security property settings",
  "rule.sast.sw.java.736.option.cookie_class.name": "Cookie Classes",
  "rule.sast.sw.java.736.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.736.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.736.option.response_class.description": "Response classes for Servlet. <br />Example)HttpServletResponse",
  "rule.sast.sw.java.736.option.response_class.name": "Response classes for Servlet",
  "rule.sast.sw.java.736.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.737.description": "The Incorrect permission assignment for critical resource checker finds instances of allowing users other than software administrators to read or write to security-critical resources such as configuration files, executables, and libraries.\nThe checker searches for an extra permission assigned for an optionally specified critical resource file.\nIf the software specifies inappropriate permissions for a security-critical resource in a way that allows that resource to be read or edited, unintended users can have control of it.\nFor critical resources, grant access permissions only to necessary users.",
  "rule.sast.sw.java.737.example.0.dangerous": "Line 3: umask is used to give full permission to generate a file. This allows all users to read and write the file.\nLine 10: All users are allowed to read and write system.ini file.",
  "rule.sast.sw.java.737.example.0.safe": "Line 3: Set umask to grant minimum permissions, that is to allow permissions to necessary users only and restrict permissions to others.\nLine 10: Grant a read permission to an owner of the file.",
  "rule.sast.sw.java.737.name": "Incorrect permission assignment for critical resource",
  "rule.sast.sw.java.737.option.critical_resource.description": "Write the path of a critical resource.<br />example) C:Criticalesource.dat",
  "rule.sast.sw.java.737.option.critical_resource.name": "Critical resources",
  "rule.sast.sw.java.740.description": "The Integer Overflow checker finds instances in which the result of an arithmetic operation exceeds the size of the given integer type.\nIf the result is out of the range of the integer type, an overflow occurs to return a negative number or an unexpected value. If such an unexpected return value is used for memory allocation or a loop conditional, the program may become vulnerable to security threats.\nYou must consider the ranges of integer types specific to each language or platform. When an integer-type variable is used in an operation, use a module that checks the possible range of the result value. If an external input is used for dynamic memory allocation, the variable must be checked for being within the valid range.",
  "rule.sast.sw.java.740.example.0.dangerous": "Line 2: A value is dynamically evaluated from an external input args[0], then used to determine the array size.\nLine 4: When the array size is evaluated to a negative due to an overflow, which can cause a problem on the system.",
  "rule.sast.sw.java.740.example.0.safe": "Line 5: Verify the size value to be used for dynamic memory assignment.",
  "rule.sast.sw.java.740.name": "Integer Overflow",
  "rule.sast.sw.java.740.option.alarm.name": "Detection rule",
  "rule.sast.sw.java.740.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.740.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.740.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.741.description": "The Missing authentication for critical function checker detects code that does not go through proper authentication before accessing critical functions.\nYou can optionally specify which critical functions to check and what authentication controls are required.\nViewing or changing sensitive information (such as bank transfer information, personal information, etc.) or performing significant resource-consuming operations without proper authentication can be dangerous. Design your servers so that clients cannot bypass security checks to access them, and re-authenticate sensitive pages such as bank transfers. It's also important to use libraries or frameworks that are proven to be secure (such as the security features of OpenSSL or ESAPI).\nRequire authentication before giving access to critical functions.",
  "rule.sast.sw.java.741.example.0.dangerous": "Line 6: A bank account is sent without further authentication.",
  "rule.sast.sw.java.741.example.0.safe": "Line 16: Make users with authentication only enable to send the bank account.",
  "rule.sast.sw.java.741.name": "Missing authentication for critical function",
  "rule.sast.sw.java.741.option.argument_type_for_critical_function.description": "Argument types of critical functions. Checkers will inspect such argument types. (Regular expression supported.)",
  "rule.sast.sw.java.741.option.argument_type_for_critical_function.name": "Argument type of the critical function",
  "rule.sast.sw.java.741.option.authenticated_block.description": "If selected, calling of any critical function will be considered safe in the authenticated block - if, switch, while, and for as well as the conditions of the ternary operators.",
  "rule.sast.sw.java.741.option.authenticated_block.name": "Authenticated code block",
  "rule.sast.sw.java.741.option.authentication_function.description": "Write the name of the method to be called for authentication. In case there are multiple methods, all methods must be called for the authentication.<br />Example) java.lang.String.equals",
  "rule.sast.sw.java.741.option.authentication_function.name": "Authentication method",
  "rule.sast.sw.java.741.option.check_argument_type.description": "Check the types of arguments passed to functions that perform important functions.",
  "rule.sast.sw.java.741.option.check_argument_type.name": "Checking parameter types",
  "rule.sast.sw.java.741.option.critical_class.description": "Write a type of an object that calls critical function (fully qualified class name required, i.e. java.lang.String), regular expression supported",
  "rule.sast.sw.java.741.option.critical_class.name": "Object type of the critical function",
  "rule.sast.sw.java.741.option.critical_function.description": "Critical function. Regular expression supported.",
  "rule.sast.sw.java.741.option.critical_function.name": "Critical function",
  "rule.sast.sw.java.742.description": "The Improper authorization checker finds instances of using anonymous binding to execute an LDAP query.\nIf the anonymous binding is allowed without user authentication, a user's information can be accessed externally.\nMake sure the LDAP binding is performed with the username and password provided.",
  "rule.sast.sw.java.742.example.0.dangerous": "Line 5: Access control is not used for user authentication. This allows anonymous bindings, and unknown users to access to information from outside.",
  "rule.sast.sw.java.742.example.0.safe": "Line 5: Use access control to access with user ID and password.",
  "rule.sast.sw.java.742.name": "Improper authorization",
  "rule.sast.sw.java.742.option.class_name_to_be_authorized.description": "Write a class name to be authorized.<br />Example) (.+.)?KrdMessage",
  "rule.sast.sw.java.742.option.class_name_to_be_authorized.name": "A class name to be authorized",
  "rule.sast.sw.java.743.description": "The Storing Unencrypted Password checker finds instances of storing unencrypted passwords externally.\nIf passwords are loaded from an external source and used without being post-processed, it implies storing unencrypted passwords and thus is subject to detection.\nIf passwords are not encrypted when stored in an external environment file or read out via a communication channel, data may be exposed to or sniffed by unauthorized agents.\nMake sure that privacy information (ID numbers, passport numbers, etc.), financial information (card numbers, account numbers, etc.), passwords, and other sensitive information are encrypted when stored, and it is read and written only through authorized access. Passwords, in particular, have to be encrypted using a one-way encryption algorithm-SHA-256 or a more secure one.",
  "rule.sast.sw.java.743.example.0.dangerous": "Line 11: A password in a string form read from its property file is used to connect database. If you use the property file to store stings to be attacked, system can be exposed to unintended risks.",
  "rule.sast.sw.java.743.example.0.safe": "Line 11: When using the externally stored password, for example, an environment file, to connect to the database, use logics to process it into additional information, such as verification or decryption.",
  "rule.sast.sw.java.743.name": "Storing Unencrypted Password",
  "rule.sast.sw.java.743.option.alarm.name": "Detection rule",
  "rule.sast.sw.java.743.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.743.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.743.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.744.description": "The Password in comment checker finds comments that contain password information. \nPassword information contained in comments can be exposed to attackers. This practice may allow for security threats to the system. Passwords are often written in comments for development convenience, but they are hard to remove once the software is deployed into production. Do not include IDs, passwords, and other security-sensitive information in comments. If an attacker can access the source code or use reverse engineering to view the code, the attacker will be able to easily intrude the system.\nEliminate password information in comments.",
  "rule.sast.sw.java.744.example.0.dangerous": "Line 1: An userId and password are used for debugging, and not properly deleted from comments.",
  "rule.sast.sw.java.744.example.0.safe": "Line 1: Remove code to be used for debugging, such as userId and password information in comments.",
  "rule.sast.sw.java.744.name": "Password in comment",
  "rule.sast.sw.java.744.option.allowed_max_word_length.description": "Write the maximum length of a single word to be allowed in comments.<br />Example) 40",
  "rule.sast.sw.java.744.option.allowed_max_word_length.name": "Maximum consecutive word length",
  "rule.sast.sw.java.744.option.check_header.description": "If the option is enabled, all comments in the header files will be checked.",
  "rule.sast.sw.java.744.option.check_header.name": "Inspect header files",
  "rule.sast.sw.java.744.option.check_password_only.description": "If selected, password expressions will be detected even if it exists solely.",
  "rule.sast.sw.java.744.option.check_password_only.name": "Check password expressions solely existing",
  "rule.sast.sw.java.744.option.consecutive_word_expr.description": "Write an expression of the consecutive word which exceeds the maximum length to be detected.<br />Example) [a-zA-Z0-9]+",
  "rule.sast.sw.java.744.option.consecutive_word_expr.name": "Consecutive word expressions to detect",
  "rule.sast.sw.java.744.option.fixed_key_length.description": "Write a fixed length of key.",
  "rule.sast.sw.java.744.option.fixed_key_length.name": "A fixed length of key",
  "rule.sast.sw.java.744.option.password_expr.description": "Write the expression of a string that may be considered as a password.<br />Example) password",
  "rule.sast.sw.java.744.option.password_expr.name": "Password expression",
  "rule.sast.sw.java.744.option.using_fixed_key_length.description": "If the option is enabled, the fixed length of key string will be detected.",
  "rule.sast.sw.java.744.option.using_fixed_key_length.name": "Check a fixed length of key",
  "rule.sast.sw.java.745.description": "The Use of Hash without Salt checker finds instances of calculating a hash without a salt.\nIf sensitive data is hashed without a salt, attackers can precalculate the hashes using rainbow tables to find original values.\nWhen hashing a password or other sensitive data, pass a salt to the hashing function and use the consequently returned hash value.",
  "rule.sast.sw.java.745.example.0.dangerous": "Line 6: A hash for a password is loaded without salt for storing the password.",
  "rule.sast.sw.java.745.example.0.safe": "Line 6: Use the password after applying the salt and then calculating its hash value.",
  "rule.sast.sw.java.745.name": "Use of Hash without Salt",
  "rule.sast.sw.java.745.option.alarm.name": "Detection rule",
  "rule.sast.sw.java.745.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.745.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.745.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.746.description": "The Download of code without integrity check checker finds instances of downloading an executable code without checking its origin or integrity.\nWhen providing a code that is to be downloaded, such as for automatic updates of software, failure to use cryptographic signatures allows for a security vulnerability. If the program downloads a risky executable file from a remote location and executes it at the client side without sufficiently verifying the origin and integrity of the code, an attacker can execute a malicious action.\nTake measures such as using a public-key algorithm to check code files for manipulation.",
  "rule.sast.sw.java.746.example.0.dangerous": "Line 3: A remote file is downloaded by using URLClassLoader. The downloading file is not check for integrity, file forgery can occur.",
  "rule.sast.sw.java.746.example.0.safe": "Line 20: Create a signature for the transferring file and determine whether it is tampered by using the encryption algorithm and mechanism of the public keys.",
  "rule.sast.sw.java.746.name": "Download of code without integrity check",
  "rule.sast.sw.java.746.option.alarm.name": "Detection rule",
  "rule.sast.sw.java.746.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.746.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.746.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.747.description": "The TOCTOU race condition checker finds race conditions occurring between the time of checking a resource's state and the time of using it.\nWhen coding to check the state of a resource and access it based on the checked state, programmers often assume that the checked state will persist until the resource is accessed. But the resource's state can change between the check and the use. This can happen even in a non-multithreaded program because the state of resources such as files can be changed by other programs or the operating system. These race conditions can cause the program to perform invalid actions or throw an exception and may help attackers gain access to unauthorized resources.\nIf resource accessibility needs to be determined based on resource state, use approaches such as synchronization that ensure exclusive access to resources. Or, there are some APIs available that help implement actions handling file resources. They attempt the given resource action and return different results based on the resource's state.",
  "rule.sast.sw.java.747.example.0.dangerous": "Line 10: A file is checked, and its result creates a branch.\nLine 16: A program can be executed in an unintended way by deleting files between time-of-check and time-of-use.",
  "rule.sast.sw.java.747.example.0.safe": "Line 8: For multiple threads accessing to the shared resources, use sync statements to allow one thread to access at a time.\nLine 17: The FileNotFound error will be occur in case of no file to access. Handle the exception.",
  "rule.sast.sw.java.747.name": "TOCTOU race condition",
  "rule.sast.sw.java.749.description": "The Public data assigned to private array checker finds instances of storing an externally accessible array object in a private array field.\nIf an array field declared private assumes an externally accessible object, the private array also becomes externally accessible, practically disabling the access control. This may result in user data or other restricted information exposed, leading to a serious security issue.\nA private array field must assume an array created directly in a class. When passing external data to an array, do not store the array object itself, but store a copy of its individual elements.",
  "rule.sast.sw.java.749.example.0.dangerous": "Line 4: UserRoles field is declared as private.\nLine 5: When an external array is assigned by setUserRoles() method declared as public, userRoles can be accessed into from outside.",
  "rule.sast.sw.java.749.example.0.safe": "Line 7: Instead of assigning the array itself, copy elements of the array.",
  "rule.sast.sw.java.749.name": "Public data assigned to private array",
  "rule.sast.sw.java.749.option.excluded_class.description": "Write the name of a class to exclude.<br />Example) .*Dto",
  "rule.sast.sw.java.749.option.excluded_class.name": "Name of the class to exclude from the checking",
  "rule.sast.sw.java.749.option.excluded_method.description": "Write the name of a method to exclude.<br />Example) .*Dto",
  "rule.sast.sw.java.749.option.excluded_method.name": "Excluded Method",
  "rule.sast.sw.java.749.option.excluded_package.description": "Write the name of a package to exclude.<br />Example) .*dto",
  "rule.sast.sw.java.749.option.excluded_package.name": "Excluded package",
  "rule.sast.sw.java.750.description": "The Reliance on untrusted inputs in security decisions checker finds instances of storing user credentials in a cookie.\nDevelopers may assume that inputs such as cookies, environment variables, and hidden form fields cannot be modified. However, an attacker could change these inputs using various approaches and this change might not be detected. When security decisions such as authentication and authorization are made based on the values of these inputs, attackers can bypass the security checks of the application. Therefore, inputs from external users should not be trusted.\nMake sure that critical information such as state information, sensitive data, and user sessions is stored in the server, and security checks are performed on the server side. Understand all the potential areas where untrusted inputs can enter your application. Identify all inputs that are used for security decisions and determine if you can modify the design so that you do not have to rely on submitted inputs at all.",
  "rule.sast.sw.java.750.example.0.dangerous": "Line 9: User authentication information and \"authenticated\" are saved to cookies in plain texts. This enables attackers to change cookie information.",
  "rule.sast.sw.java.750.example.0.safe": "Line 11: Save the user authentication information into sessions, which can remove risks to be exposed.",
  "rule.sast.sw.java.750.name": "Reliance on untrusted inputs in security decisions",
  "rule.sast.sw.java.750.option.alarm.name": "Detection rule",
  "rule.sast.sw.java.750.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.750.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.750.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.752.description": "The System Information Exposure finds instances of displaying system information through error messages or by other means.\nIf error messages openly displayed by the application contain sensitive information regarding execution environments or user data, attackers can exploit the information for malicious actions. Showing exception names or stack traces can help attackers identify the program's internal structure.\nMake sure error messages are shown only to relevant users and contain minimum necessary information. Have exceptions internally handled in source code and do not allow them to trigger an error message containing sensitive information.",
  "rule.sast.sw.java.752.example.0.dangerous": "Line 4: Internal information is exposed by printed exception names or stack traces.",
  "rule.sast.sw.java.752.example.0.safe": "Line 4: Do not print the exception names or stack traces.",
  "rule.sast.sw.java.752.name": "Exposure of system information",
  "rule.sast.sw.java.752.option.additional_exception_class.description": "Write the name of the exception class to detect in addition.<br />Example) java.io.IOException",
  "rule.sast.sw.java.752.option.additional_exception_class.name": "Additional Exception Class",
  "rule.sast.sw.java.752.option.alarm.name": "Detection rule",
  "rule.sast.sw.java.752.option.default_exception_class.description": "Write the names of default exception classes for checker.",
  "rule.sast.sw.java.752.option.default_exception_class.name": "Default exception class inspected by checkers",
  "rule.sast.sw.java.752.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.752.option.exclude_print_stack_trace.description": "If the option is enabled, printStackTrace method calls will not be detected.",
  "rule.sast.sw.java.752.option.exclude_print_stack_trace.name": "Exclude printStackTrace call",
  "rule.sast.sw.java.752.option.exclude_println.description": "If the option is enabled, println method calls will not be detected.",
  "rule.sast.sw.java.752.option.exclude_println.name": "Exclude println call",
  "rule.sast.sw.java.752.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.752.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.757.description": "The Format string injection checker finds instances of using a format string that is not a constant but built with an unvalidated external input.\nUsing an unvalidated external input as a format string may pose a security vulnerability. This can be exploited to attack a weak process, or read from or write to memory.\nFunctions such as printf() or snprintf() should not be called with a format string that is built with or generated from a user input. If a user input needs to be used for a format string, it is recommended to use the %s format specifier as a placeholder for each user input and pass user inputs to the second and subsequent parameters.",
  "rule.sast.sw.java.757.example.0.dangerous": "Line 10: An external input is used as an output without checking format strings. If an attacker enters '%1$tm, %1$te' or '%1$tY' string, validDate will print out expiration time.",
  "rule.sast.sw.java.757.example.0.safe": "Line 10: Do not use the external input string in the format strings. Use  %s format sting to prevent information exposure.",
  "rule.sast.sw.java.757.name": "Format string injection",
  "rule.sast.sw.java.757.option.alarm.name": "Detection rule",
  "rule.sast.sw.java.757.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.757.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.757.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.758.description": "The Cross site scripting via error messages checker finds instances in which an error message is sent containing an external input.\nIf an error message is sent containing an external input, this may allow for cross-site scripting (XSS) attacks. Attackers can run a crafted script to leak information or take other harmful actions.\nYou must disallow error messages from directly containing an external input.",
  "rule.sast.sw.java.758.example.0.dangerous": "Line 4: An error message with an external input is transferred.",
  "rule.sast.sw.java.758.example.0.safe": "Line 4: Do not print out the external input within the error message.",
  "rule.sast.sw.java.758.name": "Cross site scripting via error messages",
  "rule.sast.sw.java.758.option.alarm.name": "Detection rule",
  "rule.sast.sw.java.758.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.758.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.758.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.759.description": "The Cleartext transmission of sensitive information checker finds instances of transferring sensitive information without encrypting it.\nIf data containing important user or system information is sent or received in plaintext, this poses a security vulnerability allowing unauthorized users to sniff sensitive data from the communication channel.\nSensitive information transferring via communication channels must be encrypted. If necessary, secure channels such as SSL or HTTPS should be used.",
  "rule.sast.sw.java.759.example.0.dangerous": "Line 4: A password read in property files is transferred to a server through the network. Then, the password can be exposed by packet sniffing.",
  "rule.sast.sw.java.759.example.0.safe": "Line 10: Encrypt the password with the minimum 128 byte key before transferring it to the server through the network.",
  "rule.sast.sw.java.759.name": "Cleartext transmission of sensitive information",
  "rule.sast.sw.java.759.option.alarm.name": "Detection rule",
  "rule.sast.sw.java.759.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.759.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.759.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.837.description": "The Password in servlet comment checker finds comments in servlet code that contain password information.\nPassword information contained in comments can be exposed to attackers. This practice may allow for security threats to the system. Passwords are often written in comments for development convenience, but they are hard to remove once the software is deployed into production. Do not include IDs, passwords, and other security-sensitive information in comments. If an attacker can access the source code or use reverse engineering to view the code, the attacker will be able to easily intrude the system.\nEliminate password information in comments.",
  "rule.sast.sw.java.837.example.0.dangerous": "Line 1: A password is specified in comments.\nLine 2: A passwd is specified in comments.",
  "rule.sast.sw.java.837.example.0.safe": "Line 1: Remove code to be used for debugging, such as userId and password information in comments.",
  "rule.sast.sw.java.837.name": "Password in servlet comment",
  "rule.sast.sw.java.837.option.password_variable.description": "Write the name of a variable that represents a password.",
  "rule.sast.sw.java.837.option.password_variable.name": "Name of the variable representing a password",
  "rule.sast.sw.java.838.description": "The Unrestricted File Upload checker finds instances of accepting a file upload without checking its type and size.\nIf server-executable scripts (files in asp, jsp, php, etc.) can be uploaded and attackers can run those files by themselves on the Web, it can be exploited to run internal system commands or connect the system to an external source to control it therefrom.\nMake sure users can upload only those files whose extensions are allowed in the whitelist. Have the names and extensions of uploaded files changed into unpredictable strings when they are stored in the server.",
  "rule.sast.sw.java.838.example.0.dangerous": "Line 9: A tainted format file can be uploaded or sent without validation for it.",
  "rule.sast.sw.java.838.example.0.safe": "Line 9: Put a limit on file size to be uploaded.\nLine 14: Put a limit on file formats to be uploaded.",
  "rule.sast.sw.java.838.name": "Unrestricted File Upload",
  "rule.sast.sw.java.838.option.alarm.name": "Detection rule",
  "rule.sast.sw.java.838.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.838.option.file_item_name_method.description": "Enter a GET Method of FileItem name.<br />example) org.apache.commons.fileupload.FileItem.getName",
  "rule.sast.sw.java.838.option.file_item_name_method.name": "GET Method of FileItem Name",
  "rule.sast.sw.java.838.option.file_item_write_method.description": "Write a name of WRITE Method that write data on FileItem.<br />example) org.apache.commons.fileupload.FileItem.write",
  "rule.sast.sw.java.838.option.file_item_write_method.name": "WRITE Method of FileItem",
  "rule.sast.sw.java.838.option.multipart_file_name_method.description": "Write a name of GET Method that retrieve an original name of MultipartFile.<br />example) org.springframework.web.multipart.MultipartFile.getOriginalFilename",
  "rule.sast.sw.java.838.option.multipart_file_name_method.name": "GET Method of Original MultipartFile",
  "rule.sast.sw.java.838.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.838.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.844.description": "The Missing password recovery control checker finds instances of failure to implement a logic to limit the number of password restore attempts.\nYou can optionally specify the name of a password restore routine. The checker checks for a logic that ensure: Password restore attempts are controlled in a loop prior to a call to a password restore routine. If the condition expression always evaluates to true, the checker determines that password restore attempts are not properly controlled. The conditional expression in the loop uses a comparison operator.\nIf password restore attempts are not limited, attackers may succeed to change passwords by a brute-force attack. This can give an unauthorized accessor a permission.\nA logic that limits password restore attempts must be implemented.",
  "rule.sast.sw.java.844.example.0.dangerous": "Line 2: Password restore attempts is unlimited.",
  "rule.sast.sw.java.844.example.0.safe": "Line 2: Control the password restore attempt count.",
  "rule.sast.sw.java.844.name": "Missing password recovery control",
  "rule.sast.sw.java.844.option.check_inner_control.description": "If the option is enabled, whether all loops in the password recovery routine are controlled will be checked.",
  "rule.sast.sw.java.844.option.check_inner_control.name": "Check inner control",
  "rule.sast.sw.java.844.option.check_outer_control.description": "If selected, whether the password recovery routine is controlled from outer side will be checked.",
  "rule.sast.sw.java.844.option.check_outer_control.name": "Check outer control",
  "rule.sast.sw.java.844.option.password_recovery_method.description": "Write the name of the password recovery routine.<br/>example) .+..*recoverPassword",
  "rule.sast.sw.java.844.option.password_recovery_method.name": "Password recovery routine name",
  "rule.sast.sw.java.845.description": "The Missing login control checker finds instances of failure to implement a logic to limit the number of login attempts. \nYou can optionally specify the name of the login routine to enable the checker to identify the ID and password variables involved in the routine. The checker checks for a logic that ensure: Login attempts are controlled in a loop prior to a call to a login routine. If the attempt count is unlimited, the checker determines that login attempts are not properly controlled. The conditional expression in the loop uses one of the comparison operators: <, >, <=, and >=. \nIf login attempt count is not limited, attackers may succeed in login by a brute-force attack. This can give an unauthorized accessor a permission.\nA logic that limits login attempt count must be implemented.",
  "rule.sast.sw.java.845.example.0.dangerous": "Line 2: Login attempts is unlimited.",
  "rule.sast.sw.java.845.example.0.safe": "Line 4: Control the login attempt count.",
  "rule.sast.sw.java.845.name": "Missing login control",
  "rule.sast.sw.java.845.option.check_inner_control.description": "If the option is enabled, whether all loops in the log-in routine are controlled will be checked.",
  "rule.sast.sw.java.845.option.check_inner_control.name": "Check inner control",
  "rule.sast.sw.java.845.option.check_outer_control.description": "If selected, whether the log-in routine is controlled from outer side will be checked.",
  "rule.sast.sw.java.845.option.check_outer_control.name": "Check outer control",
  "rule.sast.sw.java.845.option.login_method.description": "Write the name of the log-in routine.<br/>example) .+..*login",
  "rule.sast.sw.java.845.option.login_method.name": "Name of log-in routine",
  "rule.sast.sw.java.846.description": "The Exposure of administration page checker finds an admin page given a predictable name.\nYou can optionally specify forbidden admin page names. For example, admin.jsp can be easily predicted.\nAn easily predictable admin page may be analyzed regarding its form and structure by an attacker who seeks to exploit it as an entry point of attack.\nRename the admin page with an unpredictable name.",
  "rule.sast.sw.java.846.example.0.dangerous": "Line 2: An optionally specified forbidden name is used in a page.",
  "rule.sast.sw.java.846.example.0.safe": "Line 2: Specify an unpredictable name to the page.",
  "rule.sast.sw.java.846.name": "Exposure of administration page",
  "rule.sast.sw.java.846.option.forbidden_page_name.description": "Write an expression for the administrator page name to forbid.<br/>Example) admin.*",
  "rule.sast.sw.java.846.option.forbidden_page_name.name": "Forbidden administration page name",
  "rule.sast.sw.java.847.description": "The Information Leak through Privileged Block checker finds instances of calling java.security.AccessController.doPrivileged() in a non-private method.\nThe checker reports for a call to java.security.AccessController.doPrivileged() made in a non-private method.Even if doPrivileged() is called in a private method, the checker determines it to be a secure call only if the argument passed is of PrivilegedAction<Void>.\nIn an environment including the execution of untrusted code, if doPrivileged() is called by a public method, the untrusted code can arbitrarily call methods belonging to the privileged block.\nA call to doPrivileged() must be made in a method declared private with an argument of PrivilegedAction<Void>.",
  "rule.sast.sw.java.847.example.0.dangerous": "Line 3: doPrivileged() method is called by publicPasswordFile() method declared as public.",
  "rule.sast.sw.java.847.example.0.safe": "Line 1: Call the doPrivileged() method within the private() method.",
  "rule.sast.sw.java.847.name": "Information Leak through Privileged Block",
  "rule.sast.sw.java.848.description": "The Exposure of Dangerous Method checker finds instances in which a specified method is declared public or is called in a public method.\nYou can optionally specify the names of methods that should not be exposed.\nSome methods may have to be restricted to in-class use. If such a method is callable from the outside, the class's internal sensitive information can be exposed.\nMake sure those methods are declared private and called only in their class.",
  "rule.sast.sw.java.848.example.0.dangerous": "Line 1: A dangerous method is declared as public.\nLine 7: A dangerous method is called within a public method.",
  "rule.sast.sw.java.848.example.0.safe": "Line 1: Do not use the tainted method.",
  "rule.sast.sw.java.848.name": "Exposure of Dangerous Method",
  "rule.sast.sw.java.848.option.dangerous_method.description": "Write the expression of the dangerous method name.<br/>example) .+.dangerousMethod",
  "rule.sast.sw.java.848.option.dangerous_method.name": "Name of dangerous method",
  "rule.sast.sw.java.849.description": "The Missing input validation checker finds instances in which a variable that takes an external input is not validated in a conditional such as an if statement.\nYou can optionally specify input variable names subject to checking.\nIf external inputs are not validated for format correctness before being used, they can be exploited for various attacks.\nBe sure that external inputs are validated and filtered before put into use.",
  "rule.sast.sw.java.849.example.0.dangerous": "Line 2: An unvalidated variable, input, is used.",
  "rule.sast.sw.java.849.example.0.safe": "Line 2: Validate the input variable for specified formats.",
  "rule.sast.sw.java.849.name": "Missing input validation",
  "rule.sast.sw.java.849.option.target_variable.description": "Write variable names to check before use.<br/>example) .+.input",
  "rule.sast.sw.java.849.option.target_variable.name": "Target variable",
  "rule.sast.sw.java.850.description": "The Replacing email address checker finds instances of assigning a value to a specified email address variable.\nYou can optionally specify the names of variables representing an email address.\nFor example, if a system admin's email address is modified by mistake, sensitive information may be exposed externally through a system management report or log.\nDo not assign a value to such a variable.",
  "rule.sast.sw.java.850.example.0.dangerous": "Line 2: A value is assigned to a specified variable.",
  "rule.sast.sw.java.850.example.0.safe": "Line 2: Do not directly assign a value to such a variable.",
  "rule.sast.sw.java.850.name": "Replacing email address",
  "rule.sast.sw.java.850.option.target_variable.description": "Write the expression of the e-mail address variable.<br/>example) .+.email",
  "rule.sast.sw.java.850.option.target_variable.name": "Name of the e-mail address variable",
  "rule.sast.sw.java.851.description": "The Missing authentication checker finds instances of failure to implement a control routine using authentication.\nYou can optionally specify the name of the authentication routine that should be called and the names of pages that must call the routine.\nIf an authentication routine is not called, an unauthorized user can obtain a permission.\nMake sure an appropriate authentication routine is called at each necessary position.",
  "rule.sast.sw.java.851.example.0.dangerous": "Line 3: A routine is not called to a specified page.",
  "rule.sast.sw.java.851.example.0.safe": "Line 3: Call an authentication routine to the specified page.",
  "rule.sast.sw.java.851.name": "Missing authentication",
  "rule.sast.sw.java.851.option.authentication_control_method.description": "Write the name of the authentication control routine.<br/>Example) .+authenticate.*",
  "rule.sast.sw.java.851.option.authentication_control_method.name": "Name of the authentication control routine",
  "rule.sast.sw.java.851.option.target_file.description": "Write the expression of the file name to check.<br/>Example) .+admin.*",
  "rule.sast.sw.java.851.option.target_file.name": "Name of the target file",
  "rule.sast.sw.java.893.description": "The Insecure password recovery checker finds instances of password recovery that load the current password from an external source such as a file, instead of setting a new temporary password.\nIf the current password is recoverable, it means that the password is stored either in plaintext or in decryptable ciphertext. Passwords stored as such can be exposed in some way. Passwords must be hashed in an irreversible one-way format.\nTo ensure secure password recovery, do not bring back the current password but provide a new temporary password.",
  "rule.sast.sw.java.893.example.0.dangerous": "Line 6: The existing password is read from outside.\nLine 8: The existing password is set.",
  "rule.sast.sw.java.893.example.0.safe": "Line 6: Create and set a temporary password in random.",
  "rule.sast.sw.java.893.name": "Insecure password recovery",
  "rule.sast.sw.java.893.option.alarm.name": "Detection Rule",
  "rule.sast.sw.java.893.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.893.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.893.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.894.description": "The Information Leak through Android checker finds instances of storing sensitive information on the SD card of an Android device.\nSensitive information includes system data (environment variables, etc.) and device data (device ID, phone numbers, cell information, etc.).\nBecause access to an SD card is not fully controllable, data stored on it is not secure.\nDo not store sensitive information on the SD card but read it directly from the system whenever needed.",
  "rule.sast.sw.java.894.example.0.dangerous": "Line 12: Save the telephone number information to the SD card.",
  "rule.sast.sw.java.894.example.0.safe": "Line 11: Delete the telephone number information after the work is done. Do not store the sensitive information on your SD cards.",
  "rule.sast.sw.java.894.name": "Information Leak through Android",
  "rule.sast.sw.java.894.option.alarm.name": "Detection rule",
  "rule.sast.sw.java.894.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.java.894.option.propagator.name": "Propagator name",
  "rule.sast.sw.java.894.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.java.895.description": "The Untrusted Data in Privileged Block checker finds instances in which untrusted data passed to a parameter is directly used in a privileged block.\nWhen passing through a privileged block, the program is given an elevated permission and thus must be strictly controlled not to execute dangerous actions. If an unvalidated external input is used in a privileged block, an attacker may exploit this to adversely affect the system.\nMake sure external data is validated for safety before used in a privileged block.",
  "rule.sast.sw.java.895.example.0.dangerous": "Line 9: filename is used in a privilege block as a file path without validation.",
  "rule.sast.sw.java.895.example.0.safe": "Line 5: Modify to verify integrity of file names by using cleanAFilenameAndPath() filter method and use its results of cleanFilename. cleanAFilenameAndPath() method can be differed based on system and actions to perform with their file names.",
  "rule.sast.sw.java.895.name": "Untrusted Data in Privileged Block",
  "rule.sast.sw.java.896.description": "The SSI Injection checker finds server-side includes (SSIs) that include an unvalidated external input.\nSSI is a simple interpreted server-side scripting language used almost exclusively for performing simple web server tasks. Externally inputted SSI directives may expose internal information in an unexpected way, for example, by showing the contents of a file or by executing a system command.\nValidate external inputs before using them.",
  "rule.sast.sw.java.896.example.0.dangerous": "Line 6: An external input is directly used to create SSI.",
  "rule.sast.sw.java.896.example.0.safe": "Line 3: Delete the direct use of the external input in SSI.",
  "rule.sast.sw.java.896.name": "SSI Injection",
  "rule.sast.sw.java.9.description": "A security weakness in which an attacker's malicious code can be executed due to improper validation of electronic signatures in files, programs, libraries, and code.\nWhen using XML, you must check the electronic signature through XML Signature Secure Validation Mode for validation.\nGenerate XML with a electronic signature and validate it through XML Validation Mode. For example, in setProperty(), run XML Signature Secure Validation Mode with `\"org.jcp.xml.dsig.secureValidation\"` and a value of `Boolean.TRUE` as parameters to validate the electronic signature.",
  "rule.sast.sw.java.9.example.0.dangerous": "Line 1: The XML security validation mode is not running without setting the property via setProperty().",
  "rule.sast.sw.java.9.example.0.safe": "Line 2: Validate the electronic signature by running XML Signature Secure Validation Mode via setProperty().",
  "rule.sast.sw.java.9.name": "Improper electronic signature verification (XML)",
  "rule.sast.sw.java.956.description": "The Infinite loop checker finds loops that may run forever.\nIn most cases, an infinite loop exhausts resources and disrupts the system's normal service provision. However, it is theoretically impossible to completely prevent an infinite recursion or loop based on static analysis. Therefore, the checker can find only some typical patterns and simple instances.\nFix the code to avoid an infinite loop. If variables in the condition expression are never changed over iterations, the loop might run infinitely.",
  "rule.sast.sw.java.956.example.0.dangerous": "Line 3: True is set to a conditional expression of while statements, and no change is noticed inside of the loop.\nLine 5: An empty conditional expression of for statements is considered as same as entering true.\nLine 8: True is set to a conditional expression of do statements, and no change is noticed inside of the loop.",
  "rule.sast.sw.java.956.example.0.safe": "Line 4: An infinite loop can be intentionally created for a persistently acting system service. Control the resource not to be spent off.\nLine 7: An infinite loop can be intentionally created for a persistently acting system service. Control the resource not to be spent off.\nLine 10: Write an action to change the conditional expression in the loop.",
  "rule.sast.sw.java.956.name": "Infinite loop",
  "rule.sast.sw.java.956.option.check_break_statement.description": "Select whether the break statement check or not.",
  "rule.sast.sw.java.956.option.check_break_statement.name": "Check break statement in loop",
  "rule.sast.sw.java.956.option.check_general_loop.description": "Select whether general loops is checked.",
  "rule.sast.sw.java.956.option.check_general_loop.name": "Check general loops",
  "rule.sast.sw.java.956.option.check_return_statement.description": "Select whether the return statement check or not.",
  "rule.sast.sw.java.956.option.check_return_statement.name": "Check return statement in loop",
  "rule.sast.sw.java.956.option.exclude_class.description": "Write the name of class names to exclude an analysis.",
  "rule.sast.sw.java.956.option.exclude_class.name": "Excluding class",
  "rule.sast.sw.java.956.option.exclude_method.description": "Write the name of method names to exclude an analysis.",
  "rule.sast.sw.java.956.option.exclude_method.name": "Excluding method",
  "rule.sast.sw.java.956.option.exclude_package.description": "Write the name of package names to exclude an analysis.",
  "rule.sast.sw.java.956.option.exclude_package.name": "Excluding package",
  "rule.sast.sw.java.956.option.include_class.description": "Write class name to be included to analysis.",
  "rule.sast.sw.java.956.option.include_class.name": "Including class",
  "rule.sast.sw.java.956.option.include_method.description": "Write method name to be included to analysis.",
  "rule.sast.sw.java.956.option.include_method.name": "Including method",
  "rule.sast.sw.java.956.option.include_package.description": "Write package name to be included to analysis.",
  "rule.sast.sw.java.956.option.include_package.name": "Including package",
  "rule.sast.sw.java.956.option.method_name.description": "Write the name of the method that break an infinite loop.<br />Example) java.lang.Thread.yield",
  "rule.sast.sw.java.956.option.method_name.name": "Break method in loop",
  "rule.sast.sw.java.956.option.trusted_readonly_methods.description": "Write the name of the methods that do not write to memory of object but just read the object fields.<br />Example) compareTo",
  "rule.sast.sw.java.956.option.trusted_readonly_methods.name": "Read-only methods which do not write to memory of object",
  "rule.sast.sw.js.11.description": "Cross-site scripting (XSS) is an attack method that injects malicious code into websites. This attack typically targets application users, and may cause damage by the users to run a malicious code automatically. When an unverified external input is used to create a dynamic web page, an unintended script can be run with unauthorized permission when a user access to read the page. This leads to an attacks such as information leakage.\nTo prevent XSS, you need to use a function that replaces strings received from the web through rest APIs, or libraries that are well-designed to prevent cross-site scripting. Objects such as `req.params`, or `req.body` from external sources, are replaced from `&`, `>`, `<`, ```, `‘`, `/`, `(`, `)` to `&amp;`, `&gt;`, `&lt;`, `&quot;`, `&#x27;`, `&#x2F;`, `&#x28;`, `&#x29;` by using replace() method. Otherwise there are secure approaches to handle object values and avoid XSS by using well-known libraries such as `node-esapi`, `xss-filter`, `escape-html`, and `sanitize-html`.",
  "rule.sast.sw.js.11.example.0.dangerous": "Line 3: Data with XSS vulnerability from an external source is used without any replacement.",
  "rule.sast.sw.js.11.example.0.safe": "Line 4-5: This is secure because the input data is used with the inHTMLData() library that prevents the XSS.\n",
  "rule.sast.sw.js.11.name": "Cross-site scripting (ExpressJS)",
  "rule.sast.sw.js.11.option.taint_filter.description": "=Write a name and a type of the function which filters external information.<br />example) param(*) of name(\"escape\")",
  "rule.sast.sw.js.11.option.taint_filter.name": "External information filter",
  "rule.sast.sw.js.11.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.js.11.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.js.11.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example) operand(*) of name(\"+\") to return",
  "rule.sast.sw.js.11.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.js.11.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(*) of name(reg(\".*\"))",
  "rule.sast.sw.js.11.option.taint_sink.name": "External information sink",
  "rule.sast.sw.js.11.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of name(reg(\"\\S+.body\\.\\S+\"))",
  "rule.sast.sw.js.11.option.taint_source.name": "External information source",
  "rule.sast.sw.js.12.description": "When a user input without proper verification is used as a part or whole of an OS command, it might execute an unintended system command or action. This can result in granting an unauthorized permission, or malfunction on system and operation.\nThe exec() and execSync() functions create a shell to execute commands in Node.js. When the functions use unverified values, they lead to the OS Command Injection vulnerabilities.\nUse execFile() or execFileSync() instead of exec() or execSync() that creates a shell. Also, do not set the shell option to true when using OS functions. Make sure to filter out user inputs if necessary.",
  "rule.sast.sw.js.12.example.0.dangerous": "Line 4-5: This is dangerous because it uses a method that creates a shell and causes operating system command injection.\nLine 7-10: This uses an OS-related utility method with the shell option and causes operating system command injection.",
  "rule.sast.sw.js.12.example.0.safe": "Line 4-5: This does not use the method that causes operating system command injection.\nLine 7-8: This does not use the shell option and does not create any shell by default.\nLine 9-10: This specifies false to the shell option and does not create any shell.",
  "rule.sast.sw.js.12.example.1.dangerous": "Line 4: This is dangerous because it uses a method that creates a shell and causes operating system command injection.",
  "rule.sast.sw.js.12.example.1.safe": "Line 8: Filter out characters that cause operating system command injection.",
  "rule.sast.sw.js.12.name": "Command injection",
  "rule.sast.sw.js.12.option.custom_taint_sink.description": "Functions that require shell option resolution",
  "rule.sast.sw.js.12.option.custom_taint_sink.name": "Shell option check function",
  "rule.sast.sw.js.12.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) param(*) of name(\"filter\")",
  "rule.sast.sw.js.12.option.taint_filter.name": "External information filter",
  "rule.sast.sw.js.12.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.js.12.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.js.12.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\"+\") to return",
  "rule.sast.sw.js.12.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.js.12.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(1) of name(\"exec\")",
  "rule.sast.sw.js.12.option.taint_sink.name": "External information sink",
  "rule.sast.sw.js.12.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of name(reg(\"\\S+\\.body.*\"))",
  "rule.sast.sw.js.12.option.taint_source.name": "External information source",
  "rule.sast.sw.js.1478.description": "The DOM based cross site scripting checker finds instances of creating a DOM object with an external input.\nIf unvalidated external inputs are allowed for page generation, attackers can inject malicious scripts into the pages. This vulnerability lets attackers take over a user's cookie, session, or other information or execute an abnormal function. You can optionally specify functions that perform the respective roles of receiving, using, warning of, and filtering external inputs.\nTo prevent external inputs from being used for scripts, use a text replacement function or method to substitute characters such as <, >, &, and \" with &lt;, &gt;, &amp;, and &quot;, respectively. For bulletin boards that allow using HTML tags, make a whitelist of allowable HTML tags.",
  "rule.sast.sw.js.1478.example.0.dangerous": "Line 6: Code will be executed due to cookies with meta characters or source code as a suffix of user.",
  "rule.sast.sw.js.1478.example.0.safe": "Line 5: Reduce risks by adding the filter function.\nAlthough using a Encode function, encodeURIComponent, is often believed to be safe,\nit is recommended to write an additional filter function to control vulnerabilities.",
  "rule.sast.sw.js.1478.name": "DOM based cross site scripting",
  "rule.sast.sw.js.1478.option.alarm.name": "Detection rule",
  "rule.sast.sw.js.1478.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.js.1478.option.propagator.name": "Propagator name",
  "rule.sast.sw.js.1478.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.js.1478.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />example) return of name(\"encodeURIComponent\")",
  "rule.sast.sw.js.1478.option.taint_filter.name": "External information filter",
  "rule.sast.sw.js.1478.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.js.1478.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.js.1478.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example) operand(*) of name(\"+\") to return",
  "rule.sast.sw.js.1478.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.js.1478.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />example) param(*) of fqn(\"eval\")",
  "rule.sast.sw.js.1478.option.taint_sink.name": "External information sink",
  "rule.sast.sw.js.1478.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of fqn(\"document.URL\")",
  "rule.sast.sw.js.1478.option.taint_source.name": "External information source",
  "rule.sast.sw.js.1481.description": "The Improper property value checker finds instances in which a variable is set to a negative number even though its valid range does not include negative numbers.\nIf a variable representing data length, for example, is set to a negative number, an inappropriate action may occur.\nSet the variable to a positive number or zero.",
  "rule.sast.sw.js.1481.example.0.dangerous": "Line 1: Content-Length header is set to a negative. Commonly, the Content-Length header indicates the length of data, thus it must be zero or a positive integer.",
  "rule.sast.sw.js.1481.example.0.safe": "Line 1: Set the Content-Length header to zero or a positive.",
  "rule.sast.sw.js.1481.name": "Improper property value",
  "rule.sast.sw.js.1481.option.target_pattern.description": "Write a pattern of property .<br />Example) Content-Length",
  "rule.sast.sw.js.1481.option.target_pattern.name": "Pattern of property do not have a negative number as value",
  "rule.sast.sw.js.1513.description": "The Remote code execution checker finds code that uses eval() function.\nWhen the eval function is called, the parser runs dynamically, thus causing a slowdown.\nThe dynamic execution of code also can be exploited to run a malicious code.As the eval() function works at the global level of scope, its execution may affect external variables.\nDo not use the eval() function. If you need to, use a closure to restrict external variables and then call the eval() function.",
  "rule.sast.sw.js.1513.example.0.dangerous": "Line 3: eval() function is used.",
  "rule.sast.sw.js.1513.example.0.safe": "Line 3: Use parseJSON instead of the eval() to parse JSON data.\nLine 8: Do not use the eval() function.\nLine 12: Call eval() function with function closure, which is not effected by external variables.",
  "rule.sast.sw.js.1513.name": "Remote code execution",
  "rule.sast.sw.js.1513.option.closure_enabled.description": "When unchecked, it also checks when inside a closure function.",
  "rule.sast.sw.js.1513.option.closure_enabled.name": "Whether the closure is checked",
  "rule.sast.sw.js.1516.description": "The Information leak from local storage to session storage checker finds instances of moving data from a localStorage object to a sessionStorage object.\nMoving data between localStorage and sessionStorage objects may lead to leaks of sensitive information. HTML5 provides localStorage and sessionStorage, both of which function as data storages. A sessionStorage object stores data for only one page instance and the current browsing session, while a localStorage object persists across multiple pages. Therefore, moving data between the different storages may cause an unintended behavior or a misuse of sensitive information.\nDo not move data between the two different storages.",
  "rule.sast.sw.js.1516.example.0.dangerous": "Line 4: A value is brought from localStorage.\nLine 6: The value from localStorage is stored to sessionStorage.",
  "rule.sast.sw.js.1516.example.0.safe": "Line 4: Do not move the value between different stotages.",
  "rule.sast.sw.js.1516.name": "Information leak from local storage to session storage",
  "rule.sast.sw.js.1516.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) param(*) of name(\"filter\")",
  "rule.sast.sw.js.1516.option.taint_filter.name": "External information filter",
  "rule.sast.sw.js.1516.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.js.1516.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.js.1516.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.",
  "rule.sast.sw.js.1516.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.js.1516.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(2) of fqn(\"sessionStorage.setItem\")",
  "rule.sast.sw.js.1516.option.taint_sink.name": "External information sink",
  "rule.sast.sw.js.1516.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of fqn(\"localStorage.getItem\")",
  "rule.sast.sw.js.1516.option.taint_source.name": "External information source",
  "rule.sast.sw.js.1517.description": "The Information leak from session storage to local storage checker finds instances of moving data from a sessionStorage object to a localStorage object.\nMoving data between localStorage and sessionStorage objects may lead to leaks of sensitive information. HTML5 provides localStorage and sessionStorage, both of which function as data storages. A sessionStorage object stores data for only one page instance and the current browsing session, while a localStorage object persists across multiple pages. Therefore, moving data between the different storages may cause an unintended behavior or a misuse of sensitive information.\nDo not move data between the two different storages.",
  "rule.sast.sw.js.1517.example.0.dangerous": "Line 4: A value is brough from sessionStorage.\nLine 6: The value from sessionStorage is stored to localStorage.",
  "rule.sast.sw.js.1517.example.0.safe": "Line 4: Do not move the value between different stotages.",
  "rule.sast.sw.js.1517.name": "Information leak from session storage to local storage",
  "rule.sast.sw.js.1517.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) param(*) of name(\"filter\")",
  "rule.sast.sw.js.1517.option.taint_filter.name": "External information filter",
  "rule.sast.sw.js.1517.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.js.1517.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.js.1517.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.",
  "rule.sast.sw.js.1517.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.js.1517.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(2) of fqn(\"localStorage.setItem\")",
  "rule.sast.sw.js.1517.option.taint_sink.name": "External information sink",
  "rule.sast.sw.js.1517.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of fqn(\"sessionStorage.getItem\")",
  "rule.sast.sw.js.1517.option.taint_source.name": "External information source",
  "rule.sast.sw.js.1518.description": "The Cross document messaging checker finds calls to the postMessage() function that take `*` as an argument.\nHTML5 provides the postMessage() function, which enables messaging between Web pages. If the domain is set to `*`, messaging is enabled regardless of the target origin, thereby allowing a malicious script to be executed by a victim application.\nWhen calling postMessage(), provide a specific target domain.",
  "rule.sast.sw.js.1518.example.0.dangerous": "Line 1: \"*\" is passed as the second argument of postMessage() function.",
  "rule.sast.sw.js.1518.example.0.safe": "Line 1: Specify a domain to secure message transfer.",
  "rule.sast.sw.js.1518.name": "Cross document messaging",
  "rule.sast.sw.js.1518.option.forbidden_pattern.description": "Write a domain to be forbidden.<br />Example) .*forbidden.*",
  "rule.sast.sw.js.1518.option.forbidden_pattern.name": "Domain to be forbidden",
  "rule.sast.sw.js.1523.description": "The SQL Injection checker finds SQL queries that include an unvalidated external input.\nIf an unvalidated external input is allowed in SQL queries, attackers can inject a crafted query that has an altered meaning. This vulnerability lets attackers access or manipulate information in the database.\nExternal inputs must be validated or parameterized before being used in SQL queries.",
  "rule.sast.sw.js.1523.example.0.dangerous": "Line 5: Insecure document.URL.indexOf(eid+4) is sent to executeSql(), which will execute a query.",
  "rule.sast.sw.js.1523.example.0.safe": "Line 5: Do not directly use the insecure variable. Run the query after preprocessing.",
  "rule.sast.sw.js.1523.name": "SQL Injection",
  "rule.sast.sw.js.1523.option.alarm.name": "Detection rule",
  "rule.sast.sw.js.1523.option.exclude.name": "Exclusion Rule",
  "rule.sast.sw.js.1523.option.propagator.name": "Propagator name",
  "rule.sast.sw.js.1523.option.suggestionFilterFunction.name": "Suggested Filter Function",
  "rule.sast.sw.js.1523.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />example) param(*) of name(\"filter\")",
  "rule.sast.sw.js.1523.option.taint_filter.name": "External information filter",
  "rule.sast.sw.js.1523.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.js.1523.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.js.1523.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example) operand(*) of name(\"+\") to return",
  "rule.sast.sw.js.1523.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.js.1523.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />example) param(1) of name(\"query\")",
  "rule.sast.sw.js.1523.option.taint_sink.name": "External information sink",
  "rule.sast.sw.js.1523.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of fqn(\"document.URL\")",
  "rule.sast.sw.js.1523.option.taint_source.name": "External information source",
  "rule.sast.sw.js.1558.description": "The Use of external data for file creation checker finds instances of creating a file using an unvalidated external input.\nIf an unvalidated external input is used in file creation, the system can be overloaded by only a small amount of requests.\nExternal inputs that affect the number or size of files to be created must be properly validated before passed.",
  "rule.sast.sw.js.1558.example.0.dangerous": "Line 3: An unvalidated external input is used for a file size.",
  "rule.sast.sw.js.1558.example.0.safe": "Line 3: Use a filter to check that an argument of file is secure.",
  "rule.sast.sw.js.1558.name": "Use of external data for file creation",
  "rule.sast.sw.js.1558.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) param(*) of name(\"filter\")",
  "rule.sast.sw.js.1558.option.taint_filter.name": "External information filter",
  "rule.sast.sw.js.1558.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.js.1558.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.js.1558.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\"+\") to return",
  "rule.sast.sw.js.1558.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.js.1558.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(2) of name(\"requestFileSystemSync\")",
  "rule.sast.sw.js.1558.option.taint_sink.name": "External information sink",
  "rule.sast.sw.js.1558.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of fqn(\"document.URL\")",
  "rule.sast.sw.js.1558.option.taint_source.name": "External information source",
  "rule.sast.sw.js.1701.description": "The Predictable database name checker finds predictable database names.\nAn easily predictable database name may allow an attacker to bypass the application and directly access the database.\nName databases with sufficiently complicated names.",
  "rule.sast.sw.js.1701.example.0.dangerous": "Line 1: A predictable name database is used.",
  "rule.sast.sw.js.1701.example.0.safe": "Line 1: Change database into an unpredictable name.",
  "rule.sast.sw.js.1701.name": "Predictable database name",
  "rule.sast.sw.js.1701.option.forbidden_name.description": "Write a name of the database to be forbidden.<br />example) mydb",
  "rule.sast.sw.js.1701.option.forbidden_name.name": "Name of database to be forbidden",
  "rule.sast.sw.js.1706.description": "The Hardcoded password checker finds instances of passing a string constant to the password parameter of XMLHttpRequest.open.\nThe checker searches for a string constant passed to the password parameter of XMLHttpRequest.open. Passwords are recommended to be encrypted and stored in a separate file.\nIn some cases, encryption keys can be cracked by reversing hash functions or using brute-force attacks.\nDo not hardcode passwords.",
  "rule.sast.sw.js.1706.example.0.dangerous": "Line 2: A hardcoded password is used to execute XMLHttpRequest.open.",
  "rule.sast.sw.js.1706.example.0.safe": "Line 3: Do not hardcode the password, get it from outside.",
  "rule.sast.sw.js.1706.name": "Hardcoded password",
  "rule.sast.sw.js.1707.description": "The Empty password checker finds code that uses an empty value for password.\nThe checker regards empty passwords insecure. Passwords are recommended to be non-empty strings, encrypted and stored in a separate file.\nDo not use empty passwords.",
  "rule.sast.sw.js.1707.example.0.dangerous": "Line 2: An empty password is used to execute XMLHttpRequest.open().",
  "rule.sast.sw.js.1707.example.0.safe": "Line 2: Do not use the empty password, get it from outside.",
  "rule.sast.sw.js.1707.name": "Empty password",
  "rule.sast.sw.js.1708.description": "The Broken access control on databases checker finds SQL statements that use an unvalidated external input as a key.\nIf an SQL statement is executed using an external input as a key without checking its permission, unintended data can be exposed or stored. Even if meta-characters are filtered out using preparedStatement, failure to check for permissions may allow an attacker to store or view information using a malicious key value.\nCheck your permissions for id.",
  "rule.sast.sw.js.1708.example.0.dangerous": "Line 4: An external input id is used as an argument of an SQL statement without a permission.preparedStatement has been used to prevent its structure from being manipulating, but still other vulnerabilities remain.",
  "rule.sast.sw.js.1708.example.0.safe": "Line 3: Use a function to check permissions of the external input such as ID.",
  "rule.sast.sw.js.1708.name": "Broken access control on databases",
  "rule.sast.sw.js.1708.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) return of fqn(\"encodeURIComponent\")",
  "rule.sast.sw.js.1708.option.taint_filter.name": "External information filter",
  "rule.sast.sw.js.1708.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.js.1708.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.js.1708.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\"+\") to return",
  "rule.sast.sw.js.1708.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.js.1708.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(2) of name(\"executeSql\")",
  "rule.sast.sw.js.1708.option.taint_sink.name": "External information sink",
  "rule.sast.sw.js.1708.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of fqn(\"document.URL\")",
  "rule.sast.sw.js.1708.option.taint_source.name": "External information source",
  "rule.sast.sw.js.1785.description": "The Command injection checker finds instances in which an internal system command is executed by an unvalidated external input.\nIf a user input that has not been properly validated constitutes the whole or part of an OS command to execute it in an unintended way, this may cause improper permission changes or harmful effects on the system's processes or operations.\nIf a command needs to be generated or selected based on an external input, whitelist safe values for command generation and restrict values determined by external inputs to those selected from within the whitelist.",
  "rule.sast.sw.js.1785.example.0.dangerous": "Line 7: An insecure value is used to exec() function to execute system commands.",
  "rule.sast.sw.js.1785.example.0.safe": "Line 7: Make sure to use secure values only through a filter function for functions to execute the commands.",
  "rule.sast.sw.js.1785.name": "Command injection",
  "rule.sast.sw.js.1785.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) param(*) of name(\"filter\")",
  "rule.sast.sw.js.1785.option.taint_filter.name": "External information filter",
  "rule.sast.sw.js.1785.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.js.1785.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.js.1785.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\"+\") to return",
  "rule.sast.sw.js.1785.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.js.1785.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(1) of fqn(\"__sparrow_required__child_process.exec\")",
  "rule.sast.sw.js.1785.option.taint_sink.name": "External information sink",
  "rule.sast.sw.js.1785.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of fqn(\"__sparrow_node_js_request__.url\")",
  "rule.sast.sw.js.1785.option.taint_source.name": "External information source",
  "rule.sast.sw.js.1786.description": "The Direct dynamic code evaluation checker finds instances of using unvalidated external inputs in dynamic evaluation code.\nStrings passed to the eval() function during program execution are considered part of code to be executed.\nIf an unvalidated external input is allowed in dynamically executable code, attackers can execute an arbitrary action to achieve their aim.\nCheck if the dynamic evaluation is necessary in the program design; if possible, replace it with a static code that behaves identically. Most ordinary program actions can be implemented without dynamic evaluation; in many cases, programmers use dynamic code simply in order to avoid some bothersome coding. If the use of dynamic code with untrusted external inputs is inevitable, have those inputs filtered, or restrict argument values determined by external inputs to those selected from within a preconfigured array of appropriate values.",
  "rule.sast.sw.js.1786.example.0.dangerous": "Line 6: An insecure value is used to an eval function to execute dynamic code.",
  "rule.sast.sw.js.1786.example.0.safe": "Line 5: Make sure to use secure values only through a filter function.",
  "rule.sast.sw.js.1786.name": "Direct dynamic code evaluation",
  "rule.sast.sw.js.1786.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) param(*) of name(\"filter\")",
  "rule.sast.sw.js.1786.option.taint_filter.name": "External information filter",
  "rule.sast.sw.js.1786.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.js.1786.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.js.1786.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\"+\") to return",
  "rule.sast.sw.js.1786.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.js.1786.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(1) of fqn(\"eval\")",
  "rule.sast.sw.js.1786.option.taint_sink.name": "External information sink",
  "rule.sast.sw.js.1786.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of fqn(\"document.URL\")",
  "rule.sast.sw.js.1786.option.taint_source.name": "External information source",
  "rule.sast.sw.js.1787.description": "The Assignment to innerHTML checker finds instances of assigning a value to the innerHTML property.\nAssignment to innerHTML may be exploited to inject a malicious script.\nDo not assign a value to innerHTML.",
  "rule.sast.sw.js.1787.example.0.dangerous": "Line 3: A value is assigned to innerHTML of an element.",
  "rule.sast.sw.js.1787.example.0.safe": "Line 3: Do not assign a value to innerHTML.\nIt is recommended to use textContent instead of innerHTML to assign text value.",
  "rule.sast.sw.js.1787.name": "Assignment to innerHTML",
  "rule.sast.sw.js.1806.description": "The Redirection to untrusted site checker finds instances of redirecting to a URL generated with an unvalidated external input.\nAlthough connecting to a client-provided URL is often believed to be safe, an attacker can modify the request and redirect the user to a malicious site.\nMaintain a whitelist of external site URLs and domains allowed for redirection, which needs to be checked when a user input is passed as a redirect URL.",
  "rule.sast.sw.js.1806.example.0.dangerous": "Line 7: A string variable URL of an unvalidated external input is used to connect.",
  "rule.sast.sw.js.1806.example.0.safe": "Line 7-9: Validate external inputs through a filter function.",
  "rule.sast.sw.js.1806.name": "Redirection to untrusted site",
  "rule.sast.sw.js.1806.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />example) param(*) of name(\"filter\")",
  "rule.sast.sw.js.1806.option.taint_filter.name": "External information filter",
  "rule.sast.sw.js.1806.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.js.1806.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.js.1806.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example)  operand(*) of name(\"+\") to return",
  "rule.sast.sw.js.1806.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.js.1806.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />example) param(1) of fqn(\"window.open\")",
  "rule.sast.sw.js.1806.option.taint_sink.name": "External information sink",
  "rule.sast.sw.js.1806.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of fqn(\"document.URL\")",
  "rule.sast.sw.js.1806.option.taint_source.name": "External information source",
  "rule.sast.sw.js.1873.description": "The XHR Injection checker finds instances of using an unvalidated external input in an XMLHttpRequest object for AJAX.\nIf an unvalidated external input is allowed in creating an XMLHttpRequest object, attackers can inject a crafted address pointing to a dangerous server. You can optionally specify functions that perform the respective roles of receiving, using, warning of, and filtering external inputs.\nExternal inputs for XHR object creation must be validated before used.",
  "rule.sast.sw.js.1873.example.0.dangerous": "Line 4: An unvalidated external input danger is used to generate object XHR.",
  "rule.sast.sw.js.1873.example.0.safe": "Line 4: Validate external inputs through a filter function.",
  "rule.sast.sw.js.1873.name": "XHR Injection",
  "rule.sast.sw.js.1873.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) param(*) of name(\"filter\")",
  "rule.sast.sw.js.1873.option.taint_filter.name": "External information filter",
  "rule.sast.sw.js.1873.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.js.1873.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.js.1873.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\"+\") to return",
  "rule.sast.sw.js.1873.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.js.1873.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(2) of fqn(\"XMLHttpRequest.open\")",
  "rule.sast.sw.js.1873.option.taint_sink.name": "External information sink",
  "rule.sast.sw.js.1873.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of fqn(\"document.URL\")",
  "rule.sast.sw.js.1873.option.taint_source.name": "External information source",
  "rule.sast.sw.js.1874.description": "The Use of localStorage checker finds instances of using localStorage.\nUnless the data must persist, sessionStorage is recommended over localStorage.\nUnlike SessionStorage, a LocalStorage object keeps the data in it even after the page is closed. This may allow an external application to access or manipulate the data in the LocalStorage object.\nUse SessionStorage instead.",
  "rule.sast.sw.js.1874.example.0.dangerous": "Line 1: localStorage is used.",
  "rule.sast.sw.js.1874.example.0.safe": "Line 1: Use SessionStorage instead.",
  "rule.sast.sw.js.1874.name": "Use of localStorage",
  "rule.sast.sw.js.1875.description": "The Log injection checker finds instances of printing out unvalidated user inputs in a log.\nIf unvalidated user inputs are printed out in a log, an attacker can insert arbitrary content in the log to confuse security personnel who consult the log. If a manipulated log successfully leads to making an inappropriate decision, the attacker can exploit the consequences.\nHave external inputs validated before they are logged. It is particularly recommended to delete newline characters.",
  "rule.sast.sw.js.1875.example.0.dangerous": "Line 3: An unvalidated external input is printed out to a log.",
  "rule.sast.sw.js.1875.example.0.safe": "Line 3: Filter out the external input.",
  "rule.sast.sw.js.1875.name": "Log injection",
  "rule.sast.sw.js.1875.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) param(*) of name(\"filter\")",
  "rule.sast.sw.js.1875.option.taint_filter.name": "External information filter",
  "rule.sast.sw.js.1875.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.js.1875.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.js.1875.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\"+\") to return",
  "rule.sast.sw.js.1875.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.js.1875.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(1) of fqn(\"console.dir\")",
  "rule.sast.sw.js.1875.option.taint_sink.name": "External information sink",
  "rule.sast.sw.js.1875.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of fqn(\"__sparrow_node_js_request__.url\")",
  "rule.sast.sw.js.1875.option.taint_source.name": "External information source",
  "rule.sast.sw.js.1876.description": "The Cross-site scripting checker finds instances in which unvalidated data is sent to a web browser.\nlocalStorage can be manipulated by other applications. Therefore, if unvalidated data of localStorage is allowed for page generation, attackers can inject malicious scripts into pages.\nThis vulnerability lets attackers take over a user's cookie, session, or other information or execute an abnormal function. You can optionally specify functions that perform the respective roles of receiving, using, warning of, and filtering external inputs.\nMake sure that data is filtered if needed.",
  "rule.sast.sw.js.1876.example.0.dangerous": "Line 2: Unvalidated data is sent to a web browser.",
  "rule.sast.sw.js.1876.example.0.safe": "Line 2: Filter the data, and then, send it to the browser.",
  "rule.sast.sw.js.1876.name": "Cross-site scripting",
  "rule.sast.sw.js.1876.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) return of name(\"encodeURIComponent\")",
  "rule.sast.sw.js.1876.option.taint_filter.name": "External information filter",
  "rule.sast.sw.js.1876.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.js.1876.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.js.1876.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\"+\") to return",
  "rule.sast.sw.js.1876.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.js.1876.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(*) of fqn(\"eval\")",
  "rule.sast.sw.js.1876.option.taint_sink.name": "External information sink",
  "rule.sast.sw.js.1876.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of fqn(\"localStorage.getItem\")",
  "rule.sast.sw.js.1876.option.taint_source.name": "External information source",
  "rule.sast.sw.js.1953.description": "The Insecure MiUpdater checker finds instances of using an insecure version of MiUpdater.\nIt is dangerous to use an insecure version of MiUpdater. In old versions with known vulnerabilities, MiUpdater can be used to maliciously download and run files from another server or to execute another program using a shortcut icon.\nUse the latest MiUpdater version.",
  "rule.sast.sw.js.1953.example.0.dangerous": "Line 4: A insecure Miupdater version 321 is used.",
  "rule.sast.sw.js.1953.example.0.safe": "Line 4: Use a secure MiUpdater version 322 or its Updater.",
  "rule.sast.sw.js.1953.name": "Insecure MiUpdater",
  "rule.sast.sw.js.1953.option.forbidden_miupdater.description": "Write a version of the Miupdater to be forbidden.<br />example) Miupdater320",
  "rule.sast.sw.js.1953.option.forbidden_miupdater.name": "Version of Miupdater to be forbidden",
  "rule.sast.sw.js.1954.description": "The Leftover debug code checker finds debug code that remains not removed. \nDebug code may contain parts that output sensitive information or allow control over the system. If the program is deployed with debug code remaining, attackers may bypass an authentication process or access restricted information.\nRemove all debug code before deploying the application.",
  "rule.sast.sw.js.1954.example.0.dangerous": "Line 3: A debug code is remaining.",
  "rule.sast.sw.js.1954.example.0.safe": "Line 3: Remove the code used for debugging.",
  "rule.sast.sw.js.1954.name": "Leftover debug code",
  "rule.sast.sw.js.1954.option.target_function.description": "Write a name of the debug function.<br />Example) trace",
  "rule.sast.sw.js.1954.option.target_function.name": "Debug method",
  "rule.sast.sw.js.1955.description": "The Transaction by GET checker finds transfers by the GET method.\nwhich shows the URL and sent parameters in the browser and thus may possibly be manipulated by an attacker. It is recommended, therefore, to use the safer POST method.\nMake transfers via the POST method.",
  "rule.sast.sw.js.1955.example.0.dangerous": "Line 2: Data is sent by GET method. This is vulnerable to CSRF attacks.",
  "rule.sast.sw.js.1955.example.0.safe": "Line 3: Send the data by POST method.",
  "rule.sast.sw.js.1955.name": "Transaction by GET",
  "rule.sast.sw.js.1956.description": "The Transaction Injection checker finds instances of using an unvalidated external input in a transactional function.\nYou can optionally specify functions that perform the respective roles of receiving, using, warning of, and filtering external inputs.\nUse of an unvalidated external input in a transactional function can result in crafted data fed in for an unintended action.\nVerify or parameterize the external input before calling the transactional function.",
  "rule.sast.sw.js.1956.example.0.dangerous": "Line 4: An unvalidated external input sid is used for transaction.",
  "rule.sast.sw.js.1956.example.0.safe": "Line 3: Use a function to verify external values.",
  "rule.sast.sw.js.1956.name": "Transaction Injection",
  "rule.sast.sw.js.1956.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) param(*) of name(\"filter\")",
  "rule.sast.sw.js.1956.option.taint_filter.name": "External information filter",
  "rule.sast.sw.js.1956.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.js.1956.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.js.1956.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\"+\") to return",
  "rule.sast.sw.js.1956.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.js.1956.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(2,3,4,5,6) of fqn(\"Transaction\")",
  "rule.sast.sw.js.1956.option.taint_sink.name": "External information sink",
  "rule.sast.sw.js.1956.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of fqn(reg(\"@miplatform_edit.*\"))",
  "rule.sast.sw.js.1956.option.taint_source.name": "External information source",
  "rule.sast.sw.js.1957.description": "The Transaction using cleartext checker finds calls to transactional functions that transfer sensitive information in plaintext.\nA transfer of sensitive information in plaintext via a transactional function is dangerous. This can be sniffed by a malicious attacker to gain access to internal information.\nDo not transfer such information in plaintext but in obfuscate and encrypt form. During development, plaintext transfers are often preferred for convenient debugging; however, once the application is deployed into production, compressed transfers are recommended.",
  "rule.sast.sw.js.1957.example.0.dangerous": "Line 1: The 9th parameter is set to false, which sends a transaction in plain text.\nLine 3: The 9th parameter is not written, which sends a transaction in plain text, a default value.",
  "rule.sast.sw.js.1957.example.0.safe": "Line 3: Compress data with the 9th parameter true before using.",
  "rule.sast.sw.js.1957.name": "Transaction using cleartext",
  "rule.sast.sw.js.1966.description": "The Dataset of sensitive information checker finds instances of storing sensitive information in a dataset.\nInformation in datasets (resident in memory) is not easily exposed, but can possibly be obtained using a third-party tool. If possible, avoid actions that keep sensitive data such as passwords in memory even if it is not exposed in code.\nDo not store the sensitive data in the dataset.",
  "rule.sast.sw.js.1966.example.0.dangerous": "Line 1: Sensitive data such as password is stored in a dataset.",
  "rule.sast.sw.js.1966.example.0.safe": "Line 1: Do not store the sensitive data such as password in the dataset.",
  "rule.sast.sw.js.1966.name": "Dataset of sensitive information",
  "rule.sast.sw.js.1966.option.sensitive_pattern.description": "Dangerous column name",
  "rule.sast.sw.js.1966.option.sensitive_pattern.name": "Dangerous column name",
  "rule.sast.sw.js.1967.description": "The Cleartext storage of sensitive information checker finds instances in which unencrypted sensitive information is stored in plaintext.\nIf you run a MiPlatform or XPLATFORM page on a browser or in embeded form, user information such as ID or password passed as a global variable can be leaked through HTML source view.\nIf sensitive information is not encrypted when stored in plaintext, data may be exposed to or sniffed by unauthorized agents.\nEnsure to encrypt the sensitive information while storing it to an external environment file. Additionally, consider separating the sensitive information and normal data in the software designing phase.",
  "rule.sast.sw.js.1967.example.0.dangerous": "Line 1-2: Sensitive information is stored in a global variable.",
  "rule.sast.sw.js.1967.example.0.safe": "Line 1-2: Do not use the global variable to store the sensitive information. A session variable or solution can be an option.",
  "rule.sast.sw.js.1967.name": "Cleartext storage of sensitive information",
  "rule.sast.sw.js.1967.option.sensitive_pattern.description": "write sensitive information pattern",
  "rule.sast.sw.js.1967.option.sensitive_pattern.name": "information pattern",
  "rule.sast.sw.js.1967.option.target_variable.description": "Enter variables to restrict sensitive information.",
  "rule.sast.sw.js.1967.option.target_variable.name": "Variable Name",
  "rule.sast.sw.js.1968.description": "The Registry Leak checker finds instances of failure to initialize a registry variable after its use.\nAn uninitialized registry variable may unnecessarily occupy memory. Once a registry variable is used, initialize it to an empty value to prevent useless memory allocation.\nThis issue may affect the program performance or potentially lead to causing an error.\nMake sure registry variables are initialized once used.",
  "rule.sast.sw.js.1968.example.0.dangerous": "Line 3: A registry GlobalVal is not initialized.",
  "rule.sast.sw.js.1968.example.0.safe": "Line 5: Remove the unnecessary memory by initializing the registry GlobalVal after using.",
  "rule.sast.sw.js.1968.name": "Registry Leak",
  "rule.sast.sw.js.1969.description": "The Redirection to untrusted site through dialog checker finds instances of redirecting to a URL generated with an unvalidated external input.\nThe checker searches for an external input passed to a dialog function.\nAlthough connecting to a client-provided URL is often believed to be safe, an attacker can modify the request and redirect the user to a malicious site.\nMaintain a whitelist of external site URLs and domains allowed for redirection, which needs to be checked when a user input is passed as a redirect URL.",
  "rule.sast.sw.js.1969.example.0.dangerous": "Line 2: A browser is attempted to be connect to an untrusted site.",
  "rule.sast.sw.js.1969.example.0.safe": "Line 2: Validate external inputs through a filter function.",
  "rule.sast.sw.js.1969.name": "Redirection to untrusted site through dialog",
  "rule.sast.sw.js.1969.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) param(*) of name(\"filter\")",
  "rule.sast.sw.js.1969.option.taint_filter.name": "External information filter",
  "rule.sast.sw.js.1969.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.js.1969.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.js.1969.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\"+\") to return",
  "rule.sast.sw.js.1969.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.js.1969.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(*) of fqn(\"ExecBrowser\")",
  "rule.sast.sw.js.1969.option.taint_sink.name": "External information sink",
  "rule.sast.sw.js.1969.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of fqn(reg(\"@miplatform_edit.*\"))",
  "rule.sast.sw.js.1969.option.taint_source.name": "External information source",
  "rule.sast.sw.js.1970.description": "The Command injection checker finds instances in which an internal system command is executed by an unvalidated external input.\nIf a user input that has not been properly validated constitutes the whole or part of an OS command to execute it in an unintended way, this may cause improper permission changes or harmful effects on the system's processes or operations.\nIf a command needs to be generated or selected based on an external input, whitelist safe values for command generation and restrict values determined by external inputs to those selected from within the whitelist.",
  "rule.sast.sw.js.1970.example.0.dangerous": "Line 3: Unvalidated data is used to execute commands.",
  "rule.sast.sw.js.1970.example.0.safe": "Line 4: Use secure values only for functions to execute the commands.",
  "rule.sast.sw.js.1970.name": "TOBESOFT Platform OS Command Injection",
  "rule.sast.sw.js.1970.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) param(*) of name(\"filter\")",
  "rule.sast.sw.js.1970.option.taint_filter.name": "External information filter",
  "rule.sast.sw.js.1970.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.js.1970.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.js.1970.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\"+\") to return",
  "rule.sast.sw.js.1970.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.js.1970.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(*) of fqn(\"execProcess\")",
  "rule.sast.sw.js.1970.option.taint_sink.name": "External information sink",
  "rule.sast.sw.js.1970.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of fqn(reg(\"@miplatform_edit.*\"))",
  "rule.sast.sw.js.1970.option.taint_source.name": "External information source",
  "rule.sast.sw.js.1971.description": "The Too long string for quicktabstextfont attribute checker finds instances of assigning an extremely long string to the QuickTabsTextFont property.\nToo long a string assigned to QuickTabsTextFont may cause a buffer overflow affecting the execution flow.\nThis issue may affect the program performance or potentially lead to causing an error.\nLimit the string length to 32 characters.",
  "rule.sast.sw.js.1971.example.0.dangerous": "Line 1: A string is too long.",
  "rule.sast.sw.js.1971.example.0.safe": "Line 1: Assign a string within 32 characters.",
  "rule.sast.sw.js.1971.name": "Too long string for quicktabstextfont attribute",
  "rule.sast.sw.js.1998.description": "The Broken access control on Azure checker finds Azure queries that pass unvalidated external inputs.\nIf unvalidated external inputs are allowed in Azure queries, they can be exploited by unauthorized attackers to view, modify, or delete restricted data.\nMake sure that Azure functions are called only with validated or parameterized inputs passed in.",
  "rule.sast.sw.js.1998.example.0.dangerous": "Line 7: Data is controlled by an unvalidated input.",
  "rule.sast.sw.js.1998.example.0.safe": "Line 6: Verify the external input, then use it.",
  "rule.sast.sw.js.1998.name": "Broken access control on Azure",
  "rule.sast.sw.js.1998.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) param(*) of name(\"filter\")",
  "rule.sast.sw.js.1998.option.taint_filter.name": "External information filter",
  "rule.sast.sw.js.1998.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.js.1998.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.js.1998.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\"+\") to return",
  "rule.sast.sw.js.1998.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.js.1998.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />example) param(*) of fqn(reg(\".*createQueueService\\(\\)\\.deleteQueue\"))",
  "rule.sast.sw.js.1998.option.taint_sink.name": "External information sink",
  "rule.sast.sw.js.1998.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of fqn(\"__sparrow_node_js_request__.url\")",
  "rule.sast.sw.js.1998.option.taint_source.name": "External information source",
  "rule.sast.sw.js.1999.description": "The HTTP Response Splitting checker finds HTTP responses created with an unvalidated external input.\nWhen arguments passed in an HTTP request are sent back through an HTTP response header, newline characters such as CRs (carriage returns) and LFs (line feeds) contained in the inputs can split the HTTP response into two or more. By exploiting this, attackers can use a newline to stop the first response and inject a malicious code into the second one for an XSS or cache poisoning attack.\nIf you need to include request parameters in an HTTP response header such as Set-Cookie, make sure all CRs and LFs are filtered out.",
  "rule.sast.sw.js.1999.example.0.dangerous": "Line 2: An unvalidated external input is used.",
  "rule.sast.sw.js.1999.example.0.safe": "Line 2: Make sure to validate the external inputs through a function.",
  "rule.sast.sw.js.1999.name": "HTTP Response Splitting",
  "rule.sast.sw.js.1999.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) return of fqn(\"encodeURIComponent\")",
  "rule.sast.sw.js.1999.option.taint_filter.name": "External information filter",
  "rule.sast.sw.js.1999.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.js.1999.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.js.1999.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\"+\") to return",
  "rule.sast.sw.js.1999.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.js.1999.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />example) operand(2) of name(\"=\") if operand(1) == fqn(reg(\".*document\\.cookie\"))",
  "rule.sast.sw.js.1999.option.taint_sink.name": "External information sink",
  "rule.sast.sw.js.1999.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of fqn(\"document.URL\")",
  "rule.sast.sw.js.1999.option.taint_source.name": "External information source",
  "rule.sast.sw.js.2000.description": "The Sensitive Information Exposal checker finds instances of storing sensitive information in an easily exposable storage.\nSensitive information stored in an easily exposable storage can be easily accessed by attackers.\nSensitive information, including passwords, must not be stored in a public storage such as a localStorage object.",
  "rule.sast.sw.js.2000.example.0.dangerous": "Line 1: A password in plain texts is stored to localStorage",
  "rule.sast.sw.js.2000.example.0.safe": "Line 1: Do not store the password to localStorage.",
  "rule.sast.sw.js.2000.name": "Sensitive Information Exposal",
  "rule.sast.sw.js.2000.option.forbidden_item.description": "Write name not to be saved",
  "rule.sast.sw.js.2000.option.forbidden_item.name": "Name not to be saved",
  "rule.sast.sw.js.2001.description": "The JSON Injection checker finds instances of storing an unvalidated external input in JSON data creation.\nJSON data creation with an unvalidated external input may allow an attacker to inject an arbitrary element or property into the JSON entity to achieve a malicious goal.\nExternal inputs must be validated before being used in JSON data creation. Particularly, special characters used for JSON (`, {, }, [, ], etc.) must be filtered out.",
  "rule.sast.sw.js.2001.example.0.dangerous": "Line 10: An unvalidated input is used to parse JSON.",
  "rule.sast.sw.js.2001.example.0.safe": "Line 5: Use secure values through a function to validate.",
  "rule.sast.sw.js.2001.name": "JSON injection",
  "rule.sast.sw.js.2001.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) param(*) of name(\"filter\")",
  "rule.sast.sw.js.2001.option.taint_filter.name": "External information filter",
  "rule.sast.sw.js.2001.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.js.2001.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.js.2001.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\"+\") to return",
  "rule.sast.sw.js.2001.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.js.2001.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(*) of fqn(\"jQuery.parseJSON\")",
  "rule.sast.sw.js.2001.option.taint_sink.name": "External information sink",
  "rule.sast.sw.js.2001.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of fqn(\"document.URL\")",
  "rule.sast.sw.js.2001.option.taint_source.name": "External information source",
  "rule.sast.sw.js.2002.description": "The Use of Forbidden Logger checker finds instances of using a forbidden method for logging.\nStandard output (stdout) is not a desirable logging approach.\nLogging on the console results in a long accumulated log; finding the cause of a trouble on it is not efficient, nor is access to it easily controllable.\nUse a dedicated logging library instead.",
  "rule.sast.sw.js.2002.example.0.dangerous": "Line 4: System logs are logged by printing out to stdout instead of a structured private logger.",
  "rule.sast.sw.js.2002.example.0.safe": "Line 4: Use a private logger instead of the logger printing out to stdout.",
  "rule.sast.sw.js.2002.name": "Use of Forbidden Logger",
  "rule.sast.sw.js.2245.description": "The TOBESOFT Platform Log Manipulation checker finds instances of printing out unvalidated user inputs in a platform log.\nIf unvalidated user inputs are printed out in a log, an attacker can insert arbitrary content in the log to confuse security personnel who consult the log. If a manipulated log successfully leads to making an inappropriate decision, the attacker can exploit the consequences.\nHave external inputs validated before they are logged. It is particularly recommended to delete newline characters.",
  "rule.sast.sw.js.2245.example.0.dangerous": "Line 3: An unvalidated value is directly used for logging.",
  "rule.sast.sw.js.2245.example.0.safe": "Line 3: Make sure to use secure logs only through a filter function.",
  "rule.sast.sw.js.2245.name": "TOBESOFT Platform Log Manipulation",
  "rule.sast.sw.js.2245.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) param(*) of name(\"filter\")",
  "rule.sast.sw.js.2245.option.taint_filter.name": "External information filter",
  "rule.sast.sw.js.2245.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.js.2245.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.js.2245.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\"+\") to return",
  "rule.sast.sw.js.2245.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.js.2245.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(*) of fqn(\"trace\")",
  "rule.sast.sw.js.2245.option.taint_sink.name": "External information sink",
  "rule.sast.sw.js.2245.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of fqn(reg(\"@miplatform_edit.*\"))",
  "rule.sast.sw.js.2245.option.taint_source.name": "External information source",
  "rule.sast.sw.js.2246.description": "The TOBESOFT Platform Path Manipulation checker finds instances of using an unvalidated external input in creating a path to access the file system.\nIf unvalidated external inputs are allowed to be used for access to files, servers, or other system resources, attackers can manipulate inputs to access an unintended path in the program. In other words, path manipulation can be used to obtain illegitimate access to modify or execute settings files.\nIf external inputs are used as identifiers for resources (such as files), make sure they pass appropriate validation. Especially, if external inputs are filenames, use a filter to remove characters such as `, /, \\, and ..  that can be exploited for a directory traversal attack.",
  "rule.sast.sw.js.2246.example.0.dangerous": "Line 4: An external input is directly used.",
  "rule.sast.sw.js.2246.example.0.safe": "Line 4: Reduce risks by using a filter function.",
  "rule.sast.sw.js.2246.name": "TOBESOFT Platform Path Traversal",
  "rule.sast.sw.js.2246.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) param(*) of name(\"filter\")",
  "rule.sast.sw.js.2246.option.taint_filter.name": "External information filter",
  "rule.sast.sw.js.2246.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.js.2246.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.js.2246.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\"+\") to return",
  "rule.sast.sw.js.2246.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.js.2246.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(*) of fqn(\"trace\")",
  "rule.sast.sw.js.2246.option.taint_sink.name": "External information sink",
  "rule.sast.sw.js.2246.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of fqn(reg(\"@miplatform_edit.*\"))",
  "rule.sast.sw.js.2246.option.taint_source.name": "External information source",
  "rule.sast.sw.js.2247.description": "The System Information Exposure finds instances of displaying system information through error messages or by other means.\nIf error messages openly displayed by the application contain sensitive information regarding execution environments or user data, attackers can exploit the information for malicious actions. Showing exception names or stack traces can help attackers identify the program's internal structure.\nMake sure error messages are shown only to relevant users and contain minimum necessary information. Have exceptions internally handled in source code and do not allow them to trigger an error message containing sensitive information.",
  "rule.sast.sw.js.2247.example.0.dangerous": "Line 3: IP information is written to a log through trace function.",
  "rule.sast.sw.js.2247.example.0.safe": "Line 3: Remove the information. Do not write sensitive information to a log.",
  "rule.sast.sw.js.2247.name": "Exposure of system information",
  "rule.sast.sw.js.2247.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) param(*) of name(\"filter\")",
  "rule.sast.sw.js.2247.option.taint_filter.name": "External information filter",
  "rule.sast.sw.js.2247.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.js.2247.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.js.2247.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\"+\") to return",
  "rule.sast.sw.js.2247.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.js.2247.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(*) of fqn(\"trace\")",
  "rule.sast.sw.js.2247.option.taint_sink.name": "External information sink",
  "rule.sast.sw.js.2247.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of fqn(\"new@ExtCommon.getAppPath\")",
  "rule.sast.sw.js.2247.option.taint_source.name": "External information source",
  "rule.sast.sw.js.2959.description": "The Dynamic code manipulation checker finds code that uses $where operator in a call to db.collection.find() function.\nExternal inputs used in dynamic applications must be verified. Unless, attackers can execute arbitrary code, access sensitive information, and modify it. This may leads to unintended action or malfunction. To control system access, you can generate a whitelist of accessible values, or cast the inputs into secure types.\nVoid using the $where operator while calling db.collection.find function.",
  "rule.sast.sw.js.2959.example.0.dangerous": "Line 3: In MongoDB, $where operator is used for a call to db.collection.find function to execute a JavaScript expression.",
  "rule.sast.sw.js.2959.example.0.safe": "Line 3: If needed, use $expr operator instead of the $where operator in the call to db.collection.find function.",
  "rule.sast.sw.js.2959.name": "Dynamic code manipulation",
  "rule.sast.sw.js.2959.option.forbidden_operator.description": "Write the forbidden operator",
  "rule.sast.sw.js.2959.option.forbidden_operator.name": "Forbidden Operator",
  "rule.sast.sw.js.2961.description": "The Server-side Request Forgery checker finds accesses to an unvalidated URL that contains an external input.\nIf a service operating on an open web server is allowed to access an unvalidated URL that contains an external input, it will attempt access to any URL even though the URL links to the internal server. The internal server then will send back a normal response because the received request is from a web server in the same internal network. If such a vulnerability is known to an attacker, the weak web server can be exploited to send a request to the internal server which itself is not directly accessible to the attacker. This may lead to exposing sensitive information.\nWhen accessing a URL that contains an external input, make sure it passes appropriate validation.",
  "rule.sast.sw.js.2961.example.0.dangerous": "Line 5: An unvalidated external input, request.url, is used as an argument of parse function.",
  "rule.sast.sw.js.2961.example.0.safe": "Line 7: Validate urls before using it in the parse function.",
  "rule.sast.sw.js.2961.name": "Server-side Request Forgery",
  "rule.sast.sw.js.2961.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) operand(*) of \"==\"",
  "rule.sast.sw.js.2961.option.taint_filter.name": "External information filter",
  "rule.sast.sw.js.2961.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.js.2961.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.js.2961.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\"+\") to return",
  "rule.sast.sw.js.2961.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.js.2961.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(1) of fqn(\"__sparrow_required__url.parse\")",
  "rule.sast.sw.js.2961.option.taint_sink.name": "External information sink",
  "rule.sast.sw.js.2961.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of fqn(\"__sparrow_node_js_request__.url\")",
  "rule.sast.sw.js.2961.option.taint_source.name": "External information source",
  "rule.sast.sw.js.2962.description": "The Inappropriate Signature checker finds code that fails to check a signature from a file with the electronic signature.\nIf you do not check the electronic signature, attackers can use a forged file and make the program to access an unexpected URL or get tainted by malicious code. Also, if you do not use an encrypted signature to create JSON Web Token, the signature can be exploited and attackers can disguise themselves as you.\nWhen you use sign or verify function of jsonwebtoken, ensure not to change its algorithm to none.",
  "rule.sast.sw.js.2962.example.0.dangerous": "Line 3: none is specified for the algorithm of the third argument in sign function.\nLine 5: none is allowed for the algorithms of the third argument in verify function.",
  "rule.sast.sw.js.2962.example.0.safe": "Line 3: Set the algorithm of the third argument to HS256.\nLine 5: Remove none from the algorithms of the third argument.",
  "rule.sast.sw.js.2962.name": "Inappropriate Signature",
  "rule.sast.sw.js.2963.description": "The Weak Server Certificate checker finds code that specifies rejectUnauthorized option to false to authenticate a server.\nYou need to validate the X.509 certificate to generate an SSL/TLS session secure against the MITM (Man In The Middle) attacks.\nIf the certificate is not properly validated, you may connect to a malicious host or receive data generated by an untrusted host.\nSpecify rejectUnauthorized option to true to verify the certificate.",
  "rule.sast.sw.js.2963.example.0.dangerous": "Line 9: rejectUnauthorized option is set to false.\nLine 12: The rejectUnauthorized option is set to false, and used as an argument of https.request function.",
  "rule.sast.sw.js.2963.example.0.safe": "Line 11: Remove the rejectUnauthorized option or specify it to true.",
  "rule.sast.sw.js.2963.name": "Weak Server Certificate",
  "rule.sast.sw.js.2963.option.check_function_params.description": "Write the name of the function to be checked and the location of the parameter.",
  "rule.sast.sw.js.2963.option.check_function_params.name": "Function and parameters",
  "rule.sast.sw.js.2964.description": "The Deserialization of Untrusted Data checker finds code that uses an insecure deserialization method.\nYou can serialize objects for storing or transmitting, and deserialize them when you need. However, if you deserialize untrusted data without separate protection, it can run malicious code by adding a tainted object or variable.\nIf needed, use safeLoad function instead of load function on js-yaml module 2.1.0 or later version.",
  "rule.sast.sw.js.2964.example.0.dangerous": "Line 5: An insecure load function of js-yaml module is used.",
  "rule.sast.sw.js.2964.example.0.safe": "Line 5: Replace the load function with safeLoad function of js-yaml module.",
  "rule.sast.sw.js.2964.name": "Deserialization of Untrusted Data",
  "rule.sast.sw.js.2964.option.forbidden_method.description": "Write the name of forbidden method",
  "rule.sast.sw.js.2964.option.forbidden_method.name": "Forbidden Method",
  "rule.sast.sw.js.3146.description": "Cross-site Request Forgery is the attack that induces a user to submit unintended requests such as changes, deletions, registrations, etc. to a website as intended by an attacker.\nExpress.js can apply CSRF tokens using a separate package such as csurf. Initially, csurf was considered to be safe but it has since deprecated in the official repository due to security vulnerabilities that cannot be addressed solely by the package and implementation limitations.\nWhile the package itself cannot provide comprehensive security measures, there are no alternative packages available to replace it. However, security can be hardened by applying additional options to the package.",
  "rule.sast.sw.js.3146.example.0.dangerous": "Line 4, 8:  This may be insecure because the rest API was used without security tokens.",
  "rule.sast.sw.js.3146.example.0.safe": "Line 4, 8: This is secure because the Anti-csrf token is used for the rest API.",
  "rule.sast.sw.js.3146.name": "Cross-site Request Forgery",
  "rule.sast.sw.js.3152.description": "Using uncaughtException enables a developer to handle errors that could not be addressed by a developer beforehand. However, the official node document specifies that it should only be used as a last resort. This is because uncaughtException cannot guarantee a program will close after an error occurs. \nuncaughtException should be used for logging purposes. After logging the errors, the process needs to be terminated using process.exit();.\n",
  "rule.sast.sw.js.3152.example.0.dangerous": "Line 1: uncaughtException was used but the current status of the program is unknown because the process has not been terminated explicitly.",
  "rule.sast.sw.js.3152.example.0.safe": "Line 3: This is secure because the process is terminated after the errors are logged.",
  "rule.sast.sw.js.3152.name": "Use of uncaughtException",
  "rule.sast.sw.js.3159.description": "The Regular Expression Denial of Service (ReDoS) is a type of DoS attack that exploits the fact that many regular expressions perform very slowly under certain extreme circumstances. The vulnerable regular expressions can be exploited by an attacker to overwhelm an application or cause it to crash.\nNode.js allows you to safely use regular expressions by using a tool that checks the reliability of regular expressions, such as `safe-regex`.",
  "rule.sast.sw.js.3159.example.0.dangerous": "Line 1: This is insecure because vulnerable regular expression is used without validation.",
  "rule.sast.sw.js.3159.example.0.safe": "Line 3: This is secure because vulnerable regular expressions are checked through saferegex before use.",
  "rule.sast.sw.js.3159.name": "Regular expression Denial of Service",
  "rule.sast.sw.js.3161.description": "In ECMAScript 5.1, JavaScript introduced a strict mode. The strict mode operates differently from normal code by selecting a restricted version. Compatible with existing code, the strict mode makes the source code operate more safely by imposing restrictions on the source code, such as throwing previously ignored errors or prohibiting the use of insecure methods.\nNode.js enables you to employ the strict mode by declaring `'use strict';` or ``use strict`;` at the top of your source code excluding comments. The strict mode can be globally declared for use, or it can be applied on a per-function or per-module basis. However, declaring this mode globally is the safest approach because it helps prevent developers' mistakes.",
  "rule.sast.sw.js.3161.example.0.dangerous": "Line 1: Failure to declare the strict mode can result in unexpected errors or the use of insecure methods that were not intended by the developers.",
  "rule.sast.sw.js.3161.example.0.safe": "Line 1: The source code operates more securely because the strict mode is declared.",
  "rule.sast.sw.js.3161.name": "Strict Mode",
  "rule.sast.sw.js.3163.description": "When code does not validate data entered on a web program and the program integrates with the database, an attacker can inject SQL statements in an input form or URL field to view or manipulate information from the database. A vulnerable web application creates dynamic queries with user input. This can execute unintended queries and cause data leak.\nIn Node.js, using input values that do not use the Escaping query function of SQL modules, such as MySQL and PostgreSQL, for SQL queries creates dynamic queries without filtering and allows an attacker to inject a manipulated query to change the meaning. This vulnerability allows an attacker to view or manipulate information from the database.\nTo prevent SQL injection, you can invoke PreparedStatement method to fetch data compiled to the database, or filter out special characters. MySQL provides the escaping query with the npm module, which adds special characters to the queries and eventually prevents the SQL injection as PreparedStatement does. This validates user inputs from urls or login pages and executes queries.",
  "rule.sast.sw.js.3163.example.0.dangerous": "Line 7: This is insecure because a value received directly from an external source is used in the query.",
  "rule.sast.sw.js.3163.example.0.safe": "Line 7: This is secure because the external input is bound.",
  "rule.sast.sw.js.3163.name": "SQL Injection (mySQL)",
  "rule.sast.sw.js.3163.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />example) return of fqn(reg(\"__sparrow_required__mysql..*.escape\"))",
  "rule.sast.sw.js.3163.option.taint_filter.name": "External information filter",
  "rule.sast.sw.js.3163.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.js.3163.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.js.3163.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example) operand(*) of name(\"+\") to return",
  "rule.sast.sw.js.3163.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.js.3163.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(*) of fqn(reg(\"__sparrow_required__mysql..*.query\"))",
  "rule.sast.sw.js.3163.option.taint_sink.name": "External information sink",
  "rule.sast.sw.js.3163.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of name(reg(\"\\S+\\.body.*\"))",
  "rule.sast.sw.js.3163.option.taint_source.name": "External information source",
  "rule.sast.sw.js.3164.description": "When code does not validate data entered on a web program and the program integrates with the database, an attacker can inject SQL statements in an input form or URL field to view or manipulate information from the database. A vulnerable web application creates dynamic queries with user input. This can execute unintended queries and cause data leak.\nIn Node.js, using input values that do not use the Escaping query function of SQL modules, such as MySQL and PostgreSQL, for SQL queries creates dynamic queries without filtering and allows an attacker to inject a manipulated query to change the meaning. This vulnerability allows an attacker to view or manipulate information from the database.\nTo prevent SQL injection, you can invoke PreparedStatement method to fetch data compiled to the database, or filter out special characters. PostgreSQL provides the escaping query, which adds special characters to the queries and eventually prevents the SQL injection as PreparedStatement does. This validates user inputs from urls or login pages and executes queries.",
  "rule.sast.sw.js.3164.example.0.dangerous": "Line 3: This is insecure because the unvalidated user input is used in queries.",
  "rule.sast.sw.js.3164.example.0.safe": "Line 3: Execute the received value as constant with the compiled query statement using $1.",
  "rule.sast.sw.js.3164.name": "SQL Injection (PostgreSQL)",
  "rule.sast.sw.js.3164.option.taint_filter.description": "=Write a name and a type of the function which filters external information.<br />example) param(*) of name(\"escape\")",
  "rule.sast.sw.js.3164.option.taint_filter.name": "External information filter",
  "rule.sast.sw.js.3164.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.js.3164.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.js.3164.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example) operand(*) of name(\"+\") to return",
  "rule.sast.sw.js.3164.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.js.3164.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />example) param(1) of name(\"query\")",
  "rule.sast.sw.js.3164.option.taint_sink.name": "External information sink",
  "rule.sast.sw.js.3164.option.taint_source.description": "=Write a name and a type of the function which is a source of external information.<br />Example) retrun of name(\"req\")",
  "rule.sast.sw.js.3164.option.taint_source.name": "External information source",
  "rule.sast.sw.js.3165.description": "When code does not validate data entered on a web program and the program integrates with the database, an attacker can inject SQL statements in an input form or URL field to view or manipulate information from the database. A vulnerable web application creates dynamic queries with user input. This can execute unintended queries and cause data leak.\nBecause NoSQL has different characteristics from SQL, the attack vectors are similar but not the same. However, validation or casting is required for an input value in NoSQL. In particular, the $where operator should be used cautiously.\nTo prevent injection in NoSQL, the type of an external inputs should be determined for casting. It is recommended to avoid the $where operator because it may cause a vulnerability. If required, it is important to validate it with a whitelist to ensure that it matches the expected data. ORMs and ODMs such as Sequelize and Mongoose are good alternatives to solve the vulnerability.",
  "rule.sast.sw.js.3165.example.0.dangerous": "Line 5: This is insecure because the external input is used directly for queries.",
  "rule.sast.sw.js.3165.example.0.safe": "Line 5: This is secure because the external input is used for queries after casting.",
  "rule.sast.sw.js.3165.name": "SQL Injection (noSQL)",
  "rule.sast.sw.js.3165.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) return of name(\"String\")",
  "rule.sast.sw.js.3165.option.taint_filter.name": "External information filter",
  "rule.sast.sw.js.3165.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.js.3165.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.js.3165.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\"+\") to return",
  "rule.sast.sw.js.3165.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.js.3165.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(*) of name(\"find\")",
  "rule.sast.sw.js.3165.option.taint_sink.name": "External information sink",
  "rule.sast.sw.js.3165.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of name(reg(\"\\S+\\.body.*\"))",
  "rule.sast.sw.js.3165.option.taint_source.name": "External information source",
  "rule.sast.sw.js.3166.description": "Generally, web application uses cookies to send session information. However, the improper use of cookie flags may lead to vulnerabilities in session management such as MITM attacks or cookie stealing using XSS.\nIn Node.js, it is necessary to set security flags such as `secure` and `HttpOnly` to true for session management to enable cookie safety.",
  "rule.sast.sw.js.3166.example.0.dangerous": "Line 3, 4, 15, 16, 24, 25, 32: This is insecure because the `secure` and `HttpOnly` flags are set to false.",
  "rule.sast.sw.js.3166.example.0.safe": "Line 3, 4, 15, 16, 24, 25, 32: This is secure because the `secure` and `HttpOnly` flags are set to true.",
  "rule.sast.sw.js.3166.name": "Improper Cookie Flag Setting",
  "rule.sast.sw.js.3166.option.cookie_middleware.name": "cookie_middleware",
  "rule.sast.sw.js.3166.option.security_flag.name": "security_flag",
  "rule.sast.sw.js.3167.description": "Web browsers use the headers sent via HTTP to identify communication standards and security policies. Using the security features of HTTP headers properly enhances the security of code executed on the browser client side as a quick and efficient way to mitigate security vulnerabilities.\nHelmet is a middleware that provides comprehensive support for various browser-specific HTTP security headers. Helmet allows you to enable security features by setting security headers as recommended by OWASP.\nHelmet provides most security headers without requiring additional configuration. However, `Cache-Control` and `Clear-Site-Data` are the OWASP Active headers not provided by default. Accordingly, additional configuration is required for them.",
  "rule.sast.sw.js.3167.example.0.dangerous": "Line 6: This is exposed to multiple vulnerabilities because the security headers are not configured.",
  "rule.sast.sw.js.3167.example.0.safe": "Line 6: This enables various security headers through Helmet.\nLine 7: This adds the \"Cache-Control\" header through Helmet.",
  "rule.sast.sw.js.3167.name": "HTTP Security Header Settings",
  "rule.sast.sw.js.3168.description": "Web browsers use the headers sent via HTTP to identify communication standards and security policies. Using the security features of HTTP headers properly enhances the security of code executed on the browser client side as a quick and efficient way to mitigate security vulnerabilities.\n\"OWASP Secure Headers Project\" guides you to use proper HTTP headers. You should remove unnecessary headers such as `X-Powered-By`, and the headers including `X-XSS-Protection` that are deprecated in latest browsers.  The legacy use of this function can cause vulnerabilities.\nExpress.js can be enabled by blocking the \"x-powered-by\" function via disable() or by using Helmet to easily remove unnecessary headers. The `X-XSS-Protection` header is deprecated in latest browsers, so it's safe to disable it and use the `xssFilter` header.",
  "rule.sast.sw.js.3168.example.0.dangerous": "Line 5, 6: The X-Powered-By header is enabled, which is dangerous.\nLine 10: Legacy use of the X-XSS-Protection header, which can lead to information leakage.",
  "rule.sast.sw.js.3168.example.0.safe": "Line 6, 7: Disable the x-powered-by header, which makes the lines safe.\nLine 10: Disable X-XSS-Protection and use xssFilter, which makes the line safe.",
  "rule.sast.sw.js.3168.name": "Improper HTTP Header",
  "rule.sast.sw.js.3168.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) param(*) of name(\"filter\")",
  "rule.sast.sw.js.3168.option.taint_filter.name": "External information filter",
  "rule.sast.sw.js.3168.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.js.3168.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.js.3168.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\"+\") to return",
  "rule.sast.sw.js.3168.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.js.3168.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) base of name(\"use\")",
  "rule.sast.sw.js.3168.option.taint_sink.name": "External information sink",
  "rule.sast.sw.js.3168.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of fqn(\"__sparrow_required__express\")",
  "rule.sast.sw.js.3168.option.taint_source.name": "External information source",
  "rule.sast.sw.js.3169.description": "A hash function is a one-way function that receives data of different lengths and maps it to random data of a fixed length. It is commonly used to store user passwords because it always produces the same output for a given input. \nBecause hash can be calculated very quickly, the hash functions, such as MD5 and SHA, may give the illusion of high performance. However they are vulnerable to random brute-force attacks. If you use the hash functions on simple data, they can be saved in the rainbow table, making it insecure. In addition, RC2, RC3, RC4, RC5, RC6, MD4, and DES are also known to be vulnerable.\nThere are many functions used to overcome the disadvantages of MD5 and SHA. In Node.js, bcrypt is one of the functions that is commonly used with outstanding performance and easily replace them. The latest hash algorithms, such as Argon2, PBKDF2, and Scrypt, are also good alternatives. Make sure to add a salt to the hash in SHA-2 i.e. SHA-224, SHA-256, SHA-384, SHA-512.",
  "rule.sast.sw.js.3169.example.0.dangerous": "Line 3: This is weak for the brute-force attack because it uses md5, a weak hash function.",
  "rule.sast.sw.js.3169.example.0.safe": "Line 3: This is safe from the brute-force attack because bcrypt is used to create hash data.",
  "rule.sast.sw.js.3169.example.1.dangerous": "Line 2: DES, a weak encryption algorithm, is used, which is dangerous.",
  "rule.sast.sw.js.3169.example.1.safe": "Line 2: This is secure because using AES, a secure encryption algorithm.",
  "rule.sast.sw.js.3169.name": "Use of weak cryptographic algorithm",
  "rule.sast.sw.js.3264.description": "\"dangerouslySetInnerHTML\" is an alternative way for React to use `innerHTML` in the browser DOM. React is safe by default because it escapes most values before rendering. However, this function is insecure because it does not support input escaping, which can lead to XSS attacks.\nWhen React encounters `dangerouslySetInnerHTML`, it internally executes `setInnerHTML()` and uses innerHTML. It is not recommended to use this feature because the value is not escaped during the process. If this script is required, it is recommended to either filter the data before use or use a safe API such as dompurify or sanitize-html.\n",
  "rule.sast.sw.js.3264.example.0.dangerous": "Line 1: This is insecure because React does not automatically escape when dangerouslySetInnerHTML is used.",
  "rule.sast.sw.js.3264.example.0.safe": "Line 2: This is secure because dompurify is used to remove insecure characters from the data.",
  "rule.sast.sw.js.3264.name": "Cross Site Script (dangerouslySetInnerHTML)",
  "rule.sast.sw.js.3264.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) return of name(\"replace\")",
  "rule.sast.sw.js.3264.option.taint_filter.name": "External information filter",
  "rule.sast.sw.js.3264.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\"+\") to return",
  "rule.sast.sw.js.3264.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.js.3264.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(1) of name(\"eval\")",
  "rule.sast.sw.js.3264.option.taint_sink.name": "External information sink",
  "rule.sast.sw.js.3264.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of name(\"body\")",
  "rule.sast.sw.js.3264.option.taint_source.name": "External information source",
  "rule.sast.sw.js.3264.option.weak_element.description": "Creates an html property that uses external information.",
  "rule.sast.sw.js.3264.option.weak_element.name": "Use external information html properties",
  "rule.sast.sw.js.3265.description": "React supports `findDOMNode` to search a tree and find a DOM node based on the specified class instance. However, using `findDOMNode` can lead to breaking the abstraction by allowing a parent component to render a specific child component.\nThe official React document no longer supports this and recommends not to use it.\n",
  "rule.sast.sw.js.3265.example.0.dangerous": "Line 1: It is recommended not to use `findDOMNode()` because it breaks abstraction.",
  "rule.sast.sw.js.3265.example.0.safe": "Line 1: Line 1: This is secure because a vulnerable `findDOMNode()` is not used.",
  "rule.sast.sw.js.3265.name": "Use of Vulnerable Function (findDomNode)",
  "rule.sast.sw.js.3266.description": "Allowing URL values to be modified maliciously may expose you to attacks such as XSS. In particular, an attacker can intentionally execute a malicious script by manipulating a URL that contains the string \"javascript:\" in its address.\nReact warns when it encounters a vulnerable JavaScript URL. This warning informs a developer of the potential risk of using a URL but does not prevent the use of that URL.\nTo prevent this, filter the contents of the URL where user input can be included, or use well-known APIs.",
  "rule.sast.sw.js.3266.example.0.dangerous": "Line 1: This is insecure because the URL is used without verification.",
  "rule.sast.sw.js.3266.example.0.safe": "Line 6: This is secure because the URL is validated with validateURL(url) to ensure that it is correct and includes either https: or http:.",
  "rule.sast.sw.js.3266.name": "URL Manipulation",
  "rule.sast.sw.js.3266.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) return of name(\"replace\")",
  "rule.sast.sw.js.3266.option.taint_filter.name": "External information filter",
  "rule.sast.sw.js.3266.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\"+\") to return",
  "rule.sast.sw.js.3266.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.js.3266.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(1) of name(\"eval\")",
  "rule.sast.sw.js.3266.option.taint_sink.name": "External information sink",
  "rule.sast.sw.js.3266.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of name(\"body\")",
  "rule.sast.sw.js.3266.option.taint_source.name": "External information source",
  "rule.sast.sw.js.3266.option.weak_element.description": "Creates an html property that uses external information.",
  "rule.sast.sw.js.3266.option.weak_element.name": "Use external information html properties",
  "rule.sast.sw.js.3267.description": "JSON.stringify() is used to convert a JavaScript value or an object into a JSON string. In general, JSON.stringify() can be vulnerable to XSS attacks if used in an API or HTML environment, regardless of any specific vulnerabilities present. \nWhen using JSON.stringify(), filter '<' with replace or use a safe library such as serialize-javascript.",
  "rule.sast.sw.js.3267.example.0.dangerous": "Line 2: This may be exposed to XSS by using JSON.stringify() in an HTML environment without filtering.",
  "rule.sast.sw.js.3267.example.0.safe": "Line 2: XSS can be prevented using the replacer function in JSON.stringify().",
  "rule.sast.sw.js.3267.name": "Script Injection",
  "rule.sast.sw.js.5834.description": "When code does not validate data entered on a web program and the program integrates with the database, an attacker can inject SQL statements in an input form or URL field to view or manipulate information from the database. A vulnerable web application creates dynamic queries with user input. This can execute unintended queries and cause data leak.\nSequelize is safe from SQL injection attacks because it is the most commonly used ORM library that constructs queries using query parameter binding. However, it is safe to use an external input as a binding variable of parameterized queries when using raw or user-defined SQL.\n",
  "rule.sast.sw.js.5834.example.0.dangerous": "Line 6: This is insecure because a value received directly from an external source is used in the query.",
  "rule.sast.sw.js.5834.example.0.safe": "Line 7: This is secure because the external input is bound.",
  "rule.sast.sw.js.5834.name": "SQL Injection (ORM)",
  "rule.sast.sw.js.5834.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) param(*) of name(\"filter\")",
  "rule.sast.sw.js.5834.option.taint_filter.name": "External information filter",
  "rule.sast.sw.js.5834.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.js.5834.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.js.5834.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\"+\") to return",
  "rule.sast.sw.js.5834.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.js.5834.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />example) param(*) of fqn(reg(\"__sparrow_required__sequelize.query\"))",
  "rule.sast.sw.js.5834.option.taint_sink.name": "External information sink",
  "rule.sast.sw.js.5834.option.taint_source.description": "Write a name and a type of the function which is a source of external information.",
  "rule.sast.sw.js.5834.option.taint_source.name": "External information source",
  "rule.sast.sw.js.5838.description": "Cross-site scripting (XSS) is an attack method that injects malicious code into websites. This attack typically targets application users, and may cause damage by the users to run a malicious code automatically. When an unverified external input is used to create a dynamic web page, an unintended script can be run with unauthorized permission when a user access to read the page. This leads to an attacks such as information leakage.\nJavaScript provides an escape function through encodeURI() and encodeURIComponent() functions. Escaping the external input can help prevent XSS attacks before executing code that uses the input to modify the DOM.\n",
  "rule.sast.sw.js.5838.example.0.dangerous": "Line 4: This is insecure because the external data is recorded to the DOM without verification.",
  "rule.sast.sw.js.5838.example.0.safe": "Line 4: This is secure because the external data is escaped.\nLine 8: This is secure because the external data is escaped using xssFilters.",
  "rule.sast.sw.js.5838.name": "Cross-site Script (VanillaJS)",
  "rule.sast.sw.js.5838.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) param(*) of name(\"filter\")",
  "rule.sast.sw.js.5838.option.taint_filter.name": "External information filter",
  "rule.sast.sw.js.5838.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\"+\") to return",
  "rule.sast.sw.js.5838.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.js.5838.option.taint_sink.description": "Write a name of new expression causing risks when containing external information.<br />Example) new webSocket$param(1)",
  "rule.sast.sw.js.5838.option.taint_sink.name": "External information sink",
  "rule.sast.sw.js.5838.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of fqn(\"document.URL\")",
  "rule.sast.sw.js.5838.option.taint_source.name": "External information source",
  "rule.sast.sw.js.5839.description": "XML documents can include a Document Type Definition (DTD), which defines XML entities. Improper XML External Entity References vulnerability might occur when a server is set up to process XML external entities. When a vulnerable XML parser processes XML that references an external Value, attack syntax inserted by an attacker may be triggered, resulting in access to Server Files, unnecessary resource usage, authentication bypass, or information disclosure.\nNodeJS does not support an embedded XML parsing engine and requires the use of a separate library. Any library can be used, but the option for disabling the external entity parsing function must be set.",
  "rule.sast.sw.js.5839.example.0.dangerous": "Line 4: External entity parsing is not enabled, which is dangerous.",
  "rule.sast.sw.js.5839.example.0.safe": "Line 4: This is secure because external entity parsing is disabled.\nLine 7: This is secure because the default setting does not allow entity parsing.",
  "rule.sast.sw.js.5839.name": "Improper XML External Entity Reference",
  "rule.sast.sw.js.5840.description": "When storing sensitive information such as passwords, it is recommended to use a one-way hash function that converts data of any length into a fixed-sized hash value. If sensitive information is stored without using salt in a one-way hash function, an attacker may identify the hash value using a pre-calculated rainbow table.\nWhen storing sensitive information such as passwords, it is secure to use a one-way hash function that converts data of any length into a fixed-sized hash value. In addition, it is necessary to generate a unique salt value for each user. To accomplish this, the salt value should be stored separately for each user. The latest hash functions, such as bcrypt and PBKDF2, support this process. However, if you use a hash function that does not support it, you will need to manually provide the salt value.",
  "rule.sast.sw.js.5840.example.0.dangerous": "Line 2: This is insecure because data without a salt value is used for the hash function.",
  "rule.sast.sw.js.5840.example.0.safe": "Line 6, 9: This is secure because a hash function with a salt value is used.",
  "rule.sast.sw.js.5840.name": "One-way Hash Function Used Without Salt",
  "rule.sast.sw.js.5841.description": "Using a key with insufficient length creates a security vulnerability. Even if a validated cryptographic algorithm is used, a short key may be discovered quickly and an attacker may use it to decrypt encrypted data or passwords.\nWhen selecting an encryption algorithm and key length, you need to make your selection based on the table comparing the encryption algorithm key length to the stability maintenance period and the security strength of the encryption algorithm (KISA).\nThe RSA algorithm must be used with a key at least 2048 bits in length, and the Symmetric Encryption Algorithm must be used with a key at least 128 bits in length. (The key must be set to at least 2048 bits for RSA and DSA, and at least 256 bits for ECC.)\n",
  "rule.sast.sw.js.5841.example.0.dangerous": "Line 2: This is insecure because the RSA key length is set to 1024 bits.\nLine 8: This is insecure because the ECC key length is set to 192 bits.",
  "rule.sast.sw.js.5841.example.0.safe": "Line 2: This is secure because the RSA key length is set to at least 2048 bits.\nLine 8: This is secure because the ECC key length is set to at least 224 bits.",
  "rule.sast.sw.js.5841.name": "Using Encryption Keys of Insufficient Size",
  "rule.sast.sw.js.5841.option.namedCurve.description": "Value to detect when namedCurve is used in the option parameter",
  "rule.sast.sw.js.5841.option.namedCurve.name": "namedCurve Option",
  "rule.sast.sw.js.5842.description": "When unverified external inputs are used to access system resources, attackers can manipulate the input values to access resources protected by the system, which lead to create vulnerability. Attackers can exploit this to modify or delete resources, leak system information, and cause service failure due to the conflicts between system resources.\nEnsure to use predefined identifiers only or filter out characters vulnerable to path traversal, i.e. /, , ., when you need to use the external input to refer to the system resources including a file or socket port.\n",
  "rule.sast.sw.js.5842.example.0.dangerous": "Line 8: This is vulnerable to path traversal because an external input is used without proper verification.",
  "rule.sast.sw.js.5842.example.0.safe": "Line 10: This is secure because insecure characters are filtered using a regular expression.",
  "rule.sast.sw.js.5842.name": "Path Traversal",
  "rule.sast.sw.js.5842.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />example) param(*) of name(\"filter\")",
  "rule.sast.sw.js.5842.option.taint_filter.name": "External information filter",
  "rule.sast.sw.js.5842.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.js.5842.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.js.5842.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example) operand(*) of name(\"+\") to return",
  "rule.sast.sw.js.5842.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.js.5842.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />example) param(1) of name(\"getFile\")",
  "rule.sast.sw.js.5842.option.taint_sink.name": "External information sink",
  "rule.sast.sw.js.5842.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of fqn(\"document.URL\")",
  "rule.sast.sw.js.5842.option.taint_source.name": "External information source",
  "rule.sast.sw.js.5843.description": "If you use a predictable random number, an attacker can predict the next number generated and exploit the system.\nWhen using a seed in a random number generator, a value generated in an unpredictable manner is used instead of a fixed value. In the NodeJS engine, you can generate a cryptographically secure pseudo-random number byte using crypto.getRandomBytes. \n",
  "rule.sast.sw.js.5843.example.0.dangerous": "Line 3: This is insecure because the Math.random library is used to generate a random number.",
  "rule.sast.sw.js.5843.example.0.safe": "Line 4: This is secure because the crypto library is used to generate the random number.",
  "rule.sast.sw.js.5843.name": "Use of Insufficient Random Value",
  "rule.sast.sw.js.5843.option.insecure_random.description": "Write insecure random function",
  "rule.sast.sw.js.5843.option.insecure_random.name": "Insecure random function",
  "rule.sast.sw.js.5844.description": "Failure to control the number of recursive cycles can excessively consume resources like allocated memories or program stacks, posing a risk to the system. In most cases, a recursive function without a base case will create an infinite loop, depleting resources and disrupting the normal operation of the system.\nExcessive accumulation of recursive functions can cause abnormal behavior because the call stack is filled by function returns. In JavaScript, excessive recursive function calls can trigger the 'Too much recursion' exception in Firefox or 'Maximum call stack size exceeded' exception in Chrome or Safari, which will result in an abnormal termination of the program.\nFor every recursive call, you must limit the number of recursive calls or establish an exit condition that clearly defines when the recursive function should stop.",
  "rule.sast.sw.js.5844.example.0.dangerous": "Line 2: This is insecure because no exit condition is defined for the recursive function.",
  "rule.sast.sw.js.5844.example.0.safe": "Line 2-3: This is secure because an exit condition is defined for the recursive function.",
  "rule.sast.sw.js.5844.name": "Infinite Loop or Recursive Function",
  "rule.sast.sw.js.5845.description": "If an application program generates an error message that includes sensitive information and provides it to a third party, an attacker may exploit that information for malicious purposes. This is because attackers can deduce a structure of the program from the name of error message or traceback exposed in exception.\nExpressJS provides the errorHandler middleware to handle requests with an HTTP error code. It must be configured to display the predefined error message when an HTTP error is detected.\n",
  "rule.sast.sw.js.5845.example.0.dangerous": "Line 5: An error message generated from the server is sent without verification, which is dangerous.",
  "rule.sast.sw.js.5845.example.0.safe": "Line 5: Filter out error messages generated from the server before sending, which is safe.",
  "rule.sast.sw.js.5845.example.1.dangerous": "Line 5, 8, 11, 14: Despite declaring an error handler, it passes an Error object, which is dangerous.",
  "rule.sast.sw.js.5845.example.1.safe": "Line 5, 8, 11, 14: This is filtered in the handler and then passed, which is safe.",
  "rule.sast.sw.js.5845.name": "Exposure of error message information",
  "rule.sast.sw.js.5846.description": "Code used for debugging needs to be removed once development is complete. The debug code may contain sensitive information, such as settings, or expose information that could potentially bring up unintended results in system control. If the software is deployed with the debug code unremoved, an attacker may bypass authentication, or expose unintended information.\nIn JavaScript, you can use console.log or console.error function to check debug messages. Make sure to remove all debug code after the development is concluded.",
  "rule.sast.sw.js.5846.example.0.dangerous": "Line 1-2: This is insecure because the debug code has not been removed.",
  "rule.sast.sw.js.5846.example.0.safe": "Line 1-2: This is secure because the debug code is commented out.",
  "rule.sast.sw.js.5846.name": "Debug Code Not Removed",
  "rule.sast.sw.js.5848.description": "When unverified external inputs are used to access system resources, attackers can manipulate the input values to access resources protected by the system, which lead to create vulnerability. Attackers can exploit this to modify or delete resources, leak system information, and cause service failure due to the conflicts between system resources.\nEnsure to use predefined identifiers only when you need to use the external input to refer to the system resources including a file or socket port.\n",
  "rule.sast.sw.js.5848.example.0.dangerous": "Line 5: This is insecure because an unverified input is used directly as a URL.",
  "rule.sast.sw.js.5848.example.0.safe": "Line 11: This is secure because the external input is used as a URL after verification.",
  "rule.sast.sw.js.5848.name": "Resource injection",
  "rule.sast.sw.js.5848.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) param(*) of name(\"filter\")",
  "rule.sast.sw.js.5848.option.taint_filter.name": "External information filter",
  "rule.sast.sw.js.5848.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.js.5848.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.js.5848.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\"+\") to return",
  "rule.sast.sw.js.5848.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.js.5848.option.taint_sink.description": "Write a name of new expression causing risks when containing external information.<br />Example) new webSocket$param(1)",
  "rule.sast.sw.js.5848.option.taint_sink.name": "External information sink",
  "rule.sast.sw.js.5848.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of fqn(\"document.URL\")",
  "rule.sast.sw.js.5848.option.taint_source.name": "External information source",
  "rule.sast.sw.js.8.description": "The security weakness allows an attacker to inject arbitrary code to change the intended behaviour of the software, causing it to behave abnormally.\nFunctions that can cause code injection attacks in Node.js include eval() and Function(). If the arguments of these functions are not carefully validated, the code passed by the attacker can be executed as is.\nAvoid using functions that can dynamically execute code. If necessary, validate against external input values in a whitelist fashion, or filter user input values to include only valid characters.",
  "rule.sast.sw.js.8.example.0.dangerous": "Line 3, 4: This dynamically creates an unverified value which may cause risk of executing unintended code.",
  "rule.sast.sw.js.8.example.0.safe": "Line 3: Do not use the function that dynamically execute code.\nLine 5: It is safe to use replace() to remove special characters from externally input values.",
  "rule.sast.sw.js.8.name": "Code Injection",
  "rule.sast.sw.js.8.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) return of name(\"replace\")",
  "rule.sast.sw.js.8.option.taint_filter.name": "External information filter",
  "rule.sast.sw.js.8.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.js.8.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.js.8.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\"+\") to return",
  "rule.sast.sw.js.8.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.js.8.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(1) of name(\"eval\")",
  "rule.sast.sw.js.8.option.taint_sink.name": "External information sink",
  "rule.sast.sw.js.8.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of name(\"body\")",
  "rule.sast.sw.js.8.option.taint_source.name": "External information source",
  "rule.sast.sw.kt.2872.description": "The SQL Injection checker finds SQL queries that include an unvalidated external input.\nIf an unvalidated external input is allowed in SQL queries, attackers can inject a crafted query that has an altered meaning. This vulnerability lets attackers access or manipulate information in the database.\nExternal inputs must be validated or parameterized before being used in SQL queries.",
  "rule.sast.sw.kt.2872.example.0.dangerous": "Line 11: Insecure value is sent to executeQuery() function to generate a query.",
  "rule.sast.sw.kt.2872.example.0.safe": "Line 15: Use PreparedStatement to send binded values.",
  "rule.sast.sw.kt.2872.name": "SQL Injection",
  "rule.sast.sw.kt.2872.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) operand(*) of \"in\"",
  "rule.sast.sw.kt.2872.option.taint_filter.name": "External information filter",
  "rule.sast.sw.kt.2872.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) sparrow.my.filter.utils.is_safe()",
  "rule.sast.sw.kt.2872.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.kt.2872.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of \"+\" to return",
  "rule.sast.sw.kt.2872.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.kt.2872.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />example) param(1) of fqn(reg(\"java.sql.Statement.executeQuery(.*)\"))",
  "rule.sast.sw.kt.2872.option.taint_sink.name": "External information sink",
  "rule.sast.sw.kt.2872.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of fqn(\"java.io.BufferedInputStream.read(byte[])\")",
  "rule.sast.sw.kt.2872.option.taint_source.name": "External information source",
  "rule.sast.sw.kt.2873.description": "The Weak Cryptographic Algorithm checker finds code with encryption algorithms known to be insecure.\nNon-standard cryptographic algorithms can be more easily cryptanalyzed and cracked by attackers. Some outdated cryptographic algorithms are vulnerable as computer performance grows. As results, the old cryptographic algorithms can be easily decrypted in days or hours. Using an old or non-standard cryptographic algorithm may allow attackers to cryptanalyze and disable it.\nDeveloping your own cryptographic algorithm is dangerous; instead, use standard algorithms that have been proven in academia and industry. Use secure algorithms such as 3DES, AES, and SEED instead of those considered weak such as DES and RC5. And encryption keys must be long enough in accordance with the appropriate length suggested by each standard, secure algorithm.",
  "rule.sast.sw.kt.2873.example.0.dangerous": "Line 12: A weak algorithm MD5 is used.",
  "rule.sast.sw.kt.2873.example.0.safe": "Line 18: Use a secure algorithm such as AES instead of the weak algorithm.",
  "rule.sast.sw.kt.2873.name": "Weak cryptographic algorithm",
  "rule.sast.sw.kt.2873.option.string_name_encrypt_creator.description": "Write the name of the cryptographic generation function.",
  "rule.sast.sw.kt.2873.option.string_name_encrypt_creator.name": "Cryptographic generation function",
  "rule.sast.sw.kt.2873.option.string_name_hash_creator.description": "Write the name of the hash generation function.",
  "rule.sast.sw.kt.2873.option.string_name_hash_creator.name": "Hash generation function",
  "rule.sast.sw.kt.2873.option.weak_encrypt_algorithm.description": "Write a name of the weak cryptographic algorithm.",
  "rule.sast.sw.kt.2873.option.weak_encrypt_algorithm.name": "Weak cryptographic algorithm",
  "rule.sast.sw.kt.2873.option.weak_hash_algorithm.description": "Write a name of the weak hash algorithm.",
  "rule.sast.sw.kt.2873.option.weak_hash_algorithm.name": "Weak hash algorithm",
  "rule.sast.sw.kt.2874.description": "The Path Manipulation checker finds instances in which an unvalidated external input creates a path accessible to the file system.\nIf unvalidated external inputs are allowed to be used for access to files, servers, or other system resources, attackers can manipulate inputs to access an unintended path in the program. In other words, path manipulation can be used to obtain illegitimate access to modify or execute settings files.\nIf external inputs are used as identifiers for resources (such as files), make sure they pass appropriate validation. Especially, if external inputs are filenames, use a filter to remove characters such as `, /, \\, .. that can be exploited for a directory traversal attack.",
  "rule.sast.sw.kt.2874.example.0.dangerous": "Line 9: Insecure request.getParameter(\"name\") is used as a path to access a file.",
  "rule.sast.sw.kt.2874.example.0.safe": "Line 7: Do not use an insecure value as a path to access; use a filtered value only.",
  "rule.sast.sw.kt.2874.name": "Path Traversal",
  "rule.sast.sw.kt.2874.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) operand(*) of \"in\"",
  "rule.sast.sw.kt.2874.option.taint_filter.name": "External information filter",
  "rule.sast.sw.kt.2874.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) sparrow.my.filter.utils.is_safe()",
  "rule.sast.sw.kt.2874.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.kt.2874.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of \"+\" to return",
  "rule.sast.sw.kt.2874.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.kt.2874.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(*) of fqn(\"java.io.File\")",
  "rule.sast.sw.kt.2874.option.taint_sink.name": "External information sink",
  "rule.sast.sw.kt.2874.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of fqn(\"java.io.BufferedInputStream.read(byte[])\")",
  "rule.sast.sw.kt.2874.option.taint_source.name": "External information source",
  "rule.sast.sw.kt.2875.description": "The Command injection checker finds code that runs system command with data from an unvalidated source.\nInternal system commands can be executed by Runtime.exec(), and ProcessBuilder.command() functions.\nIf a user input that has not been properly validated constitutes the whole or part of an OS command to execute it in an unintended way, this may cause improper permission changes or harmful effects on the system's processes or operations.\nIf a command needs to be generated or selected based on an external input, whitelist safe values for command generation and restrict values determined by external inputs to those selected from within the whitelist.",
  "rule.sast.sw.kt.2875.example.0.dangerous": "Line 10: An insecure value, request.getParameter(\"command\"), is used to execute system commands in Runtime.exec() function.",
  "rule.sast.sw.kt.2875.example.0.safe": "Line 9: Make sure to use secure values only through a filter function or a whitelisted list for functions to execute the commands.",
  "rule.sast.sw.kt.2875.name": "Command injection",
  "rule.sast.sw.kt.2875.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) operand(*) of \"in\"",
  "rule.sast.sw.kt.2875.option.taint_filter.name": "External information filter",
  "rule.sast.sw.kt.2875.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) sparrow.my.filter.utils.is_safe()",
  "rule.sast.sw.kt.2875.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.kt.2875.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of \"+\" to return",
  "rule.sast.sw.kt.2875.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.kt.2875.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(*) of fqn(\"java.lang.Runtime.exec\")",
  "rule.sast.sw.kt.2875.option.taint_sink.name": "External information sink",
  "rule.sast.sw.kt.2875.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of fqn(\"java.io.BufferedInputStream.read(byte[])\")",
  "rule.sast.sw.kt.2875.option.taint_source.name": "External information source",
  "rule.sast.sw.kt.2876.description": "The Unrestricted File Upload checker finds instances of accepting a file upload without checking its type and size.\nIf server-executable scripts (files in asp, jsp, php, etc.) can be uploaded and attackers can run those files by themselves on the Web, it can be exploited to run internal system commands or connect the system to an external source to control it therefrom.\nMake sure users can upload only those files whose extensions are allowed in the whitelist. Have the names and extensions of uploaded files changed into unpredictable strings when they are stored in the server.",
  "rule.sast.sw.kt.2876.example.0.dangerous": "Line 15: A tainted format file can be uploaded or sent without validation for it.",
  "rule.sast.sw.kt.2876.example.0.safe": "Line 15: Put a limit on file formats to be uploaded.",
  "rule.sast.sw.kt.2876.name": "Unrestricted File Upload",
  "rule.sast.sw.kt.2876.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) base of name(\"endsWith\")",
  "rule.sast.sw.kt.2876.option.taint_filter.name": "External information filter",
  "rule.sast.sw.kt.2876.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) sparrow.my.filter.utils.is_safe()",
  "rule.sast.sw.kt.2876.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.kt.2876.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of \"+\" to return",
  "rule.sast.sw.kt.2876.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.kt.2876.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(*) of fqn(\"java.nio.file.Files.copy\")",
  "rule.sast.sw.kt.2876.option.taint_sink.name": "External information sink",
  "rule.sast.sw.kt.2876.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of fqn(\"org.springframework.web.multipart.MultipartFile.originalFilename\")",
  "rule.sast.sw.kt.2876.option.taint_source.name": "External information source",
  "rule.sast.sw.kt.2877.description": "The Redirection to untrusted site checker finds instances of redirecting to a URL generated with an unvalidated external input.\nAlthough connecting to a client-provided URL is often believed to be safe, an attacker can modify the request and redirect the user to a malicious site.\nMaintain a whitelist of external site URLs and domains allowed for redirection, which needs to be checked when a user input is passed as a redirect URL.",
  "rule.sast.sw.kt.2877.example.0.dangerous": "Line 10: A URL with unvalidated external input is connected to.",
  "rule.sast.sw.kt.2877.example.0.safe": "Line 11: Select from whitelists of URLs and domains to block an access to an insecure site.",
  "rule.sast.sw.kt.2877.name": "Redirection to untrusted site",
  "rule.sast.sw.kt.2877.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) operand(*) of \"in\"",
  "rule.sast.sw.kt.2877.option.taint_filter.name": "External information filter",
  "rule.sast.sw.kt.2877.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) sparrow.my.filter.utils.is_safe()",
  "rule.sast.sw.kt.2877.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.kt.2877.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of \"+\" to return",
  "rule.sast.sw.kt.2877.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.kt.2877.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(1) of fqn(\"javax.servlet.http.HttpServletResponse.sendRedirect\")",
  "rule.sast.sw.kt.2877.option.taint_sink.name": "External information sink",
  "rule.sast.sw.kt.2877.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of fqn(\"java.io.BufferedInputStream.read(byte[])\")",
  "rule.sast.sw.kt.2877.option.taint_source.name": "External information source",
  "rule.sast.sw.kt.2878.description": "The XPath Injection checker finds XPath queries that include an unvalidated external input.\nIf external inputs are allowed in XPath queries without appropriately validating them, attackers can feed an unexpected string to twist a query's meaning or alter its structure, thereby gaining access to restricted data.\nMake sure external inputs used in XPath queries are filtered for special characters (`, [, ], /, =, @, etc.) and reserved words.",
  "rule.sast.sw.kt.2878.example.0.dangerous": "Line 23: An untrusted external input is used to generate XPath strings.",
  "rule.sast.sw.kt.2878.example.0.safe": "Line 14: Use secure XPath strings only.\nLine 15: Use secure XPath strings only.",
  "rule.sast.sw.kt.2878.name": "XPath Injection",
  "rule.sast.sw.kt.2878.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) operand(*) of \"in\"",
  "rule.sast.sw.kt.2878.option.taint_filter.name": "External information filter",
  "rule.sast.sw.kt.2878.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) sparrow.my.filter.utils.is_safe()",
  "rule.sast.sw.kt.2878.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.kt.2878.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of \"+\" to return",
  "rule.sast.sw.kt.2878.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.kt.2878.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(1) of fqn(\"javax.xml.xpath.XPath.compile\")",
  "rule.sast.sw.kt.2878.option.taint_sink.name": "External information sink",
  "rule.sast.sw.kt.2878.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of fqn(\"java.io.BufferedInputStream.read(byte[])\")",
  "rule.sast.sw.kt.2878.option.taint_source.name": "External information source",
  "rule.sast.sw.kt.2879.description": "The LDAP Injection checker finds LDAP (Lightweight Directory Access Protocol) queries built with an unvalidated external input.\nUnvalidated external inputs can be exploited to execute unintended LDAP commands. To be specific, if the web application does not handle user inputs properly, attackers can alter LDAP query commands, thereby enabling the process to behave with the same authentication as the command executor component.\nMake sure user inputs provided for distinguished names (DNs) and filters do not include special characters. If special characters have to be allowed in inputs, have =, +, <, >, #, ;, and \\ recognized as plain characters, not as executable commands.",
  "rule.sast.sw.kt.2879.example.0.dangerous": "Line 24: An untrusted external input is used to generate LDAP strings.",
  "rule.sast.sw.kt.2879.example.0.safe": "Line 24: Filter the strings to use secure LDAP queries only.",
  "rule.sast.sw.kt.2879.name": "LDAP Injection",
  "rule.sast.sw.kt.2879.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) operand(*) of \"in\"",
  "rule.sast.sw.kt.2879.option.taint_filter.name": "External information filter",
  "rule.sast.sw.kt.2879.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) sparrow.my.filter.utils.is_safe()",
  "rule.sast.sw.kt.2879.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.kt.2879.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of \"+\" to return",
  "rule.sast.sw.kt.2879.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.kt.2879.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(*) of fqn(\"javax.naming.directory.DirContext.search\")",
  "rule.sast.sw.kt.2879.option.taint_sink.name": "External information sink",
  "rule.sast.sw.kt.2879.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of fqn(\"java.io.BufferedInputStream.read(byte[])\")",
  "rule.sast.sw.kt.2879.option.taint_source.name": "External information source",
  "rule.sast.sw.kt.2880.description": "The Format string injection checker finds instances of using a format string that is not a constant but built with an unvalidated external input.\nUsing an unvalidated external input as a format string may pose a security vulnerability. This can be exploited to attack a weak process, or read from or write to memory.\nFunctions such as print() should not be called with a format string that is built with or generated from a user input. If a user input needs to be used for a format string, it is recommended to use the %s format specifier or f-string as a placeholder for each user input and pass user inputs to the second and subsequent parameters.",
  "rule.sast.sw.kt.2880.example.0.dangerous": "Line 15: An external input is used as an output without checking format strings. If an attacker enters `%1$tm`, `%1$te` or `%1$tY` string, validDate will print out expiration time.",
  "rule.sast.sw.kt.2880.example.0.safe": "Line 15: Do not use the external input string in the format strings. Use  %s format sting to prevent information exposure.",
  "rule.sast.sw.kt.2880.name": "Format string injection",
  "rule.sast.sw.kt.2880.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) param(*) of name(\"filter\")",
  "rule.sast.sw.kt.2880.option.taint_filter.name": "External information filter",
  "rule.sast.sw.kt.2880.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) sparrow.my.filter.utils.is_safe()",
  "rule.sast.sw.kt.2880.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.kt.2880.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of \"+\" to return",
  "rule.sast.sw.kt.2880.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.kt.2880.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(1) of fqn(\"kotlin.String.format\")",
  "rule.sast.sw.kt.2880.option.taint_sink.name": "External information sink",
  "rule.sast.sw.kt.2880.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of fqn(\"java.io.BufferedInputStream.read(byte[])\")",
  "rule.sast.sw.kt.2880.option.taint_source.name": "External information source",
  "rule.sast.sw.kt.2881.description": "The Missing Authentication for Critical Function checker finds instances of failure to perform authentication for critical functionality.\nYou can optionally specify critical functions subject to checking and how to control authentication.\nIt is risky to allow those not properly authenticated to access or modify critical information (bank accounts, personal data) or to use functionality that consumes a significant amount of resources. Protect the server against attackers bypassing the client-side checks, and require re-authentication for access to critical pages such as wire transfer. Additionally, consider using libraries with authentication capabilities such as OpenSSL or the ESAPI Authenticator.\nRequire authentication before giving access to critical functions.",
  "rule.sast.sw.kt.2881.example.0.dangerous": "Line 8: Users can perform a critical function without authentication.",
  "rule.sast.sw.kt.2881.example.0.safe": "Line 10: Make users with authentication only enable to perform the critical function.",
  "rule.sast.sw.kt.2881.name": "Missing Authentication for Critical Function",
  "rule.sast.sw.kt.2881.option.auth_by_compare.description": "Check if comparison operator is authentication",
  "rule.sast.sw.kt.2881.option.auth_by_compare.name": "Authentication by comparison operator",
  "rule.sast.sw.kt.2881.option.authentication_function.description": "Write the name of the authentication function<br />Example) checkAccount",
  "rule.sast.sw.kt.2881.option.authentication_function.name": "Authentication function",
  "rule.sast.sw.kt.2881.option.critical_function.description": "Write the name of the critical function.<br />Example) sendAccount",
  "rule.sast.sw.kt.2881.option.critical_function.name": "Critical function",
  "rule.sast.sw.kt.2881.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of \"+\" to return",
  "rule.sast.sw.kt.2881.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.kt.2882.description": "The Improper authorization checker finds instances of using anonymous binding to execute an LDAP query.\nIf the anonymous binding is allowed without user authentication, a user's information can be accessed externally.\nMake sure the LDAP binding is performed with the username and password provided.",
  "rule.sast.sw.kt.2882.example.0.dangerous": "Line 9: Access control is not used for user authentication. This allows anonymous bindings, and unknown users to access to information from outside.",
  "rule.sast.sw.kt.2882.example.0.safe": "Line 9: Use access control to access with user ID and password.",
  "rule.sast.sw.kt.2882.name": "Improper authorization",
  "rule.sast.sw.kt.2883.description": "The Incorrect permission assignment for critical resource checker finds code that allows users without privileges to read or write critical resources such as configuration files, executables, or libraries.\nThe checker searches for an extra permission assigned for an optionally specified critical resource file.\nIf the software specifies inappropriate permissions for a security-critical resource in a way that allows that resource to be read or edited, unintended users can have control of it.\nFor critical resources, grant access permissions only to necessary users.",
  "rule.sast.sw.kt.2883.example.0.dangerous": "Line 9: chmod is used to give full permissions on a sensitive file to all users.",
  "rule.sast.sw.kt.2883.example.0.safe": "Line 9: Check if an unnecessary permission is assigned, and use chmod to grant least permission on the sensitive file.",
  "rule.sast.sw.kt.2883.name": "Incorrect permission assignment for critical resource",
  "rule.sast.sw.kt.2883.option.chmod_option.description": "Creates an option value for chmod that is judged to be excessive privileges.",
  "rule.sast.sw.kt.2883.option.chmod_option.name": "chmod option",
  "rule.sast.sw.kt.2884.description": "The Sensitive Information Storage in Plaintext checker finds code that stores unencrypted sensitive information in plain texts.\nIf sensitive information is not encrypted when stored in plaintext, data may be exposed to or sniffed by unauthorized agents.\nEnsure to encrypt the sensitive information while storing it to an external environment file. Additionally, consider separating the sensitive information and normal data in the software designing phase.",
  "rule.sast.sw.kt.2884.example.0.dangerous": "Line 17: An unencrypted password is stored to database in plaintext.",
  "rule.sast.sw.kt.2884.example.0.safe": "Line 20: Encrypt the password before storing.",
  "rule.sast.sw.kt.2884.name": "Sensitive Information Storage in Plaintext",
  "rule.sast.sw.kt.2884.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) return of fqn(\"java.security.MessageDigest.digest\")",
  "rule.sast.sw.kt.2884.option.taint_filter.name": "External information filter",
  "rule.sast.sw.kt.2884.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) sparrow.my.filter.utils.is_safe()",
  "rule.sast.sw.kt.2884.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.kt.2884.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of \"+\" to return",
  "rule.sast.sw.kt.2884.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.kt.2884.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(*) of name(\"write\")",
  "rule.sast.sw.kt.2884.option.taint_sink.name": "External information sink",
  "rule.sast.sw.kt.2884.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of fqn(reg(\"^(?!.*encrypted).*[pP]assw(or)?d\"))",
  "rule.sast.sw.kt.2884.option.taint_source.name": "External information source",
  "rule.sast.sw.kt.2885.description": "The Cleartext transmission of sensitive information checker finds instances of transferring sensitive information without encrypting it.\nIf data containing important user or system information is sent or received in plaintext, this poses a security vulnerability allowing unauthorized users to sniff sensitive data from the communication channel.\nSensitive information transferring via communication channels must be encrypted. If necessary, secure channels such as SSL or HTTPS should be used.",
  "rule.sast.sw.kt.2885.example.0.dangerous": "Line 10: An unencrypted sensitive information is sent in plaintext through a channel.",
  "rule.sast.sw.kt.2885.example.0.safe": "Line 15: Encrypt the sensitive information before sending through the channel.",
  "rule.sast.sw.kt.2885.name": "Cleartext transmission of sensitive information",
  "rule.sast.sw.kt.2885.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) return of fqn(\"java.security.MessageDigest.digest\")",
  "rule.sast.sw.kt.2885.option.taint_filter.name": "External information filter",
  "rule.sast.sw.kt.2885.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) sparrow.my.filter.utils.is_safe()",
  "rule.sast.sw.kt.2885.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.kt.2885.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of \"+\" to return",
  "rule.sast.sw.kt.2885.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.kt.2885.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(*) of fqn(\"java.io.OutputStream.write\")",
  "rule.sast.sw.kt.2885.option.taint_sink.name": "External information sink",
  "rule.sast.sw.kt.2885.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of fqn(reg(\"^(?!.*encrypted).*[pP]assw(or)?d\"))",
  "rule.sast.sw.kt.2885.option.taint_source.name": "External information source",
  "rule.sast.sw.kt.2886.description": "The Hardcoded Password to Call API checker finds code that uses a hardcoded password to call an API.\nIf program code contains a hardcoded password that is used for internal authentication or for communications with an external component, it can be exploited to leak administrator information.\nIt is recommended to encrypt and store the passwords in a separate file. ",
  "rule.sast.sw.kt.2886.example.0.dangerous": "Line 10: A hardcoded password is used as a function argument.",
  "rule.sast.sw.kt.2886.example.0.safe": "Line 7: Do not hardcode the password, get it from outside.",
  "rule.sast.sw.kt.2886.name": "Hardcoded Password to Call API",
  "rule.sast.sw.kt.2886.option.password_as_argument.description": "Write the name of the function whose password is used as an argument.",
  "rule.sast.sw.kt.2886.option.password_as_argument.name": "Password argument function name",
  "rule.sast.sw.kt.2887.description": "The Insufficient cryptographic key size checker finds encryption keys that are too short.\nAn encryption key is used for encryption and decryption purposes; if it is not long enough, it can be uncovered in a practically short time even with a verified cryptographic algorithm used. This can be exploited to decrypt encrypted data or passwords.\nEach major algorithm suggests an appropriate length of a key that ensures an extremely long time is taken to break the key at the currently known level of technology, thus making attacks on it practically impossible. It is recommended to use a key no shorter than the suggested length. The RSA algorithm must be used with a key of at least 2,048 bits as of 2015.",
  "rule.sast.sw.kt.2887.example.0.dangerous": "Line 6: Key length for RSA algorithm is set to 512 bits, which can be attacked.",
  "rule.sast.sw.kt.2887.example.0.safe": "Line 6: Set the key length for RSA encryption to 2,048 bits or more.",
  "rule.sast.sw.kt.2887.name": "Insufficient cryptographic key size",
  "rule.sast.sw.kt.2887.option.sufficient_key_size.description": "Creates the minimum length of a key allowed by the RSA algorithm.",
  "rule.sast.sw.kt.2887.option.sufficient_key_size.name": "Key size allowed in RSA algorithm (Signature/Cipher)",
  "rule.sast.sw.kt.2888.description": "The Improper random number generation checker finds code with predictable random values.\nYou can optionally specify random number generating methods that should not be used.\nIf a predictable random number is used when an unpredictable number is demanded, an attacker can predict subsequently generated numbers and use them to attack the system.\nUse secure way to generate random numbers rather than forbidden methods specified in the options.",
  "rule.sast.sw.kt.2888.example.0.dangerous": "Line 4: Seeds cannot be reset by random() method of java.lang.Math class, which is insecure.\nLine 9: Seeds can be reset by java.util.Random class to reset the seed, but which is still insecure.",
  "rule.sast.sw.kt.2888.example.0.safe": "Line 4: Create the unpredictable random number by setting a seed by java.security.SecureRandom class than using java.util.Random.",
  "rule.sast.sw.kt.2888.name": "Improper random number generation",
  "rule.sast.sw.kt.2888.option.forbidden_random_class.description": "Write the name of the forbidden random class.",
  "rule.sast.sw.kt.2888.option.forbidden_random_class.name": "Forbidden Random Class",
  "rule.sast.sw.kt.2888.option.forbidden_random_method.description": "Write the name of the forbidden random function.",
  "rule.sast.sw.kt.2888.option.forbidden_random_method.name": "Forbidden Random Function",
  "rule.sast.sw.kt.2889.description": "The Hardcoded Encryption Key checker finds encryption keys hardcoded in source code.\nHardcoded encryption keys present in source code can be used to decrypt ciphertext data back into the original information in case it leaks. Encryption keys are often hardcoded in the wrong assumption that their exposal poses no significant security threat, although some hash functions can possibly be reversed by brute-force attacks. In addition, hardcoded encryption keys are not easy to change.\nMake sure encryption keys never assume constant values. And, even if in ciphertext, they should not be hardcoded in source code. ",
  "rule.sast.sw.kt.2889.example.0.dangerous": "Line 7: A hard-coded cryptographic key is used in order to perform encryption.",
  "rule.sast.sw.kt.2889.example.0.safe": "Line 5: Do not use the cryptographic key defined as a constant.",
  "rule.sast.sw.kt.2889.name": "Hardcoded Encryption Key",
  "rule.sast.sw.kt.2889.option.secret_key_as_argument.description": "Write the name of the function whose key is used as an argument.",
  "rule.sast.sw.kt.2889.option.secret_key_as_argument.name": "Key argument function name",
  "rule.sast.sw.kt.2890.description": "The Weak password requirements checker finds instances in which user passwords are accepted without checking for their complexity.\nThe checker searches for a user account created with a password argument that has not been validated by a regex pattern check.\nFully numeric passwords, such as 123123, and some other simple passwords are vulnerable to brute-force attacks. If password patterns are not verified, users can use weak passwords.\nAdministrators can impose restrictions on users to use strong password patterns. For example, these can require to include a certain number of uppercase and lowercase letters, numerals, and special characters, or disallow consecutive identical characters. Refer to the password setting rules from \"KISA Cryptographic Usage Guidelines\".",
  "rule.sast.sw.kt.2890.example.0.dangerous": "Line 14: A password is used without verification process.",
  "rule.sast.sw.kt.2890.example.0.safe": "Line14: Strong verifications of the password such as restriction of the length has to be performed before using it.",
  "rule.sast.sw.kt.2890.name": "Weak password requirements",
  "rule.sast.sw.kt.2890.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) base of name(\"matches\")",
  "rule.sast.sw.kt.2890.option.taint_filter.name": "External information filter",
  "rule.sast.sw.kt.2890.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) sparrow.my.filter.utils.is_safe()",
  "rule.sast.sw.kt.2890.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.kt.2890.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of \"+\" to return",
  "rule.sast.sw.kt.2890.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.kt.2890.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(*) of fqn(\"registDAO.regist\")",
  "rule.sast.sw.kt.2890.option.taint_sink.name": "External information sink",
  "rule.sast.sw.kt.2890.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of fqn(\"java.io.BufferedInputStream.read(byte[])\")",
  "rule.sast.sw.kt.2890.option.taint_source.name": "External information source",
  "rule.sast.sw.kt.2891.description": "The Persistent Cookie checker finds instances of storing sensitive date in a cookie whose lifespan is set too long.\nMost web programming environments create non-persistent cookies. This type of cookie resides only in memory (not recorded in the disc drive) and disappears when the browser is closed. Programmers can set cookies to persist for browser sessions until a specific future date. These cookies are recorded in the disc drive and persist even after restarting the browser session or device. Persistent cookies are commonly used to profile users when interacting with sites. Such tracked data in persistent cookies can be exploited to leak user privacy, depending upon how the data is used. If privacy information is stored in a persistent cookie with a long expiration, attackers can be given enough time to steal such data.\nCookie expiration must be set minimum in consideration of session duration, and permanent cookies should not contain important information such as user privileges and session IDs.",
  "rule.sast.sw.kt.2891.example.0.dangerous": "Line 15: A cookie expiration period is set too long, for example, one year.",
  "rule.sast.sw.kt.2891.example.0.safe": "Line 15: Set the cookie expiration period to the minimum based on the features.",
  "rule.sast.sw.kt.2891.name": "Persistent cookie",
  "rule.sast.sw.kt.2891.option.max_timeout.description": "Write the maximum lifetime of the cookies.<br />Example) 3600",
  "rule.sast.sw.kt.2891.option.max_timeout.name": "Maximum lifetime of the cookie",
  "rule.sast.sw.kt.2909.description": "The Password in comment checker finds comments that contain password information. \nPassword information contained in comments can be exposed to attackers. This practice may allow for security threats to the system. Passwords are often written in comments for development convenience, but they are hard to remove once the software is deployed into production. Do not include IDs, passwords, and other security-sensitive information in comments. If an attacker can access the source code or use reverse engineering to view the code, the attacker will be able to easily intrude the system.\nEliminate password information in comments.",
  "rule.sast.sw.kt.2909.example.0.dangerous": "Line 5: An userId and password are used for debugging, and not properly deleted from comments.",
  "rule.sast.sw.kt.2909.example.0.safe": "Line 5: Remove code to be used for debugging, such as userId and password information in comments.",
  "rule.sast.sw.kt.2909.name": "Password in comment",
  "rule.sast.sw.kt.2909.option.allowed_max_word_length.description": "Write the maximum length of a single word to be allowed in comments.<br />Example) 40",
  "rule.sast.sw.kt.2909.option.allowed_max_word_length.name": "Maximum consecutive word length",
  "rule.sast.sw.kt.2909.option.check_password_only.description": "If selected, password expressions will be detected even if it exists solely.",
  "rule.sast.sw.kt.2909.option.check_password_only.name": "Check password expressions solely existing",
  "rule.sast.sw.kt.2909.option.consecutive_word_expr.description": "Write an expression of the consecutive word which exceeds the maximum length to be detected.<br />Example) [a-zA-Z0-9]+",
  "rule.sast.sw.kt.2909.option.consecutive_word_expr.name": "Consecutive word expressions to detect",
  "rule.sast.sw.kt.2909.option.fixed_key_length.description": "Write a fixed length of key.",
  "rule.sast.sw.kt.2909.option.fixed_key_length.name": "A fixed length of key",
  "rule.sast.sw.kt.2909.option.password_expr.description": "Write the expression of a string that may be considered as a password.<br />Example) password",
  "rule.sast.sw.kt.2909.option.password_expr.name": "Password expression",
  "rule.sast.sw.kt.2909.option.using_fixed_key_length.description": "If the option is enabled, the fixed length of key string will be detected.",
  "rule.sast.sw.kt.2909.option.using_fixed_key_length.name": "Check a fixed length of key",
  "rule.sast.sw.kt.2912.description": "The Use of Hash without Salt checker finds instances of calculating a hash without a salt.\nIf sensitive data is hashed without a salt, attackers can pre-calculate the hashes using rainbow tables to find original values.\nWhen hashing a password or other sensitive data, pass a salt to the hashing function and use the consequently returned hash value.",
  "rule.sast.sw.kt.2912.example.0.dangerous": "Line 6: A hash for a password is loaded without salt for storing the password.",
  "rule.sast.sw.kt.2912.example.0.safe": "Line 7: Use the password after applying the salt and then calculating its hash value.",
  "rule.sast.sw.kt.2912.name": "Use of Hash without Salt",
  "rule.sast.sw.kt.2912.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) base of fqn(\"java.security.MessageDigest.update\")",
  "rule.sast.sw.kt.2912.option.taint_filter.name": "External information filter",
  "rule.sast.sw.kt.2912.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) sparrow.my.filter.utils.is_safe()",
  "rule.sast.sw.kt.2912.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.kt.2912.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of \"+\" to return",
  "rule.sast.sw.kt.2912.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.kt.2912.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) return of fqn(\"java.security.MessageDigest.digest\")",
  "rule.sast.sw.kt.2912.option.taint_sink.name": "External information sink",
  "rule.sast.sw.kt.2912.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of fqn(\"java.security.MessageDigest.getInstance\")",
  "rule.sast.sw.kt.2912.option.taint_source.name": "External information source",
  "rule.sast.sw.kt.2913.description": "The Missing login control checker finds instances of failure to implement a logic to limit the number of login attempts. \nYou can optionally specify the name of the login routine to enable the checker to identify the ID and password variables involved in the routine. The checker checks for a logic that ensure: Login attempts are controlled in a loop prior to a call to a login routine. If the attempt count is unlimited, the checker determines that login attempts are not properly controlled. The conditional expression in the loop uses one of the comparison operators: <, >, <=, and >=. \nIf login attempt count is not limited, attackers may succeed in login by a brute-force attack. This can give an unauthorized accessor a permission.\nA logic that limits login attempt count must be implemented.",
  "rule.sast.sw.kt.2913.example.0.dangerous": "Line 2: Login attempts is unlimited.",
  "rule.sast.sw.kt.2913.example.0.safe": "Line 4: Control the login attempt count.",
  "rule.sast.sw.kt.2913.name": "Missing login control",
  "rule.sast.sw.kt.2913.option.login_method.description": "Write the name of the function to login.",
  "rule.sast.sw.kt.2913.option.login_method.name": "Login function",
  "rule.sast.sw.kt.2915.description": "The TOCTOU race condition checker finds race conditions occurring between the time of checking a resource's state and the time of using it.\nWhen coding to check the state of a resource and access it based on the checked state, programmers often assume that the checked state will persist until the resource is accessed. But the resource's state can change between the check and the use. This can happen even in a non-multithreaded program because the state of resources such as files can be changed by other programs or the operating system. These race conditions can cause the program to perform invalid actions or throw an exception and may help attackers gain access to unauthorized resources.\nIf resource accessibility needs to be determined based on resource state, use approaches such as synchronization that ensure exclusive access to resources. Or, there are some APIs available that help implement actions handling file resources. They attempt the given resource action and return different results based on the resource's state.",
  "rule.sast.sw.kt.2915.example.0.dangerous": "Line 11: A program can be executed in an unintended way by deleting files between time-of-check and time-of-use.",
  "rule.sast.sw.kt.2915.example.0.safe": "Line 15, 16: To prevent TOCTOU race conditions, use lock to ensure exclusive access to the resource.",
  "rule.sast.sw.kt.2915.name": "TOCTOU race condition",
  "rule.sast.sw.kt.2915.option.file_check_method.name": "file_check_method",
  "rule.sast.sw.kt.2915.option.file_exception.description": "Write the name of the exception that will handle TOCTOU.",
  "rule.sast.sw.kt.2915.option.file_exception.name": "Exception",
  "rule.sast.sw.kt.2917.description": "The Infinite loop checker finds loops that may run forever.\nIn most cases, an infinite loop exhausts resources and disrupts the system's normal service provision. However, it is theoretically impossible to completely prevent an infinite recursion or loop based on static analysis. Therefore, the checker can find only some typical patterns and simple instances.\nFix the code to avoid an infinite loop. If variables in the condition expression are never changed over iterations, the loop might run infinitely. Kotlin also allows you to create infinite sequences with Sequence. This can also result in an infinite loop, so be sure to specify the number of iterations or the termination condition clearly using a limiting operator like .take(n) or .takeWhile { ... }.",
  "rule.sast.sw.kt.2917.example.0.dangerous": "Line 2: True is set to a conditional expression of while statements, and no change is noticed inside of the loop.\nLine 9: True is set to a conditional expression of do statements, and no change is noticed inside of the loop.",
  "rule.sast.sw.kt.2917.example.0.safe": "Line 4: An infinite loop can be intentionally created for a persistently acting system service. Control the resource not to be spent off.\nLine 11: Write an action to change the conditional expression in the loop.",
  "rule.sast.sw.kt.2917.name": "Infinite loop",
  "rule.sast.sw.kt.2917.option.repeat_stop_method.description": "Write the name of the method that break an infinite loop.<br />Example) java.lang.Thread.yield",
  "rule.sast.sw.kt.2917.option.repeat_stop_method.name": "Break method in loop",
  "rule.sast.sw.kt.2921.description": "The Catching overly broad exceptions checker finds instances of generalizing a wide range of exceptions in handling them.\nAn extremely wide generalization of exceptions may prevent some specific exceptions from being properly handled; more seriously, this may let even logically implausible cases simply covered by the overly-generalized handler, hence hindering them from being detected and fixed. As a result, design and implementation defects may remain undiscovered in the development and review phases before the program is deployed into production, possibly leading to serious issues.\nIt is recommended to categorize possible exceptions explicitly and handle them separately. If general exception handling is needed, have it performed in the last place after all specific exceptions are handled. Then, if the flow of execution ever reaches the general exception handling block, it suggests that the caught exception was not considered during development. This helps fix defects implied by unexpected exceptions.",
  "rule.sast.sw.kt.2921.example.0.dangerous": "Line 9: A broad exception class is used to handle exceptions.",
  "rule.sast.sw.kt.2921.example.0.safe": "Line 9: Ensure to use a detailed exception class.",
  "rule.sast.sw.kt.2921.name": "Catching overly broad exceptions",
  "rule.sast.sw.kt.2921.option.option.description": "Would you ignore overly broad exceptions if there were other exception handling segments above?<br />Example) true",
  "rule.sast.sw.kt.2921.option.option.name": "Option On / Off",
  "rule.sast.sw.kt.2921.option.overly_broad_exception.description": "Write the names of overly broad exceptions.<br /> Example) Exception",
  "rule.sast.sw.kt.2921.option.overly_broad_exception.name": "Overly Broad Exception",
  "rule.sast.sw.kt.2923.description": "The Data Leak between Sessions checker finds instances in which a field is declared in a servlet in a multithreaded environment.\nIf a field is declared in an HttpServlet subclass, a race condition may occur over the information stored in the field when the servlet is executed in a multithreaded environment.\nDo not declare a member field in an HttpServlet subclass unless this is inevitable; instead, declare a local variable.",
  "rule.sast.sw.kt.2923.example.0.dangerous": "Line 6: Information is stored in a field of a servlet.",
  "rule.sast.sw.kt.2923.example.0.safe": "Line 7: Do not put a field to store information on the servlet.",
  "rule.sast.sw.kt.2923.name": "Data Leak between Sessions",
  "rule.sast.sw.kt.2924.description": "The Leftover debug code checker finds debug code that remains not removed. \nDebug code may contain parts that output sensitive information or allow control over the system. If the program is deployed with debug code remaining, attackers may bypass an authentication process or access restricted information.\nRemove all debug code before deploying the application.",
  "rule.sast.sw.kt.2924.example.0.dangerous": "Line 3: Debug code is not deleted.",
  "rule.sast.sw.kt.2924.example.0.safe": "Line 3: It is recommended not to left over debug code.",
  "rule.sast.sw.kt.2924.name": "Leftover debug code",
  "rule.sast.sw.kt.2924.option.check_main_method.description": "Check the Main method",
  "rule.sast.sw.kt.2924.option.check_main_method.name": "check main method",
  "rule.sast.sw.kt.2924.option.debug_code.description": "Write a name of the debug code.",
  "rule.sast.sw.kt.2924.option.debug_code.name": "Debug code",
  "rule.sast.sw.kt.2924.option.debug_method.description": "Write a name of the debug method.",
  "rule.sast.sw.kt.2924.option.debug_method.name": "Debug method",
  "rule.sast.sw.kt.2924.option.main_method_path.description": "Write the path of the main method.",
  "rule.sast.sw.kt.2924.option.main_method_path.name": "Main method path",
  "rule.sast.sw.kt.2925.description": "The System Information Exposure finds instances of displaying system information through error messages or by other means.\nIf error messages openly displayed by the application contain sensitive information regarding execution environments or user data, attackers can exploit the information for malicious actions. Showing exception names or stack traces can help attackers identify the program's internal structure.\nMake sure error messages are shown only to relevant users and contain minimum necessary information. Have exceptions internally handled in source code and do not allow them to trigger an error message containing sensitive information.",
  "rule.sast.sw.kt.2925.example.0.dangerous": "Line 10: Internal information is exposed by printed exception names or stack traces.",
  "rule.sast.sw.kt.2925.example.0.safe": "Line 10: Do not print the exception names or stack traces.",
  "rule.sast.sw.kt.2925.name": "Exposure of system information",
  "rule.sast.sw.kt.2925.option.exclude_print_stack_trace.description": "If selected, printStackTrace method calls will not be detected.",
  "rule.sast.sw.kt.2925.option.exclude_print_stack_trace.name": "Exclude printStackTrace call",
  "rule.sast.sw.kt.2925.option.exclude_println.description": "If selected, println method calls will not be detected.",
  "rule.sast.sw.kt.2925.option.exclude_println.name": "Exclude println call",
  "rule.sast.sw.kt.2926.description": "The Private collection returned by public method checker finds instances in which a non-private method returns a private-declared array or collection field's object.\nIf a private-declared collection object is returned by a public method, the object's address is exposed externally, allowing the object to be manipulated from the outside.\nDo not have a private collection object returned as it is by a public method. If such an implementation is needed, return a copy of it instead, or define another public method that controls access and modification to the data of the private collection.",
  "rule.sast.sw.kt.2926.example.0.dangerous": "Line 2: Field variable colors is declared as private.\nLine 5: The private field is returned by getColors() method.\nLine 13: A private field colors can be manipulated out of a class if an attacker want.\nLine 18: Field variable colors is declared as val.\nLine 23: The variable colors can be manipulated.You can optionally adjust the checking conditions.",
  "rule.sast.sw.kt.2926.example.0.safe": "Line 5: Copy colors, and return it to prevent manipulating.\nLine 19: Copy colors, and return it to prevent manipulating.",
  "rule.sast.sw.kt.2926.name": "Private collection returned by public method",
  "rule.sast.sw.kt.2926.option.analysis_val.description": "If the option is enabled, the val variable is also checked.",
  "rule.sast.sw.kt.2926.option.analysis_val.name": "Check the val variable",
  "rule.sast.sw.kt.2926.option.array_assignment.description": "Write the name of the method that assigns the array.",
  "rule.sast.sw.kt.2926.option.array_assignment.name": "Array assignment",
  "rule.sast.sw.kt.2926.option.array_only.description": "If the option is enabled, only private arrays will be checked.",
  "rule.sast.sw.kt.2926.option.array_only.name": "Check array only",
  "rule.sast.sw.kt.2926.option.array_type.description": "Write the name of the array type.",
  "rule.sast.sw.kt.2926.option.array_type.name": "Array type",
  "rule.sast.sw.kt.2926.option.clone_method.description": "Write the name of the deep copy method.",
  "rule.sast.sw.kt.2926.option.clone_method.name": "Deep copy method",
  "rule.sast.sw.kt.2926.option.mutable_collection_assignment.description": "Write the name of the method that assigns the Mutable collection.",
  "rule.sast.sw.kt.2926.option.mutable_collection_assignment.name": "Mutable selection assignment",
  "rule.sast.sw.kt.2926.option.mutable_collection_type.description": "Write the name of the Mutable collection type.",
  "rule.sast.sw.kt.2926.option.mutable_collection_type.name": "Mutable collection type",
  "rule.sast.sw.kt.2927.description": "The Public data assigned to private array checker finds instances of storing an externally accessible array object in a private array field.\nIf an array field declared private assumes an externally accessible object, the private array also becomes externally accessible, practically disabling the access control. This may result in user data or other restricted information exposed, leading to a serious security issue.\nA private array field must assume an array created directly in a class. When passing external data to an array, do not store the array object itself, but store a copy of its individual elements.",
  "rule.sast.sw.kt.2927.example.0.dangerous": "Line 2: Field variable colors is declared as private.\nLine 8: When an external array is assigned by setColors() method declared as public, colors can be accessed into from outside.",
  "rule.sast.sw.kt.2927.example.0.safe": "Line 8: Copy colors, and assign it to prevent manipulating.",
  "rule.sast.sw.kt.2927.name": "Public data assigned to private array",
  "rule.sast.sw.kt.2927.option.array_assignment.description": "Write the name of the method that assigns the array.",
  "rule.sast.sw.kt.2927.option.array_assignment.name": "Array assignment",
  "rule.sast.sw.kt.2927.option.array_only.description": "If the option is enabled, only private arrays will be checked.",
  "rule.sast.sw.kt.2927.option.array_only.name": "Check array only",
  "rule.sast.sw.kt.2927.option.array_type.description": "Write the name of the array type.",
  "rule.sast.sw.kt.2927.option.array_type.name": "Array type",
  "rule.sast.sw.kt.2927.option.mutable_collection_assignment.description": "Write the name of the method that assigns the Mutable collection.",
  "rule.sast.sw.kt.2927.option.mutable_collection_assignment.name": "Mutable selection assignment",
  "rule.sast.sw.kt.2927.option.mutable_collection_type.description": "Write the name of the Mutable collection type.",
  "rule.sast.sw.kt.2927.option.mutable_collection_type.name": "Mutable collection type",
  "rule.sast.sw.kt.2928.description": "The Reliance on DNS lookups in security decisions checker finds instances in which authentication and access controls rely solely on the domain name.\nBecause DNS servers are targeted for spoofing, reliance on the domain name allows attackers to modify the DNS to point the domain name to their IP address. They can create fake DNS entries, and you must avoid security decisions (authentication, access controls, etc.) solely based on the domain name. A tainted local DNS cache may let the network traffic between a particular server and users transferred through an attacker.\nFor servers with known IP addresses, use their IP addresses.",
  "rule.sast.sw.kt.2928.example.0.dangerous": "Line 7: A request is verified to be trusted through a domain name. Then, attackers can manipulate DNS cash to send invalid credibility.",
  "rule.sast.sw.kt.2928.example.0.safe": "Line 5: Modify to compare the IP addresses directly instead of the hostname by DNS lookup.",
  "rule.sast.sw.kt.2928.name": "Reliance on DNS lookups in security decisions",
  "rule.sast.sw.kt.2928.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) param(*) of name(\"filter\")",
  "rule.sast.sw.kt.2928.option.taint_filter.name": "External information filter",
  "rule.sast.sw.kt.2928.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) sparrow.my.filter.utils.is_safe()",
  "rule.sast.sw.kt.2928.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.kt.2928.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of \"+\" to return",
  "rule.sast.sw.kt.2928.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.kt.2928.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) operand(*) of \"in\"",
  "rule.sast.sw.kt.2928.option.taint_sink.name": "External information sink",
  "rule.sast.sw.kt.2928.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of fqn(\"java.net.InetAddress.getByName\")",
  "rule.sast.sw.kt.2928.option.taint_source.name": "External information source",
  "rule.sast.sw.kt.2949.description": "The Dynamic code manipulation checker finds code that uses unvalidated external input without filtering.\nExternal inputs used in dynamic applications must be verified. Unless, attackers can execute arbitrary code, access sensitive information, and modify it. This may leads to unintended action or malfunction. To control system access, you can generate a whitelist of accessible values, or cast the inputs into secure types.\nUse a verification method to validate the external input imported by ServletRequest.getParameter() method.",
  "rule.sast.sw.kt.2949.example.0.dangerous": "Line 10: A variable input created in Line 6 is used for an argument of ScriptEngine.eval() method without validation.",
  "rule.sast.sw.kt.2949.example.0.safe": "Line 9: Verify the external input before using it.",
  "rule.sast.sw.kt.2949.name": "Dynamic code manipulation",
  "rule.sast.sw.kt.2949.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) operand(*) of \"in\"",
  "rule.sast.sw.kt.2949.option.taint_filter.name": "External information filter",
  "rule.sast.sw.kt.2949.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) sparrow.my.filter.utils.is_safe()",
  "rule.sast.sw.kt.2949.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.kt.2949.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of \"+\" to return",
  "rule.sast.sw.kt.2949.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.kt.2949.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(*) of fqn(\"javax.script.ScriptEngine.eval\")",
  "rule.sast.sw.kt.2949.option.taint_sink.name": "External information sink",
  "rule.sast.sw.kt.2949.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of fqn(\"java.io.BufferedInputStream.read(byte[])\")",
  "rule.sast.sw.kt.2949.option.taint_source.name": "External information source",
  "rule.sast.sw.kt.2950.description": "The Weak XML Transformer checker finds code that uses the XML parser, but fails to specify security options.\nThe XML External Entity or XSLT External Entity (XXE) vulnerability occurs when javax.xml.transform.Transformer is created without security measurements or the XML parser is used without forbidding external DTD or DTD entities. Attackers can control external data to expose sensitive data, cause DoS attacks, forfeit server-side requests, or perform port scans on their parser devices. And this may lead to system errors.\nSpecify to forbid external DTD or DTD entities before creating Transformer object. ",
  "rule.sast.sw.kt.2950.example.0.dangerous": "Line 7: Transformer object is created without specifying security options.",
  "rule.sast.sw.kt.2950.example.0.safe": "Line 7: Specify XMLConstants.ACCESS_EXTERNAL_DTD option.\nLine 8: Specify XMLConstants.ACCESS_EXTERNAL_STYLESHEET option.\nLine 11: Use TransformerFactory object with specified options to create Transformer object.\nLine 16: Specify XMLConstants.FEATURE_SECURE_PROCESSING option.\nLine 19: Use TransformerFactory object with specified options to create Transformer object.",
  "rule.sast.sw.kt.2950.name": "Weak XML Transformer",
  "rule.sast.sw.kt.2950.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) param(*) of name(\"filter\")",
  "rule.sast.sw.kt.2950.option.taint_filter.name": "External information filter",
  "rule.sast.sw.kt.2950.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) sparrow.my.filter.utils.is_safe()",
  "rule.sast.sw.kt.2950.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.kt.2950.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of \"+\" to return",
  "rule.sast.sw.kt.2950.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.kt.2950.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) base of name(\"transform\")",
  "rule.sast.sw.kt.2950.option.taint_sink.name": "External information sink",
  "rule.sast.sw.kt.2950.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of fqn(\"javax.xml.transform.TransformerFactory.newInstance\")",
  "rule.sast.sw.kt.2950.option.taint_source.name": "External information source",
  "rule.sast.sw.kt.2951.description": "The Server-side Request Forgery checker finds accesses to an unvalidated URL that contains an external input.\nIf a service operating on an open web server is allowed to access an unvalidated URL that contains an external input, it will attempt access to any URL even though the URL links to the internal server. The internal server then will send back a normal response because the received request is from a web server in the same internal network. If such a vulnerability is known to an attacker, the weak web server can be exploited to send a request to the internal server which itself is not directly accessible to the attacker. This may lead to exposing sensitive information.\nWhen accessing a URL that contains an external input, make sure it passes appropriate validation.",
  "rule.sast.sw.kt.2951.example.0.dangerous": "Line 8: You have been accessed to an externally imported address.",
  "rule.sast.sw.kt.2951.example.0.safe": "Line 8: Validate and use the externally imported address.",
  "rule.sast.sw.kt.2951.name": "Server-side Request Forgery",
  "rule.sast.sw.kt.2951.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) operand(*) of \"in\"",
  "rule.sast.sw.kt.2951.option.taint_filter.name": "External information filter",
  "rule.sast.sw.kt.2951.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) sparrow.my.filter.utils.is_safe()",
  "rule.sast.sw.kt.2951.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.kt.2951.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of \"+\" to return",
  "rule.sast.sw.kt.2951.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.kt.2951.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) base of name(\"openConnection\")",
  "rule.sast.sw.kt.2951.option.taint_sink.name": "External information sink",
  "rule.sast.sw.kt.2951.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of fqn(\"java.io.BufferedInputStream.read(byte[])\")",
  "rule.sast.sw.kt.2951.option.taint_source.name": "External information source",
  "rule.sast.sw.kt.2952.description": "The Inappropriate Signature checker finds code that fails to check a signature from a file with the electronic signature.\nIf you do not check the electronic signature, attackers can use a forged file and make the program to access an unexpected URL or get tainted by malicious code. \nAlso, if you do not use an encrypted signature to create JSON Web Token, the signature can be exploited and attackers can disguise themselves as you.\nSign and use JarFile of signWith function.",
  "rule.sast.sw.kt.2952.example.0.dangerous": "Line 10: JarFile is not signed.\nLine 11: JarFile is not signed.\nLine 26: The token is generated without a signature.",
  "rule.sast.sw.kt.2952.example.0.safe": "Line 10: Sign the JarFile function by specifying its second parameter to true.\nLine 30: Use signWith function to sign and generate the token.",
  "rule.sast.sw.kt.2952.name": "Inappropriate Signature",
  "rule.sast.sw.kt.2952.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) base of name(\"signWith\")",
  "rule.sast.sw.kt.2952.option.taint_filter.name": "External information filter",
  "rule.sast.sw.kt.2952.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) sparrow.my.filter.utils.is_safe()",
  "rule.sast.sw.kt.2952.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.kt.2952.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of \"+\" to return",
  "rule.sast.sw.kt.2952.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.kt.2952.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) base of name(\"compact\")",
  "rule.sast.sw.kt.2952.option.taint_sink.name": "External information sink",
  "rule.sast.sw.kt.2952.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of fqn(\"io.jsonwebtoken.Jwts.builder\")",
  "rule.sast.sw.kt.2952.option.taint_source.name": "External information source",
  "rule.sast.sw.kt.2954.description": "The Weak Server Certificate checker finds a child class that inherits X509TrustManager class, but fails to redefine an overriding function, or throw an exception from the child class.\nWhen implemented X509TrustManager fails to control certificate validation, this can lead to an error. Implement X509TrustManager interface, and validate certificates.\nIt is required to validate X.509 certificates in order to create secure SSL/TLS sessions which are safe against the MITM(Man in the Middle) attacks.",
  "rule.sast.sw.kt.2954.example.0.dangerous": "Line 14: Overriden checkServerTrusted() method is not implemented, and does not throw an exception.",
  "rule.sast.sw.kt.2954.example.0.safe": "Line 14: Implement checkServerTrusted() not to be empty.\nLine 25: Throw CertificateException.",
  "rule.sast.sw.kt.2954.name": "Weak Server Certificate",
  "rule.sast.sw.kt.2956.description": "The Deserialization of Untrusted Data checker finds code that uses insecure deserialization method or annotation.\nYou can serialize objects for storing or transmitting, and deserialize them when you need. However, if you deserialize untrusted data without separate protection, it can run malicious code by adding a tainted object or variable.\nAvoid using vulnerable functions such as `ObjectInputStream.readObject`, and use secure functions such as `SerialKiller` of ikkisoft, `ValidatingObjectInputStream` of Apache Commons IO, or `SafeObjectInputStream` of contrast-rO0.",
  "rule.sast.sw.kt.2956.example.0.dangerous": "Line 9: readObject function of insecure ObjectInputStream is used.\nLine 13: JsonTypeInfo.Id.CLASS annotation of insecure Jackson is used.",
  "rule.sast.sw.kt.2956.example.0.safe": "Line 7: readObject function of ValidatingObjectInputStream is used.\nLine 10: JsonTypeInfo.Id.NAME annotation of secure Jackson is used.",
  "rule.sast.sw.kt.2956.name": "Deserialization of Untrusted Data",
  "rule.sast.sw.kt.2956.option.forbidden_fqn.description": "Write a name of the function to be forbidden.",
  "rule.sast.sw.kt.2956.option.forbidden_fqn.name": "Function to be forbidden",
  "rule.sast.sw.kt.2968.description": "The Insecure Hostname Unchecked in Android checker finds verify function that returns true only in HostnameVerifier interface.\nEven when a certificate is well configured, signed, and verified by a chain of trust, it is generated for other sites, not for the site that the program expected. \nWhen verify function of HostnameVerifier interface always returns true in Android, all certificates will be accepted. Therefore, attackers can use certificates with incorrect hostnames in the MITM attacks.\nEnsure to return a true for the verify function of HostnameVerifier only when its certificates are properly verified.",
  "rule.sast.sw.kt.2968.example.0.dangerous": "Line 5: A function always returns true regardless of a certificate hostname.",
  "rule.sast.sw.kt.2968.example.0.safe": "Line 12: Check that the hostname is correct.\nLine 13: Return true only when the hostname is correct.\nLine 15: Return false when the hostname is incorrect.",
  "rule.sast.sw.kt.2968.name": "Insecure Hostname Unchecked in Android",
  "rule.sast.sw.kt.7363.description": "In Kotlin, exceptions can be handled using not only the standard try-catch statement but also the `runCatching` function and the `Result` class. However, if the body used for failure handling (`onFailure`) is empty, the exception situation may be detected but not handled appropriately, causing the program to behave unexpectedly.\n\nIn a coroutine environment, exceptions occurring internally can be handled through `CoroutineExceptionHandler`. However, if the handler's body is empty, the raised exceptions will not be processed correctly, leading to a failure to detect asynchronous task failures.\n\nSimilarly, the `@ExceptionHandler` provided in the Spring environment can also lead to issues. If there is no actual exception handling implemented within the method annotated with this annotation, the raised exceptions may be hidden, resulting in the same problem.\n\nAttackers can exploit situations where exceptions are not handled, causing the program to operate in unintended ways. Areas where exceptions may occur should use appropriate exception handling statements to recognize and respond to situations. When using `runCatching`, `Result`, `CoroutineExceptionHandler`, and `@ExceptionHandler`, it is essential to include practical exception handling logic such as logging, notifications, and rethrowing to ensure the program's state is clearly understood.",
  "rule.sast.sw.kt.7363.example.0.dangerous": "Line 4: The `onFailure` block is empty, and there is no logic to handle actual exceptions.",
  "rule.sast.sw.kt.7363.example.0.safe": "Line 5: Use appropriate exception handling statements in areas where exceptions may occur for safety.",
  "rule.sast.sw.kt.7363.name": "Cannot Properly React to Errors",
  "rule.sast.sw.kt.7381.description": "Integer overflow occurs when the result of an integer operation exceeds the range that the type can represent. In this case, the value may change to a negative or incorrect value, which can lead to exceptions or cause the program to behave unexpectedly when used for array sizes, indices, buffer lengths, etc. Additionally, when converting from a larger integer type to a smaller integer type (Long → Int), if the range is not checked, the value may be incorrectly converted, leading to the same issues.\n\nIt is essential to verify the representation range of integer types in advance, depending on the language and platform. When using integer variables in operations, check that the result does not exceed the range of the target type, and when utilizing external input values for dynamic memory allocation, ensure that the variable is within an appropriate range. Particularly when converting from a larger integer type to a smaller integer type, it is crucial to either check the representation range of the target type in advance or use safe conversion methods that throw exceptions in cases of overflow. For example, in Java/Kotlin, using Exact methods like `Math.toIntExact()` can prevent incorrect conversions by throwing an `ArithmeticException` in overflow situations.",
  "rule.sast.sw.kt.7381.example.0.dangerous": "Line 3: An unvalidated external input param is used for shift operation.",
  "rule.sast.sw.kt.7381.example.0.safe": "Line 3: After verifying the results of operations that include external inputs using a function to check for overflow, it is being used.",
  "rule.sast.sw.kt.7381.name": "Integer Overflow",
  "rule.sast.sw.kt.7382.description": "A buffer overflow is a vulnerability that occurs when a program attempts to read or write material to a location outside the scope of its allocated memory, overwriting adjacent areas of memory. An attacker can exploit this to perform attacks such as arbitrary code execution, DoS, and more. \n\nIt typically occurs in low-level languages such as C/C++, and is less likely to occur in languages that support array bounds checking and automatic memory management, such as Java/Kotlin, because memory safety is guaranteed. \n\nHowever, care must be taken when manipulating memory directly with JVM internal low-level APIs such as jdk.internal.misc.Unsafe or sun.misc.Unsafe. This can lead to a buffer overflow vulnerability if an out-of-bounds copy or write operation is performed without proper validation of the size of the allocated memory. \nsun.misc.Unsafe/jdk.internal.misc.Unsafe is a low-level API provided for internal JVM use that is unsafe and officially deprecated. You should avoid using it and instead utilize the standard, safe APIs. \n\nTwo examples of standard APIs are VarHandle and the Foreign Memory Access API. VarHandle is an API that allows you to access a field or array element of a class, and supports type safety and array bounds checking. The Foreign Memory Access API is used to access memory external to the JVM, representing memory regions in segments to automatically check for allocated ranges and block out-of-bounds access. Using these standard APIs frees developers from having to perform memory boundary checks themselves, reducing the risk of buffer overflows.",
  "rule.sast.sw.kt.7382.example.0.dangerous": "Line 19: A buffer overflow occurs because the allocated memory size is 100 bytes, while the size to be copied is 200 bytes.",
  "rule.sast.sw.kt.7382.example.0.safe": "Line 9: Accessing array elements using VarHandle that supports automatic boundary checks prevents buffer overflow.",
  "rule.sast.sw.kt.7382.name": "Buffer overflow in range-bound copy",
  "rule.sast.sw.kt.7383.description": "If you use the entire buffer without checking the return value (number of bytes read) of `InputStream.read(byte[])`, the remaining data from the previous buffer may mix in, or the actual length read may differ from the requested length. This can lead to data integrity issues or incorrect data processing, causing the program to behave abnormally. You should not ignore the return value of the `read()` methods; instead, check for -1 (EOF) and only use the actual length read, or continue processing until you have read the required amount.",
  "rule.sast.sw.kt.7383.example.0.dangerous": "Line 6: The return value of the `read()` method is ignored, so there is no guarantee that the requested amount of data has been read.",
  "rule.sast.sw.kt.7383.example.0.safe": "Line 7: After checking the return value of the `read()` method for EOF (-1), it outputs only the amount of data actually read.",
  "rule.sast.sw.kt.7383.name": "Missing validation of return value from read method",
  "rule.sast.sw.kt.7393.description": "Hardcoded sensitive information used for internal authentication or external component communication allows attackers to steal it by sniffing, analyzing source code, or reverse engineering. The rule provides a whitelist option to specify the formats of the sensitive information. Use the sensitive information with environment variables, or archive encrypted information within a settings file or database. Also, it is recommended to use a secret management system such as the AWS Secrets Manager or the HashiCorp Vault.",
  "rule.sast.sw.kt.7393.example.0.dangerous": "Line 1: Sensitive information is hardcoded within the source code.",
  "rule.sast.sw.kt.7393.example.0.safe": "Line 1: Do not include sensitive information within the source code.",
  "rule.sast.sw.kt.7393.name": "Hardcoded sensitive information",
  "rule.sast.sw.kt.7400.description": "When external input values classified as sensitive information (such as passwords, API keys, etc.) are directly compared to hardcoded strings or integer literals within the source code to determine authentication or authorization, it poses a security vulnerability. Hardcoded literals can be easily exposed through source code leaks or reverse engineering, allowing attackers to exploit them to bypass authentication or steal privileges.\n\nThis checker provides options for the input values to be inspected. Through these options, you can specify external input values classified as sensitive information. Sensitive information should be managed using environment variables or stored in configuration files or databases in an encrypted state. The authentication logic should be implemented to compare external input values against values retrieved from storage rather than directly comparing them to hardcoded strings or integer literals.",
  "rule.sast.sw.kt.7400.example.0.dangerous": "Line 2: The external input classified as sensitive information is directly compared with the hardcoded string.",
  "rule.sast.sw.kt.7400.example.0.safe": "Line 3: Validate external input classified as sensitive information by comparing it with values retrieved from environment variables.",
  "rule.sast.sw.kt.7400.name": "Inappropriate comparison of sensitive information",
  "rule.sast.sw.kt.7401.description": "A hash function is a one-way function that maps data of different lengths to a fixed length of random data. It's used to store a user's password, for example, because using the same data always yields the same output. However, while hash functions like MD5 and SHA1 are very fast and simple to compute, which makes them seem like a good performance choice, they are vulnerable to randomization attacks by hackers. Furthermore, using hash functions on simple data is risky because it can be stored and shared in a rainbow table.  \nThere are many functions that are used to overcome the shortcomings of MD5 and SHA1. You can easily replace them by using SHA2, SHA3, or more modern and secure algorithms such as Bcrypt, Blake2, Argon2, PBKDF2, Scrypt, etc.",
  "rule.sast.sw.kt.7401.example.0.dangerous": "Line 4: An unsafe MD5 hash algorithm is being used.",
  "rule.sast.sw.kt.7401.example.0.safe": "Line 4: Use the SHA-256 hash algorithm, which is known to be secure.",
  "rule.sast.sw.kt.7401.name": "Weak hash algorithm",
  "rule.sast.sw.kt.7403.description": "Using a fixed seed in a Pseudo-Random Number Generator (PRNG) will result in the same random value being generated each time. If an attacker knows or can guess the seed, they can predict subsequent random numbers and bypass security features, such as session tokens, authentication codes, key generation, etc. \nThe seed should not be set to fixed values like integer literals or the hashCode() result of a string. When generating random numbers for security features, an unpredictable seed must always be used, and it is safer to use the `java.security.SecureRandom` class, which guarantees a higher level of randomness, instead of the `java.util.Random` class that internally uses system time as a seed. The `SecureRandom` class initializes its internal state using information obtained from the system environment or the operating system's entropy pool, making the generated random numbers unpredictable.",
  "rule.sast.sw.kt.7403.example.0.dangerous": "Line 4: A fixed seed value is being used when creating the Random object. Using a fixed seed will generate the same random values every time, which is not secure.",
  "rule.sast.sw.kt.7403.example.0.safe": "Line 4: Initialize a random number generator object using the SecureRandom class, which guarantees a high level of randomness.",
  "rule.sast.sw.kt.7403.name": "Using fixed seed for pseudo-random number generator (PRNG)",
  "rule.sast.sw.kt.7404.description": "When using predictable seeds (e.g., process ID or system time) in a Pseudo-Random Number Generator (PRNG), the search space of the seed becomes narrow, allowing attackers to easily predict the generated random values. \nIn particular, system time-based seeds can be restored and the generated random values predicted through brute-force attacks within a predictable time range, even if the exact moment of generation is unknown. Such predicted random numbers can be exploited to bypass security features like session tokens, authentication codes, and key generation.\nPredictable values like process ID or system time should not be used as seeds. When generating random numbers for security features, always use unpredictable seeds, and it is safer to use the `java.security.SecureRandom` class, which guarantees a higher level of randomness, instead of the `java.util.Random` class that internally sets the seed based on system time. `SecureRandom` class initializes its internal state using information obtained from the system environment state and the operating system's entropy pool, making the generated random numbers unpredictable.",
  "rule.sast.sw.kt.7404.example.0.dangerous": "Line 5: A predictable time value obtained from `System.currentTimeMillis()` is passed as a seed argument to the Random constructor. This allows an attacker to easily predict the values of the generated random numbers.",
  "rule.sast.sw.kt.7404.example.0.safe": "Line 4: It is safer to use the java.security.SecureRandom class, which generates unpredictable random numbers, instead of the java.util.Random class when creating random numbers.",
  "rule.sast.sw.kt.7404.name": "Using predictable seed for pseudo-random number generator (PRNG)",
  "rule.sast.sw.kt.7405.description": "Salt is a random value primarily used in password hashing or key derivation functions. The main purpose of salt is to ensure that even with the same input value, a different hash or key is always generated, thereby preventing dictionary attacks such as rainbow tables. \nHowever, if the salt is set using hardcoded strings, fixed integers, system time, UUIDv3, or predictable random numbers (e.g., `java.util.Random`, `Math.Random`, etc.), an attacker can easily guess the salt. Subsequently, the attacker can combine the guessed salt with input value candidates and repeatedly perform hash operations to reproduce or reverse-engineer the hash result. This results in the loss of randomness and uniqueness that salt is supposed to provide, diminishing the security effectiveness of hash-based authentication or password protection.\nSalts should not be generated using hardcoded values, system time, UUIDv3, or predictable random numbers (e.g., `java.util.Random`, `Math.random`, etc.). It is safe to generate salts as unpredictable random values using the `java.security.SecureRandom` class. Additionally, when hashing passwords or sensitive information, it is recommended to use security-validated hash algorithms or key derivation functions such as Bcrypt, Scrypt, Argon2, or PBKDF2.",
  "rule.sast.sw.kt.7405.example.0.dangerous": "Line 6: A salt is generated based on hardcoded strings and applied to the hash operation. An attacker can infer the salt, combine it with candidate input values, and repeatedly perform the hash operation to reproduce or reverse-engineer the hash result.",
  "rule.sast.sw.kt.7405.example.0.safe": "Line 9: A random salt that is unpredictable is generated using the `java.security.SecureRandom` class and applied to the hash operation. This method always produces different hash results for the same input value, effectively preventing rainbow table and dictionary attacks.",
  "rule.sast.sw.kt.7405.name": "Using predictable salt for one-way hashing",
  "rule.sast.sw.kt.7406.description": "If the client does not properly validate the entire trust chain from server → intermediate CA → root CA for the received certificate, or if it is configured to trust all certificates (Trust-All), untrusted certificates may be accepted as valid. An attacker can insert a self-signed intermediate CA into the chain, leading the client to trust a forged certificate. As a result, the client may establish a TLS connection with the attacker's server, allowing sensitive information to be intercepted or enabling the attacker to manipulate communications and send malicious requests to the original server.  \nClients must not trust all certificates (Trust-All) or disable trust chain validation; they must fully validate the entire trust chain from server → intermediate CA → root CA.  \nIn particular, in production environments, code that configures trust for all certificates, such as `TrustAllStrategy.INSTANCE` in Apache HttpClient or `InsecureTrustManagerFactory.INSTANCE` in Netty, should not be used. Additionally, when implementing a custom `javax.net.ssl.X509TrustManager`, it is essential to ensure that the certificate validation logic is not omitted in the `checkServerTrusted` or `checkClientTrusted` methods.",
  "rule.sast.sw.kt.7406.example.0.dangerous": "Line 4-5: The certificate validation logic is missing in the checkClientTrusted() and checkServerTrusted() methods. As a result, all certificates are trusted without validation, allowing forged certificates.",
  "rule.sast.sw.kt.7406.example.0.safe": "Line 5: Using the default X509TrustManager provided by TrustManagerFactory, certificates are automatically validated based on the trusted CA list built into the operating system.",
  "rule.sast.sw.kt.7406.name": "Improper certificate trust chain",
  "rule.sast.sw.kt.7407.description": "If the client does not validate the hostname (Common Name or Subject Alternative Name) of the server certificate, or if it is configured to trust all hostnames (e.g., a `HostnameVerifier` that always returns true), the certificate's trust and validity verification features are rendered ineffective. This can allow a TLS connection to be established even if the certificate's intended recipient does not match the actual target. An attacker can exploit this to lure the client to a forged server and intercept or modify traffic through a man-in-the-middle (MITM) attack.  \nMost standard client libraries (such as `HttpsURLConnection`, `OkHttp`, etc.) automatically perform hostname verification unless configured otherwise. You should not change this default verification behavior to trust all hostnames. In production environments, you must not use code that makes the `HostnameVerifier` always return true or disables hostname verification, such as `NoopHostnameVerifier.INSTANCE`.  \nAdditionally, avoid setting `endpointIdentificationAlgorithm` in `SSLParameters` to null or an empty string (\"\"). If this setting is applied, hostname verification will not be performed, preventing the verification of whether the certificate's intended recipient (CN/SAN) matches the actual target. Therefore, when establishing a TLS connection, you should set `endpointIdentificationAlgorithm` to \"HTTPS\" to enable hostname verification.",
  "rule.sast.sw.kt.7407.example.0.dangerous": "Line 9: The HostnameVerifier is set to return true, allowing all hostnames without verification. This permits TLS connections to servers with different certificate subjects, exposing the system to Man-in-the-Middle (MITM) attacks.",
  "rule.sast.sw.kt.7407.example.0.safe": "Line 7: Since no custom HostnameVerifier is set, the default hostname verification is performed automatically. By default, the connection is blocked if the CN/SAN of the server certificate does not match the requested hostname.",
  "rule.sast.sw.kt.7407.name": "Improper validation of certificate due to host mismatch",
  "rule.sast.sw.kt.7408.description": "Detects cases where sensitive information such as passwords and API keys are stored in plain text without encryption. An attacker with file access permissions can easily steal this information, which can be exploited for further attacks such as authentication bypass or privilege escalation.  \nWhen storing sensitive information in files, it should not be saved in plain text; instead, it should be securely stored using encryption algorithms like AES or RSA, or hash algorithms like SHA-256.  \nAdditionally, utilizing databases or secret management systems (such as AWS Secrets Manager, HashiCorp Vault, etc.) is also a good practice.",
  "rule.sast.sw.kt.7408.example.0.dangerous": "Line 6: The password received from external input is being stored in a file as plain text without encryption. In this case, if the file is leaked or access permissions are misconfigured, user credentials may be exposed.",
  "rule.sast.sw.kt.7408.example.0.safe": "Line 17: Adds a salt to the password received from external input, hashes it using MessageDigest(SHA-256), and then saves it to a file. In this case, even if the file is leaked, the password cannot be easily retrieved.",
  "rule.sast.sw.kt.7408.name": "Storing sensitive information in cleartext in files",
  "rule.sast.sw.kt.7409.description": "Detects cases where sensitive information such as account IDs, usernames, and passwords are stored in cookies as unencrypted cleartext. If cookies are exposed through attacks like XSS or network sniffing, the stored information may be revealed, leading to account compromise. \n\nCookies should not store sensitive information like account details or passwords. If maintaining a logged-in state is necessary, only a session ID or token generated from an unpredictable random number should be stored in the cookie, and that value should be managed by mapping it to the user account in the server-side session storage.\n\nAdditionally, the following security attributes should be set to prevent cookies from being exposed to attacks like XSS or network sniffing:\n\nHttpOnly: Blocks JavaScript access to prevent cookie theft via XSS.\n\nSecure: Restricts cookies to be transmitted only over HTTPS connections to prevent network sniffing.\n\nSameSite: Limits cookies from being automatically included in requests sent cross-site to prevent CSRF attacks. It is safe to set it to Lax or Strict.",
  "rule.sast.sw.kt.7409.example.0.dangerous": "Line 8: The password received from external input is being stored in the cookie as plain text. If the cookie is exposed due to attacks such as XSS or network sniffing, the password may be compromised, leading to account takeover.",
  "rule.sast.sw.kt.7409.example.0.safe": "Line 7: Sensitive information is not stored in cookies, and an unpredictable session ID generated by the servlet container is used. The session ID is randomly generated by the container and included in the cookie (JSESSIONID), securely managing user information in the server-side session storage.",
  "rule.sast.sw.kt.7409.name": "Storing sensitive information in cookies as cleartext",
  "rule.sast.sw.kt.7415.description": "Detects cases where sensitive information such as passwords and API keys are stored in the registry in cleartext without encryption. An attacker with access to the registry can easily steal this information, which can be exploited for further attacks such as authentication bypass or privilege escalation.  \nSensitive information should always be stored in an encrypted state. If possible, it is safer to store it in a credential store of the operating system or in secret management systems like AWS Secrets Manager or HashiCorp Vault.",
  "rule.sast.sw.kt.7415.example.0.dangerous": "Line 11: Storing user input that does not encrypt sensitive information in the registry.",
  "rule.sast.sw.kt.7415.example.0.safe": "Line 12: Storing user input hashed with SHA-256 in the registry for sensitive information.",
  "rule.sast.sw.kt.7415.name": "Storing sensitive information in the registry as cleartext",
  "rule.sast.sw.kt.7418.description": "Detects code that stores sensitive information such as user accounts, passwords, tokens, and API keys in plaintext in externally accessible paths (e.g., /public, /static, web server document root: /var/www/html). If such files are placed in public paths, anyone can easily access the files and obtain sensitive information contained within.\n\nEspecially when directory listing is enabled or file names are predictable, attackers can obtain sensitive information simply by guessing URLs, which can lead to security incidents such as account theft, privilege escalation, and personal data leaks. Sensitive information should not be stored in externally accessible paths like web server document roots or public directories. Sensitive information that needs to be stored should be kept encrypted in a database or a trusted secret management system (e.g., AWS Secrets Manager, HashiCorp Vault).\n\nAdditionally, directories containing sensitive information should be configured to prevent external access through web server access controls, disabling directory indexing, and restricting file permissions to prevent internal information leaks.",
  "rule.sast.sw.kt.7418.example.0.dangerous": "Line 9: The password received from external input is being stored in plaintext at a publicly accessible path (`public_path`). In this case, an attacker with access to the public directory can easily open the file and obtain sensitive information.",
  "rule.sast.sw.kt.7418.example.0.safe": "Line 20: A salt is added to the password received from external input, hashed with SHA-256, and then stored in an internal-only path. This method does not expose the password in plaintext and uses a path that is inaccessible from outside, making it secure.",
  "rule.sast.sw.kt.7418.name": "Storing sensitive information in externally accessible paths",
  "rule.sast.sw.kt.7419.description": "Detects code that stores sensitive information such as user accounts, passwords, and API keys in plaintext in repositories without access control (external storage, public SD cards, etc.). Storing sensitive information in such repositories allows other apps on the same device or third parties with physical access to the media to easily read, duplicate, or delete that data. This can lead to security incidents such as account theft, privilege escalation, and personal information leakage.  \nSensitive information should not be stored in repositories without access control, such as external storage or public SD cards. If storage is necessary, use app-internal dedicated storage or a secure secret management system (such as Android Keystore, AWS Secrets Manager, HashiCorp Vault, etc.).  \n\nAdditionally, in the Android environment, comply with the Scoped Storage policy and minimize access to external storage to prevent unnecessary file exposure.  \n\n※ In Android 10 (API 29) and above, due to the Scoped Storage policy, apps can freely access their own app-specific directories but cannot access data from other apps or public directories in external storage.",
  "rule.sast.sw.kt.7419.example.0.dangerous": "Line 7: The password received from user input is being stored in plaintext at the external storage root path (/storage/emulated/0). Since external storage has no access control, anyone can view this file, making sensitive information easily exposed.",
  "rule.sast.sw.kt.7419.example.0.safe": "Line 17: The password received from user input is salted and hashed with SHA-256, then stored in internal storage. The internal storage has app-specific access permissions, so it cannot be accessed externally.",
  "rule.sast.sw.kt.7419.name": "Storing sensitive information on a file system or device without access control",
  "rule.sast.sw.kt.7424.description": "An implicit intent in Android does not specify a target recipient and is delivered based only on action or data, allowing any application with an intent filter to receive it. If an application sends sensitive information such as passwords, tokens, or API keys via an implicit broadcast, there is a risk that untrusted applications could intercept or manipulate that information.\n\nBroadcast transmission methods are categorized into normal (non-ordered), ordered, and the previously used sticky method. Normal broadcasts are sent to all receivers simultaneously without priority being applied. Ordered broadcasts are delivered sequentially based on the priority of registered receivers, where a high-priority malicious receiver could modify the intent or block delivery with `abortBroadcast()`, potentially leading to authentication flow compromise or denial of service (DoS). Sticky broadcasts leave the sent intent in the system, allowing it to be re-delivered to receivers that register later, which poses a risk of previously sent sensitive information being exposed for an extended period.\n\nAdditionally, if a broadcast intent includes a URI in the form of `content://` or `file://` along with access permissions, a receiver that intercepts it could access resources with those permissions, leading to sensitive data leakage. Sensitive information such as passwords, tokens, or API keys should not be transmitted via broadcasts. When communication with external components is necessary, it is safer to use an explicit intent instead of an implicit broadcast or to specify the recipient using `setPackage()` to limit the broadcast scope.\n\nFurthermore, `sendOrderedBroadcast` should be avoided as the intent can be tampered with or blocked by malicious receivers. `sendStickyBroadcast` has been deprecated for general apps since Android 5.0 (API 21) due to security and performance issues and can only be used by system apps or apps with special permissions.",
  "rule.sast.sw.kt.7424.example.0.dangerous": "Line 8: Sensitive information (token) is being transmitted via implicit broadcast. Since the recipient is not specified, any external application that has registered the same action (com.example.ACTION_TOKEN) can receive the token.",
  "rule.sast.sw.kt.7424.example.0.safe": "Line 8: Use explicit intents to pass data only to trusted internal components (SecureReceiver).",
  "rule.sast.sw.kt.7424.name": "Transmission of sensitive information via implicit broadcast",
  "rule.sast.sw.kt.7428.description": "The DTD (Document Type Definition) within an XML document can define entities and reference other entities. However, if entity references are recursive (circular) or deeply nested, the parser can experience an exponential increase in output size and computational load during the expansion process.\n\nThis can lead to a sharp increase in CPU and memory usage during parsing, potentially causing the process to overload or terminate due to out-of-memory (OOM) conditions, resulting in a risk of denial-of-service (DoS) states. Such attacks are known as XML Entity Expansion (XEE) or XML Bomb/Billion Laughs and primarily occur in systems that do not restrict DTD usage for untrusted input or do not properly control entity expansion behavior in the parser. \n\nFor untrusted XML input, DTD declarations and entity expansion should not be allowed. If DTD usage is necessary, it should be configured to reference only locally validated static DTDs without interpreting externally provided DTDs.\n\nAdditionally, access to external entities should be blocked, and limits should be placed on entity expansion depth and document size to prevent denial-of-service (DoS) attacks.\n\nWhen using an XML parser, DTD declarations should be explicitly disabled as follows. If deactivation is not applied, DTD declarations will be allowed, exposing the system to XML Bomb (XEE) attacks.\n\nIn the DocumentBuilderFactory, SAXParserFactory, SAXReader, and SAXBuilder classes, apply the setting `setFeature(\"http://apache.org/xml/features/disallow-doctype-decl\", true)`. In the XMLInputFactory class, disable DTD support with `setProperty(\"javax.xml.stream.supportDTD\", false)`.",
  "rule.sast.sw.kt.7428.example.0.dangerous": "Line 2: There is no configuration to disable DTD (disallow-doctype-decl=true) and block external entities immediately after creating the DocumentBuilderFactory. Creating a parser in this state may allow DTDs, exposing it to XML Bomb (XEE) attacks.",
  "rule.sast.sw.kt.7428.example.0.safe": "Line 4: Explicitly apply DTD disabling and external entity blocking settings in the `apply {}` block immediately after creating the DocumentBuilderFactory.",
  "rule.sast.sw.kt.7428.name": "Improper restriction of recursive entity references in DTD (XML entity expansion)",
  "rule.sast.sw.kt.7433.description": "Deadlock in Kotlin occurs due to improper lock usage or synchronous blocking of coroutines. Specifically, a deadlock can happen when a method acquires the lock of its own instance (`this`) and then attempts to acquire the lock of another instance passed as a parameter. If one thread acquires the locks in the order of `this → param` and another thread acquires them in the order of `param → this`, both threads will end up waiting indefinitely for each other's locks to be released.\n\nAdditionally, code that synchronously blocks the main (UI) dispatcher, such as `runBlocking(Dispatchers.Main)`, can also lead to deadlocks. Since the main dispatcher operates on a single thread, if that thread is structured to wait for other coroutines to execute, it results in a deadlock where it blocks itself. This can cause the UI to freeze or the service to become unresponsive.\n\n**Dispatcher:** A component that determines which thread or thread pool a coroutine will run on. `Dispatchers.Main` refers to the UI thread, while `Dispatchers.IO` refers to a thread pool for input/output operations. \n\nWhen using nested locks, it is essential to clearly define and consistently apply the order of lock acquisition. If the order of lock acquisition varies across code, it can lead to circular waiting for each other's locks to be released. Therefore, the same lock acquisition rules should be applied across all code to prevent deadlocks.\n\nMoreover, synchronous blocking should not be used on the main (UI) dispatcher. Coroutines should be executed asynchronously on the UI thread using `launch(Dispatchers.Main)`, and long-running operations or input/output (I/O) tasks should be separated and performed with `withContext(Dispatchers.IO)`.",
  "rule.sast.sw.kt.7433.example.0.dangerous": "Line 3: A nested lock acquisition of the parameter (`to`) object is occurring within `synchronized(this)`. If two instances call `transfer()` on each other simultaneously, a deadlock may occur due to the conflicting lock acquisition order of `this → to` and `to → this`.",
  "rule.sast.sw.kt.7433.example.0.safe": "Line 6: Clearly define the order of lock acquisition to always acquire locks in the same order.",
  "rule.sast.sw.kt.7433.name": "Deadlock",
  "rule.sast.sw.kt.7434.description": "In Android, `ParcelFileDescriptor` (PFD) is a Parcelable object that wraps the operating system's file descriptor, allowing it to be passed between processes via Binder IPC. When an application sends a file descriptor obtained through methods like `ParcelFileDescriptor.open()` or `ContentResolver.openFileDescriptor()` via an implicit broadcast, an external application with an intent filter can receive that broadcast and obtain a copy of the PFD. This allows the external application to directly read or modify the file, posing a risk of sensitive information stored in the file being leaked or altered without authorization.\n\n※ Binder IPC: The default inter-process communication (IPC) method in Android, used for data transfer between applications.  \nFile access permissions should not be transmitted through implicit broadcasts. If an external application receives the intent, file access permissions may be unintentionally exposed, so it is essential to restrict transmission to explicit intents sent only to trusted internal components.\n\nAdditionally, file descriptors (`ParcelFileDescriptor`) should not be sent directly through intents. If you need to share a file with external components, you should use `FileProvider` to create a URI in the `content://` format and include it in the intent. It is safe to set `FLAG_GRANT_READ_URI_PERMISSION` or `FLAG_GRANT_WRITE_URI_PERMISSION` to temporarily grant only the necessary permissions. `FileProvider` is a component that allows access permissions to be delegated in URI form without directly transferring files, and it must be configured with `grantUriPermissions=\"true\"` in `AndroidManifest.xml` for permission delegation to take effect.",
  "rule.sast.sw.kt.7434.example.0.dangerous": "Line 13: An intent containing a ParcelFileDescriptor object is being sent as an implicit broadcast. Since the recipient is not specified, any external application that registers the same action (com.example.ACTION_EXPORT) can obtain a copy of the file descriptor and directly access or modify the file.",
  "rule.sast.sw.kt.7434.example.0.safe": "Line 16: Only URIs in the content:// format are sent using FileProvider, so the file descriptor (PFD) is not exposed. Additionally, data is only passed to trusted internal components (SecureReceiver) using explicit intents.",
  "rule.sast.sw.kt.7434.name": "Exposure of file descriptors through implicit broadcast",
  "rule.sast.sw.kt.7495.description": "Vulnerable XML transformation security is a vulnerability that allows an XML parser to accept DOCTYPE (DTD) or External Entity, enabling an attacker to manipulate XML input values to cause internal file disclosure, SSRF, and other system information exposure.\n\nIf the parser processes external input without proper security settings, the following attacks may occur:\n\n- Internal file exposure (file:///)\n- Internal network SSRF\n- DoS due to XML Bomb / Billion Laughs attack\n- Path and system information leakage\n\nWhen an XML parser allows external input, the following 6 security settings must be applied:\n\n- Prohibit DOCTYPE declaration\n    - `setFeature(\"http://apache.org/xml/features/disallow-doctype-decl\", true)`\n- Prohibit external general entities\n    - `setFeature(\"http://xml.org/sax/features/external-general-entities\", false)`\n- Prohibit external parameter entities\n    - `setFeature(\"http://xml.org/sax/features/external-parameter-entities\", false)`\n- Prohibit external DTD loading\n    - `setFeature(\"http://apache.org/xml/features/nonvalidating/load-external-dtd\", false)`\n- Prevent resource exhaustion\n    - `setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true)`\n- Block access to all external resources such as DTD/Schema/XSLT\n    - `setAttribute(XMLConstants.ACCESS_EXTERNAL_DTD, \"\")`\n    - `setAttribute(XMLConstants.ACCESS_EXTERNAL_SCHEMA, \"\")`\n    - `setAttribute(XMLConstants.ACCESS_EXTERNAL_STYLESHEET, \"\")`",
  "rule.sast.sw.kt.7495.example.0.dangerous": "Line 10: There is an XXE risk when processing external input-based XML without separate security options.",
  "rule.sast.sw.kt.7495.example.0.safe": "Line 7-16: Six security options have been configured when allowing external input.\nLine 19: XML processing based on external input is performed safely through the TransformerFactory object with the security options set.",
  "rule.sast.sw.kt.7495.name": "Improper restriction of XML external entity references",
  "rule.sast.sw.lua.7155.description": "Basic authentication schemes that embed usernames and passwords within URLs can lead to serious security issues. This method exposes credentials in plain text in the URL, which can lead to information leakage from log files or browser history. It's also vulnerable to man-in-the-middle attacks, increasing the likelihood that malicious users can access user data or launch phishing attacks.\nYou should avoid embedding usernames and passwords in URLs and use more secure authentication methods, such as OAuth or managing credentials through environment variables.",
  "rule.sast.sw.lua.7155.example.0.dangerous": "Line 3: The default credentials, including username and password, are hardcoded, which is dangerous.",
  "rule.sast.sw.lua.7155.example.0.safe": "Line 3: Keep the basic authentication information containing usernames and passwords safe with .env file.",
  "rule.sast.sw.lua.7155.name": "Hardcoded Credential",
  "rule.sast.sw.lua.7156.description": "Email addresses embedded within source code can be targets for spamming, phishing attacks, and can even provide hackers with information about internal data management if the personal email of an administrator or other sensitive person is accidentally exposed.\nTake care to ensure that email addresses are not hardcoded within your code, and if necessary, implement them so that they can be loaded dynamically via environment variables or configuration files.",
  "rule.sast.sw.lua.7156.example.0.dangerous": "Line 1: The hardcoded email information is present, which is dangerous.",
  "rule.sast.sw.lua.7156.example.0.safe": "Line 1: Keep the email information safe with an .env file.",
  "rule.sast.sw.lua.7156.name": "Hard-coded email addresses",
  "rule.sast.sw.lua.7157.description": "IP addresses embedded in source code can be the source of a variety of security threats. Exposed IP addresses can give attackers hints about the structure of your network and make you a target for distributed denial-of-service (DDoS) attacks, sniffing, or more subtle attacks.\nBe careful not to hardcode IP addresses in your source code, and if necessary, implement them to be loaded dynamically via environment variables or configuration files.",
  "rule.sast.sw.lua.7157.example.0.dangerous": "Line 4: The hardcoded IP information is present, which is dangerous.",
  "rule.sast.sw.lua.7157.example.0.safe": "Line 4: Keep the IP information safe with an .env file.",
  "rule.sast.sw.lua.7157.name": "Hardcoded IP addresses",
  "rule.sast.sw.lua.7158.description": "Including hardcoded API keys within your source code is a big security mistake because it exposes that information to the outside world when your source code is made public, increasing the risk of unauthorized access. For example, if this information is found in a public repository or collaborative codebase, a malicious user could hijack your system or gain unauthorized access to your data.\nStore your API keys securely, such as in an environment variable or an encrypted configuration file, so that you can access them when you need them.",
  "rule.sast.sw.lua.7158.example.0.dangerous": "Line 6: The hard-coded API key is present, so it's dangerous.",
  "rule.sast.sw.lua.7158.example.0.safe": "Line 6: Keep the API key safe with an .env file.",
  "rule.sast.sw.lua.7158.name": "Hardcoded API keys",
  "rule.sast.sw.lua.7159.description": "A hash function is a one-way function that maps data of different lengths to a fixed length of random data. It's used to store a user's password, for example, because using the same data always yields the same data. However, while hash functions like MD5 and SHA1 are very fast and simple to compute a hash, which makes them seem like a good performance choice, they are vulnerable to randomization attacks by hackers. Furthermore, using hash functions on simple data is risky because it is stored and shared in a rainbow table.\nThere are many functions that are used to overcome the shortcomings of MD5 and SHA1. You can easily replace them by using SHA2, SHA3, or more modern and secure algorithms such as Bcrypt, Blake2, Argon2, PBKDF2, Scrypt, etc.",
  "rule.sast.sw.lua.7159.example.0.dangerous": "Line 5: It uses a hash function that is vulnerable to randomization attacks, which is dangerous.",
  "rule.sast.sw.lua.7159.example.0.safe": "Line 5: It's secure, using a relatively modern, secure hash function.",
  "rule.sast.sw.lua.7159.example.1.dangerous": "Line 5: It uses a hash function that is vulnerable to randomization attacks, which is dangerous.",
  "rule.sast.sw.lua.7159.example.1.safe": "Line 5: It's secure, using a relatively modern, secure hash function.",
  "rule.sast.sw.lua.7159.example.2.dangerous": "Line 5: It uses a hash function that is vulnerable to randomization attacks, which is dangerous.",
  "rule.sast.sw.lua.7159.example.2.safe": "Line 5: It's secure, using a relatively modern, secure hash function.",
  "rule.sast.sw.lua.7159.name": "Weak Hash",
  "rule.sast.sw.lua.7160.description": "Cryptographically insecure random number generators can produce predictable values, which can lead to security vulnerabilities.\nMost modern languages provide secure randomization methods. It is usually easy to replace a random number that was not created with security in mind by using a more secure random number method.",
  "rule.sast.sw.lua.7160.example.0.dangerous": "Line 1: The random method of math generates predictable values, which is unsecure.",
  "rule.sast.sw.lua.7160.example.0.safe": "Line 4: The bytes methods of openssl.rand generates unpredictable values, which is safe.",
  "rule.sast.sw.lua.7160.name": "Weak random numbers",
  "rule.sast.sw.lua.7161.description": "RSA encryption is one of the public key encryption mechanism: the longer key makes the encryption stronger. In general, a key length of 2048 bits is considered as appropriate. Because it is practically impossible to decrypt the encryption without the key.\nIt is recommended to use a 2048 bits or longer key for the RSA. Although 3072 or 4096 bits key enhances security on the encryption, 2048 bits key is more recommendable than others. Since computing resources get increased on encryption and decryption of the longer key.\n",
  "rule.sast.sw.lua.7161.example.0.dangerous": "Line 3: RSA key length is less than 2048 bits, which is dangerous.",
  "rule.sast.sw.lua.7161.example.0.safe": "Line 3: RSA key length is set to 2048 bits or more, which is secure.",
  "rule.sast.sw.lua.7161.example.1.dangerous": "Line 3: RSA key length is less than 2048 bits, which is dangerous.",
  "rule.sast.sw.lua.7161.example.1.safe": "Line 3: RSA key length is set to 2048 bits or more, which is secure.",
  "rule.sast.sw.lua.7161.name": "Insufficient RSA encryption key length",
  "rule.sast.sw.lua.7162.description": "Basic authentication schemes that embed usernames and passwords within URLs can lead to serious security issues. This method exposes credentials in plain text in the URL, which can lead to information leakage from log files or browser history. It's also vulnerable to man-in-the-middle attacks, increasing the likelihood that malicious users can access user data or launch phishing attacks.\nYou should avoid embedding usernames and passwords in URLs and use more secure authentication methods, such as OAuth or managing credentials through environment variables.",
  "rule.sast.sw.lua.7162.example.0.dangerous": "Line 3: Basic authentication information, including username and password, is present within the comment, which is dangerous.",
  "rule.sast.sw.lua.7162.example.0.safe": "Line 3: The default authentication information, including username and password, is not present within the comment, so it is safe.",
  "rule.sast.sw.lua.7162.name": "Credentials in comments",
  "rule.sast.sw.lua.7163.description": "Email addresses included in comments can be targets for spamming, phishing attacks, and can even provide hackers with information about internal data management if the personal emails of administrators or other important people are accidentally exposed.\nBe careful not to hardcode email addresses into comments, and if necessary, implement them so that they can be loaded dynamically via environment variables or configuration files.",
  "rule.sast.sw.lua.7163.example.0.dangerous": "Line 1: The email information is present in the comment, which is dangerous.",
  "rule.sast.sw.lua.7163.example.0.safe": "Line 1: The email information is not present in the comment, so it's safe.",
  "rule.sast.sw.lua.7163.name": "Email addresses in comments",
  "rule.sast.sw.lua.7164.description": "IP addresses contained in comments can be the source of a variety of security threats. Exposed IP addresses can give attackers hints about the structure of your network and make you a target for distributed denial-of-service (DDoS) attacks, sniffing, or more subtle attacks.\nBe careful not to hardcode IP addresses in comments, and if necessary, implement them to be loaded dynamically via environment variables or configuration files.",
  "rule.sast.sw.lua.7164.example.0.dangerous": "Line 5: IP information is present in the comment, which is dangerous.",
  "rule.sast.sw.lua.7164.example.0.safe": "Line 4: No IP information exists within the comment, so it's safe.",
  "rule.sast.sw.lua.7164.name": "IP addresses in comments",
  "rule.sast.sw.lua.7165.description": "Including hard-coded API keys within comments is a big security mistake because it exposes that information to the outside world when the source code is released, increasing the risk of unauthorized access. For example, if this information is found in a public repository or collaborative codebase, a malicious user could hijack your system or gain unauthorized access to your data.\nStore your API keys securely, such as in an environment variable or an encrypted configuration file, so that you can access them when you need them.",
  "rule.sast.sw.lua.7165.example.0.dangerous": "Line 6: The API Key value is present in the comment, which is dangerous.",
  "rule.sast.sw.lua.7165.example.0.safe": "Line 6: The API Key value is not present within the comment, so it is safe.",
  "rule.sast.sw.lua.7165.name": "API keys in comments",
  "rule.sast.sw.lua.7166.description": "The debugging code is used for logging in development process. However, they can cause lower performance or leak sensitive information on logs during production stage. Therefore, the debugging code need to be removed.\nReview and remove all debugging code from the code in preparation of the production stage.",
  "rule.sast.sw.lua.7166.example.0.dangerous": "Line 2: This is insecure because the debug code has not been removed.",
  "rule.sast.sw.lua.7166.example.0.safe": "Line 2: This is secure because the debug code is commented out.",
  "rule.sast.sw.lua.7166.name": "Debug Code Not Removed",
  "rule.sast.sw.lua.7168.description": "Weak encryption algorithms can give attackers the opportunity to decrypt data. Algorithms that were once thought to take billions of years to crack can now be cracked in days or even hours. Examples include algorithms like RC2, DES, and Blowfish.\nDeveloping your own encryption algorithms is risky, and it's better to use standardized algorithms that have already been proven in academia and industry. Use secure encryption algorithms like AES, RSA, ECC, and others instead of those known to be weak.",
  "rule.sast.sw.lua.7168.example.0.dangerous": "Line 6: DES, a weak encryption algorithm, is used in encryption, which is dangerous.",
  "rule.sast.sw.lua.7168.example.0.safe": "Line 7: This uses the AES, which is a secure encryption algorithm.",
  "rule.sast.sw.lua.7168.example.1.dangerous": "Line 7: The encryption process is risky because DES, a weak encryption algorithm, is used.",
  "rule.sast.sw.lua.7168.example.1.safe": "Line 7: This uses the AES, which is a secure encryption algorithm.",
  "rule.sast.sw.lua.7168.example.2.dangerous": "Line 3: The encryption process is risky because Blowfish, a weak encryption algorithm, is used.",
  "rule.sast.sw.lua.7168.example.2.safe": "Line 7: This uses the AES, which is a secure encryption algorithm.",
  "rule.sast.sw.lua.7168.name": "Weak cryptographic algorithm",
  "rule.sast.sw.objc.1882.description": "The Redirection to untrusted site checker finds instances of redirecting to a URL generated with an unvalidated external input.\nAlthough connecting to a client-provided URL is often believed to be safe, an attacker can modify the request and redirect the user to a malicious site.\nMaintain a whitelist of external site URLs and domains allowed for redirection, which needs to be checked when a user input is passed as a redirect URL.",
  "rule.sast.sw.objc.1882.example.0.dangerous": "Line 2: Unvalidated strings are sent to openURL.",
  "rule.sast.sw.objc.1882.example.0.safe": "Line 3: Send validated strings through [stringByAddingPercentEncodingWithAllowedCharacters] message.",
  "rule.sast.sw.objc.1882.name": "Redirection to untrusted site",
  "rule.sast.sw.objc.1882.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />example) filter$param(1)",
  "rule.sast.sw.objc.1882.option.taint_filter.name": "External information filter",
  "rule.sast.sw.objc.1882.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.objc.1882.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.objc.1882.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) strcpy$param(2)->param(1)",
  "rule.sast.sw.objc.1882.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.objc.1882.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) printf$param(1)",
  "rule.sast.sw.objc.1882.option.taint_sink.name": "External information sink",
  "rule.sast.sw.objc.1882.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) getenv$return",
  "rule.sast.sw.objc.1882.option.taint_source.name": "External information source",
  "rule.sast.sw.objc.1897.description": "The Misuse of signal handler checker finds instances of failure to ensure a signal handler persists in different OS environments.\nA signal handler's persistence and behavior differ depending on the operating system and the implementation. Therefore, you need to understand implementation-specific details of its behavior.\nDepending on the OS, a handler registered by the signal() function automatically persists or gets unregistered only after handling the first signal. To address the latter case, often the handler re-registers itself inside it, but this approach is not safe: If a new signal is generated in the interval between the time of the handler being called and the time of the handler re-registering itself using signal(), the default signal handler will be executed instead.\nTo make a signal handler persist, use an appropriate, safe approach.",
  "rule.sast.sw.objc.1897.example.0.dangerous": "Line 3: signal() function is called from inside to persist a signal handler, and registers the resetted handler again. A race window has been found between a time of call for the handler and time of use for the signal() function.",
  "rule.sast.sw.objc.1897.example.0.safe": "Line 4: The POSIX can use flags to control persistence of the signal handler. But Windows does not support solutions.",
  "rule.sast.sw.objc.1897.name": "Misuse of signal handler",
  "rule.sast.sw.objc.1899.description": "The Missing check of return value checker finds instances in which a function return is not used, or a function return is inspected but followed by no safeguards against possible errors. \nYou can optionally add functions subject to checking.\nIf a function return is not used, or an inspected return is left with no safeguards, the program may behave in an unexpected manner. Programmers often mis-assume that function calls never fail. But function calls may sometimes fail, and this can be exploited to attack the program or allow for security vulnerabilities.\nMake sure the specified functions' returns are inspected and safeguards are taken according to the inspection results. ",
  "rule.sast.sw.objc.1899.example.0.dangerous": "Line 2: A return value is not checked.\nLine 3: A return value of fputs() is inspected, but left without a safequard.",
  "rule.sast.sw.objc.1899.example.0.safe": "Line 2: Inspect the result, and add code for the error.",
  "rule.sast.sw.objc.1899.name": "Missing check of return value",
  "rule.sast.sw.objc.1899.option.target_grp1.description": "Write functions in condition test list.",
  "rule.sast.sw.objc.1899.option.target_grp1.name": "Functions in condition test",
  "rule.sast.sw.objc.1900.description": "The TOCTOU race condition checker finds race conditions occurring between the time of checking a resource's state and the time of using it.\nWhen coding to check the state of a resource and access it based on the checked state, programmers often assume that the checked state will persist until the resource is accessed. But the resource's state can change between the check and the use. This can happen even in a non-multithreaded program because the state of resources such as files can be changed by other programs or the operating system. These race conditions can cause the program to perform invalid actions or throw an exception and may help attackers gain access to unauthorized resources.\nIf resource accessibility needs to be determined based on resource state, use approaches such as synchronization that ensure exclusive access to resources. Or, there are some APIs available that help implement actions handling file resources. They attempt the given resource action and return different results based on the resource's state.",
  "rule.sast.sw.objc.1900.example.0.dangerous": "Line 4: States between access() and open() can be different, which is vulnerable.",
  "rule.sast.sw.objc.1900.example.0.safe": "Line 3: Use open() function to specify mode.\nLine 5: Use fchmod() with fd of open() instead of chmod().",
  "rule.sast.sw.objc.1900.name": "TOCTOU race condition",
  "rule.sast.sw.objc.1900.option.forbiddenTOUCOU.description": "Since the time of checking the condition and the time of using the results of the checks could be  different.",
  "rule.sast.sw.objc.1900.option.forbiddenTOUCOU.name": "Functions can occur that Race condition",
  "rule.sast.sw.objc.1902.description": "The Password in comment checker finds comments that contain password information. \nPassword information contained in comments can be exposed to attackers. This practice may allow for security threats to the system. Passwords are often written in comments for development convenience, but they are hard to remove once the software is deployed into production. Do not include IDs, passwords, and other security-sensitive information in comments. If an attacker can access the source code or use reverse engineering to view the code, the attacker will be able to easily intrude the system.\nEliminate password information in comments.",
  "rule.sast.sw.objc.1902.example.0.dangerous": "Line 1: A password is specified in comments.\nLine 2: A passwd is specified in comments.",
  "rule.sast.sw.objc.1902.example.0.safe": "Line 1: Remove code to be used for debugging, such as userId and password information in comments.",
  "rule.sast.sw.objc.1902.name": "Password in comment",
  "rule.sast.sw.objc.1902.option.allowed_max_word_length.description": "Write the maximum length of a single word to be allowed in comments.<br />Example) 40",
  "rule.sast.sw.objc.1902.option.allowed_max_word_length.name": "Maximum consecutive word length",
  "rule.sast.sw.objc.1902.option.check_header.description": "If selected, all comments in the header files will be checked.",
  "rule.sast.sw.objc.1902.option.check_header.name": "Inspect header files",
  "rule.sast.sw.objc.1902.option.check_password_only.description": "If the option is enabled, password expressions will be detected even if it exists solely.",
  "rule.sast.sw.objc.1902.option.check_password_only.name": "Check password expressions solely existing",
  "rule.sast.sw.objc.1902.option.consecutive_word_expr.description": "Write an expression of the consecutive word which exceeds the maximum length to be detected.<br />Example) [a-zA-Z0-9]+",
  "rule.sast.sw.objc.1902.option.consecutive_word_expr.name": "Consecutive word expressions to detect",
  "rule.sast.sw.objc.1902.option.fixed_key_length.description": "Write a fixed length of key.",
  "rule.sast.sw.objc.1902.option.fixed_key_length.name": "A fixed length of key",
  "rule.sast.sw.objc.1902.option.password_expr.description": "Write the expression of a string that may be considered as a password.<br />Example) password",
  "rule.sast.sw.objc.1902.option.password_expr.name": "Password expression",
  "rule.sast.sw.objc.1902.option.using_fixed_key_length.description": "If the option is enabled, the fixed length of key string will be detected.",
  "rule.sast.sw.objc.1902.option.using_fixed_key_length.name": "Check a fixed length of key",
  "rule.sast.sw.objc.1904.description": "The Buffer overflow in string copy checker finds string function calls with an error for copying a specific size of data from memories.\nYou can optionally specify string functions subject to checking.\nBuffer overflow and underflow are the most widely known types of software security vulnerabilities. They can be exploited to access inaccessible memory and steal sensitive information therefrom. Or, they may allow attackers to run a malicious code intended for a denial-of-service (DoS) attack or causing various other problems.\nWhen using a string function that copies a specific size of in-memory data, make sure the specified range is kept.",
  "rule.sast.sw.objc.1904.example.0.dangerous": "Line 1: Size of array buf1 is declared as 100.\nLine 2: Size of array buf2 is declared as 200.\nLine 4: buf2 strings are copied to buf1 through strcpy() function. If size of bu2 strings are larger than buf1, a buffer overflow occurs.",
  "rule.sast.sw.objc.1904.example.0.safe": "Line 4: Prevent the buffer overrun through strlcpy().",
  "rule.sast.sw.objc.1904.name": "Buffer overflow in string copy",
  "rule.sast.sw.objc.1904.option.string_function.description": "When handle string with function, it could be occusr Buffer Overrun.",
  "rule.sast.sw.objc.1904.option.string_function.name": "String handling functions.",
  "rule.sast.sw.objc.1906.description": "The Cross-site scripting checker finds instances of including an external input in HTML without validating it.\nIf unvalidated external inputs are allowed for page generation, attackers can inject malicious scripts into the pages. This vulnerability lets attackers take over a user's cookie, session, or other information or execute an abnormal function.\nTo prevent external inputs from being used for scripts, use a text replacement function or method to substitute characters such as <, >, &, and \" with &lt;, &gt;, &amp;, and &quot;, respectively.",
  "rule.sast.sw.objc.1906.example.0.dangerous": "Line 19: Insecure bodyString is used to generate a page.",
  "rule.sast.sw.objc.1906.example.0.safe": "Line 14: Filter out inputs to generate a page.",
  "rule.sast.sw.objc.1906.name": "Cross-site scripting",
  "rule.sast.sw.objc.1906.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />example) filter$param(1)",
  "rule.sast.sw.objc.1906.option.taint_filter.name": "External information filter",
  "rule.sast.sw.objc.1906.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.objc.1906.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.objc.1906.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example) .$operand(*)->return",
  "rule.sast.sw.objc.1906.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.objc.1906.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) __sparrow_OBJC_echo__$param(*)",
  "rule.sast.sw.objc.1906.option.taint_sink.name": "External information sink",
  "rule.sast.sw.objc.1906.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) $_GET$variable",
  "rule.sast.sw.objc.1906.option.taint_source.name": "External information source",
  "rule.sast.sw.objc.1916.description": "The Generation of Dangerous Temp File checker finds instances of generating a temporary file in an improper way.\nAn argument passed to the mktemp, mkstemp, mkstemps, and mkdtemp functions must be a string of at least six characters.\nIf a temporary file is generated with a predictable name or to be accessible to an arbitrary program, it may allow attackers to manipulate the file for program malfunctions.\nIt is recommended to name temporary files unpredictably and make them accessible only by the executing program.",
  "rule.sast.sw.objc.1916.example.0.dangerous": "Line 2: A length of an argument string of mkstemp() function is two characters.",
  "rule.sast.sw.objc.1916.example.0.safe": "Line 2: Enter 6 or more characters for the length of an argument string of mkstemp().",
  "rule.sast.sw.objc.1916.name": "Generation of Dangerous Temp File",
  "rule.sast.sw.objc.1972.description": "The OS Command Injection checker finds instances in which an internal system command is executed by an unvalidated external input.\nIf an external input is not validated by the strpbrk() function before executing a system command, the checker reports a defect. \nIf a user input that has not been properly validated constitutes the whole or part of an OS command to execute it in an unintended way, this may cause improper permission changes or harmful effects on the system's processes or operations.\nIf a command needs to be generated or selected based on an external input, whitelist safe values for command generation and restrict values determined by external inputs to those selected from within the whitelist. ",
  "rule.sast.sw.objc.1972.example.0.dangerous": "Line 6: An external input is entered to a command.\nLine 10: The command is used without proper validation. For example, entering a command such as \"file_name.txt; rm -rf\" can delete all files on the directory.",
  "rule.sast.sw.objc.1972.example.0.safe": "Line 7: Use strpbrk() function to check for dangerous characters used for injection attacks.",
  "rule.sast.sw.objc.1972.name": "Command injection",
  "rule.sast.sw.objc.1972.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) filter$param(1)",
  "rule.sast.sw.objc.1972.option.taint_filter.name": "External information filter",
  "rule.sast.sw.objc.1972.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.objc.1972.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.objc.1972.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) strcpy$param(2)->param(1)",
  "rule.sast.sw.objc.1972.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.objc.1972.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) printf$param(1)",
  "rule.sast.sw.objc.1972.option.taint_sink.name": "External information sink",
  "rule.sast.sw.objc.1972.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) getenv$return",
  "rule.sast.sw.objc.1972.option.taint_source.name": "External information source",
  "rule.sast.sw.objc.1974.description": "The Empty catch block checker finds exception-handling blocks that have no relevant content.\nIt detects empty catch blocks containing no actual executable code.\nIf a caught exception is not handled, it is hard to find out the causes of accompanying program errors.\nAdd an exception-handling code in the empty block. If you don't want any measure for an exception, you may simply leave an error message.",
  "rule.sast.sw.objc.1974.example.0.dangerous": "Line 6: A valid exception statement is not found in a catch block.",
  "rule.sast.sw.objc.1974.example.0.safe": "Line 6: Add the valid exception statement to the catch block.",
  "rule.sast.sw.objc.1974.name": "Empty catch block",
  "rule.sast.sw.objc.1975.description": "The Catching overly broad exceptions checker finds instances of generalizing a wide range of exceptions in handling them.\nAn extremely wide generalization of exceptions may prevent some specific exceptions from being properly handled; more seriously, this may let even logically implausible cases simply covered by the super generalized handler, hence hindering them from being detected and fixed. As a result, design and implementation defects may remain undiscovered in the development and review phases before the program is deployed into production, possibly leading to serious issues.\nIt is recommended to categorize possible exceptions explicitly and handle them separately. If general exception handling is needed, have it performed in the last place after all specific exceptions are handled. Then, if the flow of execution ever reaches the general exception handling block, it suggests that the caught exception was not considered during development. This helps fix defects implied by unexpected exceptions.",
  "rule.sast.sw.objc.1975.example.0.dangerous": "Line 7: NSException exception is handled. NSException is a generalized exception, a parent of other exception classes.",
  "rule.sast.sw.objc.1975.example.0.safe": "Line 7: Modify to handle a specific exception.",
  "rule.sast.sw.objc.1975.name": "Catching overly broad exceptions",
  "rule.sast.sw.objc.1977.description": "The Reliance on DNS lookups in security decisions checker finds instances in which authentication and access controls rely solely on the domain name.\nBecause DNS servers are targeted for spoofing, reliance on the domain name allows attackers to modify the DNS to point the domain name to their IP address. They can create fake DNS entries, and you must avoid security decisions (authentication, access controls, etc.) solely based on the domain name. A tainted local DNS cache may let the network traffic between a particular server and users transferred through an attacker.\nFor servers with known IP addresses, use their IP addresses.",
  "rule.sast.sw.objc.1977.example.0.dangerous": "Line 6: Gethostbyaddr() function is used to acquire a domain name.\nLine 8: Security decision is made with the domain name.",
  "rule.sast.sw.objc.1977.example.0.safe": "Line 3: Perform the security decision with an IP address instead of the domain name.",
  "rule.sast.sw.objc.1977.name": "Reliance on DNS lookups in security decisions",
  "rule.sast.sw.objc.2824.description": "The Sensitive Information Storage in Plaintext checker finds instances in which unencrypted sensitive information is stored in plaintext.\nIf sensitive information is not encrypted when stored in plaintext, data may be exposed to or sniffed by unauthorized agents.\nEnsure to encrypt the sensitive information while storing it to an external environment file. Additionally, consider separating the sensitive information and normal data in the software designing phase.",
  "rule.sast.sw.objc.2824.example.0.dangerous": "Line 12: A password is stored in plaintext.",
  "rule.sast.sw.objc.2824.example.0.safe": "Line 1: Use keychain to store the value.",
  "rule.sast.sw.objc.2824.name": "Sensitive Information Storage in Plaintext",
  "rule.sast.sw.objc.2848.description": "The XQuery Injection checker finds XQuery statements that include an unvalidated external input.\nIf an appropriate validation process is not established for external inputs that are used to create dynamic queries for XML data in XQuery, attackers may arbitrarily modify the query structure. This modification enables them to access restricted data or bypass the authorization checks. In the case of `username='local_user1'` for example, XQuery uses single quotation marks to delimit the text value to be checked against the username. If an external input is used for the value to be checked against and single quotation marks are allowed in it, you can enter as follows: `admin' or ''='`. Then the query's conditional clause will be as follows: `username = 'admin' or ''=''`. As `''=''` always evaluates to true, the condition comparing against \"username\" can be bypassed.\nMake sure external input data used in XQuery are filtered for special characters and reserved words.",
  "rule.sast.sw.objc.2848.example.0.dangerous": "Line 16: Xquery created with external inputs is used to access XML data without validation.",
  "rule.sast.sw.objc.2848.example.0.safe": "Line 10: Use a filter method to remove insecure strings from values created with external inputs.",
  "rule.sast.sw.objc.2848.name": "XQuery Injection",
  "rule.sast.sw.objc.2848.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />example) filter$param(1)",
  "rule.sast.sw.objc.2848.option.taint_filter.name": "External information filter",
  "rule.sast.sw.objc.2848.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) \\.$operand(*)->return",
  "rule.sast.sw.objc.2848.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.objc.2848.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />example)  XQueryProcessor\\.execute(0)$base",
  "rule.sast.sw.objc.2848.option.taint_sink.name": "External information sink",
  "rule.sast.sw.objc.2848.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) \\$_GET$variable",
  "rule.sast.sw.objc.2848.option.taint_source.name": "External information source",
  "rule.sast.sw.objc.2849.description": "The XPath Injection checker finds XPath queries that include an unvalidated external input.\nIf external inputs are allowed in XPath queries without appropriately validating them, attackers can feed an unexpected string to twist a query's meaning or alter its structure, thereby gaining access to restricted data.\nMake sure external inputs used in XPath queries are filtered for special characters (`, [, ], /, =, @, etc.) and reserved words.",
  "rule.sast.sw.objc.2849.example.0.dangerous": "Line 13: External input is used to create XPath queries.",
  "rule.sast.sw.objc.2849.example.0.safe": "Line 12: Filter the query created with external input values appropriately before use.",
  "rule.sast.sw.objc.2849.name": "XPath Injection",
  "rule.sast.sw.objc.2849.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />example) filter$param(1)",
  "rule.sast.sw.objc.2849.option.taint_filter.name": "External information filter",
  "rule.sast.sw.objc.2849.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) \\.$operand(*)->return",
  "rule.sast.sw.objc.2849.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.objc.2849.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />example) XQueryProcessor\\.execute(0)$base",
  "rule.sast.sw.objc.2849.option.taint_sink.name": "External information sink",
  "rule.sast.sw.objc.2849.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) \\$_GET$variable",
  "rule.sast.sw.objc.2849.option.taint_source.name": "External information source",
  "rule.sast.sw.objc.2850.description": "The LDAP Injection checker finds instances of using an untrusted external input without validating it.\nIf untrusted external inputs are used in the web application, attackers can alter LDAP query commands to arbitrarily authorize and run unintended actions. Therefore, untrusted external input strings must be validated before they are used.\nIf unvalidated external inputs are used to be part of an LDAP query, attackers can make the meaning of the query arbitrarily modified when it is executed.\nUntrusted external input strings must be validated before used to be part of an LDAP query.",
  "rule.sast.sw.objc.2850.example.0.dangerous": "Line 81: External input value is used to create an LDAP query without validation.",
  "rule.sast.sw.objc.2850.example.0.safe": "Line 13: Use the filter method to validate the external input.",
  "rule.sast.sw.objc.2850.name": "LDAP Injection",
  "rule.sast.sw.objc.2850.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) filter$param(1)",
  "rule.sast.sw.objc.2850.option.taint_filter.name": "External information filter",
  "rule.sast.sw.objc.2850.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) \\.$operand(*)->return",
  "rule.sast.sw.objc.2850.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.objc.2850.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />example) XQueryProcessor\\.execute(0)$base",
  "rule.sast.sw.objc.2850.option.taint_sink.name": "External information sink",
  "rule.sast.sw.objc.2850.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) \\$_GET$variable",
  "rule.sast.sw.objc.2850.option.taint_source.name": "External information source",
  "rule.sast.sw.objc.2851.description": "The Reliance on untrusted cookies in security decisions checker finds instances of storing user credentials in a cookie.\nDevelopers may assume that inputs such as cookies, environment variables, and hidden form fields cannot be modified. However, an attacker could change these inputs using various approaches and this change might not be detected. When security decisions such as authentication and authorization are made based on the values of these inputs, attackers can bypass the security checks of the application. Therefore, inputs from external users should not be trusted.\nMake sure that critical information such as state information, sensitive data, and user sessions is stored in the server, and security checks are performed on the server side. Understand all the potential areas where untrusted inputs can enter your application. Identify all inputs that are used for security decisions and determine if you can modify the design so that you do not have to rely on submitted inputs at all.",
  "rule.sast.sw.objc.2851.example.0.dangerous": "Line 25: Authentication data is stored to cookies in plaintext. This enables attackers to change cookie information.",
  "rule.sast.sw.objc.2851.example.0.safe": "Line 14: Save the user authentication information into sessions, which can remove risks to be exposed.",
  "rule.sast.sw.objc.2851.name": "Reliance on untrusted cookies in security decisions",
  "rule.sast.sw.objc.2851.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) return of name(\"filter\")",
  "rule.sast.sw.objc.2851.option.taint_filter.name": "External information filter",
  "rule.sast.sw.objc.2851.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of \"+\" to return",
  "rule.sast.sw.objc.2851.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.objc.2851.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(*) of name(\"add_header\")",
  "rule.sast.sw.objc.2851.option.taint_sink.name": "External information sink",
  "rule.sast.sw.objc.2851.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of fqn(\"django.http.HttpRequest.field\")",
  "rule.sast.sw.objc.2851.option.taint_source.name": "External information source",
  "rule.sast.sw.objc.2853.description": "The Cleartext transmission of sensitive information checker finds instances of transferring sensitive information without encrypting it.\nIf data containing important user or system information is sent or received in plaintext, this poses a security vulnerability allowing unauthorized users to sniff sensitive data from the communication channel.\nSensitive information transferring via communication channels must be encrypted. If necessary, secure channels such as SSL or HTTPS should be used.",
  "rule.sast.sw.objc.2853.example.0.dangerous": "Line 17: A password is transferred through a network. Then, the password can be exposed by packet sniffing.",
  "rule.sast.sw.objc.2853.example.0.safe": "Line 17: Encryptize your password before sending it to a server through the network.",
  "rule.sast.sw.objc.2853.name": "Cleartext transmission of sensitive information",
  "rule.sast.sw.objc.2853.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) return of name(\"filter\")",
  "rule.sast.sw.objc.2853.option.taint_filter.name": "External information filter",
  "rule.sast.sw.objc.2853.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of \"+\" to return",
  "rule.sast.sw.objc.2853.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.objc.2853.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(*) of name(\"add_header\")",
  "rule.sast.sw.objc.2853.option.taint_sink.name": "External information sink",
  "rule.sast.sw.objc.2853.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of fqn(\"django.http.HttpRequest.field\")",
  "rule.sast.sw.objc.2853.option.taint_source.name": "External information source",
  "rule.sast.sw.objc.2854.description": "The Download of code without integrity check checker finds instances of downloading an executable code without checking its origin or integrity.\nWhen providing a code that is to be downloaded, such as for automatic updates of software, failure to use cryptographic signatures allows for a security vulnerability. If the program downloads a risky executable file from a remote location and executes it at the client side without sufficiently verifying the origin and integrity of the code, an attacker can execute a malicious action.\nTake measures such as using a public-key algorithm to check code files for manipulation.",
  "rule.sast.sw.objc.2854.example.0.dangerous": "Line 18: Generated downloaded file without integrity check.",
  "rule.sast.sw.objc.2854.example.0.safe": "Line 9: Downloaded file is created after integrity check.",
  "rule.sast.sw.objc.2854.name": "Download of code without integrity check",
  "rule.sast.sw.objc.2854.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) return of name(\"filter\")",
  "rule.sast.sw.objc.2854.option.taint_filter.name": "External information filter",
  "rule.sast.sw.objc.2854.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of \"+\" to return",
  "rule.sast.sw.objc.2854.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.objc.2854.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(*) of name(\"add_header\")",
  "rule.sast.sw.objc.2854.option.taint_sink.name": "External information sink",
  "rule.sast.sw.objc.2854.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of fqn(\"django.http.HttpRequest.field\")",
  "rule.sast.sw.objc.2854.option.taint_source.name": "External information source",
  "rule.sast.sw.objc.2855.description": "The Use of Cookie with Overly Broad Path checker finds instances of using a cookie with a path set to the root path.\nDevelopers often set cookies to be accessible from the root context path (`/`). This exposes the cookie to all web applications on the domain. Because cookies often carry sensitive information such as session identifiers, sharing cookies across applications can cause a vulnerability in one application to compromise another application.\nAvoid having cookies with an overly broad path.",
  "rule.sast.sw.objc.2855.example.0.dangerous": "Line 17: Cookies are generated by using properties with broadly allowed paths on Line 13.",
  "rule.sast.sw.objc.2855.example.0.safe": "Line 13: Do not set too large domain scopes.",
  "rule.sast.sw.objc.2855.name": "Use of Cookie with Overly Broad Path",
  "rule.sast.sw.objc.2856.description": "The Use of cookie with overly broad domain checker finds instances of using a cookie with a domain set to an overly broad domain.\nDevelopers often set cookies to be active across a base domain such as `.example.com`.  This exposes the cookie to all web applications on the base domain and any subdomains. Because cookies often carry sensitive information such as session identifiers, sharing cookies across applications can cause a vulnerability in one application to compromise another application.\nAvoid having cookies with an overly broad domain.",
  "rule.sast.sw.objc.2856.example.0.dangerous": "Line 17: Cookies are generated by using properties with broadly allowed domains on Line 12.",
  "rule.sast.sw.objc.2856.example.0.safe": "Line 12: Avoid having cookies with an overly broad domain.",
  "rule.sast.sw.objc.2856.name": "Use of cookie with overly broad domain",
  "rule.sast.sw.objc.2857.description": "The Storage of Sensitive Data in Persistent Cookie checker finds instances of storing sensitive date in a cookie whose lifespan is set too long.\nMost web programming environments create non-persistent cookies. This type of cookie resides only in memory (not recorded in the disc drive) and disappears when the browser is closed. Programmers can set cookies to persist for browser sessions until a specific future date. These cookies are recorded in the disc drive and persist even after restarting the browser session or device. Persistent cookies are commonly used to profile users when interacting with sites. Such tracked data in persistent cookies can be exploited to leak user privacy, depending upon how the data is used. If privacy information is stored in a persistent cookie with a long expiration, attackers can be given enough time to steal such data.\nCookie expiration must be set minimum in consideration of session duration, and permanent cookies should not contain important information such as user privileges and session IDs.",
  "rule.sast.sw.objc.2857.example.0.dangerous": "Line 18: An expiration period is set to 10 years in Line 16.",
  "rule.sast.sw.objc.2857.example.0.safe": "Line 16: Set the expiration period to 30 days in Line 20.",
  "rule.sast.sw.objc.2857.name": "Storage of Sensitive Data in Persistent Cookie",
  "rule.sast.sw.objc.2858.description": "The Empty Salt checker finds instances of using an empty salt for encryption key generation.\nIt is never a good idea to use an empty salt. Not only does using an empty salt make it significantly easier to determine the hashed values, it also makes fixing the problem extremely difficult. After the code is in production, the salt cannot be easily changed.\nIf attackers figure out that values are hashed with an empty salt, they can calculate `rainbow tables` for the application and more easily determine the hashed values.\nUse a suitable salt value.",
  "rule.sast.sw.objc.2858.example.0.dangerous": "Line 6: An empty salt is used in CCHmac() method.",
  "rule.sast.sw.objc.2858.example.0.safe": "Line 6: Use a salt to call the CCHmac() method.",
  "rule.sast.sw.objc.2858.name": "Empty Salt",
  "rule.sast.sw.objc.2859.description": "The Use of Null Salt checker finds instances of using a null (nil) salt for encryption key generation.\nA null salt may compromise system security in a way that cannot be easily remedied.\nIt is never a good idea to use a null salt. Not only does using a null salt make it significantly easier to determine the hashed values, it also makes fixing the problem extremely difficult. After the code is in production, the salt cannot be easily changed. If attackers figure out that values are hashed with an null salt, they can calculate \"rainbow tables\" for the application and more easily determine the hashed values.\nUse a suitable salt value.",
  "rule.sast.sw.objc.2859.example.0.dangerous": "Line 6: A null salt is used.",
  "rule.sast.sw.objc.2859.example.0.safe": "Line 6: Enter the salt value.",
  "rule.sast.sw.objc.2859.name": "Use of Null Salt",
  "rule.sast.sw.objc.2860.description": "The Improper random number generation checker finds instances of using a predictable random value.\nYou can optionally specify random number generating methods that should not be used.\nIf a predictable random number is used when an unpredictable number is demanded, an attacker can predict subsequently generated numbers and use them to attack the system.\nUse secure way to generate random numbers rather than forbidden methods specified in the options.",
  "rule.sast.sw.objc.2860.example.0.dangerous": "Line 10: Used the weak random function such as rand().\nLine 10: Used the weak random function such as random().",
  "rule.sast.sw.objc.2860.example.0.safe": "Line 10: Use the safe arc4random() random function.\nLine 12: Use the arc4random_uniform() random function, which is safe and can get values within a specified number.",
  "rule.sast.sw.objc.2860.name": "Improper random number generation",
  "rule.sast.sw.objc.2893.description": "The System Information Exposure finds instances of displaying system information through error messages or by other means.\nIf error messages openly displayed by the application contain sensitive information regarding execution environments or user data, attackers can exploit the information for malicious actions. Showing exception names or stack traces can help attackers identify the program's internal structure.\nMake sure error messages are shown only to relevant users and contain minimum necessary information. Have exceptions internally handled in source code and do not allow them to trigger an error message containing sensitive information.",
  "rule.sast.sw.objc.2893.example.0.dangerous": "Line 9: System information is printed out in exception handling.",
  "rule.sast.sw.objc.2893.example.0.safe": "Line 9: Do not print out system data. Show necessary information only.",
  "rule.sast.sw.objc.2893.name": "Exposure of system information",
  "rule.sast.sw.objc.2893.option.exception_list.description": "Enter the list of exceptions to be checked.",
  "rule.sast.sw.objc.2893.option.exception_list.name": "Exception list",
  "rule.sast.sw.objc.2894.description": "The Leftover debug code checker finds debug code that remains not removed. \nThe checker searches for a call to a method included certain words such as log or debug.\nDebug code may contain parts that output sensitive information or allow control over the system. If the program is deployed with debug code remaining, attackers may bypass an authentication process or access restricted information.\nRemove all debug code before deploying the application.",
  "rule.sast.sw.objc.2894.example.0.dangerous": "Line 4: Debug code is not deleted.",
  "rule.sast.sw.objc.2894.example.0.safe": "Line 4: It is recommended not to left over debug code.",
  "rule.sast.sw.objc.2894.name": "Leftover debug code",
  "rule.sast.sw.objc.2894.option.check_function.description": "Write a name of the debug method.",
  "rule.sast.sw.objc.2894.option.check_function.name": "Debug method",
  "rule.sast.sw.objc.2896.description": "The Missing login control checker finds instances of failure to implement a logic to limit the number of login attempts.\nThe checker checks a logic to control login attempt count at the start to call its login routine. Yet, an error occurs when control condition is a constant in a loop.\nAttackers may use the error to login or get permission with a brute-force attack.\nA logic that limits login attempt count must be implemented.",
  "rule.sast.sw.objc.2896.example.0.dangerous": "Line 4: Login attempt count is not limited.",
  "rule.sast.sw.objc.2896.example.0.safe": "Line 5: Control the login attempt count.",
  "rule.sast.sw.objc.2896.name": "Missing login control",
  "rule.sast.sw.objc.2896.option.authentication_functions.name": "authentication_functions",
  "rule.sast.sw.objc.2896.option.loop_inside_target_function.name": "loop_inside_target_function",
  "rule.sast.sw.objc.2896.option.target_function_inside_loop.name": "target_function_inside_loop",
  "rule.sast.sw.objc.2897.description": "The Weak password requirements checker finds instances in which user passwords are accepted without checking for their complexity.\nFully numeric passwords, such as 123123, and some other simple passwords are vulnerable to brute-force attacks. If password patterns are not verified, users can use weak passwords.\nAdministrators can impose restrictions on users to use strong password patterns. For example, these can require to include a certain number of uppercase and lowercase letters, numerals, and special characters, or disallow consecutive identical characters. Refer to the password setting rules from \"KISA Cryptographic Usage Guidelines\".",
  "rule.sast.sw.objc.2897.example.0.dangerous": "Line 19: A password is not validated.",
  "rule.sast.sw.objc.2897.example.0.safe": "Line 18: Add a filter to enable strong validation for the password, for example, a length limit.",
  "rule.sast.sw.objc.2897.name": "Weak password requirements",
  "rule.sast.sw.objc.2897.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) strlen$param(1)",
  "rule.sast.sw.objc.2897.option.taint_filter.name": "External information filter",
  "rule.sast.sw.objc.2897.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) \\.$operand(*)->return",
  "rule.sast.sw.objc.2897.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.objc.2897.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) mysql_query$param(*)",
  "rule.sast.sw.objc.2897.option.taint_sink.name": "External information sink",
  "rule.sast.sw.objc.2897.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of fqn(\"$_GET[\\\"password\\\"]\")",
  "rule.sast.sw.objc.2897.option.taint_source.name": "External information source",
  "rule.sast.sw.objc.2898.description": "The Missing authentication checker finds instances of failure to implement a control routine using authentication.\nYou can optionally specify the name of the authentication routine that should be called and the names of pages that must call the routine.\nIf an authentication routine is not called, an unauthorized user can obtain a permission.\nMake sure an appropriate authentication routine is called at each necessary position.",
  "rule.sast.sw.objc.2898.example.0.dangerous": "Line 18: User information is changed without a call to access control authentication routine.",
  "rule.sast.sw.objc.2898.example.0.safe": "Line 19: Verify a user permission, then change the user information.",
  "rule.sast.sw.objc.2898.name": "Missing authentication",
  "rule.sast.sw.objc.2898.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) strlen$param(1)",
  "rule.sast.sw.objc.2898.option.taint_filter.name": "External information filter",
  "rule.sast.sw.objc.2898.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) \\.$operand(*)->return",
  "rule.sast.sw.objc.2898.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.objc.2898.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) mysql_query$param(*)",
  "rule.sast.sw.objc.2898.option.taint_sink.name": "External information sink",
  "rule.sast.sw.objc.2898.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of fqn(\"$_GET[\\\"password\\\"]\")",
  "rule.sast.sw.objc.2898.option.taint_source.name": "External information source",
  "rule.sast.sw.objc.2899.description": "The HTTP Response Splitting checker finds HTTP responses created with an unvalidated external input.\nWhen arguments passed in an HTTP request are sent back through an HTTP response header, newline characters such as CRs (carriage returns) and LFs (line feeds) contained in the inputs can split the HTTP response into two or more. By exploiting this, attackers can use a newline to stop the first response and inject a malicious code into the second one for an XSS or cache poisoning attack.\nIf you need to include request parameters in an HTTP response header such as Set-Cookie, make sure all CRs and LFs are filtered out.",
  "rule.sast.sw.objc.2899.example.0.dangerous": "Line 27: A tainted value is included to cookies.",
  "rule.sast.sw.objc.2899.example.0.safe": "Line 25: Filter out the tainted value, then include its result to cookies.",
  "rule.sast.sw.objc.2899.name": "HTTP Response Splitting",
  "rule.sast.sw.objc.2899.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />example) filter$param(1)",
  "rule.sast.sw.objc.2899.option.taint_filter.name": "External information filter",
  "rule.sast.sw.objc.2899.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) \\.$operand(*)->return",
  "rule.sast.sw.objc.2899.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.objc.2899.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) setcookie$param(2)",
  "rule.sast.sw.objc.2899.option.taint_sink.name": "External information sink",
  "rule.sast.sw.objc.2899.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) \\$_GET$variable",
  "rule.sast.sw.objc.2899.option.taint_source.name": "External information source",
  "rule.sast.sw.objc.2900.description": "The Integer Overflow checker finds instances in which the result of an arithmetic operation exceeds the size of the given integer type.\nIf the result is out of the range of the integer type, an overflow occurs to return a negative number or an unexpected value. If such an unexpected return value is used for memory allocation or a loop conditional, the program may become vulnerable to security threats.\nYou must consider the ranges of integer types specific to each language or platform. When an integer-type variable is used in an operation, use a module that checks the possible range of the result value. If an external input is used for dynamic memory allocation, the variable must be checked for being within the valid range.",
  "rule.sast.sw.objc.2900.example.0.dangerous": "Line 14: An unvalidated external value is used for operation. This may cause integer overflow.",
  "rule.sast.sw.objc.2900.example.0.safe": "Line 12: Check ranges of the external value, then use it for operation.",
  "rule.sast.sw.objc.2900.name": "Integer Overflow",
  "rule.sast.sw.objc.2900.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />example) filter$param(1)",
  "rule.sast.sw.objc.2900.option.taint_filter.name": "External information filter",
  "rule.sast.sw.objc.2900.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) \\.$operand(*)->return",
  "rule.sast.sw.objc.2900.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.objc.2900.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) setcookie$param(2)",
  "rule.sast.sw.objc.2900.option.taint_sink.name": "External information sink",
  "rule.sast.sw.objc.2900.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) \\$_GET$variable",
  "rule.sast.sw.objc.2900.option.taint_source.name": "External information source",
  "rule.sast.sw.objc.2969.description": "The Improper Reference of XML Entity checker finds code that enables to use external entities in XML libraries.\nTo be specific, a function call or argument which allows to use an external entity. When shouldResolveExternalEntities of NSXMLParser object is set to true, you are allowed to use external entities.\nIf the external entity is allowed for XML libraries, attackers can access to unauthorized or important files. This may lead to SSRF (Server Side Request Forgery) vulnerability.\nDo not use a function call or argument which allows to use an external entity.",
  "rule.sast.sw.objc.2969.example.0.dangerous": "Line 6: shouldResolveExternalEntities of NSXMLParser object is specified to YES. This is vulnerable to XXE attacks.",
  "rule.sast.sw.objc.2969.example.0.safe": "Line 5: Set the shouldResolveExternalEntities of NSXMLParser object to NO.",
  "rule.sast.sw.objc.2969.name": "Improper Reference of XML Entity",
  "rule.sast.sw.objc.2970.description": "The Weak Server Certificate checker finds code that fails to properly validate certificates.\nIt is required to validate X.509 certificates in order to create secure SSL/TLS sessions which are safe against the MITM(Man in the Middle) attacks. If you are not perform proper validation for the certificates, it may lead to security issues. \nEnsure to use a proper value for arguments of validating function that is provided by libraries.",
  "rule.sast.sw.objc.2970.example.0.dangerous": "Line 7: The second argument of a call to SSL_CTX_set_verify() function is set to SSL_VERIFY_NONE. Therefore, a certificate is not correctly validated.",
  "rule.sast.sw.objc.2970.example.0.safe": "Line 7: Set the second argument to SSL_VERIFY_PEER.",
  "rule.sast.sw.objc.2970.name": "Weak Server Certificate",
  "rule.sast.sw.objc.2971.description": "The Deserialization of Untrusted Data checker finds code that uses an insecure deserialization protocol.\nYou can serialize objects for storing or transmitting, and deserialize them when you need. However, when untrusted data is deserialized without additional protection, this may get exploited by the object substitution attacks.\nEnsure to use a secure serialization protocol such as NSSecureCoding.",
  "rule.sast.sw.objc.2971.example.0.dangerous": "Line 3: An insecure serialization protocol, NSCoding, is used.",
  "rule.sast.sw.objc.2971.example.0.safe": "Line 3: Use NSSecureCoding protocol to avoid the object substitution attacks.",
  "rule.sast.sw.objc.2971.name": "Deserialization of Untrusted Data",
  "rule.sast.sw.objc.901.description": "The Printing file to temporary or public directory checker finds instances of creating a temporary file in an open directory accessible to arbitrary users.\nFiles stored in a temporary or open directory may be accessed and manipulated by attackers, leading to program malfunctions.\nIt is recommended to create and store temporary files in a path accessible only to privileged users.",
  "rule.sast.sw.objc.901.example.0.dangerous": "Line 3: A file of a temporary directory is specified.\nLine 4: The file is created in the temporary directory, which is vulnerable.",
  "rule.sast.sw.objc.901.example.0.safe": "Line 3: Specify a file of a directory to be accessed by permitted users only.\nLine 5: The file is created in the directory accessed by permitted users, which is secure.",
  "rule.sast.sw.objc.901.name": "Printing file to temporary or public directory",
  "rule.sast.sw.objc.901.option.temporary_directory.description": "Write the name of the temporary or public directory.<br />Example) /var/tmp/.*",
  "rule.sast.sw.objc.901.option.temporary_directory.name": "Temporary or public directory",
  "rule.sast.sw.objc.902.description": "The Weak SSL Certificate checker finds instances of allowing a weak SSL certificate.\nThe checker searches for the vulnerability arising when the allowsAnyHTTPSCertificateForHost method in the NSURLRequest class returns true to allow self-signed certificates.\nAllowing self-signed certificates may allow for man-in-the-middle (MITM) attacks.\nDo not have the allowAnyHTTPSCertificateForHost() method allow self-signed certificates.",
  "rule.sast.sw.objc.902.example.0.dangerous": "Line 5: AllowAnyHTTPSCertificateFroHost method returns Yes to allow self-signed certificates, which is insecure.",
  "rule.sast.sw.objc.902.example.0.safe": "Line 4: The allowAnyHTTPSCertificateFroHost method returns NO, which is secure.",
  "rule.sast.sw.objc.902.name": "Weak SSL Certificate",
  "rule.sast.sw.objc.903.description": "The Transfer by GET checker finds HTML transfers by the GET method.\nA particular care is needed for NSURLRequests because they are sent via GET by default.\nWhich shows the URL and sent parameters in the browser and thus may possibly be manipulated by an attacker.\nIt is recommended to use the safer POST method.",
  "rule.sast.sw.objc.903.example.0.dangerous": "Line 5: An HTTP GET method is used to send, which is insecure.",
  "rule.sast.sw.objc.903.example.0.safe": "Line 5: An HTTP POST method is used to send, which is secure.",
  "rule.sast.sw.objc.903.name": "Transfer by GET",
  "rule.sast.sw.objc.904.description": "The Transfer over HTTP checker finds transfers over the HTTP protocol.\nData transferred over the HTTP protocol is not encrypted and thus can be exposed by packet sniffing.\nFor safer data transfers, it is recommended to use the HTTPS protocol over the HTTP protocol.",
  "rule.sast.sw.objc.904.example.0.dangerous": "Line 2: An HTTP connection address is specified.\nLine 4: An URL with http address is used to communicate, which is insecure.",
  "rule.sast.sw.objc.904.example.0.safe": "Line 2: An HTTPS connection address is specified.\nLine 4: An URL with https address is used to communicate, which is secure.",
  "rule.sast.sw.objc.904.name": "Transmission via HTTP Protocol",
  "rule.sast.sw.objc.905.description": "The Empty password checker finds code that uses an empty value for password.\nThe checker searches for passwords that are empty strings.\nAn empty password is easily predictable and thus insecure.\nPasswords are recommended to be non-empty strings, encrypted and stored in a separate file.",
  "rule.sast.sw.objc.905.example.0.dangerous": "Line 2: An empty string is used as a password.\nLine 4: An empty string password is used to access DB, which is insecure.",
  "rule.sast.sw.objc.905.example.0.safe": "Line 2: A non-empty string is used as a password.\nLine 4: An non-empty string password is used to access DB, which is secure.",
  "rule.sast.sw.objc.905.name": "Empty password",
  "rule.sast.sw.objc.906.description": "The Hardcoded password checker finds hardcoded passwords.\nIf program code contains a hardcoded password that is used for internal authentication or for communications with an external component, it can be exploited to leak administrator information.\nPasswords are recommended to be encrypted and stored in a separate file.",
  "rule.sast.sw.objc.906.example.0.dangerous": "Line 2: A hardcoded password is used.\nLine 4: A hardcoded password is used to access DB, which is insecure.",
  "rule.sast.sw.objc.906.example.0.safe": "Line 2: A non-hardcoded password is imported by a separate method.\nLine 4: A non-hardcoded password is used to access DB, which is secure.",
  "rule.sast.sw.objc.906.name": "Hardcoded password",
  "rule.sast.sw.objc.907.description": "The Use of SMS API checker finds instances of using an API for short message service (SMS).\nSuch an API is not recommended to be used because it can be exploited by a malicious program to send text messages aiming at stealing money or information from users.\nDo not use SMS APIs.",
  "rule.sast.sw.objc.907.example.0.dangerous": "Line 3: An SMS API is used, which can be insecure.",
  "rule.sast.sw.objc.907.example.0.safe": "Line 1: Do not use an SMS Send API.",
  "rule.sast.sw.objc.907.name": "Use of SMS API",
  "rule.sast.sw.objc.908.description": "The Hardcoded encryption key checker detects code that uses hardcoded encryption keys.\nIf you use a hardcoded encryption key within your source code to perform encryption, if the encrypted information is leaked, it can be back-computed to determine the original information. Also, in some cases, you may write code with a hardcoded key thinking that it won't matter if the key is exposed because the hash function is not back-computable, but some hash functions can be back-computed using methods such as brute force. In addition, hardcoding an encryption key has the disadvantage that the key cannot be easily changed.\nWhen performing encryption, you should design to use non-constant encryption keys. Also, you should not store and use encryption keys in constant form inside your source code, even if they are encrypted.",
  "rule.sast.sw.objc.908.example.0.dangerous": "Line 1: A hardcoded encryption key is used.\nLine 2: The hardcoded encryption key is used to encrypt, which is insecure.",
  "rule.sast.sw.objc.908.example.0.safe": "Line 1: Import the encryption key from a secure location.\nLine 2: The encryption key is imported from a secure location, which is secure.",
  "rule.sast.sw.objc.908.name": "Hardcoded cryptographic key",
  "rule.sast.sw.objc.909.description": "The Weak hash checker finds instances of using a hashing algorithm known to be insecure.\nNon-standard hashing algorithms can be more easily encryptanalyzed and cracked by attackers. Some old algorithms have been weak over time as computing power grows-It used to be expected to take an extremely long time to crack them in the past, but now they can be broken in a couple of days or hours. Using an old or non-standard hashing algorithm may allow attackers to cryptanalyze and disable it. Hashes created by MD5 or other old algorithms can be cracked by means of rainbow tables.\nDeveloping your own hashing algorithm is dangerous; instead, use standard algorithms that have been proven in academia and industry. Use secure algorithms such as SHA-256 and SHA-512 instead of those considered weak such as MD5 and SHA-1. In addition, use unpredictable salts together to ensure stronger security.",
  "rule.sast.sw.objc.909.example.0.dangerous": "Line 3: An insecure MD5 hash algorithm is used.",
  "rule.sast.sw.objc.909.example.0.safe": "Line 3: Use SHA1 hash algorithm, which is known as secure.",
  "rule.sast.sw.objc.909.name": "Weak hash",
  "rule.sast.sw.objc.909.option.weak_hash_function.description": "Write the name of the weak hash function.\nExample) CC_MD5",
  "rule.sast.sw.objc.909.option.weak_hash_function.name": "Weak hash function",
  "rule.sast.sw.objc.910.description": "The Insufficient cryptographic key size checker finds encryption keys that are too short.\nYou can optionally specify the minimum key length that ensures security.\nAn encryption key is used for encryption and decryption purposes; if it is not long enough, it can be uncovered in a practically short time even with a verified cryptographic algorithm used. This can be exploited to decrypt encrypted data or passwords.\nEach major algorithm suggests an appropriate length of a key that ensures an extremely long time is taken to break the key at the currently known level of technology, thus making attacks on it practically impossible. It is recommended to use a key no shorter than the suggested length. For instance, the RSA algorithm must be used with a key of at least 2,048 bits (as of 2015), while symmetric encryption algorithms require a key of at least 128 bits.",
  "rule.sast.sw.objc.910.example.0.dangerous": "Line 2: A required key length is set to 64. This needs to be 128 or more.",
  "rule.sast.sw.objc.910.example.0.safe": "Line 2: Set the key length to 128.",
  "rule.sast.sw.objc.910.name": "Insufficient cryptographic key size",
  "rule.sast.sw.objc.910.option.min_key_size.description": "Write the minimum key size required for encryption.<br />Example) 128",
  "rule.sast.sw.objc.910.option.min_key_size.name": "Minimum key size required",
  "rule.sast.sw.objc.911.description": "The Weak cryptographic algorithm checker finds instances of using a cryptographic algorithm known to be insecure.\nAlgorithms of DES, RC2, RC4, RC5 are no longer secure anymore.\nNon-standard cryptographic algorithms can be more easily cryptanalyzed and cracked by attackers. Some old algorithms have been weak over time as computing power grows-It used to be expected to take an extremely long time to crack them in the past, but now they can be broken in a couple of days or hours. Using an old or non-standard cryptographic algorithm may allow attackers to cryptanalyze and disable it.\nDeveloping your own cryptographic algorithm is dangerous; instead, use standard algorithms that have been proven in academia and industry. Use secure algorithms such as 3DES, AES, and SEED instead of those considered weak such as DES and RC5. And encryption keys must be long enough in accordance with the appropriate length suggested by each standard, secure algorithm.",
  "rule.sast.sw.objc.911.example.0.dangerous": "Line 2: DES algorithm is used.",
  "rule.sast.sw.objc.911.example.0.safe": "Line 2: Use AES algorism.",
  "rule.sast.sw.objc.911.name": "Weak cryptographic algorithm",
  "rule.sast.sw.objc.911.option.risky_algorithm.description": "Write the name of the weak algorithm.<br />Example) kCCAlgorithmDES",
  "rule.sast.sw.objc.911.option.risky_algorithm.name": "Weak cryptographic algorithm",
  "rule.sast.sw.objc.972.description": "The Format string injection checker finds instances of using a format string that is not a constant but built with an unvalidated external input.\nIf unvalidated external inputs are allowed for format string, attackers can manipulate the format string for buffer overflow attacks.You can optionally specify functions that perform the respective roles of receiving, using, warning of, and filtering external inputs.\nMethods such as stringWithFormat() should not be called with a format string that is built with or generated from a user input. If a user input needs to be used for a format string, it is recommended to use the %s format specifier as a placeholder for each user input and pass user inputs to the second and subsequent parameters.",
  "rule.sast.sw.objc.972.example.0.dangerous": "Line 3: An unvalidated external input argv[1] is passed to the first argument of format string.",
  "rule.sast.sw.objc.972.example.0.safe": "Line 3: Use secure format strings only though filter functions.",
  "rule.sast.sw.objc.972.name": "Format string injection",
  "rule.sast.sw.objc.972.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />example) filter$param(1)",
  "rule.sast.sw.objc.972.option.taint_filter.name": "External information filter",
  "rule.sast.sw.objc.972.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.objc.972.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.objc.972.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) strcpy$param(2)->param(1)",
  "rule.sast.sw.objc.972.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.objc.972.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) printf$param(1)",
  "rule.sast.sw.objc.972.option.taint_sink.name": "External information sink",
  "rule.sast.sw.objc.972.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) getenv$return",
  "rule.sast.sw.objc.972.option.taint_source.name": "External information source",
  "rule.sast.sw.objc.973.description": "The Log injection checker finds instances of printing out unvalidated user inputs in a log.\nIf unvalidated user inputs are printed out in a log, an attacker can insert arbitrary content in the log to confuse security personnel who consult the log. If a manipulated log successfully leads to making an inappropriate decision, the attacker can exploit the consequences.\nHave external inputs validated before they are logged. It is particularly recommended to delete newline characters.",
  "rule.sast.sw.objc.973.example.0.dangerous": "Line 3: An unvalidated external input is directly printed out in the log.",
  "rule.sast.sw.objc.973.example.0.safe": "Line 3: Make sure to use secure logs only through a filter function.",
  "rule.sast.sw.objc.973.name": "Log injection",
  "rule.sast.sw.objc.973.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) filter$param(1)",
  "rule.sast.sw.objc.973.option.taint_filter.name": "External information filter",
  "rule.sast.sw.objc.973.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.objc.973.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.objc.973.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) strcpy$param(2)->param(1)",
  "rule.sast.sw.objc.973.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.objc.973.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) printf$param(1)",
  "rule.sast.sw.objc.973.option.taint_sink.name": "External information sink",
  "rule.sast.sw.objc.973.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) getenv$return",
  "rule.sast.sw.objc.973.option.taint_source.name": "External information source",
  "rule.sast.sw.objc.974.description": "The Path Manipulation checker finds instances in which an unvalidated external input creates a path accessible to the file system.\nIf unvalidated external inputs are allowed to be used for access to files, servers, or other system resources, attackers can manipulate inputs to access an unintended path in the program. In other words, path manipulation can be used to obtain illegitimate access to modify or execute settings files.\nIf external inputs are used as identifiers for resources (such as files), make sure they pass appropriate validation. Especially, if external inputs are filenames, use a filter to remove characters such as `, /, \\, and ..  that can be exploited for a directory traversal attack.",
  "rule.sast.sw.objc.974.example.0.dangerous": "Line 4: An unvalidated external input is used to generate paths.",
  "rule.sast.sw.objc.974.example.0.safe": "Line 5: Filter the external inputs before using.",
  "rule.sast.sw.objc.974.name": "Path Traversal",
  "rule.sast.sw.objc.974.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) filter$param(1)",
  "rule.sast.sw.objc.974.option.taint_filter.name": "External information filter",
  "rule.sast.sw.objc.974.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.objc.974.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.objc.974.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) strcpy$param(2)->param(1)",
  "rule.sast.sw.objc.974.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.objc.974.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) NSFileManager.contentsAtPath:$param(1)",
  "rule.sast.sw.objc.974.option.taint_sink.name": "External information sink",
  "rule.sast.sw.objc.974.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) getenv$return",
  "rule.sast.sw.objc.974.option.taint_source.name": "External information source",
  "rule.sast.sw.objc.975.description": "The Resource injection checker finds resource identifiers created with an unvalidated external input.\nIf unvalidated external inputs are allowed for accessing or identifying files, servers, or other system resources, attackers can manipulate an input to arbitrarily access system-protected resources. Resource injection vulnerabilities can be exploited to modify or delete resources, leak system information, and cause conflicts between system resources leading to service failures.\nIf external inputs need to be used for resource identifiers (such as socket ports), whitelist appropriate identifiers and restrict values determined by external inputs to those selected from within the whitelist.",
  "rule.sast.sw.objc.975.example.0.dangerous": "Line 5: An external input is used to acquire resources.",
  "rule.sast.sw.objc.975.example.0.safe": "Line 5: Make sure to use secure inputs through a filter function.",
  "rule.sast.sw.objc.975.name": "Resource injection",
  "rule.sast.sw.objc.975.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />example) filter$param(1)",
  "rule.sast.sw.objc.975.option.taint_filter.name": "External information filter",
  "rule.sast.sw.objc.975.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.objc.975.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.objc.975.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) strcpy$param(2)->param(1)",
  "rule.sast.sw.objc.975.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.objc.975.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) CFStreamCreatePairWithSocketToHost$param(2)",
  "rule.sast.sw.objc.975.option.taint_sink.name": "External information sink",
  "rule.sast.sw.objc.975.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) getenv$return",
  "rule.sast.sw.objc.975.option.taint_source.name": "External information source",
  "rule.sast.sw.objc.976.description": "The SQL Injection checker finds SQL queries that include an unvalidated external input.\nFailure to validate input data received from an application may allow attackers to inject SQL queries through input forms or the address bar, thereby accessing or manipulating information in the database.\nExternal inputs must be validated or parameterized before being used in SQL queries.",
  "rule.sast.sw.objc.976.example.0.dangerous": "Line 3: An external input is directly used to generate SQL queries.",
  "rule.sast.sw.objc.976.example.0.safe": "Line 3: Make sure to use secure SQL queries through a filter function.",
  "rule.sast.sw.objc.976.name": "SQL Injection",
  "rule.sast.sw.objc.976.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />example) filter$param(1)",
  "rule.sast.sw.objc.976.option.taint_filter.name": "External information filter",
  "rule.sast.sw.objc.976.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.objc.976.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.objc.976.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) strcpy$param(2)->param(1)",
  "rule.sast.sw.objc.976.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.objc.976.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) sqlite3_exec$param(2)",
  "rule.sast.sw.objc.976.option.taint_sink.name": "External information sink",
  "rule.sast.sw.objc.976.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) getenv$return",
  "rule.sast.sw.objc.976.option.taint_source.name": "External information source",
  "rule.sast.sw.objc.977.description": "The Insecure Reflection checker finds instances of using an unvalidated external input as an argument for reflection.\nReflection treats stings as entity names in source code to enable access to the classes, functions, and variables referred to by those names. The performSelector() method is used for reflection.\nIf unvalidated external inputs are allowed in reflection, the program may be run through an unintended execution path. This can be exploited to bypass security checks.\nCheck if the reflection code is necessary in the program design; and replace it with a normal code that behaves identically, if possible. The use of reflection must be strictly restricted to necessary cases, for example, when a normal way of calling a function or method may cause a runtime error because the callable objects vary with execution environments. Reflection is often used simply in order to avoid some bothersome coding; check if reflection is necessary before using it. If reflection with untrusted external inputs is inevitable, have those inputs filtered, or restrict argument values determined by external inputs to those selected from within a preconfigured array of appropriate values.",
  "rule.sast.sw.objc.977.example.0.dangerous": "Line 6: An unvalidated external input query is used for an argument of [performSelecter] message.",
  "rule.sast.sw.objc.977.example.0.safe": "Line 6: Use secure strings for reflection through a filter function.",
  "rule.sast.sw.objc.977.name": "Insecure Reflection",
  "rule.sast.sw.objc.977.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />example) filter$param(1)",
  "rule.sast.sw.objc.977.option.taint_filter.name": "External information filter",
  "rule.sast.sw.objc.977.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) strcpy$param(2)->param(1)",
  "rule.sast.sw.objc.977.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.objc.977.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) .*.performSelector:$param(*)",
  "rule.sast.sw.objc.977.option.taint_sink.name": "External information sink",
  "rule.sast.sw.objc.977.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) getenv$return",
  "rule.sast.sw.objc.977.option.taint_source.name": "External information source",
  "rule.sast.sw.php.1000.description": "The Header manipulation checker finds instances of including an unvalidated external input in an HTTP response header.\nAs with many software security vulnerabilities, cookie manipulation is a means to an end, not an end in itself. At its root, the vulnerability is straightforward: an attacker passes malicious data to a vulnerable application, and the application includes the data in an HTTP cookie. Many of today's modern application servers will prevent the injection of malicious characters into HTTP headers. For example, recent versions of Apache Tomcat will throw an IllegalArgumentException if you attempt to set a header with prohibited characters. Allowing unvalidated external input in HTTP headers enables attackers to try various attacks including cache poisoning, cross-site scripting, HTTP response splitting, session fixation, cross-user defacement, page hijacking, cookie manipulation, and open redirect. If your application server prevents setting headers with newline characters, HTTP response splitting can be prevented but the application will remain vulnerable to other threats.\nExternal inputs to be included in headers must be thoroughly filtered to eliminate any dangerous characters.",
  "rule.sast.sw.php.1000.example.0.dangerous": "Line 3: An insecure $_GET['id'] value is used in header() function.",
  "rule.sast.sw.php.1000.example.0.safe": "Line 3: Do not send an insecure value to the header() function; use a filtered value only.",
  "rule.sast.sw.php.1000.name": "Header manipulation",
  "rule.sast.sw.php.1000.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) param(*) of name(\"filter\")",
  "rule.sast.sw.php.1000.option.taint_filter.name": "External information filter",
  "rule.sast.sw.php.1000.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.php.1000.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.php.1000.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\".\") to return",
  "rule.sast.sw.php.1000.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.php.1000.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(1) of name(\"header\")",
  "rule.sast.sw.php.1000.option.taint_sink.name": "External information sink",
  "rule.sast.sw.php.1000.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of name(\"$_GET\")",
  "rule.sast.sw.php.1000.option.taint_source.name": "External information source",
  "rule.sast.sw.php.1001.description": "The Command injection checker finds instances in which an internal system command is executed by an unvalidated external input.\nThe checker searches for an unvalidated external input used to execute a command by calling a function such as system() or popen().\nIf a user input that has not been properly validated constitutes the whole or part of an OS command to execute it in an unintended way, this may cause improper permission changes or harmful effects on the system's processes or operations.\nIf a command needs to be generated or selected based on an external input, whitelist safe values for command generation and restrict values determined by external inputs to those selected from within the whitelist. To prevent external inputs from being used for scripts, use a text replacement function or method to substitute characters such as <, >, &, and \" with &lt;, &gt;, &amp;, and &quot;, respectively.",
  "rule.sast.sw.php.1001.example.0.dangerous": "Line 3: An insecure $_GET['value'] is used to system() function to execute system commands.",
  "rule.sast.sw.php.1001.example.0.safe": "Line 3: Make sure to use secure values only through a filter function for functions to execute the commands.",
  "rule.sast.sw.php.1001.name": "Command injection",
  "rule.sast.sw.php.1001.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) param(*) of name(\"filter\")",
  "rule.sast.sw.php.1001.option.taint_filter.name": "External information filter",
  "rule.sast.sw.php.1001.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.php.1001.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.php.1001.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\".\") to return",
  "rule.sast.sw.php.1001.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.php.1001.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(1) of name(\"exec\")",
  "rule.sast.sw.php.1001.option.taint_sink.name": "External information sink",
  "rule.sast.sw.php.1001.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) param(*) of name(\"main\")",
  "rule.sast.sw.php.1001.option.taint_source.name": "External information source",
  "rule.sast.sw.php.1002.description": "The Remote code execution checker finds instances of using unvalidated external inputs in dynamic evaluation code.\nStrings passed to the eval() function during program execution are considered part of code to be executed.\nIf an unvalidated external input is allowed in dynamically executable code, attackers can execute an arbitrary action to achieve their aim.\nCheck if the dynamic evaluation is necessary in the program design; if possible, replace it with a static code that behaves identically. Most ordinary program actions can be implemented without dynamic evaluation; in many cases, programmers use dynamic code simply in order to avoid some bothersome coding. If the use of dynamic code with untrusted external inputs is inevitable, have those inputs filtered, or restrict argument values determined by external inputs to those selected from within a preconfigured array of appropriate values.",
  "rule.sast.sw.php.1002.example.0.dangerous": "Line 3: A eval() function is used to execute dynamic code.",
  "rule.sast.sw.php.1002.example.0.safe": "Line 3: Do not use the eval() function.",
  "rule.sast.sw.php.1002.name": "Remote code execution",
  "rule.sast.sw.php.1002.option.check_dynamic_include.description": "If selected, dynamic includes will be detected.",
  "rule.sast.sw.php.1002.option.check_dynamic_include.name": "Check dynamic include",
  "rule.sast.sw.php.1002.option.forbidden_function.description": "Write a name of the function to be forbidden which executes codes remotely .<br />Example) popen",
  "rule.sast.sw.php.1002.option.forbidden_function.name": "Remote code execution function to be forbidden",
  "rule.sast.sw.php.1002.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) param(1) of name(\"in_array\")",
  "rule.sast.sw.php.1002.option.taint_filter.name": "External information filter",
  "rule.sast.sw.php.1002.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.php.1002.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.php.1002.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\".\") to return",
  "rule.sast.sw.php.1002.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.php.1002.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(*) of name(\"eval\")",
  "rule.sast.sw.php.1002.option.taint_sink.name": "External information sink",
  "rule.sast.sw.php.1002.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of name(\"$_GET\")",
  "rule.sast.sw.php.1002.option.taint_source.name": "External information source",
  "rule.sast.sw.php.1003.description": "The Cookie set to base path checker finds a cookie setting in which the path is set to the base path (`/`).\nThis setting may allow applications with the same cookie path to access the session cookie.\nSet the cookie path to a specific path instead of the base path.",
  "rule.sast.sw.php.1003.example.0.dangerous": "Line 1: A cookie path is set to a base path.",
  "rule.sast.sw.php.1003.example.0.safe": "Line 3: Do not set the cookie path to base path.",
  "rule.sast.sw.php.1003.name": "Cookie set to base path",
  "rule.sast.sw.php.1003.option.check_function_params.description": "Write the name of the function to be checked and the position of the parameter.",
  "rule.sast.sw.php.1003.option.check_function_params.name": "Function name and parameter position",
  "rule.sast.sw.php.1004.description": "The Weak hash checker finds instances of using a hashing algorithm known to be insecure.\nNon-standard hashing algorithms can be more easily encryptanalyzed and cracked by attackers. Some old algorithms have been weak over time as computing power grows-It used to be expected to take an extremely long time to crack them in the past, but now they can be broken in a couple of days or hours. Using an old or non-standard hashing algorithm may allow attackers to cryptanalyze and disable it. Hashes created by MD5 or other old algorithms can be cracked by means of rainbow tables.\nDeveloping your own hashing algorithm is dangerous; instead, use standard algorithms that have been proven in academia and industry. Use secure algorithms such as SHA-256 and SHA-512 instead of those considered weak such as MD5 and SHA-1. In addition, use unpredictable salts together to ensure stronger security.",
  "rule.sast.sw.php.1004.example.0.dangerous": "Line 3: An insecure MD5 hash is used.",
  "rule.sast.sw.php.1004.example.0.safe": "Line 3: Use a relatively secure hash such as SHA256.",
  "rule.sast.sw.php.1004.name": "Weak hash",
  "rule.sast.sw.php.1004.option.ignore_hash_function_paramcall.description": "Write a name of the ignoring function. <br />Example)  mt_rand",
  "rule.sast.sw.php.1004.option.ignore_hash_function_paramcall.name": "Ignore function that called in hash function argument.",
  "rule.sast.sw.php.1004.option.weak_hash_function.description": "Write a name of the weak hash function.\nExample) md5",
  "rule.sast.sw.php.1004.option.weak_hash_function.name": "Weak hash function",
  "rule.sast.sw.php.1663.description": "The Unrestricted File Upload checker finds instances of accepting a file upload without checking its type and size.\nA file imported from $_FILE variable needs to be verified before uploading.\nIf server-executable scripts (files in asp, jsp, php, etc.) can be uploaded and attackers can run those files by themselves on the Web, it can be exploited to run internal system commands or connect the system to an external source to control it therefrom.\nMake sure users can upload only those files whose extensions are allowed in the whitelist. Have the names and extensions of uploaded files changed into unpredictable strings when they are stored in the server.",
  "rule.sast.sw.php.1663.example.0.dangerous": "Line 33: A file extension is not verified during check for uploading.",
  "rule.sast.sw.php.1663.example.0.safe": "Line 27: Verify the extension to upload valid forms of files such as jpg, or gif.",
  "rule.sast.sw.php.1663.name": "Unrestricted File Upload",
  "rule.sast.sw.php.1663.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) param(1) of name(\"endsWith\")",
  "rule.sast.sw.php.1663.option.taint_filter.name": "External information filter",
  "rule.sast.sw.php.1663.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.php.1663.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.php.1663.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\".\") to return",
  "rule.sast.sw.php.1663.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.php.1663.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(2) of name(\"move_uploaded_file\")",
  "rule.sast.sw.php.1663.option.taint_sink.name": "External information sink",
  "rule.sast.sw.php.1663.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of name(\"$_FILES\")",
  "rule.sast.sw.php.1663.option.taint_source.name": "External information source",
  "rule.sast.sw.php.1664.description": "The Redirection to untrusted site checker finds instances of redirecting to a URL generated with an unvalidated external input.\nAlthough connecting to a client-provided URL is often believed to be safe, an attacker can modify the request and redirect the user to a malicious site.\nMaintain a whitelist of external site URLs and domains allowed for redirection, which needs to be checked when a user input is passed as a redirect URL.",
  "rule.sast.sw.php.1664.example.0.dangerous": "Line 5: An untrusted address $id is redirected to.",
  "rule.sast.sw.php.1664.example.0.safe": "Line 6: Redirect to whitelisted addresses only.",
  "rule.sast.sw.php.1664.name": "Redirection to untrusted site",
  "rule.sast.sw.php.1664.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) param(*) of name(\"filter\")",
  "rule.sast.sw.php.1664.option.taint_filter.name": "External information filter",
  "rule.sast.sw.php.1664.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.php.1664.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.php.1664.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\".\") to return",
  "rule.sast.sw.php.1664.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.php.1664.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(1) of name(\"header\")",
  "rule.sast.sw.php.1664.option.taint_sink.name": "External information sink",
  "rule.sast.sw.php.1664.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of name(\"$_GET\")",
  "rule.sast.sw.php.1664.option.taint_source.name": "External information source",
  "rule.sast.sw.php.1665.description": "The XQuery Injection checker finds XQuery statements that include an unvalidated external input.\nIf an appropriate validation process is not established for external inputs that are used to create dynamic queries for XML data in XQuery, attackers may arbitrarily modify the query structure. This modification enables them to access restricted data or bypass the authorization checks. In the case of `username='local_user1'`, for example, XQuery uses single quotation marks to delimit the text value to be checked against the username. If an external input is used for the value to be checked against and single quotation marks are allowed in it, you can enter as follows: `admin' or ''='`. Then the query's conditional clause will be as follows: `username = 'admin' or ''=''`. As`''=''`always evaluates to true, the condition comparing against username can be bypassed.\nMake sure external input data used in XQuery are filtered for special characters and reserved words.",
  "rule.sast.sw.php.1665.example.0.dangerous": "Line 6: An untrusted external input is used to generate XQuery strings.",
  "rule.sast.sw.php.1665.example.0.safe": "Line 9: Use secure XQuery strings only.",
  "rule.sast.sw.php.1665.name": "XQuery Injection",
  "rule.sast.sw.php.1665.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) param(*) of name(\"filter\")",
  "rule.sast.sw.php.1665.option.taint_filter.name": "External information filter",
  "rule.sast.sw.php.1665.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.php.1665.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.php.1665.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\".\") to return",
  "rule.sast.sw.php.1665.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.php.1665.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) base of fqn(\"XQueryProcessor.execute(0)\")",
  "rule.sast.sw.php.1665.option.taint_sink.name": "External information sink",
  "rule.sast.sw.php.1665.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of name(\"$_GET\")",
  "rule.sast.sw.php.1665.option.taint_source.name": "External information source",
  "rule.sast.sw.php.1666.description": "The XPath Injection checker finds XPath queries that include an unvalidated external input.\nIf external inputs are allowed in XPath queries without appropriately validating them, attackers can feed an unexpected string to twist a query's meaning or alter its structure, thereby gaining access to restricted data.\nMake sure external inputs used in XPath queries are filtered for special characters (`, [, ], /, =, @, etc.) and reserved words.",
  "rule.sast.sw.php.1666.example.0.dangerous": "Line 3: An untrusted external input is used to generate XPath strings.",
  "rule.sast.sw.php.1666.example.0.safe": "Line 3: Use secure XPath strings only.",
  "rule.sast.sw.php.1666.name": "XPath Injection",
  "rule.sast.sw.php.1666.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) param(*) of name(\"filter\")",
  "rule.sast.sw.php.1666.option.taint_filter.name": "External information filter",
  "rule.sast.sw.php.1666.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.php.1666.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.php.1666.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\".\") to return",
  "rule.sast.sw.php.1666.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.php.1666.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(1) of name(\"xpath\")",
  "rule.sast.sw.php.1666.option.taint_sink.name": "External information sink",
  "rule.sast.sw.php.1666.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of name(\"$_GET\")",
  "rule.sast.sw.php.1666.option.taint_source.name": "External information source",
  "rule.sast.sw.php.1667.description": "The LDAP Injection checker finds instances in which unvalidated external inputs can be exploited to execute unintended LDAP commands.\nIf the web application does not handle user inputs properly, attackers can alter LDAP query commands, thereby enabling the process to behave with the same authentication as the command executor component.\nTo prevent external inputs from being used for scripts, use a text replacement function or method to substitute characters such as <, >, &, and \" with &lt;, &gt;, &amp;, and &quot;, respectively.",
  "rule.sast.sw.php.1667.example.0.dangerous": "Line 5: An untrusted external input is used to generate LDAP commands.",
  "rule.sast.sw.php.1667.example.0.safe": "Line 4: Use filtered secure inputs only for the LDAP commands.",
  "rule.sast.sw.php.1667.name": "LDAP Injection",
  "rule.sast.sw.php.1667.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) param(*) of name(\"filter\")",
  "rule.sast.sw.php.1667.option.taint_filter.name": "External information filter",
  "rule.sast.sw.php.1667.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.php.1667.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.php.1667.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\".\") to return",
  "rule.sast.sw.php.1667.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.php.1667.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(3) of name(\"ldap_search\")",
  "rule.sast.sw.php.1667.option.taint_sink.name": "External information sink",
  "rule.sast.sw.php.1667.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of name(\"$_GET\")",
  "rule.sast.sw.php.1667.option.taint_source.name": "External information source",
  "rule.sast.sw.php.1668.description": "The Cross site request forgery checker finds form data transfers that are not made via the POST method.\nAn attacker may cause a malicious website to behave harmfully in an authenticated user session. If the user session is of an administrator, the attacker can arbitrarily execute administrator-exclusive functions such as user permission settings, deletion of posts, and user registration to achieve the attacker's aim. If the web application sends a GET request, attackers can easily identify the information in it and send modified information to carry out their desired operations.\nWhen writing an input form, choose the POST method over the GET method. And use a token between the input form and the processor for inputs therefrom so that direct URL exploitation can be prevented. For an attempt to access critical functions, in particular, be sure to demand session verification and re-authentication.",
  "rule.sast.sw.php.1668.example.0.dangerous": "Line 1: A GET method is sending values by appending form data as a suffix of a URL, which can be easily exposed by CSRF attacks.",
  "rule.sast.sw.php.1668.example.0.safe": "Line 1: Reduce risks by using a POST method.",
  "rule.sast.sw.php.1668.name": "Cross site request forgery",
  "rule.sast.sw.php.1669.description": "The Reliance on untrusted inputs in security decisions checker finds instances of storing user credentials in a cookie.\nDevelopers may assume that inputs such as cookies, environment variables, and hidden form fields cannot be modified. However, an attacker could change these inputs using various approaches and this change might not be detected. When security decisions such as authentication and authorization are made based on the values of these inputs, attackers can bypass the security checks of the application. Therefore, inputs from external users should not be trusted.\nMake sure that critical information such as state information, sensitive data, and user sessions is stored in the server, and security checks are performed on the server side. Understand all the potential areas where untrusted inputs can enter your application. Identify all inputs that are used for security decisions and determine if you can modify the design so that you do not have to rely on submitted inputs at all.",
  "rule.sast.sw.php.1669.example.0.dangerous": "Line 3: A forbidden key is used to look up authentication variables from $_COOKIE.\nLine 5: A forbidden key is used to look up authentication variables from $_COOKIE.",
  "rule.sast.sw.php.1669.example.0.safe": "Line 3: Store the authentication to a secure $_SESSION variable.\nLine 5: Store the authentication to a secure $_SESSION variable.",
  "rule.sast.sw.php.1669.name": "Reliance on untrusted inputs in security decisions",
  "rule.sast.sw.php.1669.option.forbidden_key.description": "Write a name of the cookie key to be forbidden.<br />Example) role",
  "rule.sast.sw.php.1669.option.forbidden_key.name": "Cookie key to be forbidden",
  "rule.sast.sw.php.1670.description": "The Format string injection checker finds instances of using a format string that is not a constant but built with an unvalidated external input.\nWhen security decisions such as authentication and authorization are made based on the values of these inputs, attackers can bypass the security checks of the application.\nTo prevent external inputs from being used for scripts, use a text replacement function or method to substitute characters such as <, >, &, and \" with &lt;, &gt;, &amp;, and &quot;, respectively.",
  "rule.sast.sw.php.1670.example.0.dangerous": "Line 3: An unvalidated external input is used as a format string.",
  "rule.sast.sw.php.1670.example.0.safe": "Line 3: Use secure format strings only.",
  "rule.sast.sw.php.1670.name": "Format string injection",
  "rule.sast.sw.php.1670.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) param(*) of name(\"filter\")",
  "rule.sast.sw.php.1670.option.taint_filter.name": "External information filter",
  "rule.sast.sw.php.1670.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.php.1670.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.php.1670.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\".\") to return",
  "rule.sast.sw.php.1670.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.php.1670.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(1) of name(\"printf\")",
  "rule.sast.sw.php.1670.option.taint_sink.name": "External information sink",
  "rule.sast.sw.php.1670.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of name(\"$_GET\")",
  "rule.sast.sw.php.1670.option.taint_source.name": "External information source",
  "rule.sast.sw.php.1671.description": "The Missing authentication for critical function checker finds instances of failure to perform authentication for critical functions.\nYou can optionally specify critical functions subject to checking and how to control authentication.\nIt is risky to allow those not properly authenticated to access or modify critical information (bank accounts, personal data) or to use functions that consume a significant amount of resources. Protect the server against attackers bypassing the client-side checks, and require re-authentication for access to critical pages such as wire transfer. Additionally, consider using libraries with authentication capabilities such as OpenSSL or the ESAPI Authenticator.\nRequire authentication before giving access to critical functions.",
  "rule.sast.sw.php.1671.example.0.dangerous": "Line 4: A bank account is sent without further authentication.",
  "rule.sast.sw.php.1671.example.0.safe": "Line 4: Make users with authentication only enable to send the bank account.",
  "rule.sast.sw.php.1671.name": "Missing authentication for critical function",
  "rule.sast.sw.php.1671.option.authentication_function.description": "Write the name of the authentication function<br />Example) strcmp",
  "rule.sast.sw.php.1671.option.authentication_function.name": "Authentication function",
  "rule.sast.sw.php.1671.option.critical_function.description": "Write the name of the critical function.<br />Example) login",
  "rule.sast.sw.php.1671.option.critical_function.name": "Critical function",
  "rule.sast.sw.php.1672.description": "The Improper authorization checker finds instances of using anonymous binding to execute an LDAP query.\nIf the anonymous binding is allowed without user authentication, a user's information can be accessed externally.\nMake sure the LDAP binding is performed with the username and password provided.",
  "rule.sast.sw.php.1672.example.0.dangerous": "Line 5: User authentication is executed without other actions, which allows anonymous bindings.",
  "rule.sast.sw.php.1672.example.0.safe": "Line 5: Use access control to access with user ID and password.",
  "rule.sast.sw.php.1672.name": "Improper authorization",
  "rule.sast.sw.php.1673.description": "The Weak cryptographic algorithm checker finds instances of using a cryptographic algorithm known to be insecure.\nAlgorithms of DES, RC2, RC4, RC5 are no longer secure anymore.\nNon-standard cryptographic algorithms can be more easily cryptanalyzed and cracked by attackers. Some old algorithms have been weak over time as computing power grows-It used to be expected to take an extremely long time to crack them in the past, but now they can be broken in a couple of days or hours. Using an old or non-standard cryptographic algorithm may allow attackers to cryptanalyze and disable it.\nDeveloping your own cryptographic algorithm is dangerous; instead, use standard algorithms that have been proven in academia and industry. Use secure algorithms such as 3DES, AES, and SEED instead of those considered weak such as DES and RC5. And encryption keys must be long enough in accordance with the appropriate length suggested by each standard, secure algorithm.",
  "rule.sast.sw.php.1673.example.0.dangerous": "Line 5: An encryption is performed with a weak DES algorithm.",
  "rule.sast.sw.php.1673.example.0.safe": "Line 6: Use secure algorithms such as AES.",
  "rule.sast.sw.php.1673.name": "Weak cryptographic algorithm",
  "rule.sast.sw.php.1673.option.weak_algorithm.description": "Write a name of the weak cryptographic algorithm.<br />Example) DES",
  "rule.sast.sw.php.1673.option.weak_algorithm.name": "Weak cryptographic algorithm",
  "rule.sast.sw.php.1674.description": "The Cleartext storage of sensitive information checker finds instances in which unencrypted sensitive information is stored in plaintext.\nIf sensitive information is not encrypted when stored in plaintext, data may be exposed to or sniffed by unauthorized agents.\nEnsure to encrypt the sensitive information while storing it to an external environment file. Additionally, consider separating the sensitive information and normal data in the software designing phase.",
  "rule.sast.sw.php.1674.example.0.dangerous": "Line 5: A password in plaintext is stored to a file.",
  "rule.sast.sw.php.1674.example.0.safe": "Line 13: Encrypt the password to be stored.",
  "rule.sast.sw.php.1674.name": "Cleartext storage of sensitive information",
  "rule.sast.sw.php.1674.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) return of name(\"mcrypt_encrypt\")",
  "rule.sast.sw.php.1674.option.taint_filter.name": "External information filter",
  "rule.sast.sw.php.1674.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.php.1674.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.php.1674.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\".\") to return",
  "rule.sast.sw.php.1674.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.php.1674.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(2) of name(\"fwrite\")",
  "rule.sast.sw.php.1674.option.taint_sink.name": "External information sink",
  "rule.sast.sw.php.1674.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of name(\"$_GET\")",
  "rule.sast.sw.php.1674.option.taint_source.name": "External information source",
  "rule.sast.sw.php.1674.option.target_info.description": "Write a pattern for the name of the target information.<br />Example) password",
  "rule.sast.sw.php.1674.option.target_info.name": "Target information",
  "rule.sast.sw.php.1675.description": "The Cleartext transmission of sensitive information checker finds instances of transferring sensitive information without encrypting it.\nIf data containing important user or system information is sent or received in plaintext, this poses a security vulnerability allowing unauthorized users to sniff sensitive data from the communication channel.\nSensitive information transferring via communication channels must be encrypted. If necessary, secure channels such as SSL or HTTPS should be used.",
  "rule.sast.sw.php.1675.example.0.dangerous": "Line 7: An unencrypted password is sent through a socket.",
  "rule.sast.sw.php.1675.example.0.safe": "Line 14: Encrypt the password before sending it through network.",
  "rule.sast.sw.php.1675.name": "Cleartext transmission of sensitive information",
  "rule.sast.sw.php.1675.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) return of name(\"mcrypt_encrypt\")",
  "rule.sast.sw.php.1675.option.taint_filter.name": "External information filter",
  "rule.sast.sw.php.1675.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.php.1675.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.php.1675.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\".\") to return",
  "rule.sast.sw.php.1675.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.php.1675.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(2) of name(\"socket_send\")",
  "rule.sast.sw.php.1675.option.taint_sink.name": "External information sink",
  "rule.sast.sw.php.1675.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of name(\"$_GET\")",
  "rule.sast.sw.php.1675.option.taint_source.name": "External information source",
  "rule.sast.sw.php.1675.option.target_info.description": "Write a pattern for the name of the target information.<br />Example) password",
  "rule.sast.sw.php.1675.option.target_info.name": "Target information",
  "rule.sast.sw.php.1676.description": "The Hardcoded password checker finds instances of passing a string constant to the password parameter of mysql_connect().\nThe checker regards hardcoded passwords insecure. It determines that it is vulnerable to put a string constant in the password parameter of mysql_connect(). Passwords are recommended to be encrypted and stored in a separate file.\nIf program code contains a hardcoded password that is used for internal authentication or for communications with an external component, it can be exploited to leak administrator information.\nDo not hardcode passwords in source code but have them provided from a separate file.",
  "rule.sast.sw.php.1676.example.0.dangerous": "Line 2: A hardcoded password is used to execute mysql_connect().",
  "rule.sast.sw.php.1676.example.0.safe": "Line 2: Do not hardcode the password, get it from outside.",
  "rule.sast.sw.php.1676.name": "Hardcoded password",
  "rule.sast.sw.php.1676.option.check_function_params.description": "Write the name of the function to be checked and the position of the parameter.",
  "rule.sast.sw.php.1676.option.check_function_params.name": "Function name and parameter position",
  "rule.sast.sw.php.1677.description": "The Insufficient cryptographic key size checker finds encryption keys that are too short.\nYou can optionally specify the minimum key length that ensures security.\nAn encryption key is used for encryption and decryption purposes; if it is not long enough, it can be uncovered in a practically short time even with a verified cryptographic algorithm used. This can be exploited to decrypt encrypted data or passwords.\nEach major algorithm suggests an appropriate length of a key that ensures an extremely long time is taken to break the key at the currently known level of technology, thus making attacks on it practically impossible. It is recommended to use a key no shorter than the suggested length. For instance, the RSA algorithm must be used with a key of at least 2,048 bits (as of 2015), while symmetric encryption algorithms require a key of at least 128 bits.",
  "rule.sast.sw.php.1677.example.0.dangerous": "Line 7: A key length used in RSA algorithm is shorter than suggested one.",
  "rule.sast.sw.php.1677.example.0.safe": "Line 7: Use the key length of 2048 at minimum.",
  "rule.sast.sw.php.1677.name": "Insufficient cryptographic key size",
  "rule.sast.sw.php.1677.option.EC.description": "Write the minimum key size allowed for EC algorithm.<br />Example) 256",
  "rule.sast.sw.php.1677.option.EC.name": "Key size allowed in EC algorithm",
  "rule.sast.sw.php.1677.option.RSA.description": "Write the minimum key size allowed for RSA algorithm.<br />Example) 2048",
  "rule.sast.sw.php.1677.option.RSA.name": "Key size allowed in RSA algorithm",
  "rule.sast.sw.php.1678.description": "The Improper random number generation checker finds instances of using a predictable random value.\nThe rand() and mt_rand() functions are used to generate random values but they pose security vulnerabilities. The checker searches for calls to these functions.\nIf a predictable random number is used when an unpredictable number is demanded, an attacker can predict subsequently generated numbers and use them to attack the system. Languages provide their specific built-in statistical PRNG (pseudorandom number generator) functionality. But numbers generated by such a generator are often easily predictable, and security can be threatened simply by an effective seed setting.\nYou need to use cryptographically secure approaches that generate unpredictable random values.",
  "rule.sast.sw.php.1678.example.0.dangerous": "Line 1: rand() function in PHP creates an insecure random number.",
  "rule.sast.sw.php.1678.example.0.safe": "Line 1: Use a function to create an secure random number.",
  "rule.sast.sw.php.1678.name": "Improper random number generation",
  "rule.sast.sw.php.1679.description": "The Hardcoded cryptographic key checker finds encryption keys hardcoded in source code.\nHardcoded encryption keys present in source code can be used to decrypt ciphertext data back into the original information in case it leaks. Encryption keys are often hardcoded in the wrong assumption that their exposal poses no significant security threat, although some hash functions can possibly be reversed by brute-force attacks. In addition, hardcoded encryption keys are not easy to change.\nMake sure encryption keys never assume constant values. And, even if in ciphertext, they should not be hardcoded in source code.",
  "rule.sast.sw.php.1679.example.0.dangerous": "Line 6: A hardcoded encryption key is used.",
  "rule.sast.sw.php.1679.example.0.safe": "Line 6: Do not define the encryption key as const inside code.",
  "rule.sast.sw.php.1679.name": "Hardcoded cryptographic key",
  "rule.sast.sw.php.1679.option.check_function_params.description": "Write the name of the function to be checked and the position of the parameter.",
  "rule.sast.sw.php.1679.option.check_function_params.name": "Function name and parameter position",
  "rule.sast.sw.php.1680.description": "The Weak password requirements checker finds instances in which user passwords are accepted without checking for their complexity.\nFully numeric passwords, such as 123123, and some other simple passwords are vulnerable to brute-force attacks. If password patterns are not verified, users can use weak passwords.\nAdministrators can impose restrictions on users to use strong password patterns. For example, these can require to include a certain number of uppercase and lowercase letters, numerals, and special characters, or disallow consecutive identical characters. Refer to the password setting rules from \"KISA Cryptographic Usage Guidelines\".",
  "rule.sast.sw.php.1680.example.0.dangerous": "Line 4: A password is not validated.",
  "rule.sast.sw.php.1680.example.0.safe": "Line 5: Enable strong validation for the password, for example, a length limit.",
  "rule.sast.sw.php.1680.name": "Weak password requirements",
  "rule.sast.sw.php.1680.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) param(1) of name(\"strlen\")",
  "rule.sast.sw.php.1680.option.taint_filter.name": "External information filter",
  "rule.sast.sw.php.1680.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.php.1680.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.php.1680.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\".\") to return",
  "rule.sast.sw.php.1680.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.php.1680.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(*) of name(\"mysql_query\")",
  "rule.sast.sw.php.1680.option.taint_sink.name": "External information sink",
  "rule.sast.sw.php.1680.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of fqn(\"$_GET[\"password\"]\")",
  "rule.sast.sw.php.1680.option.taint_source.name": "External information source",
  "rule.sast.sw.php.1681.description": "The Missing login control checker finds instances of failure to implement a logic to limit the number of login attempts. \nThe checker checks a logic to control login attempt count at the start to call its login routine. Yet, an error occurs when control condition is a constant in a loop.\nIf login attempt count is not limited, attackers may use the error to login or get permission with a brute-force attack and take unauthorized permissions.\nA logic that limits login attempt count must be implemented. ",
  "rule.sast.sw.php.1681.example.0.dangerous": "Line 2: Login attempt count is not limited.",
  "rule.sast.sw.php.1681.example.0.safe": "Line 2: Limit the login attempt count.",
  "rule.sast.sw.php.1681.name": "Missing login control",
  "rule.sast.sw.php.1681.option.check_inner_control.description": "If the checkbox is checked, check whether the login routine has been controlled in the routine.",
  "rule.sast.sw.php.1681.option.check_inner_control.name": "Check inner control",
  "rule.sast.sw.php.1681.option.check_outer_control.description": "If the checkbox is checked, check whether the login routine has been controlled from the outside.",
  "rule.sast.sw.php.1681.option.check_outer_control.name": "Check outer control",
  "rule.sast.sw.php.1681.option.login_function.description": "Write the name of the login function.<br />Example) login",
  "rule.sast.sw.php.1681.option.login_function.name": "Login function",
  "rule.sast.sw.php.1683.description": "The Error information leak checker finds instances of displaying system information through error messages or by other means.\nIf error messages openly displayed by the application contain sensitive information regarding execution environments or user data, attackers can exploit the information for malicious actions. Showing exception names or stack traces can help attackers identify the program's internal structure.\nMake sure error messages are shown only to relevant users and contain minimum necessary information. Have exceptions internally handled in source code and do not allow them to trigger an error message containing sensitive information.",
  "rule.sast.sw.php.1683.example.0.dangerous": "Line 4: When an error occurs, tracing information is exposed though var_dump.",
  "rule.sast.sw.php.1683.example.0.safe": "Line 4: Do not show exception related debugging information.",
  "rule.sast.sw.php.1683.name": "Error information leak",
  "rule.sast.sw.php.1683.option.error_leaking_function.description": "Write a name of the error leaking function to be forbidden.<br />Example) phpinfo",
  "rule.sast.sw.php.1683.option.error_leaking_function.name": "Error leaking function to be forbidden",
  "rule.sast.sw.php.1683.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) param(*) of name(\"filter\")",
  "rule.sast.sw.php.1683.option.taint_filter.name": "External information filter",
  "rule.sast.sw.php.1683.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.php.1683.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.php.1683.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\".\") to return",
  "rule.sast.sw.php.1683.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.php.1683.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(*) of name(\"printf\")",
  "rule.sast.sw.php.1683.option.taint_sink.name": "External information sink",
  "rule.sast.sw.php.1683.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of name(\"$_GET\")",
  "rule.sast.sw.php.1683.option.taint_source.name": "External information source",
  "rule.sast.sw.php.1689.description": "The Leftover debug code checker finds debug code that remains not removed. \nDebug code may contain parts that output sensitive information or allow control over the system. If the program is deployed with debug code remaining, attackers may bypass an authentication process or access restricted information.\nRemove all debug code before deploying the application.",
  "rule.sast.sw.php.1689.example.0.dangerous": "Line 2: A function is called for debugging.",
  "rule.sast.sw.php.1689.example.0.safe": "Line 2: A function is called for debugging.",
  "rule.sast.sw.php.1689.name": "Leftover debug code",
  "rule.sast.sw.php.1689.option.debug_function.description": "Write a name of the debug function.<br />Example) debug_backtrace",
  "rule.sast.sw.php.1689.option.debug_function.name": "Debug method",
  "rule.sast.sw.php.1690.description": "The Reliance on DNS lookups in security decisions checker finds instances in which authentication and access controls rely solely on the domain name.\nBecause DNS servers are targeted for spoofing, reliance on the domain name allows attackers to modify the DNS to point the domain name to their IP address. They can create fake DNS entries, and you must avoid security decisions (authentication, access controls, etc.) solely based on the domain name. A tainted local DNS cache may let the network traffic between a particular server and users transferred through an attacker.\nFor servers with known IP addresses, use their IP addresses.",
  "rule.sast.sw.php.1690.example.0.dangerous": "Line 3: A request is verified to be trusted through a domain name. Then, attackers can manipulate DNS cash to send invalid credibility.",
  "rule.sast.sw.php.1690.example.0.safe": "Line 7: Modify to compare IP addresses directly without comparing DNS names.",
  "rule.sast.sw.php.1690.name": "Reliance on DNS lookups in security decisions",
  "rule.sast.sw.php.1690.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) param(*) of name(\"filter\")",
  "rule.sast.sw.php.1690.option.taint_filter.name": "External information filter",
  "rule.sast.sw.php.1690.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.php.1690.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.php.1690.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\".\") to return",
  "rule.sast.sw.php.1690.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.php.1690.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(*) of name(\"strcmp\")",
  "rule.sast.sw.php.1690.option.taint_sink.name": "External information sink",
  "rule.sast.sw.php.1690.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of name(\"gethostname\")",
  "rule.sast.sw.php.1690.option.taint_source.name": "External information source",
  "rule.sast.sw.php.1704.description": "The Password in comment checker finds comments that contain password information. \nPassword information contained in comments can be exposed to attackers. This practice may allow for security threats to the system. Passwords are often written in comments for development convenience, but they are hard to remove once the software is deployed into production. Do not include IDs, passwords, and other security-sensitive information in comments. If an attacker can access the source code or use reverse engineering to view the code, the attacker will be able to easily intrude the system.\nEliminate password information in comments.",
  "rule.sast.sw.php.1704.example.0.dangerous": "Line 1: An userId and password are used for debugging, and not properly deleted from comments.",
  "rule.sast.sw.php.1704.example.0.safe": "Line 1: Remove code to be used for debugging, such as userId and password information in comments.",
  "rule.sast.sw.php.1704.name": "Password in comment",
  "rule.sast.sw.php.1704.option.allowed_max_word_length.description": "Write the maximum length of a single word to be allowed in comments.<br />Example) 40",
  "rule.sast.sw.php.1704.option.allowed_max_word_length.name": "Maximum consecutive word length",
  "rule.sast.sw.php.1704.option.check_password_only.description": "If selected, password expressions will be detected even if it exists solely.",
  "rule.sast.sw.php.1704.option.check_password_only.name": "Check password expressions solely existing",
  "rule.sast.sw.php.1704.option.consecutive_word_expr.description": "Write an expression of the consecutive word which exceeds the maximum length to be detected.<br />Example) [a-zA-Z0-9]+",
  "rule.sast.sw.php.1704.option.consecutive_word_expr.name": "Consecutive word expressions to detect",
  "rule.sast.sw.php.1704.option.fixed_key_length.description": "Write a fixed length of key.",
  "rule.sast.sw.php.1704.option.fixed_key_length.name": "A fixed length of key",
  "rule.sast.sw.php.1704.option.password_expr.description": "Write the expression of a string that may be considered as a password.<br />Example) password",
  "rule.sast.sw.php.1704.option.password_expr.name": "Password expression",
  "rule.sast.sw.php.1704.option.using_fixed_key_length.description": "If the option is enabled, the fixed length of key string will be detected.",
  "rule.sast.sw.php.1704.option.using_fixed_key_length.name": "Check a fixed length of key",
  "rule.sast.sw.php.1892.description": "The HTTP Response Splitting checker finds HTTP responses created with an unvalidated external input.\nWhen arguments passed in an HTTP request are sent back through an HTTP response header, newline characters such as CRs (carriage returns) and LFs (line feeds) contained in the inputs can split the HTTP response into two or more. By exploiting this, attackers can use a newline to stop the first response and inject a malicious code into the second one for an XSS or cache poisoning attack.\nIf you need to include request parameters in an HTTP response header such as Set-Cookie, make sure all CRs and LFs are filtered out.",
  "rule.sast.sw.php.1892.example.0.dangerous": "Line 1: An insecure $_GET['id'] value is used in setcookie() function.",
  "rule.sast.sw.php.1892.example.0.safe": "Line 3: Do not send an insecure value to the setcookie() function; use a filtered value only.",
  "rule.sast.sw.php.1892.name": "HTTP Response Splitting",
  "rule.sast.sw.php.1892.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) param(*) of name(\"filter\")",
  "rule.sast.sw.php.1892.option.taint_filter.name": "External information filter",
  "rule.sast.sw.php.1892.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.php.1892.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.php.1892.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\".\") to return",
  "rule.sast.sw.php.1892.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.php.1892.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(2) of name(\"setcookie\")",
  "rule.sast.sw.php.1892.option.taint_sink.name": "External information sink",
  "rule.sast.sw.php.1892.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of name(\"$_GET\")",
  "rule.sast.sw.php.1892.option.taint_source.name": "External information source",
  "rule.sast.sw.php.1893.description": "The Cookie of sensitive information checker finds instances of storing security-sensitive information in a cookie.\nStoring sensitive data in a cookie makes a system vulnerable. Cookies always reside in memory for the most of web applications, and get removed at the exit of their browsers. Programmers can set cookies to persist for browser sessions if needed. These cookies are recorded in the disc drive and persist even after restarting the browser session by loading to its memory.\nIf privacy information is stored in a persistent cookie, attackers can have more chance to access such data. This leads to system vulnerability.\nDo not store the sensitive information to the cookie, use other way such as a session.",
  "rule.sast.sw.php.1893.example.0.dangerous": "Line 4: Sensitive information such as user ID is stored to a cookie through setcookie() function.",
  "rule.sast.sw.php.1893.example.0.safe": "Line 4: Use a more secure way, session.",
  "rule.sast.sw.php.1893.name": "Cookie of sensitive information",
  "rule.sast.sw.php.1893.option.forbidden_cookie_function.description": "Write a name of the cookie function to be forbidden.<br />Example) setcookie",
  "rule.sast.sw.php.1893.option.forbidden_cookie_function.name": "Cookie function to be forbidden",
  "rule.sast.sw.php.2802.description": "The Use of Hash without Salt checker finds instances of calculating a hash without a salt.\nIf sensitive data is hashed without a salt, attackers can precalculate the hashes using rainbow tables to find original values.\nWhen hashing a password or other sensitive data, pass a salt to the hashing function and use the consequently returned hash value.",
  "rule.sast.sw.php.2802.example.0.dangerous": "Line 1: An encryption type of password is set to PASSWORD_DEFAULT.",
  "rule.sast.sw.php.2802.example.0.safe": "Line 1: An encryption type of password is set to PASSWORD_BCRYPT.",
  "rule.sast.sw.php.2802.name": "Use of Hash without Salt",
  "rule.sast.sw.php.3002.description": "The Weak XML Transformer checker finds code that uses the XML parser, but fails to specify security options.\nThe XML External Entity or XSLT External Entity (XXE) vulnerability occurs when the XML parser is created without forbidding external DTD or DTD entities. Attackers can control external data to expose sensitive data, cause DoS attacks, forfeit server-side requests, or perform port scans on their parser devices. And this may lead to system errors.\nDo not specify LIBXML_NOENT for simplexml_load_string or DOMDocument::load, and do not set XMLReader::SUBST_ENTITIES to true in XMLReader::setParserProperty.",
  "rule.sast.sw.php.3002.example.0.dangerous": "Line 3: The third argument of simplexml_load_string is set to LIBXML_NOENT. Which allows to use external entities.\nLine 8: The second argument of DOMDocument::load is set to LIBXML_NOENT. Which allows to use external entities.\nLine 14: Set the first argument to XMLReader::SUBST_ENTITIES, and the second argument to true for XMLReader::setParserProperty.",
  "rule.sast.sw.php.3002.example.0.safe": "Line 3: Do not specify LIBXML_NOENT for simplexml_load_string function.\nLine 8: Line 3: Do not specify LIBXML_NOENT for DOMDocument::load.\nLine 14: Do not set XMLReader::SUBST_ENTITIES to true for XMLReader::setParserProperty.",
  "rule.sast.sw.php.3002.name": "Weak XML Transformer",
  "rule.sast.sw.php.3003.description": "The Server-side Request Forgery checker finds accesses to an unvalidated URL that contains an external input.\nIf a service operating on an open web server is allowed to access an unvalidated URL that contains an external input, it will attempt access to any URL even though the URL links to the internal server. The internal server then will send back a normal response because the received request is from a web server in the same internal network. If such a vulnerability is known to an attacker, the weak web server can be exploited to send a request to the internal server which itself is not directly accessible to the attacker. This may lead to exposing sensitive information.\nWhen accessing a URL that contains an external input, make sure it passes appropriate validation.",
  "rule.sast.sw.php.3003.example.0.dangerous": "Line 3: An external input is sent to file_get_contents function, which can expose important information.",
  "rule.sast.sw.php.3003.example.0.safe": "Line 6: Validate external inputs before using them.",
  "rule.sast.sw.php.3003.name": "Server-side Request Forgery",
  "rule.sast.sw.php.3003.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) param(1) of name(\"in_array\")",
  "rule.sast.sw.php.3003.option.taint_filter.name": "External information filter",
  "rule.sast.sw.php.3003.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.php.3003.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.php.3003.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\".\") to return",
  "rule.sast.sw.php.3003.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.php.3003.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(*) of name(\"file_get_contents\")",
  "rule.sast.sw.php.3003.option.taint_sink.name": "External information sink",
  "rule.sast.sw.php.3003.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of name(\"$_GET\")",
  "rule.sast.sw.php.3003.option.taint_source.name": "External information source",
  "rule.sast.sw.php.3004.description": "The Weak Server Certificate checker finds code that creates SSL/TLS sessions, but fails to validate X.509 certificates, therefore, trusts all certificates.\nIt is required to validate X.509 certificates in order to create secure SSL/TLS sessions which are safe against the MITM(Man in the Middle) attacks.\nUse curl_setopt function to set CURLOPT_SSL_VERIFYPEER to true or 1.",
  "rule.sast.sw.php.3004.example.0.dangerous": "Line 2: CURLOPT_SSL_VERIFYPEER is set to FALSE. So, certificates of the remote server are not validated.\nLine 3: CURLOPT_SSL_VERIFYPEER is set to FALSE. So, certificates of the remote server are not validated.\nLine 4: CURLOPT_SSL_VERIFYPEER is set to 0. So, certificates of the remote server are not validated.",
  "rule.sast.sw.php.3004.example.0.safe": "Line 2: Set CURLOPT_SSL_VERIFYPEER to True to validate a certificate of the remote server.\nLine 3: Set CURLOPT_SSL_VERIFYPEER to True to validate a certificate of the remote server.\nLine 4: Set CURLOPT_SSL_VERIFYPEER to 1 to validate a certificate of the remote server.",
  "rule.sast.sw.php.3004.name": "Weak Server Certificate",
  "rule.sast.sw.php.3005.description": "The Deserialization of Untrusted Data checker finds code that uses an insecure deserialization method.\nYou can serialize objects for storing or transmitting, and deserialize them when you need. Then, the objects can be kept as immutable. However, if you deserialize untrusted data without separate protection, it can run malicious code by adding a tainted object or variable.\nIf you deserialize data by using unserialize function, make a whitelist or check the hmac address.",
  "rule.sast.sw.php.3005.example.0.dangerous": "Line 3: An external input is deserialized without additional validation. Which might run a malicious code.",
  "rule.sast.sw.php.3005.example.0.safe": "Line 7: Use SHA-256 algorithm to convert data into hmac (hash-based message authentication code).\nLine 9: Check data integrity before deserialization.",
  "rule.sast.sw.php.3005.name": "Deserialization of Untrusted Data",
  "rule.sast.sw.php.3005.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) param(1) of name(\"in_array\")",
  "rule.sast.sw.php.3005.option.taint_filter.name": "External information filter",
  "rule.sast.sw.php.3005.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.php.3005.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.php.3005.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\".\") to return",
  "rule.sast.sw.php.3005.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.php.3005.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(1) of name(\"unserialize\")",
  "rule.sast.sw.php.3005.option.taint_sink.name": "External information sink",
  "rule.sast.sw.php.3005.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of name(\"$_GET\")",
  "rule.sast.sw.php.3005.option.taint_source.name": "External information source",
  "rule.sast.sw.php.914.description": "The Overly Permissive CORS Policy checker finds declarations of an overly permissive cross-origin resource sharing (CORS) policy in source code.\nThe checker searches for a CORS policy that passes an argument of `Access-Control-Allow-Origin: *` to header() thereby allowing all sites.\nIt is risky to pass `Access-Control-Allow-Origin: *` to header() to allow all sites.\nIt is recommended to specify an allowed domain instead of allowing all domains.",
  "rule.sast.sw.php.914.example.0.dangerous": "Line 1: All sites are allowed to access with '*,' which is insecure.",
  "rule.sast.sw.php.914.example.0.safe": "Line 1: Check that specified URLs are safe to access, then set them as allowed.",
  "rule.sast.sw.php.914.name": "Overly Permissive CORS Policy",
  "rule.sast.sw.php.915.description": "The Transfer by GET checker finds attempts to send a request using the GET method.\nThe GET method includes parameter values in the URL displayed in the browser. All parameters sent over http are, therefore, exposed to end users and can be easily crafted by attackers.\nUse the POST method when sending requests.",
  "rule.sast.sw.php.915.example.0.dangerous": "Line 2: Data is sent by GET method. This is vulnerable to CSRF attacks.",
  "rule.sast.sw.php.915.example.0.safe": "Line 2: Send the data in POST methods.",
  "rule.sast.sw.php.915.name": "Transfer by GET",
  "rule.sast.sw.php.916.description": "The Enabled allowed_url_fopen option checker finds a php.ini file in which the allowed_URL_fopen option is set to on.\nIf this option is on, attackers can inject malicious content into the application.\nTurn the option off.",
  "rule.sast.sw.php.916.example.0.dangerous": "Line 1: allow_URL_fopen option is enabled.",
  "rule.sast.sw.php.916.example.0.safe": "Line 1: Disable the allow_URL_fopen option.",
  "rule.sast.sw.php.916.name": "Enabled allowed_url_fopen option",
  "rule.sast.sw.php.917.description": "The Enabled allowed_url_include option checker finds a php.ini file in which the allowed_URL_include option is set to on.\nIf this option is on, attackers can inject malicious content into the application.\nTurn the option off.",
  "rule.sast.sw.php.917.example.0.dangerous": "Line 1: allow_URL_include option is enabled.",
  "rule.sast.sw.php.917.example.0.safe": "Line 1: Disable the allow_URL_include option.",
  "rule.sast.sw.php.917.name": "Enabled allowed_url_include option",
  "rule.sast.sw.php.918.description": "The Disabled session.cookie_secure option checker finds a php.ini file in which the session.cookie_secure option is set to off.\nIf this option is off, cookies can be exposed to attackers.\nTurn the option on.",
  "rule.sast.sw.php.918.example.0.dangerous": "Line 1: session.cookie_secure option is disabled.",
  "rule.sast.sw.php.918.example.0.safe": "Line 1: Enable the session.cookie_secure option.",
  "rule.sast.sw.php.918.name": "Disabled session.cookie_secure option",
  "rule.sast.sw.php.919.description": "The Disabled cgi.force_redirect option checker finds a php.ini file in which the cgi.force_redirect option is set to off.\ncgi.force_redirect is on by default but can be turned off optionally.\nIf this option is off, attackers can bypass authentication to access the server.\nTurn the option on.",
  "rule.sast.sw.php.919.example.0.dangerous": "Line 1: cgi.force_redirect option is disabled.",
  "rule.sast.sw.php.919.example.0.safe": "Line 1: Enable the cgi.force_redirect option.",
  "rule.sast.sw.php.919.name": "Disabled cgi.force_redirect option",
  "rule.sast.sw.php.920.description": "The Disabled safe_mode option checker finds a php.ini file in which the safe_mode option is set to off.\nIf this option is off, an attacker can obtain a user permission executing the application and access the server using php scripts.\nTurn the option on.",
  "rule.sast.sw.php.920.example.0.dangerous": "Line 1: safe_mode option is disabled.",
  "rule.sast.sw.php.920.example.0.safe": "Line 1: Enable the safe_mode option.",
  "rule.sast.sw.php.920.name": "Disabled safe_mode option",
  "rule.sast.sw.php.921.description": "The Enabled file_uploads option checker finds a php.ini file in which the file_uploads option is set to on.\nIf this option is on, malicious files can be uploaded onto the server.\nTurn the option on.",
  "rule.sast.sw.php.921.example.0.dangerous": "Line 1: file_uploads option is enabled.",
  "rule.sast.sw.php.921.example.0.safe": "Line 1: Disable the file_uploads option.",
  "rule.sast.sw.php.921.name": "Enabled file_uploads option",
  "rule.sast.sw.php.922.description": "The Enabled magic_quotes_gpc option checker finds a php.ini file in which the magic_quotes_gpc option is set to on.\nEven if this option is turned on for security purposes, attacks cannot be effectively prevented unless additional measures are taken.\nThis option can allow for SQL injection.\nTurn the option off.",
  "rule.sast.sw.php.922.example.0.dangerous": "Line 1: magic_qiotes_gpc option is enabled.",
  "rule.sast.sw.php.922.example.0.safe": "Line 1: Disable the magic_qiotes_gpc option.",
  "rule.sast.sw.php.922.name": "Enabled magic_quotes_gpc option",
  "rule.sast.sw.php.923.description": "The Enabled magic_quotes_runtime option checker finds a php.ini file in which the magic_quotes_runtime option is set to on.\nEven if this option is turned on for security purposes, attacks cannot be effectively prevented unless additional measures are taken.\nThis option can allow for SQL injection.\nTurn the option off.",
  "rule.sast.sw.php.923.example.0.dangerous": "Line 1: magic_quotes_runtime option is enabled.",
  "rule.sast.sw.php.923.example.0.safe": "Line 1: Disable the magic_quotes_runtime option.",
  "rule.sast.sw.php.923.name": "Enabled magic_quotes_runtime option",
  "rule.sast.sw.php.924.description": "The Enabled magic_quotes_sybase option checker finds a php.ini file in which the magic_quotes_runtime option is set to on.\nEven if this option is turned on for security purposes, attacks cannot be effectively prevented unless additional measures are taken.\nThis option can allow for SQL injection.\nTurn the option off.",
  "rule.sast.sw.php.924.example.0.dangerous": "Line 1: magic_quotes_sybase option is enabled.",
  "rule.sast.sw.php.924.example.0.safe": "Line 1: Disable the magic_quotes_sybase option.",
  "rule.sast.sw.php.924.name": "Enabled magic_quotes_sybase option",
  "rule.sast.sw.php.925.description": "The Enabled register_globals option checker finds a php.ini file in which the register_globals option is set to on.\nAttackers can manipulate environment variables to attack the application.\nTurn the option off.",
  "rule.sast.sw.php.925.example.0.dangerous": "Line 1: register_globals option is enabled.",
  "rule.sast.sw.php.925.example.0.safe": "Line 1: Disable the register_globals option.",
  "rule.sast.sw.php.925.name": "Enabled register_globals option",
  "rule.sast.sw.php.926.description": "The Enabled display_errors option checker finds a php.ini file in which the display_errors option is set to on.\nThe checker reports a defect when display_errors is on in php.ini. If error information is exposed externally, attackers can use it for attacks.\nExposed error messages may contain sensitive information helping attack the system.\nTurn the option off.",
  "rule.sast.sw.php.926.example.0.dangerous": "Line 1: An error output is enabled.",
  "rule.sast.sw.php.926.example.0.safe": "Line 1: Disable the error output.",
  "rule.sast.sw.php.926.name": "Enabled display_errors option",
  "rule.sast.sw.php.927.description": "The Exposure of system information checker finds a php.ini file in which the expose_php option is on.\nThe checker reports a defect when expose_php is on in php.ini. If system information such as the php version is exposed externally, attackers can use it for attacks.\nExposed error messages may contain sensitive information helping attack the system.\nTurn the option off.",
  "rule.sast.sw.php.927.example.0.dangerous": "Line 1: expose_php option is enabled.",
  "rule.sast.sw.php.927.example.0.safe": "Line 1: Disable the expose_php.",
  "rule.sast.sw.php.927.name": "Exposure of system information",
  "rule.sast.sw.php.928.description": "The Missing open_basedir Setting checker finds a php.ini file in which the open_basedir option is present but not given a set value.\nIf this option remains unset, attackers may obtain access to other files than the PHP program, which can be exploited for attacks.\nTurn the option on.",
  "rule.sast.sw.php.928.example.0.dangerous": "Line 1: open_basedir is not set.",
  "rule.sast.sw.php.928.example.0.safe": "Line 1: Set the open_basedir.",
  "rule.sast.sw.php.928.name": "Missing open_basedir Setting",
  "rule.sast.sw.php.929.description": "The Missing safe_mode_exec_dir Setting checker finds a php.ini file in which the safe_mode_exec_dir option is present but not given a set value.\nIf this option is not set, attackers can execute malicious code.\nTurn the option on.",
  "rule.sast.sw.php.929.example.0.dangerous": "Line 1: safe_mode_exec_dir is not set.",
  "rule.sast.sw.php.929.example.0.safe": "Line 1: Set the safe_mode_exec_dir.",
  "rule.sast.sw.php.929.name": "Missing safe_mode_exec_dir Setting",
  "rule.sast.sw.php.930.description": "The Cookie setting with base domain checker finds a php.ini file in which session.cookie_domain is set to a base domain.\nThe checker reports a defect if session.cookie_domain is set to a base domain (e.g.: .test.com) in php.ini.\nThis setting may allow applications with the same base domain to access the session cookie.\nSet session.cookie_domain to an explicit subdomain or the root domain.",
  "rule.sast.sw.php.930.example.0.dangerous": "Line 3: An overly broad domain is specified.",
  "rule.sast.sw.php.930.example.0.safe": "Line 3: Avoid having cookies with an overly broad domain.",
  "rule.sast.sw.php.930.name": "Cookie setting with base domain",
  "rule.sast.sw.php.931.description": "The Cookie setting with base path in INI checker finds a php.in file in which session.cookie_path is set to the base path (`/`).\nThis setting may allow applications with the same cookie path to access the session cookie.\nAvoid having cookies with an overly broad path.",
  "rule.sast.sw.php.931.example.0.dangerous": "Line 3: An overly broad domain is specified.",
  "rule.sast.sw.php.931.example.0.safe": "Line 3: Avoid having cookies with an overly broad domain.",
  "rule.sast.sw.php.931.name": "Cookie setting with base path",
  "rule.sast.sw.php.932.description": "The Persistent cookie checker finds instances of storing sensitive date in a cookie whose lifespan is set too long.\nIf duration of cookie is set higher than the specified time by session.cookie_lifetime of php.ini, it is considered to be too long.\nMost web programming environments create non-persistent cookies. This type of cookie resides only in memory (not recorded in the disc drive) and disappears when the browser is closed. Programmers can set cookies to persist for browser sessions until a specific future date. These cookies are recorded in the disc drive and persist even after restarting the browser session or device. Persistent cookies are commonly used to profile users when interacting with sites. Such tracked data in persistent cookies can be exploited to leak user privacy, depending upon how the data is used. If privacy information is stored in a persistent cookie with a long expiration, attackers can be given enough time to steal such data.\nCookie expiration must be set minimum in consideration of session duration, and permanent cookies should not contain important information such as user privileges and session IDs.",
  "rule.sast.sw.php.932.example.0.dangerous": "Line 3: Suppose that a persistent cookie expiration is allowed to set to 3600 seconds at maximum. But it is set to 14400 seconds.",
  "rule.sast.sw.php.932.example.0.safe": "Line 3: Set a proper time of cookie expiration.",
  "rule.sast.sw.php.932.name": "Persistent cookie",
  "rule.sast.sw.php.932.option.max_lifetime.description": "Write the maximum lifetime of the cookies.<br />Example) 3600",
  "rule.sast.sw.php.932.option.max_lifetime.name": "Maximum lifetime of the cookie",
  "rule.sast.sw.php.933.description": "The Disabled session.cookie_httponly option checker finds a php.ini file in which the session.cookie_httponly option is set to off.\nIf this option is off, scripts cannot be prevented from accessing cookies and attackers can easily access them.\nTurn the option on.",
  "rule.sast.sw.php.933.example.0.dangerous": "Line 2: session.cookie_httponly is not specified.",
  "rule.sast.sw.php.933.example.0.safe": "Line 2: Set the session.cookie_httponly.",
  "rule.sast.sw.php.933.name": "Disabled session.cookie_httponly option",
  "rule.sast.sw.php.934.description": "The Enabled session.use_trans_sid option checker finds a php.ini file in which the session.use_trans_sid Enabled option is set to on.\nIf this option is on, a session ID can be exploited for attacks such as session hijacking.\nTurn the option off.",
  "rule.sast.sw.php.934.example.0.dangerous": "Line 2: session.use_trans_sid is not set.",
  "rule.sast.sw.php.934.example.0.safe": "Line 2: Set the session.cookie_httponly.",
  "rule.sast.sw.php.934.name": "Enabled session.use_trans_sid option",
  "rule.sast.sw.php.935.description": "The Excessive session timeout on CakePHP checker finds instances of setting a session timeout lower than the required level by Configure::write() function of CakePHP library.\nThe timeout can be set to high, medium or low.\nIf the timeout is set too long, attackers can have more chance to exploit the session.\nSet the timeout higher than the required level.",
  "rule.sast.sw.php.935.example.0.dangerous": "Line 2: A session timeout threshold is smaller than setting, for example, medium.",
  "rule.sast.sw.php.935.example.0.safe": "Line 2: Set a reasonable session timeout.",
  "rule.sast.sw.php.935.name": "Excessive session timeout on CakePHP",
  "rule.sast.sw.php.935.option.min_timeout.description": "Write the minimum timeout of the session.<br />Example) medium",
  "rule.sast.sw.php.935.option.min_timeout.name": "Minimum session timeout",
  "rule.sast.sw.php.936.description": "The Information leak on CakePHP checker finds instances of displaying system information by Configure::write() function of CakePHP library.\nIf a debugging message is printed out higher than the optionally specified debugging level, sensitive information is considered to be exposed.\nIf error messages openly displayed by the application contain sensitive information regarding execution environments or user data, attackers can exploit the information for malicious actions. Showing exception names or stack traces can help attackers identify the program's internal structure.\nMake sure error messages are shown only to relevant users and contain minimum necessary information. Have exceptions internally handled in source code and do not allow them to trigger an error message containing sensitive information.",
  "rule.sast.sw.php.936.example.0.dangerous": "Line 2: An optionally specified debugging level is set to level 1.",
  "rule.sast.sw.php.936.example.0.safe": "Line 2: Set a level lower than the specified level.",
  "rule.sast.sw.php.936.name": "Information leak on CakePHP",
  "rule.sast.sw.php.936.option.max_debug_level.description": "Write the maximum debugging level to allow.<br />Example) 1",
  "rule.sast.sw.php.936.option.max_debug_level.name": "Maximum debugging level",
  "rule.sast.sw.php.937.description": "The Cleartext transmission of cookies checker finds instances of transferring an unencrypted cookie.\nThe checker reports a defect if the setcookie() function's security flag (sixth parameter) is unset or set to false.\nIf security-sensitive data is stored in a browser cookie without the security attribute set enabled, it is not transferred via a security protocol such as SSL. This may expose sensitive information in plaintext to attackers. This vulnerability must be noted especially when the cookie contains privacy information or a session ID.\nSet the setcookie() function's security flag to true.",
  "rule.sast.sw.php.937.example.0.dangerous": "Line 1: A security flag of setcookie() function is not set.",
  "rule.sast.sw.php.937.example.0.safe": "Line 1: Set a security flag of setcookie() function.",
  "rule.sast.sw.php.937.name": "Cleartext transmission of cookies",
  "rule.sast.sw.php.938.description": "The Transfer over HTTP checker finds transfers over the HTTP protocol.\nIt is recommended to use the HTTPS protocol for safer transfers.\nPlaintext data transferred over HTTP can be easily intercepted and altered.\nUse the HTTPS protocol.",
  "rule.sast.sw.php.938.example.0.dangerous": "Line 1: A target URL is requesting an HTTP protocol.",
  "rule.sast.sw.php.938.example.0.safe": "Line 1: Check that the target URL is requesting an HTTPS protocol.",
  "rule.sast.sw.php.938.name": "Transmission via HTTP Protocol",
  "rule.sast.sw.php.994.description": "The Cross-site scripting checker finds instances of including an external input in HTML without validating it.\nIf unvalidated external inputs are allowed for page generation, attackers can inject malicious scripts into the pages. This vulnerability lets attackers take over a user's cookie, session, or other information or execute an abnormal function.\nTo prevent external inputs from being used for scripts, use a text replacement function or method to substitute characters such as <, >, &, and \" with &lt;, &gt;, &amp;, and &quot;, respectively. For bulletin boards that allow using HTML tags, make a whitelist of allowable HTML tags.",
  "rule.sast.sw.php.994.example.0.dangerous": "Line 5: Insecure $_GET['link'] is used to generate a page.",
  "rule.sast.sw.php.994.example.0.safe": "Line 5: Filter out inputs to generate a page.",
  "rule.sast.sw.php.994.name": "Cross-site scripting",
  "rule.sast.sw.php.994.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />example) param(*) of name(\"filter\")",
  "rule.sast.sw.php.994.option.taint_filter.name": "External information filter",
  "rule.sast.sw.php.994.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.php.994.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.php.994.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example) operand(*) of name(\".\") to return",
  "rule.sast.sw.php.994.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.php.994.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />example) param(*) of name(\"__sparrow_php_echo__\")",
  "rule.sast.sw.php.994.option.taint_sink.name": "External information sink",
  "rule.sast.sw.php.994.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of name(\"$_GET\")",
  "rule.sast.sw.php.994.option.taint_source.name": "External information source",
  "rule.sast.sw.php.995.description": "The Resource permission manipulation checker finds instances in which file permissions is changed with an unvalidated external input in chmod.\nThis vulnerability lets attackers change improper permissions for files. If the software specifies inappropriate permissions for a security-critical resource in a way that allows that resource to be read or edited, unintended users can have control of it.\nTo prevent external inputs from being used for scripts, use a text replacement function or method to substitute characters such as <, >, &, and \" with &lt;, &gt;, &amp;, and &quot;, respectively.",
  "rule.sast.sw.php.995.example.0.dangerous": "Line 3: Insecure $_GET['file'] is used to generate paths, then change permissions.",
  "rule.sast.sw.php.995.example.0.safe": "Line 3: Use a secure value through filter functions, then change file permissions.",
  "rule.sast.sw.php.995.name": "Resource permission manipulation",
  "rule.sast.sw.php.995.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) param(*) of name(\"filter\")",
  "rule.sast.sw.php.995.option.taint_filter.name": "External information filter",
  "rule.sast.sw.php.995.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.php.995.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.php.995.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\".\") to return",
  "rule.sast.sw.php.995.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.php.995.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(*) of name(\"chmod\")",
  "rule.sast.sw.php.995.option.taint_sink.name": "External information sink",
  "rule.sast.sw.php.995.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of name(\"$_GET\")",
  "rule.sast.sw.php.995.option.taint_source.name": "External information source",
  "rule.sast.sw.php.996.description": "The SQL Injection checker finds SQL queries that include an unvalidated external input.\nIf an unvalidated external input is allowed in SQL queries, attackers can inject a crafted query that has an altered meaning. This vulnerability lets attackers access or manipulate information in the database.\nTo prevent external inputs from being used for queries, use a text replacement function or method to substitute characters such as <, >, &, and \" with &lt;, &gt;, &amp;, and &quot;, respectively.",
  "rule.sast.sw.php.996.example.0.dangerous": "Line 8: Insecure $_GET['username'] is passed to getRow() function to generate a query.",
  "rule.sast.sw.php.996.example.0.safe": "Line 8: Use a filter to create a query.",
  "rule.sast.sw.php.996.name": "SQL Injection",
  "rule.sast.sw.php.996.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) return of name(\"mysql_real_escape_string\")",
  "rule.sast.sw.php.996.option.taint_filter.name": "External information filter",
  "rule.sast.sw.php.996.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.php.996.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.php.996.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\".\") to return",
  "rule.sast.sw.php.996.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.php.996.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(*) of name(\"mysql_query\")",
  "rule.sast.sw.php.996.option.taint_sink.name": "External information sink",
  "rule.sast.sw.php.996.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of name(\"$_GET\")",
  "rule.sast.sw.php.996.option.taint_source.name": "External information source",
  "rule.sast.sw.php.997.description": "The Path Manipulation checker finds instances in which an unvalidated external input creates a path accessible to the file system.\nIf unvalidated external inputs are allowed to be used for access to files, servers, or other system resources, attackers can manipulate inputs to access an unintended path in the program. In other words, path manipulation can be used to obtain illegitimate access to modify or execute settings files.\nIf external inputs are used as identifiers for resources (such as files), make sure they pass appropriate validation. Especially, if external inputs are filenames, use a filter to remove characters such as `, /, \\, and ..  that can be exploited for a directory traversal attack.",
  "rule.sast.sw.php.997.example.0.dangerous": "Line 4: Insecure $_GET['filename'] is used as a path to access a file.",
  "rule.sast.sw.php.997.example.0.safe": "Line 4: Do not use an insecure value as a path to access; use a filtered value only.",
  "rule.sast.sw.php.997.name": "Path Traversal",
  "rule.sast.sw.php.997.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) param(*) of name(\"filter\")",
  "rule.sast.sw.php.997.option.taint_filter.name": "External information filter",
  "rule.sast.sw.php.997.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.php.997.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.php.997.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\".\") to return",
  "rule.sast.sw.php.997.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.php.997.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(1) of name(\"fread\")",
  "rule.sast.sw.php.997.option.taint_sink.name": "External information sink",
  "rule.sast.sw.php.997.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of name(\"$_GET\")",
  "rule.sast.sw.php.997.option.taint_source.name": "External information source",
  "rule.sast.sw.php.998.description": "The External variable modification checker finds instances of using an unvalidated external input in extract() function.\nBecause extract() can overwrite existing global variables, external input should not be passed to this function without validating it.\nBy passing the EXTR_SKIP flag as the second argument to extract(), you can prevent existing variables from being overwritten.",
  "rule.sast.sw.php.998.example.0.dangerous": "Line 3: Insecure $_GET is used to call extract() function.",
  "rule.sast.sw.php.998.example.0.safe": "Line 3: Pass EXTR_SKIP argument to call the extract() function. Then, it will override conflicting variables.",
  "rule.sast.sw.php.998.name": "External variable modification",
  "rule.sast.sw.php.998.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) param(*) of name(\"filter\")",
  "rule.sast.sw.php.998.option.taint_filter.name": "External information filter",
  "rule.sast.sw.php.998.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.php.998.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.php.998.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.",
  "rule.sast.sw.php.998.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.php.998.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(1) of fqn(\"extract(1)\")",
  "rule.sast.sw.php.998.option.taint_sink.name": "External information sink",
  "rule.sast.sw.php.998.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of name(\"$_GET\")",
  "rule.sast.sw.php.998.option.taint_source.name": "External information source",
  "rule.sast.sw.php.999.description": "The Log injection checker finds instances of printing out unvalidated user inputs in a log.\nIf unvalidated user inputs are printed out in a log, an attacker can insert arbitrary content in the log to confuse security personnel who consult the log. If a manipulated log successfully leads to making an inappropriate decision, the attacker can exploit the consequences.\nHave external inputs validated before they are logged. It is particularly recommended to delete newline characters.",
  "rule.sast.sw.php.999.example.0.dangerous": "Line 4: An insecure $_GET['value'] value is used in error_log() function.",
  "rule.sast.sw.php.999.example.0.safe": "Line 4: Make sure to use secure logs only through a filter function.",
  "rule.sast.sw.php.999.name": "Log injection",
  "rule.sast.sw.php.999.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) param(*) of name(\"filter\")",
  "rule.sast.sw.php.999.option.taint_filter.name": "External information filter",
  "rule.sast.sw.php.999.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) com.sparrow.utils.filter(java.lang.String)",
  "rule.sast.sw.php.999.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.php.999.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of name(\".\") to return",
  "rule.sast.sw.php.999.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.php.999.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(1) of name(\"error_log\")",
  "rule.sast.sw.php.999.option.taint_sink.name": "External information sink",
  "rule.sast.sw.php.999.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of name(\"$_GET\")",
  "rule.sast.sw.php.999.option.taint_source.name": "External information source",
  "rule.sast.sw.prop.2078.description": "The Password Hardcoded in Configuration File checker finds a configuration file in which a password is stored in plaintext.\nThis practice lets the password exposed to all users who have access to the configuration file.\nDo not store a password in the configuration file.",
  "rule.sast.sw.prop.2078.example.0.dangerous": "Line 1: A password in plain texts is saved to a setting file.",
  "rule.sast.sw.prop.2078.example.0.safe": "Line 1: Do not save the password in plain texts to the setting file.",
  "rule.sast.sw.prop.2078.name": "Password Hardcoded in Configuration File",
  "rule.sast.sw.prop.2078.option.password_expr.name": "Regex for Password",
  "rule.sast.sw.prop.2087.description": "The Blank Password checker finds a configuration file in which a password assumes a blank string.\nUsing a blank string as a password is an insecure way. Besides that, any password text left in the configuration file can possibly be exposed.\nDo not store a password in the configuration file.",
  "rule.sast.sw.prop.2087.example.0.dangerous": "Line 1: A password is specified as an empty string in a setting file.",
  "rule.sast.sw.prop.2087.example.0.safe": "Line 1: Delete the string.",
  "rule.sast.sw.prop.2087.name": "Blank Password",
  "rule.sast.sw.prop.2087.option.password_expr.description": "Write the expression of a string that may be considered as a password.<br />example) password",
  "rule.sast.sw.prop.2087.option.password_expr.name": "Password expression",
  "rule.sast.sw.prop.7295.description": "Hardcoded sensitive information used for internal authentication or external component communication allows attackers to steal it by sniffing, analyzing source code, or reverse engineering.\nThe rule provides a whitelist option to specify the formats of the the sensitive information.\nUse the sensitive information with environment variables, or archive encrypted information within setting file or database. Also, it is recommended to use a secret management system such as the AWS Secrets Manager or the HashiCorp Vault.",
  "rule.sast.sw.prop.7295.example.0.dangerous": "Line 1: Sensitive information is hardcoded within the Properties file.",
  "rule.sast.sw.prop.7295.example.0.safe": "Line 1: Do not include sensitive information within the Properties file.",
  "rule.sast.sw.prop.7295.name": "Hardcoded sensitive information",
  "rule.sast.sw.py.13.description": "When input data in a web application integrated with a database are not verified, attackers can inject an SQL statement via the input form or URL input field to access or modify data in the database, which lead to create vulnerability. In a vulnerable web application, dynamic queries are created with user input. In this case, the unintended queries can be executed causing data leakage.\nIn Python, the ORM (Object Relational Mapping) such as DB-API, Django, SQLAlchemy, and Storm allows users to access to database. Although Python supports a variety of ORM (Object Relational Mapping) to ensure database security, it may still need to execute raw SQL queries directly due to difficulties in creating complex query statements or performance degradation. This allows attackers to use unverified external inputs for SQL Injection attacks.\nCreate a static query in advance and use the second parameter to bind external input when executing the query.",
  "rule.sast.sw.py.13.example.0.dangerous": "Line 11: This is dangerous because it executes the query statement with externally input values directly without binding them.",
  "rule.sast.sw.py.13.example.0.safe": "Line 10: Bind the external input as the second parameter of execute() to execute the query statement, making it safe.",
  "rule.sast.sw.py.13.example.1.dangerous": "Line 15: This is insecure because the line execute a vulnerable query that is created in Line 11 with an unverified external value gained in Line 7.",
  "rule.sast.sw.py.13.example.1.safe": "Line 14: This is secure because the second parameter is used to bind the input received in Line 7.",
  "rule.sast.sw.py.13.name": "SQL Injection",
  "rule.sast.sw.py.13.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) filter$param(1)",
  "rule.sast.sw.py.13.option.taint_filter.name": "External information filter",
  "rule.sast.sw.py.13.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.py.13.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.py.13.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) .$operand(*)->return",
  "rule.sast.sw.py.13.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.py.13.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) mysql_query$param(*)",
  "rule.sast.sw.py.13.option.taint_sink.name": "External information sink",
  "rule.sast.sw.py.13.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) $_GET$variable",
  "rule.sast.sw.py.13.option.taint_source.name": "External information source",
  "rule.sast.sw.py.14.description": "The security weakness allows an attacker to cause software to behave abnormally by injecting code to change the intended behaviour of the software. If you allow functions that take user input and execute dynamic code, you run the risk of allowing an attacker to execute code that was not intended by the developer, allowing them to take over privileges, bypass authentication, or execute system commands.\nFunctions that can lead to code injection attacks in Python include `eval()`, `exec()`, and others. If you don't validate the arguments of these functions, you can execute the code passed by the attacker.\nAvoid using functions that can execute dynamic code. If necessary, validate them against external input in a whitelist fashion to ensure that they do not accept executable dynamic code as input. Alternatively, filter user input values used in dynamic code to ensure that they contain only valid characters.",
  "rule.sast.sw.py.14.example.0.dangerous": "Line 6: eval() executes dynamic code, which can lead to code injection attacks.",
  "rule.sast.sw.py.14.example.0.safe": "Line 6: isalnum() validates that only alphanumeric characters are used, which is safe.",
  "rule.sast.sw.py.14.example.1.dangerous": "Line 9: exec() executes dynamic code, which can lead to code injection attacks.",
  "rule.sast.sw.py.14.example.1.safe": "Line 9: Use a predefined whitelist of function names to safely execute.",
  "rule.sast.sw.py.14.name": "Code Injection",
  "rule.sast.sw.py.14.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) operand(*) of \"in\"",
  "rule.sast.sw.py.14.option.taint_filter.name": "External information filter",
  "rule.sast.sw.py.14.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) sparrow.my.filter.utils.is_safe()",
  "rule.sast.sw.py.14.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.py.14.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of \"+\" to return",
  "rule.sast.sw.py.14.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.py.14.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(*) of name(\"exec\")",
  "rule.sast.sw.py.14.option.taint_sink.name": "External information sink",
  "rule.sast.sw.py.14.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of fqn(\"django.http.HttpRequest.GET\")",
  "rule.sast.sw.py.14.option.taint_source.name": "External information source",
  "rule.sast.sw.py.15.description": "When unverified external inputs are used to access system resources, attackers can manipulate the input values to access resources protected by the system, which lead to create vulnerability. Attackers can exploit this to modify or delete resources, leak system information, and cause service failure due to the conflicts between system resources.\nIn Python, using an unverified external input for functions that open a process, such as `subprocess.popen()`, or functions that open a pipe, such as `os.pipe()`, or for connecting a socket might cause the Path Traversal and Resource Injection.\nUse filters that can remove characters that are vulnerable to directory traversal attacks, such as /, \\, .., for external input used as a file name.",
  "rule.sast.sw.py.15.example.0.dangerous": "Line 12: An external input of request_file is directly used as a parameter of open() method, which is vulnerable to path traversal.",
  "rule.sast.sw.py.15.example.0.safe": "Line 13-15: This is secure because it uses replace() to filter out characters vulnerable to path traversal.",
  "rule.sast.sw.py.15.example.1.dangerous": "Line 10: This is vulnerable to path traversal because port receives a value from an external source, and directly uses it as a parameter of the bind() method.",
  "rule.sast.sw.py.15.example.1.safe": "Line 4: This is secure because it uses a whitelist to filter out the external input.",
  "rule.sast.sw.py.15.name": "Path Traversal and Resource Injection",
  "rule.sast.sw.py.15.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) operand(*) of \"in\"",
  "rule.sast.sw.py.15.option.taint_filter.name": "External information filter",
  "rule.sast.sw.py.15.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) sparrow.my.filter.utils.is_safe()",
  "rule.sast.sw.py.15.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.py.15.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of \"+\" to return",
  "rule.sast.sw.py.15.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.py.15.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(*) of fqn(\"open\")",
  "rule.sast.sw.py.15.option.taint_sink.name": "External information sink",
  "rule.sast.sw.py.15.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of fqn(\"django.http.HttpRequest.GET\")",
  "rule.sast.sw.py.15.option.taint_source.name": "External information source",
  "rule.sast.sw.py.16.description": "Cross-site scripting (XSS) is an attack method that injects malicious code into websites. This attack typically targets application users, and may cause damage by the users to run a malicious code automatically.\nWhen using Django or Flask, the framework itself creates a response page by replacing characters that may be used in an attack with HTML entities to prevent malicious scripts from being injected into external inputs. This protects Django and Flask from XSS. However, even if the framework provides a function to protect against XSS attacks, please note that the protection may not be completely secure or invalidated by developer mistakes.\nIf any data is used to create dynamic web pages in Flask without using options such as HTML's `safe`, convert the data using escape.",
  "rule.sast.sw.py.16.example.0.dangerous": "Line 5: May be exposed to XSS attacks because the autoescape option is set to off.\nLine 13: May be exposed to XSS attacks because safe filter is enabled.",
  "rule.sast.sw.py.16.example.0.safe": "Line 5: Setting the autoescape option to ON will prevent XSS attacks.\nLine 12: It is secure because the safe filter is disabled.",
  "rule.sast.sw.py.16.name": "Cross-site Script (HTML)",
  "rule.sast.sw.py.16.option.exclude_dir.description": "Enter the path to the folder to exclude from detection using the glob pattern.<br />Example) src/java/**/core/**",
  "rule.sast.sw.py.16.option.exclude_dir.name": "Exclusion of folder path",
  "rule.sast.sw.py.16.option.exclude_extension.description": "Write a exclusion of file extension.<br />Example) java",
  "rule.sast.sw.py.16.option.exclude_extension.name": "Exclusion of file extension",
  "rule.sast.sw.py.16.option.rule.description": "Write a rule of analysis using regular expressions.",
  "rule.sast.sw.py.16.option.rule.name": "Detection rule",
  "rule.sast.sw.py.16.option.target_dir.description": "Write a target of folder path using glob pattern.<br />Example) src/java/**/core/**",
  "rule.sast.sw.py.16.option.target_dir.name": "Target of folder path",
  "rule.sast.sw.py.16.option.target_extension.description": "Write a target of file extension.<br />Example) html",
  "rule.sast.sw.py.16.option.target_extension.name": "Target of file extension",
  "rule.sast.sw.py.17.description": "A security weakness where unvalidated external input values are constructed and executed as operating system commands, which could result in the execution of unintended system commands that could inappropriately change privileges or adversely affect system behaviour and operations.\nIf external input values are included in system commands, they should be filtered for multi-line pipe redirect characters, such as |, ;, &, :, >, <, `(backtick), , !, and so on, and used as arguments by restricting the filename, options, and the command to be executed.\nFilter ['|', ';', '&', ':', '>', '<', '`', '\\', '!'] values with replace, etc. before executing methods that execute operating system commands, or use only items from a user-specified whitelist.",
  "rule.sast.sw.py.17.example.0.dangerous": "Line 8: This is insecure because the external input is used without any modification.",
  "rule.sast.sw.py.17.example.0.safe": "Line 10: This is safe because the external input is whiltelised in Line 4, which ensures Line 13 to be secure.",
  "rule.sast.sw.py.17.example.1.dangerous": "Line 9: This is insecure because the external input is used without any modification, and the shell is set to True so the input is executed without any validation.",
  "rule.sast.sw.py.17.example.1.safe": "Line 9: This is secure because the external input is filtered and the shell=True option in Line 13 is removed.",
  "rule.sast.sw.py.17.name": "Command injection",
  "rule.sast.sw.py.17.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />example) filter$param(1)",
  "rule.sast.sw.py.17.option.taint_filter.name": "External information filter",
  "rule.sast.sw.py.17.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.py.17.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.py.17.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example) .$operand(*)->return",
  "rule.sast.sw.py.17.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.py.17.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) system$param(1)",
  "rule.sast.sw.py.17.option.taint_sink.name": "External information sink",
  "rule.sast.sw.py.17.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) $_GET$variable",
  "rule.sast.sw.py.17.option.taint_source.name": "External information source",
  "rule.sast.sw.py.18.description": "Based on the following condition, an attacker can execute the internal system commands or connect to the external source: 1) uploading a script file, such as asp, jsp, php, sh, executable on the server and 2) allowing the attacker to run the script on the web.\nTo prevent the file upload attacks, the types of uploaded files must be restricted by using a whitelist that allows specific file types only. The file extension and 'Content-Type' of the uploaded files must be checked, and the size and number of the files must be restricted to prevent Denial-of-Service attacks due to resource exhaustion.\nCreate a whitelist of the allowed size, number, and extensions of files received from a user using the `content_type`, `size`, and `name.lower()` and save the files if they meet the conditions.",
  "rule.sast.sw.py.18.example.0.dangerous": "Line 9: This is insecure because the file received from a user is saved without validation.",
  "rule.sast.sw.py.18.example.0.safe": "Line 22, 25, 28: This is secure because the type, size, and extension of the file are verified against the whitelist defined in Lines 6, 8, and 10.",
  "rule.sast.sw.py.18.name": "Malicious File Type Upload",
  "rule.sast.sw.py.18.option.custom_taint_filter.name": "custom_taint_filter",
  "rule.sast.sw.py.18.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) param(1) of \"endsWith\"",
  "rule.sast.sw.py.18.option.taint_filter.name": "External information filter",
  "rule.sast.sw.py.18.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.py.18.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.py.18.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) \\.$operand(*)->return",
  "rule.sast.sw.py.18.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.py.18.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(2) of \"move_uploaded_file\"",
  "rule.sast.sw.py.18.option.taint_sink.name": "External information sink",
  "rule.sast.sw.py.18.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) \\$_FILES$variable",
  "rule.sast.sw.py.18.option.taint_source.name": "External information source",
  "rule.sast.sw.py.19.description": "If a server program uses unverified external input as the address of external websites and connect them automatically to the websites, it can be exposed to phishing attacks. It may be considered secure because the user is connected to the URL address sent from the client, but an attacker can manipulate the request of the form and redirect the user to a malicious URL.\nBefore you use the `redirect` function in Python, the framework version must be checked for known vulnerabilities. For 4.1.0 or earlier version of Flask-Security-Too library in the Flask framework, `get_post_logout_redirect` and `get_post_login_redirect` function have a vulnerability that allows attackers to bypass the URL validation and redirect users to random URLs.\nManage a server whitelist for all URLs to permit the redirection and check for URLs that redirect the user input.",
  "rule.sast.sw.py.19.example.0.dangerous": "Line 5: It is insecure for the redirect function uses a user input, i.e. URL address, without validation.",
  "rule.sast.sw.py.19.example.0.safe": "Line 14: This verifies the value with the whitelist defined in Line 3.",
  "rule.sast.sw.py.19.name": "URL Automatic Redirection to Untrusted Site",
  "rule.sast.sw.py.19.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) filter$param(1)",
  "rule.sast.sw.py.19.option.taint_filter.name": "External information filter",
  "rule.sast.sw.py.19.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.py.19.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.py.19.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) \\.$operand(*)->return",
  "rule.sast.sw.py.19.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.py.19.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) header$param(1)",
  "rule.sast.sw.py.19.option.taint_sink.name": "External information sink",
  "rule.sast.sw.py.19.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) \\$_GET$variable",
  "rule.sast.sw.py.19.option.taint_source.name": "External information source",
  "rule.sast.sw.py.20.description": "The Improper XML External Entity Reference vulnerability may occur due to improper settings that process an XML external entity on the server. When the vulnerable XML parser processes the XML that contains a reference to the external entity, the attack statement injected by the attacker is executed. It might create another malicious attack such as access to server files, unnecessary usage of resources, authentication bypass, or information exposure.\nPython provides a basic XML parser that can be used for parsing and manipulating simple XML data. However, the parser does not support validation. It does not support an external entity as well, but can be vulnerable to other XML attacks.\nSet `resolve_entities` option to false, which blocks texts from converting into entity in parsing.",
  "rule.sast.sw.py.20.example.0.dangerous": "Line 15: It is insecure because the second parameter of setFeature() is set to true.",
  "rule.sast.sw.py.20.example.0.safe": "Line 15: It is secure because the second parameter of setFeature() is set to false.",
  "rule.sast.sw.py.20.name": "Improper XML External Entity Reference",
  "rule.sast.sw.py.21.description": "When the unverified external input is used to construct XQuery or XPath query, attackers might execute random queries that can modify the query structure, access unauthorized data, and bypass the authentication procedure.\nThe `xml.etree.ElementTree` module provides Xpath features, but under restricted conditions: the module cannot be used to parameterize the Xpath expression. Instead of the `xml.etree.ElementTree` module which has been prohibited for security reasons in Python 3.3 or later, the lxml library should be used and the external input should be parameterized.\nFilter special characters and reserved words in the external input used for the XQuery or XPath queries. And use the XQuery that supports parameterized query statement.",
  "rule.sast.sw.py.21.example.0.dangerous": "Line 10: It is insecure because external inputs in Line 4 are directly used to execute xpath() in Line 11.",
  "rule.sast.sw.py.21.example.0.safe": "Line 11: It is secure because external inputs in Line 4 are parameterized.",
  "rule.sast.sw.py.21.name": "XML Injection",
  "rule.sast.sw.py.21.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) filter$param(1)",
  "rule.sast.sw.py.21.option.taint_filter.name": "External information filter",
  "rule.sast.sw.py.21.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.py.21.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.py.21.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) \\.$operand(*)->return",
  "rule.sast.sw.py.21.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.py.21.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) xpath$param(1)",
  "rule.sast.sw.py.21.option.taint_sink.name": "External information sink",
  "rule.sast.sw.py.21.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) \\$_GET$variable",
  "rule.sast.sw.py.21.option.taint_source.name": "External information source",
  "rule.sast.sw.py.22.description": "Using unverified external inputs for the LDAP (Lightweight Directory Access Protocol) commands might allow attackers to manipulate the commands.\nPython-ldap and ldap3 are libraries provided in Python. The ldap3 module supports Python 2.6 or later version including Python 3. The ldap3 includes an Abstraction layer that is comparable with the LDAP server. It is recommended to use the ldap3 library for Python 3 besides the Python-ldap is an OpenLDAP package for Python2. \nEscape the external input with `escape_filter_chars()` before using the input in `search()`.",
  "rule.sast.sw.py.22.example.0.dangerous": "Line 17: It is insecure because search_str that includes external input is used without filtering.",
  "rule.sast.sw.py.22.example.0.safe": "Line 16: It is secure because search_keyword received from an external source is filtered using escape_filter_chars().",
  "rule.sast.sw.py.22.name": "LDAP Injection",
  "rule.sast.sw.py.22.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) return of name(\"filter\")",
  "rule.sast.sw.py.22.option.taint_filter.name": "External information filter",
  "rule.sast.sw.py.22.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) sparrow.my.filter.utils.is_safe()",
  "rule.sast.sw.py.22.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.py.22.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of \"+\" to return",
  "rule.sast.sw.py.22.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.py.22.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(*) of name(search_s\")",
  "rule.sast.sw.py.22.option.taint_sink.name": "External information sink",
  "rule.sast.sw.py.22.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of fqn(\"django.http.HttpRequest.field\")",
  "rule.sast.sw.py.22.option.taint_source.name": "External information source",
  "rule.sast.sw.py.23.description": "Cross-site Request Forgery is the attack that induces a user to submit unintended requests such as changes, deletions, registrations, etc. to a website as intended by an attacker.\nBoth Django and Flask, the most popular frameworks for Python, support the CSRF token. For security reasons, Django uses the `{% csrf token %}` tag for the CSRF token while Flask uses the `{{form.csrf_token}}` tag via the Flask-WTF extension library.\nDjango and Flask provide CSRF protection by using CSRF tokens by default in middleware and frameworks. `csrf_token` needs to be used inside the form tag for this feature.",
  "rule.sast.sw.py.23.example.0.dangerous": "Line 3: The line is commented out, which disables CSRF protection.",
  "rule.sast.sw.py.23.example.0.safe": "Line 3: CSRF protection is enabled, which makes code safe.",
  "rule.sast.sw.py.23.example.1.dangerous": "Line 5: This is dangerous because the csrf_exempt decorator disables the CSRF protection in the middleware settings.",
  "rule.sast.sw.py.23.example.1.safe": "Line 5: This is safe because the csrf_exempt decorator is commented out, which enables the CSRF validation.",
  "rule.sast.sw.py.23.example.2.dangerous": "Line 3: This is dangerous because it doesn't specify csrf_token, which prevents CSRF check from working.",
  "rule.sast.sw.py.23.example.2.safe": "Line 3: This is safe because csrf_token is specified, which enables the CSRF validation.",
  "rule.sast.sw.py.23.example.3.dangerous": "Line 3: This is dangerous because the CSRF setting is not specified.",
  "rule.sast.sw.py.23.example.3.safe": "Line 8: This is safe because the CSRF setting is added for the app.",
  "rule.sast.sw.py.23.example.4.dangerous": "Line 2: This is dangerous because it doesn't specify csrf_token, which prevents CSRF check from working.",
  "rule.sast.sw.py.23.example.4.safe": "Line 3: Specify {{ form.csrf_token }} to check for CSRF, which makes code safe.",
  "rule.sast.sw.py.23.name": "Cross-site Request Forgery",
  "rule.sast.sw.py.23.option.csrf_exempt_decorator.description": "Write the name of the decorator that turns off CSRF protection.",
  "rule.sast.sw.py.23.option.csrf_exempt_decorator.name": "Decorator that turns off CSRF protection",
  "rule.sast.sw.py.23.option.csrf_exempt_method.description": "Write the name of the function that turns off CSRF protection.",
  "rule.sast.sw.py.23.option.csrf_exempt_method.name": "Function that turns off CSRF protection",
  "rule.sast.sw.py.24.description": "If unverified external inputs are used in requests submitted between servers, a security vulnerability could allow malicious actions to occur. If a web server has a vulnerable application, an attacker can trick the application into performing abnormal behaviors or obtaining data from the trusted network by forging a URL or a request statement to bypass access control.\nUse a whitelist to filter user input values when the input value used to call another system's service is within an identifiable range. Create a blacklist that filters a list of internal URLs when it is required to receive a random URL that is specified by the user. In addition, ensure to check authentication or authorization on requests sent over the internal network.",
  "rule.sast.sw.py.24.example.0.dangerous": "Line 9: This is insecure because the value taken from the user in Line 5 is returned without whitelist validation.",
  "rule.sast.sw.py.24.example.0.safe": "Line 18: This is secure because the value taken from the user in Line 14 undergoes a whitelist validation process created in Line 7.",
  "rule.sast.sw.py.24.name": "Server-side Request Forgery",
  "rule.sast.sw.py.24.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) filter$param(1)",
  "rule.sast.sw.py.24.option.taint_filter.name": "External information filter",
  "rule.sast.sw.py.24.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.py.24.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.py.24.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) strcpy$param(2)->param(1)",
  "rule.sast.sw.py.24.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.py.24.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) CFStreamCreatePairWithSocketToHost$param(2)",
  "rule.sast.sw.py.24.option.taint_sink.name": "External information sink",
  "rule.sast.sw.py.24.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) getenv$return",
  "rule.sast.sw.py.24.option.taint_source.name": "External information source",
  "rule.sast.sw.py.2402.description": "The Generation of Dangerous Temp File checker finds instances of generating a temporary file in an improper way.\nIf a temporary file is generated with a predictable name or to be accessible to an arbitrary program, it may allow attackers to manipulate the file for program malfunctions.\nIt is recommended to name temporary files unpredictably and make them accessible only by the executing program.",
  "rule.sast.sw.py.2402.example.0.dangerous": "Line 3: A temporary file is generated through os.tmpnam() function, an insecure API.",
  "rule.sast.sw.py.2402.example.0.safe": "Line 3: Generate the temporary file through an secure method of tempfile module.",
  "rule.sast.sw.py.2402.name": "Generation of Dangerous Temp File",
  "rule.sast.sw.py.2402.option.temp_file_name.description": "Write forbidden temporary file name<br />Example) *temp*",
  "rule.sast.sw.py.2402.option.temp_file_name.name": "Forbidden temporary file name",
  "rule.sast.sw.py.2403.description": "The Invalid umask Argument checker finds calls to umask() function in which an invalid value is passed as an argument.\nThe chmod and umask commands use similar argument formats, which however are interpreted oppositely from one another, thus causing confusion. In the chmod command, 7 means all rights (read, write, and execute) granted and 0 means no rights granted. In the umask command, in contrast, 7 means no rights granted and 0 means all rights granted. In addition, chmod receives a three-digit octal number as an argument while umask receives a two-digit octal number. Since the Python function of umask() works in the same way as the OS command of umask, its argument also has to be passed in the same format.\nPass an argument of a two-digit octal number to umask() in the correct format.",
  "rule.sast.sw.py.2403.example.0.dangerous": "Line 3: umask() function is called with an invalid argument.",
  "rule.sast.sw.py.2403.example.0.safe": "Line 3: Call the umask() function with a valid argument.",
  "rule.sast.sw.py.2403.name": "Invalid umask Argument",
  "rule.sast.sw.py.2407.description": "The Direct dynamic code evaluation checker finds instances of using unvalidated external inputs in dynamic evaluation code.\nStrings passed to the Eval() function during program execution are considered part of code to be executed.\nIf an unvalidated external input is allowed in dynamically executable code, attackers can execute an arbitrary action to achieve their aim.\nCheck if the dynamic evaluation is necessary in the program design; if possible, replace it with a static code that behaves identically. Most ordinary program actions can be implemented without dynamic evaluation; in many cases, programmers use dynamic code simply in order to avoid some bothersome coding. If the use of dynamic code with untrusted external inputs is inevitable, have those inputs filtered, or restrict argument values determined by external inputs to those selected from within a preconfigured array of appropriate values.",
  "rule.sast.sw.py.2407.example.0.dangerous": "Line 5: An external input, request.GET['operation'], is used to generate an argument of eval() function. Then, attackers can use code by sending userId through 1, dangerous_function_call().",
  "rule.sast.sw.py.2407.example.0.safe": "Line 6: Check that an input is expected one before using.",
  "rule.sast.sw.py.2407.name": "Direct dynamic code evaluation",
  "rule.sast.sw.py.2407.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />example) filter$param(1)",
  "rule.sast.sw.py.2407.option.taint_filter.name": "External information filter",
  "rule.sast.sw.py.2407.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.py.2407.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.py.2407.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example) \\+$operand(*)->return",
  "rule.sast.sw.py.2407.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.py.2407.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) document.write$param(*)",
  "rule.sast.sw.py.2407.option.taint_sink.name": "External information sink",
  "rule.sast.sw.py.2407.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) document.URL$variable",
  "rule.sast.sw.py.2407.option.taint_source.name": "External information source",
  "rule.sast.sw.py.2408.description": "The Log Manipulation checker finds instances of printing out unvalidated user inputs in a log.\nIf unvalidated user inputs are printed out in a log, an attacker can insert arbitrary content in the log to confuse security personnel who consult the log. If a manipulated log successfully leads to making an inappropriate decision, the attacker can exploit the consequences.\nHave external inputs validated before they are logged. It is particularly recommended to delete newline characters.",
  "rule.sast.sw.py.2408.example.0.dangerous": "Line 8: An insecure request.GET['id'] is used in logger.error() function.",
  "rule.sast.sw.py.2408.example.0.safe": "Line 8: Check string data, and then, print out secure one only.",
  "rule.sast.sw.py.2408.name": "Log Manipulation",
  "rule.sast.sw.py.2408.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />example) filter$param(1)",
  "rule.sast.sw.py.2408.option.taint_filter.name": "External information filter",
  "rule.sast.sw.py.2408.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.py.2408.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.py.2408.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example) .$operand(*)->return",
  "rule.sast.sw.py.2408.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.py.2408.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) error_log$param(1)",
  "rule.sast.sw.py.2408.option.taint_sink.name": "External information sink",
  "rule.sast.sw.py.2408.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) $_GET$variable",
  "rule.sast.sw.py.2408.option.taint_source.name": "External information source",
  "rule.sast.sw.py.2409.description": "The SMTP Command Injection checker finds instances of executing an SMTP command with an insecure external input.\nIf an unvalidated external input is passed as an argument to a SMTP command, the system can be exploited to send out spam.\nBecause external inputs are not trustworthy, you need to have them filtered, or restrict argument values determined by external inputs to those selected from within a preconfigured array of appropriate values.",
  "rule.sast.sw.py.2409.example.0.dangerous": "Line 11: Insecure request.GET['user'], and request.GET['cmd'] are used for SMTP.docmd() function to execute smtp commands.",
  "rule.sast.sw.py.2409.example.0.safe": "Line 10: Make sure to use specified inputs only for the commands, and validated inputs only for arguments.",
  "rule.sast.sw.py.2409.name": "SMTP Command Injection",
  "rule.sast.sw.py.2409.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />example) filter$param(1)",
  "rule.sast.sw.py.2409.option.taint_filter.name": "External information filter",
  "rule.sast.sw.py.2409.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.py.2409.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.py.2409.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example) .$operand(*)->return",
  "rule.sast.sw.py.2409.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.py.2409.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) system$param(1)",
  "rule.sast.sw.py.2409.option.taint_sink.name": "External information sink",
  "rule.sast.sw.py.2409.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) $_GET$variable",
  "rule.sast.sw.py.2409.option.taint_source.name": "External information source",
  "rule.sast.sw.py.2410.description": "The Memcached Injection checker finds instances of storing unvalidated external input data in Memcache.\nExternal inputs are not trustworthy and therefore unless they are filtered before stored, an unexpected value may be cached and exploited for attacks.\nBecause external inputs are not trustworthy, you need to have them filtered, or restrict argument values determined by external inputs to those selected from within a preconfigured array of appropriate values.",
  "rule.sast.sw.py.2410.example.0.dangerous": "Line 7: Insecure request.GET['id'] is used for cache.set() function to execute memcache commands.",
  "rule.sast.sw.py.2410.example.0.safe": "Line 7: Make sure to use validated inputs only for arguments.",
  "rule.sast.sw.py.2410.name": "Memcached Injection",
  "rule.sast.sw.py.2410.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) filter$param(1)",
  "rule.sast.sw.py.2410.option.taint_filter.name": "External information filter",
  "rule.sast.sw.py.2410.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.py.2410.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.py.2410.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example) .$operand(*)->return",
  "rule.sast.sw.py.2410.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.py.2410.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) system$param(1)",
  "rule.sast.sw.py.2410.option.taint_sink.name": "External information sink",
  "rule.sast.sw.py.2410.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example)  $_GET$variable",
  "rule.sast.sw.py.2410.option.taint_source.name": "External information source",
  "rule.sast.sw.py.2412.description": "The Path Manipulation checker finds instances in which an unvalidated external input creates a path accessible to the file system.\nIf unvalidated external inputs are allowed to be used for access to files, servers, or other system resources, attackers can manipulate inputs to access an unintended path in the program. In other words, path manipulation can be used to obtain illegitimate access to modify or execute settings files.\nIf external inputs are used as identifiers for resources (such as files), make sure they pass appropriate validation. Especially, if external inputs are filenames, use a filter to remove characters such as `, /, \\, and ..  that can be exploited for a directory traversal attack.",
  "rule.sast.sw.py.2412.example.0.dangerous": "Line 5: Insecure request.GET['name'] is used as a path to access a file.",
  "rule.sast.sw.py.2412.example.0.safe": "Line 5: Do not use an insecure value as a path to access; use a filtered value only.",
  "rule.sast.sw.py.2412.name": "Path Traversal",
  "rule.sast.sw.py.2412.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />example) filter$param(1)",
  "rule.sast.sw.py.2412.option.taint_filter.name": "External information filter",
  "rule.sast.sw.py.2412.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.py.2412.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.py.2412.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example) .$operand(*)->return",
  "rule.sast.sw.py.2412.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.py.2412.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) fread$param(1)",
  "rule.sast.sw.py.2412.option.taint_sink.name": "External information sink",
  "rule.sast.sw.py.2412.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) $_GET$variable",
  "rule.sast.sw.py.2412.option.taint_source.name": "External information source",
  "rule.sast.sw.py.2415.description": "The External Control of System or Configuration Setting checker finds instances of modifying a system or configuration setting using an unvalidated external input.\nControllability of a system or configuration setting may cause an unexpected result (such as service interruption) or allow for security attacks.\nMake sure external inputs are appropriately validated before used for system settings or the modification of environment variables.",
  "rule.sast.sw.py.2415.example.0.dangerous": "Line 6: An unvalidated external input is sent to OS environment variables.",
  "rule.sast.sw.py.2415.example.0.safe": "Line 6: Make sure to filter out the external inputs.",
  "rule.sast.sw.py.2415.name": "External Control of System or Configuration Setting",
  "rule.sast.sw.py.2415.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />example) filter$param(1)",
  "rule.sast.sw.py.2415.option.taint_filter.name": "External information filter",
  "rule.sast.sw.py.2415.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.py.2415.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.py.2415.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example) &$operand(*)->return",
  "rule.sast.sw.py.2415.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.py.2415.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />example) .*.create$param(*)",
  "rule.sast.sw.py.2415.option.taint_sink.name": "External information sink",
  "rule.sast.sw.py.2415.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />example) request.form$return",
  "rule.sast.sw.py.2415.option.taint_source.name": "External information source",
  "rule.sast.sw.py.2418.description": "The Manipulation of django File Response checker finds instances of creating a FileResponse for a file path determined by an external input.\nOnce a FileResponse is created, the passed file path is accessed in the filesystem. If unvalidated external inputs are allowed to be used for access to files, servers, or other system resources, attackers can manipulate inputs to access an unintended path in the program. In other words, path manipulation can be used to obtain illegitimate access to modify or execute settings files.\nIf external inputs are used as identifiers for resources (such as files), make sure they pass appropriate validation. Especially, if external inputs are filenames, use a filter to remove characters such as `, /, \\, and ..  that can be exploited for a directory traversal attack.",
  "rule.sast.sw.py.2418.example.0.dangerous": "Line 5: Insecure request.GET['file'] is used as a path to open file and returned to FileResponse.",
  "rule.sast.sw.py.2418.example.0.safe": "Line 5: Do not use an insecure value as a path to access; use a filtered value only.",
  "rule.sast.sw.py.2418.name": "Manipulation of Django File Response",
  "rule.sast.sw.py.2418.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) filter$param(1)",
  "rule.sast.sw.py.2418.option.taint_filter.name": "External information filter",
  "rule.sast.sw.py.2418.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.py.2418.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.py.2418.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example) .$operand(*)->return",
  "rule.sast.sw.py.2418.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.py.2418.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) fread$param(1)",
  "rule.sast.sw.py.2418.option.taint_sink.name": "External information sink",
  "rule.sast.sw.py.2418.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) $_GET$variable",
  "rule.sast.sw.py.2418.option.taint_source.name": "External information source",
  "rule.sast.sw.py.25.description": "When a parameter in an HTTP request is returned back to user in HTTP response header, the HTTP response may be splited into two or more lines if the input value has a newline character such as a CR (CarriageReturn) or LF (LineFeed). In this case, the attacker can use a newline character to terminate the first response and inject malicious code into the second response to perform XSS or cache poisoning attacks.\nThe vulnerability of HTTP response splitting was reported from URLValidator in Python 3.9.5 or later version, and it also affects the version of Django that uses the library. To keep applications safe from HTTP response splitting attacks, the latest versions of libraries and frameworks should be used, and thorough validation of external inputs should be performed.\nIf the request parameter value is included in the HTTP response header e.g. Set-Cookie, make sure that newline characters such as CR(`\\r`), LF(`\\n`) are removed.",
  "rule.sast.sw.py.25.example.0.dangerous": "Line 7: It is insecure to use externally entered content_type without removing any newline characters.",
  "rule.sast.sw.py.25.example.0.safe": "Line 6, 7: It is secure because the newline characters (\\r, \\n) are removed to prevent response splitting.",
  "rule.sast.sw.py.25.name": "HTTP Response Splitting",
  "rule.sast.sw.py.25.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) operand(*) of \"in\"",
  "rule.sast.sw.py.25.option.taint_filter.name": "External information filter",
  "rule.sast.sw.py.25.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) sparrow.my.filter.utils.is_safe()",
  "rule.sast.sw.py.25.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.py.25.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of \"+\" to return",
  "rule.sast.sw.py.25.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.py.25.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.",
  "rule.sast.sw.py.25.option.taint_sink.name": "External information sink",
  "rule.sast.sw.py.25.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of fqn(\"django.http.HttpRequest.GET\")",
  "rule.sast.sw.py.25.option.taint_source.name": "External information source",
  "rule.sast.sw.py.26.description": "If an application has a protection mechanism based on reliance on external inputs, an attacker can bypass the mechanism by manipulating input values. Accordingly, external user inputs should be prevented from being used without sufficient encryption and integrity checks.\nPython's Django framework provides a session management feature. This feature allows you to set the expiry time of session cookies and ensures secure configuration based on the token and session functions provided by DRF (Django Rest Framework).\nStatus information or sensitive data including user session information should be stored in sessions rather than in cookies which are prone to tampering.",
  "rule.sast.sw.py.26.example.0.dangerous": "Line 4: This is insecure because sensitive information is collected from cookies.",
  "rule.sast.sw.py.26.example.0.safe": "Line 4: This is secure because sensitive information is collected from sessions.",
  "rule.sast.sw.py.26.name": "Reliance on Untrusted Inputs in a Security Decision",
  "rule.sast.sw.py.27.description": "If unverified external inputs are used as format strings for input/output functions, it can lead to a security vulnerability. An attacker can use the format string to attack vulnerable processes, or read and write memory. As a result, the attacker can execute arbitrary code by gaining privileges to the vulnerable processes.\nPython provides three format string methods: `% formatting`, `str.format`, and `f-string`. The f-strings were added in Python 3.6. An attacker can use a format string to convert internal data into a string. If the data is returned, sensitive internal information can be leaked.\nExternal input strings should be used after being bound with a format specifier and never be used directly as format strings.",
  "rule.sast.sw.py.27.example.0.dangerous": "Line 10: An attacker can steal the values of AUTHENTICATE_KEY in Line 2 by accessing global variables when entering strings in the # {user.__init__.__globals__[AUTHENTICATE_KEY]} format with the values taken in Line 7.",
  "rule.sast.sw.py.27.example.0.safe": "Line 8: This is secure because external input strings are not used as format strings.",
  "rule.sast.sw.py.27.name": "Format string injection",
  "rule.sast.sw.py.27.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) return of name(\"filter\")",
  "rule.sast.sw.py.27.option.taint_filter.name": "External information filter",
  "rule.sast.sw.py.27.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) sparrow.my.filter.utils.is_safe()",
  "rule.sast.sw.py.27.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.py.27.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of \"+\" to return",
  "rule.sast.sw.py.27.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.py.27.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) base of name(\"format\")",
  "rule.sast.sw.py.27.option.taint_sink.name": "External information sink",
  "rule.sast.sw.py.27.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of fqn(\"django.http.HttpRequest.field\")",
  "rule.sast.sw.py.27.option.taint_source.name": "External information source",
  "rule.sast.sw.py.2778.description": "The Information Exposure by django Debugging checker finds a django application setting file in which debug mode is set to on.\nBy default, applications created by the django framework have debug mode active. Debug mode is useful during development but must be set to off before the application is released because it exposes excessive information through error messages on the server.\nIn the settings.py file, modify the value of the DEBUG variable to False. The debug mode setting does not pose a significant issue but it must be fixed before the application is put in service.",
  "rule.sast.sw.py.2778.example.0.dangerous": "Line 3: DEBUG variable of settings.py file is set to true.",
  "rule.sast.sw.py.2778.example.0.safe": "Line 3: Modify the DEBUG variable of settings.py file to false.",
  "rule.sast.sw.py.2778.name": "Information Exposure by django Debugging",
  "rule.sast.sw.py.2781.description": "The Use of sleep() in django checker finds calls to the sleep() function made during a response to a request in a django application.\nDo not have sleep() called during a response to a request.\nIf sleep() is called during the creation of a response to an HTTP request, the response is delayed, during which time the request and response keep consuming the resources of the process. This can be exploited for a denial-of-service (DoS) attack generating such requests in large quantities. Developers often wrongly expect that a response delay using sleep() helps defend against DoS attacks. This practice, however, can by no means defend the system but allows for rather greater vulnerabilities.\nDo not have sleep() called during a response to a request.",
  "rule.sast.sw.py.2781.example.0.dangerous": "Line 5: In order to delay a response, calling sleep() function can pose a security issue.",
  "rule.sast.sw.py.2781.example.0.safe": "Line 5: Do not use the sleep() to delay the response.",
  "rule.sast.sw.py.2781.name": "Use of sleep() in Django",
  "rule.sast.sw.py.2781.option.django_response_fqn.description": "Write FQN of functions for django generate reponse to request.",
  "rule.sast.sw.py.2781.option.django_response_fqn.name": "Reponse functions of django",
  "rule.sast.sw.py.2781.option.sleep_api_fqn.description": "Write FQN of functions that pause current thread.",
  "rule.sast.sw.py.2781.option.sleep_api_fqn.name": "Pause functions",
  "rule.sast.sw.py.28.description": "If accesses to Read or Modify modes are unintentionally granted for security-related resources by an application, the resources may be used by unauthorized users.\nPython's `os.fchmod`, `os.chmod`, and other functions are used to grant a user access to file creation, Read Mode, etc.\nSet permissions to allow only SW administrators to read and write configuration files, executable files, libraries, etc.",
  "rule.sast.sw.py.28.example.0.dangerous": "Line 2: This is insecure because Read, Write, and Execute permissions are granted to all users.",
  "rule.sast.sw.py.28.example.0.safe": "Line 2: This is secure because full privileges are granted to its owner alone.",
  "rule.sast.sw.py.28.name": "Incorrect Authorization for Critical Resources",
  "rule.sast.sw.py.28.option.chmod_option.description": "Creates an option value for chmod that is judged to be excessive privileges.",
  "rule.sast.sw.py.28.option.chmod_option.name": "chmod option",
  "rule.sast.sw.py.28.option.umask_option.description": "The umask option value that is judged to be excessive privilege is written.",
  "rule.sast.sw.py.28.option.umask_option.name": "umask option",
  "rule.sast.sw.py.2814.description": "The Improper authorization checker finds code that fails to fully control accesses of execution paths after user authentication.\nIf validation for access control is not performed or completed for all execution paths, attackers can exploit the accessible path to leak information.\nCategorize information of the application based on its features to reduce attack surfaces, exposed to attackers, as much as possible. Also, manage access control list (ACL) of the application based on user permissions to reduce risk to leak the information.",
  "rule.sast.sw.py.2814.example.0.dangerous": "Line 6: This explicitly specifies its user, but not password.\nLine 13: User authentication is executed without other actions, which allows anonymous bindings.",
  "rule.sast.sw.py.2814.example.0.safe": "Line 6: Use access control to access with user ID and password.",
  "rule.sast.sw.py.2814.name": "Improper authorization",
  "rule.sast.sw.py.2816.description": "The Sensitive Information Storage in Plaintext checker finds instances in which unencrypted sensitive information is stored in plaintext.\nEnsure to encrypt the sensitive information while storing it to an external environment file. Additionally, consider separating the sensitive information and normal data in the software designing phase.\nIf sensitive information is not encrypted when stored in plaintext, data may be exposed to or sniffed by unauthorized agents.",
  "rule.sast.sw.py.2816.example.0.dangerous": "Line 11: A password is stored to the file as plain text.",
  "rule.sast.sw.py.2816.example.0.safe": "Line 7: Save encrypted files when sensitive information has to be saved.",
  "rule.sast.sw.py.2816.name": "Sensitive Information Storage in Plaintext",
  "rule.sast.sw.py.2816.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />example) filter$param(1)",
  "rule.sast.sw.py.2816.option.taint_filter.name": "External information filter",
  "rule.sast.sw.py.2816.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.py.2816.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.py.2816.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) \\.$operand(*)->return",
  "rule.sast.sw.py.2816.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.py.2816.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) fwrite$param(2)",
  "rule.sast.sw.py.2816.option.taint_sink.name": "External information sink",
  "rule.sast.sw.py.2816.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) \\$_GET$variable",
  "rule.sast.sw.py.2816.option.taint_source.name": "External information source",
  "rule.sast.sw.py.2817.description": "The Sensitive Information Transfer in Plaintext checker finds instances of transferring sensitive information without encrypting it.\nIf data containing important user or system information is sent or received in plaintext, this poses a security vulnerability allowing unauthorized users to sniff sensitive data from the communication channel.\nSensitive information transferring via communication channels must be encrypted. If necessary, secure channels such as SSL or HTTPS should be used.",
  "rule.sast.sw.py.2817.example.0.dangerous": "Line 11: Transmission of password, as plain text without encryption, to the server via a socket is occurring.",
  "rule.sast.sw.py.2817.example.0.safe": "Line 11: Before transmitting a password through the network, it is necessary to encrypt the password.",
  "rule.sast.sw.py.2817.name": "Sensitive Information Transfer in Plaintext",
  "rule.sast.sw.py.2817.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />example) filter$param(1)",
  "rule.sast.sw.py.2817.option.taint_filter.name": "External information filter",
  "rule.sast.sw.py.2817.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.py.2817.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.py.2817.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) \\.$operand(*)->return",
  "rule.sast.sw.py.2817.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.py.2817.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(2) of socket_send",
  "rule.sast.sw.py.2817.option.taint_sink.name": "External information sink",
  "rule.sast.sw.py.2817.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) \\$_GET$variable",
  "rule.sast.sw.py.2817.option.taint_source.name": "External information source",
  "rule.sast.sw.py.2818.description": "The Hardcoded Encryption Key checker finds encryption keys hardcoded in source code.\nHardcoded encryption keys present in source code can be used to decrypt ciphertext data back into the original information in case it leaks. Encryption keys are often hardcoded in the wrong assumption that their exposal poses no significant security threat, although some hash functions can possibly be reversed by brute-force attacks. In addition, hardcoded encryption keys are not easy to change.\nMake sure encryption keys never assume constant values. And, even if in ciphertext, they should not be hardcoded in source code.",
  "rule.sast.sw.py.2818.example.0.dangerous": "Line 7: A hard-coded cryptographic key is used in order to perform encryption.",
  "rule.sast.sw.py.2818.example.0.safe": "Line 7: Do not use the cryptographic key defined as a constant.",
  "rule.sast.sw.py.2818.name": "Hardcoded Encryption Key",
  "rule.sast.sw.py.2818.option.encrypt_creator_key.description": "Write the name of the encryption function and key parameter.<br />Example: Crypto.Cipher.*new.*:key:1",
  "rule.sast.sw.py.2818.option.encrypt_creator_key.name": "Encryption function and key",
  "rule.sast.sw.py.2818.option.hash_creator_key.description": "Write the name of the hash function and key parameter.<br />Example: haslib.*:key",
  "rule.sast.sw.py.2818.option.hash_creator_key.name": "Hash function and key",
  "rule.sast.sw.py.2822.description": "The Missing login control checker finds instances of failure to implement a logic to limit the number of login attempts.\nThe checker checks a logic to control login attempt count at the start to call its login routine. Yet, an error occurs when control condition is a constant in a loop.\nAttackers may use the error to login or get permission with a brute-force attack.\nA logic that limits login attempt count must be implemented.",
  "rule.sast.sw.py.2822.example.0.dangerous": "Line 8: The number of call of the login routine is not controlled.",
  "rule.sast.sw.py.2822.example.0.safe": "Line 8: The number of call of the login routine should be controlled.",
  "rule.sast.sw.py.2822.name": "Missing login control",
  "rule.sast.sw.py.2822.option.check_inner_control.description": "If the checkbox is checked, check whether the login routine has been controlled in the routine.",
  "rule.sast.sw.py.2822.option.check_inner_control.name": "Check inner control",
  "rule.sast.sw.py.2822.option.check_outer_control.description": "If the checkbox is checked, check whether the login routine has been controlled from the outside.",
  "rule.sast.sw.py.2822.option.check_outer_control.name": "Check outer control",
  "rule.sast.sw.py.2822.option.login_function.description": "Write the name of the login function.<br />Example) login",
  "rule.sast.sw.py.2822.option.login_function.name": "Login function",
  "rule.sast.sw.py.2823.description": "The System Information Exposure checker finds instances of displaying system information through error messages or by other means.\nIf error messages openly displayed by the application contain sensitive information regarding execution environments or user data, attackers can exploit the information for malicious actions. Showing exception names or stack traces can help attackers identify the program's internal structure.\nMake sure error messages are shown only to relevant users and contain minimum necessary information. Have exceptions internally handled in source code and do not allow them to trigger an error message containing sensitive information.",
  "rule.sast.sw.py.2823.example.0.dangerous": "Line 10: Stack trace is included in response.",
  "rule.sast.sw.py.2823.example.0.safe": "Line 10: Sensitive information is not written to the response.",
  "rule.sast.sw.py.2823.name": "Exposure of system information",
  "rule.sast.sw.py.2823.option.forbidden_function.description": "Write a name of forbidden function.<br /> Example) traceback.print_.*",
  "rule.sast.sw.py.2823.option.forbidden_function.name": "Forbidden Method",
  "rule.sast.sw.py.2823.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />example) filter$param(1)",
  "rule.sast.sw.py.2823.option.taint_filter.name": "External information filter",
  "rule.sast.sw.py.2823.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.py.2823.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.py.2823.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example) \\+$operand(*)->return",
  "rule.sast.sw.py.2823.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.py.2823.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />example) .+\\.getFile$param(1)",
  "rule.sast.sw.py.2823.option.taint_sink.name": "External information sink",
  "rule.sast.sw.py.2823.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) document.URL$variable",
  "rule.sast.sw.py.2823.option.taint_source.name": "External information source",
  "rule.sast.sw.py.2840.description": "The Exposing system information rule detects code that outputs system information, such as through error messages. Error messages are designed to contain only the minimum amount of information that is useful to a given user. Source code handles exception situations internally and avoids outputting errors that contain sensitive information.\nIf your application generates and makes available externally error messages that contain sensitive information about the execution environment, users, and other relevant data, it can aid attackers in malicious behaviour. If you print the exception name or stack trace when an exception is thrown, you run the risk of making it easy to understand the internal structure of your program.",
  "rule.sast.sw.py.2840.example.0.dangerous": "Line 8: The exception name is exposed via the print() function.",
  "rule.sast.sw.py.2840.example.0.safe": "Line 8: Remove the print() function. Make a log for the error to avoid information leak.",
  "rule.sast.sw.py.2840.name": "Exception Information Exposure",
  "rule.sast.sw.py.2840.option.custom_method.description": "Write a function name that prints out an error message.",
  "rule.sast.sw.py.2840.option.custom_method.name": "Print Function of Error Message",
  "rule.sast.sw.py.2844.description": "The XQuery Injection checker finds XQuery statements that include an unvalidated external input.\nIf an appropriate validation process is not established for external inputs that are used to create dynamic queries for XML data in XQuery, attackers may arbitrarily modify the query structure. This modification enables them to access restricted data or bypass the authorization checks. In the case of `username='local_user1'` for example, XQuery uses single quotation marks to delimit the text value to be checked against the username. If an external input is used for the value to be checked against and single quotation marks are allowed in it, you can enter as follows: `admin' or ''='`. Then the query's conditional clause will be as follows: `username = 'admin' or ''=''`. As `''=''` always evaluates to true, the condition comparing against \"username\" can be bypassed.\nMake sure external input data used in XQuery are filtered for special characters and reserved words.",
  "rule.sast.sw.py.2844.example.0.dangerous": "Line 10: An untrusted external input is used to generate XQuery strings.",
  "rule.sast.sw.py.2844.example.0.safe": "Line 10: Filter the strings to use secure XQuery queries only.",
  "rule.sast.sw.py.2844.name": "XQuery Injection",
  "rule.sast.sw.py.2844.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) return of name(\"filter\")",
  "rule.sast.sw.py.2844.option.taint_filter.name": "External information filter",
  "rule.sast.sw.py.2844.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) sparrow.my.filter.utils.is_safe()",
  "rule.sast.sw.py.2844.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.py.2844.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of \"+\" to return",
  "rule.sast.sw.py.2844.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.py.2844.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(*) of name(\"compileQuery\")",
  "rule.sast.sw.py.2844.option.taint_sink.name": "External information sink",
  "rule.sast.sw.py.2844.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of fqn(\"django.http.HttpRequest.field\")",
  "rule.sast.sw.py.2844.option.taint_source.name": "External information source",
  "rule.sast.sw.py.2847.description": "The Reliance on DNS lookups in security decisions checker finds instances in which authentication and access controls rely solely on the domain name.\nBecause DNS servers are targeted for spoofing, reliance on the domain name allows attackers to modify the DNS to point the domain name to their IP address. They can create fake DNS entries, and you must avoid security decisions (authentication, access controls, etc.) solely based on the domain name. A tainted local DNS cache may let the network traffic between a particular server and users transferred through an attacker.\nFor servers with known IP addresses, use their IP addresses.",
  "rule.sast.sw.py.2847.example.0.dangerous": "Line 8: A request is verified to be trusted through a domain name. Then, attackers can manipulate DNS cash to send invalid credibility.",
  "rule.sast.sw.py.2847.example.0.safe": "Line 7: Modify to compare the IP addresses directly instead of the hostname by DNS lookup.",
  "rule.sast.sw.py.2847.name": "Reliance on DNS lookups in security decisions",
  "rule.sast.sw.py.2847.option.taint_filter.description": "Write a name and a type of the function which filters external information.",
  "rule.sast.sw.py.2847.option.taint_filter.name": "External information filter",
  "rule.sast.sw.py.2847.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.",
  "rule.sast.sw.py.2847.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.py.2847.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of \"+\" to return",
  "rule.sast.sw.py.2847.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.py.2847.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) operand(*) of \"==\"",
  "rule.sast.sw.py.2847.option.taint_sink.name": "External information sink",
  "rule.sast.sw.py.2847.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of fqn(\"socket.gethostbyaddr\")",
  "rule.sast.sw.py.2847.option.taint_source.name": "External information source",
  "rule.sast.sw.py.29.description": "Developers often attempt to hide passwords stored in configuration files by using simple encoding functions to protect them. However, overly simple encoding functions including base64 are not sufficient for proper password protection.\nAlgorithms that were once expected to take billions of years to crack can now be decoded within days or even hours. They include the RC2 (ARC2), RC4 (ARC4), RC5, RC6, MD4, MD5, SHA1, and DES algorithms. PyCrypto was used in Python 2, and then PyCryptodomes upgraded from PyCrypto is available in Python 3.\nIt is risky to develop personal encryption algorithms, and thus, standardized algorithms validated in academia and industry are highly recommended. Secure cryptographic algorithms such as 3DES, AES, SEED, etc. should be used instead of weak cryptographic algorithms such as DES, RC5, etc.",
  "rule.sast.sw.py.29.example.0.dangerous": "Line 5: This is dangerous because it uses DES, which is known to be vulnerable.",
  "rule.sast.sw.py.29.example.0.safe": "Line 5: This is secure because the AES algorithm is used.",
  "rule.sast.sw.py.29.example.1.dangerous": "Line 5: This is insecure because the weak md5 cryptographic algorithm is used.",
  "rule.sast.sw.py.29.example.1.safe": "Line 5: This is secure because the sha-256 algorithm is used.",
  "rule.sast.sw.py.29.name": "Use of weak cryptographic algorithm",
  "rule.sast.sw.py.29.option.encrypt_creator_prefix.description": "Write a name of weak cryptographic algorithm library.",
  "rule.sast.sw.py.29.option.encrypt_creator_prefix.name": "Weak cryptographic algorithm library",
  "rule.sast.sw.py.29.option.hash_creator_prefix.description": "Write a name of weak hash algorithm library.\nExample) Crypto.Hash",
  "rule.sast.sw.py.29.option.hash_creator_prefix.name": "Weak hash algorithm library",
  "rule.sast.sw.py.29.option.string_name_hash_creator.description": "Write a name of hash function which gets hash algorithm name.",
  "rule.sast.sw.py.29.option.string_name_hash_creator.name": "Hash function with hash algorithm name",
  "rule.sast.sw.py.29.option.weak_encrypt_algorithm.description": "Write a name of the weak cryptographic algorithm.<br />Example) DES",
  "rule.sast.sw.py.29.option.weak_encrypt_algorithm.name": "Weak cryptographic algorithm",
  "rule.sast.sw.py.29.option.weak_hash_algorithm.description": "Write a name of the weak hash algorithm.\nExample) MD5",
  "rule.sast.sw.py.29.option.weak_hash_algorithm.name": "Weak hash algorithm",
  "rule.sast.sw.py.3012.description": "The Weak Server Certificate checker finds code that creates SSL/TLS sessions, but fails to validate X.509 certificates, therefore, trusts all certificates.\nThe X.509 certificates cannot pass the validation for using psf/requests, ssl standard, or pyca/pyopenssl library.\nIt is required to validate X.509 certificates in order to create secure SSL/TLS sessions which are safe against the MITM(Man in the Middle) attacks.",
  "rule.sast.sw.py.3012.example.0.dangerous": "Line 6: verify is set to FALSE. So, certificates of the remote server are not validated.\nLine 10: verify_mode is set to ssl.CERT_NONE. So, certificates of the remote server are not validated.\nLine 13: set_verify() function is not used. So, certificates of the remote server are not validated.",
  "rule.sast.sw.py.3012.example.0.safe": "Line 6: Specify a value to verify to validate certificates of the remote server. (default: True)\nLine 10: Set verify_mode to ssl.CERT_REQUIRED to validate certificates of the remote server.\nLine 13: Use set_verify() function to validate certificates of the remote server.",
  "rule.sast.sw.py.3012.name": "Weak Server Certificate",
  "rule.sast.sw.py.3118.description": "If you include hardcoded sensitive information or information about the database connection in the program code, a hacker may exploit it to leak sensitive information.\nWhen hardcoded sensitive information is included in the program and used to enable internal authentication or connect to external components, it may leak the administrative information.\nUse a separate file for the sensitive information. Encrypt the file with an encryption key, make sure not to use a constant as the key.",
  "rule.sast.sw.py.3118.example.0.dangerous": "Line 4: This is insecure because hardcoded information is connected to the database.",
  "rule.sast.sw.py.3118.example.0.safe": "Line 14: This is secure because the data imported from the settings files is decrypted and connected to the database.",
  "rule.sast.sw.py.3118.name": "Hardcoded sensitive information",
  "rule.sast.sw.py.3118.option.forbidden_variable.description": "Write the variable name to receive important information. <br /> Example) password",
  "rule.sast.sw.py.3118.option.forbidden_variable.name": "Important information variable name",
  "rule.sast.sw.py.3118.option.password_param.description": "Write the function using password.<br /> example) MySQLdb.connect:passwd:3",
  "rule.sast.sw.py.3118.option.password_param.name": "Function using password",
  "rule.sast.sw.py.3119.description": "Using a key with insufficient length creates a security vulnerability. Even if a validated cryptographic algorithm is used, a short key may be discovered quickly and an attacker may use it to decrypt encrypted data or passwords.\nWhen selecting an encryption algorithm and key length, you need to make your selection based on the table comparing the encryption algorithm key length to the stability maintenance period and the security strength of the encryption algorithm (KISA).\nThe RSA algorithm must be used with a key at least 2048 bits in length, and the Symmetric Encryption Algorithm must be used with a key at least 128 bits in length. (The key must be set to at least 2048 bits for RSA and DSA, and at least 256 bits for ECC.)",
  "rule.sast.sw.py.3119.example.0.dangerous": "Line 7: This is insecure because the RSA key size is set to 1,024 bits.\nLine 12: This is insecure because the ECC key size is set to 192 bits.",
  "rule.sast.sw.py.3119.example.0.safe": "Line 7: This is secure because the RSA key size is set to 2,048 bits.\nLine 12: This is secure because the ECC key size is set to 256 bits.",
  "rule.sast.sw.py.3119.name": "Using Encryption Keys of Insufficient Size",
  "rule.sast.sw.py.3119.option.sufficient_key_size.description": "Creates the minimum length of a key allowed by the RSA algorithm.",
  "rule.sast.sw.py.3119.option.sufficient_key_size.name": "Key size allowed in RSA algorithm (Signature/Cipher)",
  "rule.sast.sw.py.3120.description": "This security vulnerability is caused by using predictable random numbers. This may let an attacker to predict the next number generated by the software and use that information to attack the system.\nIn Python, the random module causes security vulnerabilities since it was designed mainly for gaming, quizzes, and simulations rather than security purposes.\nPython uses the secrets module to generate values intended for security decision, such as the Session ID and encryption key. The secrets module can only be used in Python 3.6 or higher. For Python versions lower than 3.6, it is safe to use os.urandom() or random.SystemRandom class.",
  "rule.sast.sw.py.3120.example.0.dangerous": "Line 1: This is insecure because the Random module is used to make security decisions.",
  "rule.sast.sw.py.3120.example.0.safe": "Line 7: This is secure because secrets.randbelow() of secrets module is used, instead of random.randrange().",
  "rule.sast.sw.py.3120.example.1.dangerous": "Line 1: This is insecure because the Random module is used to make security decisions.",
  "rule.sast.sw.py.3120.example.1.safe": "Line 7: This is secure because secrets module's secrets.choice() is used, instead of insecure random.choice().",
  "rule.sast.sw.py.3120.name": "Use of Insufficient Random Value",
  "rule.sast.sw.py.3120.option.bad_random.description": "Enter regex of FQN patterns of random functions that is cryptologically not secure.",
  "rule.sast.sw.py.3120.option.bad_random.name": "Unsafe Random Function",
  "rule.sast.sw.py.3121.description": "Cookies can be configured to be saved continuously regardless of the browser session. They persist on the disk and loaded into the memory when the next browser session starts. If personal information, authentication information, etc. is saved in a persistent cookie, an attacker may use it to expose such information.\nThe value of `secure` property can be set as True (the default value is False) to send cookies only via HTTPS. To limit the client from accessing cookies via JavaScript, the `httponly` property should be set as True (the default value is False).\nSet the parameters of `set_cookie()`, the `secure` and `httponly` properties, as true, and the value of `max_age` as less than `60*60`.",
  "rule.sast.sw.py.3121.example.0.dangerous": "Line 6: This is insecure because the max_age value is too long (1 year), the values of the secure and httponly properties are not set, and as a result the default value is false.",
  "rule.sast.sw.py.3121.example.0.safe": "Line 6: This is secure because the value of max_age is set as 2 weeks and the value of the secure and httponly properties are set as true.",
  "rule.sast.sw.py.3121.name": "Information Exposed from Cookies Saved in User's Hard Disk",
  "rule.sast.sw.py.3121.option.max_timeout.description": "Write the maximum lifetime of the cookies in seconds.<br />Example) 3600",
  "rule.sast.sw.py.3121.option.max_timeout.name": "Maximum lifetime of the cookie",
  "rule.sast.sw.py.3122.description": "If any sensitive information (for example, ID, password, etc.) is included in the comment, the system security may be vulnerable. If a software developer left the password in a comment for convenience, it is unlikely to be removed once the software is completed. Also, attackers may breach the system easily if they can access the source code.\nNo sensitive information, for example, ID, password, etc., should be included in the comments.",
  "rule.sast.sw.py.3122.example.0.dangerous": "Line 2, 3: This is insecure because sensitive authentication information, such as ID and password, is included in the comment.",
  "rule.sast.sw.py.3122.example.0.safe": "Line 2: This is secure because no sensitive authentication information is included in the comment.",
  "rule.sast.sw.py.3122.name": "Sensitive System Information Included in the Comment",
  "rule.sast.sw.py.3122.option.password_expr.description": "Write the expression of a string that may be considered as a password.<br />Example) password",
  "rule.sast.sw.py.3122.option.password_expr.name": "Password expression",
  "rule.sast.sw.py.3123.description": "To save sensitive information such as passwords, use a one-way hash function that converts data of any length to a fixed-sized hash value. If you save sensitive information using a one-way hash function without a salt, an attacker may identify the hash value using the pre-calculated rainbow table.\nIt's insecure to save sensitive information using a hash function without a salt. In Python, a hash value can be generated using the hashlib library. The salt value must be generated using a safe random-number generation library such as os.urandom().\nGenerate the salt using a safe random-number generation library such as os.urandom(), and use it as a parameter of the hash function.",
  "rule.sast.sw.py.3123.example.0.dangerous": "Line 4: This is insecure because data with no salt value is used as a parameter of the hash function.",
  "rule.sast.sw.py.3123.example.0.safe": "Line 6: This is secure because the salt value and password are used as a parameter of the hash function.",
  "rule.sast.sw.py.3123.name": "One-way Hash Function Used without Salt",
  "rule.sast.sw.py.3123.option.hash_salt_param.description": "Write hash library function and salt parameter.<br />Example) hashlib.pbkdf2_hmac:salt:3",
  "rule.sast.sw.py.3123.option.hash_salt_param.name": "Hash function and salt",
  "rule.sast.sw.py.3123.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) operand(*) of \"in\"",
  "rule.sast.sw.py.3123.option.taint_filter.name": "External information filter",
  "rule.sast.sw.py.3123.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) sparrow.my.filter.utils.is_safe()",
  "rule.sast.sw.py.3123.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.py.3123.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) base of name(\"read\") to return",
  "rule.sast.sw.py.3123.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.py.3123.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(*) of fqn(\"hashlib.sha256\")",
  "rule.sast.sw.py.3123.option.taint_sink.name": "External information sink",
  "rule.sast.sw.py.3123.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of fqn(reg(\".*\"))",
  "rule.sast.sw.py.3123.option.taint_source.name": "External information source",
  "rule.sast.sw.py.3124.description": "Some products download source code or executables remotely and execute them without performing any integrity checks. This permits an attacker to execute a malicious code by compromising host servers, spoofing a DNS, compromising code during transfer, etc. The two main ways to check the integrity of files (and the relevant software) are encryption hash and digital signatures. It's safer to use hash to secure integrity, and use a proper code signature certificate if possible.\nSources must be downloaded from a trusted site, and file certificates or hash values must be checked to confirm they have been compromised.\nUse codes and files downloaded from external parties after comparing the hash value and performing an integrity check.",
  "rule.sast.sw.py.3124.example.0.dangerous": "Line 13: This is insecure because code received from an external source is saved without an integrity check.",
  "rule.sast.sw.py.3124.example.0.safe": "Line 13: This is secure because codes received from external source is compared with the hash value: the integrity check is performed.",
  "rule.sast.sw.py.3124.name": "Download of code without integrity check",
  "rule.sast.sw.py.3124.option.function_requiring_integrity_check.description": "Write the name of the function that needs integrity check.<br />Example) urllib.request.urlretrieve",
  "rule.sast.sw.py.3124.option.function_requiring_integrity_check.name": "Integrity check required function",
  "rule.sast.sw.py.3124.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) operand(*) of \"in\"",
  "rule.sast.sw.py.3124.option.taint_filter.name": "External information filter",
  "rule.sast.sw.py.3124.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) sparrow.my.filter.utils.is_safe()",
  "rule.sast.sw.py.3124.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.py.3124.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of \"+\" to return",
  "rule.sast.sw.py.3124.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.py.3124.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(*) of name(\"write\")",
  "rule.sast.sw.py.3124.option.taint_sink.name": "External information sink",
  "rule.sast.sw.py.3124.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of fqn(\"urllib.request.urlopen\")",
  "rule.sast.sw.py.3124.option.taint_source.name": "External information source",
  "rule.sast.sw.py.3125.description": "This security vulnerability can occur due to improper time or status management in a parallel system that supports concurrent execution or in a multi-processor environment. A parallel system (runs applications utilizing multiple processors) checks the status of resources (files, sockets, etc.) before using them. However, the resources are used at a different time from when they were checked, so the resources existed at the Time Of Check may change or disappear at the Time of Use.\nProblems such as deadlocks, as well as synchronization errors, may occur due to security vulnerability resulting from differences between the Time Of Check and Time Of Use for a single resource. In Python, a Lock object is provided to prevent multiple threads from accessing a shared resource in a multithreaded environment. The acquire() method changes the status of a resource to locked, and the release() method releases the resource in use.\nWhen a shared resource (e.g.,file) is accessed and used by multiple processes, use the synchronization statement to allow access to only one process at a time. However, it is important to only use the synchronization statement around the critical code to minimize possible effects on performance. When using Python's Lock object, it is necessary to lock a resource with lock.acquire() and release it with lock.release(), but it can also be represented simply by using the 'with' statement.",
  "rule.sast.sw.py.3125.example.0.dangerous": "Line 7: Using shared resources without checking the status creates a risk of deadlock.",
  "rule.sast.sw.py.3125.example.0.safe": "Line 7: It is secure since a lock is used to restrict simultaneous access to the shared resources.",
  "rule.sast.sw.py.3125.name": "Race Condition: Time Of Check and Time Of Use (TOCTOU)",
  "rule.sast.sw.py.3126.description": "Failing to control the number of loops of a recursive function can be insecure and lead to excessive use of resources, including memory or stacks. In most cases, a recursive function with no base case will create an infinite loop, using up resources and interfering with the normal working of the system.\nIn Python, infinite loops are avoided because there is a limit to the number of recursions. However, using setrecursionlimit() to modify the limit, be careful how many recursions are permitted.\nFor every recursive calling, you must limit the number of recursive calls, or create a limit by setting the initial value (constant). Python's recursion limit is a way to prevent stack overflows. The value of the recursion limit must not be too high.",
  "rule.sast.sw.py.3126.example.0.dangerous": "Line 3: This is insecure because a recursion is used with no conditions set for the release.",
  "rule.sast.sw.py.3126.example.0.safe": "Line 3: This is secure because the number of recursive loops is limited by setrecursionlimit().\nLine 7: This is secure because the loop will be left if the condition is met.",
  "rule.sast.sw.py.3126.name": "Infinite Loop or Recursive Function",
  "rule.sast.sw.py.3127.description": "This is a vulnerability that may occur when an error is not handled or receives insufficient treatment; as a result sensitive information (for example, the system's internal information) will be included in the error information. It is also a security vulnerability caused by the improper handling of errors. \nIf the application generates an error message that includes sensitive information (e.i. operation environment, user data), and provides it to a third party, an attacker may abuse such information. This is because attackers can identify the internal structure of the program if the name of the exception or traceback is printed when there is an error.\nIn the Django framework, user-defined errors can be handled in urls.py. Do not traceback to print an error stack instead use logger.info.",
  "rule.sast.sw.py.3127.example.0.dangerous": "Line 6-9: This is dangerous because it doesn't declare an error page.",
  "rule.sast.sw.py.3127.example.0.safe": "Line 6-9: This is secure because it generate a separate error page for the user.",
  "rule.sast.sw.py.3127.example.1.dangerous": "Line 13: This is insecure because the stack trace is exposed via the error message using traceback.",
  "rule.sast.sw.py.3127.example.1.safe": "Line 13: This is secure because it defines the error code and information separately and exposes the minimum amount of information using logger.info().",
  "rule.sast.sw.py.3127.name": "Error Message Information Exposed",
  "rule.sast.sw.py.3128.description": "If you have found a potential error but didn't mark such error as an exception, an attacker may abuse the exception to make the program operate in a way not intended by the developer.\nIf an error generated in the try block is handled by Except statement but the internal code is empty and only treated as a pass, the program may stop in an uncontrolled manner.\nYou must perform exception handling for potential errors using the control statement such as try-except.",
  "rule.sast.sw.py.3128.example.0.dangerous": "Line 16: This is insecure because it is performed without any exception handling (all exceptions are passed).",
  "rule.sast.sw.py.3128.example.0.safe": "Line 17: This is secure because the encryption key is generated from the except block if there is an error in the try block.",
  "rule.sast.sw.py.3128.name": "Cannot Properly React to Errors",
  "rule.sast.sw.py.3129.description": "This is a security vulnerability that may cause a problem for the developer if it is widely used without exception handling for potential errors.\nA problem may occur if the result value of a function is not handled properly or the conditions for exceptions are not inspected properly while running the program.\nCheck the expected result values of all functions that release a value are released and perform specific exception handling for errors found rather than general exception handling.",
  "rule.sast.sw.py.3129.example.0.dangerous": "Line 10: It is impossible to take appropriate measures to resolve errors due to broad exception handling.",
  "rule.sast.sw.py.3129.example.0.safe": "Line 9: This handles exceptions for the FileNotFoundError, potential error of open() in Line 5.\nLine 11: This handles exceptions for the OSError, potential error of readline() in Line 6.\nLine 13: This handles exceptions for the ValueError, potential error of int() in Line 7.",
  "rule.sast.sw.py.3129.name": "Improper exception handling",
  "rule.sast.sw.py.3129.option.option.description": "Would you ignore overly broad exceptions if there were other exception handling segments above?<br />Example) true",
  "rule.sast.sw.py.3129.option.option.name": "Option On / Off",
  "rule.sast.sw.py.3129.option.overly_broad_exception.description": "Write the names of overly broad exceptions.<br /> Example) Exception",
  "rule.sast.sw.py.3129.option.overly_broad_exception.name": "Overly Broad Exception",
  "rule.sast.sw.py.3130.description": "A Null Pointer is dereferenced when the following assumption is violated: Object cannot be null. If an attacker intentionally creates a Null Pointer dereference, a Null Pointer Exception can be thrown to bypass security logic or expose debugging information.\nPython uses None keywords to define empty variables instead of Null objects.\nBefore referencing a value that was entered externally or a variable with no clear value assigned, use an if or other statement to check whether the value is 'None'.",
  "rule.sast.sw.py.3130.example.0.dangerous": "Line 8: It is insecure because a filename variable without explicit value is referenced without checking whether the variable is None.",
  "rule.sast.sw.py.3130.example.0.safe": "Line 11: It is secure because a filename variable is referenced after checking if the variable is None on Line 8.",
  "rule.sast.sw.py.3130.name": "Null pointer dereference",
  "rule.sast.sw.py.3130.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) param(*) of name(\"filter\")",
  "rule.sast.sw.py.3130.option.taint_filter.name": "External information filter",
  "rule.sast.sw.py.3130.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Example) sparrow.my.filter.utils.is_safe()",
  "rule.sast.sw.py.3130.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.py.3130.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.\nExample) operand(*) of \"+\" to return",
  "rule.sast.sw.py.3130.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.py.3130.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.",
  "rule.sast.sw.py.3130.option.taint_sink.name": "External information sink",
  "rule.sast.sw.py.3130.option.taint_source.description": "Write a name and a type of the function which is a source of external information.\nExample) return of fqn(\"read\")",
  "rule.sast.sw.py.3130.option.taint_source.name": "External information source",
  "rule.sast.sw.py.3131.description": "File descriptor, heap memory, socket, etc. are finite resources of the program. If such resources were allocated and used but not released, a DoS attack may be caused by a program error.\nAfter using a function that allocates a resource, use a function that releases that resource, or, in Python, manage resources using the 'with' statement.\nIf a method that allocates resources is used, a method that releases such resources must be used later. Or, a 'with' statement that releases resources automatically must be used.",
  "rule.sast.sw.py.3131.example.0.dangerous": "Line 11: Resource is allocated using open() in Line 6. But close() may not be executed, when an exception occurs in the try statement.",
  "rule.sast.sw.py.3131.example.0.safe": "Line 5: Resource is released automatically because open() is used in the with statement.\nLine 17: Though an exception occurs for the resource allocated in Line 10, it is released because of close() in finally statement.",
  "rule.sast.sw.py.3131.name": "Improper Resource Release",
  "rule.sast.sw.py.3131.option.resource_allocation.description": "Write a function name that is at risk of resource leaks.",
  "rule.sast.sw.py.3131.option.resource_allocation.name": "Resource Leak Risk Function",
  "rule.sast.sw.py.3132.description": "Deserialization is a method used to calculate a binary file or byte stream and restore it into an object structure. Deserialization has a security vulnerability where it may cause an integrity violation, remote code execution, or DoS attack if the transmission or stream can be manipulated by an attacker in the process of delivering serialized information to the receiver via the network.\nPython supports serialization and deserialization via pickle, yaml, etc. A deserialization module may allow malicious data to be configured because it has no verification process for data tampering. Therefore, if a deserialization module is used, the data must be signed with hmac, etc. or the JSON module must be used.\nUse hash functions such as hmac and sha to verify whether the input data matches the original data before using the deserialization module. Otherwise, use a safe deserialization method like `yaml.safe_load()` or the JSON module.",
  "rule.sast.sw.py.3132.example.0.dangerous": "Line 7: Deserializing unvalidated values, which is dangerous.",
  "rule.sast.sw.py.3132.example.0.safe": "Line 13: Compare the received value with the original value and deserialize it to be safe.",
  "rule.sast.sw.py.3132.example.1.dangerous": "Line 7: It is insescure because externally received values are deserialized right away.",
  "rule.sast.sw.py.3132.example.1.safe": "Line 7: It is secure because externally received values are deserialized via safe methods.",
  "rule.sast.sw.py.3132.name": "Deserialization of Untrusted Data",
  "rule.sast.sw.py.3132.option.custom_taint_sink.name": "Functions that use external information that require hash value comparison",
  "rule.sast.sw.py.3132.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />example) filter$param(1)",
  "rule.sast.sw.py.3132.option.taint_filter.name": "External information filter",
  "rule.sast.sw.py.3132.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.py.3132.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.py.3132.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example) .$operand(*)->return",
  "rule.sast.sw.py.3132.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.py.3132.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) __sparrow_php_echo__$param(*)",
  "rule.sast.sw.py.3132.option.taint_sink.name": "External information sink",
  "rule.sast.sw.py.3132.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) $_GET$variable",
  "rule.sast.sw.py.3132.option.taint_source.name": "External information source",
  "rule.sast.sw.py.3133.description": "Codes written for debugging must be removed once development is complete. If the software is deployed with debug code, attackers may circumvent the identification process, or unintended information/control information may be exposed.\nDjango and Flask can be set in DEBUG mode globally. In DEBUG mode, any Python code can be run on the browser, and all Python errors will be displayed, reducing the risk of information exposure.\nBefore deploying a software, its debug code must be checked and deleted. For Django, it must be set to settings.py file; For Flask, `debug = False` must be set before `app_run()`.",
  "rule.sast.sw.py.3133.example.0.dangerous": "Line 4: This is insecure because debug option is set to True.",
  "rule.sast.sw.py.3133.example.0.safe": "Line 4: This is secure because debug option is set to False.",
  "rule.sast.sw.py.3133.example.1.dangerous": "Line 4: Debug option is set to True, which is dangerous.",
  "rule.sast.sw.py.3133.example.1.safe": "Line 4: This is secure because debug option is set to False.",
  "rule.sast.sw.py.3133.name": "Debug Code Not Removed",
  "rule.sast.sw.py.3133.option.debug_method.description": "Write a name of the debug method.",
  "rule.sast.sw.py.3133.option.debug_method.name": "Debug method",
  "rule.sast.sw.py.3134.description": "This is a security vulnerability where external parties can modify the array and change the properties of an object because the array reference is exposed to the outside world when an array declared as private is released via a method declared as public.\nIn Python, there is no explicit private declaration. However, most Python codes are treated as private if __(double underscore) is in front of their name.\nArrays declared as private must not be released via a method declared as public. If you need to use a public method, you must create a copy of the private array and write to release that copy.",
  "rule.sast.sw.py.3134.example.0.dangerous": "Line 9: This is insecure because the public function returns a private array without any measures.",
  "rule.sast.sw.py.3134.example.0.safe": "Line 9: This is secure because the public function creates a new object via [:] and returns it as a private array.",
  "rule.sast.sw.py.3134.name": "Private Array Released from Public Method",
  "rule.sast.sw.py.3135.description": "This is a security vulnerability where external parties can modify the array and change the properties of objects by accessing a private array from the outside, when the argument of a method declared as public is saved in an array declared as private.\nIn Python, there is no explicit private declaration. However, most Python codes are treated as private if __(double underscore) is in front of their name.\nDo not save the argument of a method declared as public to an array declared as private. If the argument must be used, create and assign a copy of the array.",
  "rule.sast.sw.py.3135.example.0.dangerous": "Line 9: The public method directly assigns untrusted external data to a private array, which is dangerous.",
  "rule.sast.sw.py.3135.example.0.safe": "Line 8: The public method uses [:] to assign the external data to a private array, which is safe.",
  "rule.sast.sw.py.3135.name": "Public Data Saved to Private Array",
  "rule.sast.sw.py.3136.description": "This vulnerability may be caused when any security function (authentication, access control, confidentiality, encryption, permission management, etc.) is implemented improperly. This includes allowing critical functions to operate without proper authentication or with improper authorization.\nUsing `SetPasswordForm()` may be insecure since it sets a new password without verifying the previous one. `PasswordChangeForm()` is safer; while it performs the same function, it sets a new password after verifying the existing password.\nIn the Django framework in Python, you must use the basic authentication log-in/log-out functions via the `django.contrib.auth` app and use tokens and session authentications provided by the Django REST Framework (DRF). ",
  "rule.sast.sw.py.3136.example.0.dangerous": "Line 6, 18: This is insecure because it uses SetPasswordForm(), which does not verify the existing password.",
  "rule.sast.sw.py.3136.example.0.safe": "Line 9, 18: PasswordChangeForm() changes the password after verification with earlier passwords, which is safe.",
  "rule.sast.sw.py.3136.name": "Allowing Critical Functions without Proper Authentication",
  "rule.sast.sw.py.3136.option.auth_by_compare.description": "Check if comparison operator is authentication",
  "rule.sast.sw.py.3136.option.auth_by_compare.name": "Authentication by comparison operator",
  "rule.sast.sw.py.3136.option.authentication_function.description": "Write the name of the authentication function<br />Example) strcmp",
  "rule.sast.sw.py.3136.option.authentication_function.name": "Authentication function",
  "rule.sast.sw.py.3136.option.critical_function.description": "Write the name of the critical function.<br />Example) login",
  "rule.sast.sw.py.3136.option.critical_function.name": "Critical function",
  "rule.sast.sw.py.3136.option.taint_propagator.name": "taint_propagator",
  "rule.sast.sw.py.3137.description": "When a password is not created using the secure password policy, the security of the user account is weakened by the vulnerability of the password.\nWhen creating a password, either use 1) a string of 8 or more characters containing two or more types of characters or 2) a string of 10 or more characters regardless of the types of characters. However, a string of 10 or more characters that is composed of only numbers may be vulnerable.\nAUTH_PASSWORD_VALIDATORS' in settings.py must not used as a default condition, instead add a custom rule that meets the conditions or modify the default rule.",
  "rule.sast.sw.py.3137.example.0.dangerous": "Line 5: The class created inherits UserCreationForm.\nLine 21: This checks the password is 9 or more digits long, but not that it uses 2 or more types of characters.",
  "rule.sast.sw.py.3137.example.0.safe": "Line 8–13: This checks the password is 8 or more digits long and composed of 2 or more types of characters.\nLine 16: This checks the password is 10 or more digits long regardless of the type of characters.",
  "rule.sast.sw.py.3137.name": "Allowing Insecure Passwords",
  "rule.sast.sw.py.3137.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) strlen$param(1)",
  "rule.sast.sw.py.3137.option.taint_filter.name": "External information filter",
  "rule.sast.sw.py.3137.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.py.3137.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.py.3137.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) \\.$operand(*)->return",
  "rule.sast.sw.py.3137.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.py.3137.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) mysql_query$param(*)",
  "rule.sast.sw.py.3137.option.taint_sink.name": "External information sink",
  "rule.sast.sw.py.3137.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of fqn(\"$_GET[\\\"password\\\"]\")",
  "rule.sast.sw.py.3137.option.taint_source.name": "External information source",
  "rule.sast.sw.py.5859.description": "Cross-site scripting (XSS) is an attack method that injects malicious code into websites. This attack typically targets application users, and may cause damage by the users to run a malicious code automatically.\nWhen using Django or Flask, the framework itself creates a response page by replacing characters that may be used in an attack with HTML entities to prevent malicious scripts from being injected into external inputs. This protects Django and Flask from XSS. However, even if the framework provides a function to protect against XSS attacks, please note that the protection may not be completely secure or invalidated by developer mistakes.\nIf any data is used to create dynamic web pages in Flask without using options such as Django's `mark_safe()`, convert the data using escape.",
  "rule.sast.sw.py.5859.example.0.dangerous": "Line 9: The XSS escape of Django is not enabled on the mark_safe function, which can lead to a cross-site script attack.",
  "rule.sast.sw.py.5859.example.0.safe": "Line 9: Don't use the mark_safe function.",
  "rule.sast.sw.py.5859.example.1.dangerous": "Line 8: The externally inputted value is used without escape(), which can lead to a cross-site script attack.",
  "rule.sast.sw.py.5859.example.1.safe": "Line 11: It is secure because the externally entered value has been replaced using escape() on Line 10.",
  "rule.sast.sw.py.5859.name": "Cross-Site Scripting (XSS)",
  "rule.sast.sw.py.5859.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />example) filter$param(1)",
  "rule.sast.sw.py.5859.option.taint_filter.name": "External information filter",
  "rule.sast.sw.py.5859.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.py.5859.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.py.5859.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example) .$operand(*)->return",
  "rule.sast.sw.py.5859.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.py.5859.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />example) __sparrow_php_echo__$param(*)",
  "rule.sast.sw.py.5859.option.taint_sink.name": "External information sink",
  "rule.sast.sw.py.5859.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) $_GET$variable",
  "rule.sast.sw.py.5859.option.taint_source.name": "External information source",
  "rule.sast.sw.py.7247.description": "CORS(Cross-Origin Resource Sharing) is a security policy that controls access to resources from other domains. However, when the CORS policy allows a wildcard character (*) or null, attackers can exploit the policy to implement attacks such as XSS, CSRF, etc.\n\nThe wildcard character (*) allows all requests from all domains including untrusted origins.\n\nA browser specifies the null on Origin header for the requests from a file protocol (file://), sandboxed iframe, or data URI environment. When the application allows the character, the resources can be accessed by environments from unverified or untrusted sources.\nDo not specify the wildcard character (*) or null for the CORS policy, clear out the trusted origins.\n\nYou can use the flask-cors package on Flask to set the CORS policy. If the setting is left blank, it defaults to the wildcard (*). Therefore, explicitly define the trusted sources for the origins.",
  "rule.sast.sw.py.7247.example.0.dangerous": "Line 5: The wildcard (*) is set to the CORS, which might expose the code to attacks such as XSS or CSRF.",
  "rule.sast.sw.py.7247.example.0.safe": "Line 5: The CORS allows trusted domains only, reducing risks against the XSS or CSRF.",
  "rule.sast.sw.py.7247.name": "Improper CORS settings in Flask",
  "rule.sast.sw.py.7248.description": "The SMTP(Simple Mail Transfer Protocol) is a communication protocol used to send and receive emails. The SMTP with disabled SSL/TLS transmits data in plain text. Therefore, attackers might steal the email by packet sniffing, or attempt spoofing that disguises their identity as sender.\nThe SMTP 25 default port transmits data in plain text. Therefore, the port needs to be changed into the STARTTLS 587 port or SMTPS 465 port.\n\nYou can use the flask-mail package on Flask to set the SMTP port. The following settings are required for encryption.\n\nIf you set the MAIL_USE_TLS setting to true, the STARTTLS 587 port will be enabled. On the other hands, if you set the MAIL_USE_SSL to true, the SMTPS 465 port will be enabled. Yet, the MAIL_USE_TLS and the MAIL_USE_SSL settings use different encryption, so you cannot set the settings enabled together.",
  "rule.sast.sw.py.7248.example.0.dangerous": "Line 6: The SMTP 25 default port transmits data in plain text. Attackers might exploit the data for sniffing.",
  "rule.sast.sw.py.7248.example.0.safe": "Line 6: The SMTP 587 port sends data with the STARTTLS encryption, which is safe. Yet, you need to set the MAIL_USE_TLS to true to activate the TLS encryption.",
  "rule.sast.sw.py.7248.name": "Improper SMTP Settings (SSL/TLS Settings) in Flask",
  "rule.sast.sw.py.7249.description": "In Flask, you can use MAX_CONTENT_LENGTH setting to limit the file size to be uploaded. However, if the setting is set to None, the file size is not limited and attackers can upload excessively large amount of file. This can consume memory and capacity of the server and lead to the DoS (Denial of Service) attack.\nMake sure to properly limit the file size to be uploaded to the server, and configure the code to return an error for the excessive requests. Use the MAX_CONTENT_LENGTH setting to limit the file size to be uploaded in Flask.",
  "rule.sast.sw.py.7249.example.0.dangerous": "Line 4: The file size is not limited, so this can be exposed to the DoS attacks.",
  "rule.sast.sw.py.7249.example.0.safe": "Line 4: Proper limit on the file size to be uploaded reduces risks against DoS attacks.",
  "rule.sast.sw.py.7249.name": "Improper limit on file size in Flask",
  "rule.sast.sw.py.7250.description": "From the Flask 3.1.0 version, the TRUSTED_HOSTS setting can be set to specify trusted hosts for the server. However, if the setting is set to None, the server will trust all host headers. Therefore, attackers might implement the Host header injection attacks.\n\nMake sure that the server does not trust all host headers, and validate the host header values. In Flask, the TRUSTED_HOSTS setting can be set to clear out trusted hosts.",
  "rule.sast.sw.py.7250.example.0.dangerous": "Line 4: The setting set to trust all host headers, this might be exposed to the host header injection.",
  "rule.sast.sw.py.7250.example.0.safe": "Line 4: This clearly specifies the trusted hosts, and reduces host header injection attacks.",
  "rule.sast.sw.py.7250.name": "Improper host allowed in Flask",
  "rule.sast.sw.py.7251.description": "CORS(Cross-Origin Resource Sharing) is a security policy that controls access to resources from other domains. However, when the CORS policy allows a wildcard character (*) or null, attackers can exploit the policy to implement attacks such as XSS, CSRF, etc.\n\nThe wildcard character (*) allows all requests from all domains including untrusted origins.\n\nA browser specifies the null on Origin header for the requests from a file protocol (file://), sandboxed iframe, or data URI environment. When the application allows the character, the resources can be accessed by environments from unverified or untrusted sources.\nYou can use the django-cors-headers package on Django to set the CORS policy. Do not use CORS_ALLOW_ALL_ORIGINS=True that allows all domains or CORS_ALLOWED_ORIGINS=[`null`] that allows unknown origins. Explicitly define the trusted sources for the origins.\n",
  "rule.sast.sw.py.7251.example.0.dangerous": "Line 12: The CORS allows requests from all domains, which might expose the code to attacks such as XSS or CSRF.",
  "rule.sast.sw.py.7251.example.0.safe": "Line 12: The CORS allows trusted domains only, reducing risks against the XSS or CSRF.",
  "rule.sast.sw.py.7251.name": "Improper CORS settings in Django",
  "rule.sast.sw.py.7252.description": "The SMTP(Simple Mail Transfer Protocol) is a communication protocol used to send and receive emails. The SMTP with disabled SSL/TLS transmits data in plain text. Therefore, attackers might steal the email by packet sniffing, or attempt spoofing that disguises their identity as sender.\nThe SMTP 25 default port transmits data in plain text. Therefore, the port needs to be changed into the STARTTLS 587 port or SMTPS 465 port.\n\nYou can use the flask-mail package on Flask to set the SMTP port. The following settings are required for encryption.\n\nIn Django, you can set the SMPT through an embedded email backend. Start to add email related settings on the file, settings.py. If you set the EMAIL_USE_TLS to true, the STARTTLS 587 port will be enabled. On the other hands, if you set the EMAIL_USE_SSL to true, the SMPTS 465 port will be enabled. Yet, the MAIL_USE_TLS and the MAIL_USE_SSL settings use different encryption, so you cannot set the settings enabled together.",
  "rule.sast.sw.py.7252.example.0.dangerous": "Line 4: The SMTP 25 default port transmits data in plain text. Attackers might exploit the data for sniffing.",
  "rule.sast.sw.py.7252.example.0.safe": "Line 4: The SMTP 587 port sends data with the STARTTLS encryption, which is safe. Yet, you need to set the MAIL_USE_TLS to true to activate the TLS encryption.",
  "rule.sast.sw.py.7252.name": "Improper SMTP Settings (SSL/TLS Settings) in Django",
  "rule.sast.sw.py.7253.description": "In Django, the ALLOWED_HOSTS setting specifies trusted hosts from the server. However, if the setting is set to [`*`] in settings.py, its server will trust all host headers. Then, attackers might carry out the host header injection attacks.\nThe host headers need to be validated, not to be trusted without condition. In Django, use the ALLOWED_HOSTS setting to clearly specify a list of trusted host.",
  "rule.sast.sw.py.7253.example.0.dangerous": "Line 2: The setting allows the server to trust all host headers, which can be exposed to the host header injection attacks.",
  "rule.sast.sw.py.7253.example.0.safe": "Line 2: Specifying the trusted hosts reduces risks of the host header injection attacks. ",
  "rule.sast.sw.py.7253.name": "Improper host allowed in Django",
  "rule.sast.sw.py.7254.description": "In Django, the DATA_UPLOAD_MAX_MEMORY_SIZE setting can limit the size of request body. The setting defaults to 2.5MB. However, if the setting is set to None in the settings.py, the limit for the size of request body will be lifted. Therefore, attackers might send excessively large amount of requests, which consumes too much memory of the server and leads to the DoS (Denial of Service) attacks.\nTo prevent the DoS attacks, make sure to properly limit the size of request body, and configure the code to return an error for the excessive requests.",
  "rule.sast.sw.py.7254.example.0.dangerous": "Line 2: The size of request body is not limited, so this can be exposed to the DoS attacks.",
  "rule.sast.sw.py.7254.example.0.safe": "Line 4: Proper limit on the size of request body reduces risks against DoS attacks.",
  "rule.sast.sw.py.7254.name": "Improper limit on request body in Django",
  "rule.sast.sw.py.7255.description": "In Django, the SECURE_CONTENT_TYPE_NOSNIFF setting uses SecurityMiddleware to add the X-Content-Type-Options header. The header enforces its browser to trust the Content-Type value from the response, and prevents it from MIME type sniffing.\n\nHowever, the setting is set to false in the settings.py, X-Content-Type-Options header is not added in Django. Therefore, the browser guesses the MIME type based on contents of resource, and the contents can be interpreted in an unintended way.\n\nThe MIME type sniffing indicates that the browser ignores the Content-Type header of the response, and interprets the contents of the received resource into the MIME type. The attackers can exploit the MIME type sniffing to induce the browser misinterpreting the content as HTML or JavaScript, leading to attacks such as XSS or Drive-By Download.\nTo prevent the MIME type sniffing, make sure to set the X-Content-Type-Options header. In Django, the SecurityMiddleware controls the SECURE_CONTENT_TYPE_NOSNIFF setting to be set to true, and adds the X-Content-Type-Options header. If the SECURE_CONTENT_TYPE_NOSNIFF setting is explicitly set to false, ensure to change it to true.",
  "rule.sast.sw.py.7255.example.0.dangerous": "Line 7: If the SECURE_CONTENT_TYPE_NOSNIFF setting is set to false, the MIME type sniffing might occur due to the missing X-Content-Type-Options header.",
  "rule.sast.sw.py.7255.example.0.safe": "Line 3: In Django, SecurityMiddleware adds the X-Content-Type-Options header, and that prevents the MIME type sniffing from occurring.",
  "rule.sast.sw.py.7255.name": "Improper X-Content-Type settings in Django",
  "rule.sast.sw.py.7256.description": "When the web application is not enforced to use HTTPS, or redirect HTTP requests to HTTPS, data between its server and client will be sent in plain text. This allows attackers to sniff sensitive data, or attempt SSL stripping attacks that downgrade the HTTPS connection to HTTP. \nTo prevent the web app against attacks such as sniffing or SSL stripping, the HTTP needs to be used in its operating environment. So, use the HSTS (HTTP Strict-Transport-Security) header, and set all HTTP request to redirect to HTTPS. \n\nIn Django, SecurityMiddleware specifies the HSTS header and set the HTTPS redirection including the following options.\n\nSECURE_HSTS_SECONDS: Adds Strict-Transport-Security header that allows HTTPS connections only on the browser. Setting 0 or greater integer enables the header.\n\nSECURE_HSTS_INCLUDE_SUBDOMAINS: Adds HSTS policy to not only current domain but also its sub-domains as well. Setting this to true enforces HTTPS connection in the sub-domains.\n\nSECURE_SSL_REDIRECT: Redirects all HTTP requests to HTTPS. Setting this to true enables the header.",
  "rule.sast.sw.py.7256.example.0.dangerous": "Line 7: SECURE_HSTS_SECONDS = 0 setting disables the Strict-Transport-Security header, and does not enforce HTTPS: sensitive data might be exposed in plain text.",
  "rule.sast.sw.py.7256.example.0.safe": "Line 7: SECURE_HSTS_SECONDS = 31536000 setting enables the Strict-Transport-Security header, and enforce HTTPS for 1 year: reducing risks of exposing sensitive data in plain text.",
  "rule.sast.sw.py.7256.name": "Improper HTTPS settings in Django",
  "rule.sast.sw.py.7257.description": "In Django, the SECURE_REFERRER_POLICY setting uses SecurityMiddleware to add the Referrer-Policy header. The header limits information included to the Referrer header and prevents sensitive data from exposure.\n\nHowever, if the Referrer-Policy header is set to unsafe-url or no-referrer-when-downgrade, a whole URL will be sent to the Referer header. So, the URL with sensitive data such as session token or authentication data can be exposed while a request is sent to other domains.\nBe aware not to include sensitive data such as session token or authentication data in the URL. Also, change an improper value to a safe one in the Referrer-Policy header.\n\nRecommended values for the Referrer-Policy header includes no-referrer, same-origin, strict-origin, strict-origin-when-cross-origin, etc.\n\nIn Django, SecurityMiddleware adds the Referrer-Policy header with default of same-origin.",
  "rule.sast.sw.py.7257.example.0.dangerous": "Line 7: The unsafe-url setting always sends the whole URL under any level of protocol security, the sensitive information might be exposed through Referer header.",
  "rule.sast.sw.py.7257.example.0.safe": "Line 7: The strict-origin setting sends Origin info under the same level of protocol security, this will prevent the sensitive information from exposing through Referer header.",
  "rule.sast.sw.py.7257.name": "Improper Referrer-Policy setting in Django",
  "rule.sast.sw.py.7258.description": "In Django, the SECURE_CROSS_ORIGIN_OPENER_POLICY setting uses SecurityMiddleware to add the Cross-Origin-Opener-Policy header. The header decides to keep or separate the BCG (Browsing Context Group) while opening a new window or document with window.open() or link click.\n\nHowever, the setting is set to None or `unsafe-none` in the settings.py, the browser allows the new page to share the same BCG with original page. Therefore, attackers can use window.name to attempt XS-leak, or window.opener to manipulate the original page by tabnabbing.\nTo prevent the XS-leak or tabnabbing attacks, set the Cross-Origin-Opener-Policy header to `same-origin`. This allows documents from the original source to share the BCG, and isolate documents other sources. Therefore, pages opened from other sources sets the window.opener to null: original pages cannot be manipulated.\n\nFurthermore, always use `_blank` attribute with `noopener noreferrer` to open a new window from HTML or JavaScript. This prevents the newly opened page from accessing the original page, and the browser from sending the Referer header.\n\nIn Django, SecurityMiddleware adds the Cross-Origin-Opener-Policy header with default of `same-origin`.\n\nIf the SECURE_CROSS_ORIGIN_OPENER_POLICY is set to None or `unsafe-none` in the settings.py, change it to `same-origin`.",
  "rule.sast.sw.py.7258.example.0.dangerous": "Line 7: The setting disables Cross-Origin-Opener-Policy header, which might be vulnerable to the XS-leak or tabnabbing attacks.",
  "rule.sast.sw.py.7258.example.0.safe": "Line 3: In Django, SecurityMiddleware adds the Cross-Origin-Opener-Policy header with default of same-origin. This can prevent the XS-leak or tabnabbing attacks.",
  "rule.sast.sw.py.7258.name": "Improper Cross-Origin-Opener-Policy settings in Django",
  "rule.sast.sw.py.7259.description": "CSP(Content Security Policy) header sets a security policy that prevents attacks including XSS, data injection, clickjacking, etc. The policy is configured with various settings that directly affect security level of your web application.\n\nHowever, improper settings in the CSP can lead to vulnerabilities rather than enhance its security level. If the CSP header includes a wildcard (*), `unsafe-inline`, `unsafe-eval`, data:, blob:, http:, or ws:, attackers can exploit it to perform numerous attacks.\n\nThe wildcard (*) allows all sources, so malicious resources can be easily loaded. The `unsafe-inline` allows inline scripts and styles that are vulnerable to the XSS attacks. The `unsafe-eval` allows dynamic code such as eval() that is vulnerable to the code injection or XSS attacks. The data: or blob: allows inline or large data that can be exploited by the XSS or file injection. The http: or ws: allows to send unencrypted data that is vulnerable to MitM (Man-in-the-Middle) attacks and has risks to be stolen sensitive information.\nIn Django, django-csp package controls the CSP policy. To enhance the security, replace improper settings into safe values. The safe values are shown in the folllowings.\n\n`none`: Blocks and prevents loading whole resources. For example, object-src `none` setting blocks all object resources not to be loaded.\n\n`self`: Allows resources from the original domain only. For example, script-src `self` setting will run scripts comes from the original domain. Yet, be careful when a web application uses JSONP (JSON with Padding). Attackers might exploit the allowed domains with vulnerable JSONP callback to inject malicious scripts. To prevent the attacks, add CORS(Cross-Origin Resource Sharing) policy and allow trusted sources to request data.\n\n`nonce`: Uses unique value of nonce to allow inline scripts or styles. For example, script-src `nonce-RANDOM_VALUE` setting will run scripts including the exact value of the nonce. \n\n`sha256-hash`: Uses hash such as sha256, sha384, sha512, etc., to allow inline scripts or styles. For example, setting script-src `sha256-HASH` executes resources while the exact hash value of inline script or style is matched.",
  "rule.sast.sw.py.7259.example.0.dangerous": "Line 11: The script-src is set to UNSAFE_EVAL in the CSP, allowing dynamic code to execute. This might be vulnerable to the code injection or XSS attacks.",
  "rule.sast.sw.py.7259.example.0.safe": "Line 11: The script-src is set to SELF in the CSP, allowing scripts from the same origin to be executed. This can reduce risks of the code injection or XSS attacks by blocking scripts from other sources.",
  "rule.sast.sw.py.7259.name": "Improper CSP settings in Django",
  "rule.sast.sw.py.7260.description": "In Django, Middleware is a low-level plug-in that can globally change requests and responses. For security reason, Django offers multiple middleware including the following items.\n\nSecurityMiddleware adds security concerned headers to enforce HTTPS, prevent MIME sniffing, or set Referrer-Policy or Cross-Origin-Opener-Policy.\n\nCsrfViewMiddleware checks CSRF (Cross-Site Request Forgery) tokens from POST requests to prevent the CSRF attacks.\n\nXFrameOptionsMiddleware adds X-Frame-Options header to prevent clickjacking attacks.\n\nOne of those headers gets missing, the operating web application might be exposed to the security vulnerability.\nIn Django, it is recommended to specify SecurityMiddleware, CsrfViewMiddleware, and XFrameOptionsMiddleware for the operating application for security.",
  "rule.sast.sw.py.7260.example.0.dangerous": "Line 3: For security reason, a part of Middleware gets disabled: this might be vulnerable to security wholes including MIME sniffing, or XSS.",
  "rule.sast.sw.py.7260.example.0.safe": "Line 3-5: For security reason, a part of Middleware gets enabled: this can block attacks such as MIME sniffing, XSS, CSRF, clickjacking, etc.",
  "rule.sast.sw.py.7260.name": "Missing major security middleware in Django",
  "rule.sast.sw.py.7261.description": "Django basically uses PBKDF2, a KDF (Key Derivation Function) that is recommended by NIST (National Institute of Standards and Technology) to hash and mange passwords. The hash algorithm can be set through PASSWORD_HASHERS option in the settings.py file, the specified algorithm will be used to hash the passwords with make_password() function.\n\nHowever, both MD5PasswordHasher or PBKDF2SHA1PasswordHasher, that are featured in Django, uses MD5 and SHA-1. The MD5 and SHA-1 are known as vulnerable hash algorithms, which might allows attackers to perform brute-force attack or collision attack and easily steal the passwords.\n\nThis checker scans the PASSWORD_HASHERS option in the settings.py file. The file path can be specified in its target file path option.\nDo not use the vulnerable hash algorithms such as MD5 or SHA-1, instead, use validated strong hash algorithms.\n\nThe PBKDF2 is a safe KDF recommended by NIST, but its algorithm, SHA-1, has known vulnerabilities and is not safe anymore.\n\nTherefore, in Django, it is recommended to use the strong hash algorithms such as PBKDF2 + SHA-256, Bcrypt, Scrypt, Argon2 rather than PBKDF2SHA1PasswordHasher. Django basically uses the PBKDF2 + SHA-256(PBKDF2PasswordHasher), and with even higher security standards, you can choose Argon2PasswordHasher or BCryptSHA256PasswordHasher.",
  "rule.sast.sw.py.7261.example.0.dangerous": "Line 3: As MD5PasswordHasher supports the MD5, a vulnerable hash algorithm, passwords can be easily compromised through brute-force attacks.",
  "rule.sast.sw.py.7261.example.0.safe": "Line 3: As PBKDF2PasswordHasher supports the PBKDF2 + SHA256, a secure hash algorithm, passwords cannot be easily compromised through brute-force attacks.",
  "rule.sast.sw.py.7261.name": "Improper setting of hash algorithm in Django",
  "rule.sast.sw.py.7294.description": "Hardcoded sensitive information used for internal authentication or external component communication allows attackers to steal it by sniffing, analyzing source code, or reverse engineering.\nThe rule provides a whitelist option to specify the formats of the the sensitive information.\nUse the sensitive information with environment variables, or archive encrypted information within setting file or database. Also, it is recommended to use a secret management system such as the AWS Secrets Manager or the HashiCorp Vault.",
  "rule.sast.sw.py.7294.example.0.dangerous": "Line 1: Sensitive information is hardcoded within the source code.",
  "rule.sast.sw.py.7294.example.0.safe": "Line 1: Do not include sensitive information within the source code.",
  "rule.sast.sw.py.7294.name": "Hardcoded sensitive information",
  "rule.sast.sw.py.7304.description": "Django basically uses PBKDF2, a KDF (Key Derivation Function) that is recommended by NIST (National Institute of Standards and Technology) to hash and mange passwords. The hash algorithm can be set through PASSWORD_HASHERS option in the settings.py file, the specified algorithm will be used to hash the passwords with make_password() function.\n\nHowever, both MD5PasswordHasher or PBKDF2SHA1PasswordHasher, that are featured in Django, uses MD5 and SHA-1. The MD5 and SHA-1 are known as vulnerable hash algorithms, which might allows attackers to perform brute-force attack or collision attack and easily steal the passwords.\nDo not use the vulnerable hash algorithms such as MD5 or SHA-1, instead, use validated strong hash algorithms.\n\nThe PBKDF2 is a safe KDF recommended by NIST, but its algorithm, SHA-1, has known vulnerabilities and is not safe anymore.\n\nTherefore, in Django, it is recommended to use the strong hash algorithms such as PBKDF2 + SHA-256, Bcrypt, Scrypt, Argon2 rather than PBKDF2SHA1PasswordHasher. Django basically uses the PBKDF2 + SHA-256(PBKDF2PasswordHasher), and with even higher security standards, you can choose Argon2PasswordHasher or BCryptSHA256PasswordHasher.",
  "rule.sast.sw.py.7304.example.0.dangerous": "Line 5: With the MD5, a vulnerable hash algorithm, passwords can be easily compromised through brute-force attacks.",
  "rule.sast.sw.py.7304.example.0.safe": "Line 5: With the PBKDF2 + SHA256, a secure hash algorithm, passwords cannot be easily compromised through brute-force attacks.",
  "rule.sast.sw.py.7304.name": "Use of improper hash algorithm in Django",
  "rule.sast.sw.ruby.7504.description": "Basic authentication schemes that embed usernames and passwords within URLs can lead to serious security issues. This method exposes credentials in plain text in the URL, which can lead to information leakage from log files or browser history. It's also vulnerable to man-in-the-middle attacks, increasing the likelihood that malicious users can access user data or launch phishing attacks.\nYou should avoid embedding usernames and passwords in URLs and use more secure authentication methods, such as OAuth or managing credentials through environment variables.",
  "rule.sast.sw.ruby.7504.example.0.dangerous": "Line 5: Hardcoding basic authentication credentials, including the username and password, is risky.",
  "rule.sast.sw.ruby.7504.example.0.safe": "Line 5: Secure basic authentication information, including the username and password, using the .env file.",
  "rule.sast.sw.ruby.7504.name": "Hardcoded Credential",
  "rule.sast.sw.ruby.7505.description": "Email addresses embedded within source code can be targets for spamming, phishing attacks, and can even provide hackers with information about internal data management if the personal email of an administrator or other sensitive person is accidentally exposed.\nTake care to ensure that email addresses are not hardcoded within your code, and if necessary, implement them so that they can be loaded dynamically via environment variables or configuration files.",
  "rule.sast.sw.ruby.7505.example.0.dangerous": "Line 3: Hardcoding email information is risky.",
  "rule.sast.sw.ruby.7505.example.0.safe": "Line 3: It is secure to use email information by utilizing the .env file.",
  "rule.sast.sw.ruby.7505.name": "Hard-coded email addresses",
  "rule.sast.sw.ruby.7506.description": "IP addresses embedded in source code can be the source of a variety of security threats. Exposed IP addresses can give attackers hints about the structure of your network and make you a target for distributed denial-of-service (DDoS) attacks, sniffing, or more subtle attacks.\nBe careful not to hardcode IP addresses in your source code, and if necessary, implement them to be loaded dynamically via environment variables or configuration files.",
  "rule.sast.sw.ruby.7506.example.0.dangerous": "Line 3: Hardcoding IP information is risky.",
  "rule.sast.sw.ruby.7506.example.0.safe": "Line 3: It is safe to use the IP value by utilizing the .env file.",
  "rule.sast.sw.ruby.7506.name": "Hardcoded IP addresses",
  "rule.sast.sw.ruby.7507.description": "Including hardcoded API keys within your source code is a big security mistake because it exposes that information to the outside world when the source code is made public, increasing the risk of unauthorized access. For example, if this information is found in a public repository or collaborative codebase, a malicious user could hijack your system or gain unauthorized access to your data.\nStore your API keys securely, such as in an environment variable or an encrypted configuration file, so that you can access them when you need them.",
  "rule.sast.sw.ruby.7507.example.0.dangerous": "Line 3: There is a hardcoded API key, which poses a risk.",
  "rule.sast.sw.ruby.7507.example.0.safe": "Line 3: Safely manage API keys using the .env file.",
  "rule.sast.sw.ruby.7507.name": "Hardcoded API keys",
  "rule.sast.sw.ruby.7508.description": "Basic authentication schemes that embed usernames and passwords within URLs can lead to serious security issues. This method exposes credentials in plain text in the URL, which can lead to information leakage from log files or browser history. It's also vulnerable to man-in-the-middle attacks, increasing the likelihood that malicious users can access user data or launch phishing attacks.\nYou should avoid embedding usernames and passwords in URLs and use more secure authentication methods, such as OAuth or managing credentials through environment variables.",
  "rule.sast.sw.ruby.7508.example.0.dangerous": "Line 1, 4: It is risky because basic authentication credentials containing the username and password exist within the comment.",
  "rule.sast.sw.ruby.7508.example.0.safe": "Line 1, 4: There are no basic authentication credentials containing the username and password within the comment, so it is safe.",
  "rule.sast.sw.ruby.7508.name": "Credentials in comments",
  "rule.sast.sw.ruby.7509.description": "Email addresses included in comments can be targets for spamming, phishing attacks, and can even provide hackers with information about internal data management if the personal emails of administrators or other important people are accidentally exposed.\nBe careful not to hardcode email addresses into comments, and if necessary, implement them so that they can be loaded dynamically via environment variables or configuration files.",
  "rule.sast.sw.ruby.7509.example.0.dangerous": "Line 1, 4: It is risky because email information exists within the comment.",
  "rule.sast.sw.ruby.7509.example.0.safe": "Line 1, 4: There is no email information in the comment, so it is safe.",
  "rule.sast.sw.ruby.7509.name": "Email addresses in comments",
  "rule.sast.sw.ruby.7510.description": "IP addresses contained in comments can be the source of a variety of security threats. Exposed IP addresses can give attackers hints about the structure of your network and make you a target for distributed denial-of-service (DDoS) attacks, sniffing, or more subtle attacks.\nBe careful not to hardcode IP addresses in comments, and if necessary, implement them to be loaded dynamically via environment variables or configuration files.",
  "rule.sast.sw.ruby.7510.example.0.dangerous": "Line 1, 4: It is risky because IP information exists within the comment.",
  "rule.sast.sw.ruby.7510.example.0.safe": "Line 1, 4: There is no IP information in the comment, so it is safe.",
  "rule.sast.sw.ruby.7510.name": "IP addresses in comments",
  "rule.sast.sw.ruby.7511.description": "Including hard-coded API keys within comments is a big security mistake because it exposes that information to the outside world when the source code is released, increasing the risk of unauthorized access. For example, if this information is found in a public repository or collaborative codebase, a malicious user could hijack your system or gain unauthorized access to your data.\nStore your API keys securely, such as in an environment variable or an encrypted configuration file, so that you can access them when you need them.",
  "rule.sast.sw.ruby.7511.example.0.dangerous": "Line 1, 4: It is dangerous because an API key exists within the comment.",
  "rule.sast.sw.ruby.7511.example.0.safe": "Line 1, 4: The API Key value does not exist within the comment, so it is safe.",
  "rule.sast.sw.ruby.7511.name": "API keys in comments",
  "rule.sast.sw.ruby.7512.description": "When developing web applications, it is important to manage cookie settings correctly. Incorrect cookie settings can lead to security vulnerabilities such as session hijacking, XSS, and CSRF. To prevent this, the security cookie flags Secure, HttpOnly, and SameSite should be set appropriately.\n\n1. Secure: Configures the cookie to be transmitted only over the HTTPS protocol. This prevents exposure of cookie information due to man-in-the-middle attacks.\n2. HttpOnly: Configures the cookie to be inaccessible via JavaScript. This protects the cookie from XSS attacks.\n3. SameSite: Restricts the sending of cookies in cross-site requests. This prevents CSRF attacks.  \nThe Secure and HttpOnly flags should always be set to true, and it is safe to use SameSite set to Lax or higher.",
  "rule.sast.sw.ruby.7512.example.0.dangerous": "Line 2: The security cookie flag is not declared, exposing multiple vulnerabilities.",
  "rule.sast.sw.ruby.7512.example.0.safe": "Line 2-8: The Cookie values for Secure, HttpOnly, and SameSite are set securely.",
  "rule.sast.sw.ruby.7512.name": "Improper Cookie Flag Setting",
  "rule.sast.sw.ruby.7513.description": "The debugging code is used for logging in development process. However, they can cause lower performance or leak sensitive information on logs during production stage. Therefore, the debugging code need to be removed.\nReview and remove all debugging code from the code in preparation of the production stage.",
  "rule.sast.sw.ruby.7513.example.0.dangerous": "Line 3: The debug code has not been removed, so it is risky.",
  "rule.sast.sw.ruby.7513.example.0.safe": "Line 3: The debug code is commented out and therefore safe.",
  "rule.sast.sw.ruby.7513.name": "Debug Code Not Removed",
  "rule.sast.sw.ruby.7514.description": "Cryptographically insecure random number generators can produce predictable values, which can lead to security vulnerabilities.\nMost modern languages provide secure randomization methods. It is usually easy to replace a random number that was not created with security in mind by using a more secure random number method.",
  "rule.sast.sw.ruby.7514.example.0.dangerous": "Line 2: Using predictable random number generation functions is risky.",
  "rule.sast.sw.ruby.7514.example.0.safe": "Line 2: It is secure to use the unpredictable random number generator function `SecureRandom`.",
  "rule.sast.sw.ruby.7514.name": "Vulnerable Random Number",
  "rule.sast.sw.ruby.7515.description": "Using an interactive debugger **intentionally pauses** code execution at a specific point during application runtime, and allows inspection of variables, objects, methods, etc., in the current execution context through an interactive console (REPL) or execution of arbitrary code.\n\nIf the debugger code is invoked while the Rails server is running, the thread or process handling the request will be halted, and a prompt indicating input waiting status will be displayed in the server console.\n\nIf such code remains in a production environment, a single external request could halt server execution, and in an environment with console access, there is a risk of internal information exposure or arbitrary code execution (RCE). All debug statements should be thoroughly reviewed and removed when preparing for a production environment.",
  "rule.sast.sw.ruby.7515.example.0.dangerous": "Line 3: It is dangerous because the interactive debugger has not been removed.",
  "rule.sast.sw.ruby.7515.example.0.safe": "Line 3: The interactive debugger is commented out and therefore safe.",
  "rule.sast.sw.ruby.7515.name": "Use of interactive debugger",
  "rule.sast.sw.ruby.7516.description": "A hash function is a one-way function that maps data of varying lengths to fixed-length arbitrary data. Since the same data will always produce the same output, it is used for storing user passwords, among other things. However, hash functions like MD5 and SHA1 are very fast and simple to compute, which makes them appear performant, but this also makes them vulnerable to brute-force attacks by hackers. Furthermore, using hash functions on simple data can be dangerous because they are stored and shared in rainbow tables.  \nTo overcome the shortcomings of MD5 and SHA1, various functions are available. SHA256 or relatively newer secure algorithms like Bcrypt, Blake2, Argon2, PBKDF2, and Scrypt can be easily used as alternatives.",
  "rule.sast.sw.ruby.7516.example.0.dangerous": "Line 3: It is risky to use a hash function vulnerable to random assignment attacks.",
  "rule.sast.sw.ruby.7516.example.0.safe": "Line 3: It is secure because it uses a relatively modern secure hash function.",
  "rule.sast.sw.ruby.7516.name": "Weak Hash",
  "rule.sast.sw.ruby.7517.description": "Weak encryption algorithms can give attackers the opportunity to decrypt data. Algorithms that were once thought to take billions of years to crack can now be cracked in days or even hours. Examples include algorithms like RC2, DES, and Blowfish.\nDeveloping your own encryption algorithms is risky, and it's better to use standardized algorithms that have already been proven in academia and industry. Use secure encryption algorithms like AES, RSA, ECC, and others instead of those known to be weak.",
  "rule.sast.sw.ruby.7517.example.0.dangerous": "Line 6: Used a vulnerable DES algorithm.",
  "rule.sast.sw.ruby.7517.example.0.safe": "Line 6: Use secure algorithms like AES instead of vulnerable algorithms.",
  "rule.sast.sw.ruby.7517.name": "Weak cryptographic algorithm",
  "rule.sast.sw.ruby.7518.description": "RSA encryption is one of the public key encryption mechanism: the longer key makes the encryption stronger. In general, a key length of 2048 bits is considered as appropriate. Because it is practically impossible to decrypt the encryption without the key.\nIt is recommended to use a 2048 bits or longer key for the RSA. Although 3072 or 4096 bits key enhances security on the encryption, 2048 bits key is more recommendable than others. Since computing resources get increased on encryption and decryption of the longer key.\n",
  "rule.sast.sw.ruby.7518.example.0.dangerous": "Line 5: The RSA key length is less than 2048 bits, which is risky.",
  "rule.sast.sw.ruby.7518.example.0.safe": "Line 5: The RSA key length is set to 2048 bits or more, which is secure.",
  "rule.sast.sw.ruby.7518.name": "Insufficient RSA Encryption Key Length",
  "rule.sast.sw.sql.897.description": "The SQL injection in iBatis checker finds an SQL statement generated by an unvalidated external input from client to application.\nIf an unvalidated external input is used for a sting of query commands, attackers can feed an unexpected string to twist a query's meaning or alter its structure, thereby executing an arbitrary database command. To ensure secure coding, change query strings in `$..$` to `#..#` in query command definition for writing iBATIS data map files.\nThis vulnerability lets attackers access or manipulate information in the database.\nPass a string as an argument by enclosing with `#..#` instead of `$..$` to prevent its structure from being changed.",
  "rule.sast.sw.sql.897.example.0.dangerous": "Line 5: A string of $name$ is connected to generate a query. If OR 'x'='x' is entered in name, all elements in the table get removed.",
  "rule.sast.sw.sql.897.example.0.safe": "Line 5: Change a form of the string into #name# to prevent its query structure from being changed.",
  "rule.sast.sw.sql.897.name": "SQL injection in iBatis",
  "rule.sast.sw.sql.898.description": "The SQL injection in myBatis checker finds an SQL statement generated by an unvalidated external input from client to application.\nIf an unvalidated external input is used for a sting of query commands, attackers can feed an unexpected string to twist a query's meaning or alter its structure, thereby executing an arbitrary database command. To ensure secure coding, change query strings in '${..}' to '#{..}' in query command definition for writing MyBatis data map files.\nThis vulnerability lets attackers access or manipulate information in the database.\nPass a string as an argument by enclosing with '#' instead of '$' to prevent its structure from being changed.",
  "rule.sast.sw.sql.898.example.0.dangerous": "Line 5: A string of ${name} is connected to generate a query. If OR 'x'='x' is entered in name, all elements in the table get removed.",
  "rule.sast.sw.sql.898.example.0.safe": "Line 5: Change a form of the string into #{name} to prevent its query structure from being changed.",
  "rule.sast.sw.sql.898.name": "SQL injection in myBatis",
  "rule.sast.sw.swift.2275.description": "The Hardcoded Password checker finds hardcoded passwords.\nThe checker regards hardcoded passwords insecure. Passwords are recommended to be encrypted and stored in a separate file.\nIf program code contains a hardcoded password that is used for internal authentication or for communications with an external component, it can be exploited to leak administrator information.\nDo not hardcode passwords, but read them from an external source.",
  "rule.sast.sw.swift.2275.example.0.dangerous": "Line 5: A hardcoded password is used.",
  "rule.sast.sw.swift.2275.example.0.safe": "Line 5: Import the password with a separate method.",
  "rule.sast.sw.swift.2275.name": "Hardcoded Password",
  "rule.sast.sw.swift.2276.description": "The Blank Password checker finds blank passwords.\nThe checker regards blank passwords insecure. Passwords are recommended to be non-blank strings, encrypted and stored in a separate file.\nUsing a blank password may allow for unintended external access.\nDo not use blank passwords.",
  "rule.sast.sw.swift.2276.example.0.dangerous": "Line 6: A blank password is used.",
  "rule.sast.sw.swift.2276.example.0.safe": "Line 6: Use a password to access database.",
  "rule.sast.sw.swift.2276.name": "Blank Password",
  "rule.sast.sw.swift.2285.description": "The Weak Hashing Algorithm checker finds instances of using a hashing algorithm known to be insecure.\nNon-standard hashing algorithms can be more easily encryptanalyzed and cracked by attackers. Some old algorithms have been weak over time as computing power grows-It used to be expected to take an extremely long time to crack them in the past, but now they can be broken in a couple of days or hours. Using an old or non-standard hashing algorithm may allow attackers to cryptanalyze and disable it. Hashes created by MD5 or other old algorithms can be cracked by means of rainbow tables.\nDeveloping your own hashing algorithm is dangerous; instead, use standard algorithms that have been proven in academia and industry. Use secure algorithms such as SHA-256 and SHA-512 instead of those considered weak such as MD5 and SHA-1. In addition, use unpredictable salts together to ensure stronger security.",
  "rule.sast.sw.swift.2285.example.0.dangerous": "Line 6: An MD5 hash is used.",
  "rule.sast.sw.swift.2285.example.0.safe": "Line 3: Use a SHA256 hash algorism.",
  "rule.sast.sw.swift.2285.name": "Weak hash algorithm",
  "rule.sast.sw.swift.2287.description": "The Use of Cryptographic Algorithm in ECB Mode checker finds instances of encryption in ECB mode.\nECB mode poses a security vulnerability that encrypting the same block of plaintext in this mode always yields the same block of ciphertext.\nUse a secure mode such as CBC or CFB.",
  "rule.sast.sw.swift.2287.example.0.dangerous": "Line 3: An AES encryption is used in ECB mode.",
  "rule.sast.sw.swift.2287.example.0.safe": "Line 3: Use a mode other than ECB.",
  "rule.sast.sw.swift.2287.name": "Use of Cryptographic Algorithm in ECB Mode",
  "rule.sast.sw.swift.2288.description": "The Hardcoded IP checker finds hardcoded IP addresses.\nThe checker reports for a hardcoded IP address.\nA hardcoded IP address may let the API's destination server exposed.\nDo not hardcode IP addresses.",
  "rule.sast.sw.swift.2288.example.0.dangerous": "Line 13, 14: NSHost is generated with a hardcoded IP.",
  "rule.sast.sw.swift.2288.example.0.safe": "Line 1: Accept the IP address as a trusted external input.",
  "rule.sast.sw.swift.2288.name": "Hardcoded IP",
  "rule.sast.sw.swift.2345.description": "The Transfer by GET checker finds transfers by the GET method.\nIt is recommended to use the safer POST method.A particular care is needed for NSURLRequests because they are sent via GET by default.\nThe checker finds transfers via GET, which shows the URL and sent parameters in the browser and thus may possibly be manipulated by an attacker.\nDo not use GET method to transfer.",
  "rule.sast.sw.swift.2345.example.0.dangerous": "Line 11: A GET request is executed.",
  "rule.sast.sw.swift.2345.example.0.safe": "Line 11: Execute a POST request.",
  "rule.sast.sw.swift.2345.name": "Transfer by GET",
  "rule.sast.sw.swift.2347.description": "The Use of cookie with overly broad domain checker finds instances of using a cookie with a domain set to an overly broad domain.\nDevelopers often set cookies to be active across a base domain such as `.example.com`. This exposes the cookie to all web applications on the base domain and any subdomains. Because cookies often carry sensitive information such as session identifiers, sharing cookies across applications can cause a vulnerability in one application to compromise another application.\nAvoid having cookies with an overly broad domain.",
  "rule.sast.sw.swift.2347.example.0.dangerous": "Line 14: Cookies are generated by using properties with broadly allowed domains on Line 8.",
  "rule.sast.sw.swift.2347.example.0.safe": "Line 14: Avoid having cookies with an overly broad domain.",
  "rule.sast.sw.swift.2347.name": "Use of cookie with overly broad domain",
  "rule.sast.sw.swift.2348.description": "The Use of Cookie with Overly Broad Path checker finds instances of using a cookie with a path set to the root path.\nDevelopers often set cookies to be accessible from the root context path (`/`). This exposes the cookie to all web applications on the domain. Because cookies often carry sensitive information such as session identifiers, sharing cookies across applications can cause a vulnerability in one application to compromise another application.\nAvoid having cookies with an overly broad path.",
  "rule.sast.sw.swift.2348.example.0.dangerous": "Line 12: Cookies are generated by using properties with broadly allowed paths on Line 8.",
  "rule.sast.sw.swift.2348.example.0.safe": "Line 12: Avoid having cookies with an overly broad domain.",
  "rule.sast.sw.swift.2348.name": "Use of Cookie with Overly Broad Path",
  "rule.sast.sw.swift.2349.description": "The Storage of Sensitive Data in Persistent Cookie checker finds instances of storing sensitive date in a cookie whose lifespan is set too long.\nMost web programming environments create non-persistent cookies. This type of cookie resides only in memory (not recorded in the disc drive) and disappears when the browser is closed. Programmers can set cookies to persist for browser sessions until a specific future date. These cookies are recorded in the disc drive and persist even after restarting the browser session or device. Persistent cookies are commonly used to profile users when interacting with sites. Such tracked data in persistent cookies can be exploited to leak user privacy, depending upon how the data is used. If privacy information is stored in a persistent cookie with a long expiration, attackers can be given enough time to steal such data.\nCookie expiration must be set minimum in consideration of session duration, and permanent cookies should not contain important information such as user privileges and session IDs.",
  "rule.sast.sw.swift.2349.example.0.dangerous": "Line 15: An expiration period is set to 10 years in Line 12.",
  "rule.sast.sw.swift.2349.example.0.safe": "Line 15: Set the expiration period to 30 days in Line 20.",
  "rule.sast.sw.swift.2349.name": "Storage of Sensitive Data in Persistent Cookie",
  "rule.sast.sw.swift.2350.description": "The Empty HMAC Key checker finds instances of using an empty HMAC key.\nIt is never a good idea to use an empty HMAC key. The cryptographic strength of HMAC depends on the size of the secret key, which is used for the calculation and verification of the message authentication values. Using an empty key undermines the cryptographic strength of the HMAC function.\nAn empty key is vulnerable to forgery and key recovery attacks.\nUse a suitable HMAC key.",
  "rule.sast.sw.swift.2350.example.0.dangerous": "Line 5: An empty key is used to calculate HMAC.",
  "rule.sast.sw.swift.2350.example.0.safe": "Line 5: Use a suitable HMAC key.",
  "rule.sast.sw.swift.2350.name": "Empty HMAC Key",
  "rule.sast.sw.swift.2351.description": "The Empty Salt checker finds instances of using an empty salt for encryption key generation.\nIt is never a good idea to use an empty salt. Not only does using an empty salt make it significantly easier to determine the hashed values, it also makes fixing the problem extremely difficult. After the code is in production, the salt cannot be easily changed.\nIf attackers figure out that values are hashed with an empty salt, they can calculate `rainbow tables` for the application and more easily determine the hashed values.\nUse a suitable salt value.",
  "rule.sast.sw.swift.2351.example.0.dangerous": "Line 9: An empty salt is used in CCKeyDerivationPBKDF() method.",
  "rule.sast.sw.swift.2351.example.0.safe": "Line 9: Use a salt to call the CCKeyDerivationPBKDF() method.",
  "rule.sast.sw.swift.2351.name": "Empty Salt",
  "rule.sast.sw.swift.2352.description": "The Hardcoded Salt checker finds instances of using a hardcoded salt for hash calculation.\nNot only does a hardcoded salt allow all of the project's developers to view the salt, it also becomes extremely difficult to change after the application is in production. Furthermore, if attackers know the value of the salt, they can calculate \"rainbow tables\" for the application and more easily determine the hashed values.\nUse a cryptographically secure approach that generates unpredictable salts randomly, or have salts generated from an external source.",
  "rule.sast.sw.swift.2352.example.0.dangerous": "Line 11: A hardcoded salt is used in CCKeyDerivationPBKDF() method.",
  "rule.sast.sw.swift.2352.example.0.safe": "Line 10: Use a salt to call the CCKeyDerivationPBKDF() method.",
  "rule.sast.sw.swift.2352.name": "Hardcoded Salt",
  "rule.sast.sw.swift.2355.description": "The Insecure Cookie checker finds instances of transferring an unencrypted cookie.\nHTTPCookie objects must not be created without the HTTPCookiePropertyKey.secure flag set to true, and NSHTTPCookie objects must not without the NSHTTPCookieSecure flag set to true.\nIf security-sensitive data is stored in a browser cookie without the security attribute set enabled, it is not transferred via a security protocol such as SSL. This may expose sensitive information in plaintext to attackers. This vulnerability must be noted especially when the cookie contains privacy information or a session ID.\nSet the secure flag of cookies to true.",
  "rule.sast.sw.swift.2355.example.0.dangerous": "Line 6: Cookies are generated without a secure flag.",
  "rule.sast.sw.swift.2355.example.0.safe": "Line 7: Set the secure flag for cookies in Line 6.",
  "rule.sast.sw.swift.2355.name": "Insecure Cookie",
  "rule.sast.sw.swift.2356.description": "The Reliance on weak frameworks in security decisions checker finds instances of user authentication using LAContext in the LocalAuthentication framework.\nTouch ID based authentication can be implemented in two different flavors: using the LocalAuthentication framework or using Touch ID based access controls in the Keychain service. Although both of them should be strong enough for most applications, the LocalAuthentication approach has some characteristics that make it less suitable for high risk apps such as banking, medical, and insurance.\nFor high risk apps, use Touch ID based access controls in the Keychain service.",
  "rule.sast.sw.swift.2356.example.0.dangerous": "Line 3: LAContext is used to perform user authentication.",
  "rule.sast.sw.swift.2356.example.0.safe": "Line 1: Delete the line, then use SecAccessControlCreateWithFlags to access to user authentication information.",
  "rule.sast.sw.swift.2356.name": "Reliance on weak frameworks in security decisions",
  "rule.sast.sw.swift.2357.description": "The System Information Exposure finds instances of displaying system information through error messages or by other means.\nIf error messages openly displayed by the application contain sensitive information regarding execution environments or user data, attackers can exploit the information for malicious actions. Showing exception names or stack traces can help attackers identify the program's internal structure.\nMake sure error messages are shown only to relevant users and contain minimum necessary information. Have exceptions internally handled in source code and do not allow them to trigger an error message containing sensitive information.",
  "rule.sast.sw.swift.2357.example.0.dangerous": "Line 5-7: stderr streams are printed out.",
  "rule.sast.sw.swift.2357.example.0.safe": "Line 5: Do not print out system data.",
  "rule.sast.sw.swift.2357.name": "Exposure of system information",
  "rule.sast.sw.swift.2358.description": "The Weak SSL Protocol checker finds instances of using the SSLv2, SSLv23, or SSLv3 protocol.\nThe Transport Layer Security (TLS) and Secure Sockets Layer (SSL) protocols provide a protection mechanism to ensure the authenticity, confidentiality, and integrity of data transmitted between a client and web server. Both TLS and SSL have undergone revisions resulting in periodic version updates. Each new revision was designed to address the security weaknesses discovered in the previous versions. Use of an insecure version of TLS/SSL will weaken the strength of the data protection and could allow an attacker to compromise, steal, or modify sensitive information.\nWeak versions of TLS/SSL may exhibit one or more of the following properties: - Unprotected against man-in-the-middle(MITM) attacks - Uses a same key for authentication and encryption - Weak control for message authentication - Unprotected against TCP connection closing The presence of these properties may allow an attacker to intercept, modify, or tamper with sensitive data.\nUse the latest protocol.",
  "rule.sast.sw.swift.2358.example.0.dangerous": "Line 2-5: A deprecated protocol is used.",
  "rule.sast.sw.swift.2358.example.0.safe": "Line 2: Use the latest protocol.",
  "rule.sast.sw.swift.2358.name": "Weak SSL Protocol",
  "rule.sast.sw.swift.2359.description": "The Use of SMS Features checker finds actions relating to short message service (SMS).\nAny actions to implement SMS should be strictly restricted unless they are necessary for the application's functionality.\nMalware targeted at mobile devices often abuse SMS features to steal money or data from users.\nDo not use SMS features.",
  "rule.sast.sw.swift.2359.example.0.dangerous": "Line 1: MFMessageComposeViewController is used.\nLine 7: This attempts to sent sms messages.",
  "rule.sast.sw.swift.2359.example.0.safe": "Line 1: Delete the line to disable the feature.",
  "rule.sast.sw.swift.2359.name": "Use of SMS Features",
  "rule.sast.sw.swift.2360.description": "The Absence of Auto-dialing Attack Prevention checker finds instances of failure to implement any controls that prevent auto-dialing attacks when visiting malicious sites.\nUnless the contents of the page are completely under your control, the user will be able to click on links that could be used by malicious attackers to initiate automatic telephone or FaceTime calls.\nAs an example, your application may be showing a blog post, or tweet, that may contain links. The author of the post or tweet your user is visiting will be able to use any arbitrary links on their pages. If your users visit a malicious site and are fooled, or automatically driven to click a link, an attacker may be able to initiate automatic FaceTime or telephone calls and block the device for a few seconds to prevent the user from cancelling the call. Note that even if you control the landing page, the user may end up navigating to different and untrusted sites.\nPrevent loading a page into a webview.",
  "rule.sast.sw.swift.2360.example.0.dangerous": "Line 10: A page is loaded by webView.",
  "rule.sast.sw.swift.2360.example.0.safe": "Line 1-12: Delete the lines to disable the feature.",
  "rule.sast.sw.swift.2360.name": "Absence of Auto-dialing Attack Prevention",
  "rule.sast.sw.swift.2361.description": "The HTTP header manipulation checker finds instances of including an unvalidated external input in an HTTP response header.\nAs with many software security vulnerabilities, cookie manipulation is a means to an end, not an end in itself. At its root, the vulnerability is straightforward: an attacker passes malicious data to a vulnerable application, and the application includes the data in an HTTP cookie. Many of today's modern application servers will prevent the injection of malicious characters into HTTP headers. For example, recent versions of Apache Tomcat will throw an IllegalArgumentException if you attempt to set a header with prohibited characters. Allowing unvalidated external input in HTTP headers enables attackers to try various attacks including cache poisoning, cross-site scripting, HTTP response splitting, session fixation, cross-user defacement, page hijacking, cookie manipulation, and open redirect. If your application server prevents setting headers with newline characters, HTTP response splitting can be prevented but the application will remain vulnerable to other threats.\nExternal inputs to be included in headers must be thoroughly filtered to eliminate any dangerous characters.",
  "rule.sast.sw.swift.2361.example.0.dangerous": "Line 4: An HTTP header value is used without validation.",
  "rule.sast.sw.swift.2361.example.0.safe": "Line 4: Add a function to filter out the HTTP header value.",
  "rule.sast.sw.swift.2361.name": "HTTP header manipulation",
  "rule.sast.sw.swift.2362.description": "The Key Derivation Function with Insecure Iteration Count checker finds instances in which the iteration count used by a password-based key derivation function is too low.\nA key derivation function is used to derive a key from a base key and other parameters. In a password-based key derivation function, the base key is a password and the other parameters are a salt value and an iteration count. An iteration count has traditionally served the purpose of increasing the cost of generating keys from a password.\nIf the iteration count is too low, the feasibility of an attack increases as an attacker may calculate \"rainbow tables\" for the application and more easily determine the hashed password values.\nMake sure the iteration count is high enough.",
  "rule.sast.sw.swift.2362.example.0.dangerous": "Line 5: Small number of iteration is used in CCKeyDerivationPBKDF().",
  "rule.sast.sw.swift.2362.example.0.safe": "Line 5: Use enough number of iteration in the CCKeyDerivationPBKDF().",
  "rule.sast.sw.swift.2362.name": "Key Derivation Function with Insecure Iteration Count",
  "rule.sast.sw.swift.2363.description": "The Use of Null Salt checker finds instances of using a null (nil) salt for encryption key generation.\nA null (nil) salt may compromise system security in a way that cannot be easily remedied.\nIt is never a good idea to use a null (nil) salt. Not only does using a null salt make it significantly easier to determine the hashed values, it also makes fixing the problem extremely difficult. After the code is in production, the salt cannot be easily changed. If attackers figure out that values are hashed with an null salt, they can calculate \"rainbow tables\" for the application and more easily determine the hashed values.\nUse a suitable salt value.",
  "rule.sast.sw.swift.2363.example.0.dangerous": "Line 5: A nil salt is used.",
  "rule.sast.sw.swift.2363.example.0.safe": "Line 5: Acquire the salt value from other method.",
  "rule.sast.sw.swift.2363.name": "Use of Null Salt",
  "rule.sast.sw.swift.2826.description": "The SQL Injection checker finds SQL queries that include an unvalidated external input.\nIf an unvalidated external input is allowed in SQL queries, attackers can inject a crafted query that has an altered meaning. This vulnerability lets attackers access or manipulate information in the database.\nTo prevent external inputs from being used for queries, use a text replacement function or method to substitute characters such as <, >, &, and \" with &lt;, &gt;, &amp;, and &quot;, respectively.",
  "rule.sast.sw.swift.2826.example.0.dangerous": "Line 5: An external input is directly used to generate SQL queries.",
  "rule.sast.sw.swift.2826.example.0.safe": "Line 5: Make sure to use secure SQL queries through a filter function.",
  "rule.sast.sw.swift.2826.name": "SQL Injection",
  "rule.sast.sw.swift.2826.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />example) filter$param(1)",
  "rule.sast.sw.swift.2826.option.taint_filter.name": "External information filter",
  "rule.sast.sw.swift.2826.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.swift.2826.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.swift.2826.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) strcpy$param(2)->param(1)",
  "rule.sast.sw.swift.2826.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.swift.2826.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) sqlite3_exec$param(2)",
  "rule.sast.sw.swift.2826.option.taint_sink.name": "External information sink",
  "rule.sast.sw.swift.2826.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) getenv$return",
  "rule.sast.sw.swift.2826.option.taint_source.name": "External information source",
  "rule.sast.sw.swift.2827.description": "The Resource injection checker finds resource identifiers created with an unvalidated external input.\nIf unvalidated external inputs are allowed to be used to access or identify files, servers, or other system resources, attackers can manipulate inputs to access resources protected by the program. Resource injection vulnerabilities can be exploited to modify or delete resources, leak system information, and cause conflicts between system resources leading to service failures.\nIf external inputs need to be used for resource identifiers (such as socket ports), whitelist appropriate identifiers and restrict values determined by external inputs to those selected from within the whitelist.",
  "rule.sast.sw.swift.2827.example.0.dangerous": "Line 10: External inputs were used as is for resource acquisition.",
  "rule.sast.sw.swift.2827.example.0.safe": "Line 10: Use safe input that has been checked by filter functions to obtain resource.",
  "rule.sast.sw.swift.2827.name": "Resource injection",
  "rule.sast.sw.swift.2827.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />example) filter$param(1)",
  "rule.sast.sw.swift.2827.option.taint_filter.name": "External information filter",
  "rule.sast.sw.swift.2827.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.swift.2827.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.swift.2827.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) strcpy$param(2)->param(1)",
  "rule.sast.sw.swift.2827.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.swift.2827.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) CFStreamCreatePairWithSocketToHost$param(2)",
  "rule.sast.sw.swift.2827.option.taint_sink.name": "External information sink",
  "rule.sast.sw.swift.2827.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) getenv$return",
  "rule.sast.sw.swift.2827.option.taint_source.name": "External information source",
  "rule.sast.sw.swift.2828.description": "The Cross-site scripting checker finds instances of including an external input in HTML without validating it.\nIf unvalidated external inputs are allowed for page generation, attackers can inject malicious scripts into the pages. This vulnerability lets attackers take over a user's cookie, session, or other information or execute an abnormal function.\nTo prevent external inputs from being used for scripts, use a text replacement function or method to substitute characters such as <, >, &, and \" with &lt;, &gt;, &amp;, and &quot;, respectively. For bulletin boards that allow using HTML tags, make a whitelist of allowable HTML tags.",
  "rule.sast.sw.swift.2828.example.0.dangerous": "Line 7: UItextField is used to load HTML.",
  "rule.sast.sw.swift.2828.example.0.safe": "Line 7: Filter out inputs to load HTML.",
  "rule.sast.sw.swift.2828.name": "Cross-site scripting",
  "rule.sast.sw.swift.2828.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) filter$param(1)",
  "rule.sast.sw.swift.2828.option.taint_filter.name": "External information filter",
  "rule.sast.sw.swift.2828.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.swift.2828.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.swift.2828.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example) .$operand(*)->return",
  "rule.sast.sw.swift.2828.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.swift.2828.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) __sparrow_OBJC_echo__$param(*)",
  "rule.sast.sw.swift.2828.option.taint_sink.name": "External information sink",
  "rule.sast.sw.swift.2828.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) $_GET$variable",
  "rule.sast.sw.swift.2828.option.taint_source.name": "External information source",
  "rule.sast.sw.swift.2829.description": "The Command injection checker finds instances in which an internal system command is executed by an unvalidated external input.\nIf a user input that has not been properly validated constitutes the whole or part of an OS command to execute it in an unintended way, this may cause improper permission changes or harmful effects on the system's processes or operations.\nIf a command needs to be generated or selected based on an external input, whitelist safe values for command generation and restrict values determined by external inputs to those selected from within the whitelist.",
  "rule.sast.sw.swift.2829.example.0.dangerous": "Line 5: External input used directly without proper handling.",
  "rule.sast.sw.swift.2829.example.0.safe": "Line 5: The filter function is used for checking strings for injection attacks.",
  "rule.sast.sw.swift.2829.name": "Command injection",
  "rule.sast.sw.swift.2829.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />example) filter$param(1)",
  "rule.sast.sw.swift.2829.option.taint_filter.name": "External information filter",
  "rule.sast.sw.swift.2829.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.swift.2829.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.swift.2829.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) strcpy$param(2)->param(1)",
  "rule.sast.sw.swift.2829.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.swift.2829.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) printf$param(1)",
  "rule.sast.sw.swift.2829.option.taint_sink.name": "External information sink",
  "rule.sast.sw.swift.2829.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) getenv$return",
  "rule.sast.sw.swift.2829.option.taint_source.name": "External information source",
  "rule.sast.sw.swift.2830.description": "The Sensitive Information Storage in Plaintext checker finds instances in which unencrypted sensitive information is stored in plaintext.\nIf sensitive information is not encrypted when stored in plaintext, data may be exposed to or sniffed by unauthorized agents.\nEnsure to encrypt the sensitive information while storing it to an external environment file. Additionally, consider separating the sensitive information and normal data in the software designing phase.",
  "rule.sast.sw.swift.2830.example.0.dangerous": "Line 12: Sensitive information is stored in plain text.",
  "rule.sast.sw.swift.2830.example.0.safe": "Line 12: Encrypt and store sensitive information.",
  "rule.sast.sw.swift.2830.name": "Sensitive Information Storage in Plaintext",
  "rule.sast.sw.swift.2830.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />example) filter$param(1)",
  "rule.sast.sw.swift.2830.option.taint_filter.name": "External information filter",
  "rule.sast.sw.swift.2830.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.swift.2830.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.swift.2830.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example) .$operand(*)->return",
  "rule.sast.sw.swift.2830.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.swift.2830.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) __sparrow_OBJC_echo__$param(*)",
  "rule.sast.sw.swift.2830.option.taint_sink.name": "External information sink",
  "rule.sast.sw.swift.2830.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) $_GET$variable",
  "rule.sast.sw.swift.2830.option.taint_source.name": "External information source",
  "rule.sast.sw.swift.2831.description": "The Hardcoded Encryption Key checker finds encryption keys hardcoded in source code.\nHardcoded encryption keys present in source code can be used to decrypt ciphertext data back into the original information in case it leaks. Encryption keys are often hardcoded in the wrong assumption that their exposal poses no significant security threat, although some hash functions can possibly be reversed by brute-force attacks. In addition, hardcoded encryption keys are not easy to change.\nMake sure encryption keys never assume constant values. And, even if in ciphertext, they should not be hardcoded in source code.",
  "rule.sast.sw.swift.2831.example.0.dangerous": "Line 5: Passing the hardcoded encryption key to the constructor of the CCCrypt class.",
  "rule.sast.sw.swift.2831.example.0.safe": "Line 6: Avoid using hardcoded encryption keys.",
  "rule.sast.sw.swift.2831.name": "Hardcoded Encryption Key",
  "rule.sast.sw.swift.2866.description": "The XPath Injection checker finds XPath queries that include an unvalidated external input.\nIf external inputs are allowed in XPath queries without appropriately validating them, attackers can feed an unexpected string to twist a query's meaning or alter its structure, thereby gaining access to restricted data.\nMake sure external inputs used in XPath queries are filtered for special characters (`, [, ], /, =, @, etc.) and reserved words.",
  "rule.sast.sw.swift.2866.example.0.dangerous": "Line 21: External input is used to create XPath queries.",
  "rule.sast.sw.swift.2866.example.0.safe": "Line 21: Filter the query created with external input values appropriately before use.",
  "rule.sast.sw.swift.2866.name": "XPath Injection",
  "rule.sast.sw.swift.2866.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) filter$param(1)",
  "rule.sast.sw.swift.2866.option.taint_filter.name": "External information filter",
  "rule.sast.sw.swift.2866.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) \\.$operand(*)->return",
  "rule.sast.sw.swift.2866.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.swift.2866.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />example) XQueryProcessor\\.execute(0)$base",
  "rule.sast.sw.swift.2866.option.taint_sink.name": "External information sink",
  "rule.sast.sw.swift.2866.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) \\$_GET$variable",
  "rule.sast.sw.swift.2866.option.taint_source.name": "External information source",
  "rule.sast.sw.swift.2868.description": "The LDAP Injection checker finds instances of using an untrusted external input without validating it.\nIf untrusted external inputs are used in the web application, attackers can alter LDAP query commands to arbitrarily authorize and run unintended actions. Therefore, untrusted external input strings must be validated before they are used.\nIf unvalidated external inputs are used to be part of an LDAP query, attackers can make the meaning of the query arbitrarily modified when it is executed.\nUntrusted external input strings must be validated before used to be part of an LDAP query.",
  "rule.sast.sw.swift.2868.example.0.dangerous": "Line 6: External input value is used to create an LDAP query without validation.",
  "rule.sast.sw.swift.2868.example.0.safe": "Line 6: Use the filter method to validate the external input.",
  "rule.sast.sw.swift.2868.name": "LDAP Injection",
  "rule.sast.sw.swift.2868.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />example) filter$param(1)",
  "rule.sast.sw.swift.2868.option.taint_filter.name": "External information filter",
  "rule.sast.sw.swift.2868.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) \\.$operand(*)->return",
  "rule.sast.sw.swift.2868.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.swift.2868.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />example) XQueryProcessor\\.execute(0)$base",
  "rule.sast.sw.swift.2868.option.taint_sink.name": "External information sink",
  "rule.sast.sw.swift.2868.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) \\$_GET$variable",
  "rule.sast.sw.swift.2868.option.taint_source.name": "External information source",
  "rule.sast.sw.swift.2869.description": "The Redirection to untrusted site checker finds instances of redirecting to a URL generated with an unvalidated external input.\nAlthough connecting to a client-provided URL is often believed to be safe, an attacker can modify the request and redirect the user to a malicious site.\nMaintain a whitelist of external site URLs and domains allowed for redirection, which needs to be checked when a user input is passed as a redirect URL.",
  "rule.sast.sw.swift.2869.example.0.dangerous": "Line 10: An unvalidated string is sent to openURL.",
  "rule.sast.sw.swift.2869.example.0.safe": "Line 10: Send validated strings through [filtered] message.",
  "rule.sast.sw.swift.2869.name": "Redirection to untrusted site",
  "rule.sast.sw.swift.2869.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />example) filter$param(1)",
  "rule.sast.sw.swift.2869.option.taint_filter.name": "External information filter",
  "rule.sast.sw.swift.2869.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) strcpy$param(2)->param(1)",
  "rule.sast.sw.swift.2869.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.swift.2869.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) printf$param(1)",
  "rule.sast.sw.swift.2869.option.taint_sink.name": "External information sink",
  "rule.sast.sw.swift.2869.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) getenv$return",
  "rule.sast.sw.swift.2869.option.taint_source.name": "External information source",
  "rule.sast.sw.swift.2870.description": "The Insufficient cryptographic key size checker finds encryption keys that are too short.\nYou can optionally specify the minimum key length that ensures security.\nAn encryption key is used for encryption and decryption purposes; if it is not long enough, it can be uncovered in a practically short time even with a verified cryptographic algorithm used. This can be exploited to decrypt encrypted data or passwords.\nEach major algorithm suggests an appropriate length of a key that ensures an extremely long time is taken to break the key at the currently known level of technology, thus making attacks on it practically impossible. It is recommended to use a key no shorter than the suggested length. For instance, the RSA algorithm must be used with a key of at least 2,048 bits (as of 2015), while symmetric encryption algorithms require a key of at least 128 bits.",
  "rule.sast.sw.swift.2870.example.0.dangerous": "Line 29: A required key length is set to 100. This needs to be 128 or more.",
  "rule.sast.sw.swift.2870.example.0.safe": "Line 3: Set the key length to 128.",
  "rule.sast.sw.swift.2870.name": "Insufficient cryptographic key size",
  "rule.sast.sw.swift.2870.option.min_key_size.description": "Write the minimum key size required for encryption.<br />Example) 128",
  "rule.sast.sw.swift.2870.option.min_key_size.name": "Minimum key size required",
  "rule.sast.sw.swift.2871.description": "The Cleartext transmission of sensitive information checker finds instances of transferring sensitive information without encrypting it.\nIf data containing important user or system information is sent or received in plaintext, this poses a security vulnerability allowing unauthorized users to sniff sensitive data from the communication channel.\nSensitive information transferring via communication channels must be encrypted. If necessary, secure channels such as SSL or HTTPS should be used.",
  "rule.sast.sw.swift.2871.example.0.dangerous": "Line 11: A password is transferred through a network. Then, the password can be exposed by packet sniffing.",
  "rule.sast.sw.swift.2871.example.0.safe": "Line 11: Encrypt your password before sending it to a server through the network.",
  "rule.sast.sw.swift.2871.name": "Cleartext transmission of sensitive information",
  "rule.sast.sw.swift.2871.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) return of name(\"filter\")",
  "rule.sast.sw.swift.2871.option.taint_filter.name": "External information filter",
  "rule.sast.sw.swift.2871.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of \"+\" to return",
  "rule.sast.sw.swift.2871.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.swift.2871.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(*) of name(\"add_header\")",
  "rule.sast.sw.swift.2871.option.taint_sink.name": "External information sink",
  "rule.sast.sw.swift.2871.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of fqn(\"django.http.HttpRequest.field\")",
  "rule.sast.sw.swift.2871.option.taint_source.name": "External information source",
  "rule.sast.sw.swift.2892.description": "The Download of code without integrity check checker finds instances of downloading an executable code without checking its origin or integrity.\nWhen providing a code that is to be downloaded, such as for automatic updates of software, failure to use cryptographic signatures allows for a security vulnerability. If the program downloads a risky executable file from a remote location and executes it at the client side without sufficiently verifying the origin and integrity of the code, an attacker can execute a malicious action.\nTake measures such as using a public-key algorithm to check code files for manipulation.",
  "rule.sast.sw.swift.2892.example.0.dangerous": "Line 12: A downloaded file is created without integrity check.",
  "rule.sast.sw.swift.2892.example.0.safe": "Line 11: Check integrity of the downloaded file before using.",
  "rule.sast.sw.swift.2892.name": "Download of code without integrity check",
  "rule.sast.sw.swift.2892.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) return of name(\"filter\")",
  "rule.sast.sw.swift.2892.option.taint_filter.name": "External information filter",
  "rule.sast.sw.swift.2892.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of \"+\" to return",
  "rule.sast.sw.swift.2892.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.swift.2892.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(*) of name(\"add_header\")",
  "rule.sast.sw.swift.2892.option.taint_sink.name": "External information sink",
  "rule.sast.sw.swift.2892.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of fqn(\"django.http.HttpRequest.field\")",
  "rule.sast.sw.swift.2892.option.taint_source.name": "External information source",
  "rule.sast.sw.swift.2903.description": "The Empty catch block checker finds exception-handling blocks that have no relevant content.\nIt detects empty catch blocks containing no actual executable code.\nIf a caught exception is not handled, it is hard to find out the causes of accompanying program errors.\nAdd an exception-handling code in the empty block. If you don't want any measure for an exception, you may simply leave an error message.",
  "rule.sast.sw.swift.2903.example.0.dangerous": "Line 7: A valid exception statement is not found in a catch block.",
  "rule.sast.sw.swift.2903.example.0.safe": "Line 8: Add the valid exception statement to the catch block.",
  "rule.sast.sw.swift.2903.name": "Empty catch block",
  "rule.sast.sw.swift.2904.description": "The Catching overly broad exceptions checker finds instances of generalizing a wide range of exceptions in handling them.\nAn extremely wide generalization of exceptions may prevent some specific exceptions from being properly handled; more seriously, this may let even logically implausible cases simply covered by the super generalized handler, hence hindering them from being detected and fixed. As a result, design and implementation defects may remain undiscovered in the development and review phases before the program is deployed into production, possibly leading to serious issues.\nIt is recommended to categorize possible exceptions explicitly and handle them separately. If general exception handling is needed, have it performed in the last place after all specific exceptions are handled. Then, if the flow of execution ever reaches the general exception handling block, it suggests that the caught exception was not considered during development. This helps fix defects implied by unexpected exceptions.",
  "rule.sast.sw.swift.2904.example.0.dangerous": "Line 6: An exception is handled. This is a generalized exception, a parent of other exception classes.",
  "rule.sast.sw.swift.2904.example.0.safe": "Line 6: Modify to handle a specific exception.",
  "rule.sast.sw.swift.2904.name": "Catching overly broad exceptions",
  "rule.sast.sw.swift.2906.description": "The Missing login control checker finds instances of failure to implement a logic to limit the number of login attempts.\nThe checker checks a logic to control login attempt count at the start to call its login routine. Yet, an error occurs when control condition is a constant in a loop.\nAttackers may use the error to login or get permission with a brute-force attack.\nA logic that limits login attempt count must be implemented.",
  "rule.sast.sw.swift.2906.example.0.dangerous": "Line 4: Login attempt count is not limited.",
  "rule.sast.sw.swift.2906.example.0.safe": "Line 5: Control the login attempt count.",
  "rule.sast.sw.swift.2906.name": "Missing login control",
  "rule.sast.sw.swift.2906.option.authentication_functions.name": "authentication_functions",
  "rule.sast.sw.swift.2906.option.loop_inside_target_function.name": "loop_inside_target_function",
  "rule.sast.sw.swift.2906.option.target_function_inside_loop.name": "target_function_inside_loop",
  "rule.sast.sw.swift.2910.description": "The Weak password requirements checker finds instances in which user passwords are accepted without checking for their complexity.\nFully numeric passwords, such as 123123, and some other simple passwords are vulnerable to brute-force attacks. If password patterns are not verified, users can use weak passwords.\nAdministrators can impose restrictions on users to use strong password patterns. For example, these can require to include a certain number of uppercase and lowercase letters, numerals, and special characters, or disallow consecutive identical characters. Refer to the password setting rules from \"KISA Cryptographic Usage Guidelines\".",
  "rule.sast.sw.swift.2910.example.0.dangerous": "Line 4: A password is not validated.",
  "rule.sast.sw.swift.2910.example.0.safe": "Line 6: Add a filter to enable strong validation for the password, for example, a length limit.",
  "rule.sast.sw.swift.2910.name": "Weak password requirements",
  "rule.sast.sw.swift.2910.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) strlen$param(1)",
  "rule.sast.sw.swift.2910.option.taint_filter.name": "External information filter",
  "rule.sast.sw.swift.2910.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) \\.$operand(*)->return",
  "rule.sast.sw.swift.2910.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.swift.2910.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) mysql_query$param(*)",
  "rule.sast.sw.swift.2910.option.taint_sink.name": "External information sink",
  "rule.sast.sw.swift.2910.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of fqn(\"$_GET[\\\"password\\\"]\")",
  "rule.sast.sw.swift.2910.option.taint_source.name": "External information source",
  "rule.sast.sw.swift.2911.description": "The Leftover debug code checker finds debug code that remains not removed. \nThe checker searches for a call to a method included certain words such as log or debug.\nDebug code may contain parts that output sensitive information or allow control over the system. If the program is deployed with debug code remaining, attackers may bypass an authentication process or access restricted information.\nRemove all debug code before deploying the application.",
  "rule.sast.sw.swift.2911.example.0.dangerous": "Line 1-5: Debug code is not deleted.",
  "rule.sast.sw.swift.2911.example.0.safe": "Line 1-5: It is recommended not to left over debug code.",
  "rule.sast.sw.swift.2911.name": "Leftover debug code",
  "rule.sast.sw.swift.2911.option.check_function.description": "Write a name of the debug method.",
  "rule.sast.sw.swift.2911.option.check_function.name": "Debug method",
  "rule.sast.sw.swift.2916.description": "The TOCTOU race condition checker finds race conditions occurring between the time of checking a resource's state and the time of using it.\nWhen coding to check the state of a resource and access it based on the checked state, programmers often assume that the checked state will persist until the resource is accessed. But the resource's state can change between the check and the use. This can happen even in a non-multithreaded program because the state of resources such as files can be changed by other programs or the operating system. These race conditions can cause the program to perform invalid actions or throw an exception and may help attackers gain access to unauthorized resources.\nIf resource accessibility needs to be determined based on resource state, use approaches such as synchronization that ensure exclusive access to resources. Or, there are some APIs available that help implement actions handling file resources. They attempt the given resource action and return different results based on the resource's state.",
  "rule.sast.sw.swift.2916.example.0.dangerous": "Line 4: A file cannot be guaranteed to be equal between its check and use.",
  "rule.sast.sw.swift.2916.example.0.safe": "Line 7: Handle exceptions caused by the time of use.",
  "rule.sast.sw.swift.2916.name": "TOCTOU race condition",
  "rule.sast.sw.swift.2919.description": "The HTTP Response Splitting checker finds HTTP responses created with an unvalidated external input.\nWhen arguments passed in an HTTP request are sent back through an HTTP response header, newline characters such as CRs (carriage returns) and LFs (line feeds) contained in the inputs can split the HTTP response into two or more. By exploiting this, attackers can use a newline to stop the first response and inject a malicious code into the second one for an XSS or cache poisoning attack.\nIf you need to include request parameters in an HTTP response header such as Set-Cookie, make sure all CRs and LFs are filtered out.",
  "rule.sast.sw.swift.2919.example.0.dangerous": "Line 4: A tainted value is included to cookies.",
  "rule.sast.sw.swift.2919.example.0.safe": "Line 5: Filter out the tainted value, then include its result to cookies.",
  "rule.sast.sw.swift.2919.name": "HTTP Response Splitting",
  "rule.sast.sw.swift.2920.description": "The Password in comment checker finds comments that contain password information. \nPassword information contained in comments can be exposed to attackers. This practice may allow for security threats to the system. Passwords are often written in comments for development convenience, but they are hard to remove once the software is deployed into production. Do not include IDs, passwords, and other security-sensitive information in comments. If an attacker can access the source code or use reverse engineering to view the code, the attacker will be able to easily intrude the system.\nEliminate password information in comments.",
  "rule.sast.sw.swift.2920.example.0.dangerous": "Line 6: An userId and password are used for debugging, and not properly deleted from comments.",
  "rule.sast.sw.swift.2920.example.0.safe": "Line 6: Remove code to be used for debugging, such as userId and password information in comments.",
  "rule.sast.sw.swift.2920.name": "Password in comment",
  "rule.sast.sw.swift.2920.option.allowed_max_word_length.description": "Write the maximum length of a single word to be allowed in comments.<br />Example) 40",
  "rule.sast.sw.swift.2920.option.allowed_max_word_length.name": "Maximum consecutive word length",
  "rule.sast.sw.swift.2920.option.check_header.description": "If the option is enabled, all comments in the header files will be checked.",
  "rule.sast.sw.swift.2920.option.check_header.name": "Inspect header files",
  "rule.sast.sw.swift.2920.option.check_password_only.description": "If selected, password expressions will be detected even if it exists solely.",
  "rule.sast.sw.swift.2920.option.check_password_only.name": "Check password expressions solely existing",
  "rule.sast.sw.swift.2920.option.consecutive_word_expr.description": "Write an expression of the consecutive word which exceeds the maximum length to be detected.<br />Example) [a-zA-Z0-9]+",
  "rule.sast.sw.swift.2920.option.consecutive_word_expr.name": "Consecutive word expressions to detect",
  "rule.sast.sw.swift.2920.option.fixed_key_length.description": "Write a fixed length of key.",
  "rule.sast.sw.swift.2920.option.fixed_key_length.name": "A fixed length of key",
  "rule.sast.sw.swift.2920.option.password_expr.description": "Write the expression of a string that may be considered as a password.<br />Example) password",
  "rule.sast.sw.swift.2920.option.password_expr.name": "Password expression",
  "rule.sast.sw.swift.2920.option.using_fixed_key_length.description": "If the option is enabled, the fixed length of key string will be detected.",
  "rule.sast.sw.swift.2920.option.using_fixed_key_length.name": "Check a fixed length of key",
  "rule.sast.sw.swift.2930.description": "The Format string injection checker finds instances of using a format string that is not a constant but built with an unvalidated external input.\nUsing an unvalidated external input as a format string may pose a security vulnerability. This can be exploited to attack a weak process, or read from or write to memory.\nFunctions such as print() should not be called with a format string that is built with or generated from a user input. If a user input needs to be used for a format string, it is recommended to use the %s format specifier or f-string as a placeholder for each user input and pass user inputs to the second and subsequent parameters.",
  "rule.sast.sw.swift.2930.example.0.dangerous": "Line 5: An unvalidated external input is used as a format string.",
  "rule.sast.sw.swift.2930.example.0.safe": "Line 5: Use a %s format specifier for the external input.",
  "rule.sast.sw.swift.2930.name": "Format string injection",
  "rule.sast.sw.swift.2930.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) return of name(\"filter\")",
  "rule.sast.sw.swift.2930.option.taint_filter.name": "External information filter",
  "rule.sast.sw.swift.2930.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of \"+\" to return",
  "rule.sast.sw.swift.2930.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.swift.2930.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) base of name(\"format\")",
  "rule.sast.sw.swift.2930.option.taint_sink.name": "External information sink",
  "rule.sast.sw.swift.2930.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of fqn(\"django.http.HttpRequest.field\")",
  "rule.sast.sw.swift.2930.option.taint_source.name": "External information source",
  "rule.sast.sw.swift.2931.description": "The Reliance on untrusted cookies in security decisions checker finds instances of storing user credentials in a cookie. \nDevelopers may assume that inputs such as cookies, environment variables, and hidden form fields cannot be modified. However, an attacker could change these inputs using various approaches and this change might not be detected. When security decisions such as authentication and authorization are made based on the values of these inputs, attackers can bypass the security checks of the application. Therefore, inputs from external users should not be trusted.\nMake sure that critical information such as state information, sensitive data, and user sessions is stored in the server, and security checks are performed on the server side. Understand all the potential areas where untrusted inputs can enter your application. Identify all inputs that are used for security decisions and determine if you can modify the design so that you do not have to rely on submitted inputs at all. ",
  "rule.sast.sw.swift.2931.example.0.dangerous": "Line 11: Authentication data is stored to cookies in plaintext. This enables attackers to change cookie information.",
  "rule.sast.sw.swift.2931.example.0.safe": "Line 6: Save the user authentication information into sessions, which can remove risks to be exposed.",
  "rule.sast.sw.swift.2931.name": "Reliance on untrusted cookies in security decisions",
  "rule.sast.sw.swift.2931.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) return of name(\"filter\")",
  "rule.sast.sw.swift.2931.option.taint_filter.name": "External information filter",
  "rule.sast.sw.swift.2931.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) operand(*) of \"+\" to return",
  "rule.sast.sw.swift.2931.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.swift.2931.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) param(*) of name(\"add_header\")",
  "rule.sast.sw.swift.2931.option.taint_sink.name": "External information sink",
  "rule.sast.sw.swift.2931.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) return of fqn(\"django.http.HttpRequest.field\")",
  "rule.sast.sw.swift.2931.option.taint_source.name": "External information source",
  "rule.sast.sw.swift.2932.description": "The Missing authentication checker finds instances of failure to implement a control routine using authentication.\nYou can optionally specify the name of the authentication routine that should be called and the names of pages that must call the routine.\nIf an authentication routine is not called, an unauthorized user can obtain a permission.\nMake sure an appropriate authentication routine is called at each necessary position.",
  "rule.sast.sw.swift.2932.example.0.dangerous": "Line 8: User information is changed without a call to access control authentication routine.",
  "rule.sast.sw.swift.2932.example.0.safe": "Line 7: Verify a user permission, then change the user information.",
  "rule.sast.sw.swift.2932.name": "Missing authentication",
  "rule.sast.sw.swift.2932.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) strlen$param(1)",
  "rule.sast.sw.swift.2932.option.taint_filter.name": "External information filter",
  "rule.sast.sw.swift.2932.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />Example) \\.$operand(*)->return",
  "rule.sast.sw.swift.2932.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.swift.2932.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />Example) mysql_query$param(*)",
  "rule.sast.sw.swift.2932.option.taint_sink.name": "External information sink",
  "rule.sast.sw.swift.2932.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) variable of fqn(\"$_GET[\\\"password\\\"]\")",
  "rule.sast.sw.swift.2932.option.taint_source.name": "External information source",
  "rule.sast.sw.swift.2933.description": "The Improper authorization checker finds code that fails to fully control accesses of execution paths after user authentication.\nIf validation for access control is not performed or completed for all execution paths, attackers can exploit the accessible path to leak information.\nCategorize information of the application based on its features to reduce attack surfaces, exposed to attackers, as much as possible. Also, manage access control list (ACL) of the application based on user permissions to reduce risk to leak the information.",
  "rule.sast.sw.swift.2933.example.0.dangerous": "Line 5: connection is accessed without user authentication.",
  "rule.sast.sw.swift.2933.example.0.safe": "Line 5: Use access control to access with user ID and password.",
  "rule.sast.sw.swift.2933.name": "Improper authorization",
  "rule.sast.sw.swift.2934.description": "The Reliance on DNS lookups in security decisions checker finds instances in which authentication and access controls rely solely on the domain name.\nBecause DNS servers are targeted for spoofing, reliance on the domain name allows attackers to modify the DNS to point the domain name to their IP address. They can create fake DNS entries, and you must avoid security decisions (authentication, access controls, etc.) solely based on the domain name. A tainted local DNS cache may let the network traffic between a particular server and users transferred through an attacker.\nFor servers with known IP addresses, use their IP addresses.",
  "rule.sast.sw.swift.2934.example.0.dangerous": "Line 11: Gethostbyaddr() function is used to acquire a domain name.",
  "rule.sast.sw.swift.2934.example.0.safe": "Line 11: Perform the security decision with an IP address instead of the domain name.",
  "rule.sast.sw.swift.2934.name": "Reliance on DNS lookups in security decisions",
  "rule.sast.sw.swift.2935.description": "The Improper random number generation checker finds code with predictable random values.\nYou can optionally specify random number generating methods that should not be used.\nIf a predictable random number is used when an unpredictable number is demanded, an attacker can predict subsequently generated numbers and use them to attack the system.\nUse secure way to generate random numbers rather than forbidden methods specified in the options.",
  "rule.sast.sw.swift.2935.example.0.dangerous": "Line 4: An insecure random function, random(), is used.",
  "rule.sast.sw.swift.2935.example.0.safe": "Line 4: Use a secure random function, GKRandomSource.sharedRandom().",
  "rule.sast.sw.swift.2935.name": "Improper random number generation",
  "rule.sast.sw.swift.2965.description": "The Improper Reference of XML Entity checker finds code that enables to use external entities in XML libraries.\nTo be specific, a function call or argument which allows to use an external entity. When shouldResolveExternalEntities of NSXMLParser object is set to true, you are allowed to use external entities.\nIf the external entity is allowed for XML libraries, attackers can access to unauthorized or important files. This may lead to SSRF (Server Side Request Forgery) vulnerability.\nDo not use a function call or argument which allows to use an external entity.",
  "rule.sast.sw.swift.2965.example.0.dangerous": "Line 5: shouldResolveExternalEntities of NSXMLParser object is specified to true. This is vulnerable to XXE attacks.",
  "rule.sast.sw.swift.2965.example.0.safe": "Line 5: Set the shouldResolveExternalEntities of NSXMLParser object to false.",
  "rule.sast.sw.swift.2965.name": "Improper Reference of XML Entity",
  "rule.sast.sw.swift.2966.description": "The Weak Server Certificate checker finds code that fails to properly validate certificates.\nIt is required to validate X.509 certificates in order to create secure SSL/TLS sessions which are safe against the MITM(Man in the Middle) attacks. If you are not perform proper validation for the certificates, it may lead to security issues. \nEnsure to use a proper value for arguments of validating function that is provided by libraries.",
  "rule.sast.sw.swift.2966.example.0.dangerous": "Line 3: The second argument of a call to SSL_CTX_set_verify() function is set to SSL_VERIFY_NONE. Therefore, a certificate is not correctly validated.",
  "rule.sast.sw.swift.2966.example.0.safe": "Line 3: Set the second argument to SSL_VERIFY_PEER.",
  "rule.sast.sw.swift.2966.name": "Weak Server Certificate",
  "rule.sast.sw.swift.2967.description": "The Deserialization of Untrusted Data checker finds code that uses an insecure deserialization protocol. Ensure to use a secure serialization protocol such as NSSecureCoding. You can serialize objects for storing or transmitting, and deserialize them when you need. However, when untrusted data is deserialized without additional protection, this may get exploited by the object substitution attacks.",
  "rule.sast.sw.swift.2967.example.0.dangerous": "Line 1: An insecure serialization protocol, NSCoding, is used.",
  "rule.sast.sw.swift.2967.example.0.safe": "Line 1: Use NSSecureCoding protocol to avoid the object substitution attacks.",
  "rule.sast.sw.swift.2967.name": "Deserialization of Untrusted Data",
  "rule.sast.sw.ts.5854.description": "In Typescript, the Strict mode enables type-checks extensively, which can make your program more accurate and less prone to errors. Disabling this feature can lead to weak methods being used or various errors being ignored, creating potential vulnerabilities in your source code.\nThe Strict setting enables a total of eight flags, each of which is described below:\n1. Always Strict: Enables ECMAScript Strict Mode by adding `use strict` to all source files.\n2. Strict Null Checks: Explicitly handles `null` and `undefined`.\n3. Strict Bind Call Apply: Ensures that the built-in methods of calling, binding, and applying functions are called with the correct arguments to the underlying function.\n4. Strict Function Types: Checks function parameters more precisely.\n5. Strict Property Initialization: Raise an error if a class property is declared but not set in the constructor.\n6. No Implicit Any: Raises an error for variables that are of type `any`.\n7. No Implicit This: Raises an error on a `this` expression that has a type of `any`.\n8. Use Unknown In Catch Variables: Changes the `error` type to `unknown` in the `catch` statement.\nIn the Typescript configuration file, `tsconfig.json` or `jsconfig.json`, declare the `strict` property inside the `compilerOptions` section to be `true`.\n",
  "rule.sast.sw.ts.5854.example.0.dangerous": "Line 4: Disabling the strict mode group, which can lead to vulnerabilities in the source code.",
  "rule.sast.sw.ts.5854.example.0.safe": "Line 4: Enabling the strict mode group makes the program more secure.",
  "rule.sast.sw.ts.5854.name": "Using Strict Mode Group",
  "rule.sast.sw.ts.5855.description": "Typescript provides `noImplicitAny` as a `Compiler Options`. noImplicitAny' will raise an error for any variable that is implicitly inferred to be `any'. If you don't infer types and use the `any` type, Typescript behaves like normal Javascript.\nEnable it in your Typescript configuration file, `tsconfig.json` or `jsconfig.json`, by declaring the `strict` property inside the `compilerOptions` section to be `true`, or by declaring the `noImplicitAny` property to be `true`.",
  "rule.sast.sw.ts.5855.example.0.dangerous": "Line 4: The noImplicitAny gets disabled. This may introduce vulnerabilities.",
  "rule.sast.sw.ts.5855.example.0.safe": "Line 4: The noImplicitAny gets enabled. This makes the program more secure.",
  "rule.sast.sw.ts.5855.name": "Using Implicit Any Type",
  "rule.sast.sw.ts.5856.description": "The issue of distinguishing between `null` and `undefined` is the source of many bugs. Typescript supports `strictNullChecks` which makes clear distinction and prevents developers from referencing `null` or `undefined` values.\nEnable it in your Typescript configuration file, `tsconfig.json` or `jsconfig.json`, by declaring the `strict` property inside the `compilerOptions` section to be `true`; or by declaring the `strictNullChecks` property to be `true`.",
  "rule.sast.sw.ts.5856.example.0.dangerous": "Line 4: The `strictNullChecks` gets disabled. This may introduce vulnerabilities.",
  "rule.sast.sw.ts.5856.example.0.safe": "Line 4: The `strictNullChecks` gets enabled. This makes the program more secure.",
  "rule.sast.sw.ts.5856.name": "Clear Distinction of Null Type",
  "rule.sast.sw.ts.5857.description": "Strict mode is compatible with other code and makes your source code behave more safely by imposing restrictions on it, such as throwing previously ignored errors or prohibiting the use of dangerous methods. Typescript allows you to explicitly use `use stirct` in your source code, but recommends that you use `alwaysStrict` to have stirct mode automatically added to all your source code.\nEnable Strict Mode in your Typescript configuration file, `tsconfig.json` or `jsconfig.json`: declare the `strict` property inside the `compilerOptions` section to be `true`, or declare the `alwaysStrict` property to be `true`.",
  "rule.sast.sw.ts.5857.example.0.dangerous": "Line 4: The `alwaysStrict` gets disabled. This may introduce vulnerabilities.",
  "rule.sast.sw.ts.5857.example.0.safe": "Line 4: The `alwaysStrict` gets enabled. This makes the program more secure.",
  "rule.sast.sw.ts.5857.name": "Enabling alwaysStrict Mode",
  "rule.sast.sw.unknown.1448.description": "The Enabled remote monitoring checker finds code that sets an application that can be remotely monitored.\nIf you allow remote monitoring by adjusting the application settings, attackers can steal sensitive information and validate actions and data from the application. Moreover, they can control the program actions as well.\nThe program settings need to be adjusted to disable the remote monitoring.",
  "rule.sast.sw.unknown.1448.example.0.dangerous": "Line 1: An option with monitoring risk is used.\nLine 2: An option with monitoring risk is used.\nLine 3: An option with monitoring risk is used.",
  "rule.sast.sw.unknown.1448.example.0.safe": "Line 1: Avoid using the option that enables remote monitoring.",
  "rule.sast.sw.unknown.1448.name": "Enabled remote monitoring",
  "rule.sast.sw.unknown.1448.option.exclude_extension.description": "Set file extensions which will be excluded in analysis.<br />Example) java",
  "rule.sast.sw.unknown.1448.option.exclude_extension.name": "Exclude file extension",
  "rule.sast.sw.unknown.1448.option.rule.description": "This is the java option that allows you to monitor externally.",
  "rule.sast.sw.unknown.1448.option.rule.name": "Java monitoring option",
  "rule.sast.sw.unknown.1449.description": "The Disabled bytecode verification checker finds code that uses an option to disable bytecode verification.\nThe Java Bytecode Verifier detects unacceptable bytecodes in JVM(Java Virtual Machine).\nThe JBV does not work: these may lead to security problems when -Xverify:none or -noverify option is enabled.\nMake sure to use the Java Bytecode Verifier. By default, the bytecode is verified during compiling process. You can explicitly specify the verification by using -Xverity:all option.",
  "rule.sast.sw.unknown.1449.example.0.dangerous": "Line 1: -Xverify:none option is used.",
  "rule.sast.sw.unknown.1449.example.0.safe": "Line 1: Use the -Xverify:all option or enable the verification by default.",
  "rule.sast.sw.unknown.1449.name": "Disabled bytecode verification",
  "rule.sast.sw.unknown.1449.option.exclude_extension.description": "Set file extensions which will be excluded in analysis.<br />Example) java",
  "rule.sast.sw.unknown.1449.option.exclude_extension.name": "Exclude file extension",
  "rule.sast.sw.unknown.1449.option.rule.description": "Specifies the java bytecode unverified option.",
  "rule.sast.sw.unknown.1449.option.rule.name": "Java bytecode non-verification option",
  "rule.sast.sw.unknown.2364.description": "The User Account Information Hardcoded in JavaScript checker finds JavaScript source code that includes hardcoded user account information.\nThe checker searches for user account information in JavaScript source code, including variables that assume usernames and passwords.\nPersonal information included in code can pose a security issue.\nDo not include user account information in JavaScript.",
  "rule.sast.sw.unknown.2364.example.0.dangerous": "Line 7: A user account information is declared.\nLine 8: A user account information is declared.",
  "rule.sast.sw.unknown.2364.example.0.safe": "Line 1: Do not include user account information in JavaScript.",
  "rule.sast.sw.unknown.2364.name": "User Account Information Hardcoded in JavaScript",
  "rule.sast.sw.unknown.2364.option.exclude_extension.description": "Write a exclusion of file extension.",
  "rule.sast.sw.unknown.2364.option.exclude_extension.name": "Exclusion of file extension",
  "rule.sast.sw.unknown.2364.option.rule.description": "Write a rule of analysis.",
  "rule.sast.sw.unknown.2364.option.rule.name": "Detection rule",
  "rule.sast.sw.unknown.2364.option.target_extension.description": "Write a target of file extension.",
  "rule.sast.sw.unknown.2364.option.target_extension.name": "Target of file extension",
  "rule.sast.sw.unknown.2396.description": "The Password Exposal in Comment checker finds comments that contain password information.\nPassword information contained in comments can be exposed to attackers. This practice may allow for security threats to the system. Passwords are often written in comments for development convenience, but they are hard to remove once the software is deployed into production. Do not include IDs, passwords, and other security-sensitive information in comments. If an attacker can access the source code or use reverse engineering to view the code, the attacker will be able to easily intrude the system.\nEliminate password information in comments. ",
  "rule.sast.sw.unknown.2396.example.0.dangerous": "Line 1: A password is included in comments.",
  "rule.sast.sw.unknown.2396.example.0.safe": "Line 1: Do not include the password in comments.",
  "rule.sast.sw.unknown.2396.name": "Password Exposal in Comment",
  "rule.sast.sw.unknown.2396.option.exclude_extension.description": "Write an exclude file extension.",
  "rule.sast.sw.unknown.2396.option.exclude_extension.name": "Exclusion of file extension",
  "rule.sast.sw.unknown.2396.option.rule.description": "Write malicious URL rules.",
  "rule.sast.sw.unknown.2396.option.rule.name": "Detection rule",
  "rule.sast.sw.unknown.2396.option.target_extension.description": "Write a target of file extension.",
  "rule.sast.sw.unknown.2396.option.target_extension.name": "Target of file extension",
  "rule.sast.sw.unknown.5858.description": "The Hardcoded password checker finds hardcoded passwords.\nIf program code contains a hardcoded password that is used for internal authentication or for communications with an external component, it can be exploited to leak administrator information.\nPasswords are recommended to be encrypted and stored in a separate file.",
  "rule.sast.sw.unknown.5858.example.0.dangerous": "Line 2: A hardcoded password is used.",
  "rule.sast.sw.unknown.5858.example.0.safe": "Line 1: Do not use hardcoded passwords.",
  "rule.sast.sw.unknown.5858.name": "Hardcoded Password",
  "rule.sast.sw.unknown.5858.option.exclude_extension.description": "Write an exclude file extension.",
  "rule.sast.sw.unknown.5858.option.exclude_extension.name": "Exclusion of file extension",
  "rule.sast.sw.unknown.5858.option.rule.description": "Write malicious URL rules.",
  "rule.sast.sw.unknown.5858.option.rule.name": "Detection rule",
  "rule.sast.sw.unknown.5858.option.target_extension.description": "Write a target of file extension.",
  "rule.sast.sw.unknown.5858.option.target_extension.name": "Target of file extension",
  "rule.sast.sw.unknown.7296.description": "Hardcoded sensitive information used for internal authentication or external component communication allows attackers to steal it by sniffing, analyzing source code, or reverse engineering.\nThe rule provides a whitelist option to specify the formats of the the sensitive information.\nUse the sensitive information with environment variables, or archive encrypted information within setting file or database. Also, it is recommended to use a secret management system such as the AWS Secrets Manager or the HashiCorp Vault.",
  "rule.sast.sw.unknown.7296.example.0.dangerous": "Line 2: Sensitive information is hardcoded within the JSON file.",
  "rule.sast.sw.unknown.7296.example.0.safe": "Line 1: Do not include sensitive information within the JSON file.",
  "rule.sast.sw.unknown.7296.name": "Hardcoded sensitive information",
  "rule.sast.sw.unknown.7297.description": "Hardcoded sensitive information used for internal authentication or external component communication allows attackers to steal it by sniffing, analyzing source code, or reverse engineering.\nThe rule provides a whitelist option to specify the formats of the the sensitive information.\nUse the sensitive information with environment variables, or archive encrypted information within setting file or database. Also, it is recommended to use a secret management system such as the AWS Secrets Manager or the HashiCorp Vault.",
  "rule.sast.sw.unknown.7297.example.0.dangerous": "Line 1: Sensitive information is hardcoded within the YAML file.",
  "rule.sast.sw.unknown.7297.example.0.safe": "Line 1: Do not include sensitive information within the YAML file.",
  "rule.sast.sw.unknown.7297.name": "Hardcoded sensitive information",
  "rule.sast.sw.vbnet.1713.description": "The Command injection checker finds instances in which a command is executed by an unvalidated external input.\nThe checker searches for a dangerous external input used to execute a command by calling a function such as Shell.\nIf a user input that has not been properly validated constitutes the whole or part of an OS command to execute it in an unintended way, this may cause improper permission changes or harmful effects on the system's processes or operations.\nIf a command needs to be generated or selected based on an external input, whitelist safe values for command generation and restrict values determined by external inputs to those selected from within the whitelist.",
  "rule.sast.sw.vbnet.1713.example.0.dangerous": "Line 2: An external input is stored to cmd.\nLine 3: An insecure cmd value is used in shell function.",
  "rule.sast.sw.vbnet.1713.example.0.safe": "Line 2: An external input is stored to cmd.\nLine 3: Verify the cmd values with filter(), and use verified cmds as arguments of system command execution.",
  "rule.sast.sw.vbnet.1713.name": "Command injection",
  "rule.sast.sw.vbnet.1713.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) filter$param(1)",
  "rule.sast.sw.vbnet.1713.option.taint_filter.name": "External information filter",
  "rule.sast.sw.vbnet.1713.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.vbnet.1713.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.vbnet.1713.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example) &$operand(*)->return",
  "rule.sast.sw.vbnet.1713.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.vbnet.1713.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />example) shell$param(*)",
  "rule.sast.sw.vbnet.1713.option.taint_sink.name": "External information sink",
  "rule.sast.sw.vbnet.1713.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) request.form$return",
  "rule.sast.sw.vbnet.1713.option.taint_source.name": "External information source",
  "rule.sast.sw.vbnet.1715.description": "The Empty catch block checker finds exception-handling blocks that have no relevant content.\nIt detects empty catch blocks containing no actual executable code.\nIf a caught exception is not handled, it is hard to find out the causes of accompanying program errors.\nAdd an exception-handling code in the empty block. If you don't want any measure for an exception, you may simply leave an error message.",
  "rule.sast.sw.vbnet.1715.example.0.dangerous": "Line 3: An error is caught in a catch block, but no action is taken.",
  "rule.sast.sw.vbnet.1715.example.0.safe": "Line 4: Properly handle each exception after catching it.",
  "rule.sast.sw.vbnet.1715.name": "Empty catch block",
  "rule.sast.sw.vbnet.1716.description": "The Hardcoded user name and password checker finds instances in which a string constant is passed to a user id or password parameter.\nIf a user password is contained in source code, anybody with access to the code can obtain the password.\nUser passwords have to be loaded from an external source.",
  "rule.sast.sw.vbnet.1716.example.0.dangerous": "Line 1: A constant string is used as an argument of password in System.Data.SqlClient.SqlConnection().",
  "rule.sast.sw.vbnet.1716.example.0.safe": "Line 1: Use other methods to obtain an argument with the password from System.Data.SqlClient.SqlConnection().",
  "rule.sast.sw.vbnet.1716.name": "Hardcoded user name and password",
  "rule.sast.sw.vbnet.1717.description": "The HTTP Response Splitting checker finds HTTP responses created with an unvalidated external input.\nWhen arguments passed in an HTTP request are sent back through an HTTP response header, newline characters such as CRs (carriage returns) and LFs (line feeds) contained in the inputs can split the HTTP response into two or more. By exploiting this, attackers can use a newline to stop the first response and inject a malicious code into the second one for an XSS or cache poisoning attack.\nIf you need to include request parameters in an HTTP response header such as Set-Cookie, make sure all CRs and LFs are filtered out.",
  "rule.sast.sw.vbnet.1717.example.0.dangerous": "Line 2: An external input is stored in variable a.\nLine 3: An HTTP response header is generated by using variable a without validation.",
  "rule.sast.sw.vbnet.1717.example.0.safe": "Line 2: An external input is stored in variable a.\nLine 3: Filter out tainted strings, such as \"\\n\", \"\\r\", of external inputs.\nLine 4: Use variable a to generate an HTTP response header.",
  "rule.sast.sw.vbnet.1717.name": "HTTP Response Splitting",
  "rule.sast.sw.vbnet.1717.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />example) filter$param(1)",
  "rule.sast.sw.vbnet.1717.option.taint_filter.name": "External information filter",
  "rule.sast.sw.vbnet.1717.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.vbnet.1717.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.vbnet.1717.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example) &$operand(*)->return",
  "rule.sast.sw.vbnet.1717.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.vbnet.1717.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />example) shell$param(*)",
  "rule.sast.sw.vbnet.1717.option.taint_sink.name": "External information sink",
  "rule.sast.sw.vbnet.1717.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) request.form$return",
  "rule.sast.sw.vbnet.1717.option.taint_source.name": "External information source",
  "rule.sast.sw.vbnet.1718.description": "The LDAP Injection checker finds LDAP (Lightweight Directory Access Protocol) queries built with an unvalidated external input.\nUnvalidated external inputs can be exploited to execute unintended LDAP commands. To be specific, if the web application does not handle user inputs properly, attackers can alter LDAP query commands, thereby enabling the process to behave with the same authentication as the command executor component.\nMake sure user inputs provided for distinguished names (DNs) and filters do not include special characters. If special characters have to be allowed in inputs, have =, +, <, >, #, ;, and \\ recognized as plain characters, not as executable commands.",
  "rule.sast.sw.vbnet.1718.example.0.dangerous": "Line 4: External input request.Form(\"username\") is used to generate an LDAP query.",
  "rule.sast.sw.vbnet.1718.example.0.safe": "Line 4: Store external inputs to variable str.\nLine 5: Use a regular expression to validate an external input.\nLine 6: Generate an LDAP query with the validated input.",
  "rule.sast.sw.vbnet.1718.name": "LDAP Injection",
  "rule.sast.sw.vbnet.1718.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) filter$param(1)",
  "rule.sast.sw.vbnet.1718.option.taint_filter.name": "External information filter",
  "rule.sast.sw.vbnet.1718.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.vbnet.1718.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.vbnet.1718.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example) &$operand(*)->return",
  "rule.sast.sw.vbnet.1718.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.vbnet.1718.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />example) shell$param(*)",
  "rule.sast.sw.vbnet.1718.option.taint_sink.name": "External information sink",
  "rule.sast.sw.vbnet.1718.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) request.form$return",
  "rule.sast.sw.vbnet.1718.option.taint_source.name": "External information source",
  "rule.sast.sw.vbnet.1719.description": "The Exposure of system information checker finds catch statements displaying system information.\nExposed error messages may contain sensitive information helping attack the system.\nMake sure system information is not exposed.",
  "rule.sast.sw.vbnet.1719.example.0.dangerous": "Line 4: System information is printed out.",
  "rule.sast.sw.vbnet.1719.example.0.safe": "Line 4: Add a valid exception handling.",
  "rule.sast.sw.vbnet.1719.name": "Exposure of system information",
  "rule.sast.sw.vbnet.1720.description": "The Redirection to untrusted site checker finds instances of redirecting to a URL generated with an unvalidated external input.\nAlthough connecting to a client-provided URL is often believed to be safe, an attacker can modify the request and redirect the user to a malicious site.\nMaintain a whitelist of external site URLs and domains allowed for redirection, which needs to be checked when a user input is passed as a redirect URL.",
  "rule.sast.sw.vbnet.1720.example.0.dangerous": "Line 2: This is redirected to an external string variable URL.",
  "rule.sast.sw.vbnet.1720.example.0.safe": "Line 2: Validate an external input through a filter function.\nLine 3: Redirect this to a validated URL.",
  "rule.sast.sw.vbnet.1720.name": "Redirection to untrusted site",
  "rule.sast.sw.vbnet.1720.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) filter$param(1)",
  "rule.sast.sw.vbnet.1720.option.taint_filter.name": "External information filter",
  "rule.sast.sw.vbnet.1720.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.vbnet.1720.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.vbnet.1720.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example) &$operand(*)->return",
  "rule.sast.sw.vbnet.1720.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.vbnet.1720.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />example) shell$param(*)",
  "rule.sast.sw.vbnet.1720.option.taint_sink.name": "External information sink",
  "rule.sast.sw.vbnet.1720.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) request.form$return",
  "rule.sast.sw.vbnet.1720.option.taint_source.name": "External information source",
  "rule.sast.sw.vbnet.1721.description": "The Catching overly broad exceptions checker finds instances of generalizing a wide range of exceptions in handling them.\nAn extremely wide generalization of exceptions may prevent some specific exceptions from being properly handled; more seriously, this may let even logically implausible cases simply covered by the super generalized handler, hence hindering them from being detected and fixed. As a result, design and implementation defects may remain undiscovered in the development and review phases before the program is deployed into production, possibly leading to serious issues.\nIt is recommended to categorize possible exceptions explicitly and handle them separately. If general exception handling is needed, have it performed in the last place after all specific exceptions are handled. Then, if the flow of execution ever reaches the general exception handling block, it suggests that the caught exception was not considered during development. This helps fix defects implied by unexpected exceptions.",
  "rule.sast.sw.vbnet.1721.example.0.dangerous": "Line 3: Use an Exception to handle exceptions.",
  "rule.sast.sw.vbnet.1721.example.0.safe": "Line 3: Handle an exception by using IOException.\nLine 5: Handle an exception by using SQLException.",
  "rule.sast.sw.vbnet.1721.name": "Catching overly broad exceptions",
  "rule.sast.sw.vbnet.1722.description": "The Path Manipulation checker finds instances in which an unvalidated external input creates a path accessible to the file system.\nIf unvalidated external inputs are allowed to be used for access to files, servers, or other system resources, attackers can manipulate inputs to access an unintended path in the program. In other words, path manipulation can be used to obtain illegitimate access to modify or execute settings files.\nIf external inputs are used as identifiers for resources (such as files), make sure they pass appropriate validation. Especially, if external inputs are filenames, use a filter to remove characters such as `, /, \\, and ..  that can be exploited for a directory traversal attack.",
  "rule.sast.sw.vbnet.1722.example.0.dangerous": "Line 3: A file is created with an unverified path.",
  "rule.sast.sw.vbnet.1722.example.0.safe": "Line 3: Verify a path of an external input.\nLine 4: Generate a file with the validated path.",
  "rule.sast.sw.vbnet.1722.name": "Path Traversal",
  "rule.sast.sw.vbnet.1722.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />example) filter$param(1)",
  "rule.sast.sw.vbnet.1722.option.taint_filter.name": "External information filter",
  "rule.sast.sw.vbnet.1722.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.vbnet.1722.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.vbnet.1722.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example) &$operand(*)->return",
  "rule.sast.sw.vbnet.1722.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.vbnet.1722.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />example) shell$param(*)",
  "rule.sast.sw.vbnet.1722.option.taint_sink.name": "External information sink",
  "rule.sast.sw.vbnet.1722.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) request.form$return",
  "rule.sast.sw.vbnet.1722.option.taint_source.name": "External information source",
  "rule.sast.sw.vbnet.1723.description": "The Reliance on DNS lookups in security decisions checker finds instances in which authentication and access controls rely solely on the domain name.\nBecause DNS servers are targeted for spoofing, reliance on the domain name allows attackers to modify the DNS to point the domain name to their IP address. They can create fake DNS entries, and you must avoid security decisions (authentication, access controls, etc.) solely based on the domain name. A tainted local DNS cache may let the network traffic between a particular server and users transferred through an attacker.\nFor servers with known IP addresses, use their IP addresses.",
  "rule.sast.sw.vbnet.1723.example.0.dangerous": "Line 2: User information is obtained by using DNS.",
  "rule.sast.sw.vbnet.1723.example.0.safe": "Line 2: Use an IP address to get user information.",
  "rule.sast.sw.vbnet.1723.name": "Reliance on DNS lookups in security decisions",
  "rule.sast.sw.vbnet.1723.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) filter$param(1)",
  "rule.sast.sw.vbnet.1723.option.taint_filter.name": "External information filter",
  "rule.sast.sw.vbnet.1723.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.vbnet.1723.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.vbnet.1723.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example) &$operand(*)->return",
  "rule.sast.sw.vbnet.1723.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.vbnet.1723.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />example) shell$param(*)",
  "rule.sast.sw.vbnet.1723.option.taint_sink.name": "External information sink",
  "rule.sast.sw.vbnet.1723.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) request.form$return",
  "rule.sast.sw.vbnet.1723.option.taint_source.name": "External information source",
  "rule.sast.sw.vbnet.1724.description": "The SQL Injection checker finds SQL queries that include an unvalidated external input.\nIf an unvalidated external input is allowed in SQL queries, attackers can inject a crafted query that has an altered meaning. This vulnerability lets attackers access or manipulate information in the database.\nExternal inputs must be validated or parameterized before being used in SQL queries.",
  "rule.sast.sw.vbnet.1724.example.0.dangerous": "Line 5: An external input idTextBox.Text is saved in SqlStr.\nLine 6: Use unvalidated SqlStr to generate SqlCmd.",
  "rule.sast.sw.vbnet.1724.example.0.safe": "Line 5: Save the SqlStr by marking values to be changed as @IdTextBox in the SQL queries.\nLine 6: Use SqlStr to generate SqlCmd.\nLine 7: Parameterize an external input IdTextBox.Text to apply to SqlCmd.",
  "rule.sast.sw.vbnet.1724.name": "SQL Injection",
  "rule.sast.sw.vbnet.1724.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) filter$param(1)",
  "rule.sast.sw.vbnet.1724.option.taint_filter.name": "External information filter",
  "rule.sast.sw.vbnet.1724.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.vbnet.1724.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.vbnet.1724.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example) &$operand(*)->return",
  "rule.sast.sw.vbnet.1724.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.vbnet.1724.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br /> example) .*.open$param(*)",
  "rule.sast.sw.vbnet.1724.option.taint_sink.name": "External information sink",
  "rule.sast.sw.vbnet.1724.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) request.form$return",
  "rule.sast.sw.vbnet.1724.option.taint_source.name": "External information source",
  "rule.sast.sw.vbnet.1725.description": "The Unrestricted File Upload checker finds instances of uploading files to a server without checking their extensions.\nBy uploading a script file, attackers may obtain control of the system.\nMake sure that before files are uploaded, their extensions are verified.",
  "rule.sast.sw.vbnet.1725.example.0.dangerous": "Line 2: A file is named after FileUpload1.\nLine 3: A file is saved to savePath + fileName path without checking its extension.",
  "rule.sast.sw.vbnet.1725.example.0.safe": "Line 2: A file is named after FileUpload1.\nLine 3: Upload only when the file has a jpg extension.",
  "rule.sast.sw.vbnet.1725.name": "Unrestricted File Upload",
  "rule.sast.sw.vbnet.1725.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) filter$param(1)",
  "rule.sast.sw.vbnet.1725.option.taint_filter.name": "External information filter",
  "rule.sast.sw.vbnet.1725.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.vbnet.1725.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.vbnet.1725.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example) &$operand(*)->return",
  "rule.sast.sw.vbnet.1725.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.vbnet.1725.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br /> example) .*.open$param(*)",
  "rule.sast.sw.vbnet.1725.option.taint_sink.name": "External information sink",
  "rule.sast.sw.vbnet.1725.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />example) request.form$return",
  "rule.sast.sw.vbnet.1725.option.taint_source.name": "External information source",
  "rule.sast.sw.vbnet.1726.description": "The Weak cryptographic algorithm checker finds instances of using a cryptographic algorithm known to be insecure. \nNon-standard cryptographic algorithms can be more easily cryptanalyzed and cracked by attackers. Some old algorithms have been weak over time as computing power grows-It used to be expected to take an extremely long time to crack them in the past, but now they can be broken in a couple of days or hours. Using an old or non-standard cryptographic algorithm may allow attackers to cryptanalyze and disable it.\nDeveloping your own cryptographic algorithm is dangerous; instead, use standard algorithms that have been proven in academia and industry. Use secure algorithms such as 3DES, AES, and SEED instead of those considered weak such as DES and RC5. And encryption keys must be long enough in accordance with the appropriate length suggested by each standard, secure algorithm.",
  "rule.sast.sw.vbnet.1726.example.0.dangerous": "Line 1: An insecure DES encryption algorithm is used.",
  "rule.sast.sw.vbnet.1726.example.0.safe": "Line 1: Ensure to use AES encryption algorithms that are known to be secure.",
  "rule.sast.sw.vbnet.1726.name": "Weak cryptographic algorithm",
  "rule.sast.sw.vbnet.1727.description": "The Insufficient cryptographic key size checker finds encryption keys that are too short.\nYou can optionally specify the minimum key length that ensures security.\nAn encryption key is used for encryption and decryption purposes; if it is not long enough, it can be uncovered in a practically short time even with a verified cryptographic algorithm used. This can be exploited to decrypt encrypted data or passwords.\nEach major algorithm suggests an appropriate length of a key that ensures an extremely long time is taken to break the key at the currently known level of technology, thus making attacks on it practically impossible. It is recommended to use a key no shorter than the suggested length. For instance, the RSA algorithm must be used with a key of at least 2,048 bits (as of 2015), while symmetric encryption algorithms require a key of at least 128 bits.",
  "rule.sast.sw.vbnet.1727.example.0.dangerous": "Line 1: An encryption algorithm key is too short. (at least 1024 bit)",
  "rule.sast.sw.vbnet.1727.example.0.safe": "Line 1: Specify the key length for encryption.",
  "rule.sast.sw.vbnet.1727.name": "Insufficient cryptographic key size",
  "rule.sast.sw.vbnet.1728.description": "The XPath Injection checker finds XPath queries that include an unvalidated external input.\nIf external inputs are allowed in XPath queries without appropriately validating them, attackers can feed an unexpected string to twist a query's meaning or alter its structure, thereby gaining access to restricted data.\nMake sure external inputs used in XPath queries are filtered for special characters (`, [, ], /, =, @, etc.) and reserved words.",
  "rule.sast.sw.vbnet.1728.example.0.dangerous": "Line 6: An external input is included in XPath query.\nLine 7: An external input is used without validation.",
  "rule.sast.sw.vbnet.1728.example.0.safe": "Line 7: Store external inputs to variable str.\nLine 8: \"'\" symbols, which can cause XPath injections, are replaced with \"'\" from the external input.\nLine 9: Run the validated XPath query.",
  "rule.sast.sw.vbnet.1728.name": "XPath Injection",
  "rule.sast.sw.vbnet.1728.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />example) filter$param(1)",
  "rule.sast.sw.vbnet.1728.option.taint_filter.name": "External information filter",
  "rule.sast.sw.vbnet.1728.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.vbnet.1728.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.vbnet.1728.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example) &$operand(*)->return",
  "rule.sast.sw.vbnet.1728.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.vbnet.1728.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br /> example) .*.open$param(*)",
  "rule.sast.sw.vbnet.1728.option.taint_sink.name": "External information sink",
  "rule.sast.sw.vbnet.1728.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) request.form$return",
  "rule.sast.sw.vbnet.1728.option.taint_source.name": "External information source",
  "rule.sast.sw.vbnet.1729.description": "The XQuery Injection checker finds XQuery statements that include an unvalidated external input.\nIf an appropriate validation process is not established for external inputs that are used to create dynamic queries for XML data in XQuery, attackers may arbitrarily modify the query structure. This modification enables them to access restricted data or bypass the authorization checks. In the case of `username='local_user1'` for example, XQuery uses single quotation marks to delimit the text value to be checked against the username. If an external input is used for the value to be checked against and single quotation marks are allowed in it, you can enter as follows: `admin' or ''='`. Then the query's conditional clause will be as follows: `username = 'admin' or ''=''`. As `''=''` always evaluates to true, the condition comparing against \"username\" can be bypassed.\nMake sure external input data used in XQuery are filtered for special characters and reserved words.",
  "rule.sast.sw.vbnet.1729.example.0.dangerous": "Line 2: An external input is included to generate XQuery.\nLine 3: The XQuery with the external input is running without validation.",
  "rule.sast.sw.vbnet.1729.example.0.safe": "Line 3: An external input is stored in docu variable.\nLine 4: \"'\" symbols, which can cause XQuery injections, are removed from the external input.\nLine 5: Run the filtered XQuery.",
  "rule.sast.sw.vbnet.1729.name": "XQuery Injection",
  "rule.sast.sw.vbnet.1729.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />example) filter$param(1)",
  "rule.sast.sw.vbnet.1729.option.taint_filter.name": "External information filter",
  "rule.sast.sw.vbnet.1729.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.vbnet.1729.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.vbnet.1729.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example) &$operand(*)->return",
  "rule.sast.sw.vbnet.1729.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.vbnet.1729.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br /> example) .*.open$param(*)",
  "rule.sast.sw.vbnet.1729.option.taint_sink.name": "External information sink",
  "rule.sast.sw.vbnet.1729.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) request.form$return",
  "rule.sast.sw.vbnet.1729.option.taint_source.name": "External information source",
  "rule.sast.sw.vbnet.1730.description": "The Weak password requirements checker finds instances in which user passwords are accepted without checking for their complexity.\nThe checker searches for a user account created with a password argument that has not been validated by a regex pattern check.\nFully numeric passwords, such as 123123, and some other simple passwords are vulnerable to brute-force attacks. If password patterns are not verified, users can use weak passwords.\nAdministrators can impose restrictions on users to use strong password patterns. For example, these can require to include a certain number of uppercase and lowercase letters, numerals, and special characters, or disallow consecutive identical characters. Refer to the password setting rules from \"KISA Cryptographic Usage Guidelines\".",
  "rule.sast.sw.vbnet.1730.example.0.dangerous": "Line 1: An unvalidated external input is used to create user.",
  "rule.sast.sw.vbnet.1730.example.0.safe": "Line 1: Check that a password comply with applied restrictions through \"strong regex\".",
  "rule.sast.sw.vbnet.1730.name": "Weak password requirements",
  "rule.sast.sw.vbnet.1730.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />example) filter$param(1)",
  "rule.sast.sw.vbnet.1730.option.taint_filter.name": "External information filter",
  "rule.sast.sw.vbnet.1730.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.vbnet.1730.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.vbnet.1730.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example) &$operand(*)->return",
  "rule.sast.sw.vbnet.1730.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.vbnet.1730.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />example) .*.open$param(*)",
  "rule.sast.sw.vbnet.1730.option.taint_sink.name": "External information sink",
  "rule.sast.sw.vbnet.1730.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />example) request.form$return",
  "rule.sast.sw.vbnet.1730.option.taint_source.name": "External information source",
  "rule.sast.sw.vbnet.1731.description": "The Cross-site scripting checker finds instances of including an external input in HTML without validating it.\nIf unvalidated external inputs are allowed for page generation, attackers can inject malicious scripts into the pages. This vulnerability lets attackers take over a user's cookie, session, or other information or execute an abnormal function.\nUse the AntiXss package or other security tools against cross-site scripting; or prevent external inputs from being used for scripts by using a text replacement function or method to substitute characters such as <, >, &, and \" with &lt;, &gt;, &amp;, and &quot;, respectively. For bulletin boards that allow using HTML tags, make a whitelist of allowable HTML tags.",
  "rule.sast.sw.vbnet.1731.example.0.dangerous": "Line 2: An external input is used without a filter.",
  "rule.sast.sw.vbnet.1731.example.0.safe": "Line 2: Filter the external input by using AntiXss package, which blocks XSS.",
  "rule.sast.sw.vbnet.1731.name": "Cross-site scripting",
  "rule.sast.sw.vbnet.1731.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) filter$param(1)",
  "rule.sast.sw.vbnet.1731.option.taint_filter.name": "External information filter",
  "rule.sast.sw.vbnet.1731.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.vbnet.1731.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.vbnet.1731.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example) &$operand(*)->return",
  "rule.sast.sw.vbnet.1731.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.vbnet.1731.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br /> example) .*.open$param(*)",
  "rule.sast.sw.vbnet.1731.option.taint_sink.name": "External information sink",
  "rule.sast.sw.vbnet.1731.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />example) request.form$return",
  "rule.sast.sw.vbnet.1731.option.taint_source.name": "External information source",
  "rule.sast.sw.vbnet.2249.description": "The Use of Non-parameterized Query checker finds SQL queries that include a non-parameterized value.\nIf non-parameterized values are allowed in an SQL query, attackers can may include special characters capable of causing SQL injection.\nParameterize the string inputs to SQL queries to handle potentially dangerous special characters.",
  "rule.sast.sw.vbnet.2249.example.0.dangerous": "Line 1: An unvalidated username is used in a SQL query.",
  "rule.sast.sw.vbnet.2249.example.0.safe": "Line 1: Parameterize an unvalidated value, username, into @username to avoid altering its SQL query structure.",
  "rule.sast.sw.vbnet.2249.name": "Use of Non-parameterized Query",
  "rule.sast.sw.vbnet.3013.description": "The Inappropriate Signature checker finds code that fails to check a signature from a file with the electronic signature.\nSpecifically, the checker finds cases when you do not sign with the strong encryption algorithm for decode() function or JSON Web Token (JWT).\nIf you do not check the electronic signature, attackers can use a forged file and make the program to access an unexpected URL or get tainted by malicious code. Also, if you do not use an encrypted signature to create JSON Web Token, the signature can be exploited and attackers can disguise themselves as you.\nEnsure to call a function that enables validation or send argument of the function when you need to perform the electronic signature.",
  "rule.sast.sw.vbnet.3013.example.0.dangerous": "Line 1: An argument of verify is set to false.\nLine 2: A JwtBuilder object is created without calling a function to perform the secure signature.",
  "rule.sast.sw.vbnet.3013.example.0.safe": "Line 1: Set the argument of verify to true.\nLine 2: Create the JwtBuilder object after calling the MustVerifySignature() function.",
  "rule.sast.sw.vbnet.3013.name": "Inappropriate Signature",
  "rule.sast.sw.vbnet.3014.description": "The Weak Server Certificate checker finds an SSL/TLS connection that is not verified.\nIt is required to validate X.509 certificates in order to create secure SSL/TLS sessions which are safe against the MITM(Man in the Middle) attacks. Specifically, if a callback function of ServicePointManager.ServerCertificateValidationCallback is implemented to trust all certificates, an error might occur.\nEnsure that a callback assigned to ServicePointManager.ServerCertificateValidationCallback is implemented to trust a part of the certificates.",
  "rule.sast.sw.vbnet.3014.example.0.dangerous": "Line 1: A callback function of ServicePointManager.ServerCertificateValidationCallback is implemented to trust all certificates.",
  "rule.sast.sw.vbnet.3014.example.0.safe": "Line 2: Change a callback function of ServicePointManager.ServerCertificateValidationCallback to be implemented to trust a part of certificates.",
  "rule.sast.sw.vbnet.3014.name": "Weak Server Certificate",
  "rule.sast.sw.vbs.1606.description": "The Overly Permissive CORS Policy checker finds instances of setting the CORS policy in the response header to allow any sites.\nIt is risky to pass `Access-Control-Allow-Origin` and `*` to the parameters of Response.AddHeader to allow all sites. If any data coming in from any site is allowed to be shown in the browser, accessors can be exposed to attacks such as cross-site scripting.\nTo the response header, pass a specific safe domain name, instead of `*`, as the value of the `Access-Control-Allow-Origin` attribute.",
  "rule.sast.sw.vbs.1606.example.0.dangerous": "Line 1: All sites are allowed to access with '*,' which is insecure.",
  "rule.sast.sw.vbs.1606.example.0.safe": "Line 1: Check that specified URLs are safe to access, then set them as allowed.",
  "rule.sast.sw.vbs.1606.name": "Overly Permissive CORS Policy",
  "rule.sast.sw.vbs.1608.description": "The Command injection checker finds instances in which a command is executed by an unvalidated external input.\nThe checker searches for a dangerous external input used to execute a command by calling a function such as Shell.\nIf a user input that has not been properly validated constitutes the whole or part of an OS command to execute it in an unintended way, this may cause improper permission changes or harmful effects on the system's processes or operations.\nIf a command needs to be generated or selected based on an external input, whitelist safe values for command generation and restrict values determined by external inputs to those selected from within the whitelist.",
  "rule.sast.sw.vbs.1608.example.0.dangerous": "Line 3: An unvalidated external input is used for execution commands.",
  "rule.sast.sw.vbs.1608.example.0.safe": "Line 2: Filter out the inputs to execute commands.",
  "rule.sast.sw.vbs.1608.name": "Command injection",
  "rule.sast.sw.vbs.1608.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) filter$param(1)",
  "rule.sast.sw.vbs.1608.option.taint_filter.name": "External information filter",
  "rule.sast.sw.vbs.1608.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.vbs.1608.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.vbs.1608.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example) &$operand(*)->return",
  "rule.sast.sw.vbs.1608.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.vbs.1608.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />example) shell$param(*)",
  "rule.sast.sw.vbs.1608.option.taint_sink.name": "External information sink",
  "rule.sast.sw.vbs.1608.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />example) request.form$return",
  "rule.sast.sw.vbs.1608.option.taint_source.name": "External information source",
  "rule.sast.sw.vbs.1609.description": "The Direct dynamic code evaluation checker finds instances of using unvalidated external inputs in dynamic evaluation code.\nStrings passed to the Eval() function during program execution are considered part of code to be executed.\nIf an unvalidated external input is allowed in dynamically executable code, attackers can execute an arbitrary action to achieve their aim.\nCheck if the dynamic evaluation is necessary in the program design; if possible, replace it with a static code that behaves identically. Most ordinary program actions can be implemented without dynamic evaluation; in many cases, programmers use dynamic code simply in order to avoid some bothersome coding. If the use of dynamic code with untrusted external inputs is inevitable, have those inputs filtered, or restrict argument values determined by external inputs to those selected from within a preconfigured array of appropriate values.",
  "rule.sast.sw.vbs.1609.example.0.dangerous": "Line 2: An unvalidated external input is used for Eval() function.",
  "rule.sast.sw.vbs.1609.example.0.safe": "Line 2: Filter out the inputs.",
  "rule.sast.sw.vbs.1609.name": "Direct dynamic code evaluation",
  "rule.sast.sw.vbs.1609.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) filter$param(1)",
  "rule.sast.sw.vbs.1609.option.taint_filter.name": "External information filter",
  "rule.sast.sw.vbs.1609.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.vbs.1609.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.vbs.1609.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example) &$operand(*)->return",
  "rule.sast.sw.vbs.1609.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.vbs.1609.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />example) eval$param(*)",
  "rule.sast.sw.vbs.1609.option.taint_sink.name": "External information sink",
  "rule.sast.sw.vbs.1609.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) request.form$return",
  "rule.sast.sw.vbs.1609.option.taint_source.name": "External information source",
  "rule.sast.sw.vbs.1611.description": "The Improper random number generation checker finds instances of using a predictable random value.\nThe Rnd() function generates predictable numbers.\nIf a predictable random number is used when an unpredictable number is demanded, an attacker can predict subsequently generated numbers and use them to attack the system. Languages provide their specific built-in statistical PRNG (pseudorandom number generator) functionality. But numbers generated by such a generator are often easily predictable, and security can be threatened simply by an effective seed setting.\nYou need to use cryptographically secure approaches that generate unpredictable random values.",
  "rule.sast.sw.vbs.1611.example.0.dangerous": "Line 3: A predictable Rnd() function is used.",
  "rule.sast.sw.vbs.1611.example.0.safe": "Line 3: Use an unpredictable SecureRnd() function instead of the Rnd().",
  "rule.sast.sw.vbs.1611.name": "Improper random number generation",
  "rule.sast.sw.vbs.1612.description": "The Exposure of system information checker finds instances of displaying system information.\nIf system-related information leaks via an output stream or logging, this may allow for malicious attacks.\nExposed error messages may contain sensitive information helping attack the system.\nMake sure system information is not exposed.",
  "rule.sast.sw.vbs.1612.example.0.dangerous": "Line 3: An error information of system data is exposed.\nLine 4: An error information of system data is exposed.",
  "rule.sast.sw.vbs.1612.example.0.safe": "Line 3: Do not print out system data.",
  "rule.sast.sw.vbs.1612.name": "Exposure of system information",
  "rule.sast.sw.vbs.1612.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) filter$param(1)",
  "rule.sast.sw.vbs.1612.option.taint_filter.name": "External information filter",
  "rule.sast.sw.vbs.1612.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.vbs.1612.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.vbs.1612.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example) &$operand(*)->return",
  "rule.sast.sw.vbs.1612.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.vbs.1612.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />example) response.write$param(*)",
  "rule.sast.sw.vbs.1612.option.taint_sink.name": "External information sink",
  "rule.sast.sw.vbs.1612.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) err..*$variable",
  "rule.sast.sw.vbs.1612.option.taint_source.name": "External information source",
  "rule.sast.sw.vbs.1613.description": "The Log injection checker finds instances of printing out unvalidated user inputs in a log.\nIf unvalidated user inputs are printed out in a log, an attacker can insert arbitrary content in the log to confuse security personnel who consult the log. If a manipulated log successfully leads to making an inappropriate decision, the attacker can exploit the consequences.\nHave external inputs validated before they are logged. It is particularly recommended to delete newline characters.",
  "rule.sast.sw.vbs.1613.example.0.dangerous": "Line 6: An unvalidated external inputs is used for logs.",
  "rule.sast.sw.vbs.1613.example.0.safe": "Line 6: Do not use the unvalidated external inputs for logs; use filtered values only.",
  "rule.sast.sw.vbs.1613.name": "Log injection",
  "rule.sast.sw.vbs.1613.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />example) filter$param(1)",
  "rule.sast.sw.vbs.1613.option.taint_filter.name": "External information filter",
  "rule.sast.sw.vbs.1613.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.vbs.1613.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.vbs.1613.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example) &$operand(*)->return",
  "rule.sast.sw.vbs.1613.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.vbs.1613.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />example) .*.eventlog$param(*)",
  "rule.sast.sw.vbs.1613.option.taint_sink.name": "External information sink",
  "rule.sast.sw.vbs.1613.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) request.form$return",
  "rule.sast.sw.vbs.1613.option.taint_source.name": "External information source",
  "rule.sast.sw.vbs.1615.description": "The Redirection to untrusted site checker finds instances of redirecting to a URL generated with an unvalidated external input.\nAlthough connecting to a client-provided URL is often believed to be safe, an attacker can modify the request and redirect the user to a malicious site.\nMaintain a whitelist of external site URLs and domains allowed for redirection, which needs to be checked when a user input is passed as a redirect URL.",
  "rule.sast.sw.vbs.1615.example.0.dangerous": "Line 2: An unvalidated external inputs is used to redirect URLs.",
  "rule.sast.sw.vbs.1615.example.0.safe": "Line 2: Validate external inputs through a filter function.",
  "rule.sast.sw.vbs.1615.name": "Redirection to untrusted site",
  "rule.sast.sw.vbs.1615.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) filter$param(1)",
  "rule.sast.sw.vbs.1615.option.taint_filter.name": "External information filter",
  "rule.sast.sw.vbs.1615.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.vbs.1615.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.vbs.1615.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example) &$operand(*)->return",
  "rule.sast.sw.vbs.1615.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.vbs.1615.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />example) response.redirect$param(*)",
  "rule.sast.sw.vbs.1615.option.taint_sink.name": "External information sink",
  "rule.sast.sw.vbs.1615.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />example) request.form$return",
  "rule.sast.sw.vbs.1615.option.taint_source.name": "External information source",
  "rule.sast.sw.vbs.1616.description": "The Path Manipulation checker finds instances in which an unvalidated external input creates a path accessible to the file system.\nIf unvalidated external inputs are allowed to be used for access to files, servers, or other system resources, attackers can manipulate inputs to access an unintended path in the program. In other words, path manipulation can be used to obtain illegitimate access to modify or execute settings files.\nIf external inputs are used as identifiers for resources (such as files), make sure they pass appropriate validation. Especially, if external inputs are filenames, use a filter to remove characters such as `, /, \\, and ..  that can be exploited for a directory traversal attack.",
  "rule.sast.sw.vbs.1616.example.0.dangerous": "Line 2: An unvalidated external input is used to generate paths.",
  "rule.sast.sw.vbs.1616.example.0.safe": "Line 2: Filter the external inputs before using.",
  "rule.sast.sw.vbs.1616.name": "Path Traversal",
  "rule.sast.sw.vbs.1616.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />example) filter$param(1)",
  "rule.sast.sw.vbs.1616.option.taint_filter.name": "External information filter",
  "rule.sast.sw.vbs.1616.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.vbs.1616.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.vbs.1616.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example) &$operand(*)->return",
  "rule.sast.sw.vbs.1616.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.vbs.1616.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />example) .*.getfile$param(*)",
  "rule.sast.sw.vbs.1616.option.taint_sink.name": "External information sink",
  "rule.sast.sw.vbs.1616.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) request.form$return",
  "rule.sast.sw.vbs.1616.option.taint_source.name": "External information source",
  "rule.sast.sw.vbs.1617.description": "The Setting manipulation checker finds instances of modifying a system or configuration setting using an unvalidated external input.\nControllability of a system or configuration setting may cause an unexpected result (such as service interruption) or allow for security attacks.\nDo not use an external input in creating an argument to pass to the Connection.setCatalog() method.",
  "rule.sast.sw.vbs.1617.example.0.dangerous": "Line 2: An external input is used to control system settings.",
  "rule.sast.sw.vbs.1617.example.0.safe": "Line 2: Do not control the system settings through external inputs.",
  "rule.sast.sw.vbs.1617.name": "Setting manipulation",
  "rule.sast.sw.vbs.1617.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) filter$param(1)",
  "rule.sast.sw.vbs.1617.option.taint_filter.name": "External information filter",
  "rule.sast.sw.vbs.1617.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.vbs.1617.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.vbs.1617.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example) &$operand(*)->return",
  "rule.sast.sw.vbs.1617.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.vbs.1617.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />example) .*.create$param(*)",
  "rule.sast.sw.vbs.1617.option.taint_sink.name": "External information sink",
  "rule.sast.sw.vbs.1617.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) request.form$return",
  "rule.sast.sw.vbs.1617.option.taint_source.name": "External information source",
  "rule.sast.sw.vbs.1618.description": "The SQL Injection checker finds SQL queries that include an unvalidated external input.\nIf an unvalidated external input is allowed in SQL queries, attackers can inject a crafted query that has an altered meaning. This vulnerability lets attackers access or manipulate information in the database.\nExternal inputs must be validated or parameterized before being used in SQL queries.",
  "rule.sast.sw.vbs.1618.example.0.dangerous": "Line 2: An unvalidated external input is used for SQL queries.",
  "rule.sast.sw.vbs.1618.example.0.safe": "Line 3: Make sure to use secure SQL queries through a filter.",
  "rule.sast.sw.vbs.1618.name": "SQL Injection",
  "rule.sast.sw.vbs.1618.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />example) filter$param(1)",
  "rule.sast.sw.vbs.1618.option.taint_filter.name": "External information filter",
  "rule.sast.sw.vbs.1618.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.vbs.1618.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.vbs.1618.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example) &$operand(*)->return",
  "rule.sast.sw.vbs.1618.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.vbs.1618.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />example) .*.open$param(*)",
  "rule.sast.sw.vbs.1618.option.taint_sink.name": "External information sink",
  "rule.sast.sw.vbs.1618.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) request.form$return",
  "rule.sast.sw.vbs.1618.option.taint_source.name": "External information source",
  "rule.sast.sw.vbs.1619.description": "The Insecure Reflection checker finds instances of using an unvalidated external input as an argument for reflection.\nReflection treats stings as entity names in source code to enable access to the classes, functions, and variables referred to by those names. The CallByName() function is used for reflection.\nIf unvalidated external inputs are allowed in reflection, the program may be run through an unintended execution path. This can be exploited to bypass security checks.\nCheck if the reflection code is necessary in the program design; and replace it with a normal code that behaves identically, if possible. The use of reflection must be strictly restricted to necessary cases, for example, when a normal way of calling a function or method may cause a runtime error because the callable objects vary with execution environments. Reflection is often used simply in order to avoid some bothersome coding; check if reflection is necessary before using it. If reflection with untrusted external inputs is inevitable, have those inputs filtered, or restrict argument values determined by external inputs to those selected from within a preconfigured array of appropriate values.",
  "rule.sast.sw.vbs.1619.example.0.dangerous": "Line 2: CallByName() function is used.",
  "rule.sast.sw.vbs.1619.example.0.safe": "Line 2: Use a more direct control function than CallByName().",
  "rule.sast.sw.vbs.1619.name": "Insecure Reflection",
  "rule.sast.sw.vbs.1620.description": "The Weak cryptographic algorithm checker finds instances of using a cryptographic algorithm known to be insecure.\nAn algorithm of DES is no longer secure anymore.\nNon-standard cryptographic algorithms can be more easily cryptanalyzed and cracked by attackers. Some old algorithms have been weak over time as computing power grows-It used to be expected to take an extremely long time to crack them in the past, but now they can be broken in a couple of days or hours. Using an old or non-standard cryptographic algorithm may allow attackers to cryptanalyze and disable it.\nDeveloping your own cryptographic algorithm is dangerous; instead, use standard algorithms that have been proven in academia and industry. Use secure algorithms such as 3DES, AES, and SEED instead of those considered weak such as DES and RC5. And encryption keys must be long enough in accordance with the appropriate length suggested by each standard, secure algorithm.",
  "rule.sast.sw.vbs.1620.example.0.dangerous": "Line 2: An insecure DES encryption algorithm is used.",
  "rule.sast.sw.vbs.1620.example.0.safe": "Line 2: Ensure to use AES encryption algorithms that are known to be secure.",
  "rule.sast.sw.vbs.1620.name": "Weak cryptographic algorithm",
  "rule.sast.sw.vbs.1621.description": "The Weak hash checker finds instances of using a hashing algorithm known to be insecure.\nNon-standard hashing algorithms can be more easily encryptanalyzed and cracked by attackers. Some old algorithms have been weak over time as computing power grows-It used to be expected to take an extremely long time to crack them in the past, but now they can be broken in a couple of days or hours. Using an old or non-standard hashing algorithm may allow attackers to cryptanalyze and disable it. Hashes created by MD5 or other old algorithms can be cracked by means of rainbow tables.\nDeveloping your own hashing algorithm is dangerous; instead, use standard algorithms that have been proven in academia and industry. Use secure algorithms such as SHA-256 and SHA-512 instead of those considered weak such as MD5 and SHA-1. In addition, use unpredictable salts together to ensure stronger security.",
  "rule.sast.sw.vbs.1621.example.0.dangerous": "Line 2: An insecure SHA1 algorithm is used.",
  "rule.sast.sw.vbs.1621.example.0.safe": "Line 2: Use a secure SHA256 algorithm.",
  "rule.sast.sw.vbs.1621.name": "Weak hash",
  "rule.sast.sw.vbs.1622.description": "The Insufficient cryptographic key size checker finds encryption keys that are too short.\nYou can optionally specify the minimum key length that ensures security.\nAn encryption key is used for encryption and decryption purposes; if it is not long enough, it can be uncovered in a practically short time even with a verified cryptographic algorithm used. This can be exploited to decrypt encrypted data or passwords.\nEach major algorithm suggests an appropriate length of a key that ensures an extremely long time is taken to break the key at the currently known level of technology, thus making attacks on it practically impossible. It is recommended to use a key no shorter than the suggested length. For instance, the RSA algorithm must be used with a key of at least 2,048 bits (as of 2015), while symmetric encryption algorithms require a key of at least 128 bits.",
  "rule.sast.sw.vbs.1622.example.0.dangerous": "Line 2: An encryption algorithm key is set too short.",
  "rule.sast.sw.vbs.1622.example.0.safe": "Line 2: Specify the key length for encryption.",
  "rule.sast.sw.vbs.1622.name": "Insufficient cryptographic key size",
  "rule.sast.sw.vbs.1622.option.minimum_key_size.description": "Write the minimum secure key size.<br />example) 1024",
  "rule.sast.sw.vbs.1622.option.minimum_key_size.name": "Minimum key size",
  "rule.sast.sw.vbs.1623.description": "The Cross-site scripting checker finds instances of including an external input in HTML without validating it.\nIf unvalidated external inputs are allowed for page generation, attackers can inject malicious scripts into the pages. This vulnerability lets attackers take over a user's cookie, session, or other information or execute an abnormal function.\nTo prevent external inputs from being used for scripts, use a text replacement function or method to substitute characters such as <, >, &, and \" with &lt;, &gt;, &amp;, and &quot;, respectively. For bulletin boards that allow using HTML tags, make a whitelist of allowable HTML tags.",
  "rule.sast.sw.vbs.1623.example.0.dangerous": "Line 2: An external input is used without a filter.",
  "rule.sast.sw.vbs.1623.example.0.safe": "Line 2: Filter out inputs to generate a page.",
  "rule.sast.sw.vbs.1623.name": "Cross-site scripting",
  "rule.sast.sw.vbs.1623.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />example) filter$param(1)",
  "rule.sast.sw.vbs.1623.option.taint_filter.name": "External information filter",
  "rule.sast.sw.vbs.1623.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.vbs.1623.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.vbs.1623.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example) &$operand(*)->return",
  "rule.sast.sw.vbs.1623.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.vbs.1623.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />example) response.write$param(*)",
  "rule.sast.sw.vbs.1623.option.taint_sink.name": "External information sink",
  "rule.sast.sw.vbs.1623.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />Example) request.form$return",
  "rule.sast.sw.vbs.1623.option.taint_source.name": "External information source",
  "rule.sast.sw.vbs.1631.description": "The Header manipulation checker finds instances of including an unvalidated external input in an HTTP response header.\nAs with many software security vulnerabilities, cookie manipulation is a means to an end, not an end in itself. At its root, the vulnerability is straightforward: an attacker passes malicious data to a vulnerable application, and the application includes the data in an HTTP cookie. Many of today's modern application servers will prevent the injection of malicious characters into HTTP headers. For example, recent versions of Apache Tomcat will throw an IllegalArgumentException if you attempt to set a header with prohibited characters. Allowing unvalidated external input in HTTP headers enables attackers to try various attacks including cache poisoning, cross-site scripting, HTTP response splitting, session fixation, cross-user defacement, page hijacking, cookie manipulation, and open redirect. If your application server prevents setting headers with newline characters, HTTP response splitting can be prevented but the application will remain vulnerable to other threats.\nExternal inputs to be included in headers must be thoroughly filtered to eliminate any dangerous characters.",
  "rule.sast.sw.vbs.1631.example.0.dangerous": "Line 2: An unvalidated external input is used for HTTP response headers.",
  "rule.sast.sw.vbs.1631.example.0.safe": "Line 2: Filter out the unvalidated external inputs before using.",
  "rule.sast.sw.vbs.1631.name": "Header manipulation",
  "rule.sast.sw.vbs.1631.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) filter$param(1)",
  "rule.sast.sw.vbs.1631.option.taint_filter.name": "External information filter",
  "rule.sast.sw.vbs.1631.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.vbs.1631.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.vbs.1631.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example) &$operand(*)->return",
  "rule.sast.sw.vbs.1631.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.vbs.1631.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />example) operand(2) of \"=\" if operand(1) == reg(\"response.cookies.*\")",
  "rule.sast.sw.vbs.1631.option.taint_sink.name": "External information sink",
  "rule.sast.sw.vbs.1631.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />example) request.form$return",
  "rule.sast.sw.vbs.1631.option.taint_source.name": "External information source",
  "rule.sast.sw.vbs.1632.description": "The Resource injection checker finds port IDs created with an unvalidated external input.\nIf unvalidated external inputs are allowed to be used to access or identify files, servers, or other system resources, attackers can manipulate inputs to access resources protected by the program. Resource injection vulnerabilities can be exploited to modify or delete resources, leak system information, and cause conflicts between system resources leading to service failures.\nIf external inputs need to be used for resource identifiers (such as socket ports), whitelist appropriate identifiers and restrict values determined by external inputs to those selected from within the whitelist.",
  "rule.sast.sw.vbs.1632.example.0.dangerous": "Line 2: An external input is used to acquire resources.",
  "rule.sast.sw.vbs.1632.example.0.safe": "Line 2: Make sure to use secure inputs through a filter function.",
  "rule.sast.sw.vbs.1632.name": "Resource injection",
  "rule.sast.sw.vbs.1632.option.taint_filter.description": "Write a name and a type of the function which filters external information.<br />Example) filter$param(1)",
  "rule.sast.sw.vbs.1632.option.taint_filter.name": "External information filter",
  "rule.sast.sw.vbs.1632.option.taint_filter_function_fqn.description": "Write a name of the function which filters external information at base and parameters.<br />Exmaple) com.sparrow.utils.filter(java.lang.String) or com.sparrow.utils.filter()",
  "rule.sast.sw.vbs.1632.option.taint_filter_function_fqn.name": "Custom external information filter",
  "rule.sast.sw.vbs.1632.option.taint_propagator.description": "Write a name and a type of the function which propagates external information.<br />example) &$operand(*)->return",
  "rule.sast.sw.vbs.1632.option.taint_propagator.name": "External information propagator",
  "rule.sast.sw.vbs.1632.option.taint_sink.description": "Write a name and a type of the function causing risks when containing external information.<br />example) operand(2) of \"=\" if operand(1) == reg(\".*localport\")",
  "rule.sast.sw.vbs.1632.option.taint_sink.name": "External information sink",
  "rule.sast.sw.vbs.1632.option.taint_source.description": "Write a name and a type of the function which is a source of external information.<br />example) request.form$return",
  "rule.sast.sw.vbs.1632.option.taint_source.name": "External information source",
  "rule.sast.sw.xml.2077.description": "The Inappropriate Logging Level Setting checker finds instances of setting Tomcat's debug level to 3 or higher.\nIf the debug level is set too high, Tomcat may expose sensitive information in the log file.\nSet the Tomcat debug level to lower than 3.",
  "rule.sast.sw.xml.2077.example.0.dangerous": "Line 1: A debug level is set to 3 or more.",
  "rule.sast.sw.xml.2077.example.0.safe": "Line 1: Set the debug level to less than 3.",
  "rule.sast.sw.xml.2077.name": "Inappropriate Logging Level Setting",
  "rule.sast.sw.xml.2088.description": "The Duplicate Servlet Mapping checker finds duplicate servlet mappings.\nIf multiple servlet mappings are present for the same URL pattern, duplicate servlet mappings are useless. In this case, only the last item is applied. Typically, these duplicates are leftover debug code or typos.\nDo not add a duplicate servlet mapping.",
  "rule.sast.sw.xml.2088.example.0.dangerous": "Line 5: Servlet-mappings are overlapped.",
  "rule.sast.sw.xml.2088.example.0.safe": "Line 5: Do not overlap the servlet-mappings.",
  "rule.sast.sw.xml.2088.name": "Duplicate Servlet Mapping",
  "rule.sast.sw.xml.2089.description": "The Duplicate Security Role checker finds duplicate security roles.\nWhen duplicated security roles are found, only the last item is applied. Typically, these duplicated code are leftover of debug code or typos.\nDo not add a duplicate security role.",
  "rule.sast.sw.xml.2089.example.0.dangerous": "Line 6: Security roles are overlapped.",
  "rule.sast.sw.xml.2089.example.0.safe": "Line 6: Do not overlap the security roles.",
  "rule.sast.sw.xml.2089.name": "Duplicate Security Role",
  "rule.sast.sw.xml.2090.description": "The Excessive Servlet Mapping checker finds instances of mapping multiple URL patterns to a single servlet.\nIf a servlet is defined for multiple URL patterns, it may be functioning overly.\nDo not define multiple URL pattern to a single servlet.",
  "rule.sast.sw.xml.2090.example.0.dangerous": "Line 12: A servlet is defined in several URL patterns.",
  "rule.sast.sw.xml.2090.example.0.safe": "Line 12: Do not define the servlet in several URL patterns.",
  "rule.sast.sw.xml.2090.name": "Excessive Servlet Mapping",
  "rule.sast.sw.xml.2091.description": "The Excessive Session Duration checker finds instances of setting the session duration too long.\nA session held for an extended period of time allows for a greater chance to be attacked. Holding memory allocated, it may also be vulnerable to denial-or-service (DoS) attacks.\nSet the session duration to an appropriate length.",
  "rule.sast.sw.xml.2091.example.0.dangerous": "Line 2: Session timeout is set to -1. Then, the session is kept holding on.",
  "rule.sast.sw.xml.2091.example.0.safe": "Line 2: Adjust the session timeout to a proper value.",
  "rule.sast.sw.xml.2091.name": "Excessive Session Duration",
  "rule.sast.sw.xml.2093.description": "The Direct Access to JSP checker finds allowing direct access to JSP files.\nDirect access to JSP files may let system information, source code, or other sensitive data exposed to attackers.\nIn the settings, do not allow direct access to JSP files.",
  "rule.sast.sw.xml.2093.example.0.dangerous": "Line 8: All users are set to accessible to web resources.",
  "rule.sast.sw.xml.2093.example.0.safe": "Line 8: Do not set all users to accessable to web resources.",
  "rule.sast.sw.xml.2093.name": "Direct Access to JSP",
  "rule.sast.sw.xml.2094.description": "The Insufficient Session ID Length checker finds instances of setting the session ID length too short.\nA short session ID may be vulnerable to brute-force attacks aiming to steal it.\nSet the session ID length long enough. The rule recommends at least 16 letters.",
  "rule.sast.sw.xml.2094.example.0.dangerous": "Line 1: Session ID length is set to 10. This is shorter than recommended.",
  "rule.sast.sw.xml.2094.example.0.safe": "Line 1: Ensure to set the session ID length to 16 or more.",
  "rule.sast.sw.xml.2094.name": "Insufficient Session ID Length",
  "rule.sast.sw.xml.2095.description": "The Invalid Servlet Setting checker finds servlets with invalid settings.\nServlets with invalid settings refer to unnamed, duplicate, or otherwise inappropriately configured servlets.\nServlets with invalid settings may not be normally accessed.\nFix the faulty settings.",
  "rule.sast.sw.xml.2095.example.0.dangerous": "Line 1: A servlet name is not specified.\nLine 8: The servlet names are overlapped.",
  "rule.sast.sw.xml.2095.example.0.safe": "Line 1: Set the servlet name.",
  "rule.sast.sw.xml.2095.name": "Invalid Servlet Setting",
  "rule.sast.sw.xml.2096.description": "The Use of Non-existent Filter checker finds filter mappings that reference a non-existent filter.\nNon-existent filters cannot be applied. This will result in an unexpected behavior.\nUse existing filters only for filter mappings.",
  "rule.sast.sw.xml.2096.example.0.dangerous": "Line 13: Non-existent AuthenticationFilter is used.",
  "rule.sast.sw.xml.2096.example.0.safe": "Line 13: Do not use the non-existent filter for filter mapping.",
  "rule.sast.sw.xml.2096.name": "Use of Non-existent Filter",
  "rule.sast.sw.xml.2375.description": "The Hardcoded Password checker finds hardcoded passwords. When releasing an application, its settings file should not contain a password.\nIf program code contains a hardcoded password that is used for internal authentication or for communications with an external component, it can be exploited to leak administrator information.\nDo not include a password in the setting file. If there is no alternatives, the password must be included in an external configuration file excluded from releases through appSettings file attribute.",
  "rule.sast.sw.xml.2375.example.0.dangerous": "Line 8: A password is included in a setting file.",
  "rule.sast.sw.xml.2375.example.0.safe": "Line 4: Do not include a password in the setting file.",
  "rule.sast.sw.xml.2375.name": "Hardcoded Password",
  "rule.sast.sw.xml.2376.description": "The Debugging Information Exposal checker finds settings that enable exposing debugging information.\nIf debugging information is exposed externally, attackers can discover a clue that helps system attacks.\nDisable the setting, or use RemoveAttributes(debug) attribut to prevent debug information from being exposed for releases.",
  "rule.sast.sw.xml.2376.example.0.dangerous": "Line 3: A debug property is set to true. The debugging information has been exposed.",
  "rule.sast.sw.xml.2376.example.0.safe": "Line 5: Use RemoveAttributes(debug) to prevent debug information from being exposed for releases.",
  "rule.sast.sw.xml.2376.name": "Debugging Information Exposal",
  "rule.sast.sw.xml.2377.description": "The Use of Default Error Page checker finds instances of letting the default error page show up when an error occurs.\nThus, use a customized error page instead of a default error page. For example, set customized error page mode to RemoteOnly, or specify own error page.\nThe default error page provides details about errors but should not be included in deployments. The information provided by the default error page may help attacks on the framework, databases, or other various resources.",
  "rule.sast.sw.xml.2377.example.0.dangerous": "Line 1: CustomErrors mode is set to off. Then, a default error page has been used.",
  "rule.sast.sw.xml.2377.example.0.safe": "Line 1: Set a custom error page mode to RemoteOnly.\nLine 3: Or ensure to specify the custom error page.",
  "rule.sast.sw.xml.2377.name": "Use of Default Error Page",
  "rule.sast.sw.xml.2378.description": "The Trace log exposal checker finds settings that enable displaying a trace log.\nA trace log is used by developers during development to check details of the program's execution. Exposing this level of logged information helps attackers understand the system. Such information thus allows for a system vulnerability.\nDisable the setting to prevent trace log information from exposing.",
  "rule.sast.sw.xml.2378.example.0.dangerous": "Line 4: Trace property is set to true. Then, Trace log information has been exposed.",
  "rule.sast.sw.xml.2378.example.0.safe": "Line 4: Set the trace property to false.",
  "rule.sast.sw.xml.2378.name": "Trace log exposure",
  "rule.sast.sw.xml.2379.description": "The Non-HttpOnly cookie checker finds instances in which the HttpOnly flag for a cookie is set enabled.\nIf this attribute is off, scripts cannot be prevented from accessing the cookie and attackers can easily access it.\nSet HttpOnly attribute to on for the cookie.",
  "rule.sast.sw.xml.2379.example.0.dangerous": "Line 4: httpOnlyCookies is not set. A default of this attribute is set to false.",
  "rule.sast.sw.xml.2379.example.0.safe": "Line 5: Set httpOnlyCookies to true.",
  "rule.sast.sw.xml.2379.name": "Non-HttpOnly cookie",
  "rule.sast.sw.xml.3017.description": "The Struts: duplicate validation forms checker finds that two or more validation forms have the same name of which validates input forms through Apache Struts Validator.\nYou can use Apache Struts Validator to perform defined validations on the input forms. You can specify a unique name of validation forms. When there is more than two forms with the same name, the ASV will randomly select one to perform validation. This can lead to an improper validation.\nA name needs to be unique for each validation form, so that an exact validation check can be performed.",
  "rule.sast.sw.xml.3017.example.0.dangerous": "Line 3: A duplicate name is used for a validation form in line 3 and 4.\nLine 4: A duplicate name is used for a validation form in line 3 and 4.",
  "rule.sast.sw.xml.3017.example.0.safe": "Line 3: A name needs to be unique for each validation form, so that an exact validation check can be performed.",
  "rule.sast.sw.xml.3017.name": "Struts: duplicate validation forms",
  "rule.sast.sw.xml.3066.description": "The Unused input validation of struts input checker finds code that does not use Struts validator framework for input.\nUnvalidated input can be a major cause of the J2EE application vulnerabilities. When an application does not use an input validation framework such as the Struts Validator, there is a greater risk of introducing vulnerabilities related to insufficient input validation.\nSet up the input validation framework such as ValidatorPlugin in Struts configuration of struts.xml file.",
  "rule.sast.sw.xml.3066.example.0.dangerous": "Line 6: No specific setting exists for input validation framework.",
  "rule.sast.sw.xml.3066.example.0.safe": "Line 7: Extend Structs configuration file to use Struts Validator plugin. The plugin tag contains a property that specifies the name of the validator, and a set-property subtag that specifies the file path of the default validation rules in the application.",
  "rule.sast.sw.xml.3066.name": "Unused input validation of struts input",
  "rule.sast.sw.xml.7298.description": "Hardcoded sensitive information used for internal authentication or external component communication allows attackers to steal it by sniffing, analyzing source code, or reverse engineering.\nThe rule provides a whitelist option to specify the formats of the the sensitive information.\nUse the sensitive information with environment variables, or archive encrypted information within setting file or database. Also, it is recommended to use a secret management system such as the AWS Secrets Manager or the HashiCorp Vault.",
  "rule.sast.sw.xml.7298.example.0.dangerous": "Line 5: Sensitive information is hardcoded within the XML file.",
  "rule.sast.sw.xml.7298.example.0.safe": "Line 1: Do not include sensitive information within the XML file.",
  "rule.sast.sw.xml.7298.name": "Hardcoded sensitive information",
  "rule.sast.sw.xml.7422.description": "The components of an Android application (Activity, Service, BroadcastReceiver, ContentProvider) are declared in the AndroidManifest.xml, and the `android:exported` attribute determines whether external applications can access these components. Components set with `android:exported=\"true\"` can be invoked by other apps through explicit or implicit intents.\n\nIf a component that requires security validation is exposed to the outside with `android:exported=\"true\"` without applying access controls like `android:permission` or `readPermission/writePermission`, that component can be called by any app without restrictions. Attackers can exploit this to bypass authentication, manipulate internal states, and execute malicious commands. Components that do not need to be shared with external applications should be explicitly set to `android:exported=\"false\"` in the AndroidManifest.xml.\n\nWhen it is necessary to expose Activity, Service, BroadcastReceiver, or ContentProvider to the outside, the `android:permission` attribute should be applied to restrict access. In particular, for ContentProvider, additional `readPermission` or `writePermission` attributes can be set to fine-tune read and write permissions.\n\nIn Android 11 (API 30) and below, if the `android:exported` attribute is not specified for components (activity, service, receiver) with an `<intent-filter>`, it is considered true by default, allowing external applications to invoke them. In contrast, in Android 12 (API 31) and above, the `android:exported` attribute is mandatory, and if omitted, a build error will occur. Therefore, the `android:exported` attribute must be explicitly defined for all components that include an `<intent-filter>`.\n\nAdditionally, when communication between applications managed by the same developer is required, it is safe to define permissions with `android:protectionLevel=\"signature\"` to restrict access to applications signed with the same signing key.",
  "rule.sast.sw.xml.7422.example.0.dangerous": "Line 7: If you set the component that can be called from outside to `android:exported=\"true\"` without specifying access control attributes such as `android:permission`, external applications can directly invoke that component through intents.",
  "rule.sast.sw.xml.7422.example.0.safe": "Line 7: Components that do not need to be accessed externally should be set to `android:exported=\"false\"` to restrict them to internal use only.",
  "rule.sast.sw.xml.7422.name": "Improper export of Android application component",
  "rule.sca.l.common.5897.description": "If you use a component with a strong copyleft license, you should be aware that it may trigger an obligation for source code disclosure of all source code associated with the component, or an obligation to provide installation information. If you use a component with a weak copyleft license or a permissive license, you should double-check that you are not triggering and complying with any disclosure obligations.",
  "rule.sca.l.common.5897.name": "Use of Components Licensed Under the Strong Copyleft",
  "rule.sca.l.common.5898.description": "If you use a component with a weak copyleft license, you may have code disclosure obligations if you modify the original work, and you may need to provide the original and modified code on a file-by-file basis, or the original and modified code on a module-by-module basis. You should either use a component with a permissive license or double-check that you have not incurred and are in compliance with any disclosure obligations.",
  "rule.sca.l.common.5898.name": "Use of Components Licensed Under the Weak Copyleft",
  "rule.sca.l.common.5899.description": "If you use a permissively licensed component, you must comply with any obligations, such as copyright notices or license notices. Do not use components that are available with no strings attached, or you should double-check your compliance with the obligations set forth in the license.",
  "rule.sca.l.common.5899.name": "Use of Components with Permissive License",
  "rule.sca.l.common.5908.description": "The BSD Zero Clause License (SPDX ID: 0BSD) is a free-to-use license.",
  "rule.sca.l.common.5908.name": "Use of Components Licensed Under the 0BSD ",
  "rule.sca.l.common.5909.description": "The Attribution Assurance License (SPDX ID: AAL) has an obligation for notice. You should read the full license to determine your usage.",
  "rule.sca.l.common.5909.name": "Use of Components Licensed Under the AAL ",
  "rule.sca.l.common.5910.description": "The Abstyles License (SPDX ID: Abstyles) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full license.",
  "rule.sca.l.common.5910.name": "Use of Components Licensed Under the Abstyles ",
  "rule.sca.l.common.5911.description": "The AdaCore Doc License (SPDX ID: AdaCore-doc) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.5911.name": "Use of Components Licensed Under the AdaCore-doc ",
  "rule.sca.l.common.5912.description": "The Adobe Systems Incorporated Source Code License Agreement (SPDX ID: Adobe-2006) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.5912.name": "Use of Components Licensed Under the Adobe-2006 ",
  "rule.sca.l.common.5913.description": "The Adobe Glyph List License (SPDX ID: Adobe-Glyph) has no obligations for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.5913.name": "Use of Components Licensed Under the Adobe-Glyph ",
  "rule.sca.l.common.5914.description": "The Amazon Digital Services License (SPDX ID: ADSL) has no obligation for notice, no limitations, and unclear source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.5914.name": "Use of Components Licensed Under the ADSL ",
  "rule.sca.l.common.5915.description": "The Academic Free License v1.1 (SPDX ID: AFL-1.1) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.5915.name": "Use of Components Licensed Under the AFL-1.1 ",
  "rule.sca.l.common.5916.description": "The Academic Free License v1.2 (SPDX ID: AFL-1.2) carries an obligation for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.5916.name": "Use of Components Licensed Under the AFL-1.2 ",
  "rule.sca.l.common.5917.description": "The Academic Free License v2.0 (SPDX ID: AFL-2.0) has an obligation for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.5917.name": "Use of Components Licensed Under the AFL-2.0 ",
  "rule.sca.l.common.5918.description": "The Academic Free License v2.1 (SPDX ID: AFL-2.1) has obligations for notice. You should check the full license to be aware of its use.",
  "rule.sca.l.common.5918.name": "Use of Components Licensed Under the AFL-2.1 ",
  "rule.sca.l.common.5919.description": "The Academic Free License v3.0 (SPDX ID: AFL-3.0) has obligations for notice, limitations for use over network. You should read the full license to understand its use.",
  "rule.sca.l.common.5919.name": "Use of Components Licensed Under the AFL-3.0 ",
  "rule.sca.l.common.5920.description": "The Afmparse License (SPDX ID: Afmparse) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.5920.name": "Use of Components Licensed Under the Afmparse ",
  "rule.sca.l.common.5922.description": "The Affero General Public License v1.0 only (SPDX ID: AGPL-1.0-only) has obligations for notice, limitations for use over network, and obligations for source code disclosure of the parts that make up the executable. You should read the full license to be aware of its use.",
  "rule.sca.l.common.5922.name": "Use of Components Licensed Under the AGPL-1.0-only ",
  "rule.sca.l.common.5923.description": "The Affero General Public License v1.0 or later (SPDX ID: AGPL-1.0-or-later) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.5923.name": "Use of Components Licensed Under the AGPL-1.0-or-later ",
  "rule.sca.l.common.5925.description": "The GNU Affero General Public License v3.0 only (SPDX ID: AGPL-3.0-only) has an obligation for notice, a number of limitations, and an obligation for source code disclosure of the partial source code that makes up the executable. You should read the full license to be aware of its use.",
  "rule.sca.l.common.5925.name": "Use of Components Licensed Under the AGPL-3.0-only ",
  "rule.sca.l.common.5926.description": "The GNU Affero General Public License v3.0 or later (SPDX ID: AGPL-3.0-or-later) has an obligation for notice, a number of limitations. You should read the full license to be aware of its use.",
  "rule.sca.l.common.5926.name": "Use of Components Licensed Under the AGPL-3.0-or-later ",
  "rule.sca.l.common.5927.description": "The Aladdin Free Public License (SPDX ID: Aladdin) has obligations for notice, limitations for commercial use, and unclear obligations for source code disclosure. You should read the full license to be aware of its use.",
  "rule.sca.l.common.5927.name": "Use of Components Licensed Under the Aladdin ",
  "rule.sca.l.common.5928.description": "AMD`s plpa_map.c License (SPDX ID: AMDPLPA) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.5928.name": "Use of Components Licensed Under the AMDPLPA ",
  "rule.sca.l.common.5929.description": "The Apple MIT License (SPDX ID: AML) The license carries an obligation for notice. Please read the full license before using.",
  "rule.sca.l.common.5929.name": "Use of Components Licensed Under the AML ",
  "rule.sca.l.common.5930.description": "The Academy of Motion Picture Arts and Sciences BSD (SPDX ID: AMPAS) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.5930.name": "Use of Components Licensed Under the AMPAS ",
  "rule.sca.l.common.5931.description": "The ANTLR Software Rights Notice (SPDX ID: ANTLR-PD) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.5931.name": "Use of Components Licensed Under the ANTLR-PD ",
  "rule.sca.l.common.5932.description": "The ANTLR Software Rights Notice with license fallback (SPDX ID: ANTLR-PD-fallback) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.5932.name": "Use of Components Licensed Under the ANTLR-PD-fallback ",
  "rule.sca.l.common.5933.description": "The Apache License 1.0 (SPDX ID: Apache-1.0) has no obligations for notice, no limitations, and no source code disclosure scope information. You should view the full license.",
  "rule.sca.l.common.5933.name": "Use of Components Licensed Under the Apache-1.0 ",
  "rule.sca.l.common.5934.description": "The Apache License 1.1 (SPDX ID: Apache-1.1) has an obligation for notice. You should read the full license and be aware of its use.",
  "rule.sca.l.common.5934.name": "Use of Components Licensed Under the Apache-1.1 ",
  "rule.sca.l.common.5935.description": "The Apache License 2.0 (SPDX ID: Apache-2.0) carries an obligation for notice. You should read the full license and be aware of its use.",
  "rule.sca.l.common.5935.name": "Use of Components Licensed Under the Apache-2.0 ",
  "rule.sca.l.common.5936.description": "The Adobe Postscript AFM License (SPDX ID: APAFML) carries an obligation for notice. You should read the full license before using it.",
  "rule.sca.l.common.5936.name": "Use of Components Licensed Under the APAFML ",
  "rule.sca.l.common.5937.description": "The Adaptive Public License 1.0 (SPDX ID: APL-1.0) has obligations for notice, limitations for patent use, and obligations for source code disclosure based on module. You should read the full license to be aware of its use.",
  "rule.sca.l.common.5937.name": "Use of Components Licensed Under the APL-1.0 ",
  "rule.sca.l.common.5938.description": "The App::s2p License (SPDX ID: App-s2p) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.5938.name": "Use of Components Licensed Under the App-s2p ",
  "rule.sca.l.common.5939.description": "The Apple Public Source License 1.0 (SPDX ID: APSL-1.0) has obligations for notice, limitations for patent use, and obligations for source code disclosure based on file. You should read the full license to be aware of its use.",
  "rule.sca.l.common.5939.name": "Use of Components Licensed Under the APSL-1.0 ",
  "rule.sca.l.common.5940.description": "The Apple Public Source License 1.1 (SPDX ID: APSL-1.1) has obligations for notice, limitations for patent use, and obligations for source code disclosure based on file. You should read the full license to be aware of its use.",
  "rule.sca.l.common.5940.name": "Use of Components Licensed Under the APSL-1.1 ",
  "rule.sca.l.common.5941.description": "The Apple Public Source License 1.2 (SPDX ID: APSL-1.2) has obligations for notice, limitations for patent use, and obligations for source code disclosure based on file. You should read the full license to be aware of its use.",
  "rule.sca.l.common.5941.name": "Use of Components Licensed Under the APSL-1.2 ",
  "rule.sca.l.common.5942.description": "The Apple Public Source License 2.0 (SPDX ID: APSL-2.0) has an obligation for notice, a number of limitations, and an obligation for source code disclosure based on file. You should read the full license to be aware of its use.",
  "rule.sca.l.common.5942.name": "Use of Components Licensed Under the APSL-2.0 ",
  "rule.sca.l.common.5943.description": "The Arphic Public License (SPDX ID: Arphic-1999) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.5943.name": "Use of Components Licensed Under the Arphic-1999 ",
  "rule.sca.l.common.5944.description": "The Artistic License 1.0 (SPDX ID: Artistic-1.0) has obligations for notice, code disclosure restrictions, and unclear obligations for source code disclosure. You should read the full license to be aware of its use.",
  "rule.sca.l.common.5944.name": "Use of Components Licensed Under the Artistic-1.0 ",
  "rule.sca.l.common.5945.description": "The Artistic License 1.0 w/clause 8 (SPDX ID: Artistic-1.0-cl8) The license contains no obligations for notice, no limitations, and no source code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.5945.name": "Use of Components Licensed Under the Artistic-1.0-cl8 ",
  "rule.sca.l.common.5946.description": "The Artistic License 1.0 (Perl) (SPDX ID: Artistic-1.0-Perl) has obligations for notice, code disclosure restrictions, and unclear obligations for source code disclosure. You should read the full license to be aware of its use.",
  "rule.sca.l.common.5946.name": "Use of Components Licensed Under the Artistic-1.0-Perl ",
  "rule.sca.l.common.5947.description": "The Artistic License 2.0 (SPDX ID: Artistic-2.0) has obligations for notice, code disclosure restrictions, and unclear obligations for source code disclosure. You should read the full license to be aware of its use.",
  "rule.sca.l.common.5947.name": "Use of Components Licensed Under the Artistic-2.0 ",
  "rule.sca.l.common.5948.description": "The Baekmuk License (SPDX ID: Baekmuk) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full license.",
  "rule.sca.l.common.5948.name": "Use of Components Licensed Under the Baekmuk ",
  "rule.sca.l.common.5949.description": "The Bahyph License (SPDX ID: Bahyph) has no obligation for notice, no limitations, and unclear source code disclosure scope; you should check the full license.",
  "rule.sca.l.common.5949.name": "Use of Components Licensed Under the Bahyph ",
  "rule.sca.l.common.5950.description": "The Barr License (SPDX ID: Barr) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.5950.name": "Use of Components Licensed Under the Barr ",
  "rule.sca.l.common.5951.description": "The Beerware License (SPDX ID: Beerware) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.5951.name": "Use of Components Licensed Under the Beerware ",
  "rule.sca.l.common.5952.description": "The Bitstream Charter Font License (SPDX ID: Bitstream-Charter) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full license.",
  "rule.sca.l.common.5952.name": "Use of Components Licensed Under the Bitstream-Charter ",
  "rule.sca.l.common.5953.description": "The Bitstream Vera Font License (SPDX ID: Bitstream-Vera) has no obligation for notice, no limitations, and no source code disclosure scope; you should check the full license.",
  "rule.sca.l.common.5953.name": "Use of Components Licensed Under the Bitstream-Vera ",
  "rule.sca.l.common.5954.description": "The BitTorrent Open Source License v1.0 (SPDX ID: BitTorrent-1.0) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.5954.name": "Use of Components Licensed Under the BitTorrent-1.0 ",
  "rule.sca.l.common.5955.description": "The BitTorrent Open Source License v1.1 (SPDX ID: BitTorrent-1.1) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.5955.name": "Use of Components Licensed Under the BitTorrent-1.1 ",
  "rule.sca.l.common.5956.description": "The SQLite Blessing (SPDX ID: blessing) is a free-to-use license.",
  "rule.sca.l.common.5956.name": "Use of Components Licensed Under the blessing ",
  "rule.sca.l.common.5957.description": "The Blue Oak Model License 1.0.0 (SPDX ID: BlueOak-1.0.0) carries an obligation for notice. You should read the full license and be aware of its use.",
  "rule.sca.l.common.5957.name": "Use of Components Licensed Under the BlueOak-1.0.0 ",
  "rule.sca.l.common.5958.description": "The Borceux license (SPDX ID: Borceux) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license to be aware of its use.",
  "rule.sca.l.common.5958.name": "Use of Components Licensed Under the Borceux ",
  "rule.sca.l.common.5959.description": "The Brian Gladman 3-Clause License (SPDX ID: Brian-Gladman-3-Clause) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.5959.name": "Use of Components Licensed Under the Brian-Gladman-3-Clause ",
  "rule.sca.l.common.5960.description": "The BSD 1-Clause License (SPDX ID: BSD-1-Clause) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.5960.name": "Use of Components Licensed Under the BSD-1-Clause ",
  "rule.sca.l.common.5961.description": "The BSD 2-Clause `Simplified` License (SPDX ID: BSD-2-Clause) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.5961.name": "Use of Components Licensed Under the BSD-2-Clause ",
  "rule.sca.l.common.5962.description": "The BSD 2-Clause FreeBSD License (SPDX ID: BSD-2-Clause-FreeBSD) has an obligation for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.5962.name": "Use of Components Licensed Under the BSD-2-Clause-FreeBSD ",
  "rule.sca.l.common.5963.description": "The BSD 2-Clause NetBSD License (SPDX ID: BSD-2-Clause-NetBSD) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.5963.name": "Use of Components Licensed Under the BSD-2-Clause-NetBSD ",
  "rule.sca.l.common.5964.description": "The BSD-2-Clause Plus Patent License (SPDX ID: BSD-2-Clause-Patent) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.5964.name": "Use of Components Licensed Under the BSD-2-Clause-Patent ",
  "rule.sca.l.common.5965.description": "The BSD 2-Clause with views sentence (SPDX ID: BSD-2-Clause-Views) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.5965.name": "Use of Components Licensed Under the BSD-2-Clause-Views ",
  "rule.sca.l.common.5966.description": "The BSD 3-Clause `New` or `Revised` License (SPDX ID: BSD-3-Clause) licenses have an obligation for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.5966.name": "Use of Components Licensed Under the BSD-3-Clause ",
  "rule.sca.l.common.5967.description": "The BSD with attribution (SPDX ID: BSD-3-Clause-Attribution) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.5967.name": "Use of Components Licensed Under the BSD-3-Clause-Attribution ",
  "rule.sca.l.common.5968.description": "The BSD 3-Clause Clear License (SPDX ID: BSD-3-Clause-Clear) has obligations for notice, limitations for patent use. You should read the full license to be aware of its use.",
  "rule.sca.l.common.5968.name": "Use of Components Licensed Under the BSD-3-Clause-Clear ",
  "rule.sca.l.common.5969.description": "The Lawrence Berkeley National Labs BSD variant license (SPDX ID: BSD-3-Clause-LBNL) has an obligation for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.5969.name": "Use of Components Licensed Under the BSD-3-Clause-LBNL ",
  "rule.sca.l.common.5970.description": "The BSD 3-Clause Modification (SPDX ID: BSD-3-Clause-Modification) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.5970.name": "Use of Components Licensed Under the BSD-3-Clause-Modification ",
  "rule.sca.l.common.5971.description": "The BSD 3-Clause No Military License (SPDX ID: BSD-3-Clause-No-Military-License) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.5971.name": "Use of Components Licensed Under the BSD-3-Clause-No-Military-License ",
  "rule.sca.l.common.5972.description": "The BSD 3-Clause No Nuclear License (SPDX ID: BSD-3-Clause-No-Nuclear-License) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.5972.name": "Use of Components Licensed Under the BSD-3-Clause-No-Nuclear-License ",
  "rule.sca.l.common.5973.description": "The BSD 3-Clause No Nuclear License 2014 (SPDX ID: BSD-3-Clause-No-Nuclear-License-2014) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.5973.name": "Use of Components Licensed Under the BSD-3-Clause-No-Nuclear-License-2014 ",
  "rule.sca.l.common.5974.description": "The BSD 3-Clause No Nuclear Warranty (SPDX ID: BSD-3-Clause-No-Nuclear-Warranty) has no obligation for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.5974.name": "Use of Components Licensed Under the BSD-3-Clause-No-Nuclear-Warranty ",
  "rule.sca.l.common.5975.description": "The BSD 3-Clause Open MPI variant (SPDX ID: BSD-3-Clause-Open-MPI) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.5975.name": "Use of Components Licensed Under the BSD-3-Clause-Open-MPI ",
  "rule.sca.l.common.5976.description": "The BSD 4-Clause `Original` or `Old` License (SPDX ID: BSD-4-Clause) has obligations for notice. You should check the full text of the license to be aware of its use.",
  "rule.sca.l.common.5976.name": "Use of Components Licensed Under the BSD-4-Clause ",
  "rule.sca.l.common.5977.description": "The BSD 4 Clause Shortened (SPDX ID: BSD-4-Clause-Shortened) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.5977.name": "Use of Components Licensed Under the BSD-4-Clause-Shortened ",
  "rule.sca.l.common.5978.description": "The BSD-4-Clause (University of California-Specific) (SPDX ID: BSD-4-Clause-UC) carries an obligation for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.5978.name": "Use of Components Licensed Under the BSD-4-Clause-UC ",
  "rule.sca.l.common.5979.description": "The BSD 4.3 RENO License (SPDX ID: BSD-4.3RENO) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.5979.name": "Use of Components Licensed Under the BSD-4.3RENO ",
  "rule.sca.l.common.5980.description": "The BSD 4.3 TAHOE License (SPDX ID: BSD-4.3TAHOE) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.5980.name": "Use of Components Licensed Under the BSD-4.3TAHOE ",
  "rule.sca.l.common.5981.description": "The BSD Advertising Acknowledgement License (SPDX ID: BSD-Advertising-Acknowledgement) has no obligation for notice, no limitations, and unclear source code disclosure scope; you should check the full license.",
  "rule.sca.l.common.5981.name": "Use of Components Licensed Under the BSD-Advertising-Acknowledgement ",
  "rule.sca.l.common.5982.description": "The BSD with Attribution and HPND disclaimer (SPDX ID: BSD-Attribution-HPND-disclaimer) has no obligations for notice, no limitations, and no source code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.5982.name": "Use of Components Licensed Under the BSD-Attribution-HPND-disclaimer ",
  "rule.sca.l.common.5983.description": "The BSD Protection License (SPDX ID: BSD-Protection) has obligations for notice, redistribution format restrictions. You should read the full license to be aware of its use.",
  "rule.sca.l.common.5983.name": "Use of Components Licensed Under the BSD-Protection ",
  "rule.sca.l.common.5984.description": "The BSD Source Code Attribution (SPDX ID: BSD-Source-Code) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.5984.name": "Use of Components Licensed Under the BSD-Source-Code ",
  "rule.sca.l.common.5985.description": "The Boost Software License 1.0 (SPDX ID: BSL-1.0) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.5985.name": "Use of Components Licensed Under the BSL-1.0 ",
  "rule.sca.l.common.5986.description": "The Business Source License 1.1 (SPDX ID: BUSL-1.1) has obligations for notice, restrictions that require an agreement, and code disclosure. You should read the full license to be aware of its use.",
  "rule.sca.l.common.5986.name": "Use of Components Licensed Under the BUSL-1.1 ",
  "rule.sca.l.common.5987.description": "The bzip2 and libbzip2 License v1.0.5 (SPDX ID: bzip2-1.0.5) has no obligation for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.5987.name": "Use of Components Licensed Under the bzip2-1.0.5 ",
  "rule.sca.l.common.5988.description": "The bzip2 and libbzip2 License v1.0.6 (SPDX ID: bzip2-1.0.6) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.5988.name": "Use of Components Licensed Under the bzip2-1.0.6 ",
  "rule.sca.l.common.5989.description": "The Computational Use of Data Agreement v1.0 (SPDX ID: C-UDA-1.0) has no obligation for notice, no limitations, and no source code disclosure scope; you should check the full license.",
  "rule.sca.l.common.5989.name": "Use of Components Licensed Under the C-UDA-1.0 ",
  "rule.sca.l.common.5990.description": "The Cryptographic Autonomy License 1.0 (SPDX ID: CAL-1.0) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.5990.name": "Use of Components Licensed Under the CAL-1.0 ",
  "rule.sca.l.common.5991.description": "The Cryptographic Autonomy License 1.0 (Combined Work Exception) (SPDX ID: CAL-1.0-Combined-Work-Exception) The license contains no obligations for notice, no limitations, and no source code disclosure scope information. You should view the full license.",
  "rule.sca.l.common.5991.name": "Use of Components Licensed Under the CAL-1.0-Combined-Work-Exception ",
  "rule.sca.l.common.5992.description": "The Caldera License (SPDX ID: Caldera) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.5992.name": "Use of Components Licensed Under the Caldera ",
  "rule.sca.l.common.5993.description": "The Computer Associates Trusted Open Source License 1.1 (SPDX ID: CATOSL-1.1) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.5993.name": "Use of Components Licensed Under the CATOSL-1.1 ",
  "rule.sca.l.common.5994.description": "The Creative Commons Attribution 1.0 Generic (SPDX ID: CC-BY-1.0) has an obligation for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.5994.name": "Use of Components Licensed Under the CC-BY-1.0 ",
  "rule.sca.l.common.5995.description": "The Creative Commons Attribution 2.0 Generic (SPDX ID: CC-BY-2.0) has an obligation for notice. You should check the full license to be aware of its use.",
  "rule.sca.l.common.5995.name": "Use of Components Licensed Under the CC-BY-2.0 ",
  "rule.sca.l.common.5996.description": "The Creative Commons Attribution 2.5 Generic (SPDX ID: CC-BY-2.5) has an obligation for notice. You should check the full license to be aware of its use.",
  "rule.sca.l.common.5996.name": "Use of Components Licensed Under the CC-BY-2.5 ",
  "rule.sca.l.common.5997.description": "The Creative Commons Attribution 2.5 Australia (SPDX ID: CC-BY-2.5-AU) has an obligation for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.5997.name": "Use of Components Licensed Under the CC-BY-2.5-AU ",
  "rule.sca.l.common.5998.description": "The Creative Commons Attribution 3.0 Unported (SPDX ID: CC-BY-3.0) has an obligation for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.5998.name": "Use of Components Licensed Under the CC-BY-3.0 ",
  "rule.sca.l.common.5999.description": "The Creative Commons Attribution 3.0 Austria (SPDX ID: CC-BY-3.0-AT) has an obligation for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.5999.name": "Use of Components Licensed Under the CC-BY-3.0-AT ",
  "rule.sca.l.common.6000.description": "The Creative Commons Attribution 3.0 Germany (SPDX ID: CC-BY-3.0-DE) carries an obligation for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6000.name": "Use of Components Licensed Under the CC-BY-3.0-DE ",
  "rule.sca.l.common.6001.description": "The Creative Commons Attribution 3.0 IGO (SPDX ID: CC-BY-3.0-IGO) carries an obligation for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6001.name": "Use of Components Licensed Under the CC-BY-3.0-IGO ",
  "rule.sca.l.common.6002.description": "The Creative Commons Attribution 3.0 Netherlands (SPDX ID: CC-BY-3.0-NL) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6002.name": "Use of Components Licensed Under the CC-BY-3.0-NL ",
  "rule.sca.l.common.6003.description": "The Creative Commons Attribution 3.0 United States (SPDX ID: CC-BY-3.0-US) has an obligation for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6003.name": "Use of Components Licensed Under the CC-BY-3.0-US ",
  "rule.sca.l.common.6004.description": "The Creative Commons Attribution 4.0 International (SPDX ID: CC-BY-4.0) has an obligation for notice. You should check the full license to be aware of its use.",
  "rule.sca.l.common.6004.name": "Use of Components Licensed Under the CC-BY-4.0 ",
  "rule.sca.l.common.6005.description": "The Creative Commons Attribution Non Commercial 1.0 Generic (SPDX ID: CC-BY-NC-1.0) has obligations for notice, limitations for commercial use. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6005.name": "Use of Components Licensed Under the CC-BY-NC-1.0 ",
  "rule.sca.l.common.6006.description": "The Creative Commons Attribution Non Commercial 2.0 Generic (SPDX ID: CC-BY-NC-2.0) has obligations for notice and limitations for commercial use. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6006.name": "Use of Components Licensed Under the CC-BY-NC-2.0 ",
  "rule.sca.l.common.6007.description": "The Creative Commons Attribution Non Commercial 2.5 Generic (SPDX ID: CC-BY-NC-2.5) has obligations for notice, restrictions for commercial use. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6007.name": "Use of Components Licensed Under the CC-BY-NC-2.5 ",
  "rule.sca.l.common.6008.description": "The Creative Commons Attribution Non Commercial 3.0 Unported (SPDX ID: CC-BY-NC-3.0) has obligations for notice, limitations for commercial use. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6008.name": "Use of Components Licensed Under the CC-BY-NC-3.0 ",
  "rule.sca.l.common.6009.description": "The Creative Commons Attribution Non Commercial 3.0 Germany (SPDX ID: CC-BY-NC-3.0-DE) has obligation for notice, limitation for commercial use. You should read the full license to ensure your use.",
  "rule.sca.l.common.6009.name": "Use of Components Licensed Under the CC-BY-NC-3.0-DE ",
  "rule.sca.l.common.6010.description": "The Creative Commons Attribution Non Commercial 4.0 International (SPDX ID: CC-BY-NC-4.0) has obligations for notice, limitations for commercial use. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6010.name": "Use of Components Licensed Under the CC-BY-NC-4.0 ",
  "rule.sca.l.common.6011.description": "The Creative Commons Attribution Non Commercial No Derivatives 1.0 Generic (SPDX ID: CC-BY-NC-ND-1.0) has an obligation for notice, a number of limitations. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6011.name": "Use of Components Licensed Under the CC-BY-NC-ND-1.0 ",
  "rule.sca.l.common.6012.description": "The Creative Commons Attribution Non Commercial No Derivatives 2.0 Generic (SPDX ID: CC-BY-NC-ND-2.0) has obligation for notice, numerous limitations. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6012.name": "Use of Components Licensed Under the CC-BY-NC-ND-2.0 ",
  "rule.sca.l.common.6013.description": "The Creative Commons Attribution Non Commercial No Derivatives 2.5 Generic (SPDX ID: CC-BY-NC-ND-2.5) has an obligation for notice and a number of limitations. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6013.name": "Use of Components Licensed Under the CC-BY-NC-ND-2.5 ",
  "rule.sca.l.common.6014.description": "The Creative Commons Attribution Non Commercial No Derivatives 3.0 Unported (SPDX ID: CC-BY-NC-ND-3.0) has an obligation for notice, a number of limitations. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6014.name": "Use of Components Licensed Under the CC-BY-NC-ND-3.0 ",
  "rule.sca.l.common.6015.description": "The Creative Commons Attribution Non Commercial No Derivatives 3.0 Germany (SPDX ID: CC-BY-NC-ND-3.0-DE) has an obligation for notice, and a number of limitations. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6015.name": "Use of Components Licensed Under the CC-BY-NC-ND-3.0-DE ",
  "rule.sca.l.common.6016.description": "The Creative Commons Attribution Non Commercial No Derivatives 3.0 IGO (SPDX ID: CC-BY-NC-ND-3.0-IGO) has an obligation for notice and a number of limitations. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6016.name": "Use of Components Licensed Under the CC-BY-NC-ND-3.0-IGO ",
  "rule.sca.l.common.6017.description": "The Creative Commons Attribution Non Commercial No Derivatives 4.0 International (SPDX ID: CC-BY-NC-ND-4.0) has an obligation for notice and a number of limitations. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6017.name": "Use of Components Licensed Under the CC-BY-NC-ND-4.0 ",
  "rule.sca.l.common.6018.description": "The Creative Commons Attribution Non Commercial Share Alike 1.0 Generic (SPDX ID: CC-BY-NC-SA-1.0) has obligations for notice, limitations for commercial use, and obligations for source code disclosure based on file. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6018.name": "Use of Components Licensed Under the CC-BY-NC-SA-1.0 ",
  "rule.sca.l.common.6019.description": "The Creative Commons Attribution Non Commercial Share Alike 2.0 Generic (SPDX ID: CC-BY-NC-SA-2.0) has obligations for notice, limitations for commercial use, and obligations for source code disclosure based on file. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6019.name": "Use of Components Licensed Under the CC-BY-NC-SA-2.0 ",
  "rule.sca.l.common.6020.description": "The Creative Commons Attribution Non Commercial Share Alike 2.0 Germany (SPDX ID: CC-BY-NC-SA-2.0-DE) has obligations for notice, limitations for commercial use, and obligations for source code disclosure based on file. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6020.name": "Use of Components Licensed Under the CC-BY-NC-SA-2.0-DE ",
  "rule.sca.l.common.6021.description": "The Creative Commons Attribution-NonCommercial-ShareAlike 2.0 France (SPDX ID: CC-BY-NC-SA-2.0-FR) has obligations for notice, limitations for commercial use, and obligations for source code disclosure based on file. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6021.name": "Use of Components Licensed Under the CC-BY-NC-SA-2.0-FR ",
  "rule.sca.l.common.6022.description": "The Creative Commons Attribution Non Commercial Share Alike 2.0 England and Wales (SPDX ID: CC-BY-NC-SA-2.0-UK) has obligations for notice, limitations for commercial use, and obligations for source code disclosure based on file. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6022.name": "Use of Components Licensed Under the CC-BY-NC-SA-2.0-UK ",
  "rule.sca.l.common.6023.description": "The Creative Commons Attribution Non Commercial Share Alike 2.5 Generic (SPDX ID: CC-BY-NC-SA-2.5) has obligations for notice, limitations for commercial use, and obligations for source code disclosure based on file. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6023.name": "Use of Components Licensed Under the CC-BY-NC-SA-2.5 ",
  "rule.sca.l.common.6024.description": "The Creative Commons Attribution Non Commercial Share Alike 3.0 Unported (SPDX ID: CC-BY-NC-SA-3.0) has obligations for notice, limitations for commercial use, and obligations for source code disclosure based on file. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6024.name": "Use of Components Licensed Under the CC-BY-NC-SA-3.0 ",
  "rule.sca.l.common.6025.description": "The Creative Commons Attribution Non Commercial Share Alike 3.0 Germany (SPDX ID: CC-BY-NC-SA-3.0-DE) has obligations for notice, limitations for commercial use, and obligations for source code disclosure based on file. You should read the full license to ensure you are aware of its use.",
  "rule.sca.l.common.6025.name": "Use of Components Licensed Under the CC-BY-NC-SA-3.0-DE ",
  "rule.sca.l.common.6026.description": "The Creative Commons Attribution Non Commercial Share Alike 3.0 IGO (SPDX ID: CC-BY-NC-SA-3.0-IGO) has obligations for notice, limitations for commercial use, and obligations for source code disclosure based on file. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6026.name": "Use of Components Licensed Under the CC-BY-NC-SA-3.0-IGO ",
  "rule.sca.l.common.6027.description": "The Creative Commons Attribution Non Commercial Share Alike 4.0 International (SPDX ID: CC-BY-NC-SA-4.0) has obligations for notice, limitations for commercial use, and obligations for source code disclosure based on file. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6027.name": "Use of Components Licensed Under the CC-BY-NC-SA-4.0 ",
  "rule.sca.l.common.6028.description": "The Creative Commons Attribution No Derivatives 1.0 Generic (SPDX ID: CC-BY-ND-1.0) has obligations for notice, limitations for modification. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6028.name": "Use of Components Licensed Under the CC-BY-ND-1.0 ",
  "rule.sca.l.common.6029.description": "The Creative Commons Attribution No Derivatives 2.0 Generic (SPDX ID: CC-BY-ND-2.0) has obligations for notice, limitations for modification. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6029.name": "Use of Components Licensed Under the CC-BY-ND-2.0 ",
  "rule.sca.l.common.6030.description": "The Creative Commons Attribution No Derivatives 2.5 Generic (SPDX ID: CC-BY-ND-2.5) has obligations for notice and limitations for modification. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6030.name": "Use of Components Licensed Under the CC-BY-ND-2.5 ",
  "rule.sca.l.common.6031.description": "The Creative Commons Attribution No Derivatives 3.0 Unported (SPDX ID: CC-BY-ND-3.0) has obligations for notice, limitations for modification. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6031.name": "Use of Components Licensed Under the CC-BY-ND-3.0 ",
  "rule.sca.l.common.6032.description": "The Creative Commons Attribution No Derivatives 3.0 Germany (SPDX ID: CC-BY-ND-3.0-DE) has obligations for notice, limitations for modification. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6032.name": "Use of Components Licensed Under the CC-BY-ND-3.0-DE ",
  "rule.sca.l.common.6033.description": "The Creative Commons Attribution No Derivatives 4.0 International (SPDX ID: CC-BY-ND-4.0) has obligations for notice, limitations for modification. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6033.name": "Use of Components Licensed Under the CC-BY-ND-4.0 ",
  "rule.sca.l.common.6034.description": "The Creative Commons Attribution Share Alike 1.0 Generic (SPDX ID: CC-BY-SA-1.0) has an obligation for notice, and an obligation for source code disclosure based on file. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6034.name": "Use of Components Licensed Under the CC-BY-SA-1.0 ",
  "rule.sca.l.common.6035.description": "The Creative Commons Attribution Share Alike 2.0 Generic (SPDX ID: CC-BY-SA-2.0) has an obligation for notice, and an obligation for source code disclosure based on file. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6035.name": "Use of Components Licensed Under the CC-BY-SA-2.0 ",
  "rule.sca.l.common.6036.description": "The Creative Commons Attribution Share Alike 2.0 England and Wales (SPDX ID: CC-BY-SA-2.0-UK) has an obligation for notice, an obligation for source code disclosure based on file. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6036.name": "Use of Components Licensed Under the CC-BY-SA-2.0-UK ",
  "rule.sca.l.common.6037.description": "The Creative Commons Attribution Share Alike 2.1 Japan (SPDX ID: CC-BY-SA-2.1-JP) has an obligation for notice, and an obligation for source code disclosure based on file. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6037.name": "Use of Components Licensed Under the CC-BY-SA-2.1-JP ",
  "rule.sca.l.common.6038.description": "The Creative Commons Attribution Share Alike 2.5 Generic (SPDX ID: CC-BY-SA-2.5) has an obligation for notice, and an obligation for source code disclosure based on file. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6038.name": "Use of Components Licensed Under the CC-BY-SA-2.5 ",
  "rule.sca.l.common.6039.description": "The Creative Commons Attribution Share Alike 3.0 Unported (SPDX ID: CC-BY-SA-3.0) has obligation for notice, obligation for source code disclosure based on file. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6039.name": "Use of Components Licensed Under the CC-BY-SA-3.0 ",
  "rule.sca.l.common.6040.description": "The Creative Commons Attribution Share Alike 3.0 Austria (SPDX ID: CC-BY-SA-3.0-AT) has obligation for notice, obligation for source code disclosure based on file. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6040.name": "Use of Components Licensed Under the CC-BY-SA-3.0-AT ",
  "rule.sca.l.common.6041.description": "The Creative Commons Attribution Share Alike 3.0 Germany (SPDX ID: CC-BY-SA-3.0-DE) has an obligation for notice, and an obligation for source code disclosure based on file. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6041.name": "Use of Components Licensed Under the CC-BY-SA-3.0-DE ",
  "rule.sca.l.common.6042.description": "The Creative Commons Attribution Share Alike 4.0 International (SPDX ID: CC-BY-SA-4.0) has obligations for notice, obligations for source code disclosure based on file. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6042.name": "Use of Components Licensed Under the CC-BY-SA-4.0 ",
  "rule.sca.l.common.6043.description": "The Creative Commons Public Domain Dedication and Certification (SPDX ID: CC-PDDC) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6043.name": "Use of Components Licensed Under the CC-PDDC ",
  "rule.sca.l.common.6044.description": "The Creative Commons Zero v1.0 Universal (SPDX ID: CC0-1.0) is a free-to-use license.",
  "rule.sca.l.common.6044.name": "Use of Components Licensed Under the CC0-1.0 ",
  "rule.sca.l.common.6045.description": "The Common Development and Distribution License 1.0 (SPDX ID: CDDL-1.0) has obligations for notice, obligations for source code disclosure based on file. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6045.name": "Use of Components Licensed Under the CDDL-1.0 ",
  "rule.sca.l.common.6046.description": "The Common Development and Distribution License 1.1 (SPDX ID: CDDL-1.1) has obligations for notice, obligations for source code disclosure based on file. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6046.name": "Use of Components Licensed Under the CDDL-1.1 ",
  "rule.sca.l.common.6047.description": "The Common Documentation License 1.0 (SPDX ID: CDL-1.0) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6047.name": "Use of Components Licensed Under the CDL-1.0 ",
  "rule.sca.l.common.6048.description": "The Community Data License Agreement Permissive 1.0 (SPDX ID: CDLA-Permissive-1.0) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6048.name": "Use of Components Licensed Under the CDLA-Permissive-1.0 ",
  "rule.sca.l.common.6049.description": "The Community Data License Agreement Permissive 2.0 (SPDX ID: CDLA-Permissive-2.0) The license contains no obligations for notice, no limitations, and no source code disclosure scope information. You should view the full license.",
  "rule.sca.l.common.6049.name": "Use of Components Licensed Under the CDLA-Permissive-2.0 ",
  "rule.sca.l.common.6050.description": "The Community Data License Agreement Sharing 1.0 (SPDX ID: CDLA-Sharing-1.0) has an obligation for notice, and an obligation to disclose the data itself. You should read the full license and be mindful of its use.",
  "rule.sca.l.common.6050.name": "Use of Components Licensed Under the CDLA-Sharing-1.0 ",
  "rule.sca.l.common.6051.description": "The CeCILL Free Software License Agreement v1.0 (SPDX ID: CECILL-1.0) The license contains no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6051.name": "Use of Components Licensed Under the CECILL-1.0 ",
  "rule.sca.l.common.6052.description": "The CeCILL Free Software License Agreement v1.1 (SPDX ID: CECILL-1.1) has no obligations for notice, no limitations, and no source code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.6052.name": "Use of Components Licensed Under the CECILL-1.1 ",
  "rule.sca.l.common.6053.description": "The CeCILL Free Software License Agreement v2.0 (SPDX ID: CECILL-2.0) The license contains obligations for notice, limitations for use over network, and obligations for source code disclosure of the parts that make up the executable. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6053.name": "Use of Components Licensed Under the CECILL-2.0 ",
  "rule.sca.l.common.6054.description": "The CeCILL Free Software License Agreement v2.1 (SPDX ID: CECILL-2.1) has obligations for notice, limitations for use over network, and obligations for source code disclosure of the parts that make up the executable. You should read the full license to ensure you are aware of its use.",
  "rule.sca.l.common.6054.name": "Use of Components Licensed Under the CECILL-2.1 ",
  "rule.sca.l.common.6055.description": "The CeCILL-B Free Software License Agreement (SPDX ID: CECILL-B) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6055.name": "Use of Components Licensed Under the CECILL-B ",
  "rule.sca.l.common.6056.description": "The CeCILL-C Free Software License Agreement (SPDX ID: CECILL-C) has obligations for notice, limitations for use over network, and obligations for source code disclosure based on file. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6056.name": "Use of Components Licensed Under the CECILL-C ",
  "rule.sca.l.common.6057.description": "The CERN Open Hardware Licence v1.1 (SPDX ID: CERN-OHL-1.1) The license contains no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6057.name": "Use of Components Licensed Under the CERN-OHL-1.1 ",
  "rule.sca.l.common.6058.description": "The CERN Open Hardware Licence v1.2 (SPDX ID: CERN-OHL-1.2) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6058.name": "Use of Components Licensed Under the CERN-OHL-1.2 ",
  "rule.sca.l.common.6059.description": "The CERN Open Hardware Licence Version 2 - Permissive (SPDX ID: CERN-OHL-P-2.0) The license contains no obligations for notice, no limitations, and no source code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.6059.name": "Use of Components Licensed Under the CERN-OHL-P-2.0 ",
  "rule.sca.l.common.6060.description": "The CERN Open Hardware Licence Version 2 - Strongly Reciprocal (SPDX ID: CERN-OHL-S-2.0) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license to be aware of its use.",
  "rule.sca.l.common.6060.name": "Use of Components Licensed Under the CERN-OHL-S-2.0 ",
  "rule.sca.l.common.6061.description": "The CERN Open Hardware Licence Version 2 - Weakly Reciprocal (SPDX ID: CERN-OHL-W-2.0) The license contains no obligations for notice, no limitations, and no source code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.6061.name": "Use of Components Licensed Under the CERN-OHL-W-2.0 ",
  "rule.sca.l.common.6062.description": "The CFITSIO License (SPDX ID: CFITSIO) has no obligation for notice, no limitations, and unclear source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6062.name": "Use of Components Licensed Under the CFITSIO ",
  "rule.sca.l.common.6063.description": "The Checkmk License (SPDX ID: checkmk) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6063.name": "Use of Components Licensed Under the checkmk ",
  "rule.sca.l.common.6064.description": "The Clarified Artistic License (SPDX ID: ClArtistic) has obligations for notice, code disclosure restrictions, and unclear obligations for source code disclosure. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6064.name": "Use of Components Licensed Under the ClArtistic ",
  "rule.sca.l.common.6065.description": "The Clips License (SPDX ID: Clips) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6065.name": "Use of Components Licensed Under the Clips ",
  "rule.sca.l.common.6066.description": "The CMU Mach License (SPDX ID: CMU-Mach) has no obligations for notice, no limitations, and no source code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.6066.name": "Use of Components Licensed Under the CMU-Mach ",
  "rule.sca.l.common.6067.description": "The CNRI Jython License (SPDX ID: CNRI-Jython) has no obligations for notice, no limitations, and no source code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.6067.name": "Use of Components Licensed Under the CNRI-Jython ",
  "rule.sca.l.common.6068.description": "The CNRI Python License (SPDX ID: CNRI-Python) has obligations for notice. Please read the full license to be aware of usage.",
  "rule.sca.l.common.6068.name": "Use of Components Licensed Under the CNRI-Python ",
  "rule.sca.l.common.6069.description": "The CNRI Python Open Source GPL Compatible Licence Agreement (SPDX ID: CNRI-Python-GPL-Compatible) has no obligations for notice, no limitations, and no source code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.6069.name": "Use of Components Licensed Under the CNRI-Python-GPL-Compatible ",
  "rule.sca.l.common.6070.description": "The Copyfree Open Innovation License (SPDX ID: COIL-1.0) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6070.name": "Use of Components Licensed Under the COIL-1.0 ",
  "rule.sca.l.common.6071.description": "The Community Specification License 1.0 (SPDX ID: Community-Spec-1.0) has no obligation for notice, no limitations, and no source code disclosure scope; you should check the full license.",
  "rule.sca.l.common.6071.name": "Use of Components Licensed Under the Community-Spec-1.0 ",
  "rule.sca.l.common.6072.description": "The Condor Public License v1.1 (SPDX ID: Condor-1.1) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6072.name": "Use of Components Licensed Under the Condor-1.1 ",
  "rule.sca.l.common.6073.description": "The copyleft-next 0.3.0 (SPDX ID: copyleft-next-0.3.0) has obligations for notice, obligations for source code disclosure of the parts that make up the executable. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6073.name": "Use of Components Licensed Under the copyleft-next-0.3.0 ",
  "rule.sca.l.common.6074.description": "The copyleft-next 0.3.1 (SPDX ID: copyleft-next-0.3.1) has no obligation for notice, no limitations, and unclear source code disclosure scope; you should check the full license.",
  "rule.sca.l.common.6074.name": "Use of Components Licensed Under the copyleft-next-0.3.1 ",
  "rule.sca.l.common.6075.description": "The Cornell Lossless JPEG License (SPDX ID: Cornell-Lossless-JPEG) has no obligation for notice, no limitations, and no source code disclosure scope; you should check the full license.",
  "rule.sca.l.common.6075.name": "Use of Components Licensed Under the Cornell-Lossless-JPEG ",
  "rule.sca.l.common.6076.description": "The Common Public Attribution License 1.0 (SPDX ID: CPAL-1.0) has obligations for notice, limitations for use over network, and obligations for source code disclosure based on file. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6076.name": "Use of Components Licensed Under the CPAL-1.0 ",
  "rule.sca.l.common.6077.description": "The Common Public License 1.0 (SPDX ID: CPL-1.0) has obligations for notice, obligations for source code disclosure based on module. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6077.name": "Use of Components Licensed Under the CPL-1.0 ",
  "rule.sca.l.common.6078.description": "The Code Project Open License 1.02 (SPDX ID: CPOL-1.02) (SPDX ID: CPOL-1.02) has obligations for notice, limitations for cost charge. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6078.name": "Use of Components Licensed Under the CPOL-1.02 ",
  "rule.sca.l.common.6079.description": "The Crossword License (SPDX ID: Crossword) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6079.name": "Use of Components Licensed Under the Crossword ",
  "rule.sca.l.common.6080.description": "The CrystalStacker License (SPDX ID: CrystalStacker) has no obligations for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6080.name": "Use of Components Licensed Under the CrystalStacker ",
  "rule.sca.l.common.6081.description": "The CUA Office Public License v1.0 (SPDX ID: CUA-OPL-1.0) has no obligation for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6081.name": "Use of Components Licensed Under the CUA-OPL-1.0 ",
  "rule.sca.l.common.6082.description": "The Cube License (SPDX ID: Cube) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6082.name": "Use of Components Licensed Under the Cube ",
  "rule.sca.l.common.6083.description": "The curl License (SPDX ID: curl) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6083.name": "Use of Components Licensed Under the curl ",
  "rule.sca.l.common.6084.description": "The Deutsche Freie Software Lizenz (SPDX ID: D-FSL-1.0) has no obligations for notice, no limitations, and no source code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.6084.name": "Use of Components Licensed Under the D-FSL-1.0 ",
  "rule.sca.l.common.6085.description": "The diffmark License (SPDX ID: diffmark) has no obligations for notice, no limitations, and no source code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.6085.name": "Use of Components Licensed Under the diffmark ",
  "rule.sca.l.common.6086.description": "The Data license Germany - attribution - version 2.0 (SPDX ID: DL-DE-BY-2.0) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6086.name": "Use of Components Licensed Under the DL-DE-BY-2.0 ",
  "rule.sca.l.common.6087.description": "The DOC License (SPDX ID: DOC) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6087.name": "Use of Components Licensed Under the DOC ",
  "rule.sca.l.common.6088.description": "The Dotseqn License (SPDX ID: Dotseqn) has no obligation for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6088.name": "Use of Components Licensed Under the Dotseqn ",
  "rule.sca.l.common.6089.description": "The Detection Rule License 1.0 (SPDX ID: DRL-1.0) licenses have no obligations for notice, no limitations, and no source code disclosure scope information. You should view the full license.",
  "rule.sca.l.common.6089.name": "Use of Components Licensed Under the DRL-1.0 ",
  "rule.sca.l.common.6090.description": "The DSDP License (SPDX ID: DSDP) has no obligation for notice, no limitations, and no source code disclosure scope; you should check the full license.",
  "rule.sca.l.common.6090.name": "Use of Components Licensed Under the DSDP ",
  "rule.sca.l.common.6091.description": "The dvipdfm License (SPDX ID: dvipdfm) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6091.name": "Use of Components Licensed Under the dvipdfm ",
  "rule.sca.l.common.6092.description": "The Educational Community License v1.0 (SPDX ID: ECL-1.0) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6092.name": "Use of Components Licensed Under the ECL-1.0 ",
  "rule.sca.l.common.6093.description": "The Educational Community License v2.0 (SPDX ID: ECL-2.0) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6093.name": "Use of Components Licensed Under the ECL-2.0 ",
  "rule.sca.l.common.6094.description": "The eCos license version 2.0 (SPDX ID: eCos-2.0) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6094.name": "Use of Components Licensed Under the eCos-2.0 ",
  "rule.sca.l.common.6095.description": "The Eiffel Forum License v1.0 (SPDX ID: EFL-1.0) has an obligation for notice. You should read the full license and be aware of its use.",
  "rule.sca.l.common.6095.name": "Use of Components Licensed Under the EFL-1.0 ",
  "rule.sca.l.common.6096.description": "The Eiffel Forum License v2.0 (SPDX ID: EFL-2.0) has an obligation for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6096.name": "Use of Components Licensed Under the EFL-2.0 ",
  "rule.sca.l.common.6097.description": "The eGenix.com Public License 1.1.0 (SPDX ID: eGenix) has no obligation for notice, no limitations, and no source code disclosure scope; you should check the full license.",
  "rule.sca.l.common.6097.name": "Use of Components Licensed Under the eGenix ",
  "rule.sca.l.common.6098.description": "The Elastic License 2.0 (SPDX ID: Elastic-2.0) contains obligations for notice, purpose restrictions. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6098.name": "Use of Components Licensed Under the Elastic-2.0 ",
  "rule.sca.l.common.6099.description": "The Entessa Public License v1.0 (SPDX ID: Entessa) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6099.name": "Use of Components Licensed Under the Entessa ",
  "rule.sca.l.common.6100.description": "The EPICS Open License (SPDX ID: EPICS) has no obligations for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6100.name": "Use of Components Licensed Under the EPICS ",
  "rule.sca.l.common.6101.description": "The Eclipse Public License 1.0 (SPDX ID: EPL-1.0) has obligations for notice, obligations for source code disclosure based on module. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6101.name": "Use of Components Licensed Under the EPL-1.0 ",
  "rule.sca.l.common.6102.description": "The Eclipse Public License 2.0 (SPDX ID: EPL-2.0) has obligations for notice, obligations for source code disclosure based on file. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6102.name": "Use of Components Licensed Under the EPL-2.0 ",
  "rule.sca.l.common.6103.description": "The Erlang Public License v1.1 (SPDX ID: ErlPL-1.1) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6103.name": "Use of Components Licensed Under the ErlPL-1.1 ",
  "rule.sca.l.common.6104.description": "The Etalab Open License 2.0 (SPDX ID: etalab-2.0) contains no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6104.name": "Use of Components Licensed Under the etalab-2.0 ",
  "rule.sca.l.common.6105.description": "The EU DataGrid Software License (SPDX ID: EUDatagrid) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6105.name": "Use of Components Licensed Under the EUDatagrid ",
  "rule.sca.l.common.6106.description": "The European Union Public License 1.0 (SPDX ID: EUPL-1.0) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6106.name": "Use of Components Licensed Under the EUPL-1.0 ",
  "rule.sca.l.common.6107.description": "The European Union Public License 1.1 (SPDX ID: EUPL-1.1) contains obligations for notice, limitations for use over network, and obligations for source code disclosure of derivative works. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6107.name": "Use of Components Licensed Under the EUPL-1.1 ",
  "rule.sca.l.common.6108.description": "The European Union Public License 1.2 (SPDX ID: EUPL-1.2) has obligations for notice, limitations for use over network, and obligations for source code disclosure of derivative works. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6108.name": "Use of Components Licensed Under the EUPL-1.2 ",
  "rule.sca.l.common.6109.description": "The Eurosym License (SPDX ID: Eurosym) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6109.name": "Use of Components Licensed Under the Eurosym ",
  "rule.sca.l.common.6110.description": "The Fair License (SPDX ID: Fair) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6110.name": "Use of Components Licensed Under the Fair ",
  "rule.sca.l.common.6111.description": "The Fraunhofer FDK AAC Codec Library (SPDX ID: FDK-AAC) has no obligations for notice, no limitations, and no source code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.6111.name": "Use of Components Licensed Under the FDK-AAC ",
  "rule.sca.l.common.6112.description": "The Frameworx Open License 1.0 (SPDX ID: Frameworx-1.0) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6112.name": "Use of Components Licensed Under the Frameworx-1.0 ",
  "rule.sca.l.common.6113.description": "The FreeBSD Documentation License (SPDX ID: FreeBSD-DOC) has no obligations for notice, no limitations, and no source code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.6113.name": "Use of Components Licensed Under the FreeBSD-DOC ",
  "rule.sca.l.common.6114.description": "The FreeImage Public License v1.0 (SPDX ID: FreeImage) has no obligation for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6114.name": "Use of Components Licensed Under the FreeImage ",
  "rule.sca.l.common.6115.description": "The FSF All Permissive License (SPDX ID: FSFAP) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6115.name": "Use of Components Licensed Under the FSFAP ",
  "rule.sca.l.common.6116.description": "The FSF Unlimited License (SPDX ID: FSFUL) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6116.name": "Use of Components Licensed Under the FSFUL ",
  "rule.sca.l.common.6117.description": "The FSF Unlimited License (with License Retention) (SPDX ID: FSFULLR) carries an obligation for notice. You should read the full license and be aware of its use.",
  "rule.sca.l.common.6117.name": "Use of Components Licensed Under the FSFULLR ",
  "rule.sca.l.common.6118.description": "The FSF Unlimited License (With License Retention and Warranty Disclaimer) (SPDX ID: FSFULLRWD) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6118.name": "Use of Components Licensed Under the FSFULLRWD ",
  "rule.sca.l.common.6119.description": "The Freetype Project License (SPDX ID: FTL) has obligations for notice. You should read the full license and be aware of its use.",
  "rule.sca.l.common.6119.name": "Use of Components Licensed Under the FTL ",
  "rule.sca.l.common.6120.description": "The GD License (SPDX ID: GD) has no obligation for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6120.name": "Use of Components Licensed Under the GD ",
  "rule.sca.l.common.6122.description": "The GNU Free Documentation License v1.1 only - invariants (SPDX ID: GFDL-1.1-invariants-only) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6122.name": "Use of Components Licensed Under the GFDL-1.1-invariants-only ",
  "rule.sca.l.common.6123.description": "The GNU Free Documentation License v1.1 or later - invariants (SPDX ID: GFDL-1.1-invariants-or-later) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6123.name": "Use of Components Licensed Under the GFDL-1.1-invariants-or-later ",
  "rule.sca.l.common.6124.description": "The GNU Free Documentation License v1.1 only - no invariants (SPDX ID: GFDL-1.1-no-invariants-only) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6124.name": "Use of Components Licensed Under the GFDL-1.1-no-invariants-only ",
  "rule.sca.l.common.6125.description": "The GNU Free Documentation License v1.1 or later - no invariants (SPDX ID: GFDL-1.1-no-invariants-or-later) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6125.name": "Use of Components Licensed Under the GFDL-1.1-no-invariants-or-later ",
  "rule.sca.l.common.6126.description": "The GNU Free Documentation License v1.1 only (SPDX ID: GFDL-1.1-only) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6126.name": "Use of Components Licensed Under the GFDL-1.1-only ",
  "rule.sca.l.common.6127.description": "The GNU Free Documentation License v1.1 or later (SPDX ID: GFDL-1.1-or-later) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6127.name": "Use of Components Licensed Under the GFDL-1.1-or-later ",
  "rule.sca.l.common.6129.description": "The GNU Free Documentation License v1.2 only - invariants (SPDX ID: GFDL-1.2-invariants-only) has no obligation for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6129.name": "Use of Components Licensed Under the GFDL-1.2-invariants-only ",
  "rule.sca.l.common.6130.description": "The GNU Free Documentation License v1.2 or later - invariants (SPDX ID: GFDL-1.2-invariants-or-later) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6130.name": "Use of Components Licensed Under the GFDL-1.2-invariants-or-later ",
  "rule.sca.l.common.6131.description": "The GNU Free Documentation License v1.2 only - no invariants (SPDX ID: GFDL-1.2-no-invariants-only) has no obligation for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6131.name": "Use of Components Licensed Under the GFDL-1.2-no-invariants-only ",
  "rule.sca.l.common.6132.description": "The GNU Free Documentation License v1.2 or later - no invariants (SPDX ID: GFDL-1.2-no-invariants-or-later) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6132.name": "Use of Components Licensed Under the GFDL-1.2-no-invariants-or-later ",
  "rule.sca.l.common.6133.description": "The GNU Free Documentation License v1.2 only (SPDX ID: GFDL-1.2-only) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6133.name": "Use of Components Licensed Under the GFDL-1.2-only ",
  "rule.sca.l.common.6134.description": "The GNU Free Documentation License v1.2 or later (SPDX ID: GFDL-1.2-or-later) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6134.name": "Use of Components Licensed Under the GFDL-1.2-or-later ",
  "rule.sca.l.common.6136.description": "The GNU Free Documentation License v1.3 only - invariants (SPDX ID: GFDL-1.3-invariants-only) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6136.name": "Use of Components Licensed Under the GFDL-1.3-invariants-only ",
  "rule.sca.l.common.6137.description": "The GNU Free Documentation License v1.3 or later - invariants (SPDX ID: GFDL-1.3-invariants-or-later) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6137.name": "Use of Components Licensed Under the GFDL-1.3-invariants-or-later ",
  "rule.sca.l.common.6138.description": "The GNU Free Documentation License v1.3 only - no invariants (SPDX ID: GFDL-1.3-no-invariants-only) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6138.name": "Use of Components Licensed Under the GFDL-1.3-no-invariants-only ",
  "rule.sca.l.common.6139.description": "The GNU Free Documentation License v1.3 or later - no invariants (SPDX ID: GFDL-1.3-no-invariants-or-later) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6139.name": "Use of Components Licensed Under the GFDL-1.3-no-invariants-or-later ",
  "rule.sca.l.common.6140.description": "The GNU Free Documentation License v1.3 only (SPDX ID: GFDL-1.3-only) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6140.name": "Use of Components Licensed Under the GFDL-1.3-only ",
  "rule.sca.l.common.6141.description": "The GNU Free Documentation License v1.3 or later (SPDX ID: GFDL-1.3-or-later) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6141.name": "Use of Components Licensed Under the GFDL-1.3-or-later ",
  "rule.sca.l.common.6142.description": "The Giftware License (SPDX ID: Giftware) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6142.name": "Use of Components Licensed Under the Giftware ",
  "rule.sca.l.common.6143.description": "The GL2PS License (SPDX ID: GL2PS) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6143.name": "Use of Components Licensed Under the GL2PS ",
  "rule.sca.l.common.6144.description": "The 3dfx Glide License (SPDX ID: Glide) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6144.name": "Use of Components Licensed Under the Glide ",
  "rule.sca.l.common.6145.description": "The Glulxe License (SPDX ID: Glulxe) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6145.name": "Use of Components Licensed Under the Glulxe ",
  "rule.sca.l.common.6146.description": "The Good Luck With That Public License (SPDX ID: GLWTPL) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full license to be aware of its use.",
  "rule.sca.l.common.6146.name": "Use of Components Licensed Under the GLWTPL ",
  "rule.sca.l.common.6147.description": "The gnuplot license (SPDX ID: gnuplot) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6147.name": "Use of Components Licensed Under the gnuplot ",
  "rule.sca.l.common.6149.description": "The GNU General Public License v1.0 only (SPDX ID: GPL-1.0-only) carries an obligation for notice, and an obligation for source code disclosure of the partial source code that makes up the executable. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6149.name": "Use of Components Licensed Under the GPL-1.0-only ",
  "rule.sca.l.common.6150.description": "The GNU General Public License v1.0 or later (SPDX ID: GPL-1.0-or-later) has an obligation for notice, and an obligation for source code disclosure of the partial source code that makes up the executable. You should check the full text of the license to be aware of its use.",
  "rule.sca.l.common.6150.name": "Use of Components Licensed Under the GPL-1.0-or-later ",
  "rule.sca.l.common.6153.description": "The GNU General Public License v2.0 only (SPDX ID: GPL-2.0-only) has obligations for notice, obligations for source code disclosure of the parts that make up the executable. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6153.name": "Use of Components Licensed Under the GPL-2.0-only ",
  "rule.sca.l.common.6154.description": "The GNU General Public License v2.0 or later (SPDX ID: GPL-2.0-or-later) has an obligation for notice, and an obligation for source code disclosure of the partial source code that makes up the executable. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6154.name": "Use of Components Licensed Under the GPL-2.0-or-later ",
  "rule.sca.l.common.6155.description": "The GNU General Public License v2.0 w/Autoconf exception (SPDX ID: GPL-2.0-with-autoconf-exception) has no obligations for notice, no limitations, and no source code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.6155.name": "Use of Components Licensed Under the GPL-2.0-with-autoconf-exception ",
  "rule.sca.l.common.6156.description": "The GNU General Public License v2.0 w/Bison exception (SPDX ID: GPL-2.0-with-bison-exception) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6156.name": "Use of Components Licensed Under the GPL-2.0-with-bison-exception ",
  "rule.sca.l.common.6157.description": "The GNU General Public License v2.0 w/Classpath exception (SPDX ID: GPL-2.0-with-classpath-exception) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6157.name": "Use of Components Licensed Under the GPL-2.0-with-classpath-exception ",
  "rule.sca.l.common.6158.description": "The GNU General Public License v2.0 w/Font exception (SPDX ID: GPL-2.0-with-font-exception) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6158.name": "Use of Components Licensed Under the GPL-2.0-with-font-exception ",
  "rule.sca.l.common.6159.description": "The GNU General Public License v2.0 w/GCC Runtime Library exception (SPDX ID: GPL-2.0-with-GCC-exception) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6159.name": "Use of Components Licensed Under the GPL-2.0-with-GCC-exception ",
  "rule.sca.l.common.6162.description": "The GNU General Public License v3.0 only (SPDX ID: GPL-3.0-only) contains obligations for notice, restrictions on the obligation to provide installation information, and an obligation for source code disclosure of the partial source code that makes up the executable. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6162.name": "Use of Components Licensed Under the GPL-3.0-only ",
  "rule.sca.l.common.6163.description": "The GNU General Public License v3.0 or later (SPDX ID: GPL-3.0-or-later) has an obligation for notice, restrictions on the obligation to provide installation information, and an obligation for source code disclosure of the parts that make up the executable. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6163.name": "Use of Components Licensed Under the GPL-3.0-or-later ",
  "rule.sca.l.common.6164.description": "The GNU General Public License v3.0 w/Autoconf exception (SPDX ID: GPL-3.0-with-autoconf-exception) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6164.name": "Use of Components Licensed Under the GPL-3.0-with-autoconf-exception ",
  "rule.sca.l.common.6165.description": "The GNU General Public License v3.0 w/GCC Runtime Library exception (SPDX ID: GPL-3.0-with-GCC-exception) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6165.name": "Use of Components Licensed Under the GPL-3.0-with-GCC-exception ",
  "rule.sca.l.common.6167.description": "The Graphics Gems License (SPDX ID: Graphics-Gems) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6167.name": "Use of Components Licensed Under the Graphics-Gems ",
  "rule.sca.l.common.6168.description": "The gSOAP Public License v1.3b (SPDX ID: gSOAP-1.3b) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6168.name": "Use of Components Licensed Under the gSOAP-1.3b ",
  "rule.sca.l.common.6169.description": "The Haskell Language Report License (SPDX ID: HaskellReport) has no obligations for notice, no limitations, and no source code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.6169.name": "Use of Components Licensed Under the HaskellReport ",
  "rule.sca.l.common.6170.description": "The Hippocratic License 2.1 (SPDX ID: Hippocratic-2.1) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6170.name": "Use of Components Licensed Under the Hippocratic-2.1 ",
  "rule.sca.l.common.6171.description": "The Hewlett-Packard 1986 License (SPDX ID: HP-1986) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6171.name": "Use of Components Licensed Under the HP-1986 ",
  "rule.sca.l.common.6172.description": "The Historical Permission Notice and Disclaimer (SPDX ID: HPND) has an obligation for notice. You should read the full license and be aware of its use.",
  "rule.sca.l.common.6172.name": "Use of Components Licensed Under the HPND ",
  "rule.sca.l.common.6173.description": "The HPND with US Government export control warning (SPDX ID: HPND-export-US) has no obligations for notice, no limitations, and no source code disclosure scope information. You should view the full license.",
  "rule.sca.l.common.6173.name": "Use of Components Licensed Under the HPND-export-US ",
  "rule.sca.l.common.6174.description": "The Historical Permission Notice and Disclaimer - Markus Kuhn variant (SPDX ID: HPND-Markus-Kuhn) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6174.name": "Use of Components Licensed Under the HPND-Markus-Kuhn ",
  "rule.sca.l.common.6175.description": "The Historical Permission Notice and Disclaimer - sell variant (SPDX ID: HPND-sell-variant) carries an obligation for notice. Please read the full license before use.",
  "rule.sca.l.common.6175.name": "Use of Components Licensed Under the HPND-sell-variant ",
  "rule.sca.l.common.6176.description": "The HPND sell variant with MIT disclaimer (SPDX ID: HPND-sell-variant-MIT-disclaimer) The license contains no obligations for notice, no limitations, and no source code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.6176.name": "Use of Components Licensed Under the HPND-sell-variant-MIT-disclaimer ",
  "rule.sca.l.common.6177.description": "The HTML Tidy License (SPDX ID: HTMLTIDY) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6177.name": "Use of Components Licensed Under the HTMLTIDY ",
  "rule.sca.l.common.6178.description": "The IBM PowerPC Initialisation and Boot Software (SPDX ID: IBM-pibs) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6178.name": "Use of Components Licensed Under the IBM-pibs ",
  "rule.sca.l.common.6179.description": "The ICU License (SPDX ID: ICU) has obligations for notice. You should read the full license before using it.",
  "rule.sca.l.common.6179.name": "Use of Components Licensed Under the ICU ",
  "rule.sca.l.common.6180.description": "The IEC Code Components End-user license agreement (SPDX ID: IEC-Code-Components-EULA) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6180.name": "Use of Components Licensed Under the IEC-Code-Components-EULA ",
  "rule.sca.l.common.6181.description": "The Independent JPEG Group License (SPDX ID: IJG) carries an obligation for notice. You should read the full license and be aware of its use.",
  "rule.sca.l.common.6181.name": "Use of Components Licensed Under the IJG ",
  "rule.sca.l.common.6182.description": "The Independent JPEG Group License - short (SPDX ID: IJG-short) has no obligations for notice, no limitations, and no source code disclosure scope information. You should view the full license.",
  "rule.sca.l.common.6182.name": "Use of Components Licensed Under the IJG-short ",
  "rule.sca.l.common.6183.description": "The ImageMagick License (SPDX ID: ImageMagick) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6183.name": "Use of Components Licensed Under the ImageMagick ",
  "rule.sca.l.common.6184.description": "The iMatix Standard Function Library Agreement (SPDX ID: iMatix) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6184.name": "Use of Components Licensed Under the iMatix ",
  "rule.sca.l.common.6185.description": "The Imlib2 License (SPDX ID: Imlib2) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6185.name": "Use of Components Licensed Under the Imlib2 ",
  "rule.sca.l.common.6186.description": "The Info-ZIP License (SPDX ID: Info-ZIP) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6186.name": "Use of Components Licensed Under the Info-ZIP ",
  "rule.sca.l.common.6187.description": "The Intel Open Source License (SPDX ID: Intel) has obligations for notice. You should read the full license before using it.",
  "rule.sca.l.common.6187.name": "Use of Components Licensed Under the Intel ",
  "rule.sca.l.common.6188.description": "The Intel ACPI Software License Agreement (SPDX ID: Intel-ACPI) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full license.",
  "rule.sca.l.common.6188.name": "Use of Components Licensed Under the Intel-ACPI ",
  "rule.sca.l.common.6189.description": "The Interbase Public License v1.0 (SPDX ID: Interbase-1.0) carries an obligation for notice. You should read the full license and be aware of its use.",
  "rule.sca.l.common.6189.name": "Use of Components Licensed Under the Interbase-1.0 ",
  "rule.sca.l.common.6190.description": "The IPA Font License (SPDX ID: IPA) has an obligation for notice, a number of limitations. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6190.name": "Use of Components Licensed Under the IPA ",
  "rule.sca.l.common.6191.description": "The IBM Public License v1.0 (SPDX ID: IPL-1.0) Licence includes obligation for notice, obligation for source code disclosure based on module. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6191.name": "Use of Components Licensed Under the IPL-1.0 ",
  "rule.sca.l.common.6192.description": "The ISC License (SPDX ID: ISC) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6192.name": "Use of Components Licensed Under the ISC ",
  "rule.sca.l.common.6193.description": "The Jam License (SPDX ID: Jam) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6193.name": "Use of Components Licensed Under the Jam ",
  "rule.sca.l.common.6194.description": "The JasPer License (SPDX ID: JasPer-2.0) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6194.name": "Use of Components Licensed Under the JasPer-2.0 ",
  "rule.sca.l.common.6195.description": "The JPL Image Use Policy (SPDX ID: JPL-image) has no obligations for notice, no limitations, and no source code disclosure scope information. You should view the full license.",
  "rule.sca.l.common.6195.name": "Use of Components Licensed Under the JPL-image ",
  "rule.sca.l.common.6196.description": "The Japan Network Information Centre License (SPDX ID: JPNIC) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6196.name": "Use of Components Licensed Under the JPNIC ",
  "rule.sca.l.common.6197.description": "The JSON License (SPDX ID: JSON) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6197.name": "Use of Components Licensed Under the JSON ",
  "rule.sca.l.common.6198.description": "The Kazlib License (SPDX ID: Kazlib) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full license.",
  "rule.sca.l.common.6198.name": "Use of Components Licensed Under the Kazlib ",
  "rule.sca.l.common.6199.description": "The KiCad Libraries Exception (SPDX ID: KiCad-libraries-exception) has no obligations for notice, no limitations, and no source code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.6199.name": "Use of Components Licensed Under the KiCad-libraries-exception ",
  "rule.sca.l.common.6200.description": "The Knuth CTAN License (SPDX ID: Knuth-CTAN) has no obligations for notice, no limitations, and no source code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.6200.name": "Use of Components Licensed Under the Knuth-CTAN ",
  "rule.sca.l.common.6201.description": "The Licence Art Libre 1.2 (SPDX ID: LAL-1.2) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6201.name": "Use of Components Licensed Under the LAL-1.2 ",
  "rule.sca.l.common.6202.description": "The Licence Art Libre 1.3 (SPDX ID: LAL-1.3) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6202.name": "Use of Components Licensed Under the LAL-1.3 ",
  "rule.sca.l.common.6203.description": "The Latex2e Licence (SPDX ID: Latex2e) has no obligation for notice, no limitations, and no source code disclosure scope; you should check the full license.",
  "rule.sca.l.common.6203.name": "Use of Components Licensed Under the Latex2e ",
  "rule.sca.l.common.6204.description": "The Leptonica License (SPDX ID: Leptonica) has no obligations for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6204.name": "Use of Components Licensed Under the Leptonica ",
  "rule.sca.l.common.6205.description": "The GNU Library General Public License v2 only (SPDX ID: LGPL-2.0-only) has obligation for notice, obligation for source code disclosure based on library. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6205.name": "Use of Components Licensed Under the LGPL-2.0-only ",
  "rule.sca.l.common.6206.description": "The GNU Library General Public License v2 or later (SPDX ID: LGPL-2.0-or-later) licenses have an obligation for notice, and an obligation for source code disclosure based on library. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6206.name": "Use of Components Licensed Under the LGPL-2.0-or-later ",
  "rule.sca.l.common.6209.description": "The GNU Lesser General Public License v2.1 only (SPDX ID: LGPL-2.1-only) has obligation for notice, obligation for source code disclosure based on library. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6209.name": "Use of Components Licensed Under the LGPL-2.1-only ",
  "rule.sca.l.common.6210.description": "The GNU Lesser General Public License v2.1 or later (SPDX ID: LGPL-2.1-or-later) has obligations for notice, obligations for source code disclosure based on library. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6210.name": "Use of Components Licensed Under the LGPL-2.1-or-later ",
  "rule.sca.l.common.6213.description": "The GNU Lesser General Public License v3.0 only (SPDX ID: LGPL-3.0-only) has an obligation for notice, restrictions on providing installation information, and an obligation for source code disclosure based on library. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6213.name": "Use of Components Licensed Under the LGPL-3.0-only ",
  "rule.sca.l.common.6214.description": "The GNU Lesser General Public License v3.0 or later (SPDX ID: LGPL-3.0-or-later) has obligations for notice, restrictions on providing installation information, and obligations for source code disclosure based on library. You should read the full text of the license to be aware of its use.",
  "rule.sca.l.common.6214.name": "Use of Components Licensed Under the LGPL-3.0-or-later ",
  "rule.sca.l.common.6216.description": "The Lesser General Public License For Linguistic Resources (SPDX ID: LGPLLR) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6216.name": "Use of Components Licensed Under the LGPLLR ",
  "rule.sca.l.common.6217.description": "The libpng License (SPDX ID: Libpng) has an obligation for notice. You should read the full license before using it.",
  "rule.sca.l.common.6217.name": "Use of Components Licensed Under the Libpng ",
  "rule.sca.l.common.6218.description": "The PNG Reference Library version 2 (SPDX ID: libpng-2.0) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6218.name": "Use of Components Licensed Under the libpng-2.0 ",
  "rule.sca.l.common.6219.description": "The libselinux public domain notice (SPDX ID: libselinux-1.0) has no obligation for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license to be aware of its use.",
  "rule.sca.l.common.6219.name": "Use of Components Licensed Under the libselinux-1.0 ",
  "rule.sca.l.common.6220.description": "The libtiff License (SPDX ID: libtiff) carries an obligation for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6220.name": "Use of Components Licensed Under the libtiff ",
  "rule.sca.l.common.6221.description": "The libutil David Nugent License (SPDX ID: libutil-David-Nugent) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6221.name": "Use of Components Licensed Under the libutil-David-Nugent ",
  "rule.sca.l.common.6222.description": "The Licence Libre du Québec - Permissive version 1.1 (SPDX ID: LiLiQ-P-1.1) carries an obligation for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6222.name": "Use of Components Licensed Under the LiLiQ-P-1.1 ",
  "rule.sca.l.common.6223.description": "The Licence Libre du Québec - Réciprocité version 1.1 (SPDX ID: LiLiQ-R-1.1) The license contains no obligations for notice, no limitations, and no source code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.6223.name": "Use of Components Licensed Under the LiLiQ-R-1.1 ",
  "rule.sca.l.common.6224.description": "The Licence Libre du Québec - Réciprocité forte version 1.1 (SPDX ID: LiLiQ-Rplus-1.1) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6224.name": "Use of Components Licensed Under the LiLiQ-Rplus-1.1 ",
  "rule.sca.l.common.6225.description": "The Linux man-pages Copyleft (SPDX ID: Linux-man-pages-copyleft) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6225.name": "Use of Components Licensed Under the Linux-man-pages-copyleft ",
  "rule.sca.l.common.6226.description": "The Linux Kernel Variant of OpenIB.org license (SPDX ID: Linux-OpenIB) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6226.name": "Use of Components Licensed Under the Linux-OpenIB ",
  "rule.sca.l.common.6227.description": "The Common Lisp LOOP License (SPDX ID: LOOP) The Common Lisp LOOP License has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6227.name": "Use of Components Licensed Under the LOOP ",
  "rule.sca.l.common.6228.description": "The Lucent Public License Version 1.0 (SPDX ID: LPL-1.0) carries an obligation for notice. You should read the full license and be aware of its use.",
  "rule.sca.l.common.6228.name": "Use of Components Licensed Under the LPL-1.0 ",
  "rule.sca.l.common.6229.description": "The Lucent Public License v1.02 (SPDX ID: LPL-1.02) carries an obligation for notice. You should read the full license and be aware of its use.",
  "rule.sca.l.common.6229.name": "Use of Components Licensed Under the LPL-1.02 ",
  "rule.sca.l.common.6230.description": "The LaTeX Project Public License v1.0 (SPDX ID: LPPL-1.0) has no obligations for notice, no limitations, and no source code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.6230.name": "Use of Components Licensed Under the LPPL-1.0 ",
  "rule.sca.l.common.6231.description": "The LaTeX Project Public License v1.1 (SPDX ID: LPPL-1.1) The license contains no obligations for notice, no limitations, and no source code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.6231.name": "Use of Components Licensed Under the LPPL-1.1 ",
  "rule.sca.l.common.6232.description": "The LaTeX Project Public License v1.2 (SPDX ID: LPPL-1.2) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6232.name": "Use of Components Licensed Under the LPPL-1.2 ",
  "rule.sca.l.common.6233.description": "The LaTeX Project Public License v1.3a (SPDX ID: LPPL-1.3a) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6233.name": "Use of Components Licensed Under the LPPL-1.3a ",
  "rule.sca.l.common.6234.description": "The LaTeX Project Public License v1.3c (SPDX ID: LPPL-1.3c) License has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6234.name": "Use of Components Licensed Under the LPPL-1.3c ",
  "rule.sca.l.common.6235.description": "The LZMA SDK License (versions 9.11 to 9.20) (SPDX ID: LZMA-SDK-9.11-to-9.20) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6235.name": "Use of Components Licensed Under the LZMA-SDK-9.11-to-9.20 ",
  "rule.sca.l.common.6236.description": "The LZMA SDK License (versions 9.22 and beyond) (SPDX ID: LZMA-SDK-9.22) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6236.name": "Use of Components Licensed Under the LZMA-SDK-9.22 ",
  "rule.sca.l.common.6237.description": "The MakeIndex License (SPDX ID: MakeIndex) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6237.name": "Use of Components Licensed Under the MakeIndex ",
  "rule.sca.l.common.6238.description": "The Martin Birgmeier License (SPDX ID: Martin-Birgmeier) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6238.name": "Use of Components Licensed Under the Martin-Birgmeier ",
  "rule.sca.l.common.6239.description": "The Minpack License (SPDX ID: Minpack) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6239.name": "Use of Components Licensed Under the Minpack ",
  "rule.sca.l.common.6240.description": "The MirOS Licence (SPDX ID: MirOS) has obligations for notice. You should read the full license before using it.",
  "rule.sca.l.common.6240.name": "Use of Components Licensed Under the MirOS ",
  "rule.sca.l.common.6241.description": "The MIT License (SPDX ID: MIT) carries an obligation for notice. Please read the full license before use.",
  "rule.sca.l.common.6241.name": "Use of Components Licensed Under the MIT ",
  "rule.sca.l.common.6242.description": "The MIT No Attribution (SPDX ID: MIT-0) carries an obligation for notice. You should read the full license before using it.",
  "rule.sca.l.common.6242.name": "Use of Components Licensed Under the MIT-0 ",
  "rule.sca.l.common.6243.description": "The Enlightenment License (e16) (SPDX ID: MIT-advertising) has no obligation for notice, no limitations, and no source code disclosure scope; you should check the full license.",
  "rule.sca.l.common.6243.name": "Use of Components Licensed Under the MIT-advertising ",
  "rule.sca.l.common.6244.description": "The CMU License (SPDX ID: MIT-CMU) carries an obligation for notice. Please read the full license before using.",
  "rule.sca.l.common.6244.name": "Use of Components Licensed Under the MIT-CMU ",
  "rule.sca.l.common.6245.description": "The enna License (SPDX ID: MIT-enna) has no obligation for notice, no limitations, and no source code disclosure scope; you should check the full license.",
  "rule.sca.l.common.6245.name": "Use of Components Licensed Under the MIT-enna ",
  "rule.sca.l.common.6246.description": "The feh License (SPDX ID: MIT-feh) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6246.name": "Use of Components Licensed Under the MIT-feh ",
  "rule.sca.l.common.6247.description": "The MIT License Modern Variant (SPDX ID: MIT-Modern-Variant) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6247.name": "Use of Components Licensed Under the MIT-Modern-Variant ",
  "rule.sca.l.common.6248.description": "The MIT Open Group variant (SPDX ID: MIT-open-group) has no obligation for notice, no limitations, and no source code disclosure scope; you should check the full license.",
  "rule.sca.l.common.6248.name": "Use of Components Licensed Under the MIT-open-group ",
  "rule.sca.l.common.6249.description": "The MIT Tom Wu Variant (SPDX ID: MIT-Wu) has no obligation for notice, no limitations, and no source code disclosure scope; you should check the full license.",
  "rule.sca.l.common.6249.name": "Use of Components Licensed Under the MIT-Wu ",
  "rule.sca.l.common.6250.description": "The MIT +no-false-attribs license (SPDX ID: MITNFA) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6250.name": "Use of Components Licensed Under the MITNFA ",
  "rule.sca.l.common.6251.description": "The Motosoto License (SPDX ID: Motosoto) has no obligations for notice, no limitations, and no source code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.6251.name": "Use of Components Licensed Under the Motosoto ",
  "rule.sca.l.common.6252.description": "The mpi Permissive License (SPDX ID: mpi-permissive) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6252.name": "Use of Components Licensed Under the mpi-permissive ",
  "rule.sca.l.common.6253.description": "The mpich2 License (SPDX ID: mpich2) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6253.name": "Use of Components Licensed Under the mpich2 ",
  "rule.sca.l.common.6254.description": "The Mozilla Public License 1.0 (SPDX ID: MPL-1.0) has an obligation for notice, and an obligation for source code disclosure based on file. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6254.name": "Use of Components Licensed Under the MPL-1.0 ",
  "rule.sca.l.common.6255.description": "The Mozilla Public License 1.1 (SPDX ID: MPL-1.1) has obligations for notice, obligations for source code disclosure based on file. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6255.name": "Use of Components Licensed Under the MPL-1.1 ",
  "rule.sca.l.common.6256.description": "The Mozilla Public License 2.0 (SPDX ID: MPL-2.0) has an obligation for notice, and an obligation for source code disclosure based on file. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6256.name": "Use of Components Licensed Under the MPL-2.0 ",
  "rule.sca.l.common.6257.description": "The Mozilla Public License 2.0 (no copyleft exception) (SPDX ID: MPL-2.0-no-copyleft-exception) has no obligations for notice, no limitations, and no source code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.6257.name": "Use of Components Licensed Under the MPL-2.0-no-copyleft-exception ",
  "rule.sca.l.common.6259.description": "The mplus Font License (SPDX ID: mplus) The license contains no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6259.name": "Use of Components Licensed Under the mplus ",
  "rule.sca.l.common.6260.description": "The Microsoft Limited Public License (SPDX ID: MS-LPL) licenses have obligations for notice, platform restrictions. You should read the full license before using it.",
  "rule.sca.l.common.6260.name": "Use of Components Licensed Under the MS-LPL ",
  "rule.sca.l.common.6261.description": "The Microsoft Public License (SPDX ID: MS-PL) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6261.name": "Use of Components Licensed Under the MS-PL ",
  "rule.sca.l.common.6262.description": "The Microsoft Reciprocal License (SPDX ID: MS-RL) has obligations for notice, obligations for source code disclosure based on file. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6262.name": "Use of Components Licensed Under the MS-RL ",
  "rule.sca.l.common.6263.description": "The Matrix Template Library License (SPDX ID: MTLL) has no obligations for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6263.name": "Use of Components Licensed Under the MTLL ",
  "rule.sca.l.common.6264.description": "The Mulan Permissive Software License, Version 1 (SPDX ID: MulanPSL-1.0) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6264.name": "Use of Components Licensed Under the MulanPSL-1.0 ",
  "rule.sca.l.common.6265.description": "The Mulan Permissive Software License, Version 2 (SPDX ID: MulanPSL-2.0) has an obligation for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6265.name": "Use of Components Licensed Under the MulanPSL-2.0 ",
  "rule.sca.l.common.6266.description": "The Multics License (SPDX ID: Multics) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6266.name": "Use of Components Licensed Under the Multics ",
  "rule.sca.l.common.6267.description": "The Mup License (SPDX ID: Mup) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6267.name": "Use of Components Licensed Under the Mup ",
  "rule.sca.l.common.6268.description": "The Nara Institute of Science and Technology License (2003) (SPDX ID: NAIST-2003) has no obligation for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license to be aware of its use.",
  "rule.sca.l.common.6268.name": "Use of Components Licensed Under the NAIST-2003 ",
  "rule.sca.l.common.6269.description": "The NASA Open Source Agreement 1.3 (SPDX ID: NASA-1.3) contains no obligations for notice, no limitations, and no source code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.6269.name": "Use of Components Licensed Under the NASA-1.3 ",
  "rule.sca.l.common.6270.description": "The Naumen Public License (SPDX ID: Naumen) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6270.name": "Use of Components Licensed Under the Naumen ",
  "rule.sca.l.common.6271.description": "The Net Boolean Public License v1 (SPDX ID: NBPL-1.0) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6271.name": "Use of Components Licensed Under the NBPL-1.0 ",
  "rule.sca.l.common.6272.description": "The Non-Commercial Government Licence (SPDX ID: NCGL-UK-2.0) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6272.name": "Use of Components Licensed Under the NCGL-UK-2.0 ",
  "rule.sca.l.common.6273.description": "The University of Illinois/NCSA Open Source License (SPDX ID: NCSA) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6273.name": "Use of Components Licensed Under the NCSA ",
  "rule.sca.l.common.6274.description": "The Net-SNMP License (SPDX ID: Net-SNMP) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6274.name": "Use of Components Licensed Under the Net-SNMP ",
  "rule.sca.l.common.6275.description": "The NetCDF license (SPDX ID: NetCDF) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6275.name": "Use of Components Licensed Under the NetCDF ",
  "rule.sca.l.common.6276.description": "The Newsletr License (SPDX ID: Newsletr) has no obligation for notice, no limitations, and no source code disclosure scope; you should check the full license.",
  "rule.sca.l.common.6276.name": "Use of Components Licensed Under the Newsletr ",
  "rule.sca.l.common.6277.description": "The Nethack General Public License (SPDX ID: NGPL) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6277.name": "Use of Components Licensed Under the NGPL ",
  "rule.sca.l.common.6278.description": "The NICTA Public Software License, Version 1.0 (SPDX ID: NICTA-1.0) The license contains no obligations for notice, no limitations, and no source code disclosure scope information. You should view the full license.",
  "rule.sca.l.common.6278.name": "Use of Components Licensed Under the NICTA-1.0 ",
  "rule.sca.l.common.6279.description": "The NIST Public Domain Notice (SPDX ID: NIST-PD) has no obligations for notice, no limitations, and no source code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.6279.name": "Use of Components Licensed Under the NIST-PD ",
  "rule.sca.l.common.6280.description": "The NIST Public Domain Notice with license fallback (SPDX ID: NIST-PD-fallback) has no obligations for notice, no limitations, and no source code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.6280.name": "Use of Components Licensed Under the NIST-PD-fallback ",
  "rule.sca.l.common.6281.description": "The Norwegian Licence for Open Government Data (NLOD) 1.0 (SPDX ID: NLOD-1.0) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6281.name": "Use of Components Licensed Under the NLOD-1.0 ",
  "rule.sca.l.common.6282.description": "The Norwegian Licence for Open Government Data (NLOD) 2.0 (SPDX ID: NLOD-2.0) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6282.name": "Use of Components Licensed Under the NLOD-2.0 ",
  "rule.sca.l.common.6283.description": "The No Limit Public License (SPDX ID: NLPL) has no obligations for notice, no limitations, and no source code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.6283.name": "Use of Components Licensed Under the NLPL ",
  "rule.sca.l.common.6284.description": "The Nokia Open Source License (SPDX ID: Nokia) has obligations for notice, obligations for source code disclosure based on file. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6284.name": "Use of Components Licensed Under the Nokia ",
  "rule.sca.l.common.6285.description": "The Netizen Open Source License (SPDX ID: NOSL) licenses have no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6285.name": "Use of Components Licensed Under the NOSL ",
  "rule.sca.l.common.6286.description": "The Noweb License (SPDX ID: Noweb) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6286.name": "Use of Components Licensed Under the Noweb ",
  "rule.sca.l.common.6287.description": "The Netscape Public License v1.0 (SPDX ID: NPL-1.0) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6287.name": "Use of Components Licensed Under the NPL-1.0 ",
  "rule.sca.l.common.6288.description": "The Netscape Public License v1.1 (SPDX ID: NPL-1.1) has no obligation for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6288.name": "Use of Components Licensed Under the NPL-1.1 ",
  "rule.sca.l.common.6289.description": "The Non-Profit Open Software License 3.0 (SPDX ID: NPOSL-3.0) has an obligation for notice, a number of limitations, and an obligation for source code disclosure based on library. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6289.name": "Use of Components Licensed Under the NPOSL-3.0 ",
  "rule.sca.l.common.6290.description": "The NRL License (SPDX ID: NRL) has no obligation for notice, no limitations, and no source code disclosure scope; you should check the full license.",
  "rule.sca.l.common.6290.name": "Use of Components Licensed Under the NRL ",
  "rule.sca.l.common.6291.description": "The NTP License (SPDX ID: NTP) The license includes an obligation for notice. Please read the full license and use with caution.",
  "rule.sca.l.common.6291.name": "Use of Components Licensed Under the NTP ",
  "rule.sca.l.common.6292.description": "The NTP No Attribution (SPDX ID: NTP-0) has no obligation for notice, no limitations, and no source code disclosure scope. You should read the full license.",
  "rule.sca.l.common.6292.name": "Use of Components Licensed Under the NTP-0 ",
  "rule.sca.l.common.6293.description": "The Nunit License (SPDX ID: Nunit) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6293.name": "Use of Components Licensed Under the Nunit ",
  "rule.sca.l.common.6294.description": "The Open Use of Data Agreement v1.0 (SPDX ID: O-UDA-1.0) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6294.name": "Use of Components Licensed Under the O-UDA-1.0 ",
  "rule.sca.l.common.6295.description": "The Open CASCADE Technology Public License (SPDX ID: OCCT-PL) has no obligations for notice, no limitations, and no source code disclosure scope information. You should view the full license.",
  "rule.sca.l.common.6295.name": "Use of Components Licensed Under the OCCT-PL ",
  "rule.sca.l.common.6296.description": "The OCLC Research Public License 2.0 (SPDX ID: OCLC-2.0) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6296.name": "Use of Components Licensed Under the OCLC-2.0 ",
  "rule.sca.l.common.6297.description": "The Open Data Commons Open Database License v1.0 (SPDX ID: ODbL-1.0) has obligations for notice, data self-disclosure. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6297.name": "Use of Components Licensed Under the ODbL-1.0 ",
  "rule.sca.l.common.6298.description": "The Open Data Commons Attribution License v1.0 (SPDX ID: ODC-By-1.0) carries an obligation for notice. Please read the full license and be aware of its use.",
  "rule.sca.l.common.6298.name": "Use of Components Licensed Under the ODC-By-1.0 ",
  "rule.sca.l.common.6299.description": "The OFFIS License (SPDX ID: OFFIS) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6299.name": "Use of Components Licensed Under the OFFIS ",
  "rule.sca.l.common.6300.description": "The SIL Open Font License 1.0 (SPDX ID: OFL-1.0) has no obligation for notice, no limitations, and no source code disclosure scope; you should check the full license.",
  "rule.sca.l.common.6300.name": "Use of Components Licensed Under the OFL-1.0 ",
  "rule.sca.l.common.6301.description": "The SIL Open Font License 1.0 with no Reserved Font Name (SPDX ID: OFL-1.0-no-RFN) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6301.name": "Use of Components Licensed Under the OFL-1.0-no-RFN ",
  "rule.sca.l.common.6302.description": "The SIL Open Font License 1.0 with Reserved Font Name (SPDX ID: OFL-1.0-RFN) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6302.name": "Use of Components Licensed Under the OFL-1.0-RFN ",
  "rule.sca.l.common.6303.description": "The SIL Open Font License 1.1 (SPDX ID: OFL-1.1) has obligation for notice, limitation for cost charge. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6303.name": "Use of Components Licensed Under the OFL-1.1 ",
  "rule.sca.l.common.6304.description": "The SIL Open Font License 1.1 with no Reserved Font Name (SPDX ID: OFL-1.1-no-RFN) has no obligations for notice, no limitations, and no source code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.6304.name": "Use of Components Licensed Under the OFL-1.1-no-RFN ",
  "rule.sca.l.common.6305.description": "The SIL Open Font License 1.1 with Reserved Font Name (SPDX ID: OFL-1.1-RFN) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6305.name": "Use of Components Licensed Under the OFL-1.1-RFN ",
  "rule.sca.l.common.6306.description": "The OGC Software License, Version 1.0 (SPDX ID: OGC-1.0) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6306.name": "Use of Components Licensed Under the OGC-1.0 ",
  "rule.sca.l.common.6307.description": "The Taiwan Open Government Data License, version 1.0 (SPDX ID: OGDL-Taiwan-1.0) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6307.name": "Use of Components Licensed Under the OGDL-Taiwan-1.0 ",
  "rule.sca.l.common.6308.description": "The Open Government Licence - Canada (SPDX ID: OGL-Canada-2.0) has no obligations for notice, no limitations, and no source code disclosure scope information. You should view the full license.",
  "rule.sca.l.common.6308.name": "Use of Components Licensed Under the OGL-Canada-2.0 ",
  "rule.sca.l.common.6309.description": "The Open Government Licence v1.0 (SPDX ID: OGL-UK-1.0) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6309.name": "Use of Components Licensed Under the OGL-UK-1.0 ",
  "rule.sca.l.common.6310.description": "The Open Government Licence v2.0 (SPDX ID: OGL-UK-2.0) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6310.name": "Use of Components Licensed Under the OGL-UK-2.0 ",
  "rule.sca.l.common.6311.description": "The Open Government Licence v3.0 (SPDX ID: OGL-UK-3.0) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6311.name": "Use of Components Licensed Under the OGL-UK-3.0 ",
  "rule.sca.l.common.6312.description": "The Open Group Test Suite License (SPDX ID: OGTSL) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6312.name": "Use of Components Licensed Under the OGTSL ",
  "rule.sca.l.common.6313.description": "The Open LDAP Public License v1.1 (SPDX ID: OLDAP-1.1) has an obligation for notice, unclear obligation for source code disclosure. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6313.name": "Use of Components Licensed Under the OLDAP-1.1 ",
  "rule.sca.l.common.6314.description": "The Open LDAP Public License v1.2 (SPDX ID: OLDAP-1.2) has an obligation for notice, unclear obligation for source code disclosure. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6314.name": "Use of Components Licensed Under the OLDAP-1.2 ",
  "rule.sca.l.common.6315.description": "The Open LDAP Public License v1.3 (SPDX ID: OLDAP-1.3) has an obligation for notice, unclear obligation for source code disclosure. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6315.name": "Use of Components Licensed Under the OLDAP-1.3 ",
  "rule.sca.l.common.6316.description": "The Open LDAP Public License v1.4 (SPDX ID: OLDAP-1.4) has obligations for notice, unclear obligations for source code disclosure. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6316.name": "Use of Components Licensed Under the OLDAP-1.4 ",
  "rule.sca.l.common.6317.description": "The Open LDAP Public License v2.0 (or possibly 2.0A and 2.0B) (SPDX ID: OLDAP-2.0) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6317.name": "Use of Components Licensed Under the OLDAP-2.0 ",
  "rule.sca.l.common.6318.description": "The Open LDAP Public License v2.0.1 (SPDX ID: OLDAP-2.0.1) carries an obligation for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6318.name": "Use of Components Licensed Under the OLDAP-2.0.1 ",
  "rule.sca.l.common.6319.description": "The Open LDAP Public License v2.1 (SPDX ID: OLDAP-2.1) carries an obligation for notice. You should read the full license and be aware of its use.",
  "rule.sca.l.common.6319.name": "Use of Components Licensed Under the OLDAP-2.1 ",
  "rule.sca.l.common.6320.description": "The Open LDAP Public License v2.2 (SPDX ID: OLDAP-2.2) has obligations for notice. You should check the full license to be aware of its use.",
  "rule.sca.l.common.6320.name": "Use of Components Licensed Under the OLDAP-2.2 ",
  "rule.sca.l.common.6321.description": "The Open LDAP Public License v2.2.1 (SPDX ID: OLDAP-2.2.1) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6321.name": "Use of Components Licensed Under the OLDAP-2.2.1 ",
  "rule.sca.l.common.6322.description": "The Open LDAP Public License 2.2.2 (SPDX ID: OLDAP-2.2.2) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6322.name": "Use of Components Licensed Under the OLDAP-2.2.2 ",
  "rule.sca.l.common.6323.description": "The Open LDAP Public License v2.3 (SPDX ID: OLDAP-2.3) has obligations for notice. You should check the full license to be aware of its use.",
  "rule.sca.l.common.6323.name": "Use of Components Licensed Under the OLDAP-2.3 ",
  "rule.sca.l.common.6324.description": "The Open LDAP Public License v2.4 (SPDX ID: OLDAP-2.4) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6324.name": "Use of Components Licensed Under the OLDAP-2.4 ",
  "rule.sca.l.common.6325.description": "The Open LDAP Public License v2.5 (SPDX ID: OLDAP-2.5) carries an obligation for notice. You should read the full license and be aware of its use.",
  "rule.sca.l.common.6325.name": "Use of Components Licensed Under the OLDAP-2.5 ",
  "rule.sca.l.common.6326.description": "The Open LDAP Public License v2.6 (SPDX ID: OLDAP-2.6) has obligations for notice. You should check the full text of the license to be aware of its use.",
  "rule.sca.l.common.6326.name": "Use of Components Licensed Under the OLDAP-2.6 ",
  "rule.sca.l.common.6327.description": "The Open LDAP Public License v2.7 (SPDX ID: OLDAP-2.7) has obligations for notice. You should check the full license to be aware of its use.",
  "rule.sca.l.common.6327.name": "Use of Components Licensed Under the OLDAP-2.7 ",
  "rule.sca.l.common.6328.description": "The Open LDAP Public License v2.8 (SPDX ID: OLDAP-2.8) has obligations for notice. You should check the full text of the license to be aware of its use.",
  "rule.sca.l.common.6328.name": "Use of Components Licensed Under the OLDAP-2.8 ",
  "rule.sca.l.common.6329.description": "The Open Market License (SPDX ID: OML) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6329.name": "Use of Components Licensed Under the OML ",
  "rule.sca.l.common.6330.description": "The OpenPBS v2.3 Software License (SPDX ID: OpenPBS-2.3) contains no obligations for notice, no limitations, and no source code disclosure scope information. You should view the full license.",
  "rule.sca.l.common.6330.name": "Use of Components Licensed Under the OpenPBS-2.3 ",
  "rule.sca.l.common.6331.description": "The OpenSSL License (SPDX ID: OpenSSL) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6331.name": "Use of Components Licensed Under the OpenSSL ",
  "rule.sca.l.common.6332.description": "The Open Public License v1.0 (SPDX ID: OPL-1.0) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6332.name": "Use of Components Licensed Under the OPL-1.0 ",
  "rule.sca.l.common.6333.description": "The Open Publication License v1.0 (SPDX ID: OPUBL-1.0) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full license.",
  "rule.sca.l.common.6333.name": "Use of Components Licensed Under the OPUBL-1.0 ",
  "rule.sca.l.common.6334.description": "The OSET Public License version 2.1 (SPDX ID: OSET-PL-2.1) The license contains no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6334.name": "Use of Components Licensed Under the OSET-PL-2.1 ",
  "rule.sca.l.common.6335.description": "The Open Software License 1.0 (SPDX ID: OSL-1.0) has obligations for notice, limitations for use over network, and obligations for source code disclosure based on library. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6335.name": "Use of Components Licensed Under the OSL-1.0 ",
  "rule.sca.l.common.6336.description": "The Open Software License 1.1 (SPDX ID: OSL-1.1) has obligations for notice, limitations for use over network, and obligations for source code disclosure based on library. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6336.name": "Use of Components Licensed Under the OSL-1.1 ",
  "rule.sca.l.common.6337.description": "The Open Software License 2.0 (SPDX ID: OSL-2.0) has obligations for notice, limitations for use over network, and obligations for source code disclosure based on library. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6337.name": "Use of Components Licensed Under the OSL-2.0 ",
  "rule.sca.l.common.6338.description": "The Open Software License 2.1 (SPDX ID: OSL-2.1) has obligations for notice, limitations for use over network, and obligations for source code disclosure based on library. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6338.name": "Use of Components Licensed Under the OSL-2.1 ",
  "rule.sca.l.common.6339.description": "The Open Software License 3.0 (SPDX ID: OSL-3.0) has obligations for notice, limitations for use over network, and obligations for source code disclosure based on library. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6339.name": "Use of Components Licensed Under the OSL-3.0 ",
  "rule.sca.l.common.6340.description": "The Parity Public License 6.0.0 (SPDX ID: Parity-6.0.0) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6340.name": "Use of Components Licensed Under the Parity-6.0.0 ",
  "rule.sca.l.common.6341.description": "The Parity Public License 7.0.0 (SPDX ID: Parity-7.0.0) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6341.name": "Use of Components Licensed Under the Parity-7.0.0 ",
  "rule.sca.l.common.6342.description": "The Open Data Commons Public Domain Dedication & License 1.0 (SPDX ID: PDDL-1.0) The license contains no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6342.name": "Use of Components Licensed Under the PDDL-1.0 ",
  "rule.sca.l.common.6343.description": "The PHP License v3.0 (SPDX ID: PHP-3.0) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full license.",
  "rule.sca.l.common.6343.name": "Use of Components Licensed Under the PHP-3.0 ",
  "rule.sca.l.common.6344.description": "The PHP License v3.01 (SPDX ID: PHP-3.01) has no obligations for notice, no limitations, and no source code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.6344.name": "Use of Components Licensed Under the PHP-3.01 ",
  "rule.sca.l.common.6345.description": "The Plexus Classworlds License (SPDX ID: Plexus) The license contains no obligations for notice, no limitations, and no source code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.6345.name": "Use of Components Licensed Under the Plexus ",
  "rule.sca.l.common.6346.description": "The PolyForm Noncommercial License 1.0.0 (SPDX ID: PolyForm-Noncommercial-1.0.0) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6346.name": "Use of Components Licensed Under the PolyForm-Noncommercial-1.0.0 ",
  "rule.sca.l.common.6347.description": "The PolyForm Small Business License 1.0.0 (SPDX ID: PolyForm-Small-Business-1.0.0) has no obligation for notice, no limitations, and no source code disclosure scope; you should check the full license.",
  "rule.sca.l.common.6347.name": "Use of Components Licensed Under the PolyForm-Small-Business-1.0.0 ",
  "rule.sca.l.common.6348.description": "The PostgreSQL License (SPDX ID: PostgreSQL) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6348.name": "Use of Components Licensed Under the PostgreSQL ",
  "rule.sca.l.common.6349.description": "The Python Software Foundation License 2.0 (SPDX ID: PSF-2.0) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6349.name": "Use of Components Licensed Under the PSF-2.0 ",
  "rule.sca.l.common.6350.description": "The psfrag License (SPDX ID: psfrag) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6350.name": "Use of Components Licensed Under the psfrag ",
  "rule.sca.l.common.6351.description": "The psutils License (SPDX ID: psutils) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6351.name": "Use of Components Licensed Under the psutils ",
  "rule.sca.l.common.6352.description": "The Python License 2.0 (SPDX ID: Python-2.0) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6352.name": "Use of Components Licensed Under the Python-2.0 ",
  "rule.sca.l.common.6353.description": "The Python License 2.0.1 (SPDX ID: Python-2.0.1) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6353.name": "Use of Components Licensed Under the Python-2.0.1 ",
  "rule.sca.l.common.6354.description": "The Qhull License (SPDX ID: Qhull) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6354.name": "Use of Components Licensed Under the Qhull ",
  "rule.sca.l.common.6355.description": "The Q Public License 1.0 (SPDX ID: QPL-1.0) has obligations for notice, unclear obligations for source code disclosure. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6355.name": "Use of Components Licensed Under the QPL-1.0 ",
  "rule.sca.l.common.6356.description": "The Q Public License 1.0 - INRIA 2004 variant (SPDX ID: QPL-1.0-INRIA-2004) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6356.name": "Use of Components Licensed Under the QPL-1.0-INRIA-2004 ",
  "rule.sca.l.common.6357.description": "The Rdisc License (SPDX ID: Rdisc) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6357.name": "Use of Components Licensed Under the Rdisc ",
  "rule.sca.l.common.6358.description": "The Red Hat eCos Public License v1.1 (SPDX ID: RHeCos-1.1) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6358.name": "Use of Components Licensed Under the RHeCos-1.1 ",
  "rule.sca.l.common.6359.description": "The Reciprocal Public License 1.1 (SPDX ID: RPL-1.1) has obligations for notice, limitations for use over network, and obligations for source code disclosure of the parts that make up the executable. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6359.name": "Use of Components Licensed Under the RPL-1.1 ",
  "rule.sca.l.common.6360.description": "The Reciprocal Public License 1.5 (SPDX ID: RPL-1.5) has an obligation for notice, limitations for use over network, and an obligation for source code disclosure of the partial source code that makes up the executable. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6360.name": "Use of Components Licensed Under the RPL-1.5 ",
  "rule.sca.l.common.6361.description": "The RealNetworks Public Source License v1.0 (SPDX ID: RPSL-1.0) has obligations for notice, limitations for use over network, and obligations for source code disclosure based on file. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6361.name": "Use of Components Licensed Under the RPSL-1.0 ",
  "rule.sca.l.common.6362.description": "The RSA Message-Digest License (SPDX ID: RSA-MD) licenses contain obligations for notice. Please read the full license and be aware of its use.",
  "rule.sca.l.common.6362.name": "Use of Components Licensed Under the RSA-MD ",
  "rule.sca.l.common.6363.description": "The Ricoh Source Code Public License (SPDX ID: RSCPL) has no obligation for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6363.name": "Use of Components Licensed Under the RSCPL ",
  "rule.sca.l.common.6364.description": "The Ruby License (SPDX ID: Ruby) has obligations for notice, code disclosure restrictions, and unclear obligations for source code disclosure. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6364.name": "Use of Components Licensed Under the Ruby ",
  "rule.sca.l.common.6365.description": "The Sax Public Domain Notice (SPDX ID: SAX-PD) has no obligations for notice, no limitations, and no source code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.6365.name": "Use of Components Licensed Under the SAX-PD ",
  "rule.sca.l.common.6366.description": "The Saxpath License (SPDX ID: Saxpath) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6366.name": "Use of Components Licensed Under the Saxpath ",
  "rule.sca.l.common.6367.description": "The SCEA Shared Source License (SPDX ID: SCEA) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6367.name": "Use of Components Licensed Under the SCEA ",
  "rule.sca.l.common.6368.description": "The Sendmail License (SPDX ID: Sendmail) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6368.name": "Use of Components Licensed Under the Sendmail ",
  "rule.sca.l.common.6369.description": "The Sendmail License 8.23 (SPDX ID: Sendmail-8.23) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6369.name": "Use of Components Licensed Under the Sendmail-8.23 ",
  "rule.sca.l.common.6370.description": "The SGI Free Software License B v1.0 (SPDX ID: SGI-B-1.0) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6370.name": "Use of Components Licensed Under the SGI-B-1.0 ",
  "rule.sca.l.common.6371.description": "The SGI Free Software License B v1.1 (SPDX ID: SGI-B-1.1) has obligations for notice. You should check the full license to be aware of its use.",
  "rule.sca.l.common.6371.name": "Use of Components Licensed Under the SGI-B-1.1 ",
  "rule.sca.l.common.6372.description": "The SGI Free Software License B v2.0 (SPDX ID: SGI-B-2.0) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6372.name": "Use of Components Licensed Under the SGI-B-2.0 ",
  "rule.sca.l.common.6373.description": "The Solderpad Hardware License v0.5 (SPDX ID: SHL-0.5) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6373.name": "Use of Components Licensed Under the SHL-0.5 ",
  "rule.sca.l.common.6374.description": "The Solderpad Hardware License, Version 0.51 (SPDX ID: SHL-0.51) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6374.name": "Use of Components Licensed Under the SHL-0.51 ",
  "rule.sca.l.common.6375.description": "The Simple Public License 2.0 (SPDX ID: SimPL-2.0) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6375.name": "Use of Components Licensed Under the SimPL-2.0 ",
  "rule.sca.l.common.6376.description": "The Sun Industry Standards Source License v1.1 (SPDX ID: SISSL) The license contains no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6376.name": "Use of Components Licensed Under the SISSL ",
  "rule.sca.l.common.6377.description": "The Sun Industry Standards Source License v1.2 (SPDX ID: SISSL-1.2) has no obligation for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license to be aware of its use.",
  "rule.sca.l.common.6377.name": "Use of Components Licensed Under the SISSL-1.2 ",
  "rule.sca.l.common.6378.description": "The Sleepycat License (SPDX ID: Sleepycat) has no obligations for notice, no limitations, and no source code disclosure scope information. You should view the full license.",
  "rule.sca.l.common.6378.name": "Use of Components Licensed Under the Sleepycat ",
  "rule.sca.l.common.6379.description": "The Standard ML of New Jersey License (SPDX ID: SMLNJ) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6379.name": "Use of Components Licensed Under the SMLNJ ",
  "rule.sca.l.common.6380.description": "The Secure Messaging Protocol Public License (SPDX ID: SMPPL) has no obligation for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6380.name": "Use of Components Licensed Under the SMPPL ",
  "rule.sca.l.common.6381.description": "The SNIA Public License 1.1 (SPDX ID: SNIA) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6381.name": "Use of Components Licensed Under the SNIA ",
  "rule.sca.l.common.6382.description": "The snprintf License (SPDX ID: snprintf) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6382.name": "Use of Components Licensed Under the snprintf ",
  "rule.sca.l.common.6383.description": "The Spencer License 86 (SPDX ID: Spencer-86) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6383.name": "Use of Components Licensed Under the Spencer-86 ",
  "rule.sca.l.common.6384.description": "The Spencer License 94 (SPDX ID: Spencer-94) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6384.name": "Use of Components Licensed Under the Spencer-94 ",
  "rule.sca.l.common.6385.description": "The Spencer License 99 (SPDX ID: Spencer-99) licenses have no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6385.name": "Use of Components Licensed Under the Spencer-99 ",
  "rule.sca.l.common.6386.description": "The Sun Public License v1.0 (SPDX ID: SPL-1.0) has no obligation for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6386.name": "Use of Components Licensed Under the SPL-1.0 ",
  "rule.sca.l.common.6387.description": "The SSH OpenSSH license (SPDX ID: SSH-OpenSSH) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6387.name": "Use of Components Licensed Under the SSH-OpenSSH ",
  "rule.sca.l.common.6388.description": "The SSH short notice (SPDX ID: SSH-short) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full license to be aware of its use.",
  "rule.sca.l.common.6388.name": "Use of Components Licensed Under the SSH-short ",
  "rule.sca.l.common.6389.description": "The Server Side Public License, v 1 (SPDX ID: SSPL-1.0) has obligations for notice, obligation for source code disclosure of all software. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6389.name": "Use of Components Licensed Under the SSPL-1.0 ",
  "rule.sca.l.common.6391.description": "The SugarCRM Public License v1.1.3 (SPDX ID: SugarCRM-1.1.3) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6391.name": "Use of Components Licensed Under the SugarCRM-1.1.3 ",
  "rule.sca.l.common.6392.description": "The SunPro License (SPDX ID: SunPro) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6392.name": "Use of Components Licensed Under the SunPro ",
  "rule.sca.l.common.6393.description": "The Scheme Widget Library (SWL) Software License Agreement (SPDX ID: SWL) contains no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6393.name": "Use of Components Licensed Under the SWL ",
  "rule.sca.l.common.6394.description": "The Symlinks License (SPDX ID: Symlinks) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6394.name": "Use of Components Licensed Under the Symlinks ",
  "rule.sca.l.common.6395.description": "The TAPR Open Hardware License v1.0 (SPDX ID: TAPR-OHL-1.0) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6395.name": "Use of Components Licensed Under the TAPR-OHL-1.0 ",
  "rule.sca.l.common.6396.description": "The TCL/TK License (SPDX ID: TCL) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6396.name": "Use of Components Licensed Under the TCL ",
  "rule.sca.l.common.6397.description": "The TCP Wrappers License (SPDX ID: TCP-wrappers) has no obligation for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6397.name": "Use of Components Licensed Under the TCP-wrappers ",
  "rule.sca.l.common.6398.description": "The TMate Open Source License (SPDX ID: TMate) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6398.name": "Use of Components Licensed Under the TMate ",
  "rule.sca.l.common.6399.description": "The TORQUE v2.5+ Software License v1.1 (SPDX ID: TORQUE-1.1) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6399.name": "Use of Components Licensed Under the TORQUE-1.1 ",
  "rule.sca.l.common.6400.description": "The Trusster Open Source License (SPDX ID: TOSL) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6400.name": "Use of Components Licensed Under the TOSL ",
  "rule.sca.l.common.6401.description": "The Time::ParseDate License (SPDX ID: TPDL) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6401.name": "Use of Components Licensed Under the TPDL ",
  "rule.sca.l.common.6402.description": "The THOR Public License 1.0 (SPDX ID: TPL-1.0) has no obligations for notice, no limitations, and no source code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.6402.name": "Use of Components Licensed Under the TPL-1.0 ",
  "rule.sca.l.common.6403.description": "The Text-Tabs+Wrap License (SPDX ID: TTWL) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6403.name": "Use of Components Licensed Under the TTWL ",
  "rule.sca.l.common.6404.description": "The Technische Universitaet Berlin License 1.0 (SPDX ID: TU-Berlin-1.0) has no obligations for notice, no limitations, and no source code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.6404.name": "Use of Components Licensed Under the TU-Berlin-1.0 ",
  "rule.sca.l.common.6405.description": "The Technische Universitaet Berlin License 2.0 (SPDX ID: TU-Berlin-2.0) has no obligations for notice, no limitations, and no source code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.6405.name": "Use of Components Licensed Under the TU-Berlin-2.0 ",
  "rule.sca.l.common.6406.description": "The UCAR License (SPDX ID: UCAR) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6406.name": "Use of Components Licensed Under the UCAR ",
  "rule.sca.l.common.6407.description": "The Upstream Compatibility License v1.0 (SPDX ID: UCL-1.0) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full license.",
  "rule.sca.l.common.6407.name": "Use of Components Licensed Under the UCL-1.0 ",
  "rule.sca.l.common.6408.description": "The Unicode License Agreement - Data Files and Software (2015) (SPDX ID: Unicode-DFS-2015) has an obligation for notice. You should read the full text of the license to be aware of its use.",
  "rule.sca.l.common.6408.name": "Use of Components Licensed Under the Unicode-DFS-2015 ",
  "rule.sca.l.common.6409.description": "The Unicode License Agreement - Data Files and Software (2016) (SPDX ID: Unicode-DFS-2016) has obligations for notice. You should read the full text of the license to be aware of its use.",
  "rule.sca.l.common.6409.name": "Use of Components Licensed Under the Unicode-DFS-2016 ",
  "rule.sca.l.common.6410.description": "The Unicode Terms of Use (SPDX ID: Unicode-TOU) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6410.name": "Use of Components Licensed Under the Unicode-TOU ",
  "rule.sca.l.common.6411.description": "The Unlicense (SPDX ID: Unlicense) is a free-to-use license.",
  "rule.sca.l.common.6411.name": "Use of Components Licensed Under the Unlicense ",
  "rule.sca.l.common.6412.description": "The Universal Permissive License v1.0 (SPDX ID: UPL-1.0) carries an obligation for notice. You should read the full license and be aware of its use.",
  "rule.sca.l.common.6412.name": "Use of Components Licensed Under the UPL-1.0 ",
  "rule.sca.l.common.6413.description": "The Vim License (SPDX ID: Vim) has obligations for notice, code disclosure restrictions, and unclear obligations for source code disclosure. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6413.name": "Use of Components Licensed Under the Vim ",
  "rule.sca.l.common.6414.description": "The VOSTROM Public License for Open Source (SPDX ID: VOSTROM) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license to be aware of its use.",
  "rule.sca.l.common.6414.name": "Use of Components Licensed Under the VOSTROM ",
  "rule.sca.l.common.6415.description": "The Vovida Software License v1.0 (SPDX ID: VSL-1.0) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6415.name": "Use of Components Licensed Under the VSL-1.0 ",
  "rule.sca.l.common.6416.description": "The W3C Software Notice and License (2002-12-31) (SPDX ID: W3C) has obligations for notice. You should check the full text of the license to be aware of its use.",
  "rule.sca.l.common.6416.name": "Use of Components Licensed Under the W3C ",
  "rule.sca.l.common.6417.description": "The W3C Software Notice and License (1998-07-20) (SPDX ID: W3C-19980720) has an obligation for notice. You should read the full license before using it.",
  "rule.sca.l.common.6417.name": "Use of Components Licensed Under the W3C-19980720 ",
  "rule.sca.l.common.6418.description": "The W3C Software Notice and Documentation License (2015-05-13) (SPDX ID: W3C-20150513) has obligations for notice. You should read the full text of the license to be aware of its use.",
  "rule.sca.l.common.6418.name": "Use of Components Licensed Under the W3C-20150513 ",
  "rule.sca.l.common.6419.description": "The w3m License (SPDX ID: w3m) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6419.name": "Use of Components Licensed Under the w3m ",
  "rule.sca.l.common.6420.description": "The Sybase Open Watcom Public License 1.0 (SPDX ID: Watcom-1.0) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6420.name": "Use of Components Licensed Under the Watcom-1.0 ",
  "rule.sca.l.common.6421.description": "The Wsuipa License (SPDX ID: Wsuipa) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6421.name": "Use of Components Licensed Under the Wsuipa ",
  "rule.sca.l.common.6422.description": "The Do What The F*ck You Want To Public License (SPDX ID: WTFPL) is a free-to-use license.",
  "rule.sca.l.common.6422.name": "Use of Components Licensed Under the WTFPL ",
  "rule.sca.l.common.6423.description": "The wxWindows Library License (SPDX ID: wxWindows) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6423.name": "Use of Components Licensed Under the wxWindows ",
  "rule.sca.l.common.6424.description": "The X11 License (SPDX ID: X11) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6424.name": "Use of Components Licensed Under the X11 ",
  "rule.sca.l.common.6425.description": "The X11 License Distribution Modification Variant (SPDX ID: X11-distribute-modifications-variant) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6425.name": "Use of Components Licensed Under the X11-distribute-modifications-variant ",
  "rule.sca.l.common.6426.description": "The Xerox License (SPDX ID: Xerox) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6426.name": "Use of Components Licensed Under the Xerox ",
  "rule.sca.l.common.6427.description": "The XFree86 License 1.1 (SPDX ID: XFree86-1.1) carries an obligation for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6427.name": "Use of Components Licensed Under the XFree86-1.1 ",
  "rule.sca.l.common.6428.description": "The xinetd License (SPDX ID: xinetd) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6428.name": "Use of Components Licensed Under the xinetd ",
  "rule.sca.l.common.6429.description": "The xlock License (SPDX ID: xlock) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6429.name": "Use of Components Licensed Under the xlock ",
  "rule.sca.l.common.6430.description": "The X.Net License (SPDX ID: Xnet) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6430.name": "Use of Components Licensed Under the Xnet ",
  "rule.sca.l.common.6431.description": "The XPP License (SPDX ID: xpp) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6431.name": "Use of Components Licensed Under the xpp ",
  "rule.sca.l.common.6432.description": "The XSkat License (SPDX ID: XSkat) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full text of the license.",
  "rule.sca.l.common.6432.name": "Use of Components Licensed Under the XSkat ",
  "rule.sca.l.common.6433.description": "The Yahoo! Public License v1.0 (SPDX ID: YPL-1.0) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6433.name": "Use of Components Licensed Under the YPL-1.0 ",
  "rule.sca.l.common.6434.description": "The Yahoo! Public License v1.1 (SPDX ID: YPL-1.1) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license to be aware of its use.",
  "rule.sca.l.common.6434.name": "Use of Components Licensed Under the YPL-1.1 ",
  "rule.sca.l.common.6435.description": "The Zeebe Community License v1.1 (SPDX ID: ZCL-1.1) has no obligation for notice, no limitations, and unclear source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6435.name": "Use of Components Licensed Under the ZCL-1.1 ",
  "rule.sca.l.common.6436.description": "The Zed License (SPDX ID: Zed) has no obligation for notice, no limitations, and no source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6436.name": "Use of Components Licensed Under the Zed ",
  "rule.sca.l.common.6437.description": "The Zend License v2.0 (SPDX ID: Zend-2.0) has no obligations for notice, no limitations, and no source code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.6437.name": "Use of Components Licensed Under the Zend-2.0 ",
  "rule.sca.l.common.6438.description": "The Zimbra Public License v1.3 (SPDX ID: Zimbra-1.3) has no obligation for notice, no limitations, and unclear source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6438.name": "Use of Components Licensed Under the Zimbra-1.3 ",
  "rule.sca.l.common.6439.description": "The Zimbra Public License v1.4 (SPDX ID: Zimbra-1.4) has no obligations for notice, no limitations, and no source code disclosure scope information. You should check the full license.",
  "rule.sca.l.common.6439.name": "Use of Components Licensed Under the Zimbra-1.4 ",
  "rule.sca.l.common.6440.description": "The zlib Licence (SPDX ID: Zlib) carries an obligation for notice. Please read the full license before use.",
  "rule.sca.l.common.6440.name": "Use of Components Licensed Under the Zlib ",
  "rule.sca.l.common.6441.description": "The zlib/libpng License with Acknowledgement (SPDX ID: zlib-acknowledgement) has an obligation for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6441.name": "Use of Components Licensed Under the zlib-acknowledgement ",
  "rule.sca.l.common.6442.description": "The Zope Public License 1.1 (SPDX ID: ZPL-1.1) has no obligation for notice, no limitations, and unclear source code disclosure scope. You should check the full text of the license.",
  "rule.sca.l.common.6442.name": "Use of Components Licensed Under the ZPL-1.1 ",
  "rule.sca.l.common.6443.description": "The Zope Public License 2.0 (SPDX ID: ZPL-2.0) has obligations for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6443.name": "Use of Components Licensed Under the ZPL-2.0 ",
  "rule.sca.l.common.6444.description": "The Zope Public License 2.1 (SPDX ID: ZPL-2.1) carries an obligation for notice. You should read the full license to be aware of its use.",
  "rule.sca.l.common.6444.name": "Use of Components Licensed Under the ZPL-2.1 ",
  "rule.sca.l.common.7007.description": "The 3D Slicer License v1.0 (SPDX ID: 3D-Slicer-1.0) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7007.name": "Using the 3D-Slicer-1.0 Licensed Component",
  "rule.sca.l.common.7008.description": "The AMD newlib License (SPDX ID: AMD-newlib) license contains no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7008.name": "Using AMD-newlib Licensed Components",
  "rule.sca.l.common.7009.description": "The BSD 2-Clause - first lines requirement (SPDX ID: BSD-2-Clause-first-lines) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7009.name": "Using the BSD-2-Clause-first-lines license component",
  "rule.sca.l.common.7010.description": "The Catharon License (SPDX ID: Catharon) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7010.name": "Using Catharon licensed components",
  "rule.sca.l.common.7011.description": "The Gutmann License (SPDX ID: Gutmann) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7011.name": "Using Gutmann Licensed Components",
  "rule.sca.l.common.7012.description": "Historical Permission Notice and Disclaimer - The Intel variant (SPDX ID: HPND-Intel) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7012.name": "Using HPND-Intel Licensed Components",
  "rule.sca.l.common.7013.description": "The Historical Permission Notice and Disclaimer - University of California, US export warning (SPDX ID: HPND-UC-export-US) license contains no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7013.name": "Use the HPND-UC-export-US license component",
  "rule.sca.l.common.7014.description": "The HPND with US Government export control warning and acknowledgment (SPDX ID: HPND-export-US-acknowledgement) license does not contain any notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7014.name": "Use the HPND-export-US-acknowledgement license component",
  "rule.sca.l.common.7015.description": "The HPND with US Government export control and 2 disclaimers (SPDX ID: HPND-export2-US) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7015.name": "Using the HPND-export2-US licensed component",
  "rule.sca.l.common.7016.description": "The Historical Permission Notice and Disclaimer - merchantability variant (SPDX ID: HPND-merchantability-variant) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7016.name": "Using the HPND-merchantability-variant license component",
  "rule.sca.l.common.7017.description": "The HPND sell variant with MIT disclaimer - reverse (SPDX ID: HPND-sell-variant-MIT-disclaimer-rev) license has no disclaimer obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7017.name": "Use the HPND-sell-variant-MIT-disclaimer-rev license component",
  "rule.sca.l.common.7018.description": "The MIT Khronos - old variant (SPDX ID: MIT-Khronos-old) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7018.name": "Using MIT-Khronos old license components",
  "rule.sca.l.common.7019.description": "The NCBI Public Domain Notice (SPDX ID: NCBI-PD) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7019.name": "Using NCBI-PD licensed components",
  "rule.sca.l.common.7020.description": "The NCL Source Code License (SPDX ID: NCL) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7020.name": "Using NCL license components",
  "rule.sca.l.common.7021.description": "The OAR License (SPDX ID: OAR) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7021.name": "Using OAR licensed components",
  "rule.sca.l.common.7022.description": "The Peer Production License (SPDX ID: PPL) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7022.name": "Using PPL licensed components",
  "rule.sca.l.common.7023.description": "The Sun PPP License (2000) (SPDX ID: Sun-PPP-2000) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7023.name": "Using the Sun-PPP-2000 Licensed Component",
  "rule.sca.l.common.7024.description": "The Any OSI License (SPDX ID: any-OSI) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7024.name": "Using any-OSI licensed components",
  "rule.sca.l.common.7025.description": "The Common Vulnerability Enumeration ToU License (SPDX ID: cve-tou) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7025.name": "Using CVE-TOU licensed components",
  "rule.sca.l.common.7026.description": "The pkgconf License (SPDX ID: pkgconf) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7026.name": "Using pkgconf licensed components",
  "rule.sca.l.common.7027.description": "The threeparttable License (SPDX ID: threeparttable) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7027.name": "Using threeparttable licensed components",
  "rule.sca.l.common.7028.description": "The xzoom License (SPDX ID: xzoom) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7028.name": "Using xzoom licensed components",
  "rule.sca.l.common.7033.description": "The Adobe Display PostScript License (SPDX ID: Adobe-Display-PostScript) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7033.name": "Using the Adobe-Display-PostScript Licensed Component",
  "rule.sca.l.common.7034.description": "The Adobe Utopia Font License (SPDX ID: Adobe-Utopia) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7034.name": "Use Adobe-Utopia licensed components",
  "rule.sca.l.common.7035.description": "The AML glslang variant License (SPDX ID: AML-glslang) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7035.name": "Using the AML-glslang Licensed Component",
  "rule.sca.l.common.7036.description": "The ASWF Digital Assets License version 1.0 (SPDX ID: ASWF-Digital-Assets-1.0) license contains no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7036.name": "Using the ASWF-Digital-Assets-1.0 Licensed Component",
  "rule.sca.l.common.7037.description": "The ASWF Digital Assets License 1.1 (SPDX ID: ASWF-Digital-Assets-1.1) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7037.name": "Using the ASWF-Digital-Assets-1.1 Licensed Component",
  "rule.sca.l.common.7038.description": "The bcrypt Solar Designer License (SPDX ID: bcrypt-Solar-Designer) license has no disclosure obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7038.name": "Using the bcrypt-Solar-Designer licensed component",
  "rule.sca.l.common.7039.description": "The Boehm-Demers-Weiser GC License (SPDX ID: Boehm-GC) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7039.name": "Using the Boehm-GC Licensed Component",
  "rule.sca.l.common.7040.description": "The Brian Gladman 2-Clause License (SPDX ID: Brian-Gladman-2-Clause) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7040.name": "Using the Brian-Gladman-2-Clause License Component",
  "rule.sca.l.common.7041.description": "The BSD 2-Clause - Ian Darwin variant (SPDX ID: BSD-2-Clause-Darwin) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7041.name": "Using the BSD-2-Clause-Darwin License Component",
  "rule.sca.l.common.7042.description": "The BSD 3-Clause acpica variant (SPDX ID: BSD-3-Clause-acpica) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7042.name": "Using BSD-3-Clause-acpica Licensed Components",
  "rule.sca.l.common.7043.description": "The BSD 3-Clause Flex variant (SPDX ID: BSD-3-Clause-flex) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7043.name": "Using the BSD-3-Clause-flex License Component",
  "rule.sca.l.common.7044.description": "The Creative Commons Attribution-ShareAlike 3.0 IGO (SPDX ID: CC-BY-SA-3.0-IGO) license has a notice obligation and a file-by-file source code disclosure obligation. You should read the full license to be aware of its use.",
  "rule.sca.l.common.7044.name": "Use CC-BY-SA-3.0-IGO licensed components",
  "rule.sca.l.common.7045.description": "The Hewlett-Packard BSD variant license (SPDX ID: BSD-3-Clause-HP) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7045.name": "Using BSD-3-Clause-HP Licensed Components",
  "rule.sca.l.common.7046.description": "The BSD 3-Clause Sun Microsystems (SPDX ID: BSD-3-Clause-Sun) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7046.name": "Using the BSD-3-Clause-Sun License Component",
  "rule.sca.l.common.7047.description": "The BSD-Inferno-Nettverk (SPDX ID: BSD-Inferno-Nettverk) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7047.name": "Using BSD-Inferno-Nettverk Licensed Components",
  "rule.sca.l.common.7048.description": "The BSD Source Code Attribution - beginning of file variant (SPDX ID: BSD-Source-beginning-file) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7048.name": "Using the BSD-Source-beginning-file license component",
  "rule.sca.l.common.7049.description": "The Systemics BSD variant license (SPDX ID: BSD-Systemics) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7049.name": "Using BSD-Systemics Licensed Components",
  "rule.sca.l.common.7050.description": "The Systemics W3Works BSD variant license (SPDX ID: BSD-Systemics-W3Works) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7050.name": "Using BSD-Systemics-W3Works Licensed Components",
  "rule.sca.l.common.7051.description": "The Caldera License (without preamble) (SPDX ID: Caldera-no-preamble) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7051.name": "Using Caldera-no-preamble licensed components",
  "rule.sca.l.common.7052.description": "The Creative Commons Attribution 3.0 Australia (SPDX ID: CC-BY-3.0-AU) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7052.name": "Use CC-BY-3.0-AU licensed components",
  "rule.sca.l.common.7053.description": "The check-cvs License (SPDX ID: check-cvs) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7053.name": "Using the check-cvs license component",
  "rule.sca.l.common.7054.description": "The CMU Mach - no notices-in-documentation variant (SPDX ID: CMU-Mach-nodoc) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7054.name": "Using the CMU-Mach-nodoc licensed component",
  "rule.sca.l.common.7055.description": "The Cronyx License (SPDX ID: Cronyx) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7055.name": "Using Cronyx licensed components",
  "rule.sca.l.common.7056.description": "The DEC 3-Clause License (SPDX ID: DEC-3-Clause) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7056.name": "Using the DEC-3-Clause License Component",
  "rule.sca.l.common.7057.description": "Data license Germany - zero - version 2.0 (SPDX ID: DL-DE-ZERO-2.0) The license contains no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7057.name": "Using DL-DE-ZERO-2.0 licensed components",
  "rule.sca.l.common.7058.description": "The DocBook Schema License (SPDX ID: DocBook-Schema) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7058.name": "Using DocBook-Schema licensed components",
  "rule.sca.l.common.7059.description": "The DocBook XML License (SPDX ID: DocBook-XML) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7059.name": "Using the DocBook-XML Licensing Component",
  "rule.sca.l.common.7060.description": "The Detection Rule License 1.1 (SPDX ID: DRL-1.1) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7060.name": "Using the DRL-1.1 License Component",
  "rule.sca.l.common.7061.description": "The David M. Gay dtoa License (SPDX ID: dtoa) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7061.name": "Using DTOA license components",
  "rule.sca.l.common.7062.description": "The Fuzzy Bitmap License (SPDX ID: FBM) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7062.name": "Using FBM licensed components",
  "rule.sca.l.common.7063.description": "The Ferguson Twofish License (SPDX ID: Ferguson-Twofish) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7063.name": "Using Ferguson-Twofish licensed components",
  "rule.sca.l.common.7064.description": "The FSF All Permissive License (without Warranty) (SPDX ID: FSFAP-no-warranty-disclaimer) license has no disclaimer obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7064.name": "Using the FSFAP-no-warranty-disclaimer license component",
  "rule.sca.l.common.7065.description": "The Furuseth License (SPDX ID: Furuseth) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7065.name": "Using Furuseth Licensed Components",
  "rule.sca.l.common.7066.description": "The fwlw License (SPDX ID: fwlw) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7066.name": "Using FWLW licensed components",
  "rule.sca.l.common.7067.description": "The Gnome GCR Documentation License (SPDX ID: GCR-docs) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7067.name": "Using GCR-docs licensed components",
  "rule.sca.l.common.7068.description": "The LPD Documentation License (SPDX ID: LPD-document) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7068.name": "Using the LPD-document license component",
  "rule.sca.l.common.7069.description": "The gtkbook License (SPDX ID: gtkbook) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7069.name": "Using the gtkbook licensed component",
  "rule.sca.l.common.7070.description": "The hdparm License (SPDX ID: hdparm) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7070.name": "Using HDPARM licensed components",
  "rule.sca.l.common.7071.description": "The HIDAPI License (SPDX ID: HIDAPI) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7071.name": "Using HIDAPI Licensed Components",
  "rule.sca.l.common.7072.description": "Historical Permission Notice and Disclaimer - The documentation sell variant (SPDX ID: HPND-doc-sell) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7072.name": "Using the HPND-doc-sell licensing component",
  "rule.sca.l.common.7073.description": "The Hewlett-Packard 1989 License (SPDX ID: HP-1989) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7073.name": "Using the HP-1989 License Component",
  "rule.sca.l.common.7074.description": "Historical Permission Notice and Disclaimer - The DEC variant (SPDX ID: HPND-DEC) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7074.name": "Using HPND-DEC licensed components",
  "rule.sca.l.common.7075.description": "The Historical Permission Notice and Disclaimer - documentation variant (SPDX ID: HPND-doc) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7075.name": "Using HPND-doc licensed components",
  "rule.sca.l.common.7076.description": "The HPND with US Government export control warning and modification rqmt (SPDX ID: HPND-export-US-modify) license does not have any notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7076.name": "Use the HPND-export-US-modify license component",
  "rule.sca.l.common.7077.description": "The Historical Permission Notice and Disclaimer - Fenneberg-Livingston variant (SPDX ID: HPND-Fenneberg-Livingston) license contains no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7077.name": "Using HPND-Fenneberg-Livingston licensed components",
  "rule.sca.l.common.7078.description": "Historical Permission Notice and Disclaimer - The INRIA-IMAG variant (SPDX ID: HPND-INRIA-IMAG) license contains no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7078.name": "Using HPND-INRIA-IMAG licensed components",
  "rule.sca.l.common.7079.description": "The Historical Permission Notice and Disclaimer - Kevlin Henney variant (SPDX ID: HPND-Kevlin-Henney) license contains no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7079.name": "Using HPND-Kevlin-Henney Licensed Components",
  "rule.sca.l.common.7080.description": "The Historical Permission Notice and Disclaimer with MIT disclaimer (SPDX ID: HPND-MIT-disclaimer) license contains no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7080.name": "Using the HPND-MIT-disclaimer license component",
  "rule.sca.l.common.7081.description": "Historical Permission Notice and Disclaimer - The Netrek variant (SPDX ID: HPND-Netrek) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7081.name": "Using HPND-Netrek licensed components",
  "rule.sca.l.common.7082.description": "Historical Permission Notice and Disclaimer - The Pbmplus variant (SPDX ID: HPND-Pbmplus) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7082.name": "Using HPND-Pbmplus licensed components",
  "rule.sca.l.common.7083.description": "The Historical Permission Notice and Disclaimer - sell xserver variant with MIT disclaimer (SPDX ID: HPND-sell-MIT-disclaimer-xserver) license contains no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7083.name": "Use the HPND-sell-MIT-disclaimer-xserver license component",
  "rule.sca.l.common.7084.description": "The Historical Permission Notice and Disclaimer - sell regexpr variant (SPDX ID: HPND-sell-regexpr) license contains no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7084.name": "Using the HPND-sell-regexpr licensing component",
  "rule.sca.l.common.7085.description": "Historical Permission Notice and Disclaimer - The University of California variant (SPDX ID: HPND-UC) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7085.name": "Using HPND-UC licensed components",
  "rule.sca.l.common.7086.description": "The Kastrup License (SPDX ID: Kastrup) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7086.name": "Using Kastrup licensed components",
  "rule.sca.l.common.7087.description": "The Inner Net License v2.0 (SPDX ID: Inner-Net-2.0) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7087.name": "Using Inner-Net-2.0 licensed components",
  "rule.sca.l.common.7088.description": "The ISC Veillard variant (SPDX ID: ISC-Veillard) license does not have any notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7088.name": "Using ISC-Veillard Licensed Components",
  "rule.sca.l.common.7089.description": "The Latex2e with translated notice permission (SPDX ID: Latex2e-translated-notice) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7089.name": "Using the Latex2e-translated-notice license component",
  "rule.sca.l.common.7090.description": "The Linux man-pages - 1 paragraph (SPDX ID: Linux-man-pages-1-para) license contains no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7090.name": "Using the Linux-man-pages-1-para licensed component",
  "rule.sca.l.common.7091.description": "The Linux man-pages Copyleft - 2 paragraphs (SPDX ID: Linux-man-pages-copyleft-2-para) license contains no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7091.name": "Using the Linux-man-pages-copyleft-2-para licensed component",
  "rule.sca.l.common.7092.description": "The Linux man-pages Copyleft Variant (SPDX ID: Linux-man-pages-copyleft-var) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7092.name": "Using the Linux-man-pages-copyleft-var license component",
  "rule.sca.l.common.7093.description": "The lsof License (SPDX ID: lsof) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7093.name": "Using LSOF license components",
  "rule.sca.l.common.7094.description": "The Lucida Bitmap Fonts License (SPDX ID: Lucida-Bitmap-Fonts) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7094.name": "Using the Lucida-Bitmap-Fonts Licensed Component",
  "rule.sca.l.common.7095.description": "The Mackerras 3-Clause License (SPDX ID: Mackerras-3-Clause) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7095.name": "Using the Mackerras-3-Clause License Component",
  "rule.sca.l.common.7096.description": "The Mackerras 3-Clause - acknowledgment variant (SPDX ID: Mackerras-3-Clause-acknowledgment) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7096.name": "Using the Mackerras-3-Clause-acknowledgment License Component",
  "rule.sca.l.common.7097.description": "The magaz License (SPDX ID: magaz) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7097.name": "Using magaz licensed components",
  "rule.sca.l.common.7098.description": "The mailprio License (SPDX ID: mailprio) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7098.name": "Using mailprio licensed components",
  "rule.sca.l.common.7099.description": "The McPhee Slideshow License (SPDX ID: McPhee-slideshow) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7099.name": "Using the McPhee-slideshow licensed component",
  "rule.sca.l.common.7100.description": "The metamail License (SPDX ID: metamail) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7100.name": "Using metamail licensed components",
  "rule.sca.l.common.7101.description": "The MIT Festival Variant (SPDX ID: MIT-Festival) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7101.name": "Using MIT-Festival licensed components",
  "rule.sca.l.common.7102.description": "The MIT testregex Variant (SPDX ID: MIT-testregex) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7102.name": "Using MIT-testregex licensed components",
  "rule.sca.l.common.7103.description": "The MMIXware License (SPDX ID: MMIXware) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7103.name": "Using MMIXware licensed components",
  "rule.sca.l.common.7104.description": "The MPEG Software Simulation (SPDX ID: MPEG-SSG) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7104.name": "Using MPEG-SSG Licensed Components",
  "rule.sca.l.common.7105.description": "The NIST Software License (SPDX ID: NIST-Software) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7105.name": "Using NIST-Software licensed components",
  "rule.sca.l.common.7106.description": "The Open Logistics Foundation License Version 1.3 (SPDX ID: OLFL-1.3) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7106.name": "Using the OLFL-1.3 License Component",
  "rule.sca.l.common.7107.description": "The OpenSSL License - standalone (SPDX ID: OpenSSL-standalone) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7107.name": "Using OpenSSL-standalone licensed components",
  "rule.sca.l.common.7108.description": "The OpenVision License (SPDX ID: OpenVision) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7108.name": "Using OpenVision Licensed Components",
  "rule.sca.l.common.7109.description": "The United Kingdom Open Parliament License v3.0 (SPDX ID: OPL-UK-3.0) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7109.name": "Using OPL-UK-3.0 licensed components",
  "rule.sca.l.common.7110.description": "The PADL License (SPDX ID: PADL) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7110.name": "Using the PADL license component",
  "rule.sca.l.common.7111.description": "The Pixar License (SPDX ID: Pixar) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7111.name": "Using Pixar Licensed Components",
  "rule.sca.l.common.7112.description": "The pnmstitch License (SPDX ID: pnmstitch) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7112.name": "Using pnmstitch licensed components",
  "rule.sca.l.common.7113.description": "The Python ldap License (SPDX ID: python-ldap) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7113.name": "Using the python-ldap licensed component",
  "rule.sca.l.common.7114.description": "The radvd License (SPDX ID: radvd) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7114.name": "Using the RADVD License Component",
  "rule.sca.l.common.7115.description": "The Ruby pty extension license (SPDX ID: Ruby-pty) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7115.name": "Using Ruby-empty licensed components",
  "rule.sca.l.common.7116.description": "The Sax Public Domain Notice 2.0 (SPDX ID: SAX-PD-2.0) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7116.name": "Using SAX-PD-2.0 Licensed Components",
  "rule.sca.l.common.7117.description": "The Scheme Language Report License (SPDX ID: SchemeReport) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7117.name": "Using SchemeReport licensed components",
  "rule.sca.l.common.7118.description": "The Sun PPP License (SPDX ID: Sun-PPP) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7118.name": "Using Sun-PPP licensed components",
  "rule.sca.l.common.7119.description": "The SGI OpenGL License (SPDX ID: SGI-OpenGL) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7119.name": "Using SGI-OpenGL Licensed Components",
  "rule.sca.l.common.7120.description": "The SGP4 Permission Notice (SPDX ID: SGP4) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7120.name": "Using SGP4 licensed components",
  "rule.sca.l.common.7121.description": "The Ubuntu Font License v1.0 (SPDX ID: Ubuntu-font-1.0) license contains no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7121.name": "Using the Ubuntu-font-1.0 licensed component",
  "rule.sca.l.common.7122.description": "The SL License (SPDX ID: SL) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7122.name": "Using SL licensed components",
  "rule.sca.l.common.7123.description": "The softSurfer License (SPDX ID: softSurfer) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7123.name": "Using softSurfer licensed components",
  "rule.sca.l.common.7124.description": "The Soundex License (SPDX ID: Soundex) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7124.name": "Using Soundex Licensed Components",
  "rule.sca.l.common.7125.description": "The ssh-keyscan License (SPDX ID: ssh-keyscan) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7125.name": "Using the ssh-keyscan license component",
  "rule.sca.l.common.7126.description": "The SSLeay License - standalone (SPDX ID: SSLeay-standalone) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7126.name": "Using the SSLeay-standalone licensed component",
  "rule.sca.l.common.7127.description": "The swrule License (SPDX ID: swrule) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7127.name": "Using the swrule license component",
  "rule.sca.l.common.7128.description": "The TermReadKey License (SPDX ID: TermReadKey) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7128.name": "Using TermReadKey licensed components",
  "rule.sca.l.common.7129.description": "The Transitive Grace Period Public License 1.0 (SPDX ID: TGPPL-1.0) license has no notice obligations, restrictions, or code disclosure information. You should read the full license.",
  "rule.sca.l.common.7129.name": "Using TGPPL-1.0 licensed components",
  "rule.sca.l.common.7130.description": "The TTYP0 License (SPDX ID: TTYP0) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7130.name": "Using TTYP0 license components",
  "rule.sca.l.common.7131.description": "The ulem License (SPDX ID: ulem) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7131.name": "Using ULEM licensed components",
  "rule.sca.l.common.7132.description": "The Michigan/Merit Networks License (SPDX ID: UMich-Merit) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7132.name": "Using the UMich-Merit license component",
  "rule.sca.l.common.7133.description": "The Unicode License v3 (SPDX ID: Unicode-3.0) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7133.name": "Using Unicode-3.0 Licensed Components",
  "rule.sca.l.common.7134.description": "The UnixCrypt License (SPDX ID: UnixCrypt) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7134.name": "Using UnixCrypt licensed components",
  "rule.sca.l.common.7135.description": "The Utah Raster Toolkit Run Length Encoded License (SPDX ID: URT-RLE) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7135.name": "Using the URT-RLE License Component",
  "rule.sca.l.common.7136.description": "The Widget Workshop License (SPDX ID: Widget-Workshop) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7136.name": "Using Widget-Workshop Licensed Components",
  "rule.sca.l.common.7137.description": "The X11 swapped final paragraphs (SPDX ID: X11-swapped) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7137.name": "Using X11-swapped licensed components",
  "rule.sca.l.common.7138.description": "The Xdebug License v 1.03 (SPDX ID: Xdebug-1.03) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7138.name": "Using the Xdebug-1.03 Licensed Component",
  "rule.sca.l.common.7139.description": "The Xfig License (SPDX ID: Xfig) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7139.name": "Using Xfig Licensed Components",
  "rule.sca.l.common.7140.description": "The xkeyboard-config Zinoviev License (SPDX ID: xkeyboard-config-Zinoviev) license has no notice obligations, restrictions, or code disclosure scope information. You should read the full license.",
  "rule.sca.l.common.7140.name": "Using the xkeyboard-config Zinoviev licensed component",
  "rule.sca.l.common.7141.description": "The Zeeff License (SPDX ID: Zeeff) license has no notice obligations, restrictions, or code disclosure coverage information. You should read the full license.",
  "rule.sca.l.common.7141.name": "Using Zeeff Licensed Components",
  "rule.sca.l.common.7493.description": "The General Public License v3.0 (SPDX ID: GPL-3.0) contains obligations for notice, restrictions on the obligation to provide installation information, and an obligation for source code disclosure of the partial source code that makes up the executable. You should read the full license to be aware of its use.",
  "rule.sca.l.common.7493.name": "Use of Components Licensed Under the GPL-3.0",
  "rule.sca.sv.common.5896.description": "The One of the most important steps you can take to ensure the security of your application is to avoid using components with known security vulnerabilities.\nVulnerable components must be updated to the latest secure version or replaced with other secure components.",
  "rule.sca.sv.common.5896.name": "Use of Vulnerable Component",
  "rustchk.DIVIDE_BY_ZERO.RUST.defect": "Dividing by zero causes panic, so you need to make sure the denominator is zero or use checked_div.",
  "rustchk.MAY_OVERFLOW_WRAP.RUST.defect": "Operations that can cause overflows should use the Wrapping type.",
  "rustchk.USING_BAD_PANIC.RUST.defect": "{0} can cause panic and should be limited in use.",
  "rustchk.USING_BAD_RAW_POINTER.RUST.defect": "Raw pointers converted with into_raw should always be recovered with from_raw.",
  "rustchk.USING_BOX_LEAK.RUST.defect": "You should avoid using Box::leak, which causes memory leaks.",
  "rustchk.USING_DIRECT_INDEX.RUST.defect": "When accessing array indices, it is safe to check the bounds or use the get method.",
  "rustchk.USING_FORGET.RUST.defect": "The `forget` does not return memory, which can cause memory leaks.",
  "rustchk.USING_INCOMPATIBLE_TYPE_WITH_C.RUST.defect": "When using FFI, you must ensure data integrity by using only C-compatible types.",
  "rustchk.USING_MANUALLY_DROP.RUST.defect": "When using ManuallyDrop, memory must be explicitly freed or raw values extracted to ensure automatic cleanup.",
  "rustchk.USING_TRY_MACRO.RUST.defect": "Using the ? operator instead of the try! macro can improve the readability and consistency of your code.",
  "rustchk.USING_UNINIT_MEM.RUST.defect": "{0} should be avoided because it can cause memory safety issues.",
  "rustchk.USING_UNSAFE.RUST.defect": "UNSAFE does not guarantee memory safety and should be avoided whenever possible.",
  "sast.engine.common.checker.SAST.SW.DART.6462.sink": "A vulnerable hash function was used in the code: {0}",
  "sast.engine.common.checker.SAST.SW.DART.6463.sink": "A vulnerable random number function was used in the code: {0}",
  "sast.engine.common.checker.SAST.SW.DART.6464.sink": "A weak encryption algorithm was used in the code: {0}",
  "sast.engine.common.checker.SAST.SW.DART.6465.sink": "A code with an insufficient RSA key length was detected: {0} bits",
  "sast.engine.common.checker.SAST.SW.LUA.7159.sink": "A vulnerable hash function was used in the code: {0}",
  "sast.engine.common.checker.SAST.SW.LUA.7160.sink": "A vulnerable random number function was used in the code: {0}",
  "sast.engine.common.checker.SAST.SW.LUA.7161.sink": "A code with an insufficient RSA key length was detected: {0} bits",
  "sast.engine.common.checker.SAST.SW.LUA.7166": "Remove all debugging code from the code in preparation of the production stage: {0}",
  "sast.engine.common.checker.SAST.SW.LUA.7168.sink": "A weak encryption algorithm was used in the code: {0}",
  "sast.engine.common.checker.SAST.SW.PY.7247.sink": "Found an improper CORS setting: {0}",
  "sast.engine.common.checker.SAST.SW.PY.7248.port.sink": "Found an improper SMTP port: 25",
  "sast.engine.common.checker.SAST.SW.PY.7248.protocol.sink": "Found an improper SMTP setting: {0}=False",
  "sast.engine.common.checker.SAST.SW.PY.7249.sink": "Found an improper setting from MAX_CONTENT_LENGTH: MAX_CONTENT_LENGTH=None",
  "sast.engine.common.checker.SAST.SW.PY.7250.sink": "Found an improper TRUSTED_HOSTS setting: TRUSTED_HOSTS=None",
  "sast.engine.common.checker.SAST.SW.PY.7251.sink": "Found an improper CORS setting: {0}",
  "sast.engine.common.checker.SAST.SW.PY.7252.port.sink": "Found an improper SMTP port: 25",
  "sast.engine.common.checker.SAST.SW.PY.7252.protocol.sink": "Found an improper SMTP setting: {0}=False",
  "sast.engine.common.checker.SAST.SW.PY.7253.sink": "Found an improper ALLOWED_HOSTS setting: ALLOWED_HOSTS=['*']",
  "sast.engine.common.checker.SAST.SW.PY.7254.sink": "Found a setting that does not limit the size of request body: DATA_UPLOAD_MAX_MEMORY_SIZE=None",
  "sast.engine.common.checker.SAST.SW.PY.7255.sink": "Found a X-Content-Type-Options setting: SECURE_CONTENT_TYPE_NOSNIFF=False",
  "sast.engine.common.checker.SAST.SW.PY.7256.hsts.sink": "Found an improper HSTS setting: {0}",
  "sast.engine.common.checker.SAST.SW.PY.7256.redirect.sink": "Found a missing setting for HTTPS redirection: SECURE_SSL_REDIRECT=False",
  "sast.engine.common.checker.SAST.SW.PY.7257.sink": "Found an improper Referrer-Policy setting: SECURE_REFERRER_POLICY={0}",
  "sast.engine.common.checker.SAST.SW.PY.7258.sink": "Found an improper Cross-Origin-Opener-Policy setting: SECURE_CROSS_ORIGIN_OPENER_POLICY={0}",
  "sast.engine.common.checker.SAST.SW.PY.7259.sink": "Found an improper CSP setting: {0}: {1}",
  "sast.engine.common.checker.SAST.SW.PY.7260.sink": "Found that the middleware used for security in Django is missing.",
  "sast.engine.common.checker.SAST.SW.PY.7261.sink": "Found an improper hash algorithm: {0}",
  "sast.engine.common.checker.SAST.SW.PY.7304.sink": "Found an improper hash algorithm: {0}",
  "sast.engine.common.checker.SAST.SW.TERRAFORM.7338.sink": "The user data of the EC2 instance contains a hardcoded secret AWS key.",
  "sast.engine.common.checker.SAST.SW.TERRAFORM.7339.sink": "The same IAM role was used between public and private EC2 instances.",
  "sast.engine.common.checker.SAST.SW.TERRAFORM.7340.sink": "The `iam:PassRole` and `ec2:RunInstance` actions in the group policy are set to `*`, making the group vulnerable to privilege escalation attacks.",
  "sast.engine.common.checker.SAST.SW.TERRAFORM.7341.sink": "The `iam:PassRole` and `ec2:RunInstance` actions in the user policy are set to `*`, making it vulnerable to role escalation attacks.",
  "sast.engine.common.checker.SAST.SW.TERRAFORM.7342.sink": "The `iam:PassRole` and `ec2:RunInstance` actions in the role policy are set to `*`, making it vulnerable to role escalation attacks.",
  "sast.engine.common.checker.SAST.SW.TERRAFORM.7343.sink": "The EC2 instance is using the default security group. It is recommended to use an appropriate security group that fits your environment.",
  "sast.engine.common.checker.SAST.SW.TERRAFORM.7344.sink": "The EC2 instance is located within the default VPC. It is recommended to use an appropriate VPC that suits your environment.",
  "sast.engine.common.checker.SAST.SW.TERRAFORM.7345.sink": "The EC2 instance uses a Public IP address.",
  "sast.engine.common.checker.SAST.SW.TERRAFORM.7346.sink": "The Transit Gateway of EC2 is configured to automatically accept VPC connection requests.",
  "sast.engine.common.checker.SAST.SW.TERRAFORM.7354.sink": "The EC2 instance is not optimized for EBS.",
  "sast.engine.common.checker.SAST.SW.TERRAFORM.7355.sink": "Detailed monitoring for the EC2 instance has been disabled.",
  "sast.engine.common.checker.SAST.SW.TERRAFORM.7356.sink": "The EC2 instance has been configured to use IMDSv1.",
  "sast.engine.common.checker.SAST.SW.TERRAFORM.7357.sink": "Description of the security group is missing.",
  "sast.engine.common.checker.SAST.SW.TERRAFORM.7358.sink": "The description is missing in the \"ingress\" rule of the security group.",
  "sast.engine.common.checker.SAST.SW.TERRAFORM.7359.sink": "The description is missing in the \"egress\" rule within the security group.",
  "sast.engine.common.checker.SAST.SW.TERRAFORM.7360.sink": "The EBS volume is not encrypted.",
  "sast.engine.common.checker.SAST.SW.TERRAFORM.7361.sink": "Customer-managed keys were not used for EBS volume encryption.",
  "sast.engine.common.checker.SAST.SW.TERRAFORM.7362.sink": "Subnet details were not included in the Redshift cluster resource.",
  "sast.engine.common.checker.SAST.SW.XML.7422.sink.explicit": "The `android:exported` attribute is set to true in the {0} tag, but the `android:permission` attribute is not defined.",
  "sast.engine.common.checker.SAST.SW.XML.7422.sink.implicit": "The `android:exported` and `android:permission` attributes are not defined in the {0} tag.",
  "sast.engine.common.checker.SAST.SW.XML.7422.source.assign_empty": "The {0} property is defined as an empty string (\"\"), so appropriate access control is not applied.",
  "sast.engine.common.checker.SAST.SW.XML.7422.source.assign_empty_all": "Both the `android:readPermission` and `android:writePermission` attributes are defined as empty strings (\"\"), which means that appropriate access control is not applied.",
  "sast.engine.common.checker.SAST.SW.XML.7422.source.intent_filter": "Due to the intent-filter, components can be accessed from outside without setting the android:exported attribute.",
  "sast.engine.common.checker.comment_api_key.sink": "Hardcoded API key detected in the comment: {0}",
  "sast.engine.common.checker.comment_auth_url.sink": "Authentication information was detected within a comment: {0}",
  "sast.engine.common.checker.comment_email.sink": "Email information detected in comment: {0}",
  "sast.engine.common.checker.comment_ipv4.sink": "IP information detected in the comment: {0}",
  "sast.engine.common.checker.danger_cookie.defect": "Improper cookie settings expose you to XSS, CSRF, and other security vulnerabilities. Set the safe cookie flag.",
  "sast.engine.common.checker.hardcode_api_key.sink": "Hardcoded API key detected: {0}",
  "sast.engine.common.checker.hardcode_auth_url.sink": "Hardcoded credentials detected: {0}",
  "sast.engine.common.checker.hardcode_email.sink": "Hardcoded email information detected: {0}",
  "sast.engine.common.checker.hardcode_ipv4.sink": "Hardcoded IP information detected: {0}",
  "sast.engine.common.checker.hardcode_secret.sink": "Potentially sensitive data is hardcoded. {0}: {1}",
  "sast.engine.common.checker.leftover_debug.defect": "Remove all debugging code from the code in preparation of the production stage: {0}",
  "sast.engine.common.checker.short_rsa_key.defect": "A code with an insufficient RSA key length was detected: {0} bits",
  "sast.engine.common.checker.weak_crypto.defect": "A weak encryption algorithm was used in the code: {0}",
  "sast.engine.common.checker.weak_hash.defect": "A vulnerable hash function was used in the code: {0}",
  "sast.engine.common.checker.weak_random.defect": "A vulnerable random number function was used in the code: {0}",
  "sast.engine.common.move_to_source": "Check more information from other files: {0}",
  "sast.engine.ruby.checker.SAST.SW.RUBY.7515.defect": "The interactive debugger exists: {0}",
  "sast.engine.ruby.checker.SAST.SW.RUBY.7517.defect.legacy": "There is code that forcibly enables deprecated (legacy) cryptographic algorithms.",
  "sast.symbol_tag.kind.class": "Class",
  "sast.symbol_tag.kind.function": "Function",
  "sast.symbol_tag.kind.method": "Method",
  "sast.symbol_tag.kind.namespace": "Namespace",
  "sast.symbol_tag.kind.package": "Package",
  "sast.symbol_tag.kind.struct": "Structure",
  "sast.symbol_tag.kind.variable": "Variable",
  "seekOnAppendedFile.description": "Repositioning operation performed on a file opened in append mode has no effect.",
  "shiftNegative.description": "Shifting by a negative value is undefined behaviour.",
  "shiftNegativeLHS.description": "Shifting a negative value is technically undefined behaviour.",
  "shiftTooManyBits.description": "Shifting a value by bigger bits than its size is undefined behavior.",
  "shiftTooManyBitsSigned.description": "Shifting signed 32-bit value by 31 bits is undefined behaviour",
  "signConversion.description": "Suspicious code: sign conversion of a variable in calculation, even though the variable can have a negative value.",
  "sprintfOverlappingData.description": "Undefined behavior: A variable is used as parameter and destination in s[n]printf().",
  "sqlchk.BAD.LOCATION.COLUMN.SQL.defect": "Locating columns below the hint is recommended.",
  "sqlchk.BAD.LOCATION.ORDER_GROUP_BY.SQL.defect": "'order by' or 'group by' clause should be separated from the previous line.",
  "sqlchk.BAD.UNION.SQL.defect": "The set operator 'UNION' is forbidden to use. Use 'UNION ALL'.",
  "sqlchk.BAD.USE_OF_FULL_OUTER_JOIN.SQL.defect": "The full outer join is forbidden to use.",
  "sqlchk.FORBIDDEN.ARITHMETIC_OPERATION.SQL.defect": "The arithmetic operation is forbidden to use.",
  "sqlchk.FORBIDDEN.ASTERISK.SELECT.SQL.defect": "The character, '*', is forbidden to use.",
  "sqlchk.FORBIDDEN.BINDING_VARIABLE.SQL.defect": "A binding variable is forbidden to use.",
  "sqlchk.FORBIDDEN.DISTINCT.SQL.defect": "The 'DISTINCT' is forbidden to use.",
  "sqlchk.FORBIDDEN.FROM_DUAL.SQL.defect": "The 'DUAL' is forbidden to use.",
  "sqlchk.FORBIDDEN.LOWERCASE_KEYWORD.SQL.defect": "The following keyword should be written in uppercase.",
  "sqlchk.FORBIDDEN.NEGATION_IN_CONDITION.SQL.defect": "The negation operation is forbidden in condition.",
  "sqlchk.FORBIDDEN.PARALLEL.SQL.defect": "The 'PARALLEL' is forbidden to use.",
  "sqlchk.FORBIDDEN.SYSDATE.SQL.defect": "The 'SYSDATE' is forbidden to use.",
  "sqlchk.FORBIDDEN.TABLE.SQL.defect": "The table is forbidden to use.",
  "sqlchk.FORBIDDEN.TABLE_COLUMN.SQL.defect": "The column of the table is forbidden to use.",
  "sqlchk.MISMATCH.COLUMN_VALUE.INSERT.SQL.defect": "Mismatch between the number of columns and values.",
  "sqlchk.MISSING.ALIAS.TABLE.SQL.defect": "alias is missing in table name.",
  "sqlchk.MISSING.ASC_DESC.ORDER_BY.SQL.defect": "The ordering sequence including ASC and DESC is missing.",
  "sqlchk.MISSING.COLUMN.INSERT.SQL.defect": "Columns are missing in the INSERT statement.",
  "sqlchk.MISSING.COMMENT.BINDING_VARIABLE.SQL.defect": "The following binding variable must be written with a comment.",
  "sqlchk.MISSING.COMMENT.COLUMN_IN_SELECT.SQL.defect": "The following column must be written with a comment. {0}",
  "sqlchk.MISSING.INDEX_HINT.SQL.defect": "The INDEX HINT is missing in the {0} statement.",
  "sqlchk.MISSING.TABLE_ALIAS.JOIN.SQL.defect": "The table alias is missing.",
  "sqlchk.MISSING.WHERE.DELETE_UPDATE.SQL.defect": "The WHERE clause is missing in the {0} statement.",
  "sqlchk.MISSING.WHERE.SELECT.SQL.defect": "The WHERE clause is missing in the SELECT statement.",
  "sqlchk.PROHIBIT_INCORRECT_USE_OF_JOIN.defect": "Non-standard JOIN SQL query is used.",
  "sqlchk.PROHIBIT_NONSTANDARD_SQL.defect": "Non-ANSI query is used.",
  "sqlchk.PROHIBIT_NONSTANDARD_TYPE_CONVERSION.defect": "Non-ANSI type conversion is used.",
  "sqlchk.PROHIBIT_USE_OF_BTRIM.defect": "Non-ANSI btrim is used.",
  "sqlchk.PROHIBIT_USE_OF_CBRT.defect": "Non-ANSI cbrt return is used.",
  "sqlchk.PROHIBIT_USE_OF_DECODE.defect": "Non-ANSI decode function is used.",
  "sqlchk.PROHIBIT_USE_OF_ILIKE.defect": "Non-ANSI search is used.",
  "sqlchk.PROHIBIT_USE_OF_INNER_JOIN.defect": "Non-ANSI inner-join is used.",
  "sqlchk.PROHIBIT_USE_OF_MAINTENANCE_HEAVY_FUNCTION.defect": "A maintenance-heavy function is used.",
  "sqlchk.PROHIBIT_USE_OF_NONSTANDARD_HIERARCHICAL_QUERIES.defect": "Non-ANSI hierarchical query is used.",
  "sqlchk.PROHIBIT_USE_OF_NVL.defect": "Non-ANSI null is used.",
  "sqlchk.PROHIBIT_USE_OF_OUTER_JOIN.defect": "Non-ANSI outer-join is used.",
  "sqlchk.SAQT.Q.SQL.7169.defect": "APPEND hint was used in INSERT statement.",
  "sqlchk.SAQT.Q.SQL.7170.defect": "Forbidden PARALLEL hint was used in the SQL query format.",
  "sqlchk.SAQT.Q.SQL.7214.defect": "ROWNUM and ORDER BY have been found in the identical QUERY BLOCK.",
  "sqlchk.SAQT.Q.SQL.7215.defect": "The identifier of the SQL statement are not found in the comments with the specified position.",
  "sqlchk.SAQT.Q.SQL.7217.defect": "Specified strings are not used: required to include to the SQL query format. {0}",
  "sqlchk.SAQT.Q.SQL.7218.defect": "Found a missing alias for table or inline view. {0}",
  "sqlchk.SAQT.Q.SQL.7218.defect.standalone": "Standalone column without table alias detected. {0}",
  "sqlchk.SAQT.Q.SQL.7218.defect.unused": "Found an unused table within the FROM clause. {0}",
  "sqlchk.SAQT.Q.SQL.7262.defect": "Forbidden strings are used on the SQL query format. {0}",
  "sqlchk.SAQT.Q.SQL.7533.defect": "A column name is missing in the INSERT statement.",
  "sqlchk.SAQT.Q.SQL.7534.defect": "Only the columns required for business logic should be explicitly specified in the SELECT clause.",
  "sqlchk.TABLE_NAME_CONVENTION.SQL.defect": "Naming convention for table {0} is violated.",
  "staticStringCompare.description": "Unnecessary comparison of static strings.",
  "stlBoundaries.description": "Dangerous comparison using operator < or > on iterator.  This is dangerous since the order of items in the container is not guaranteed. One should use operator!= instead to compare iterators.",
  "stlIfFind.description": "The result of find() is an iterator, but it is not properly checked.",
  "stlIfStrFind.description": "Inefficient usage of string::find() in condition, string::compare() would be faster.",
  "stlSize.description": "Possible inefficient checking for emptiness. empty() is guaranteed to take constant time.",
  "stlcstr.description": "Dangerous usage of c_str(). The value returned by c_str() is invalid after this call.",
  "stlcstrParam.description": "Passing the result of c_str() to a function that takes std::string as argument no. 0 is slow and redundant.",
  "stlcstrReturn.description": "Returning the result of c_str() in a function that returns std::string is slow and redundant. Solve that by directly returning the string.",
  "strPlusChar.description": "Unusual pointer arithmetic. A value of type char is added to a string literal.",
  "strchk.ACCOUNT_INFO_IN_CODE.JS.defect": "User account information use in this line.",
  "strchk.DANGEROUS_FUNCTION.ASP.defect": "Do not use dangerous functions in asp code.",
  "strchk.DJANGO_XSS.PYTHON.defect": "Use the autoescape option or the safe filter.",
  "strchk.DO_NOT_USE_EXPERIMENTAL_FIREFOX.defect": "We've used experimental identifiers from the Firefox browser; avoid using them.",
  "strchk.DO_NOT_USE_EXPERIMENTAL_MS.defect": "We've used experimental identifiers for the Explorer browser; avoid using them.",
  "strchk.DO_NOT_USE_EXPERIMENTAL_OPERA.defect": "We've used experimental identifiers from the Opera browser. Do not use these identifiers.",
  "strchk.DO_NOT_USE_EXPERIMENTAL_WEBKIT.defect": "We've used experimental identifiers based on webkits; avoid using them.",
  "strchk.DO_NOT_USE_GIF_FORMAT.defect": "You used the .gif format, which has many performance issues.",
  "strchk.DO_NOT_USE_IMPORTANT_FLAG.defect": "You have used the !important flag. Remove it.",
  "strchk.DO_NOT_USE_STYLELINT_DISABLE.defect": "You used the stylelint-disable tag, which should be disabled.",
  "strchk.DO_NOT_USE_STYLELINT_ENABLE.defect": "You used the stylelint-enable tag, which should be disabled.",
  "strchk.DO_NOT_USE_SYSTEM_COLOR.defect": "You used an outdated system color; use a modern color.",
  "strchk.FIND_STRING_IN_CONTENT.defect": "The specified string exists in the source code.",
  "strchk.HTML_COMMENT_IN_JSP.JSP.defect": "When using HTML comments, the contents of the comments are exposed as they are in the page source view. You must use JSP type comments.",
  "strchk.MALICIOUS.CODE.PATTERN.defect": "Malicious code pattern detected.",
  "strchk.PASSWORD_IN_COMMENT.ASP.defect": "Do not write important information in asp code.",
  "strchk.PASSWORD_MANAGEMENT_HARDCODED_PASSWORD.defect": "Forbidden string use this line.",
  "strchk.PASSWORD_MANAGEMENT_PASSWORD_IN_COMMENT.defect": "Forbidden string use this line.",
  "strchk.PRIVACY.ACCOUNT.defect": "Do not use account numbers in source codes.",
  "strchk.PRIVACY.CREDIT_CARD.defect": "Do not use credit card numbers in source codes.",
  "strchk.PRIVACY.DRIVER_LIC.defect": "Do not use driver licenses in source codes.",
  "strchk.PRIVACY.EMAIL.defect": "Do not use e-mail addresses in source codes.",
  "strchk.PRIVACY.FOREIGNER_ID.defect": "Do not use social security numbers for foreigner in source codes.",
  "strchk.PRIVACY.IP.defect": "Do not use IP numbers in source codes.",
  "strchk.PRIVACY.NATIONAL_ID.defect": "Do not use social security numbers in source codes.",
  "strchk.PRIVACY.PASSPORT.defect": "Do not use PASSPORT numbers in source codes.",
  "strchk.PRIVACY.PHONE.defect": "Do not use phone numbers in source codes.",
  "strchk.SECURITY.DEPLOY.REMOTELY_MONITORING.defect": "Do not use options which could be monitoring.",
  "strchk.SECURITY.DISABLE.BYTECODE_VERIFICATION.defect": "Do not use the '-Xverify:none' option.",
  "strchk.TOO_LONG_COLUMN_SCSS_SASS.defect": "You used a column that is too long; try shortening it to 120 characters or less.",
  "strchk.WEAK_PASSWORD_ALGORITHM.STRING.defect": "Do not use weak cryptographic algorithm.",
  "stringCompare.description": "Comparison of identical string variables.",
  "stringLiteralWrite.description": "Modifying string literal directly or indirectly is undefined behaviour.",
  "suspiciousCase.description": "Logical operations probably do not work as intended in case. Check if it is intended to use a bitwise operator or multiple case statement instead.",
  "suspiciousEqualityComparison.description": "Found suspicious equality comparison. Check if it is intended for assignment instead.",
  "suspiciousSemicolon.description": "Suspicious use of ;. (ex, at the end of if statement)",
  "swiftchk.AVOID_CATCHING_GENERIC_EXCEPTION.SWIFT.defect": "Catching overly broad exceptions promotes complex error handling code.",
  "swiftchk.BAD_CALL.FORBIDDEN.SWIFT.defect": "Do not call a forbidden method.",
  "swiftchk.BAD_COOKIE.NOT_SENT_OVER_SSL.SWIFT.defect": "Cookie has not secure flag.",
  "swiftchk.BAD_PASSWORD.EMPTY.SWIFT.defect": "An empty password has been used.",
  "swiftchk.BAD_PASSWORD.HARDCODED.SWIFT.defect": "A hardcoded password has been used.",
  "swiftchk.COMPOUND_ASSIGN_SHOULD_UPDATE_LEFT.SWIFT.defect": "Left operand is not updated. Infix operator that ends with \"=\" must update left operand.",
  "swiftchk.COOKIE.OVERLY_BROAD_DOMAIN.SWIFT.defect": "Domain of cookie is set too broad domain",
  "swiftchk.COOKIE.OVERLY_BROAD_PATH.SWIFT.defect": "Domain of cookie is set too broad path",
  "swiftchk.COOKIE.PERSISTENT.SWIFT.defect": "expire date of cookie is too large time window",
  "swiftchk.DESERIALIZATION_OF_UNTRUSTED_DATA.SWIFT.defect": "When deserializing, use a function that is vulnerable to security.",
  "swiftchk.DO_NOT_AUTO_DIAL_SITE.SWIFT.defect": "Use webView to load the page.",
  "swiftchk.DO_NOT_CHANGE_PRECEDENCE_AND_ASSOCIATIVITY_OF_STANDARD_OPERATORS.SWIFT.defect": "Do not change precedence and associativity of standard operators.",
  "swiftchk.DO_NOT_USE_HARD_CODING.IP_ADDRESS.SWIFT.defect": "A hardcoded IP address has been used.",
  "swiftchk.DO_NOT_USE_HTTP_PROTOCOL.SWIFT.defect": "http protocol is used",
  "swiftchk.DO_NOT_USE_SMS.SWIFT.defect": "Do not send SMS",
  "swiftchk.DUPLICATE_CONDITION_IN_IF_SWITCH.SWIFT.defect": "Duplicate condition has been used.",
  "swiftchk.EMPTY_CATCH_BLOCK.SWIFT.defect": "This catch block is empty",
  "swiftchk.EMPTY_HMAC_KEY.SWIFT.defect": "empty key is used for HMAC calculation",
  "swiftchk.FLOAT_SHOULD_NOT_BE_TESTED_FOR_EQUALITY.SWIFT.defect": "Float type value should not be tested for equality",
  "swiftchk.FORBIDDEN_SYSTEM_FUNCTION_CALL.SWIFT.defect": "system() has been called.",
  "swiftchk.FORCE_UNWRAPPED_OPTIONALS.SWIFT.defect": "Optional types should not be force-unwrapped.",
  "swiftchk.HEADER_MANIPULATION.SWIFT.defect": "value of http header is unvalidated.",
  "swiftchk.HTTP_RESPONSE_SPLITTING.SWIFT.defect": "Included an unqualified string in the URLRequest header.",
  "swiftchk.HTTP_TRANSPORT.GET.SWIFT.defect": "GET method will be used for the HTTP transport.",
  "swiftchk.IDENTICAL_EXP_ON_BOTH_SIDES.SWIFT.defect": "There are identical expressions on both sides of binary operator.",
  "swiftchk.IMPLICITLY_UNWRAPPED_OPTIONALS.SWIFT.defect": "Implicitly unwrapped optionals should not be used.",
  "swiftchk.IMPROPER_AUTHORIZATION.SWIFT.defect": "LDAP binding was performed without user information.",
  "swiftchk.IMPROPER_RESTRICTION_OF_XML_ENTITY.SWIFT.defect": "The value of shouldResolveExternalEntities in the NSXMLParser object is set to true.",
  "swiftchk.INSECURE_TOUCHID_IMPLEMENTATION.SWIFT.defect": "LAContext is used",
  "swiftchk.JUMP_SHOULD_BE_CONDITIONAL.SWIFT.defect": "Jump statements should not be used unconditionally.",
  "swiftchk.JUMP_SHOULD_NOT_BE_FOLLOWED_BY_OTHERS.SWIFT.defect": "Unreachable line after control statement.",
  "swiftchk.LEFTOVER_DEBUG_CODE.SWIFT.defect": "The debug function has been called.",
  "swiftchk.MISSING_LOGIN_CONTROL.SWIFT.defect": "The number of login entries is not limited.",
  "swiftchk.MISSING_OPERATION_MESSAGE.SWIFT.defect": "\"Asks the user to enter their fingerprints with empty string.\"",
  "swiftchk.RELIANCE_ON_UNTRUSTED_ENV_INPUTS.SWIFT.defect": "Security decisions are reliant on untrusted inputs.",
  "swiftchk.SECURITY_DECISION_ON_DNS_LOOKUP.SWIFT.defect": "Do not rely on DNS lookups via the function. Use an IP address instead.",
  "swiftchk.SPECIFY_CLASS_MODIFIER.SWIFT.defect": "The access level defaults to internal if left unspecified.",
  "swiftchk.SYSTEM_INFORMATION_LEAK.SWIFT.defect": "print to stderr stream",
  "swiftchk.TERNARY_OP_SHOULD_NOT_RETURN_THE_SAME_VAL.SWIFT.defect": "Return values of the ternary operator are the same.",
  "swiftchk.TOC_TOU_ACCESS.SWIFT.defect": "The resource is used(Time of Use). TOCTOU race condition may be occurred in multi-process environment.",
  "swiftchk.UNCONTROLLED_RECURSION.SWIFT.defect": "A recursion without any conditional blocks or loop blocks.",
  "swiftchk.USE_OF_INSUFFICIENT_RANDOM_VALUES.SWIFT.defect": "An insufficient random value has been used.",
  "swiftchk.WEAK_ENCRYPTION.HARDCODED_KEY.SWIFT.defect": "Passing the hardcoded encryption key to the function argument.",
  "swiftchk.WEAK_ENCRYPTION.INSUFFICIENT_KEY_SIZE.SWIFT.defect": "The used key size should be equal or greater than {0}.",
  "swiftchk.WEAK_ENCRYPTION_HASH.EMPTY_PBE_SALT.SWIFT.defect": "An empty value is used for the hash salt.",
  "swiftchk.WEAK_ENCRYPTION_HASH.HARDCODED_PBE_SALT.SWIFT.defect": "A hardcoded value is used for the hash salt.",
  "swiftchk.WEAK_ENCRYPTION_HASH.INSECURE_PBE_ITERATION.SWIFT.defect": "low iteration is used at CCKeyDerivationPBKDF",
  "swiftchk.WEAK_ENCRYPTION_HASH.NIL_PBE_SALT.SWIFT.defect": "nil salt is used.",
  "swiftchk.WEAK_ENCRYPTION_HASH.SWIFT.defect": "Do not use MD5 hash.",
  "swiftchk.WEAK_ENCRYPTION_OPTION.SWIFT.defect": "Do not use ECB option.",
  "swiftchk.WEAK_SERVER_CERTIFICATES.SWIFT.defect": "The parameter value of index {0} of the certificate verification function is incorrectly set. For certificate verification to work properly, this value should be {1}.",
  "swiftchk.WEAK_SSL_PROTOCOL.SWIFT.defect": "this protocol is deprecated.",
  "synz.COMMON.branch.false": "Move to the line {0}. Because its condition are not satisfied.",
  "synz.COMMON.branch.false.assumed": "Move to the line {0}. Because it is assumed that its condition are not satisfied.",
  "synz.COMMON.branch.true": "Move to the line {0}. Because its condition are not satisfied.",
  "synz.COMMON.branch.true.assumed": "Move to the line {0}. Because it is assumed that its condition are not satisfied.",
  "synz.COMMON.called": "This calls {0}.",
  "synz.COMMON.taint.filter": "This causes a tainted value to be filtered by {0}.",
  "synz.COMMON.taint.propagate": "This causes a tainted value to be propagated by {0}.",
  "synz.COMMON.taint.sink": "This uses an unreliable data in {0}.",
  "synz.COMMON.taint.source": "This enters a tainted value from {0}.",
  "synz.COMMON.value.assigned": "This allocates a value.",
  "synz.COMMON.value.assigned.to": "This allocates a value to {0}.",
  "synz.COMMON.value.passed": "This causes a value to be sent.",
  "synz.COMMON.value.passed.to": "This causes a value to be sent to {0}.",
  "synz.COMMON.value.returned": "This returns a value.",
  "synz.COMMON.value.returned.from": "This returns a value from {0}.",
  "truncLongCastReturn.description": "int result is returned as long value. If the return value is long to avoid loss of information, then you have loss of information.",
  "unassignedVariable.description": "A variable is not assigned a value.",
  "uninitStructMember.description": "Uninitialized struct member.",
  "uninitdata.description": "Memory is allocated but not initialized.",
  "uninitstring.description": "Dangerous usage. strncpy doesn't always null-terminate it.",
  "uninitvar.description": "Uninitialized variable.",
  "unknownEvaluationOrder.description": "An expression depends on order of evaluation of side effects.",
  "unreachableCode.description": "Statements following return, break, continue, goto or throw will never be executed.",
  "unsafeClassCanLeak.description": "This field can leak by wrong usage. this can for instance be fixed by adding proper cleanup in the destructor.",
  "unsignedLessThanZero.description": "Checking if an unsigned variable is less than zero.",
  "unsignedPositive.description": "An unsigned variable can't be negative so it is unnecessary to test it.",
  "unusedFunction.description": "A function is never used.",
  "unusedLabel.description": "A label is not used.",
  "unusedLabelSwitch.description": "A label is not used. hould this be a &apos;case&apos; of the enclosing switch()?",
  "unusedScopedObject.description": "Instance of an object is destroyed immediately.",
  "unusedStructMember.description": "A struct memeber is never used.",
  "unusedVariable.description": "Unused variable.",
  "useAutoPointerArray.description": "You should not use auto_ptr for pointers obtained with operator new[].",
  "useAutoPointerContainer.description": "You can randomly lose access to pointers if you store auto_ptr, unique_ptr  pointers in an STL container.",
  "useAutoPointerCopy.description": "Copying auto_ptr pointer to another does not create two equal objects since one has lost its ownership of the pointer.",
  "useAutoPointerMalloc.description": "You should not use auto_ptr for pointers obtained with function malloc.",
  "useClosedFile.description": "Used file that is not opened.",
  "uselessCallsCompare.description": "It is inefficient to call str.find(str) as it always returns 0.",
  "uselessCallsEmpty.description": "Ineffective call of function empty.",
  "uselessCallsRemove.description": "Return value of std::remove() ignored. Elements remain in container.",
  "uselessCallsSubstr.description": "Ineffective call of function substr because it returns a copy of the object. Use operator= instead.",
  "uselessCallsSwap.description": "It is inefficient to swap a object with itself by calling swap.",
  "va_end_missing.description": "va_list was opened but not closed by va_end().",
  "va_list_usedBeforeStarted.description": "va_list used before va_start() was called.",
  "va_start_referencePassed.description": "Using reference as parameter for va_start() results in undefined behaviour.",
  "va_start_subsequentCalls.description": "va_start() or va_copy() called subsequently without va_end() in between.",
  "va_start_wrongParameter.description": "A variable given to va_start() is not last named argument of the function.",
  "varFuncNullUB.description": "Passing NULL after the last typed argument to a variadic function leads to undefined behaviour.",
  "variableScope.description": "The scope of the variable can be reduced.",
  "vbnetchk.ACTION_NOT_RESTRICTED_TO_POST.VBNET.defect": "Controller actions should be restricted to only allow POST verbs.",
  "vbnetchk.BAD_CALL.FORBIDDEN.VBNET.defect": "This checks for a call to a forbidden method.",
  "vbnetchk.DISABLED_HEADER_CHECKING.VBNET.defect": "Disable header checking.",
  "vbnetchk.DISABLED_VIEW_STATE_MAC.VBNET.defect": "View state MAC has been disabled.",
  "vbnetchk.EMPTY_BRANCH.VBNET.defect": "This checks for empty branch.",
  "vbnetchk.EMPTY_CATCH_BLOCK.VBNET.defect": "This checks if the error is caught but handled improperly.",
  "vbnetchk.HARD_CODED_USER_NAME_AND_PASSWORD.VBNET.defect": "This checks if a constant is used as a parameter defining the password.",
  "vbnetchk.IMPERSONATION_CONTEXT.VBNET.defect": "The application runs with impersonated credentials.",
  "vbnetchk.IMPROPER_SIGNATURE.VBNET.defect": "Electronic signature-related functions were used without verification.",
  "vbnetchk.LEAK.SYSTEM_INFORMATION.VBNET.defect": "This checks if system information is outputted in the catch statement.",
  "vbnetchk.LEFTOVER_DEBUG_CODE.VBNET.defect": "A debug code has been left.",
  "vbnetchk.NON_SERIALIZABLE_OBJECT_IN_SESSION.VBNET.defect": "Store the non-serializable object with the HttpSessionState property.",
  "vbnetchk.OPTIONAL_SUBMODEL_REQUIRED.VBNET.defect": "Missing Required attribute.",
  "vbnetchk.OVERLY_BROAD_CATCH.VBNET.defect": "Detect catch through Exception.",
  "vbnetchk.PERSISTENT_AUTHENTICATION.VBNET.defect": "Create a Persistent authentication ticket.",
  "vbnetchk.UNVALIDATED_WEB_API_MODEL.VBNET.defect": "You must verify that model validation passes.",
  "vbnetchk.USE_PARAMETERIZED_QUERY.VBNET.defect": "Parameterized SQL query has not been used.",
  "vbnetchk.WEAK_ENCRYPTION.INSUFFICIENT_KEY_SIZE.VBNET.defect": "Detect if key size is less than 1024 for RSA encryption algorithm.",
  "vbnetchk.WEAK_ENCRYPTION.VBNET.defect": "Detect use of unsafe encryption algorithm.",
  "vbnetchk.WEAK_SERVER_CERTIFICATES.VBNET.defect": "The callback function is implemented in a way that accepts all certificates.",
  "vbschk.BAD_CALL.FORBIDDEN.VBS.defect": "Do not call a forbidden method.",
  "vbschk.BAD_CROSS_ORIGIN_RESOURCE_SHARING.VBS.defect": "Cross-Origin Resource Sharing(CORS) policy that allows too much has been declared.",
  "vbschk.BAD_TYPE_CHECKING.VBS.defect": "The type has been checked without checking the empty value.",
  "vbschk.FORBIDDEN.WITH_STATEMENT.VBS.defect": "A With statement has been used.",
  "vbschk.INSECURE_RANDOMNESS.VBS.defect": "A Rnd function has been used.",
  "vbschk.MISSING_RETURN.FUNCTION.VBS.defect": "There is no return statement in the function.",
  "vbschk.UNSAFE_REFLECTION.VBS.defect": "CallByName() function is used.",
  "vbschk.WEAK_ENCRYPTION.DES.VBS.defect": "A weak encryption algorithm(DES) has been used.",
  "vbschk.WEAK_ENCRYPTION.HASH.VBS.defect": "A encryption algorithm using a unsafe hash has been used.",
  "vbschk.WEAK_ENCRYPTION.INSUFFICIENT_KEY_SIZE.VBS.defect": "Insufficient key size in encryption used.",
  "weblink.COMMON.controller_entrance": "This executes a controller {0}.",
  "weblink.COMMON.view_entrance": "Moved to a view from {0}.",
  "weblink.COMMON.view_link": "Move to a view {0}.",
  "weblink.SPRING.request_param": "This causes parameter {0} to be set as {1} parameter of a request.",
  "weblink.SPRING.response_body": "This causes a return value to be set as body of a response.",
  "weblink.STRUTS2.getter": "This causes {0} attribute of a request to be set as a value of field {0} obtained by a getter.",
  "weblink.STRUTS2.setter": "This causes a value of field {0} to be set as {0} parameter of a request through a setter.",
  "wm__caution__analysis__browser__command__failure__content": "The browser encountered a command it was unable to execute, which limits analytics on some pages at the following URLs.\n\n```{0}```",
  "wm__caution__analysis__browser__command__failure__title": "Failed to execute browser commands during analysis",
  "wm__caution__analysis__browser__cookie__create__failure__content": "You cannot set cookies in your browser, which limits analytics on some pages at the following URLs.\n\n```{0}```",
  "wm__caution__analysis__browser__cookie__create__failure__title": "Failed to set browser cookies during analysis",
  "wm__caution__analysis__browser__interact__failure__content": "An unknown error occurred, which limits analytics on some pages at the following URLs.\n\n```{0}```",
  "wm__caution__analysis__browser__interact__failure__title": "Browser errors during analysis",
  "wm__caution__analysis__browser__interact__timeout__content": "The browser's response is delayed, causing the browser to restart. This limits analytics on some pages at the following URLs.\n\n```{0}```",
  "wm__caution__analysis__browser__interact__timeout__title": "Browser response delays during analysis",
  "wm__caution__analysis__browser__invalid__content": "The browser is inaccessible and restarting the browser. This limits analytics on some pages at the following URLs.\n\n```{0}```",
  "wm__caution__analysis__browser__invalid__title": "Browser crashes during analysis",
  "wm__caution__analysis__browser__javascript__failure__content": "There was a JavaScript execution error, which is limiting analytics on some pages at the following URLs.\n\n```{0}```",
  "wm__caution__analysis__browser__javascript__failure__title": "Failed to execute JavaScript during analysis",
  "wm__caution__analysis__browser__javascript__timeout__content": "JavaScript execution was delayed and failed to execute. This limits analytics on some pages at the following URLs.\n\n```{0}```",
  "wm__caution__analysis__browser__javascript__timeout__title": "JavaScript execution timeout during analysis",
  "wm__caution__analysis__browser__login_record__failure__content": "Failed to reproduce the login record file that was reproduced during ingestion for analysis. The analysis proceeds without being able to log in. You need to check if the login record file contents have changed or if the login page has changed.\n\n{0}",
  "wm__caution__analysis__browser__login_record__failure__title": "Failed to play login clipboard during analysis",
  "wm__caution__analysis__browser__login_record__interact__failure__content": "An error occurred while reproducing the login record file. This might cause the login to fail. You should check the events clipboard to see if the login record file is playing normally.\n\n{0}\n\n{1}",
  "wm__caution__analysis__browser__login_record__interact__failure__title": "Failed event in login clipboard during analysis",
  "wm__caution__analysis__browser__session__create__failure__content": "Restart the browser because the browser's session was not created. This limits analytics on some pages at the following URLs.\n\n```{0}```",
  "wm__caution__analysis__browser__session__create__failure__title": "Failed to create a browser session during analysis",
  "wm__caution__analysis__browser__session__missing__content": "You don't have a session, which limits analytics on some pages at these URLs\n\n```{0}```",
  "wm__caution__analysis__browser__session__missing__title": "Browser session lost during analysis",
  "wm__caution__analysis__browser__socket__timeout__content": "The connection failed due to a delay in socket communication between the browser and the target web application. This limits analysis on some pages at the following URLs.\n\n```{0}```",
  "wm__caution__analysis__browser__socket__timeout__title": "Failed to create socket during analysis",
  "wm__caution__analysis__browser__web_element__alert__failure__content": "There is an unhandled warning window. This limits analytics on some pages at the following URLs.\n\n```{0}```",
  "wm__caution__analysis__browser__web_element__alert__failure__title": "Browser Web Element Interaction Failure During Analysis",
  "wm__caution__analysis__browser__web_element__alert__missing__content": "An attempt was made to process a non-existent warning window, which limits analytics on some pages at the following URLs.\n\n```{0}```",
  "wm__caution__analysis__browser__web_element__alert__missing__title": "Browser Web Element Interaction Failure During Analysis",
  "wm__caution__analysis__browser__web_element__interact__invalid__content": "The HTML element is in an inaccessible state, which limits analytics on some pages at the following URLs\n\n```{0}```",
  "wm__caution__analysis__browser__web_element__interact__invalid__title": "Browser Web Element Interaction Failure During Analysis",
  "wm__caution__analysis__browser__web_element__interact__missing__content": "The HTML element you're trying to access doesn't exist. This limits analytics on some pages at the following URLs.\n\n```{0}```",
  "wm__caution__analysis__browser__web_element__interact__missing__title": "Browser Web Element Interaction Failure During Analysis",
  "wm__caution__analysis__browser__web_element__interact__timeout__content": "The HTML element you are trying to access is missing, which limits analytics on some pages at the following URLs.\n\n```{0}```",
  "wm__caution__analysis__browser__web_element__interact__timeout__title": "Browser Web Element Interaction Failure During Analysis",
  "wm__caution__analysis__browser__window__missing__content": "You tried to navigate to a window that doesn't exist. This limits analytics on some pages at the following URLs\n\n```{0}```",
  "wm__caution__analysis__browser__window__missing__title": "Error switching browser windows during analysis",
  "wm__caution__analysis__client__host__invalid__content": "The HTTP request could not be sent because the host is unknown. This caused the analysis on the following request to fail.\n\n```{0}```",
  "wm__caution__analysis__client__host__invalid__title": "Invalid hosts in HTTP requests during analysis",
  "wm__caution__analysis__client__over_redirection__content": "The request message did not receive a response due to a high number of redirects.\n\n```{0}```",
  "wm__caution__analysis__client__over_redirection__title": "Excessive redirects during requests",
  "wm__caution__analysis__client__protocol__invalid__content": "The HTTP protocol is invalid, which caused analysis to fail on the following request.\n\n```{0}```",
  "wm__caution__analysis__client__protocol__invalid__title": "HTTP request protocol error during analysis",
  "wm__caution__analysis__client__service__invalid__content": "The HTTP request could not be sent because the service is unknown. This caused the analysis on the following request to fail.\n\n```{0}```",
  "wm__caution__analysis__client__service__invalid__title": "Incorrect format of HTTP requests during analysis",
  "wm__caution__analysis__client__socket__failure__content": "The HTTP request could not be sent due to a delay in the TCP connection. This caused the analysis to fail on the following requests\n\n```{0}```",
  "wm__caution__analysis__client__socket__failure__title": "Failed to send HTTP request during analysis",
  "wm__caution__analysis__client__ssl_handshake__failure__content": "The SSL connection was denied, which caused analysis to fail on the following requests\n\n{0}",
  "wm__caution__analysis__client__ssl_handshake__failure__title": "HTTP request SSL error during analysis",
  "wm__caution__analysis__client__ssl_key__invalid__content": "Invalid SSL key, which caused analysis to fail on the following request.\n\n```{0}```",
  "wm__caution__analysis__client__ssl_key__invalid__title": "HTTP request SSL error during analysis",
  "wm__caution__analysis__client__ssl_peer__invalid__content": "The SSL connection could not be made because the destination was not verified. This caused the analysis on the following request to fail.\n\n```{0}```",
  "wm__caution__analysis__client__ssl_peer__invalid__title": "HTTP request SSL error during analysis",
  "wm__caution__analysis__client__ssl_protocol__invalid__content": "The SSL protocol is invalid, which caused analysis to fail on the following request.\n\n```{0}```",
  "wm__caution__analysis__client__ssl_protocol__invalid__title": "HTTP request SSL error during analysis",
  "wm__caution__analysis__client__timeout__content": "The HTTP request could not be sent due to a delay in the TCP connection. This caused the analysis to fail on the following requests\n\n```{0}```",
  "wm__caution__analysis__client__timeout__title": "HTTP request timeout during analysis",
  "wm__caution__analysis__client__unexpected__failure__content": "An unknown error occurred during an HTTP request, which caused analysis to fail on the following request.\n\n```{0}```",
  "wm__caution__analysis__client__unexpected__failure__title": "Failed to send HTTP request during analysis",
  "wm__caution__analysis__process__timeout__content": "Ends the analysis when the set maximum analysis time of {0} minutes is reached.",
  "wm__caution__analysis__process__timeout__title": "Ending an analysis with the Maximum Analysis Time option",
  "wm__caution__analysis__socket__bind__failure__content": "Socket binding failed because the port is busy or the local address is invalid. This limits analysis to the following addresses\n\n```{0}```",
  "wm__caution__analysis__socket__bind__failure__title": "Socket binding failed during analysis",
  "wm__caution__analysis__socket__create__failure__content": "The socket connection failed because the connection was refused. This limits the analysis of the following addresses\n\n```{0}```",
  "wm__caution__analysis__socket__create__failure__title": "Socket connection delay during analysis",
  "wm__caution__analysis__socket__host__invalid__content": "The socket connection failed because the destination could not be reached. This limits analysis for the following addresses\n\n```{0}```",
  "wm__caution__analysis__socket__host__invalid__title": "Failed to create socket during analysis",
  "wm__caution__analysis__socket__port__invalid__content": "Socket creation failed due to an out-of-range port, which limits analysis to the following addresses\n\n```{0}```",
  "wm__caution__analysis__socket__port__invalid__title": "Failed to create socket during analysis",
  "wm__caution__analysis__socket__timeout__content": "The connection failed due to a delay in socket communication. This limits the analysis of the following addresses\n\n```{0}```",
  "wm__caution__analysis__socket__timeout__title": "Failed to create socket during analysis",
  "wm__caution__analysis__socket__unexpected__failure__content": "An unknown error occurred during socket communication, which limits analysis of the following addresses.\n\n```{0}```",
  "wm__caution__analysis__socket__unexpected__failure__title": "Failed to create socket during analysis",
  "wm__caution__analysis__unexpected__failure__content": "An unknown error occurred, which caused the analysis at the following URL to fail.\n\n```{0}```",
  "wm__caution__browser__login_record__interact__failure__content": "An error occurred while reproducing the login record file. This might cause the login to fail. You should check the events clipboard to see if the login record file is playing normally.\n\n{0}\n\n{1}",
  "wm__caution__browser__login_record__interact__failure__title": "Failed event during login clipboard launch",
  "wm__caution__crawl__browser__command__failure__content": "The collection from the following URL failed because the browser encountered a command that it could not execute.\n\n```{0}```",
  "wm__caution__crawl__browser__command__failure__title": "Failed to execute browser commands during collection",
  "wm__caution__crawl__browser__cookie__create__failure__content": "Your browser was unable to set cookies, which caused the collection from the following URL to fail.\n\n```{0}```",
  "wm__caution__crawl__browser__cookie__create__failure__title": "Failed to set browser cookies during collection",
  "wm__caution__crawl__browser__endpoint__blacklist__content": "Skip collection because the page consistently throws an error.\n\n```{0}```",
  "wm__caution__crawl__browser__endpoint__blacklist__title": "Register to exclude pages from collections",
  "wm__caution__crawl__browser__interact__failure__content": "An unknown error occurred, which caused collection from the following URL to fail.\n\n```{0}```",
  "wm__caution__crawl__browser__interact__failure__title": "Browser error during collection",
  "wm__caution__crawl__browser__interact__timeout__content": "The browser is delayed in responding and restarting the browser. This limits collection on some pages at the following URLs\n\n```{0}```",
  "wm__caution__crawl__browser__interact__timeout__title": "Delayed browser response during ingestion",
  "wm__caution__crawl__browser__invalid__content": "Restart your browser because it is inaccessible. This caused collection from the following URL to fail.\n\n```{0}```",
  "wm__caution__crawl__browser__invalid__title": "Browser crashes during ingestion",
  "wm__caution__crawl__browser__javascript__failure__content": "A JavaScript execution error occurred, which caused collection from the following URL to fail.\n\n```{0}```",
  "wm__caution__crawl__browser__javascript__failure__title": "Failed to execute JavaScript during ingestion",
  "wm__caution__crawl__browser__javascript__timeout__content": "JavaScript execution was delayed and failed to execute. This caused collection from the following URL to fail.\n\n```{0}```",
  "wm__caution__crawl__browser__javascript__timeout__title": "JavaScript execution timeout during ingestion",
  "wm__caution__crawl__browser__login_record__interact__failure__content": "An error occurred while reproducing the login record file. This might cause the login to fail. You should verify that the login record file is playing normally via the events clipboard.\n\n{0}\n\n{1}",
  "wm__caution__crawl__browser__login_record__interact__failure__title": "Failed event in login clipboard during collection",
  "wm__caution__crawl__browser__session__create__failure__content": "Restart the browser because the browser's session was not created. This limits collection on some pages at the following URLs\n\n```{0}```",
  "wm__caution__crawl__browser__session__create__failure__title": "Failed to create a browser session during collection",
  "wm__caution__crawl__browser__session__missing__content": "The session does not exist, which caused collection from the following URL to fail.\n\n```{0}```",
  "wm__caution__crawl__browser__session__missing__title": "Browser session lost during ingestion",
  "wm__caution__crawl__browser__socket__timeout__content": "The connection failed due to a delay in socket communication between the browser and the target web application. This limits analysis on some pages at the following URLs.\n\n```{0}```",
  "wm__caution__crawl__browser__socket__timeout__title": "Failed to create socket during ingest",
  "wm__caution__crawl__browser__web_element__alert__failure__content": "There is an unhandled warning. This caused collection from the following URLs to fail\n\n```{0}```",
  "wm__caution__crawl__browser__web_element__alert__failure__title": "Failed browser web element interaction during ingestion",
  "wm__caution__crawl__browser__web_element__alert__missing__content": "An attempt was made to process a non-existent warning window, which caused collection from the following URL to fail.\n\n```{0}```",
  "wm__caution__crawl__browser__web_element__alert__missing__title": "Failed browser web element interaction during ingestion",
  "wm__caution__crawl__browser__web_element__interact__invalid__content": "The HTML element is in an inaccessible state, which caused ingestion at the following URL to fail.\n\n```{0}```",
  "wm__caution__crawl__browser__web_element__interact__invalid__title": "Failed to interact with browser web elements during ingestion",
  "wm__caution__crawl__browser__web_element__interact__missing__content": "The HTML element you are trying to access does not exist. This limits ingestion on some pages at the following URLs\n\n```{0}```",
  "wm__caution__crawl__browser__web_element__interact__missing__title": "Failed browser web element interaction during ingestion",
  "wm__caution__crawl__browser__web_element__interact__timeout__content": "The HTML element you were trying to access has disappeared, which caused collection at the following URL to fail.\n\n```{0}```",
  "wm__caution__crawl__browser__web_element__interact__timeout__title": "Failed to interact with browser web elements during ingestion",
  "wm__caution__crawl__browser__window__missing__content": "An attempt was made to navigate to a window that does not exist, which caused the collection from the following URL to fail.\n\n```{0}```",
  "wm__caution__crawl__browser__window__missing__title": "Browser window switching error during collection",
  "wm__caution__crawl__client__host__invalid__content": "The HTTP request could not be sent because the host is unknown. This caused ingestion to fail on the following request.\n\n```{0}```",
  "wm__caution__crawl__client__host__invalid__title": "Invalid host for HTTP requests during ingestion",
  "wm__caution__crawl__client__protocol__invalid__content": "The HTTP protocol is invalid, which caused ingestion to fail on the following request.\n\n```{0}```",
  "wm__caution__crawl__client__protocol__invalid__title": "HTTP request protocol error during collection",
  "wm__caution__crawl__client__service__invalid__content": "The HTTP request could not be sent because the service is unknown. This caused ingestion to fail on the following requests\n\n```{0}```",
  "wm__caution__crawl__client__service__invalid__title": "Incorrect format of HTTP requests during ingest",
  "wm__caution__crawl__client__socket__failure__content": "The HTTP request could not be sent because the TCP connection was denied, which caused ingestion to fail on the following requests\n\n```{0}```",
  "wm__caution__crawl__client__socket__failure__title": "Failed to send HTTP request during collection",
  "wm__caution__crawl__client__ssl_handshake__failure__content": "The SSL connection was denied, which caused ingestion to fail on the following request.\n\n```{0}```",
  "wm__caution__crawl__client__ssl_handshake__failure__title": "HTTP request SSL error during collection",
  "wm__caution__crawl__client__ssl_key__invalid__content": "Invalid SSL key, which caused collection on the following request to fail.\n\n```{0}```",
  "wm__caution__crawl__client__ssl_key__invalid__title": "HTTP request SSL error during collection",
  "wm__caution__crawl__client__ssl_peer__invalid__content": "The SSL connection could not be made because the destination was not verified. This caused the collection on the following request to fail.\n\n```{0}```",
  "wm__caution__crawl__client__ssl_peer__invalid__title": "HTTP request SSL error during collection",
  "wm__caution__crawl__client__ssl_protocol__invalid__content": "The SSL protocol is invalid, which caused collection to fail on the following request.\n\n```{0}```",
  "wm__caution__crawl__client__ssl_protocol__invalid__title": "HTTP request SSL error during collection",
  "wm__caution__crawl__client__timeout__content": "The HTTP request could not be sent due to a delay in the TCP connection. This caused ingestion to fail on the following request.\n\n```{0}```",
  "wm__caution__crawl__client__timeout__title": "HTTP request timeout during collection",
  "wm__caution__crawl__client__unexpected__failure__content": "An unknown error occurred during the HTTP request, which caused ingestion to fail on the following request.\n\n```{0}```",
  "wm__caution__crawl__client__unexpected__failure__title": "Failed to send HTTP request during collection",
  "wm__caution__crawl__endpoint__blacklist__content": "The request for the following URL failed, so we're blocking it.\n\n```{0}```\n\nThe request failed for the following reasons\n\n{1}",
  "wm__caution__crawl__endpoint__blacklist__title": "Exclude URLs from collection",
  "wm__caution__crawl__process__endpoint__limit__content": "Ends collection because the set maximum number of collected URLs {0} has been reached.",
  "wm__caution__crawl__process__endpoint__limit__title": "End collection by maximum number of collected URLs option",
  "wm__caution__crawl__process__timeout__content": "The crawling has ended as reached the crawling timeoug of {0} minutes.",
  "wm__caution__crawl__process__timeout__title": "Crawling Terminated due to Crawling Timeout",
  "wm__caution__crawl__unexpected__failure__content": "An unknown error occurred, which caused collection from the following URL to fail.\n\n```{0}```",
  "wm__tag__access": "Access",
  "wm__tag__analysis": "Analysis",
  "wm__tag__browser": "Web Browser",
  "wm__tag__client": "HTTP Client",
  "wm__tag__cookie": "Cookies",
  "wm__tag__crawl": "Crawling",
  "wm__tag__create": "Create",
  "wm__tag__dast": "DAST",
  "wm__tag__endpoint": "Endpoint",
  "wm__tag__failure": "Fail",
  "wm__tag__find": "Found",
  "wm__tag__inspect": "Detect",
  "wm__tag__interact": "Interaction",
  "wm__tag__invalid": "Invalid",
  "wm__tag__limit": "Limitations",
  "wm__tag__login_record": "Log-in Record",
  "wm__tag__missing": "Missing",
  "wm__tag__openapi": "OpenAPI",
  "wm__tag__parsing": "Parsing",
  "wm__tag__pre": "Pre-analysis",
  "wm__tag__process": "Engine Process",
  "wm__tag__recheck": "ReCheck",
  "wm__tag__seed_url": "Analysis Target URL",
  "wm__tag__session": "Sessions",
  "wm__tag__socket": "TCP Socket",
  "wm__tag__success": "Succeess",
  "wm__tag__timeout": "Timeout",
  "wm__tag__web_element": "Web Elements",
  "wm__warning__analysis__process__checker__missing__content": "No detection rules were found for your analysis. Check your job profile or detection rule list.",
  "wm__warning__analysis__process__checker__missing__title": "Web vulnerability detection rules not found",
  "wm__warning__analysis__process__load_result__failure__content": "Failed to load something to analyze, check your ingestion results.",
  "wm__warning__analysis__process__load_result__failure__title": "Failed to load ingest results",
  "wm__warning__analysis__process__out_of_memory__content": "The analysis failed due to insufficient memory. You need to add more memory or reduce the number of concurrent analyses.",
  "wm__warning__analysis__process__out_of_memory__title": "Analysis fails due to low memory",
  "wm__warning__analysis__unexpected__failure__content": "wm__warning__analysis__unexpected__failure__content",
  "wm__warning__analysis__unexpected__failure__title": "Unknown error while analyzing URLs",
  "wm__warning__crawl__browser__seed_url__access__failure__content": "The browser cannot access the URL to be analyzed. The browser cannot collect.\n\nThe applicable analytic target URLs are\n\n```{0}```",
  "wm__warning__crawl__browser__seed_url__access__failure__title": "URLs not accessible for analysis during collection",
  "wm__warning__crawl__browser__unexpected__failure__content": "You can't run a browser, so you can't collect and analyze through a browser.\n\nYou need to check your browser binaries in the following paths\n\n```{0}```",
  "wm__warning__crawl__browser__unexpected__failure__title": "Unable to launch browser",
  "wm__warning__crawl__client__seed_url__access__failure__content": "The HTTP client cannot send a request to the URL to be analyzed. The HTTP client is unable to collect.\n\nThe applicable analytic destination URLs are\n\n```{0}```",
  "wm__warning__crawl__client__seed_url__access__failure__title": "URLs not accessible for analysis during collection",
  "wm__warning__crawl__openapi__endpoint__access__failure__content": "During ingestion, the OpenAPI endpoint access failed.\n\nThe URL for that endpoint is\n\n```{0}```",
  "wm__warning__crawl__openapi__endpoint__access__failure__title": "Failed to access OpenAPI endpoint during ingest",
  "wm__warning__crawl__openapi__parsing__failure__content": "During ingest, the OpenAPI specification file analysis failed. Make sure the specification file you provided is a valid file.",
  "wm__warning__crawl__openapi__parsing__failure__title": "Failed to analyze OpenAPI specification file during cawling",
  "wm__warning__crawl__openapi__unexpected__failure__content": "During ingestion, an unexpected error occurred and OpenAPI processing failed.",
  "wm__warning__crawl__openapi__unexpected__failure__title": "Unexpected OpenAPI processing failures during ingestion",
  "wm__warning__crawl__process__out_of_memory__content": "Ingest failed due to insufficient memory. You need to add more memory or reduce the number of concurrent analyses.",
  "wm__warning__crawl__process__out_of_memory__title": "Ingestion failure due to low memory",
  "wm__warning__crawl__process__save_result__failure__content": "There was a problem saving the collection results.",
  "wm__warning__crawl__process__save_result__failure__title": "Failed to save collection results",
  "wm__warning__crawl__process__seed_url__missing__content": "The URL to analyze could not be found.",
  "wm__warning__crawl__process__seed_url__missing__title": "Analytics target URL not found",
  "wm__warning__crawl__unexpected__failure__content": "wm__warning__crawl__unexpected__failure__content",
  "wm__warning__crawl__unexpected__failure__title": "Unknown error collecting URLs",
  "wm__warning__pre__browser__login_record__find__invalid__content": "Found an improper login record during early analysis. \n\nUnable to run the login record.\n\nThe file with the login record is: \n\n```{0}```",
  "wm__warning__pre__browser__login_record__find__invalid__title": "Found an improper login record in the browser during early analysis.",
  "wm__warning__pre__browser__seed_url__access__failure__content": "Failed to access to a URL on the browser during early analysis. \n\nThe URL is:\n\n```{0}```",
  "wm__warning__pre__browser__seed_url__access__failure__title": "Failed to access URLs on the browser during early analysis",
  "wm__warning__pre__openapi__endpoint__access__failure__content": "During preliminary analysis, access to the OpenAPI endpoint failed.\n\nThe URL for that endpoint is\n\n```{0}```",
  "wm__warning__pre__openapi__endpoint__access__failure__title": "Failed to access OpenAPI endpoints during pre-analysis",
  "wm__warning__pre__openapi__parsing__failure__content": "During pre-analysis, the analysis of the OpenAPI specification file failed. Make sure the specification file you provided is the correct file.",
  "wm__warning__pre__openapi__parsing__failure__title": "Failed to analyze OpenAPI specification file during pre-analysis",
  "wm__warning__pre__openapi__unexpected__failure__content": "During pre-analysis, an unexpected error occurred and OpenAPI processing failed.",
  "wm__warning__pre__openapi__unexpected__failure__title": "Unexpected OpenAPI processing failures during pre-analysis",
  "wm__warning__recheck__browser__seed_url__access__failure__content": "During recheck, access to the analysis target URL failed on browser.\n\nThe analysis target URL is:\n\n```{0}```",
  "wm__warning__recheck__browser__seed_url__access__failure__title": "Analysis target URL access failures on browser during recheck",
  "wm__warning__recheck__inspect__failure__content": "During recheck, analysis on one or more issue failed.",
  "wm__warning__recheck__inspect__failure__title": "Analysis on issue failures during recheck",
  "wm__warning__recheck__unexpected__failure__content": "During recheck, an unexpected error occurred and processing failed.",
  "wm__warning__recheck__unexpected__failure__title": "Unexpected processing failures during recheck",
  "work.dast.ANALYSIS_BROWSER_COMMAND_FAILURE.content": "The browser encountered a command it was unable to execute, which limits analytics on some pages at the following URLs.\n\n```{0}```",
  "work.dast.ANALYSIS_BROWSER_COMMAND_FAILURE.title": "Failed to execute browser commands during analysis",
  "work.dast.ANALYSIS_BROWSER_COOKIE_CREATE_FAILURE.content": "You cannot set cookies in your browser, which limits analytics on some pages at the following URLs.\n\n```{0}```",
  "work.dast.ANALYSIS_BROWSER_COOKIE_CREATE_FAILURE.title": "Failed to set browser cookies during analysis",
  "work.dast.ANALYSIS_BROWSER_INTERACT_FAILURE.content": "An unknown error occurred, which limits analytics on some pages at the following URLs.\n\n```{0}```",
  "work.dast.ANALYSIS_BROWSER_INTERACT_FAILURE.title": "Browser errors during analysis",
  "work.dast.ANALYSIS_BROWSER_INTERACT_TIMEOUT.content": "The browser's response is delayed, causing the browser to restart. This limits analytics on some pages at the following URLs.\n\n```{0}```",
  "work.dast.ANALYSIS_BROWSER_INTERACT_TIMEOUT.title": "Browser response delays during analysis",
  "work.dast.ANALYSIS_BROWSER_INVALID.content": "The browser is inaccessible and restarting the browser. This limits analytics on some pages at the following URLs.\n\n```{0}```",
  "work.dast.ANALYSIS_BROWSER_INVALID.title": "Browser crashes during analysis",
  "work.dast.ANALYSIS_BROWSER_JAVASCRIPT_FAILURE.content": "There was a JavaScript execution error, which is limiting analytics on some pages at the following URLs.\n\n```{0}```",
  "work.dast.ANALYSIS_BROWSER_JAVASCRIPT_FAILURE.title": "Failed to execute JavaScript during analysis",
  "work.dast.ANALYSIS_BROWSER_JAVASCRIPT_TIMEOUT.content": "JavaScript execution was delayed and failed to execute. This limits analytics on some pages at the following URLs.\n\n```{0}```",
  "work.dast.ANALYSIS_BROWSER_JAVASCRIPT_TIMEOUT.title": "JavaScript execution timeout during analysis",
  "work.dast.ANALYSIS_BROWSER_LOGIN_RECORD_FAILURE.content": "Failed to reproduce the login record file that was reproduced during ingestion for analysis. The analysis proceeds without being able to log in. You need to check if the login record file contents have changed or if the login page has changed.\n\n{0}",
  "work.dast.ANALYSIS_BROWSER_LOGIN_RECORD_FAILURE.title": "Failed to play login clipboard during analysis",
  "work.dast.ANALYSIS_BROWSER_LOGIN_RECORD_INTERACT_FAILURE.content": "An error occurred while reproducing the login record file. This might cause the login to fail. You should check the events clipboard to see if the login record file is playing normally.\n\n{0}\n\n{1}",
  "work.dast.ANALYSIS_BROWSER_LOGIN_RECORD_INTERACT_FAILURE.title": "Failed event in login clipboard during analysis",
  "work.dast.ANALYSIS_BROWSER_SESSION_CREATE_FAILURE.content": "Restart the browser because the browser's session was not created. This limits analytics on some pages at the following URLs.\n\n```{0}```",
  "work.dast.ANALYSIS_BROWSER_SESSION_CREATE_FAILURE.title": "Failed to create a browser session during analysis",
  "work.dast.ANALYSIS_BROWSER_SESSION_MISSING.content": "You don't have a session, which limits analytics on some pages at these URLs.\n\n```{0}```",
  "work.dast.ANALYSIS_BROWSER_SESSION_MISSING.title": "Browser session lost during analysis",
  "work.dast.ANALYSIS_BROWSER_SOCKET_TIMEOUT.content": "The connection failed due to a delay in socket communication between the browser and the target web application. This limits analysis on some pages at the following URLs.\n\n```{0}```",
  "work.dast.ANALYSIS_BROWSER_SOCKET_TIMEOUT.title": "Failed to create socket during analysis",
  "work.dast.ANALYSIS_BROWSER_WEB_ELEMENT_ALERT_FAILURE.content": "There is an unhandled warning window. This limits analytics on some pages at the following URLs.\n\n```{0}```",
  "work.dast.ANALYSIS_BROWSER_WEB_ELEMENT_ALERT_FAILURE.title": "Browser Web Element Interaction Failure During Analysis",
  "work.dast.ANALYSIS_BROWSER_WEB_ELEMENT_ALERT_MISSING.content": "An attempt was made to process a non-existent warning window, which limits analytics on some pages at the following URLs.\n\n```{0}```",
  "work.dast.ANALYSIS_BROWSER_WEB_ELEMENT_ALERT_MISSING.title": "Browser Web Element Interaction Failure During Analysis",
  "work.dast.ANALYSIS_BROWSER_WEB_ELEMENT_INTERACT_INVALID.content": "The HTML element is in an inaccessible state, which limits analytics on some pages at the following URLs.\n\n```{0}```",
  "work.dast.ANALYSIS_BROWSER_WEB_ELEMENT_INTERACT_INVALID.title": "Browser Web Element Interaction Failure During Analysis",
  "work.dast.ANALYSIS_BROWSER_WEB_ELEMENT_INTERACT_MISSING.content": "The HTML element you're trying to access doesn't exist. This limits analytics on some pages at the following URLs.\n\n```{0}```",
  "work.dast.ANALYSIS_BROWSER_WEB_ELEMENT_INTERACT_MISSING.title": "Browser Web Element Interaction Failure During Analysis",
  "work.dast.ANALYSIS_BROWSER_WEB_ELEMENT_INTERACT_TIMEOUT.content": "The HTML element you are trying to access is missing, which limits analytics on some pages at the following URLs\n\n```{0}```",
  "work.dast.ANALYSIS_BROWSER_WEB_ELEMENT_INTERACT_TIMEOUT.title": "Browser Web Element Interaction Failure During Analysis",
  "work.dast.ANALYSIS_BROWSER_WINDOW_MISSING.content": "You tried to navigate to a window that doesn't exist. This limits analytics on some pages at the following URLs.\n\n```{0}```",
  "work.dast.ANALYSIS_BROWSER_WINDOW_MISSING.title": "Error switching browser windows during analysis",
  "work.dast.ANALYSIS_CLIENT_HOST_INVALID.content": "The HTTP request could not be sent because the host is unknown. This caused the analysis on the following request to fail.\n\n```{0}```",
  "work.dast.ANALYSIS_CLIENT_HOST_INVALID.title": "Invalid hosts in HTTP requests during analysis",
  "work.dast.ANALYSIS_CLIENT_OVER_REDIRECTION.content": "The request message did not receive a response due to a high number of redirects.\n\n```{0}```",
  "work.dast.ANALYSIS_CLIENT_OVER_REDIRECTION.title": "Excessive redirects during requests",
  "work.dast.ANALYSIS_CLIENT_PROTOCOL_INVALID.content": "The HTTP protocol is invalid, which caused analysis to fail on the following request.\n\n```{0}```",
  "work.dast.ANALYSIS_CLIENT_PROTOCOL_INVALID.title": "HTTP request protocol error during analysis",
  "work.dast.ANALYSIS_CLIENT_SERVICE_INVALID.content": "The HTTP request could not be sent because the service is unknown. This caused the analysis on the following request to fail.\n\n```{0}```",
  "work.dast.ANALYSIS_CLIENT_SERVICE_INVALID.title": "Incorrect format of HTTP requests during analysis",
  "work.dast.ANALYSIS_CLIENT_SOCKET_FAILURE.content": "The HTTP request could not be sent because the TCP connection was rejected. This caused the analysis to fail on the following requests.\n\n```{0}```",
  "work.dast.ANALYSIS_CLIENT_SOCKET_FAILURE.title": "Failed to send HTTP request during analysis",
  "work.dast.ANALYSIS_CLIENT_SSL_HANDSHAKE_FAILURE.content": "The SSL connection was denied, which caused analysis to fail on the following requests\n\n```{0}```",
  "work.dast.ANALYSIS_CLIENT_SSL_HANDSHAKE_FAILURE.title": "HTTP request SSL error during analysis",
  "work.dast.ANALYSIS_CLIENT_SSL_KEY_INVALID.content": "Invalid SSL key, which caused analysis to fail on the following request.\n\n```{0}```",
  "work.dast.ANALYSIS_CLIENT_SSL_KEY_INVALID.title": "HTTP request SSL error during analysis",
  "work.dast.ANALYSIS_CLIENT_SSL_PEER_INVALID.content": "The SSL connection could not be made because the destination was not verified. This caused the analysis on the following request to fail.\n\n```{0}```",
  "work.dast.ANALYSIS_CLIENT_SSL_PEER_INVALID.title": "HTTP request SSL error during analysis",
  "work.dast.ANALYSIS_CLIENT_SSL_PROTOCOL_INVALID.content": "The SSL protocol is invalid, which caused analysis to fail on the following request.\n\n```{0}```",
  "work.dast.ANALYSIS_CLIENT_SSL_PROTOCOL_INVALID.title": "HTTP request SSL error during analysis",
  "work.dast.ANALYSIS_CLIENT_TIMEOUT.content": "The HTTP request could not be sent due to a delay in the TCP connection. This caused the analysis to fail on the following requests\n\n```{0}```",
  "work.dast.ANALYSIS_CLIENT_TIMEOUT.title": "HTTP request timeout during analysis",
  "work.dast.ANALYSIS_CLIENT_UNEXPECTED_FAILURE.content": "An unknown error occurred during an HTTP request, which caused analysis to fail on the following request.\n\n```{0}```",
  "work.dast.ANALYSIS_CLIENT_UNEXPECTED_FAILURE.title": "Failed to send HTTP request during analysis",
  "work.dast.ANALYSIS_PROCESS_CHECKER_MISSING.content": "No detection rules were found for your analysis. Check your job profile or detection rule list.",
  "work.dast.ANALYSIS_PROCESS_CHECKER_MISSING.title": "Web vulnerability detection rules not found",
  "work.dast.ANALYSIS_PROCESS_LOAD_RESULT_FAILURE.content": "Failed to load something to analyze, check your ingestion results.",
  "work.dast.ANALYSIS_PROCESS_LOAD_RESULT_FAILURE.title": "Failed to load ingest results",
  "work.dast.ANALYSIS_PROCESS_OUT_OF_MEMORY.content": "Failed to run analysis due to memory shortage. Please expand your memory or reduce the number of concurrent analyses.",
  "work.dast.ANALYSIS_PROCESS_OUT_OF_MEMORY.title": "Analysis fails due to low memory",
  "work.dast.ANALYSIS_PROCESS_TIMEOUT.content": "Ends the analysis when the set maximum analysis time of {0} minutes is reached.",
  "work.dast.ANALYSIS_PROCESS_TIMEOUT.title": "Ending an analysis with the Maximum Analysis Time option",
  "work.dast.ANALYSIS_SOCKET_BIND_FAILURE.content": "Socket binding failed because the port is busy or the local address is invalid. This limits analysis to the following addresses\n\n```{0}```",
  "work.dast.ANALYSIS_SOCKET_BIND_FAILURE.title": "Socket binding failed during analysis",
  "work.dast.ANALYSIS_SOCKET_CREATE_FAILURE.content": "The socket connection failed because the connection was refused. This limits the analysis of the following addresses\n\n```{0}```",
  "work.dast.ANALYSIS_SOCKET_CREATE_FAILURE.title": "Socket connection delay during analysis",
  "work.dast.ANALYSIS_SOCKET_HOST_INVALID.content": "The socket connection failed because the destination could not be reached. This limits analysis for the following addresses\n\n```{0}```",
  "work.dast.ANALYSIS_SOCKET_HOST_INVALID.title": "Failed to create socket during analysis",
  "work.dast.ANALYSIS_SOCKET_PORT_INVALID.content": "Socket creation failed due to an out-of-range port, which limits analysis to the following addresses\n\n```{0}```",
  "work.dast.ANALYSIS_SOCKET_PORT_INVALID.title": "Failed to create socket during analysis",
  "work.dast.ANALYSIS_SOCKET_TIMEOUT.content": "The connection failed due to a delay in socket communication. This limits the analysis of the following addresses\n\n```{0}```",
  "work.dast.ANALYSIS_SOCKET_TIMEOUT.title": "Failed to create socket during analysis",
  "work.dast.ANALYSIS_SOCKET_UNEXPECTED_FAILURE.content": "An unknown error occurred during socket communication, which limits analysis of the following addresses.\n\n```{0}```",
  "work.dast.ANALYSIS_SOCKET_UNEXPECTED_FAILURE.title": "Failed to create socket during analysis",
  "work.dast.ANALYSIS_UNEXPECTED_FAILURE.content": "An unknown error occurred, which caused the analysis at the following URL to fail.\n\n```{0}```",
  "work.dast.ANALYSIS_UNEXPECTED_FAILURE.title": "Unknown error while analyzing URLs",
  "work.dast.BROWSER_LOGIN_RECORD_INTERACT_FAILURE.content": "An error occurred while reproducing the login record file. This might cause the login to fail. You should check the events clipboard to see if the login record file is playing normally.\n\n{0}\n\n{1}",
  "work.dast.BROWSER_LOGIN_RECORD_INTERACT_FAILURE.title": "Failed event during login clipboard launch",
  "work.dast.CLIENT_TIMEOUT.content": "The HTTP request could not be sent due to a delay in the TCP connection. \n\nThe request is as following:\n\n```{0}```",
  "work.dast.CLIENT_TIMEOUT.title": "HTTP request timeout",
  "work.dast.CRAWL_BROWSER_COMMAND_FAILURE.content": "The collection from the following URL failed because the browser encountered a command that it could not execute.\n\n```{0}```",
  "work.dast.CRAWL_BROWSER_COMMAND_FAILURE.title": "Failed to execute browser commands during collection",
  "work.dast.CRAWL_BROWSER_COOKIE_CREATE_FAILURE.content": "Your browser was unable to set cookies, which caused the collection from the following URL to fail.\n\n```{0}```",
  "work.dast.CRAWL_BROWSER_COOKIE_CREATE_FAILURE.title": "Failed to set browser cookies during collection",
  "work.dast.CRAWL_BROWSER_ENDPOINT_BLACKLIST.content": "Skip collection because the page consistently throws an error.\n\n```{0}```",
  "work.dast.CRAWL_BROWSER_ENDPOINT_BLACKLIST.title": "Register to exclude pages from collections",
  "work.dast.CRAWL_BROWSER_INTERACT_FAILURE.content": "An unknown error occurred, which caused collection from the following URL to fail.\n\n```{0}```",
  "work.dast.CRAWL_BROWSER_INTERACT_FAILURE.title": "Browser error during collection",
  "work.dast.CRAWL_BROWSER_INTERACT_TIMEOUT.content": "The browser is delayed in responding and restarting the browser. This limits collection on some pages at the following URLs\n\n```{0}```",
  "work.dast.CRAWL_BROWSER_INTERACT_TIMEOUT.title": "Delayed browser response during ingestion",
  "work.dast.CRAWL_BROWSER_INVALID.content": "Restart your browser because it is inaccessible. This caused collection from the following URL to fail.\n\n```{0}```",
  "work.dast.CRAWL_BROWSER_INVALID.title": "Browser crashes during ingestion",
  "work.dast.CRAWL_BROWSER_JAVASCRIPT_FAILURE.content": "A JavaScript execution error occurred, which caused collection from the following URL to fail.\n\n```{0}```",
  "work.dast.CRAWL_BROWSER_JAVASCRIPT_FAILURE.title": "Failed to execute JavaScript during ingestion",
  "work.dast.CRAWL_BROWSER_JAVASCRIPT_TIMEOUT.content": "JavaScript execution was delayed and failed to execute. This caused collection from the following URL to fail.\n\n```{0}```",
  "work.dast.CRAWL_BROWSER_JAVASCRIPT_TIMEOUT.title": "JavaScript execution timeout during ingestion",
  "work.dast.CRAWL_BROWSER_LOGIN_RECORD_INTERACT_FAILURE.content": "An error occurred while reproducing the login record file. This might cause the login to fail. You should check the events clipboard to see if the login record file is playing normally.\n\n{0}\n\n{1}",
  "work.dast.CRAWL_BROWSER_LOGIN_RECORD_INTERACT_FAILURE.title": "Failed event in login clipboard during collection",
  "work.dast.CRAWL_BROWSER_SEED_URL_ACCESS_FAILURE.content": "The browser cannot access the URL to be analyzed. The browser cannot collect.\n\nThe applicable analytic target URLs are\n\n```{0}```",
  "work.dast.CRAWL_BROWSER_SEED_URL_ACCESS_FAILURE.title": "URLs not accessible for analysis during collection",
  "work.dast.CRAWL_BROWSER_SESSION_CREATE_FAILURE.content": "Restart the browser because the browser's session was not created. This limits collection on some pages at the following URLs\n\n```{0}```",
  "work.dast.CRAWL_BROWSER_SESSION_CREATE_FAILURE.title": "Failed to create a browser session during collection",
  "work.dast.CRAWL_BROWSER_SESSION_MISSING.content": "The session does not exist, which caused collection from the following URL to fail.\n\n```{0}```",
  "work.dast.CRAWL_BROWSER_SESSION_MISSING.title": "Browser session lost during ingestion",
  "work.dast.CRAWL_BROWSER_SOCKET_TIMEOUT.content": "The connection failed due to a delay in socket communication between the browser and the target web application. This limits analysis on some pages at the following URLs.\n\n```{0}```",
  "work.dast.CRAWL_BROWSER_SOCKET_TIMEOUT.title": "Failed to create socket during ingest",
  "work.dast.CRAWL_BROWSER_UNEXPECTED_FAILURE.content": "You can't run a browser, so you can't collect and analyze through a browser.\n\nYou need to check your browser binaries in the following paths\n\n```{0}```",
  "work.dast.CRAWL_BROWSER_UNEXPECTED_FAILURE.title": "Unable to launch browser",
  "work.dast.CRAWL_BROWSER_WEB_ELEMENT_ALERT_FAILURE.content": "There is an unhandled warning. This caused collection from the following URLs to fail\n\n```{0}```",
  "work.dast.CRAWL_BROWSER_WEB_ELEMENT_ALERT_FAILURE.title": "Failed browser web element interaction during ingestion",
  "work.dast.CRAWL_BROWSER_WEB_ELEMENT_ALERT_MISSING.content": "An attempt was made to process a non-existent warning window, which caused collection from the following URL to fail.\n\n```{0}```",
  "work.dast.CRAWL_BROWSER_WEB_ELEMENT_ALERT_MISSING.title": "Failed browser web element interaction during ingestion",
  "work.dast.CRAWL_BROWSER_WEB_ELEMENT_INTERACT_INVALID.content": "The HTML element is in an inaccessible state, which caused ingestion at the following URL to fail.\n\n```{0}```",
  "work.dast.CRAWL_BROWSER_WEB_ELEMENT_INTERACT_INVALID.title": "Failed browser web element interaction during ingestion",
  "work.dast.CRAWL_BROWSER_WEB_ELEMENT_INTERACT_MISSING.content": "The HTML element you are trying to access does not exist. This limits ingestion on some pages at the following URLs\n\n```{0}```",
  "work.dast.CRAWL_BROWSER_WEB_ELEMENT_INTERACT_MISSING.title": "Failed browser web element interaction during ingestion",
  "work.dast.CRAWL_BROWSER_WEB_ELEMENT_INTERACT_TIMEOUT.content": "The HTML element you were trying to access has disappeared, which caused collection at the following URL to fail.\n\n```{0}```",
  "work.dast.CRAWL_BROWSER_WEB_ELEMENT_INTERACT_TIMEOUT.title": "Failed browser web element interaction during ingestion",
  "work.dast.CRAWL_BROWSER_WINDOW_MISSING.content": "An attempt was made to navigate to a window that does not exist, which caused the collection from the following URL to fail.\n\n```{0}```",
  "work.dast.CRAWL_BROWSER_WINDOW_MISSING.title": "Browser window switching error during collection",
  "work.dast.CRAWL_CLIENT_HOST_INVALID.content": "The HTTP request could not be sent because the host is unknown. This caused ingestion to fail on the following request.\n\n```{0}```",
  "work.dast.CRAWL_CLIENT_HOST_INVALID.title": "Invalid host for HTTP requests during ingestion",
  "work.dast.CRAWL_CLIENT_PROTOCOL_INVALID.content": "The HTTP protocol is invalid, which caused ingestion to fail on the following request.\n\n```{0}```",
  "work.dast.CRAWL_CLIENT_PROTOCOL_INVALID.title": "HTTP request protocol error during collection",
  "work.dast.CRAWL_CLIENT_SEED_URL_ACCESS_FAILURE.content": "The HTTP client cannot send a request to the URL to be analyzed. The HTTP client is unable to collect.\n\nThe applicable analytic destination URLs are\n\n```{0}```",
  "work.dast.CRAWL_CLIENT_SEED_URL_ACCESS_FAILURE.title": "URLs not accessible for analysis during collection",
  "work.dast.CRAWL_CLIENT_SERVICE_INVALID.content": "The HTTP request could not be sent because the service is unknown. This caused ingestion to fail on the following requests\n\n```{0}```",
  "work.dast.CRAWL_CLIENT_SERVICE_INVALID.title": "Incorrect format of HTTP requests during ingest",
  "work.dast.CRAWL_CLIENT_SOCKET_FAILURE.content": "The HTTP request could not be sent because the TCP connection was denied, which caused ingestion to fail on the following requests\n\n```{0}```",
  "work.dast.CRAWL_CLIENT_SOCKET_FAILURE.title": "Failed to send HTTP request during collection",
  "work.dast.CRAWL_CLIENT_SSL_HANDSHAKE_FAILURE.content": "The SSL connection was denied, which caused ingestion to fail on the following request.\n\n```{0}```",
  "work.dast.CRAWL_CLIENT_SSL_HANDSHAKE_FAILURE.title": "HTTP request SSL error during collection",
  "work.dast.CRAWL_CLIENT_SSL_KEY_INVALID.content": "Invalid SSL key, which caused collection on the following request to fail.\n\n```{0}```",
  "work.dast.CRAWL_CLIENT_SSL_KEY_INVALID.title": "HTTP request SSL error during collection",
  "work.dast.CRAWL_CLIENT_SSL_PEER_INVALID.content": "The SSL connection could not be made because the destination was not verified. This caused the collection on the following request to fail.\n\n```{0}```",
  "work.dast.CRAWL_CLIENT_SSL_PEER_INVALID.title": "HTTP request SSL error during collection",
  "work.dast.CRAWL_CLIENT_SSL_PROTOCOL_INVALID.content": "The SSL protocol is invalid, which caused collection to fail on the following request.\n\n```{0}```",
  "work.dast.CRAWL_CLIENT_SSL_PROTOCOL_INVALID.title": "HTTP request SSL error during collection",
  "work.dast.CRAWL_CLIENT_TIMEOUT.content": "The HTTP request could not be sent due to a delay in the TCP connection. This caused ingestion to fail on the following request.\n\n```{0}```",
  "work.dast.CRAWL_CLIENT_TIMEOUT.title": "HTTP request timeout during collection",
  "work.dast.CRAWL_CLIENT_UNEXPECTED_FAILURE.content": "An unknown error occurred during the HTTP request, which caused ingestion to fail on the following request.\n\n```{0}```",
  "work.dast.CRAWL_CLIENT_UNEXPECTED_FAILURE.title": "Failed to send HTTP request during collection",
  "work.dast.CRAWL_ENDPOINT_BLACKLIST.content": "The request for the following URL failed, so we're blocking it.\n\n```{0}```\n\nThe request failed for the following reasons\n\n{1}",
  "work.dast.CRAWL_ENDPOINT_BLACKLIST.title": "Exclude URLs from collection",
  "work.dast.CRAWL_OPENAPI_ENDPOINT_ACCESS_FAILURE.content": "Failed to access the OpenAPI endpoint during collection.\n\nThe URL of the endpoint is as follows: \n\n```{0}```",
  "work.dast.CRAWL_OPENAPI_ENDPOINT_ACCESS_FAILURE.title": "Failed to access OpenAPI endpoint during ingest",
  "work.dast.CRAWL_OPENAPI_PARSING_FAILURE.content": "During ingest, the OpenAPI specification file analysis failed. Make sure the specification file you provided is a valid file.",
  "work.dast.CRAWL_OPENAPI_PARSING_FAILURE.title": "Failed to analyze OpenAPI specification file during cawling",
  "work.dast.CRAWL_OPENAPI_UNEXPECTED_FAILURE.content": "During ingestion, an unexpected error occurred and OpenAPI processing failed.",
  "work.dast.CRAWL_OPENAPI_UNEXPECTED_FAILURE.title": "Unexpected OpenAPI processing failures during ingestion",
  "work.dast.CRAWL_PROCESS_ENDPOINT_LIMIT.content": "Ends collection because the set maximum number of collected URLs {0} has been reached.",
  "work.dast.CRAWL_PROCESS_ENDPOINT_LIMIT.title": "End collection by maximum number of collected URLs option",
  "work.dast.CRAWL_PROCESS_OUT_OF_MEMORY.content": "Failed to run crawling due to memory shortage. Please expand your memory or reduce the number of concurrent analyses.",
  "work.dast.CRAWL_PROCESS_OUT_OF_MEMORY.title": "Crawling failure due to low memory",
  "work.dast.CRAWL_PROCESS_SAVE_RESULT_FAILURE.content": "An error has occurred while storing crawling results.",
  "work.dast.CRAWL_PROCESS_SAVE_RESULT_FAILURE.title": "Failed to save crawling results",
  "work.dast.CRAWL_PROCESS_SEED_URL_MISSING.content": "The URL to analyze could not be found.",
  "work.dast.CRAWL_PROCESS_SEED_URL_MISSING.title": "Analysis target URL not found",
  "work.dast.CRAWL_PROCESS_TIMEOUT.content": "The crawling has ended as reached the crawling timeoug of {0} minutes.",
  "work.dast.CRAWL_PROCESS_TIMEOUT.title": "Crawling Terminated due to Crawling Timeout",
  "work.dast.CRAWL_UNEXPECTED_FAILURE.content": "An unknown error occurred, which caused collection from the following URL to fail.\n\n```{0}```",
  "work.dast.CRAWL_UNEXPECTED_FAILURE.title": "Unknown error collecting URLs",
  "work.dast.PRE_BROWSER_LOGIN_RECORD_FIND_INVALID.content": "During the pre-analysis, inappropriate login records were found in the browser.\n\nThe login records cannot be executed.\n\nThe file containing the login records is as follows: \n\n```{0}```",
  "work.dast.PRE_BROWSER_LOGIN_RECORD_FIND_INVALID.title": "Found an improper login record in the browser during early analysis.",
  "work.dast.PRE_BROWSER_LOGIN_RECORD_PARSING_FAILURE.content": "Failed to parse the login record file. Please check whether an improperly formatted record file has been attached.",
  "work.dast.PRE_BROWSER_LOGIN_RECORD_PARSING_FAILURE.title": "Failed to parse the login clipboard",
  "work.dast.PRE_BROWSER_LOGIN_RECORD_UNKNOWN_EVENT.content": "The login record file contains event {0} in a format that cannot be replayed. This event will be skipped during playback.",
  "work.dast.PRE_BROWSER_LOGIN_RECORD_UNKNOWN_EVENT.title": "The login clipboard contains an unknown event",
  "work.dast.PRE_BROWSER_SEED_URL_ACCESS_FAILURE.content": "Failed to access the target URL in the browser during pre-analysis.\n\nThe target URL is as follows: \n\n```{0}```",
  "work.dast.PRE_BROWSER_SEED_URL_ACCESS_FAILURE.title": "Failed to access URLs on the browser during early analysis",
  "work.dast.PRE_DOM_DIAGNOSIS_INVALID.content": "The DOM structure of the page accessed at the target URL is incorrect, so it cannot be analyzed.",
  "work.dast.PRE_DOM_DIAGNOSIS_INVALID.title": "Incorrect DOM structure",
  "work.dast.PRE_OPENAPI_ENDPOINT_ACCESS_FAILURE.content": "Failed to access the OpenAPI endpoint during pre-analysis.\n\nThe URL for the endpoint is as follows: \n\n```{0}```",
  "work.dast.PRE_OPENAPI_ENDPOINT_ACCESS_FAILURE.title": "Failed to access OpenAPI endpoints during pre-analysis",
  "work.dast.PRE_OPENAPI_PARSING_FAILURE.content": "During pre-analysis, the analysis of the OpenAPI specification file failed. Make sure the specification file you provided is the correct file.",
  "work.dast.PRE_OPENAPI_PARSING_FAILURE.title": "Failed to analyze OpenAPI specification file during pre-analysis",
  "work.dast.PRE_OPENAPI_UNEXPECTED_FAILURE.content": "During pre-analysis, an unexpected error occurred and OpenAPI processing failed.",
  "work.dast.PRE_OPENAPI_UNEXPECTED_FAILURE.title": "Unexpected OpenAPI processing failures during pre-analysis",
  "work.dast.PRE_POLICY_INSPECT_INVALID.content": "The target URL cannot be collected due to the configured analysis options. Please verify that the options are configured appropriately.",
  "work.dast.PRE_POLICY_INSPECT_INVALID.title": "Unable to collect target URL",
  "work.dast.RECHECK_BROWSER_SEED_URL_ACCESS_FAILURE.content": "Failed to access the target URL in the browser during the execution analysis.\n\nThe target URL is as follows: \n\n```{0}```",
  "work.dast.RECHECK_BROWSER_SEED_URL_ACCESS_FAILURE.title": "Analysis target URL access failures on browser during recheck",
  "work.dast.RECHECK_INSPECT_FAILURE.content": "During recheck, analysis on one or more issue failed.",
  "work.dast.RECHECK_INSPECT_FAILURE.title": "Analysis on issue failures during recheck",
  "work.dast.RECHECK_UNEXPECTED_FAILURE.content": "During recheck, an unexpected error occurred and processing failed.",
  "work.dast.RECHECK_UNEXPECTED_FAILURE.title": "Unexpected processing failures during recheck",
  "work.dast.access.tag": "Access",
  "work.dast.analysis.tag": "Analysis",
  "work.dast.browser.tag": "Web Browser",
  "work.dast.client.tag": "HTTP Client",
  "work.dast.cookie.tag": "Cookie",
  "work.dast.crawl.tag": "Crawling",
  "work.dast.create.tag": "Create",
  "work.dast.dom.tag": "DOM",
  "work.dast.endpoint.tag": "Endpoint",
  "work.dast.failure.tag": "Fail",
  "work.dast.inspect.tag": "Detect",
  "work.dast.interact.tag": "Interaction",
  "work.dast.invalid.tag": "Invalid",
  "work.dast.limit.tag": "Limitations",
  "work.dast.login_record.tag": "Log-in Record",
  "work.dast.missing.tag": "Missing",
  "work.dast.openapi.tag": "OpenAPI",
  "work.dast.parsing.tag": "Parsing",
  "work.dast.policy.tag": "Policy",
  "work.dast.pre.tag": "Pre-analysis",
  "work.dast.process.tag": "Engine Process",
  "work.dast.recheck.tag": "ReCheck",
  "work.dast.seed_url.tag": "Analysis Target URL",
  "work.dast.service.tag": "DAST",
  "work.dast.session.tag": "Sessions",
  "work.dast.socket.tag": "TCP Socket",
  "work.dast.timeout.tag": "Timeout",
  "work.dast.web_element.tag": "Web Elements",
  "work.sast.ANALYSIS_IS_STOP.content": "# Analysis Engine Stopped\n\n---\nThe analysis engine has been stopped. `{0}` analysis has been completed.",
  "work.sast.ANALYSIS_IS_STOP.title": "Analysis Engine Stopped",
  "work.sast.CEM_MODULE_NOT_FOUND.content": "# Missing CEM Engine File\n\n---\nThe CEM engine file is missing, and C/C++ analysis cannot be performed. It is necessary to verify the presence of the CEM engine.\n\n## Path\n```\nservice/sast/engine/lib/cem-*.jar\n```",
  "work.sast.CEM_MODULE_NOT_FOUND.title": "Missing CEM engine file",
  "work.sast.CONTAIN_NON_ASCII.content": "# Non-ASCII Characters Included to Analysis Path\n\n---\nUnable to run C/C++ analysis as non-ASCII characters are included. Please check the file name or the analysis path.\n\n## Path\n```\n{{nonAsciiField}}\n```",
  "work.sast.CONTAIN_NON_ASCII.title": "Non-ASCII Characters Included to Analysis Path",
  "work.sast.DATA_ANALYSIS_DIRECTORY_NOT_FOUND.content": "# Unable to find data analysis folder\n\n---\nYou need to verify the data analysis folder.\n\n## Path\n```\n{0}\n```",
  "work.sast.DATA_ANALYSIS_DIRECTORY_NOT_FOUND.title": "Unable to find data analysis folder",
  "work.sast.ENGINE_ABNORMAL.content": "# Engine Abnormality Detected\n\n---\nAn abnormal status, such as ZOMBIE, HANG, etc., has been detected during analysis.\nDetails are:\n\n## Engine : Status\n{0}\n\n## Action\nCheck log files of the engine or contact the administrator to check the process.",
  "work.sast.ENGINE_ABNORMAL.title": "Engine Abnormality Detected",
  "work.sast.ENGINE_CONF_NOT_FOUND.content": "# Unable to find engine configuration file\n\n---\nIf the engine configuration file is missing, the analysis cannot proceed correctly. It is necessary to check for the presence of the engine configuration file.\n\n## Path\n```\n{0}\n```",
  "work.sast.ENGINE_CONF_NOT_FOUND.title": "Unable to find engine configuration file",
  "work.sast.FAIL_TO_BUILD.content": "# Build Failed\n\n---\nFailed to build the source code. Check the build.",
  "work.sast.FAIL_TO_BUILD.title": "Source code build failed",
  "work.sast.FAIL_TO_COPY_FILE.content": "# File copy failed\n\n---\nFailed to copy the file. You need to check the file that failed to copy.\n\n## Path\n```\n{0}\n```",
  "work.sast.FAIL_TO_COPY_FILE.title": "File copy failed",
  "work.sast.FAIL_TO_CREATE_ISSUE_REQUEST.content": "# Request to create issue failed\n\n---\nThe issue creation request has failed. You need to check the request details in the log file.\n\n## Path\n```\nlogs/sast/sast.log\n```\n\n## Content\n```\nRequired to check createSastIssues request for the analysis ID {0}.\n```",
  "work.sast.FAIL_TO_CREATE_ISSUE_REQUEST.title": "Request to create issue failed",
  "work.sast.FAIL_TO_CREATE_MESSAGES_REQUEST.content": "# Failed to Create Message Request\n\n---\nFailed to create the message request. You need to check the request details in the log file.\n\n## Path\n```\nlogs/sast/sast.log\n```\n\n## Content\n```\nRequired to check createWorkMessages request for the analysis ID {0}.\n```",
  "work.sast.FAIL_TO_CREATE_MESSAGES_REQUEST.title": "Failed to Create Message Request",
  "work.sast.FAIL_TO_DELETE_ANALYSIS_SPARROW_DIRECTORY.content": "# Failed to delete Sparrow folder\n\n---\nFailed to delete the Sparrow analysis folder. The Sparrow analysis folder needs to be checked.\n\n## Path\n```\n{0}\n```",
  "work.sast.FAIL_TO_DELETE_ANALYSIS_SPARROW_DIRECTORY.title": "Failed to delete Sparrow folder",
  "work.sast.FAIL_TO_DELETE_DATA_ANALYSIS_DIRECTORY.content": "# Failed to delete data folder\n\n---\nFailed to delete the data analysis folder. The data analysis folder needs to be checked.\n\n## Path\n```\n{0}\n```",
  "work.sast.FAIL_TO_DELETE_DATA_ANALYSIS_DIRECTORY.title": "Failed to delete data folder",
  "work.sast.FAIL_TO_DOWNLOAD_LOG.content": "# Log download failed\n\n---\nFailed to download the analysis log. Please check if there is a folder or file at the following path.\n\n## Path\n```\n1. service/sast/data/analysis/{0}\n2. service/sast/data/analysis/{0}/sparrow/log_files\n3. {1}\n```",
  "work.sast.FAIL_TO_DOWNLOAD_LOG.title": "Log download failed",
  "work.sast.FAIL_TO_DOWNLOAD_SOURCE.content": "# Source Code Download Failed\n\n---\nFailed to download source code from the storage. Check the zipped file in the following path.\n\n## Path\n```\n{0}\n```\n\n## Zipped File\n```\n{1}\n```",
  "work.sast.FAIL_TO_DOWNLOAD_SOURCE.title": "Source Code Download Failed",
  "work.sast.FAIL_TO_EXTRACT.content": "# Source code extraction failed\n\n---\nAn issue occurred during source code extraction. Please check the client log for the client analysis and the following file path for the web analysis.\n\n## Analyzing target number\n```\n{{targetIdxfield}}\n```",
  "work.sast.FAIL_TO_EXTRACT.title": "Source code extraction failed",
  "work.sast.FAIL_TO_GET_PROGRESS.content": "# Progress check failed\n\n---\nFailed to retrieve the progress status. You need to check the request details in the log file.\n\n## Path\n```\nlogs/sast/sast.log\n```\n\n## Content\n```\nRequired to check updateProgress request for the analysis ID {0}.\n```",
  "work.sast.FAIL_TO_GET_PROGRESS.title": "Progress check failed",
  "work.sast.FAIL_TO_READ_FILE.content": "# File reading failed\n\n---\nFailed to read the file. The following are situations where issues may occur. Each path needs to be verified.\n\n## Path\n```\n1. Failed to read oldCheckerInfo.json file in the sast.jar binary.\n2. Error to read on files in the service/sast/data/analysis/{analysis id}/sparrow. (including extract_src.json)\n3. While processing downloadLogFile request, error to access on files in the service/sast/data/analysis/{analysis id}/sparrow/log_files.\n```",
  "work.sast.FAIL_TO_READ_FILE.title": "File reading failed",
  "work.sast.FAIL_TO_READ_ISSUE_FILE.content": "# Issue File Read Failed\n\n---\nFailed to read the issue file. Check that the file is valid.\n\n## Path\n```\n{3} in service/sast/data/analysis/{0}/{1}/{2}/sparrow/xml_files\n```",
  "work.sast.FAIL_TO_READ_ISSUE_FILE.title": "Issue File Read Failed",
  "work.sast.FAIL_TO_RUN_CEM.content": "# Error while Running CEM\n\n---\nAn error has occurred while running the CEM engine. Please check the cem.log file.\n\n## Path\n```\nservice/sast/data/analysis/{0}/sparrow/log_files/cem.log\n```",
  "work.sast.FAIL_TO_RUN_CEM.title": "Error while Running CEM",
  "work.sast.FAIL_TO_RUN_JEM.content": "# Error while Running JEM\n\n---\nAn error has occurred while running the JEM engine. Please check the jem.log file.\n\n## Path\n```\nservice/sast/data/analysis/{0}/sparrow/log_files/jem.log\n```",
  "work.sast.FAIL_TO_RUN_JEM.title": "Error while Running JEM",
  "work.sast.FAIL_TO_UPLOAD_ISSUES.content": "# Issue Upload Failed\n\n---\nThe issue upload for `{0}` analysis has failed. You need to check the SAST service logs.\n\n## Path\n```\nlogs/sast/sast.log\n```",
  "work.sast.FAIL_TO_UPLOAD_ISSUES.title": "Issue Upload Failed",
  "work.sast.FAIL_TO_UPLOAD_LOG.content": "# Log Upload Request Failed\n\n---\nThe log upload request has failed. You need to check the request details in the log file.\n\n## Path\n```\nlogs/sast/sast.log\n```\n\n## Content\n```\nRequired to check uploadAnalysisLog request for the analysis ID {0}.\n```",
  "work.sast.FAIL_TO_UPLOAD_LOG.title": "Log Upload Request Failed",
  "work.sast.FAIL_TO_UPLOAD_SYMBOL_TAG.content": "# Symbol Information File Upload Request Failed\n\n---\nThe symbol information file upload request has failed. You need to check the request details in the log file.\n\n## Path\n```\nlogs/sast/\n```\n\n## Content\n```\nRequired to check uploadSymbolTarget request for analysis ID {0}.\n```",
  "work.sast.FAIL_TO_UPLOAD_SYMBOL_TAG.title": "Symbol Information File Upload Request Failed",
  "work.sast.FAIL_TO_WRITE_OPTION_FILE.content": "# Failed to Create Checker Configuration File\n\n---\nFailed to create the checker configuration file. Please check the following path.\n\n## Path\n```\n{0}\n```",
  "work.sast.FAIL_TO_WRITE_OPTION_FILE.title": "Failed to Create Checker Configuration File",
  "work.sast.INVALID_PATTERNS.content": "# Error on Regex for Excluded Function\n\n---\nAn incorrect pattern of the regex entered to the 'excluded function' has been found.\nThe pattern will be ignored from the settings. Check the regex is correct.\n\n## Invalid Pattern\n```\n{0}\n```",
  "work.sast.INVALID_PATTERNS.title": "Error on regex for functions excluded from analysis",
  "work.sast.INVALID_RULE_OPTION_FATAL.content": "# Issue Detection Rule Option Error\n\n---\nThe issue detection rule option was incorrectly passed during the analysis request, preventing proper analysis from being performed. Please contact the administrator.",
  "work.sast.INVALID_RULE_OPTION_FATAL.title": "Error on Issue Detecting Rule Option",
  "work.sast.INVALID_RULE_OPTION_PARTIAL.content": "# Some Issue Detection Rule Option Error\n\n---\nThe options for some issue detection rules were passed incorrectly: {0} including {1} items",
  "work.sast.INVALID_RULE_OPTION_PARTIAL.title": "Some issue detection rule option error",
  "work.sast.JEM_MODULE_NOT_FOUND.content": "# Missing JEM Engine File\n\n---\nThe JEM engine file is missing, preventing the analysis of Java-based engines. It is necessary to verify the presence of the JEM engine.\n\n## Path\n```\nservice/sast/engine/lib/jem-*.jar\n```",
  "work.sast.JEM_MODULE_NOT_FOUND.title": "Missing JEM Engine File",
  "work.sast.NOT_FOUND_RULE_FILE.content": "# Unable to Find Rule File\n\n---\nThe rule file and checker key of the issue created while creating the analysis issue do not match. You need to check the rule file.\n\n## Target file and checker key\n```\nRule file : {0}\nChecker key : {1}\n```",
  "work.sast.NOT_FOUND_RULE_FILE.title": "Unable to Find Rule File",
  "work.sast.NOT_FOUND_SOURCE.content": "# No Files to Analyze with Source Code Detecting Rules\n\n---\nSource code detecting rules are enabled, but there are no files to analyze. You need to check the target files to review source code issues.",
  "work.sast.NOT_FOUND_SOURCE.title": "No Files to Analyze with Source Code Detecting Rules",
  "work.sast.OPTION_FILE_CREATION_FAILED.content": "# Option File Creation Failed\n\n---\nThe creation of the issue detecting rule configuration file has failed. Please check the following path.\n\n## Path\n```\n{0}\n```",
  "work.sast.OPTION_FILE_CREATION_FAILED.title": "Option File Creation Failed",
  "work.sast.PATH_LIMIT_EXCEEDED.content": "# Exceeded File Path Length Limit  \n\n---\n\nThe process of creating a file for source code analysis was interrupted because it **exceeded the maximum path length allowed by the operating system (OS)**. This issue is not a bug in the analysis tool, but rather occurs because the **folder depth** or **filename** of the location where the file is to be saved is too long.\n\n---\n\n### Details\n\n* **Detected Operating System:** `{{os}}`\n* **Limit Criteria:** `{{limit}}`\n\n---\n\n### Failed Path\nThe path below has exceeded the limits allowed by the operating system.\n\n> `{{path}}`\n\n---\n\n### Resolution Guide\n\nIf the current client is on the desktop or in a deep folder (`C:\\Users\\Name\\Desktop\\Work\\Project\\...`), please move to a shallower folder.",
  "work.sast.PATH_LIMIT_EXCEEDED.title": "File path length limit exceeded",
  "work.sast.UNEXPECTED_ENGINE_SHUTDOWN.content": "# Analysis Engine Abnormally Terminated\n\n---\nThe analysis engine has terminated unexpectedly during source code analysis.\n\n## Terminated analysis engine\n```\n{0}\n```\n\n## Exit Code\n```\n{1}\n```",
  "work.sast.UNEXPECTED_ENGINE_SHUTDOWN.title": "Analysis Engine Abnormally Terminated",
  "work.sast.analysis.tag": "Analysis",
  "work.sast.config.tag": "Config",
  "work.sast.copy.tag": "Copy",
  "work.sast.create.tag": "Create",
  "work.sast.delete.tag": "Delete",
  "work.sast.download.tag": "Download",
  "work.sast.engine.tag": "Engine",
  "work.sast.extract.tag": "Extract",
  "work.sast.fail.tag": "Fail",
  "work.sast.file.tag": "File",
  "work.sast.find.tag": "Search",
  "work.sast.folder.tag": "Folder",
  "work.sast.get.tag": "Get",
  "work.sast.issue.tag": "Issue",
  "work.sast.log.tag": "Log",
  "work.sast.message.tag": "Message",
  "work.sast.progress.tag": "Progress",
  "work.sast.read.tag": "Read",
  "work.sast.request.tag": "Request",
  "work.sast.rule.tag": "Rule",
  "work.sast.run.tag": "Run",
  "work.sast.service.tag": "SAST",
  "work.sast.source_code.tag": "Source Code",
  "work.sast.stop.tag": "Stop",
  "work.sast.upload.tag": "Upload",
  "work.sca.FAIL_TO_HEALTH_CHECK_WITH_DATA_WAREHOUSE.content": "# Data Warehouse Service Status Check Failed\nFailed to check status of the Data Warehouse service. Unable to proceed the analysis.\n\n## Data Warehouse Address\n```\n{0}\n```",
  "work.sca.FAIL_TO_HEALTH_CHECK_WITH_DATA_WAREHOUSE.title": "Data Warehouse Service Status Check Failed",
  "work.sca.FILE_PARSING_ERROR.content": "# File Parsing Error\nAn error occurred while parsing the following file, which may prevent proper analysis from proceeding.\n\n### File Path\n```\n{0}\n```\n\n## Error Message\n```\n{1}\n```",
  "work.sca.FILE_PARSING_ERROR.title": "A file parsing error occurred.",
  "work.sca.INVALID_DATA_WITH_DATA_WAREHOUSE.content": "# Data Warehouse Error during Analysis\n\n{0} data errors have occurred while communicating with the data warehouse. \n\nSome components or issues may not have been detected, or detailed information may be missing.\n\n## Data Warehouse Address\n```\n{1}\n```\n\n## Invalid Data\n{2}",
  "work.sca.INVALID_DATA_WITH_DATA_WAREHOUSE.title": "# Data Warehouse Error during Analysis",
  "work.sca.NOT_FOUND_ANALYSIS_FILE.content": "# Analysis Target Location Failed\nFailed to locate the analysis target file.",
  "work.sca.NOT_FOUND_ANALYSIS_FILE.title": "Analysis could not find the target file.",
  "work.sca.RUNTIME_EXCEPTION_WITH_DATA_WAREHOUSE.content": "# Data Warehouse Connection Error during Analysis\n\n{0} connection errors have occurred while communicating with the data warehouse. \n\nSome components or issues may not have been detected, or detailed information may be missing.\n\n## Data Warehouse Address\n```\n{1}\n```",
  "work.sca.RUNTIME_EXCEPTION_WITH_DATA_WAREHOUSE.title": "Data Warehouse Connection Error during Analysis",
  "work.sca.SCA_EXTRACTOR_ACCESS_DENIED_FILES.content": "# File with no Access Permission Found during Preprocessing\n\n`{{accessDeniedFileSize}}` files cannot be accessed.\n\nUnable to analyze the files without permission.\n\n## List of Files that Cannot be Analyzed\n\n```\n{{accessDeniedFilePaths}}\n```",
  "work.sca.SCA_EXTRACTOR_ACCESS_DENIED_FILES.title": "File with no Access Permission Found during Preprocessing",
  "work.sca.SCA_EXTRACTOR_ALL_ARCHIVE_FILES_INVALID.content": "# Errors on Unzipping All Zipped Files\n\nIt has been confirmed that all `{{totalSize}}` zipped files have failed to be unzipped.\n\nThe files that failed to be unzipped will not be analyzed.\n\n## Zipped Files That Cannot Be Analyzed\n\n```\n{{invalidFilePaths}}\n```",
  "work.sca.SCA_EXTRACTOR_ALL_ARCHIVE_FILES_INVALID.title": "Errors on Unzipping All Zipped Files",
  "work.sca.SCA_EXTRACTOR_ALL_SBOM_FILES_INVALID.content": "# Unsupported Formats Detected in All SBOM Files\n\nAll {{totalSize}} registered SBOM files are in formats that are not supported by the current system.\n\nUnable to proceed the analysis.\n\n## SBOM Files That Cannot Be Analyzed\n\n```\n{{invalidFilePaths}}\n```",
  "work.sca.SCA_EXTRACTOR_ALL_SBOM_FILES_INVALID.title": "Unsupported Formats Detected in All SBOM Files",
  "work.sca.SCA_EXTRACTOR_DOCKER_IMAGE_NOT_FOUND.content": "# Image Search in Local Docker Repository Failed\n\nFailed to search the image in local Docker repository.\n\nUnable to proceed the analysis on the Docker image that has been failed to extract its image file.\n\n## Unable to Find Docker Image\n\n```\n{{notFoundImageName}}\n```",
  "work.sca.SCA_EXTRACTOR_DOCKER_IMAGE_NOT_FOUND.title": "Failed to search images in local Docker repository",
  "work.sca.SCA_EXTRACTOR_SOME_ARCHIVE_FILES_INVALID.content": "# Errors on Unzipping Some Zipped Files\n\nIt has been confirmed that {{invalidFileSize}} ouf of `{{totalSize}}` zipped files have failed to be unzipped.\n\nThe files that failed to be unzipped will not be analyzed.\n\n## Zipped Files That Cannot Be Analyzed\n\n```\n{{invalidFilePaths}}\n\n```",
  "work.sca.SCA_EXTRACTOR_SOME_ARCHIVE_FILES_INVALID.title": "Errors on Unzipping Some Zipped Files",
  "work.sca.SCA_EXTRACTOR_SOME_SBOM_FILES_INVALID.content": "# Unsupported Formats Detected in Some SBOM Files\n\n{{invalidFileSize}} out of {{totalSize}} SBOM files are in formats that are not supported by the current system.\n\nUnable to proceed the analysis.\n\n## SBOM Files That Cannot Be Analyzed\n\n```\n{{invalidFilePaths}}\n```",
  "work.sca.SCA_EXTRACTOR_SOME_SBOM_FILES_INVALID.title": "Unsupported Formats Detected in Some SBOM Files",
  "work.sca.TIMEOUT_EXCEPTION_WITH_BACKEND.content": "# Timeout Occurred During Backend Request\n\nThe operation to send analysis results to the backend exceeded the maximum response time. Some analysis results may not be registered.",
  "work.sca.TIMEOUT_EXCEPTION_WITH_BACKEND.title": "A timeout error occurred during backend communication.",
  "work.sca.analysis.tag": "Analysis",
  "work.sca.backend.tag": "Backend",
  "work.sca.connect.tag": "Connect",
  "work.sca.docker.tag": "Docker",
  "work.sca.exception.tag": "Exception",
  "work.sca.fail.tag": "Fail",
  "work.sca.file.tag": "File",
  "work.sca.find.tag": "Browsing",
  "work.sca.image.tag": "Image",
  "work.sca.parsing.tag": "Fasing",
  "work.sca.service.tag": "SCA",
  "work.sca.timeout.tag": "Timeout",
  "work.sca.warehouse.tag": "Data Warehouse",
  "writeReadOnlyFile.description": "Write operation on a file that was opened only for reading.",
  "wrongPipeParameterSize.description": "A buffer must have size of 2 integers if used as parameter of pipe().",
  "wrongPrintfScanfArgNum.description": "printf format string requires 3 parameters but only 2 are given.",
  "wrongPrintfScanfParameterPositionError.description": "'n$' in format string requires an appropriate argument.",
  "zerodiv.description": "Division by zero occurs.",
  "zerodivcond.description": "Either the condition is redundant or there is division by zero."
}